Porytiles
Loading...
Searching...
No Matches
sharing_metrics.hpp
Go to the documentation of this file.
1#pragma once
2
6
7namespace porytiles {
8
22[[nodiscard]] bool palette_contains_sibling(
23 const PackableTile::Id &tile_id, const PackedPalette &palette, const ShapeGroupMetadata &metadata);
24
39[[nodiscard]] double compute_sharing_penalty(
40 const PackableTile &tile,
41 const PackedPalette &palette,
42 const ShapeGroupMetadata &metadata,
43 double sharing_weight = 0.5);
44
45} // namespace porytiles
std::variant< HintId, PrefilledPaletteId, RegularId, AnimId, PrimaryTileId > Id
Variant type for tile identification.
bool palette_contains_sibling(const PackableTile::Id &tile_id, const PackedPalette &palette, const ShapeGroupMetadata &metadata)
Checks whether a palette already contains a sibling of the given tile (same shape group,...
double compute_sharing_penalty(const PackableTile &tile, const PackedPalette &palette, const ShapeGroupMetadata &metadata, double sharing_weight=0.5)
Computes the sharing penalty for placing a tile in a palette.