Skip to main content

Crate axiolid_construct

Crate axiolid_construct 

Source
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§

Curve2Id
Typed handle into the exact B-rep 2D pcurve catalog.
Curve3Id
Typed handle into the exact B-rep 3D curve catalog.
ExactBRep
Owned, analytic boundary representation.
ExactBRepBuilder
Mutable assembly state that can only yield an ExactBRep after validation.
SurfaceId
Typed handle into the exact B-rep surface catalog.

Enums§

ExactBRepError
Why exact B-rep assembly was refused.

Constants§

BACKEND_ID
Identity these generators report in diagnostics.

Type Aliases§

ExactTopology
Topology whose supports are typed references into ExactBRep catalogs.