Expand description
The stationary approaches between two geometries.
Elsewhere this is Extrema and the GeomAPI_Extrema* family. The
consumer that drives it is minimum distance between shapes, which is
BRepExtrema there and lives in ogeom-algo here; this module answers for
the geometry, and the shape layer assembles the answer for topology.
§What an extremum is, and what it is not
An approach is stationary when the connecting vector is perpendicular to every tangent it meets: the derivative of the squared distance is zero in each parameter. Those are the only approaches this module reports. Two kinds of candidate are deliberately not here:
- Domain-end candidates. A pair of segments whose closest points are endpoint to endpoint has no interior stationary approach, and the answer comes back empty. The endpoints are points, and points against curves and surfaces are projections, which the caller owns: at the shape level, an edge’s ends are vertices, and the vertex pairs cover exactly these candidates. Folding them in here would answer the shape question badly instead of the geometry question well.
- A guessed point on a constant-distance locus. Parallel lines,
concentric circles, a sphere inside a sphere: the nearest distance is
attained along a whole locus, and no isolated point is the answer.
That is reported as
Extrema::family, the way the conventional kernel’sIsParallelflag says the same thing.
Every approach reported is verifiable on the spot: two parameter sets, the two evaluated points, and the distance between them, which is the claim.
Structs§
- Approach
- One stationary approach between two geometries.
- Extrema
- Every stationary approach found, nearest first.
- Extrema
Options - How hard the seeding looks.
Functions§
- extrema_
curve_ curve - The stationary approaches between two curves.
- extrema_
curve_ surface - The stationary approaches between a curve and a surface.
- extrema_
surface_ surface - The stationary approaches between two surfaces.