Skip to main content

Module section

Module section 

Source
Expand description

Where two surfaces meet: the one call.

Everything else in this crate is a stage: closed forms, seeding, tracing, fitting. This is the function an application calls, and the one ogeom-bool will build on: give it two surfaces, get back what they do to each other, with the analytic path taken where it exists and the marched-and-fitted path where it does not. The caller does not choose; the pair does.

Elsewhere this is GeomAPI_IntSS over IntPatch/GeomInt: one entry point hiding an analytic dispatch and a walking intersector.

§What a section curve carries

Three descriptions, because three consumers: the curve in space for the edge, and a pcurve per surface for the faces; face splitting happens in parameter space, and a curve a face cannot express is one it cannot be split along. Analytic results carry exact pcurves where the projection has a closed form and None where it does not; fitted results always carry fitted pcurves, because the tracer recorded the parameters as it walked.

A pcurve here is same-parameter with its 3D curve: evaluating either at the same t lands on the same point of the intersection. That is the claim docs/DATA_MODEL.md §6 makes edges carry, and it is arranged here by construction (the 2D curves inherit the 3D curve’s own parameterization) rather than asserted and repaired later.

Structs§

IntersectOptions
How to intersect, when the general path runs.
SectionCurve
One curve of a section, with its parameter-space descriptions.

Enums§

SurfaceIntersection
What two surfaces do to each other.

Functions§

exact_pcurve_of
The exact pcurve of a curve lying on a surface, where the projection has a closed form; None where it does not.
exact_pcurve_over
As exact_pcurve_of, with the parameter range the caller actually uses.
intersect_surfaces
Where two surfaces meet.