Expand description
Profile -> 2D polygon rings, then triangles.
Curved boundaries are flattened to chords under an explicit
TessellationOptions-style budget; nothing here invents a default
tolerance.
Triangulation of rings-with-holes is the crate’s own certified ear clipper
(ring_triangulation, ADR 0083, replacing the earcut adoption of ADR
0015 after it left T-junctions between holes in one band, #253).
axiolid_reference::triangulate_simple stays the differential oracle for
the hole-free case.
Structs§
- Ring
Touch - A vertex lying inside an edge of a ring, away from both its ends, as
triangulate_withfinds it underPinchPolicy::Accept(#265). - Rings
- Outer ring plus holes, all CCW/CW normalised by the caller’s contract: outer counter-clockwise, holes clockwise.
- Shell
Face Triangulation - A triangulation of a planar face of a closed shell, from
triangulate_shell_face(#283). - Steiner
Point - A point
triangulate_shell_faceadds inside a face, as a chain of midpoints of the face’s own points (#283): the midpointmof the seam fromseam[0]toseam[1], thenhalvingstimes the midpoint ofmand the point so far, starting fromtoward.
Enums§
- Pinch
Policy - How a triangulation treats rings that touch at a single point (#262): a hole touching the outer ring or another hole at a vertex, an outer ring pinched at a vertex, or a vertex lying on another ring’s edge.
- Profile
Deviation - How far a profile’s exact boundary may lie from the rings
profile_ringsflattens it to (#232).
Functions§
- profile_
deviation - The deviation of
profile_rings(profile, chord_error, tolerance)from the exact profile (#232). - profile_
rings - Flatten a profile into rings under an explicit chord budget.
- ring_
touches - Every vertex lying inside another edge of
rings, decided by the same exactorient2dtests with whichtriangulate_withunderPinchPolicy::Acceptinserts it into that edge (#265). - triangulate
- Triangulate rings into a flat index buffer over a single vertex list.
- triangulate_
shell_ face - Triangulate a planar face of a closed shell (#283): as
triangulate_withunderPinchPolicy::Accept, and no triangle edge lies on a seam. - triangulate_
with triangulateunder an explicitPinchPolicy.