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§
Sourcefn edges_of_face(&self, faceid: FId) -> Result<(EId, EId, EId)>
fn edges_of_face(&self, faceid: FId) -> Result<(EId, EId, EId)>
Should return the edge ids of the given face. Error if id invalid
Sourcefn edges_originating_from_vertex(
&self,
vertexid: VId,
result: &mut Vec<EId>,
) -> Result<()>
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
Sourcefn edges_ending_at_vertex(
&self,
vertexid: VId,
cache: &mut Vec<EId>,
result: &mut Vec<EId>,
) -> Result<()>
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
Sourcefn edges_of_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<()>
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
Sourcefn edge_tail(&self, edgeid: EId) -> Result<VId>
fn edge_tail(&self, edgeid: EId) -> Result<VId>
Should return the vertex id of the edge’s tail. Error if id invalid
Sourcefn edge_head(&self, edgeid: EId) -> Result<VId>
fn edge_head(&self, edgeid: EId) -> Result<VId>
Should return the vertex id of the edge’s head. Error if id invalid
Sourcefn edge_next(&self, edgeid: EId) -> Result<EId>
fn edge_next(&self, edgeid: EId) -> Result<EId>
Should return the edge id of the next edge. Error if id invalid
Sourcefn edge_prev(&self, edgeid: EId) -> Result<EId>
fn edge_prev(&self, edgeid: EId) -> Result<EId>
Should return the edge id of the previous edge. Error if id invalid
Provided Methods§
Sourcefn faces_of_vertex(
&self,
vertexid: VId,
cache: &mut Vec<EId>,
result: &mut Vec<FId>,
) -> Result<()>
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
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".