axiolid-refine
Mesh refinement, smoothing, isotropic remeshing, hole filling, fairing and subdivision surfaces.
| Latest release | 0.3.4 (2026-11-07) |
| crates.io | axiolid-refine |
| Layer | algorithms (algorithm.discrete) |
| API documentation | rustdoc · docs.rs |
| Source | crates/algorithms/discrete/refine/ |
Overview
Mesh refinement and Laplacian smoothing with bounded, reported deviation. Refinement splits triangles; when the source surface of a tessellated B-rep is supplied, each new vertex is placed on that surface instead of at the edge midpoint, so refinement converges on the real geometry rather than subdividing the facets. Smoothing keeps boundary vertices bit-identical by default. Isotropic remeshing (remesh) splits, collapses, flips and relaxes towards one target edge length on a halfedge mesh, keeping boundary and sharp feature lines exactly and projecting every free vertex back onto the input; its report measures how close the result came. Remeshing sizes edges uniformly, not by curvature. On a HalfedgeMesh the crate also fills holes (a minimum-dihedral triangulation, refined to the surrounding density and faired with a biharmonic solve), fairs chosen vertices, and subdivides with the Loop and Catmull-Clark schemes, including their limit positions. It does not reduce triangle counts (see axiolid-decimate).
Depends on
axiolid-contractsaxiolid-coreaxiolid-evaluateaxiolid-meshaxiolid-numericaxiolid-predicatesaxiolid-surface
Changes
Latest release, 0.3.4 (2026-11-07):
Added
- The package now ships
LICENSEandLICENSE-COMMERCIAL(symlinks to the repository root), so the licence texts travel with the archive (#358).
Full history: crates/algorithms/discrete/refine/CHANGELOG.md