From 9d5fe1fee45abb007706c15c62f9c85201ce115c Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 3 Apr 2023 13:31:52 +0200 Subject: [PATCH] Fix some mapping errors --- src/ifcgeom/mapping/IfcIndexedPolyCurve.cpp | 5 +---- src/ifcgeom/mapping/IfcPolygonalFaceSet.cpp | 8 ++++++++ src/ifcgeom/mapping/IfcTriangulatedFaceSet.cpp | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ifcgeom/mapping/IfcIndexedPolyCurve.cpp b/src/ifcgeom/mapping/IfcIndexedPolyCurve.cpp index 4f1a3eb1f5..e9b155c819 100644 --- a/src/ifcgeom/mapping/IfcIndexedPolyCurve.cpp +++ b/src/ifcgeom/mapping/IfcIndexedPolyCurve.cpp @@ -44,10 +44,7 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcIndexedPolyCurve* inst) { int max_index = (int) points.size(); - taxonomy::loop* loop; - - // ignored, just for capturing the curve parameters on the null check - double u, v; + auto loop = new taxonomy::loop; if(inst->Segments()) { aggregate_of_instance::ptr segments = *inst->Segments(); diff --git a/src/ifcgeom/mapping/IfcPolygonalFaceSet.cpp b/src/ifcgeom/mapping/IfcPolygonalFaceSet.cpp index dfadd34bf1..fe0c90de18 100644 --- a/src/ifcgeom/mapping/IfcPolygonalFaceSet.cpp +++ b/src/ifcgeom/mapping/IfcPolygonalFaceSet.cpp @@ -61,6 +61,10 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcPolygonalFaceSet* inst) { } 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()) { @@ -82,6 +86,10 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcPolygonalFaceSet* inst) { } previous = current; } + if (!indices.empty()) { + const taxonomy::point3& current = points[indices.front() - 1]; + loop->children.push_back(new taxonomy::edge(previous, current)); + } } } } diff --git a/src/ifcgeom/mapping/IfcTriangulatedFaceSet.cpp b/src/ifcgeom/mapping/IfcTriangulatedFaceSet.cpp index 812738b7e0..73b16f52e4 100644 --- a/src/ifcgeom/mapping/IfcTriangulatedFaceSet.cpp +++ b/src/ifcgeom/mapping/IfcTriangulatedFaceSet.cpp @@ -62,6 +62,8 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcTriangulatedFaceSet* inst) } } } + + return shell; } #endif \ No newline at end of file