Releases: SarahWeiii/CoACD
Releases · SarahWeiii/CoACD
1.0.10
What's New
- Minimal build mode (
-DWITH_3RD_PARTY_LIBS=OFF): Build CoACD without the bundled OpenVDB/Boost/TBB/spdlog dependencies. Input meshes must already be 2-manifold (manifold preprocessing is unavailable in this mode), and logging falls back to stdout. Useful for reducing binary size and build time when integrating CoACD into a larger project that doesn't need manifold repair. - Windows 64-bit correctness fix: Fixed a pointer-truncation bug in the bundled Bullet convex hull code (
btAlignedAllocator) whereunsigned longwas used to hold a pointer. On Windows (LLP64)unsigned longis 32 bits, so the cast truncated 64-bit addresses. Replaced withuintptr_t. - Robustness:
sobolnow throws on error instead of callingexit(), so the Python bindings and library users can catch and handle sequence-generation failures instead of having the process killed. - Build & CI:
- CI now runs on pull requests, not just pushes to
main. - Build step uses
cmake -Band--parallel 4, bumpedactions/checkoutto v6. - Dropped
-fPICfrom global CXX flags in favor of thePOSITION_INDEPENDENT_CODEtarget property. - Dropped
-fpermissiveand-D_USE_MATH_DEFINESon Linux/macOS (codebase doesn't need them; kept on MSVC because bundled OpenVDB headers referenceM_PI). - Quickhull backport fixes and uninitialized-array warning fixes.
- CI now runs on pull requests, not just pushes to
- Script fix:
run_example.shnow uses-pm offinstead of the non-existent-npflag for SnowFlake and Octocat examples.
Usage
# Minimal build (no OpenVDB / Boost / spdlog)
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_3RD_PARTY_LIBS=OFF
cmake --build . --target main -jFull Changelog: 1.0.9...1.0.10
1.0.9
What's New
- Real metric mode (
-rm/--real-metric): Specify the concavity threshold directly in meters instead of normalized units. Ideal for meshes in real-world scale (e.g., from 3D scans or CAD models). The algorithm automatically converts it to the internal normalized threshold based on the mesh bounding box extent.
Usage
# CLI
./main -i model.obj -o output.obj -t 0.01 -rm
# Python
from coacd import Mesh, run_coacd
result = run_coacd(mesh, threshold=0.01, real_metric=True)Full Changelog: 1.0.8...1.0.9
1.0.8
v1.0.8
Remove lower bound on threshold parameter.
Fix CI for macOS builds.
1.0.7
v1.0.7
Fix interface parameters bug.
Fix merge corner case bug.
1.0.5
v1.0.5
Add an extrude option between adjacent convex hulls.
1.0.4
v1.0.4
Fix off-by-one illegal read in MergeConvexHulls.
1.0.3
v1.0.3
Add maximal constraints to each convex hull.
1.0.2
v1.0.2
Add box approximation
1.0.6
v1.0.6
Update ARM builds.
1.0.1
Version 1.0.1