Remove duplicate faces in faceset_helper. Fixes #600

This commit is contained in:
Thomas Krijnen
2019-06-14 11:32:59 +02:00
parent b0b844ea5a
commit 826316cb2b
2 changed files with 24 additions and 3 deletions
+4
View File
@@ -119,6 +119,7 @@ private:
class faceset_helper {
private:
MAKE_TYPE_NAME(Kernel)* kernel_;
std::set<const IfcSchema::IfcPolyLoop*> duplicates_;
std::map<int, int> vertex_mapping_;
std::map<std::pair<int, int>, TopoDS_Edge> edges_;
double eps_;
@@ -173,6 +174,9 @@ private:
}
bool wire(const IfcSchema::IfcPolyLoop* loop, TopoDS_Wire& wire) {
if (duplicates_.find(loop) != duplicates_.end()) {
return false;
}
BRep_Builder builder;
builder.MakeWire(wire);
int count = 0;