Struct spade::delaunay::EdgeHandle
source · pub struct EdgeHandle<'a, V, E = ()>where
V: 'a,
E: 'a,{ /* private fields */ }
Expand description
A handle to a directed edge.
Used to retrieve adjacent vertices and faces.
Implementations
sourceimpl<'a, V, E> EdgeHandle<'a, V, E>where
V: 'a,
E: Default + 'a,
impl<'a, V, E> EdgeHandle<'a, V, E>where
V: 'a,
E: Default + 'a,
sourcepub fn fix(&self) -> FixedEdgeHandle
pub fn fix(&self) -> FixedEdgeHandle
Creates a fixed edge handle from this dynamic handle.
sourcepub fn from(&self) -> VertexHandle<'a, V, E>
pub fn from(&self) -> VertexHandle<'a, V, E>
Returns the edge’s source vertex.
sourcepub fn o_next(&self) -> EdgeHandle<'a, V, E>
pub fn o_next(&self) -> EdgeHandle<'a, V, E>
Returns the oriented next edge.
The oriented next edge shares the same face as this edge. When traversing the face’s edges in oriented order, this edge is the predecessor of the oriented next edge. “Oriented” means counterclockwise for right handed coordinate systems.
sourcepub fn o_prev(&self) -> EdgeHandle<'a, V, E>
pub fn o_prev(&self) -> EdgeHandle<'a, V, E>
Returns the oriented previous edge.
The oriented previous edge shares the same face as this edge. When traversing the face’s edges in oriented order, this edge is the successor of the oriented previous edge. “Oriented” means counterclockwise for right handed coordinate systems.
sourcepub fn o_next_iterator(&self) -> ONextIterator<'a, V, E>ⓘNotable traits for ONextIterator<'a, V, E>impl<'a, V, E> Iterator for ONextIterator<'a, V, E>where
V: 'a,
E: Default + 'a, type Item = EdgeHandle<'a, V, E>;
pub fn o_next_iterator(&self) -> ONextIterator<'a, V, E>ⓘNotable traits for ONextIterator<'a, V, E>impl<'a, V, E> Iterator for ONextIterator<'a, V, E>where
V: 'a,
E: Default + 'a, type Item = EdgeHandle<'a, V, E>;
V: 'a,
E: Default + 'a, type Item = EdgeHandle<'a, V, E>;
Returns an iterator over all edges sharing the same face as this edge.
The face’s edges will be traversed in oriented order. This order is counterclockwise for right handed coordinate systems or clockwise for left handed systems.
sourcepub fn to(&self) -> VertexHandle<'a, V, E>
pub fn to(&self) -> VertexHandle<'a, V, E>
Returns the edges destination vertex.
sourcepub fn face(&self) -> FaceHandle<'a, V, E>
pub fn face(&self) -> FaceHandle<'a, V, E>
Returns the face located to the left of this edge.
sourcepub fn sym(&self) -> EdgeHandle<'a, V, E>
pub fn sym(&self) -> EdgeHandle<'a, V, E>
Returns this edge’s mirror edge.
sourcepub fn cw(&self) -> EdgeHandle<'a, V, E>
pub fn cw(&self) -> EdgeHandle<'a, V, E>
Returns the next edge in clockwise direction.
Note that this assumes that you use a right handed coordinate system, otherwise the sense of orientation is inverted.
sourcepub fn ccw(&self) -> EdgeHandle<'a, V, E>
pub fn ccw(&self) -> EdgeHandle<'a, V, E>
Returns the next edge in counter clockwise direction.
Note that this assumes that you use a right handed coordinate system, otherwise the sense of orientation is inverted.
sourcepub fn ccw_iter(&self) -> CCWIterator<'a, V, E>ⓘNotable traits for CCWIterator<'a, V, E>impl<'a, V, E> Iterator for CCWIterator<'a, V, E>where
V: 'a,
E: Default + 'a, type Item = EdgeHandle<'a, V, E>;
pub fn ccw_iter(&self) -> CCWIterator<'a, V, E>ⓘNotable traits for CCWIterator<'a, V, E>impl<'a, V, E> Iterator for CCWIterator<'a, V, E>where
V: 'a,
E: Default + 'a, type Item = EdgeHandle<'a, V, E>;
V: 'a,
E: Default + 'a, type Item = EdgeHandle<'a, V, E>;
Returns an iterator over all edges in counter clockwise order.
Note that this assumes that you use a right handed coordinate system, otherwise the sense of orientation is inverted.
Trait Implementations
sourceimpl<'a, V, E> Clone for EdgeHandle<'a, V, E>where
V: 'a,
impl<'a, V, E> Clone for EdgeHandle<'a, V, E>where
V: 'a,
sourceimpl<'a, V, E> Debug for EdgeHandle<'a, V, E>where
V: 'a,
E: Default,
impl<'a, V, E> Debug for EdgeHandle<'a, V, E>where
V: 'a,
E: Default,
sourceimpl<'a, V, E> PartialEq<EdgeHandle<'a, V, E>> for EdgeHandle<'a, V, E>where
V: 'a,
impl<'a, V, E> PartialEq<EdgeHandle<'a, V, E>> for EdgeHandle<'a, V, E>where
V: 'a,
impl<'a, V, E> Copy for EdgeHandle<'a, V, E>where
V: 'a,
Auto Trait Implementations
impl<'a, V, E> RefUnwindSafe for EdgeHandle<'a, V, E>where
E: RefUnwindSafe,
V: RefUnwindSafe,
impl<'a, V, E> Send for EdgeHandle<'a, V, E>where
E: Sync,
V: Sync,
impl<'a, V, E> Sync for EdgeHandle<'a, V, E>where
E: Sync,
V: Sync,
impl<'a, V, E> Unpin for EdgeHandle<'a, V, E>
impl<'a, V, E> UnwindSafe for EdgeHandle<'a, V, E>where
E: RefUnwindSafe,
V: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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 morefn 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).unsafe fn to_subset_unchecked(&self) -> SS
unsafe 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.