Expand description
Geometry generation from exact inputs into explicit mesh or focused analytic results.
§Why this is its own crate
Everything here answers one question: given an exact profile and a path, what solid does that denote? Extrusion, revolution, the sweep families, lofting and half-space clipping are all the same problem with different path kinds, and they share one stitching implementation so that winding, hole orientation and cap pairing are decided once.
None of that needs an operation graph. These functions take geometry and
return geometry; they do not walk a DAG, cache results, resolve node
references, or dispatch to a backend. That is why they live here and not
in axiolid-mesh-compile, which does all four.
The split matters beyond tidiness. A caller that wants a swept solid –
a CAD front end, a test, a future exact B-rep generator – should not have
to construct a SolidOperation graph and run a compiler to get one. Under
the old layout that was the only way to reach this code.
§What this crate does not do
Broad sweep/profile families still produce meshes, not exact B-reps. The certified affine surface-pair arrangement is the first focused analytic constructor; it does not imply exact sweeps, booleans, or solids. Per ADR 0020, those broader exact results remain the intended end state.
Re-exports§
pub use result::GeneratedGeometry;pub use result::GenerationOutput;pub use result::GenerationRequest;pub use result::TessellationRequest;pub use trimmed_intersection::split_surface_pair_certified;pub use trimmed_intersection::CertifiedSurfacePairSplit3;pub use trimmed_intersection::CertifiedSurfacePairSplitOptions;pub use trimmed_intersection::CertifiedTrimmedSurfacePair3;pub use trimmed_intersection::EmbeddedFaceCurve;pub use trimmed_intersection::SurfacePairMember;pub use trimmed_intersection::SurfacePairSplitUnresolvedReason;
Modules§
- center_
line - Centre-line profiles: offset an open path into a closed boundary.
- extrude
- Linear extrusion of a triangulated profile into a closed solid.
- half_
space - Bounding an unbounded half-space against a finite boundary.
- loft
- Lofting a sequence of station rings into a solid.
- profile
- Profile -> 2D polygon rings, then triangles.
- result
- Explicit output-model contracts for solid generation.
- revolve
- Revolution of a profile about an axis.
- sweep
- The sweep families that place a profile along a path.
- trimmed_
intersection - Topology-aware integration of certified affine surface intersections.
Structs§
- Curve2
Id - Typed handle into the exact B-rep 2D pcurve catalog.
- Curve3
Id - Typed handle into the exact B-rep 3D curve catalog.
- ExactB
Rep - Owned, analytic boundary representation.
- ExactB
RepBuilder - Mutable assembly state that can only yield an
ExactBRepafter validation. - Surface
Id - Typed handle into the exact B-rep surface catalog.
Enums§
- ExactB
RepError - Why exact B-rep assembly was refused.
Constants§
- BACKEND_
ID - Identity these generators report in diagnostics.
Type Aliases§
- Exact
Topology - Topology whose supports are typed references into
ExactBRepcatalogs.