valette / ACVD

Fast simplification of 3D surface meshes
https://www.creatis.insa-lyon.fr/~valette/public/project/acvd/
Other
266 stars 57 forks source link

WIP: updates with legacy removed and latest vtk master #30

Closed kurtsansom closed 3 years ago

kurtsansom commented 4 years ago

I want to create python bindings for ACVD but first I wanted to update ACVD to the latest VTK.

The goal is not to be backwards compatible, but I suppose that would be a nice to have.

Currently I was able to get it compiling with much finagling, and warnings. However whatever I did broke the functionality. Any suggestions/Code review as I sort this out would be greatly appreciated.

valette commented 4 years ago

Hi, thank you for this! Unfortunately, cmake fails on my machine with the proposed pull request:

[valette@desk ACVD]$ cmake .
CMake Error at /usr/lib64/cmake/vtk/vtkModuleAPI.cmake:143 (message):
  Requested modules not available:

    CommonCore
    CommonDataModel
    RenderingCore
    CommonSystem
    IOImport
    IOExport
    IOImage
    IOGeometry
    IOPLY
    FiltersSources
    InteractionStyle
    FiltersHybrid
    RenderingLabel
    IOMINC
    FiltersModeling
    FiltersGeneral
    metaio
    ImagingGeneral
Call Stack (most recent call first):
  /usr/lib64/cmake/vtk/VTKConfig.cmake:140 (vtk_module_config)
  CMakeLists.txt:34 (find_package)

which version of VTK are you aiming at?

kurtsansom commented 4 years ago

I am currently building against vtk master (which should be close enough to vtk 9.0) I think they are on release candidate 3. vtk 9.0

I added some to the cmake files so that it should be backwards compatible, but I haven't tested it on an older version yet. I added a Variable ACVD_VTK_VERSION to give cmake a hint on which packages to try and find.

Not sure if this is a good solution, but I think it should get you going.

valette commented 3 years ago

Hello, thank you for your efforts! I have created a branch for vtk9 /valette/ACVD/tree/vtk9 , which I aim to be fully retro-compatible in the future, but for now it is dedicated to vtk9. I wanted to keep the API mostly unchanged so I had to cook ly own vtkSurface::GetFaceVertices() methods. I did not pull our code, but if you can propose modifications to the vtk9 branch , it would be great (especially the CMake stuff, but on my box it compiles without modifications to the original code)

This is very fresh code, tested only on a few cases with ACVD, ACVDQ and AnisotropicRemeshingQ Thank you again, Sebastien

valette commented 3 years ago

Okay I've pushed my update to the master tree, should be fully working!