MCPcopy Create free account
hub / github.com/IfcOpenShell/IfcOpenShell / create_nef_polyhedron

Method create_nef_polyhedron

src/ifcgeom/kernels/cgal/CgalKernel.cpp:109–128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107}
108
109CGAL::Nef_polyhedron_3<Kernel_> ifcopenshell::geometry::utils::create_nef_polyhedron(std::list<cgal_face_t> &face_list) {
110 CGAL::Polyhedron_3<Kernel_> polyhedron = create_polyhedron(face_list);
111 if (polyhedron.is_closed()) {
112 try {
113 if (!CGAL::Polygon_mesh_processing::is_outward_oriented(polyhedron)) {
114 CGAL::Polygon_mesh_processing::reverse_face_orientations(polyhedron);
115 }
116 } catch (CGAL::Failure_exception& e) {
117 Logger::Message(Logger::LOG_ERROR, e);
118 }
119 }
120 CGAL::Polygon_mesh_processing::triangulate_faces(polyhedron);
121 CGAL::Nef_polyhedron_3<Kernel_> nef_polyhedron;
122 try {
123 nef_polyhedron = CGAL::Nef_polyhedron_3<Kernel_>(polyhedron);
124 } catch (...) {
125 Logger::Message(Logger::LOG_ERROR, "Conversion to Nef polyhedron failed!");
126 }
127 return nef_polyhedron;
128}
129
130CGAL::Nef_polyhedron_3<Kernel_> ifcopenshell::geometry::utils::create_nef_polyhedron(CGAL::Polyhedron_3<Kernel_> &polyhedron) {
131 // @todo needed?

Callers

nothing calls this directly

Calls 2

MessageClass · 0.85
is_validMethod · 0.80

Tested by

no test coverage detected