From b893f5a3f08f065de6f889c71dc5a1dfd8a693e4 Mon Sep 17 00:00:00 2001 From: Ken Arroyo Ohori Date: Wed, 22 Feb 2017 18:15:27 -0600 Subject: [PATCH] Take into account extrusion height --- src/ifcgeom/kernels/cgal/CgalConversionFunctions.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ifcgeom/kernels/cgal/CgalConversionFunctions.cpp b/src/ifcgeom/kernels/cgal/CgalConversionFunctions.cpp index 80f7457811..063b4d8abf 100644 --- a/src/ifcgeom/kernels/cgal/CgalConversionFunctions.cpp +++ b/src/ifcgeom/kernels/cgal/CgalConversionFunctions.cpp @@ -44,6 +44,7 @@ bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcExtrudedAreaSolid *l, cgal cgal_direction_t dir; convert(l->ExtrudedDirection(),dir); +// std::cout << "Direction: " << dir << std::endl; std::list face_list; face_list.push_back(face); @@ -58,8 +59,8 @@ bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcExtrudedAreaSolid *l, cgal } cgal_face_t side_face; side_face.outer.push_back(*next_vertex); side_face.outer.push_back(*current_vertex); - side_face.outer.push_back(*current_vertex+dir); - side_face.outer.push_back(*next_vertex+dir); + side_face.outer.push_back(*current_vertex+height*dir); + side_face.outer.push_back(*next_vertex+height*dir); face_list.push_back(side_face); } @@ -67,7 +68,7 @@ bool IfcGeom::CgalKernel::convert(const IfcSchema::IfcExtrudedAreaSolid *l, cgal for (std::vector::const_reverse_iterator vertex = face.outer.rbegin(); vertex != face.outer.rend(); ++vertex) { - top_face.outer.push_back(*vertex+dir); + top_face.outer.push_back(*vertex+height*dir); } face_list.push_back(top_face); // Naive creation