gudhi-devel icon indicating copy to clipboard operation
gudhi-devel copied to clipboard

Alpha_complex_3d vertex order

Open mglisse opened this issue 4 years ago • 2 comments

In Alpha_complex, we go out of our way to make sure that vertex i (if it exists) corresponds to the i-th input point. However, for Alpha_complex_3d, it looks like the points are directly passed to CGAL, which reorders them. We have get_point to find the point corresponding to a vertex. I think it would be nice if the 3D code could be made to have the same naming guarantee as the dD one, if that doesn't have too much impact (on speed and on the amount of code to write). The reordering complicates some uses significantly, especially since #355.

mglisse avatar Nov 01 '20 22:11 mglisse

Does the effort worth it ? If I understood well, dD alpha complex with CGAL >= 5.2 and Eigen >= 3.3.5 will be faster than alpha complex specific 3d version. This may deprecate the specific 3d version.

VincentRouvreau avatar Nov 05 '20 08:11 VincentRouvreau

I don't know for sure that it is faster, one would need to benchmark it (and there is always a chance the 3d version might become faster again in the future). Reverting the change to AlphaComplex would indeed fix the immediate issue. Note that the wrapping code wouldn't completely disappear though, we will still need a python wrapper to periodic (weighted or not) 3d alpha-shapes, in one form or another, and nice indexing would probably be useful for that one as well.

mglisse avatar Nov 05 '20 09:11 mglisse