Benchmarks | C++

Cut

Boolean operations and curve embedding.

Benchmarks for mesh cutting operations. See experimental setup for methodology.

Boolean

Boolean union of two overlapping meshes. The second mesh is a rotated copy around the mesh centroid, using the smallest bounding box axis. TrueForm uses tf::make_boolean with reduction diagrams in double precision; topology structures are precomputed to match CGAL's Surface_mesh which includes built-in topological representation. CGAL uses corefine_and_compute_union with Simple_cartesian<double> kernel; libigl uses igl::copyleft::cgal::mesh_boolean with exact predicates (EPECK).

Source: TrueForm, CGAL, libigl

Boolean Operations (Union)

CGAL
libigl

Boolean Operations (Speedup)

vsCGAL
vs libigl

TrueForm boolean union is 76× faster than CGAL and 270× faster than libigl at 1M polygons per mesh, completing in 32ms.

Self-Intersection

Detection and embedding of self-intersection curves. Two copies of the mesh are concatenated into a single mesh; the second copy is rotated around the mesh centroid, using the smallest bounding box axis. TrueForm uses tf::embedded_self_intersection_curves with reduction diagrams in double precision; no structures are precomputed to match libigl which also builds everything from raw input. libigl uses igl::copyleft::cgal::remesh_self_intersections with exact predicates (EPECK).

Source: TrueForm, libigl

Self-Intersection Curves

libigl

Self-Intersection Curves (Speedup)

vs libigl

TrueForm self-intersection detection and embedding is 35× faster than libigl at 1M polygons per mesh.

Embedded Isocurves

Embedding of isocontours into mesh topology by splitting faces along level-set curves. The scalar field is Euclidean distance from the mesh centroid; isovalues are evenly spaced across the field range. TrueForm uses tf::embedded_isocurves with reduction diagrams in float precision; VTK uses vtkBandedPolyDataContourFilter. Results shown for 16 isovalues.

Source: TrueForm, VTK

Embedded Isocurves (16 cuts)

Embedded Isocurves Speedup (16 cuts)

vs

TrueForm embedded isocurve extraction is 25× faster than VTK at 1M polygons.