Skip to content

Release v0.8.6

Choose a tag to compare

@KhoiDOO KhoiDOO released this 20 Sep 15:40
· 11 commits to main since this release
6af1c27

Features

  • Higher-Order Laplacian Mesh Fairing (conquer3d.data_structure):

    • Implemented fair(k=2, iterations=500, damping=0.1, mode=1, locked=None, normal_only=False) on TriangleMesh solving $\Delta^k x = 0$ via explicit Euler integration $\partial x/\partial t = (-1)^{k+1} \lambda \Delta^k x$ (Botsch et al., Polygon Mesh Processing, Sec 4.3).
    • Supports membrane ($k=1$), thin-plate biharmonic ($k=2$, default), and minimum-variation triharmonic ($k=3$) surfaces.
    • Automatically pins $k$ topological rings of boundary vertices around open borders or locked patches to guarantee $C^{k-1}$ geometric continuity.
  • Selective Pinning & Normal-Only Smoothing:

    • Added locked boolean mask support to smooth() and fair() to hold arbitrary vertex subsets fixed during flow iterations.
    • Added normal_only=True mode to constrain vertex movement strictly along vertex normal vectors, preserving tangential point spacing and preventing mesh shrinkage/distortion.
  • Modular GPU CUDA Kernels:

    • Factored and accelerated edge-weighted Laplacian evaluation on device into reusable kernels: compute_edge_weights, accumulate_edge_weighted, and laplacian_flow.

Refactors & Build

  • Build System: Bumped package version to 0.8.6 in pyproject.toml.
  • PyBind11 Extension: Exposed fair, locked masks, and normal_only parameters on TriangleMesh in conquer3d/csrc/binds/data_structure/triangle_mesh.cpp.

Examples

  • High-order biharmonic surface fairing, hole filling with $C^1$ boundary continuity, and normal-only mesh denoising without tangential drift.