Trait IsSearchableMesh

Source
pub trait IsSearchableMesh<V, TU>: IsMesh<V, Face3> {
Show 14 methods // Required methods fn edges_of_face(&self, faceid: FId) -> Result<(EId, EId, EId)>; fn edges_originating_from_vertex( &self, vertexid: VId, result: &mut Vec<EId>, ) -> Result<()>; fn edges_ending_at_vertex( &self, vertexid: VId, cache: &mut Vec<EId>, result: &mut Vec<EId>, ) -> Result<()>; fn edges_of_vertex( &self, vertexid: VId, cache: &mut Vec<EId>, result: &mut Vec<EId>, ) -> Result<()>; fn edge_tail(&self, edgeid: EId) -> Result<VId>; fn edge_head(&self, edgeid: EId) -> Result<VId>; fn edge_next(&self, edgeid: EId) -> Result<EId>; fn edge_prev(&self, edgeid: EId) -> Result<EId>; fn edge_twin(&self, edgeid: EId) -> Result<Option<EId>>; fn edge_face(&self, edgeid: EId) -> Result<FId>; // Provided methods fn num_edges(&self) -> usize { ... } fn faces_of_vertex( &self, vertexid: VId, cache: &mut Vec<EId>, result: &mut Vec<FId>, ) -> Result<()> { ... } fn face_edge_neighbours( &self, faceid: FId, result: &mut Vec<FId>, ) -> Result<()> { ... } fn face_vertex_neighbours( &self, faceid: FId, cache: &mut Vec<EId>, result: &mut Vec<FId>, ) -> Result<()> { ... }
}
Expand description

IsSearchableMesh trait used for meshes which have extended search methods

Required Methods§

Source

fn edges_of_face(&self, faceid: FId) -> Result<(EId, EId, EId)>

Should return the edge ids of the given face. Error if id invalid

Source

fn edges_originating_from_vertex( &self, vertexid: VId, result: &mut Vec<EId>, ) -> Result<()>

Should append the edges originating at the given vertex (pointing away / having the vertex as tail). Error if id invalid

Source

fn edges_ending_at_vertex( &self, vertexid: VId, cache: &mut Vec<EId>, result: &mut Vec<EId>, ) -> Result<()>

Should append the edges ending at the given vertex (pointing to / having the vertex as head). Error if id invalid cache can be any Vec and can be used to store intermediate results avoiding allocations

Source

fn edges_of_vertex( &self, vertexid: VId, cache: &mut Vec<EId>, result: &mut Vec<EId>, ) -> Result<()>

Should append the edges connecting with the vertex. Error if id invalid cache can be any Vec and can be used to store intermediate results avoiding allocations

Source

fn edge_tail(&self, edgeid: EId) -> Result<VId>

Should return the vertex id of the edge’s tail. Error if id invalid

Source

fn edge_head(&self, edgeid: EId) -> Result<VId>

Should return the vertex id of the edge’s head. Error if id invalid

Source

fn edge_next(&self, edgeid: EId) -> Result<EId>

Should return the edge id of the next edge. Error if id invalid

Source

fn edge_prev(&self, edgeid: EId) -> Result<EId>

Should return the edge id of the previous edge. Error if id invalid

Source

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

Source

fn edge_face(&self, edgeid: EId) -> Result<FId>

Should return the face id of the edges face. Error if id invalid

Provided Methods§

Source

fn num_edges(&self) -> usize

Returns the number of edges within the mesh

Source

fn faces_of_vertex( &self, vertexid: VId, cache: &mut Vec<EId>, result: &mut Vec<FId>, ) -> Result<()>

Appends faces a vertex is part of. Error if id invalid cache can be any Vec

Source

fn face_edge_neighbours(&self, faceid: FId, result: &mut Vec<FId>) -> Result<()>

Appends the neighbouring faces of the given face which share the same edges. Error if id invalid

Source

fn face_vertex_neighbours( &self, faceid: FId, cache: &mut Vec<EId>, result: &mut Vec<FId>, ) -> Result<()>

Appends the neighbouring faces of the given face which share the same vertices. Sorts and dedups the result. Error if id invalid cache can be any Vec

Implementors§

Source§

impl<M, T, IC> IsSearchableMesh<T, Face3> for SearchableMesh<M, T, IC>
where M: IsMesh<T, Face3>, IC: IsIndexContainer,