Releases
v19.0.1
Compare
Sorry, something went wrong.
No results found
19.0.1 (2026-10-17)
Bug Fixes
AABBTree: ignore non-finite hint distance in closest_element_box (8805514 )
BoundingBox: keep box unchanged when adding an empty box (84bd4d4 )
CoordinateSystem: reset cached inverse when directions change (18feacc )
Distance: consider every visible facet in point_tetrahedron_distance (35bccd0 )
Distance: detect line crossing a triangle with exact predicates (ca85a31 )
Distance: fix point_ellipse_distance for general queries (6d3c82d )
Distance: make segment_line_distance robust for small angles (61700f0 )
Distance: make segment_segment_distance robust for near-parallel segments (890c5eb )
Distance: point_ellipse_distance beyond the tips of elongated ellipses (c4c5a39 )
Distance: point_sphere_distance for points close to the center (f6884df )
Distance: point_tetrahedron_distance for nearly flat tetrahedra (699818b )
Distance: point_triangle_distance 2D with flat triangle (a71eeec )
Distance: segment_triangle_distance with segments below GLOBAL_EPSILON (4ee7059 )
Distance: sign point_circle_signed_distance w.r.t. the circle plane (85c1b02 )
FacetStorage: merge facets that collide in update_facet_vertices (107cc4a )
FacetStorage: repair inconsistent facet indices when loading instead of rejecting (2a3700a )
FacetStorage: validate facet indices when loading (13cf47a )
Frame: compare directions by length for elongation queries (7b8b9fa )
FrameTransform: map frame directions with a true permutation (03a65ec )
Geometry: point predicates CMake properties to detail/ (1901353 )
Geometry: tier 2 robustness fixes for degenerate inputs (#1350 ) (961f682 )
Intersection: detect parallel lines in line_line_intersection (84cc935 )
IntersectionDetection: project coplanar 3D primitives along the plane normal (5cb3250 )
Intersection: keep segment endpoints touching the triangle (6b8e007 )
Intersection: robust 2D segment/segment and segment/line intersections (988a510 )
Intersection: robust line and segment sphere intersections (082c96c )
Intersection: robust plane/plane and plane/circle intersections (6ef9d36 )
Intersection: robust segment and line triangle intersections (eecea68 )
Intersection: segment_sphere_intersection for segments just beyond GLOBAL_EPSILON (e5ceb6e )
Mensuration: compute triangle area from a cross product (d0c0299 )
Mensuration: stop zeroing valid flat tetrahedra volumes (a0cb6a8 )
Polygon: use area-weighted normal for concave polygons (2fc3465 )
Position: point_tetrahedron_position for negative tetrahedra (8a8ae33 )
Position: project 3D point_triangle_position on the best axis plane (4180e32 )
Position: use exact predicates only in point_tetrahedron_position (c246aee )
Sign: compute polygon_area_sign at a convex hull vertex (b691a9a )
Sign: handle flat spike at the hull vertex in polygon_area_sign (fd1d4ad )
Triangle: reset cached normal in set_point (2dfd990 )
Performance Improvements
AABBTree: evaluate closest_element_box hint element once (10c721e )
AABBTree: parallelize other intersections over the other tree subtrees (5d5f8f1 )
AABBTree: split nodes along the spread of element centers (22b193b )
BarycentricCoordinates: detect degenerated inputs without exceptions (a564e7a )
BoundingBox: reuse segment shape data and reject triangles/tetrahedra early (295d1f4 )
Builder: reserve edges/facets storage in reserve_tetrahedra/triangles (3b9e458 )
Distance: choose point_triangle_distance pivot without Triangle::pivot (0608d34 )
FacetStorage: avoid container copies in is_opposite (91572d4 )
FacetStorage: cheaper delete_facets/clean_facets (af6ecd1 )
FacetStorage: move facet map instead of copying it in update_facet_vertices (494ac5f )
FacetStorage: reserve storage when enabling edges/facets (226c4ff )
HybridSolid: map polyhedron vertex count to type with a switch (e072aca )
Information: map positions to index and string with a switch (392d0c7 )
Intersection: skip eager correctness computations when clearly valid (316ea3f )
Mensuration: compute triangle cross product on scalar coordinates (b9994b2 )
Mensuration: drop edge selection in triangle cross product (4255a82 )
NNSearch: build large kd-trees with several threads (b5faae9 )
NNSearch: search colocated points by chunks without sorting (aef62e1 )
Point: define trivial accessors and operators inline (84ce05d )
PointsSort: skip flat axes in 3D Morton mapping (e65c933 )
Position: call exact predicates directly for tetrahedron and 3D triangle (5c34b1d )
Quality: compute triangle_angle_based_quality in closed form (0f5408f )
Triangle: store the pivot and normal cache only for 3D triangles (7f2b5ad )
You can’t perform that action at this time.