Fix some mapping errors

This commit is contained in:
Thomas Krijnen
2023-04-03 13:31:52 +02:00
parent cc223dd5b4
commit 9d5fe1fee4
3 changed files with 11 additions and 4 deletions
+1 -4
View File
@@ -44,10 +44,7 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcIndexedPolyCurve* inst) {
int max_index = (int) points.size(); int max_index = (int) points.size();
taxonomy::loop* loop; auto loop = new taxonomy::loop;
// ignored, just for capturing the curve parameters on the null check
double u, v;
if(inst->Segments()) { if(inst->Segments()) {
aggregate_of_instance::ptr segments = *inst->Segments(); aggregate_of_instance::ptr segments = *inst->Segments();
@@ -61,6 +61,10 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcPolygonalFaceSet* inst) {
} }
previous = current; previous = current;
} }
if (!indices.empty()) {
const taxonomy::point3& current = points[indices.front() - 1];
loop->children.push_back(new taxonomy::edge(previous, current));
}
} }
if (f->as<IfcSchema::IfcIndexedPolygonalFaceWithVoids>()) { if (f->as<IfcSchema::IfcIndexedPolygonalFaceWithVoids>()) {
@@ -82,6 +86,10 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcPolygonalFaceSet* inst) {
} }
previous = current; previous = current;
} }
if (!indices.empty()) {
const taxonomy::point3& current = points[indices.front() - 1];
loop->children.push_back(new taxonomy::edge(previous, current));
}
} }
} }
} }
@@ -62,6 +62,8 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcTriangulatedFaceSet* inst)
} }
} }
} }
return shell;
} }
#endif #endif