pub enum FaceAnchor {
Surface(SurfaceIdType),
Body(BodyIdType),
}
Expand description
Geometrical mesh anchor.
This enum is used as an attribute to link mesh faces to entities of the represented geometry..
The AttributeUpdate
implementation is used to enforce the dimensional conditions required to
merge two anchors. The merge-ability of two anchors also depends on their intersection; we
expect this to be handled outside of the merge functor, as doing it inside would require leaking
map data into the trait’s methods.
Variants§
Surface(SurfaceIdType)
Vertex is linked to a surface.
Body(BodyIdType)
Vertex is linked to a 3D body.
Trait Implementations§
Source§impl AttributeBind for FaceAnchor
impl AttributeBind for FaceAnchor
Source§const BIND_POLICY: OrbitPolicy = OrbitPolicy::Face
const BIND_POLICY: OrbitPolicy = OrbitPolicy::Face
[
OrbitPolicy
] determining the kind of topological entity to which the attribute
is associated.Source§type StorageType = AttrSparseVec<FaceAnchor>
type StorageType = AttrSparseVec<FaceAnchor>
Storage type used for the attribute.
Source§type IdentifierType = u32
type IdentifierType = u32
Identifier type of the entity the attribute is bound to.
Source§impl AttributeUpdate for FaceAnchor
impl AttributeUpdate for FaceAnchor
Source§fn merge(attr1: Self, attr2: Self) -> Result<Self, AttributeError>
fn merge(attr1: Self, attr2: Self) -> Result<Self, AttributeError>
Merging routine, i.e. how to obtain a new value from two existing ones. Read more
Source§fn split(attr: Self) -> Result<(Self, Self), AttributeError>
fn split(attr: Self) -> Result<(Self, Self), AttributeError>
Splitting routine, i.e. how to obtain the two new values from a single one. Read more
§fn merge_incomplete(_: Self) -> Result<Self, AttributeError>
fn merge_incomplete(_: Self) -> Result<Self, AttributeError>
Fallback merging routine, i.e. how to obtain a new value from a single existing one. Read more
§fn merge_from_none() -> Result<Self, AttributeError>
fn merge_from_none() -> Result<Self, AttributeError>
Fallback merging routine, i.e. how to obtain a new value from no existing one. Read more
§fn split_from_none() -> Result<(Self, Self), AttributeError>
fn split_from_none() -> Result<(Self, Self), AttributeError>
Fallback splitting routine, i.e. how to obtain two new values from no existing one. Read more
Source§impl Clone for FaceAnchor
impl Clone for FaceAnchor
Source§fn clone(&self) -> FaceAnchor
fn clone(&self) -> FaceAnchor
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for FaceAnchor
impl Debug for FaceAnchor
Source§impl Hash for FaceAnchor
impl Hash for FaceAnchor
Source§impl PartialEq for FaceAnchor
impl PartialEq for FaceAnchor
impl Copy for FaceAnchor
impl Eq for FaceAnchor
impl StructuralPartialEq for FaceAnchor
Auto Trait Implementations§
impl Freeze for FaceAnchor
impl RefUnwindSafe for FaceAnchor
impl Send for FaceAnchor
impl Sync for FaceAnchor
impl Unpin for FaceAnchor
impl UnwindSafe for FaceAnchor
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for 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>
Converts
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>
Converts
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