mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-18 14:31:39 +00:00
Fail early on duplicate (non consecutive) points in face loops
This commit is contained in:
@@ -2921,6 +2921,15 @@ bool IfcGeom::Kernel::wire_intersections(const TopoDS_Wire& wire, TopTools_ListO
|
|||||||
tree.add(edge_idx++, exp.Current());
|
tree.add(edge_idx++, exp.Current());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (wd->NbEdges() != n) {
|
||||||
|
// If the number of edges differs, BRepTools_WireExplorer did not
|
||||||
|
// reach every edge, probably due to loops exactly at vertex locations.
|
||||||
|
// This is not supported by this algorithm which only elimates loops
|
||||||
|
// due to edge crossings.
|
||||||
|
|
||||||
|
throw geometry_exception("Invalid loop");
|
||||||
|
}
|
||||||
|
|
||||||
bool intersected = false;
|
bool intersected = false;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user