pub struct BooleanNaming<S: Scalar> { /* private fields */ }Expand description
The naming bookkeeping of one boolean, see the module docs.
Implementations§
Source§impl<S: Scalar> BooleanNaming<S>
impl<S: Scalar> BooleanNaming<S>
Sourcepub fn new(
part: &Part<S>,
namer: &Namer,
solids: &[SolidId],
) -> GeopResult<Self>
pub fn new( part: &Part<S>, namer: &Namer, solids: &[SolidId], ) -> GeopResult<Self>
Starts naming a boolean of solids, remembering the names their
edges and faces have now as those entities’ origins.
Sourcepub fn provisional(&self) -> String
pub fn provisional(&self) -> String
The name for the next entity, until BooleanNaming::finish
replaces it. ~ never appears in a final name.
pub fn edge_origin(&self, edge: EdgeId) -> GeopResult<&str>
pub fn face_origin(&self, face: FaceId) -> GeopResult<&str>
Sourcepub fn edge_crossing(
&mut self,
vertex: VertexId,
(edge_a, t_a): (EdgeId, S),
(edge_b, t_b): (EdgeId, S),
) -> GeopResult<()>
pub fn edge_crossing( &mut self, vertex: VertexId, (edge_a, t_a): (EdgeId, S), (edge_b, t_b): (EdgeId, S), ) -> GeopResult<()>
Records that vertex was created where edge edge_a (at parameter
t_a) crosses edge edge_b (at t_b).
Sourcepub fn piercing(
&mut self,
vertex: VertexId,
edge: EdgeId,
t: S,
face: FaceId,
) -> GeopResult<()>
pub fn piercing( &mut self, vertex: VertexId, edge: EdgeId, t: S, face: FaceId, ) -> GeopResult<()>
Records that vertex was created where edge (at parameter t)
pierces face.
Sourcepub fn edge_split(
&mut self,
edge: EdgeId,
new_edge: EdgeId,
start: VertexId,
) -> GeopResult<()>
pub fn edge_split( &mut self, edge: EdgeId, new_edge: EdgeId, start: VertexId, ) -> GeopResult<()>
Records that new_edge was split off edge at start; it inherits
edge’s origin.
Sourcepub fn trace(
&mut self,
edge: EdgeId,
face_a: FaceId,
face_b: FaceId,
ends: [VertexId; 2],
) -> GeopResult<()>
pub fn trace( &mut self, edge: EdgeId, face_a: FaceId, face_b: FaceId, ends: [VertexId; 2], ) -> GeopResult<()>
Records that edge was traced along face_a and face_b between
ends.
Sourcepub fn face_split(
&mut self,
face: FaceId,
edge: EdgeId,
new_face: Option<FaceId>,
) -> GeopResult<()>
pub fn face_split( &mut self, face: FaceId, edge: EdgeId, new_face: Option<FaceId>, ) -> GeopResult<()>
Records that splicing edge into face split off new_face, if it
did; new_face inherits face’s origin.
Sourcepub fn finish(self, part: &mut Part<S>) -> GeopResult<()>
pub fn finish(self, part: &mut Part<S>) -> GeopResult<()>
Gives every entity created so far its final name, see the module docs. Entities that were created and have since been deleted again (an edge piece merged into a coincident edge, say) are skipped.
Auto Trait Implementations§
impl<S> Freeze for BooleanNaming<S>
impl<S> RefUnwindSafe for BooleanNaming<S>where
S: RefUnwindSafe,
impl<S> Send for BooleanNaming<S>
impl<S> Sync for BooleanNaming<S>
impl<S> Unpin for BooleanNaming<S>where
S: Unpin,
impl<S> UnsafeUnpin for BooleanNaming<S>
impl<S> UnwindSafe for BooleanNaming<S>where
S: UnwindSafe,
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> 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