@@ -42,8 +42,8 @@ namespace {
4242 auto result = AreaMeshFactory::combine (city_models, options, lod, geo_reference, extents);
4343
4444 // グループごとのノードを追加します。
45- for (auto & [group_id , mesh] : result) {
46- auto node = Node (" group" + std::to_string (group_id ), std::move (mesh));
45+ for (auto & [group_grid_id , mesh] : result) {
46+ auto node = Node (" group" + std::to_string (group_grid_id. first ), std::move (mesh));
4747 lod_node.addChildNode (std::move (node));
4848 }
4949 }
@@ -87,17 +87,16 @@ namespace {
8787 // 3D都市モデルをグリッドに分け、グリッドごとにメッシュをマージします。
8888 auto result = AreaMeshFactory::gridMerge (city_model, options, lod, geo_reference, extents);
8989
90- if (result. size () > 1 ) {
90+ if (options. grid_count_of_side > 1 ) {
9191 // 次のような階層構造を作ります:
9292 // model -> GRIDノード -> LODノード -> ノード
93- for (auto & [grid_id , mesh] : result) {
93+ for (auto & [group_grid_id , mesh] : result) {
9494
95- const auto & grid_name = " GRID_" + std::to_string (grid_id );
95+ const auto & grid_name = " GRID_" + std::to_string (group_grid_id. second );
9696 const auto & lod_name = " LOD" + std::to_string (lod);
97+ auto node = Node (" group" + std::to_string (group_grid_id.first ), std::move (mesh));
9798
98- const auto grid_index = out_model.getRootNodeIndexByName (grid_name);
99- auto node = Node (" LOD" + std::to_string (lod), std::move (mesh));
100-
99+ const auto grid_index = out_model.getRootNodeIndexByName (grid_name);
101100 if (grid_index == -1 ) {
102101 // 存在しない場合 新しいグリッドノードとLODノードを作成
103102 auto grid_node = Node (grid_name);
@@ -127,13 +126,12 @@ namespace {
127126 // 次のような階層構造を作ります:
128127 // model -> LODノード -> ノード
129128 auto lod_node = Node (" LOD" + std::to_string (lod));
130- for (auto & [grid_id , mesh] : result) {
131- auto node = Node (" group" + std::to_string (grid_id ), std::move (mesh));
129+ for (auto & [group_grid_id , mesh] : result) {
130+ auto node = Node (" group" + std::to_string (group_grid_id. first ), std::move (mesh));
132131 lod_node.addChildNode (std::move (node));
133132 }
134133 out_model.addNode (std::move (lod_node));
135- }
136-
134+ }
137135 }
138136
139137 out_model.eraseEmptyNodes ();
0 commit comments