Skip to content

Approximate convex decomposition#8935

Merged
sloriot merged 71 commits intoCGAL:mainfrom
soesau:PMP-approximate_convex_decomposition-GF
Apr 7, 2026
Merged

Approximate convex decomposition#8935
sloriot merged 71 commits intoCGAL:mainfrom
soesau:PMP-approximate_convex_decomposition-GF

Conversation

@soesau
Copy link
Copy Markdown
Member

@soesau soesau commented Jun 13, 2025

Summary of Changes

Reimplementation of https://github.com/kmammou/v-hacd
Performs approximate convex decomposition of an input mesh based on a voxelization and hierarchical decomposition.

Although it could have added to the package Convex Decomposition of Polyhedra it was decided to add it to the package Polygon Mesh Processing.
Finally we decided that it gets added to Convex Decomposition of Polyhedra

Release Management

TODO

  • cite: Khaled Mamou. “Volumetric Hierarchical Approximate Convex Decomposition”. In Game
    Engine Gems 3, A K Peters, 2016, pp. 141–158. (It would be usefull if you find a pdf of it)
  • Eventually cite: https://arxiv.org/pdf/2205.02961 (optional, it's a possible improvement)
  • Produce a plugin for the demo
  • Produce a postprocess to refine the convex hull to avoid an offset compare to the original mesh (optional)

@soesau
Copy link
Copy Markdown
Member Author

soesau commented Jun 13, 2025

The dependency to Surface_mesh will be removed later.

@MaelRL MaelRL added this to the 6.2-beta milestone Jun 15, 2025
soesau added 6 commits June 25, 2025 17:33
added rayshooting to fill inside and outside of unclosed meshes
tweaking the find best splitting plane method
adding documentation
soesau added 2 commits July 2, 2025 16:10
making compatible with EPECK
@soesau

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@soesau

This comment was marked as outdated.

@afabri
Copy link
Copy Markdown
Member

afabri commented Feb 4, 2026

CGAL/approximate_convex_decomposition.h:1251:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] here

@afabri
Copy link
Copy Markdown
Member

afabri commented Feb 4, 2026

/CGAL/approximate_convex_decomposition.h:1185:9: warning: typedef ‘using face_descriptor = typename boost::graph_traits<Graph>::face_descriptor’ locally defined but not used [-Wunused-local-typedefs] here

@sloriot
Copy link
Copy Markdown
Member

sloriot commented Feb 12, 2026

Successfully tested in CGAL-6.2-Ic-108

@MaelRL MaelRL changed the title [PMP] Approximate convex decomposition Approximate convex decomposition Feb 12, 2026
sloriot added a commit that referenced this pull request Mar 3, 2026
## Summary of Changes

With the years and the additions to the package "Polygon Mesh
Processing" (PMP), the user and reference manuals have grown overly
large, making it difficult to find information.

This PR splits **the documentation** of PMP into four (three new)
packages:
- PMP (core): essential functions, ranging from simple geometric
functions to distance functions, feature detection etc.
- Boolean Operations on Meshes: Corefinement, autorefinement, clipping,
splitting, slicing, [upcoming kernel ?]
- Meshing and Remeshing of Polygon Meshes: combinatorial and geometric,
local and global meshing and remeshing.
- Polygon Mesh Repair: detection and treatment of defects in polygon
meshes

TODO:
- [x] Update usages of now deprecated PMP border.h (moved to BGL)
- [x] Test deprecated border.h
- [x] Fix "Topics" order
- [x] Dispatch functions and doc coming from:
    - [x] #9131
      - [ ] use the new make_hex in add_bbox
- [x] Move .h but keep include/CGAL/PMP

Tentative TODO:
- [ ] Update some package icons?

## Release Management

Integrate after :
- #8935
- #9131

* Affected package(s): `PMP`
* Issue(s) solved (if any): 
* Feature/Small Feature (if any):
[PMP_doc_breakup](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/PMP_doc_breakup)
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*](httpssss://wrong_URL_to_be_changed/Manual/Pkg)
* License and copyright ownership: no change
@MaelRL MaelRL modified the milestones: 6.2-beta, 6.3-beta Mar 30, 2026
@sloriot sloriot merged commit 6ce94d8 into CGAL:main Apr 7, 2026
9 checks passed
@sloriot sloriot removed the Check size label Apr 7, 2026
@sloriot sloriot modified the milestones: 6.3-beta, 6.2-beta Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants