Struct rust_3d::HalfEdge
[−]
[src]
pub struct HalfEdge { /* fields omitted */ }
HalfEdge, the half edge data structure
Methods
impl HalfEdge
[src]
fn new<T, M>(mesh: &M) -> Self where
M: IsMesh<T, Face3>,
M: IsMesh<T, Face3>,
Creates a new HalfEdge3D for the given IsMesh3D This only stays valid if IMesh3D is not changed after creation The mesh must be manifold (@todo ensure via types?)
fn tail(&self, id: EId) -> Result<VId>
Returns the ID of the vertex the edge originates from (error if id out of bounds)
fn face(&self, id: EId) -> Result<FId>
Returns the ID of the face the edge belongs to (error if id out of bounds)
fn twin(&self, id: EId) -> Result<Option<EId>>
Returns the ID of the twin edge (None if there isn't any) (error if id out of bounds)
fn next(&self, id: EId) -> Result<EId>
Returns the ID of the edge after this edge (error if id out of bounds)
fn prev(&self, id: EId) -> Result<EId>
Returns the ID of the edge before this edge (error if id out of bounds)
fn edges_originating(&self, id: VId) -> Result<Vec<EId>>
Returns all edges originating (pointing away) from the given vertex (error if id out of bounds)
fn edges_ending(&self, id: VId) -> Result<Vec<EId>>
Returns all edges ending (pointing at) the given vertex (error if id out of bounds)
fn edges_all(&self, id: VId) -> Result<Vec<EId>>
Returns all edges connected to the vertex (both originating and ending) (error if id out of bounds)
fn faces(&self, id: VId) -> Result<Vec<FId>>
Returns all faces a vertex is part of (error if id out of bounds)
fn ensure_edge_id(&self, id: EId) -> Result<()>
Fails if the edge ID is out of bounds
fn ensure_vertex_id(&self, id: VId) -> Result<()>
Fails if the vertex ID is out of bounds
Trait Implementations
impl Debug for HalfEdge
[src]
impl Clone for HalfEdge
[src]
fn clone(&self) -> HalfEdge
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl PartialEq for HalfEdge
[src]
fn eq(&self, __arg_0: &HalfEdge) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &HalfEdge) -> bool
This method tests for !=
.
impl Eq for HalfEdge
[src]
impl PartialOrd for HalfEdge
[src]
fn partial_cmp(&self, __arg_0: &HalfEdge) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &HalfEdge) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, __arg_0: &HalfEdge) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, __arg_0: &HalfEdge) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, __arg_0: &HalfEdge) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Ord for HalfEdge
[src]
fn cmp(&self, __arg_0: &HalfEdge) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
ord_max_min
)Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
ord_max_min
)Compares and returns the minimum of two values. Read more