Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IndoorGML Geometry2D #169

Open
hlg opened this issue Dec 23, 2022 · 1 comment
Open

IndoorGML Geometry2D #169

hlg opened this issue Dec 23, 2022 · 1 comment

Comments

@hlg
Copy link

hlg commented Dec 23, 2022

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

@hugoledoux
Copy link
Member

Since val3dity is for 3D validation, I indeed didn't work on that.

Maybe I'll implement it, it shouldn't be too difficult indeed (GEOS is already used internally).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants