Question: Building a standalone executable
I'm trying to build the ACVD executable, like you can on the original repo. This is probably not a goal of this repo, but it would be nice to have. I don't know how heavily it has been modified and if I should try to make this work or just use the original repo instead.
I tried to add_subdirectory(examples) but it doesn't work. I fixed some trivial include location errors and got the following compiler errors, so it seems like there have been some breaking changes.
acvd/DiscreteRemeshing/examples/ACVD.cxx:119:11: error: ‘class vtkSurface’ has no member named ‘CreateFromFile’
119 | Mesh->CreateFromFile(argv[1]);
| ^~~~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:158:21: error: ‘class vtkIsotropicDiscreteRemeshing’ has no member named ‘SetOutputDirectory’
158 | Remesh->SetOutputDirectory(value);
| ^~~~~~~~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:175:21: error: ‘class vtkIsotropicDiscreteRemeshing’ has no member named ‘SetWriteToGlobalEnergyLog’
175 | Remesh->SetWriteToGlobalEnergyLog(atoi(value));
| ^~~~~~~~~~~~~~~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:186:21: error: ‘class vtkIsotropicDiscreteRemeshing’ has no member named ‘SetInputDensityFile’
186 | Remesh->SetInputDensityFile(value);
| ^~~~~~~~~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:207:21: error: ‘class vtkIsotropicDiscreteRemeshing’ has no member named ‘SetMinNumberOfSpareClusters’; did you mean ‘SetNumberOfClusters’?
207 | Remesh->SetMinNumberOfSpareClusters(atoi(value));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| SetNumberOfClusters
acvd/DiscreteRemeshing/examples/ACVD.cxx:212:21: error: ‘class vtkIsotropicDiscreteRemeshing’ has no member named ‘SetSpareFactor’
212 | Remesh->SetSpareFactor(atof(value));
| ^~~~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:222:5: error: ‘RenderWindow’ was not declared in this scope
222 | RenderWindow* Window = 0;
| ^~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:222:19: error: ‘Window’ was not declared in this scope
222 | RenderWindow* Window = 0;
| ^~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:224:18: error: ‘RenderWindow’ is not a class, namespace, or enumeration
224 | Window = RenderWindow::New();
| ^~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:229:17: error: ‘class vtkIsotropicDiscreteRemeshing’ has no member named ‘SetAnchorRenderWindow’
229 | Remesh->SetAnchorRenderWindow(Window);
| ^~~~~~~~~~~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:237:13: error: ‘class vtkIsotropicDiscreteRemeshing’ has no member named ‘SetFileLoadSaveOption’
237 | Remesh->SetFileLoadSaveOption(0);
| ^~~~~~~~~~~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:242:13: error: ‘class vtkIsotropicDiscreteRemeshing’ has no member named ‘SetDisplay’
242 | Remesh->SetDisplay(Display);
| ^~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:261:30: error: ‘class vtkSurface’ has no member named ‘WriteToFile’
261 | Remesh->GetOutput()->WriteToFile(REALFILE);
| ^~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:316:27: error: ‘OptimizedMeshWindow’ was not declared in this scope
316 | RenderWindow* OptimizedMeshWindow = RenderWindow::New();
| ^~~~~~~~~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:316:49: error: ‘RenderWindow’ is not a class, namespace, or enumeration
316 | RenderWindow* OptimizedMeshWindow = RenderWindow::New();
| ^~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:318:25: error: ‘class vtkIsotropicDiscreteRemeshing’ has no member named ‘GetDisplayWindow’
318 | Remesh->GetDisplayWindow());
| ^~~~~~~~~~~~~~~~
acvd/DiscreteRemeshing/examples/ACVD.cxx:336:26: error: ‘class vtkSurface’ has no member named ‘WriteToFile’
336 | Remesh->GetOutput()->WriteToFile(REALFILE);
| ^~~~~~~~~~~
make[2]: *** [DiscreteRemeshing/examples/CMakeFiles/ACVD.dir/build.make:76: DiscreteRemeshing/examples/CMakeFiles/ACVD.dir/ACVD.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:177: DiscreteRemeshing/examples/CMakeFiles/ACVD.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
I guess I could look at how VC uses this package and write my own code using this. In that case, how do I build against this? I need to "install" this before I can setup another cmake project that uses find_package(ACVD) to find it? The example subdirectory wasn't automatically picking up the include dirs, don't know if that's because of a cmake or vtk version change or what...
Thank you