pub struct ExactBRepBuilder { /* private fields */ }Expand description
Mutable assembly state that can only yield an ExactBRep after validation.
Implementations§
Source§impl ExactBRepBuilder
impl ExactBRepBuilder
Sourcepub fn set_face_name(&mut self, face: FaceId, name: FaceName)
pub fn set_face_name(&mut self, face: FaceId, name: FaceName)
Record the persistent structural name of a face.
Naming is opt-in per producer: an operation that cannot honestly say where a face came from simply does not call this, and the face reports no name rather than a misleading one.
Sourcepub fn set_edge_name(&mut self, edge: EdgeId, name: EdgeName)
pub fn set_edge_name(&mut self, edge: EdgeId, name: EdgeName)
Record the persistent structural name of an edge.
Sourcepub fn try_reserve(
&mut self,
curves3: usize,
curves2: usize,
surfaces: usize,
edge_intervals: usize,
pcurve_intervals: usize,
) -> Result<(), TryReserveError>
pub fn try_reserve( &mut self, curves3: usize, curves2: usize, surfaces: usize, edge_intervals: usize, pcurve_intervals: usize, ) -> Result<(), TryReserveError>
Fallibly reserve owned support and interval catalogs for bounded assembly.
Sourcepub fn add_curve3(&mut self, curve: Curve3) -> Curve3Id
pub fn add_curve3(&mut self, curve: Curve3) -> Curve3Id
Store an exact 3D curve support.
Sourcepub fn add_curve2(&mut self, curve: Curve2) -> Curve2Id
pub fn add_curve2(&mut self, curve: Curve2) -> Curve2Id
Store an exact 2D pcurve support.
Sourcepub fn add_surface(&mut self, surface: Surface) -> SurfaceId
pub fn add_surface(&mut self, surface: Surface) -> SurfaceId
Store an exact surface support.
Sourcepub fn topology_mut(&mut self) -> &mut BRep<Curve3Id, Curve2Id, SurfaceId>
pub fn topology_mut(&mut self) -> &mut BRep<Curve3Id, Curve2Id, SurfaceId>
Mutable typed topology under construction. Self::finish validates it.
Sourcepub fn set_edge_interval(&mut self, edge: EdgeId, interval: Interval)
pub fn set_edge_interval(&mut self, edge: EdgeId, interval: Interval)
State an edge’s finite native curve span.
Sourcepub fn set_pcurve_interval(
&mut self,
loop_id: LoopId,
use_index: usize,
interval: Interval,
)
pub fn set_pcurve_interval( &mut self, loop_id: LoopId, use_index: usize, interval: Interval, )
State an edge use’s finite native pcurve span in its loop traversal order.
Sourcepub fn append(&mut self, other: &ExactBRep, reverse: bool) -> Vec<ShellId>
pub fn append(&mut self, other: &ExactBRep, reverse: bool) -> Vec<ShellId>
Copy every vertex, edge, loop, face and shell of other into this
builder, with its curves, surfaces, intervals and names, and return
the new handles of other’s shells in order.
Solids are NOT copied: the caller says what the shells are – the
outer shell of another solid, or a void of one already here. With
reverse, every face is used reversed in its shell, which turns a
solid’s outer shell into the boundary of the same region seen from
outside it: a void.
Sourcepub fn finish(self) -> Result<ExactBRep, ExactBRepError>
pub fn finish(self) -> Result<ExactBRep, ExactBRepError>
Validate and freeze the exact B-rep result.
Refuses a result with no faces, topology that fails
axiolid_topology::audit_brep, and any edge, edge use or face whose
support or finite non-zero interval is missing or does not resolve in
its catalog (see ExactBRepError). Closure is not required: an open
sheet is a valid exact result.
Trait Implementations§
Source§impl Clone for ExactBRepBuilder
impl Clone for ExactBRepBuilder
Source§fn clone(&self) -> ExactBRepBuilder
fn clone(&self) -> ExactBRepBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExactBRepBuilder
impl Debug for ExactBRepBuilder
Source§impl Default for ExactBRepBuilder
impl Default for ExactBRepBuilder
Source§fn default() -> ExactBRepBuilder
fn default() -> ExactBRepBuilder
Source§impl PartialEq for ExactBRepBuilder
impl PartialEq for ExactBRepBuilder
impl StructuralPartialEq for ExactBRepBuilder
Auto Trait Implementations§
impl Freeze for ExactBRepBuilder
impl RefUnwindSafe for ExactBRepBuilder
impl Send for ExactBRepBuilder
impl Sync for ExactBRepBuilder
impl Unpin for ExactBRepBuilder
impl UnwindSafe for ExactBRepBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more