Struct rust_3d::prelude::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