Struct fj_kernel::objects::GlobalEdge
source · pub struct GlobalEdge { /* private fields */ }Expand description
An undirected edge, defined in global (3D) coordinates
In contrast to HalfEdge, GlobalEdge is undirected, meaning it has no
defined direction, and its vertices have no defined order. This means it can
be used to determine whether two HalfEdges map to the same GlobalEdge,
regardless of their direction.
See HalfEdge’s documentation for more information on the relationship
between HalfEdge and GlobalEdge.
Implementations§
source§impl GlobalEdge
impl GlobalEdge
sourcepub fn new(vertices: [Handle<GlobalVertex>; 2]) -> Self
pub fn new(vertices: [Handle<GlobalVertex>; 2]) -> Self
Create a new instance
The order of vertices is irrelevant. Two GlobalEdges with the same
curve and vertices will end up being equal, regardless of the order
of vertices here.
sourcepub fn vertices(&self) -> &VerticesInNormalizedOrder
pub fn vertices(&self) -> &VerticesInNormalizedOrder
Access the vertices that bound the edge on the curve
As the name indicates, the order of the returned vertices is normalized
and might not match the order of the vertices that were passed to
GlobalEdge::new. You must not rely on the vertices being in any
specific order.
Trait Implementations§
source§impl Clone for GlobalEdge
impl Clone for GlobalEdge
source§fn clone(&self) -> GlobalEdge
fn clone(&self) -> GlobalEdge
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for GlobalEdge
impl Debug for GlobalEdge
source§impl From<GlobalEdge> for Object<Bare>
impl From<GlobalEdge> for Object<Bare>
source§fn from(object: GlobalEdge) -> Self
fn from(object: GlobalEdge) -> Self
source§impl HasPartial for GlobalEdge
impl HasPartial for GlobalEdge
§type Partial = PartialGlobalEdge
type Partial = PartialGlobalEdge
source§impl Hash for GlobalEdge
impl Hash for GlobalEdge
source§impl Insert for GlobalEdge
impl Insert for GlobalEdge
source§impl Ord for GlobalEdge
impl Ord for GlobalEdge
source§fn cmp(&self, other: &GlobalEdge) -> Ordering
fn cmp(&self, other: &GlobalEdge) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<GlobalEdge> for GlobalEdge
impl PartialEq<GlobalEdge> for GlobalEdge
source§fn eq(&self, other: &GlobalEdge) -> bool
fn eq(&self, other: &GlobalEdge) -> bool
self and other values to be equal, and is used
by ==.source§impl PartialOrd<GlobalEdge> for GlobalEdge
impl PartialOrd<GlobalEdge> for GlobalEdge
source§fn partial_cmp(&self, other: &GlobalEdge) -> Option<Ordering>
fn partial_cmp(&self, other: &GlobalEdge) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moresource§impl TransformObject for GlobalEdge
impl TransformObject for GlobalEdge
source§fn transform_with_cache(
self,
transform: &Transform,
objects: &mut Service<Objects>,
cache: &mut TransformCache
) -> Self
fn transform_with_cache( self, transform: &Transform, objects: &mut Service<Objects>, cache: &mut TransformCache ) -> Self
source§fn transform(self, transform: &Transform, objects: &mut Service<Objects>) -> Self
fn transform(self, transform: &Transform, objects: &mut Service<Objects>) -> Self
source§impl Validate for GlobalEdge
impl Validate for GlobalEdge
source§fn validate_with_config(&self, _: &ValidationConfig, _: &mut Vec<ValidationError>)
fn validate_with_config(&self, _: &ValidationConfig, _: &mut Vec<ValidationError>)
source§fn validate_and_return_first_error(&self) -> Result<(), ValidationError>
fn validate_and_return_first_error(&self) -> Result<(), ValidationError>
source§fn validate(&self, errors: &mut Vec<ValidationError>)
fn validate(&self, errors: &mut Vec<ValidationError>)
impl Eq for GlobalEdge
impl StructuralEq for GlobalEdge
impl StructuralPartialEq for GlobalEdge
Auto Trait Implementations§
impl !RefUnwindSafe for GlobalEdge
impl Send for GlobalEdge
impl Sync for GlobalEdge
impl Unpin for GlobalEdge
impl !UnwindSafe for GlobalEdge
Blanket Implementations§
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> 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)
&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)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.