Hi! As a part of my "improve C++ skills" project I decided to implement Alpha Shape algorithm as standalone Windows SOP dll.
I am using CGAL library 6.0.1 (https://www.cgal.org), and current plugin is a wrapper of CGAL's 3D AlphaShapes class. Please read CGAL documentation to understand how it works and what are the parameters.
The plugin works well, but has not been thoroughly tested with various point cloud shapes or edge cases, so please use it at your own risk! Also its performance decreases with larger point clouds. Having the Regularized mode and manually setting the Alpha value will improve performance, but this may not always suit your needs. Note that a suggested optimal Alpha value is displayed as a SOP warning.
My repository is a fork of Derivative's CustomOperatorSamples repo
https://github.com/gonzzza007/CustomOperatorSamples
SOP parameters:
- Mode (Regularized, General)
- Use optimal Alpha
- Manual Alpha value
- Skip Interior points
TODO: improve performance?
TODO: fix normals. Currently there is no way to have per face normals, and to have vertex normals - i have to duplicate vertexes for each face. You can use FacetSOP (unique points - ON, compute normals - ON,ON) to get proper normals.