Module mesh

Source

Modules§

adjacency
Edge adjacency derived once, so algorithms stop rebuilding it.
attribute
Named per-vertex data carried alongside positions.
audit
Deterministic structural triangle-mesh audit.
component
Splitting a mesh into connected components, and recombining them (#85).
error
Structured mesh validation failures.
polygon
Polygonal face mesh that preserves n-gons and inner voids before triangulation.
triangle
Indexed triangle mesh representation.
view
Borrowed mesh interoperability seam.

Structs§

AttributeChannel
Per-vertex or per-corner values under a caller-chosen name.
EdgeAdjacency
Edge-to-triangle adjacency over a triangle mesh.
EdgeKey
An undirected edge, canonically ordered so both sides collide.
EdgeUse
One triangle’s use of an edge, and the direction it traversed.
MeshHealth
Source-neutral structural facts about one triangle mesh.
NormalAttribute
Optional independently indexed vertex normals.
PolygonFace
One polygonal face with an outer loop and zero or more inner loops.
PolygonMesh
Indexed polygon mesh in local coordinates.
TriMesh
Indexed triangle mesh in local coordinates.

Enums§

AttributeFate
What happened to a channel during an operation.
Blend
How a channel’s values may be combined when a new vertex appears.
DropReason
Why a channel could not be carried through an operation.
MeshAuditError
A bounded audit could not reserve its declared edge-record scratch.
MeshValidationError
Cheap structural validation failure.

Traits§

MeshView
Read-only triangle mesh view.
TriangleMeshView
Read-only triangle mesh with arbitrary caller index storage.

Functions§

audit_mesh
Audit a triangle mesh with an explicit source-unit tolerance.
audit_mesh_scratch_bytes
Exact requested scratch bytes for try_audit_mesh.
component_count
Number of connected components, counting only referenced vertices.
compose
Combine meshes into one, rebasing each mesh’s indices.
decompose
Split a mesh into its connected components.
try_audit_mesh
Audit using one fallible, precomputable edge-record allocation.