Skip to content

IndoorGML Geometry2D #169

@hlg

Description

@hlg

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

// 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions