tri-mesh
A triangle mesh data structure including basic operations.
Why another triangle mesh data structure crate you might ask.
Well, if you want a more feature complete crate than half_edge_mesh and a less generic crate than plexus,
then tri-mesh is probably something for you!
[]
= "0.1.0"
Features
- The main struct Mesh implements the half-edge mesh data structure for easy and efficient traversal
- Half-edge walker to traverse the mesh
- Iterators over primitives (vertices, half-edges, edges, faces)
- Convenient connectivity functionality (e.g. vertices of a face, edge between two vertices)
- Measures on vertices, edges and faces (e.g. position of vertex, area of face)
- Edit functionality (e.g. split edge, collapse edge, flip edge)
- Quality functionality (e.g. flip edges recursively to improve triangle quality, collapse small faces)
- Orientation functionality (e.g. flip orientation of all faces)
- Transformations affecting the vertex positions (e.g. moving a single vertex or rotate the entire mesh)
- Merging and splitting used for high level merging and splitting of entire meshes (e.g. clone a subset of a mesh or merge overlapping primitives)
Please, see the documentation for more details.
Usage
use *;
Please, see the documentation for more examples.