pub struct ExactBRep { /* private fields */ }Expand description
Owned, analytic boundary representation.
Every edge and pcurve use has a finite, non-zero native parameter span. An interval is deliberately owned here rather than inferred from endpoints: periodic supports, reversed pcurves, and parameter re-mapping are not recoverable from coordinates. The result may be an open sheet; an eventual exact-solid contract will additionally require a selected closed shell.
Implementations§
Source§impl ExactBRep
impl ExactBRep
Sourcepub fn face_name(&self, face: FaceId) -> Option<&FaceName>
pub fn face_name(&self, face: FaceId) -> Option<&FaceName>
Persistent structural name for a face, when the producer supplied one.
Absence means the producing operation did not track provenance, not
that the face is invalid. Callers that require a name should treat
None as a refusal rather than substituting an index.
Sourcepub fn edge_name(&self, edge: EdgeId) -> Option<&EdgeName>
pub fn edge_name(&self, edge: EdgeId) -> Option<&EdgeName>
Persistent structural name for an edge, when the producer supplied one.
Sourcepub fn face_by_name(&self, name: &FaceName) -> Option<FaceId>
pub fn face_by_name(&self, name: &FaceName) -> Option<FaceId>
Find the face carrying name.
This is the lookup that makes names useful across operations: a caller holding a name from before an edit resolves it against the new result instead of hoping an arena index still points at the same face.
Sourcepub fn edge_by_name(&self, name: &EdgeName) -> Option<EdgeId>
pub fn edge_by_name(&self, name: &EdgeName) -> Option<EdgeId>
Find the edge carrying name.
Sourcepub fn name_caps(&mut self, start: Option<FaceName>, end: Option<FaceName>)
pub fn name_caps(&mut self, start: Option<FaceName>, end: Option<FaceName>)
Name the two cap faces of a swept solid after assembly.
The caps are identified by construction order – a sweep adds the
start cap then the end cap before any wall – rather than by
geometry, because a cap that shares a plane with a wall would be
ambiguous geometrically. Passing None leaves that cap unnamed.
Sourcepub fn topology(&self) -> &BRep<Curve3Id, Curve2Id, SurfaceId>
pub fn topology(&self) -> &BRep<Curve3Id, Curve2Id, SurfaceId>
Structural topology with typed support handles.
Sourcepub fn edge_interval(&self, edge: EdgeId) -> Option<Interval>
pub fn edge_interval(&self, edge: EdgeId) -> Option<Interval>
Native parameter span oriented from an edge’s start vertex to its end.
Trait Implementations§
impl StructuralPartialEq for ExactBRep
Auto Trait Implementations§
impl Freeze for ExactBRep
impl RefUnwindSafe for ExactBRep
impl Send for ExactBRep
impl Sync for ExactBRep
impl Unpin for ExactBRep
impl UnwindSafe for ExactBRep
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