Crate axiolid_brep_boolean

Source
Expand description

General exact booleans between exact B-reps with analytic faces.

The general-fuse pipeline of ADR 0075, built in stages:

  • section_edges: where two operands’ faces cross, as exact curves trimmed exactly to both faces;
  • split_face: one face cut along its section edges into regions, in the face’s own parameters, with exact pcurves;
  • boolean: the regions classified against the other solid, selected by operator and sewn into the result.

Operands may touch as well as cross: faces sharing a patch of one surface, sections running along existing edges, tangent contact, and solids meeting along an edge or at a point are all handled, not refused.

Nothing is approximated. A configuration a step cannot build exactly is refused by name (BooleanError), never meshed or fitted, and every decision comes from an exact predicate or certified membership: a point too close to a boundary to decide is refused, not guessed.

Structs§

Piece
One stretch of a split face’s boundary, in the direction the region’s loop runs.
Region
One region of a split face: an outer loop and its holes.
SectionEdge
A piece of an intersection curve lying on a face of each operand.

Enums§

BooleanError
Why a boolean step could not be carried out exactly.
PieceSource
Where a piece of a split face’s boundary came from.

Functions§

boolean
The exact boolean of two exact B-rep solids.
section_edges
Every section edge between the faces of a and the faces of b.
split_face
Split face of brep along the section edges lying on it.