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.
|
// 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
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.
val3dity/src/input.cpp
Lines 755 to 774 in 7e3c679
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