Expand description
OVL1 — the robust predicate layer.
Every overlay operation eventually calls this module. It is the boundary between “raw coordinates” and “topological decisions”: given points, it answers which side, inside which circle, and do these two segments meet and where.
Mirrors the Cartesian side / intersection strategies in
boost/geometry/strategy/cartesian/ (side_by_triangle.hpp,
intersection.hpp) and the robustness policies in
boost/geometry/policies/robustness/.
Module layout (the OVL1 tasks, in dependency order):
orientation— OVL1.T1: the signed-area side predicate.in_circle— OVL1.T2: the in-circle predicate used byis_validand the turn graph.segment_intersection— OVL1.T3: segment-segment intersection returning the meeting point(s).range_guard— OVL1.T4: the coordinate-range robustness gate that enforces the “exact arithmetic, no rescale” policy.
Re-exports§
pub use in_circle::in_circle_2d;pub use orientation::Sign;pub use orientation::orientation_2d;pub use range_guard::RangeError;pub use range_guard::SAFE_ABS_MAX;pub use range_guard::coordinate_in_range;pub use range_guard::polygon_in_range;pub use segment_intersection::SegmentIntersection;pub use segment_intersection::segment_intersection;
Modules§
- in_
circle - OVL1.T2 — the in-circle predicate.
- orientation
- OVL1.T1 — the orientation (side) predicate.
- range_
guard - OVL1.T4 — the coordinate-range robustness gate.
- segment_
intersection - OVL1.T3 — segment-segment intersection.