-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Labels
Description
IndoorGML cell spaces can also be represented by 2D geometry instead of 3D geometry, hence a surface instead of a solid. This is apparently mentioned in a comment, but not implemented.
Lines 755 to 774 in 7e3c679
// IndoorCell* cell = new IndoorCell(theid, duality); | |
//-- get the geometry, either Solid or Surface | |
s = NS["indoorgml"] + "cellSpaceGeometry"; | |
Solid* sol; | |
for (pugi::xml_node child : cs.children(s.c_str())) | |
{ | |
s = NS["indoorgml"] + "Geometry3D"; | |
for (pugi::xml_node child2 : child.children(s.c_str())) | |
{ | |
s = NS["gml"] + "Solid"; | |
for (pugi::xml_node child3 : child2.children(s.c_str())) | |
{ | |
// std::cout << "Solid: " << child3.attribute("gml:id").value() << std::endl; | |
sol = process_gml_solid(child3, dallpoly, tol_snap, errs); | |
if (sol->get_id() == "") | |
sol->set_id("MISSING_ID"); | |
// cell->add_primitive(sol); | |
} | |
} | |
} |
Would be great to be able to validate these as well, even though there is less room for errors with 2D geometry. Here are adjusted test files for reference: igml_v1_2D.gml.txt, igml_v2_2D.gml.txt