#[non_exhaustive]pub struct ComponentTopology {
pub triangles: Vec<usize>,
pub vertices: usize,
pub edges: usize,
pub euler_characteristic: i64,
pub boundary_loops: usize,
pub orientable: bool,
pub consistently_oriented: bool,
pub surface: SurfaceKind,
pub homology_basis: Option<Vec<EdgeLoop>>,
}Expand description
The topology of one connected component.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.triangles: Vec<usize>The component’s triangles, as indices into the mesh’s triangles.
vertices: usizeVertices the component’s triangles use.
edges: usizeDistinct edges of the component’s triangles.
euler_characteristic: i64vertices - edges + triangles.
boundary_loops: usizeClosed loops of boundary edges (edges on one triangle).
orientable: boolWhether the triangles can be wound consistently.
consistently_oriented: boolWhether they are: every interior edge is used once in each direction. Only an orientable component can be.
surface: SurfaceKindThe surface, from euler_characteristic = 2 - 2g - b (orientable)
or 2 - k - b (non-orientable).
homology_basis: Option<Vec<EdgeLoop>>For a closed orientable component, 2g closed edge loops forming a
basis of its first homology; cutting along all of them leaves a
disc. None for a component with boundary or a non-orientable one.
Trait Implementations§
Source§impl Clone for ComponentTopology
impl Clone for ComponentTopology
Source§fn clone(&self) -> ComponentTopology
fn clone(&self) -> ComponentTopology
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ComponentTopology
impl Debug for ComponentTopology
Source§impl PartialEq for ComponentTopology
impl PartialEq for ComponentTopology
impl Eq for ComponentTopology
impl StructuralPartialEq for ComponentTopology
Auto Trait Implementations§
impl Freeze for ComponentTopology
impl RefUnwindSafe for ComponentTopology
impl Send for ComponentTopology
impl Sync for ComponentTopology
impl Unpin for ComponentTopology
impl UnwindSafe for ComponentTopology
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