libigl / libigl-python-bindings

libigl python bindings
https://libigl.github.io/libigl-python-bindings/
GNU General Public License v3.0
317 stars 62 forks source link

where is tetrahedralize function in conda? #209

Closed erleben closed 1 year ago

erleben commented 4 years ago

Describe your question

I am using ibigl with conda and I want to use the tetrahedralize function:

V, T, _ = igl.tetrahedralize(V, F, str(options))

However, I keep getting this error message:

AttributeError: module 'igl' has no attribute 'tetrahedralize'

Suggesting that the function does not exist in the python-conda version of libigl. Anaconda tells me I am using version 0.4.1 which seems to be the most recent version.

Is there a way to fix this?

Check all that apply (change to [x])

danielepanozzo commented 4 years ago

Tetrahedralize in libigl uses TetGen, which has a viral license. We had to remove it from the python package to avoid having the entire package released under GPL license. I suggest to either use some other python tetgen wrapper (https://pypi.org/project/pytetgen/) or wildmeshing if you do not need a mesh conforming exactly to the input (https://wildmeshing.github.io/python/).

ghost commented 3 years ago

Hi @danielepanozzo,

I am facing a similar problem. I would like to use the function

igl.copyleft.swept_volume(V, F, transform, time_steps, grid_size, isolevel, SV, SF)

As the functions in copyleft are removed from the python package I tried to "compile from scratch" by modifying "CMakeLists.txt"

option(PY_IGL_COPYLEFT "Builds Copyleft" ON)

and running

python setup.py install

however ran into different problems. Is there a way to build a python binding which includes the functions in "copyleft", especially swept_volume()? Thank you!

Check all that apply: [x] Windows

danielepanozzo commented 3 years ago

We are currently not planning to write or support python bindings for any of the functions in copyleft. I think @alecjacobson and @qnzhou are working on a non copyleft version of the boolean package, that will allow us to remove the copyleft tagging from most of the functions in there and in particular to swept volume. Not sure what is the ETA for that though.

alecjacobson commented 3 years ago

swept volume just needs marching cubes (not booleans). it could be moved to the main library if we switched it to use the marching tets.

ghost commented 3 years ago

Thank you for the quick answers and the support!

It would be great if it would be available in the main library. Do you can estimate when the moving could be done?