Hi, I am trying to run SimpleParaview example. But Elevation Filter (custom filter) does not gets loaded in the application. I am running this on Windows.
I ran it on Mac and it was working there.
Hi, I am trying to run SimpleParaview example. But Elevation Filter (custom filter) does not gets loaded in the application. I am running this on Windows.
I ran it on Mac and it was working there.
Does it fail to load? Are there any error messages on the console?
It does not give any error, it just does not show up in the filters menu
Does the plugin dialog show the proper information and that it’s loaded?
The SimpleParaview example does not have the plugin menu or tools menu, I can check after adding that
You can try using the --plugins=
and --plugin-search-paths=
arguments to force it.
I wasn’t sure where to run --plugins and --plugin-search-paths and what should I put them equal to, so I added the tools menu, there is only vtkPVinitializer plugin in there. So, I am guessing the plugin is missing
The ElevationFilter was generated at this location:
C:\Users\msaad\SimpleParaView\build\bin\SimpleParaView\SimpleParaViewCustomFilters\Release\SimpleParaViewCustomFilters.dll
And I was able to load it from plugin manager.
But It was not loaded automatically in the gui, so what could be missing (I literally just cloned the SimpleParaview and ran it, so not sure why it’s not being loaded in the gui automatically)
But the plugin automatically gets added to the filters on Mac when I run SimpleParaview example, so I was expecting the same on Windows
Oh. Odd. Finding out what mechanism that is using and why it doesn’t work on Windows would probably be the thing to investigate. I don’t have the time right now though…
Confirmed not working on windows, here is the issue:
This is the temporary solution I came up with:
I added this in my myMainWindow
char path[MAX_PATH];
GetModuleFileName(NULL, path, MAX_PATH);
std::filesystem::path exe_path(path);
std::filesystem::path exe_dir = exe_path.parent_path(); // gets /Release
std::filesystem::path bin_dir = exe_dir.parent_path(); // moves up one level to /bin
std::string dll_path = (bin_dir /"Path_To_Your_CustomFilters.dll").string();
vtkPVPluginLoader* loader = vtkPVPluginLoader::New();
loader->LoadPlugin(dll_path.c_str());
loader->Delete();