I am getting a list of files by modules in the VTK source and I note that vtkFilterPolicy.h occurs in both Accelerators\Vtkm\DataModeland Accelerators\Vtkm\Core. The files only differ in line 20.
Out of 2997 headers this is the only anomaly I have found.
I had assumed that the VTK header file names were unique. Is this an exception or just an oversight?
This script WhatModulesVTK.py uses the VTK source files, not the build, hence the modules.json file is not used. The reason is that it is used to build all the thousand or so CMakeLists.txt files that are used on the vtk-examples web site including examples that use modules not necessarily built by the user who is building the web site. So far no user of the examples has indicated any issues so I am reasonably confident it is producing a useable result.
WhatModulesVTK.py in the VTK source doesn´t work for Python3 and I have just finished an upgrade of WhatModulesVTK.py in vtk-examples that now uses pathlib.
Woud it be worthwhile upgrading the existing version in the VTK source with the working version from the vtk-examples source? I was considering a MR.
In practice it will be unlikley anyone would use the private headers so I don´t really see it as an issue.
Ideally, these examples wouldn’t need so much churn (i.e., VTK should stop moving classes around in incompatible ways). But while that’s still happening, updating it seems fine to me (it’s an in-repo-only tool anyways).