geometry-overlay 0.0.8

Segment-intersection kernel, turn graph, and boolean overlay (intersection/union/difference) for the Boost.Geometry Rust port.
Documentation

geometry-overlay

Part of the boost_geometry workspace — a Rust port of Boost.Geometry. Most users should depend on the facade crate, which re-exports this one; depend on this crate directly only for a slimmer build.

Boolean-overlay engine — the segment-intersection kernel and the machinery built on top of it.

Mirrors boost/geometry/algorithms/detail/overlay/. Overlay is the engine behind intersection, union, difference, sym_difference, and (indirectly) buffer, is_valid, relate, crosses, overlaps, touches, point_on_surface, and merge_elements. Boost concentrates all of it under one detail directory; the port gives it its own crate because the algorithmic surface is too dense to share a crate with anything else.

The build order is strict:

  • [predicate] — OVL1: the robust predicate layer every overlay operation eventually calls (orientation, in-circle, segment-segment intersection, coordinate-range gate).
  • [operation] — OVL5: a split-edge arrangement handles crossings, colocations, shared edges, traversal, and output assembly for the four Cartesian polygon Boolean operations.
  • [mod@relate] / [validity] / [mod@buffer] — the public topology consumers layered on those predicates and operations.

Robustness

The Cartesian kernel uses adaptive expansion predicates with no rescale. [predicate::range_guard] refuses inputs outside the supported arithmetic range rather than silently returning a wrong sign.

License

BSL-1.0 — see LICENSE.