pub struct Face3 {
pub a: VId,
pub b: VId,
pub c: VId,
}
Expand description
Face3, a face defined by 3 indices (e.g. used for Mesh)
Fields§
§a: VId
§b: VId
§c: VId
Implementations§
Trait Implementations§
Source§impl<P, ID, IC> IsFaceEditableMesh<P, Face3> for Mesh3D<P, ID, IC>
impl<P, ID, IC> IsFaceEditableMesh<P, Face3> for Mesh3D<P, ID, IC>
Source§fn add_face(&mut self, v1: P, v2: P, v3: P) -> FId
fn add_face(&mut self, v1: P, v2: P, v3: P) -> FId
Should add a face with the 3 positions. Also should return the id of the new face
Source§fn try_add_connection(&mut self, vid1: VId, vid2: VId, vid3: VId) -> Result<FId>
fn try_add_connection(&mut self, vid1: VId, vid2: VId, vid3: VId) -> Result<FId>
Should add a face to the mesh by connecting the vertices via their ids. Should return the id of the newly added face
Source§fn reserve_faces(&mut self, n: usize)
fn reserve_faces(&mut self, n: usize)
Should reserve space for n additional faces
Source§impl<P, ID, IC> IsMesh<P, Face3> for Mesh3D<P, ID, IC>
impl<P, ID, IC> IsMesh<P, Face3> for Mesh3D<P, ID, IC>
Source§fn num_vertices(&self) -> usize
fn num_vertices(&self) -> usize
Should return the number of vertices within the mesh
Source§fn face_vertex_ids(&self, faceid: FId) -> Result<Face3>
fn face_vertex_ids(&self, faceid: FId) -> Result<Face3>
Should return the ids of vertices of the given face
Source§impl<M, T, IC> IsMesh<T, Face3> for SearchableMesh<M, T, IC>
impl<M, T, IC> IsMesh<T, Face3> for SearchableMesh<M, T, IC>
Source§fn num_vertices(&self) -> usize
fn num_vertices(&self) -> usize
Should return the number of vertices within the mesh
Source§fn face_vertex_ids(&self, faceid: FId) -> Result<Face3>
fn face_vertex_ids(&self, faceid: FId) -> Result<Face3>
Should return the ids of vertices of the given face
Source§impl<M, T, IC> IsSearchableMesh<T, Face3> for SearchableMesh<M, T, IC>
impl<M, T, IC> IsSearchableMesh<T, Face3> for SearchableMesh<M, T, IC>
Source§fn 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
Source§fn 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
Source§fn 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
Source§fn 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
Source§fn 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
Source§fn 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
Source§fn 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
Source§fn 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
Source§fn edge_twin(&self, edgeid: EId) -> Result<Option<EId>>
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>
fn edge_face(&self, edgeid: EId) -> Result<FId>
Should return the face id of the edges face. Error if id invalid
Source§fn 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
Source§impl IsTopologyUnit for Face3
impl IsTopologyUnit for Face3
Source§fn n_vids() -> usize
fn n_vids() -> usize
Should return the number of indices a unit is defined with. (e.g. 3 for a tri mesh)
Source§fn vid(&self, index: usize) -> Result<VId>
fn vid(&self, index: usize) -> Result<VId>
Should return the vertex id of the nth element of this unit. Failure if index out of bounds
Source§fn for_each_vid(&self, f: &mut dyn FnMut(VId))
fn for_each_vid(&self, f: &mut dyn FnMut(VId))
Applies the provided function to all indices within this unit
Source§impl<P, ID, IC> IsVertexEditableMesh<P, Face3> for Mesh3D<P, ID, IC>
impl<P, ID, IC> IsVertexEditableMesh<P, Face3> for Mesh3D<P, ID, IC>
Source§fn add_vertex(&mut self, vertex: P) -> VId
fn add_vertex(&mut self, vertex: P) -> VId
Should add a vertex to the end and return its id
Source§fn change_vertex(&mut self, vid: VId, vertex: P) -> Result<()>
fn change_vertex(&mut self, vid: VId, vertex: P) -> Result<()>
Should change vertex at vId to the given vertex returning an error on failure
Source§fn reserve_vertices(&mut self, n: usize)
fn reserve_vertices(&mut self, n: usize)
Should reserve space for n additional vertices
Source§impl<M, T, IC> IsVertexEditableMesh<T, Face3> for SearchableMesh<M, T, IC>where
M: IsMesh<T, Face3> + IsVertexEditableMesh<T, Face3>,
T: IsEditable3D + IsBuildable3D + Clone,
IC: IsIndexContainer,
impl<M, T, IC> IsVertexEditableMesh<T, Face3> for SearchableMesh<M, T, IC>where
M: IsMesh<T, Face3> + IsVertexEditableMesh<T, Face3>,
T: IsEditable3D + IsBuildable3D + Clone,
IC: IsIndexContainer,
Source§fn add_vertex(&mut self, vertex: T) -> VId
fn add_vertex(&mut self, vertex: T) -> VId
Should add a vertex to the end and return its id
Source§fn change_vertex(&mut self, vid: VId, vertex: T) -> Result<()>
fn change_vertex(&mut self, vid: VId, vertex: T) -> Result<()>
Should change vertex at vId to the given vertex returning an error on failure
Source§fn reserve_vertices(&mut self, n: usize)
fn reserve_vertices(&mut self, n: usize)
Should reserve space for n additional vertices
Source§impl Ord for Face3
impl Ord for Face3
Source§impl PartialOrd for Face3
impl PartialOrd for Face3
impl Eq for Face3
impl StructuralPartialEq for Face3
Auto Trait Implementations§
impl Freeze for Face3
impl RefUnwindSafe for Face3
impl Send for Face3
impl Sync for Face3
impl Unpin for Face3
impl UnwindSafe for Face3
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more