Skip to content

Components

Every component runs from a JSON file (wmtk_app -j file.json), from Python (wildmeshing.<name>(options)) and from C++ (wmtk::components::<name>::<name>). Each page lists every option of one component, generated from its <name>_spec.json.

Surface remeshing

Component Description Tutorial
Shortest edge collapse (shortest_edge_collapse) Simplifies a triangle mesh by collapsing its shortest edges first (Hoppe 1996, Progressive Meshes), until the vertex count reaches the target. tutorial
QSlim (qslim) Simplifies a triangle mesh by collapsing the edges of least quadric error first (Garland and Heckbert 1997), each to the quadric's optimum, until the vertex count reaches the target. tutorial
Isotropic remeshing (isotropic_remeshing) Remeshes a triangle mesh towards a uniform target edge length with splits, collapses, swaps and tangential smoothing (Botsch and Kobbelt 2004). tutorial

Tetrahedral and triangle meshing

Component Description Tutorial
TetWild (tetwild) Tetrahedralizes triangle surfaces as they come -- open, self-intersecting, non-manifold -- following TetWild: the input is simplified within the envelope, embedded exactly into a Delaunay tet mesh of its bounding box, and the tet mesh is then optimized for quality while the embedded surface stays inside an envelope around the input. tutorial
TriWild (triwild) Triangulates the plane around curve networks as they come -- polylines that cross, overlap or leave gaps -- following TriWild: the curves are simplified within the envelope, embedded exactly into a triangle mesh around them, and the mesh is then optimized for quality while the embedded curves stay inside an envelope around the input. tutorial

Multi-region meshes

Component Description Tutorial
SimWild (simwild) Builds and edits multi-region meshes. —

Offsets and repair

Component Description Tutorial
Topological offset (topological_offset) Adds a region at a target distance around a selection of a tagged tet mesh (the 2D offset, on triangle meshes, is refused for now): the boundary of a tag, an expression of tags, or an open curve or sheet. tutorial
Manifold extraction (manifold_extraction) Makes the boundary of a tagged selection of a triangle (2D) or tet (3D) mesh manifold: around each of its non-manifold vertices and edges it carves an offset of the given radius and fills it with fill_tags (ambient by default). tutorial

Mapping

Component Description Tutorial
Tracking (tracking) Rebuilds the map between an application's input surface and its output from the history the application recorded (history_output): one bijective local map per operation, composed in order. tutorial

Work in progress

Component Description Tutorial
Prismatic mesh (prismatic_mesh) Work in progress. —
C1 simplification (c1_simplification) Work in progress. —