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.