Skip to main content

Crate axiolid_linear_intersection

Crate axiolid_linear_intersection 

Source
Expand description

Certified intersections for linear geometry.

This package exists so a line-query application can compile intersection logic with a three-package internal closure — axiolid-core, axiolid-linear, axiolid-predicates — and no curves, surfaces, NURBS, meshes, B-rep, topology, providers, or execution machinery (ADR 0036).

§Classification, not Option<Point2>

Collapsing the answer to an optional point destroys facts a topology or rule checker needs: crossing, endpoint contact, parallel-disjoint, coincident, collinear-disjoint, and overlap are distinct outcomes and are returned as distinct variants.

§Certified topology

Parallel-versus-coincident and on-segment decisions come from axiolid-predicates, which escalates to exact arithmetic. The caller’s axiolid_core::Tolerance governs residual acceptance of the computed coordinate, never the topological branch.

Structs§

Tolerance
Re-exported so a caller can name the required tolerance policy without a separate dependency on axiolid-core. Linear and angular tolerance carried with an operation.

Enums§

InputSide
Which operand a diagnostic refers to.
LineLineIntersection2
How two unbounded planar lines relate.
LinearIntersectionError
Why a linear intersection could not be answered.
SegmentSegmentIntersection2
How two bounded planar segments relate.

Functions§

line_line2
Classify two unbounded planar lines.
segment_segment2
Classify two bounded planar segments.