6 const std::vector<
ShapeGroup<Rgba32>> &shape_groups,
const std::vector<PackableTile::Id> &combined_index_to_id)
10 for (
const auto &group : shape_groups) {
11 std::vector<PackableTile::Id> member_ids;
12 member_ids.reserve(group.members.size());
14 for (
const auto &member : group.members) {
15 const auto &
id = combined_index_to_id.at(member.tile_index);
17 if (std::holds_alternative<PackableTile::PrimaryTileId>(
id)) {
20 member_ids.push_back(
id);
23 if (member_ids.empty()) {
28 for (
const auto &
id : member_ids) {
ShapeGroupMetadata build_shape_group_metadata(const std::vector< ShapeGroup< Rgba32 > > &shape_groups, const std::vector< PackableTile::Id > &combined_index_to_id)
Builds ShapeGroupMetadata from shape groups and a combined-index-to-ID mapping.
A group of tiles that share the same canonical shape but have different color assignments.