pub trait Vertex: Clone + Eq {
type Face: Face<Vertex = Self, HalfEdge = Self::HalfEdge>;
type HalfEdge: HalfEdge<Face = Self::Face, Vertex = Self>;
// Required methods
fn index(&self) -> usize;
fn pos(&self) -> [f64; 3];
fn degree(&self) -> usize;
fn outgoing(&self, index: usize) -> Self::HalfEdge;
// Provided methods
fn face(&self, index: usize) -> Self::Face { ... }
fn faces(&self) -> impl Iterator<Item = Self::Face> { ... }
fn outgoings(&self) -> impl Iterator<Item = Self::HalfEdge> { ... }
}Expand description
Represents a vertex on a Sphere.
Required Associated Types§
Required Methods§
Sourcefn index(&self) -> usize
fn index(&self) -> usize
The index of this vertex within the Sphere::vertices list.
Sourcefn pos(&self) -> [f64; 3]
fn pos(&self) -> [f64; 3]
The position of this vertex.
This is guaranteed to be a unit-length vector.
Provided Methods§
Sourcefn face(&self, index: usize) -> Self::Face
fn face(&self, index: usize) -> Self::Face
Gets a connected Face based on its index within the Vertex::faces list.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.