Struct rust_3d::SearchableMesh
[−]
[src]
pub struct SearchableMesh<'a, T> { /* fields omitted */ }
SearchableMesh, transforms IsMesh to IsSearchableMesh
Methods
impl<'a, T> SearchableMesh<'a, T>
[src]
fn new<M>(mesh: Box<M>) -> Self where
M: 'a + IsMesh<T, Face3>,
M: 'a + IsMesh<T, Face3>,
Creates a new SearchableMesh3D from an IsMesh3D This only stays valid if IMesh3D is not changed after creation The mesh must be manifold (@todo ensure via types?)
fn ensure_face_id(&self, id: FId) -> Result<()>
Fails if the vertex ID is out of bounds
Trait Implementations
impl<'a, T> IsMesh<T, Face3> for SearchableMesh<'a, T>
[src]
fn num_faces(&self) -> usize
Should return the number of faces within the mesh
fn num_vertices(&self) -> usize
Should return the number of vertices within the mesh
fn face_vertex_ids(&self, faceid: FId) -> Result<Face3>
Should return the ids of vertices of the given face
fn face_vertices(&self, faceid: FId) -> Result<(T, T, T)>
Should return the vertices of the given face
fn vertex(&self, vertexid: VId) -> Result<T>
Should return the vertex with the given id
impl<'a, T> IsSearchableMesh<T, Face3> for SearchableMesh<'a, T>
[src]
fn num_edges(&self) -> usize
Returns the number of edges within the mesh
fn edges_of_face(&self, faceid: FId) -> Result<(EId, EId, EId)>
Should return the edge ids of the given face. Error if id invalid
fn edges_originating_from_vertex(&self, vertexid: VId) -> Result<Vec<EId>>
Should return the edges originating at the given vertex (pointing away / having the vertex as tail). Error if id invalid
fn edges_ending_at_vertex(&self, vertexid: VId) -> Result<Vec<EId>>
Should return the edges ending at the given vertex (pointing to / having the vertex as head). Error if id invalid
fn edges_of_vertex(&self, vertexid: VId) -> Result<Vec<EId>>
Should return the edges connecting with the vertex. Error if id invalid
fn edge_tail(&self, edgeid: EId) -> Result<VId>
Should return the vertex id of the edge's tail. Error if id invalid
fn edge_head(&self, edgeid: EId) -> Result<VId>
Should return the vertex id of the edge's head. Error if id invalid
fn edge_next(&self, edgeid: EId) -> Result<EId>
Should return the edge id of the next edge. Error if id invalid
fn edge_prev(&self, edgeid: EId) -> Result<EId>
Should return the edge id of the previous edge. Error if id invalid
fn edge_twin(&self, edgeid: EId) -> Result<Option<EId>>
Should return the edge id of the twin edge. Error if id invalid, None if there is none
fn edge_face(&self, edgeid: EId) -> Result<FId>
Should return the face id of the edges face. Error if id invalid
fn faces_of_vertex(&self, vertexid: VId) -> Result<Vec<FId>>
Returns faces a vertex is part of. Error if id invalid
fn face_edge_neighbours(&self, faceid: FId) -> Result<Vec<FId>>
Returns the neighbouring faces of the given face which share the same edges. Error if id invalid
fn face_vertex_neighbours(&self, faceid: FId) -> Result<Vec<FId>>
Returns the neighbouring faces of the given face which share the same vertices. Error if id invalid