Repository navigation
Release v0.8.5
Features
-
GPU In-Place Laplacian Mesh Smoothing (
conquer3d.data_structure):- Implemented
smooth(iterations=10, damping=0.5, mode=1)onTriangleMeshperforming explicit Euler Laplacian smoothing on GPU. - Accelerated via edge-parallel CUDA kernels (
assemble_edge_weighted_laplacian,smooth_laplacian). - Supports uniform weights (mode 0, equilateral relaxation) and cotangent weights (mode 1, shape and feature preservation).
- Automatic boundary vertex pinning to preserve open mesh border geometry.
- Coherent geometric cache invalidation (normals, Voronoi areas, curvature, BVH, flood fills) on vertex updates.
- Implemented
-
Multi-Mode Discrete Mean Curvature & Laplacian Fields (
conquer3d.data_structure):- Enhanced
get_mean_curvature(mode)with 3 discrete modes:- Mode 0: Signed scalar mean curvature
$H$ (sphere with outward normals reports$H = +1/R$ ). - Mode 1: Vector curvature normal
$\Delta_{LB} x = -2H\hat{n}$ . - Mode 2: Absolute discrete mean curvature
$\tfrac{1}{2}|\Delta_{LB} x|$ (Botsch et al., Polygon Mesh Processing, Eq. 3.13).
- Mode 0: Signed scalar mean curvature
- Enhanced
compute_laplacian(mode)supporting uniform (mode 0), cotangent area-normalised (mode 1), and cotangent weight-normalised (mode 2, dimensionless scale-invariant convex combination) vector fields. - Enhanced
get_principal_curvatures()and refinedget_gaussian_curvature()closed-ring documentation.
- Enhanced
-
Conda Toolchain & Compiler Pinning (
install.sh):- Added repository-level
install.shscript automating toolchain discovery, CUDA architecture list configuration, and compiler resolution for the active conda environment.
- Added repository-level
Refactors & Build
- Build System: Bumped package version to
0.8.5inpyproject.toml. - PyBind11 Extension: Exposed
smooth, multi-modeget_mean_curvature, andcompute_laplacianoverTriangleMeshinconquer3d/csrc/binds/data_structure/triangle_mesh.cpp.
Examples
- In-place GPU mesh fairing, feature-preserving smoothing, and multi-mode curvature analysis on high-resolution triangle meshes.