Skip to content

v0.10.0

Latest
Compare
Choose a tag to compare
@w1th0utnam3 w1th0utnam3 released this 25 Sep 19:59
· 18 commits to main since this release
e3031e4

This release implements "Weighted Laplacian Smoothing for Surface Reconstruction of Particle-based Fluids" (Löschner, Böttcher, Jeske, Bender; 2023), mesh cleanup based on "Mesh Displacement: An Improved Contouring Method for Trivariate Data" (Moore, Warren; 1991) and a new, more efficient domain decomposition (see README.md for more details).

  • Lib: Implement new spatial decomposition based on a regular grid of subdomains (subdomains are dense marching cubes grids)
  • CLI: Make new spatial decomposition available in CLI with --subdomain-grid=on
  • Lib: Implement weighted Laplacian smoothing to remove bumps from surfaces according to paper "Weighted Laplacian Smoothing for Surface Reconstruction of Particle-based Fluids" (Löschner, Böttcher, Jeske, Bender 2023)
  • CLI: Add arguments to enable and control weighted Laplacian smoothing --mesh-smoothing-iters=..., --mesh-smoothing-weights=on etc.
  • Lib: Implement marching_cubes_cleanup function: a marching cubes "mesh cleanup" decimation inspired by "Mesh Displacement: An Improved Contouring Method for Trivariate Data" (Moore, Warren 1991)
  • CLI: Add argument to enable mesh cleanup: --mesh-cleanup=on
  • Lib: Add functions to TriMesh3d to find non-manifold edges and vertices
  • CLI: Add arguments to check if output meshes are manifold (no non-manifold edges and vertices): --mesh-check-manifold=on, --mesh-check-closed=on
  • Lib: Support for mixed triangle and quad meshes
  • Lib: Implement convert_tris_to_quads function: greedily merge triangles to quads if they fulfill certain criteria (maximum angle in quad, "squareness" of the quad, angle between triangle normals)
  • CLI: Add arguments to enable and control triangle to quad conversion with --generate-quads=on etc.
  • Lib: Support for reading and writing PLY meshes (MixedTriQuadMesh3d)
  • CLI: Support for filtering input particles using an AABB with --particle-aabb-min/--particle-aabb-max
  • CLI: Support for clamping the triangle mesh using an AABB with --mesh-aabb-min/--mesh-aabb-max