pub struct Analysis {Show 14 fields
pub loops: Vec<BoundaryLoop>,
pub coincident_groups: usize,
pub coincident: Vec<Vec<VertexId>>,
pub degenerate: usize,
pub degenerate_list: Vec<TriangleId>,
pub duplicate: usize,
pub duplicate_list: Vec<TriangleId>,
pub non_manifold_edges: usize,
pub non_manifold_edge_list: Vec<(VertexId, VertexId)>,
pub non_manifold_vertices: Vec<VertexId>,
pub pinch_vertices: Vec<VertexId>,
pub components: Vec<Component>,
pub orientation_conflicts: usize,
pub self_intersects: Option<bool>,
}Expand description
What analyze found.
Fields§
§loops: Vec<BoundaryLoop>The boundary loops, as boundary_loops
returns them.
coincident_groups: usizeHow many groups of two or more coincident vertices there are.
coincident: Vec<Vec<VertexId>>The groups, by smallest id, each ascending.
degenerate: usizeHow many triangles are degenerate.
degenerate_list: Vec<TriangleId>The degenerate triangles, ascending.
duplicate: usizeHow many triangles repeat the vertex set of a triangle with a smaller id.
duplicate_list: Vec<TriangleId>Those triangles, ascending.
non_manifold_edges: usizeHow many edges have three or more triangles.
non_manifold_edge_list: Vec<(VertexId, VertexId)>Those edges as (min, max), ascending.
non_manifold_vertices: Vec<VertexId>The vertices on non-manifold edges, ascending.
pinch_vertices: Vec<VertexId>The vertices whose triangle fan splits into several pieces, ascending.
components: Vec<Component>The connected components, by smallest triangle id.
orientation_conflicts: usizeHow many interior edges are used in the same direction by both their triangles.
self_intersects: Option<bool>Whether two triangles that share no vertex intersect; None when no
BVH was given.