pub struct Edge { /* private fields */ }Expand description
An edge
Implementations
sourceimpl Edge
impl Edge
sourcepub fn build() -> EdgeBuilder
pub fn build() -> EdgeBuilder
Build an edge using EdgeBuilder
sourcepub fn new(
curve: Curve,
vertices: VerticesOfEdge<Vertex>,
global: GlobalEdge
) -> Self
pub fn new(
curve: Curve,
vertices: VerticesOfEdge<Vertex>,
global: GlobalEdge
) -> Self
Create a new instance of Edge
If you only have a curve and the edge vertices, please check out
Edge::from_curve_and_vertices, which is a convenience wrapper around
this method, which creates an instance of GlobalEdge.
Panics
Panics, if the provided GlobalEdge instance doesn’t refer to the
same GlobalCurve and GlobalVertex instances that the other
objects that are passed refer to.
sourcepub fn from_curve_and_vertices(
curve: Curve,
vertices: VerticesOfEdge<Vertex>
) -> Self
pub fn from_curve_and_vertices(
curve: Curve,
vertices: VerticesOfEdge<Vertex>
) -> Self
Create a new instance of Edge from a curve and vertices
The GlobalEdge instance is created from the provided curve and
vertices. Please refer to Edge::new, if you already have a
GlobalEdge instance that you can provide.
sourcepub fn curve(&self) -> &Curve
pub fn curve(&self) -> &Curve
Access the curve that defines the edge’s geometry
The edge can be a segment of the curve that is bounded by two vertices, or if the curve is continuous (i.e. connects to itself), the edge could be defined by the whole curve, and have no bounding vertices.
sourcepub fn vertices(&self) -> &VerticesOfEdge<Vertex>
pub fn vertices(&self) -> &VerticesOfEdge<Vertex>
Access the vertices that bound the edge on the curve
An edge has either two bounding vertices or none. The latter is possible if the edge’s curve is continuous (i.e. connects to itself), and defines the whole edge.
sourcepub fn global(&self) -> &GlobalEdge
pub fn global(&self) -> &GlobalEdge
Access the global form of this edge
Trait Implementations
sourceimpl Approx for Edge
impl Approx for Edge
type Approximation = Vec<Local<Point<1>>, Global>
type Approximation = Vec<Local<Point<1>>, Global>
The approximation of the object
sourcefn approx(&self, tolerance: Tolerance) -> Self::Approximation
fn approx(&self, tolerance: Tolerance) -> Self::Approximation
Approximate the object Read more
sourceimpl<'r> ObjectIters<'r> for Edge
impl<'r> ObjectIters<'r> for Edge
sourcefn referenced_objects(&'r self) -> Vec<&'r dyn ObjectIters<'_>>
fn referenced_objects(&'r self) -> Vec<&'r dyn ObjectIters<'_>>
Return all objects that this one references
sourcefn edge_iter(&'r self) -> Iter<&'r Edge>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn edge_iter(&'r self) -> Iter<&'r Edge>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all edges
sourcefn curve_iter(&'r self) -> Iter<&'r Curve>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn curve_iter(&'r self) -> Iter<&'r Curve>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all curves
sourcefn cycle_iter(&'r self) -> Iter<&'r Cycle>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn cycle_iter(&'r self) -> Iter<&'r Cycle>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all cycles
sourcefn face_iter(&'r self) -> Iter<&'r Face>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn face_iter(&'r self) -> Iter<&'r Face>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all faces
sourcefn global_curve_iter(&'r self) -> Iter<&'r GlobalCurve>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn global_curve_iter(&'r self) -> Iter<&'r GlobalCurve>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all global curves
sourcefn global_vertex_iter(&'r self) -> Iter<&'r GlobalVertex>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn global_vertex_iter(&'r self) -> Iter<&'r GlobalVertex>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all global vertices
sourcefn shell_iter(&'r self) -> Iter<&'r Shell>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn shell_iter(&'r self) -> Iter<&'r Shell>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all shells
sourcefn sketch_iter(&'r self) -> Iter<&'r Sketch>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn sketch_iter(&'r self) -> Iter<&'r Sketch>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all sketches
sourcefn solid_iter(&'r self) -> Iter<&'r Solid>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn solid_iter(&'r self) -> Iter<&'r Solid>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all solids
sourceimpl Ord for Edge
impl Ord for Edge
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialEq<Edge> for Edge
impl PartialEq<Edge> for Edge
sourceimpl PartialOrd<Edge> for Edge
impl PartialOrd<Edge> for Edge
sourcefn partial_cmp(&self, other: &Edge) -> Option<Ordering>
fn partial_cmp(&self, other: &Edge) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl TransformObject for Edge
impl TransformObject for Edge
impl Copy for Edge
impl Eq for Edge
impl StructuralEq for Edge
impl StructuralPartialEq for Edge
Auto Trait Implementations
impl RefUnwindSafe for Edge
impl Send for Edge
impl Sync for Edge
impl Unpin for Edge
impl UnwindSafe for Edge
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
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>
Convert 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. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self from the equivalent element of its
superset. Read more
fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if 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
Use with care! Same as self.to_subset but without any property checks. Always succeeds.
fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self to the equivalent element of its superset.