cgal boolean result and minkowski sum for dilation

This commit is contained in:
Thomas Krijnen
2019-09-25 15:30:11 +02:00
parent 11ad1b2cc5
commit 389964c9f4
3 changed files with 233 additions and 5 deletions
@@ -75,9 +75,19 @@ void ifcopenshell::geometry::CgalShape::Triangulate(const settings& settings, co
CGAL::to_double(current_halfedge->vertex()->point().cartesian(1)),
CGAL::to_double(current_halfedge->vertex()->point().cartesian(2)));
const double nx = CGAL::to_double(face_normals_map[face].cartesian(0));
const double ny = CGAL::to_double(face_normals_map[face].cartesian(1));
const double nz = CGAL::to_double(face_normals_map[face].cartesian(2));
double nx = 0.;
double ny = 0.;
double nz = 1.;
// @todo normal calculation throws divide by zero?
// try {
if (false) {
nx = CGAL::to_double(face_normals_map[face].cartesian(0));
ny = CGAL::to_double(face_normals_map[face].cartesian(1));
nz = CGAL::to_double(face_normals_map[face].cartesian(2));
}
// catch (...) {
// Logger::Error("Error during normal calculation");
// }
t->addNormal(nx, ny, nz);
++num_vertices;