Elevation Filter does not gets loaded in SimpleParaview Example

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…

1 Like

Confirmed not working on windows, here is the issue:

https://gitlab.kitware.com/paraview/paraview/-/issues/22159

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();