EnSight Gold Reader rewrite
First MR for the rewrite for EnSight Gold Reader (also including SOS files). Addresses paraview/paraview#20746 (closed)
With the exception of being able to run in parallel (that will be coming in a future MR), this reader should have all of the functionality of the old reader, as well as supporting some things that the old reader did not. Notable differences between this reader and the old reader:
- No complicated class hierarchy. Hopefully this will be easier to maintain and figure out where problems are.
- There is an internal class,
EnSightFile
that handles all file operations and will handle ASCII, C binary, and Fortran binary. That makes it so theEnSightDataSet
internal class doesn't have to care about what type of file is being read and can just focus on handling the logic around the different types of data (there are some rare cases where the way ASCII and binary are formatted in inconsistent ways, but for the most partEnSightDataSet
doesn't need to care about file type). - You can select which parts to load. By default, it will load all parts, but similar to loading selected arrays, you can load selected parts.
- Static geometry is cached.
- The output is a
vtkPartitionedDataSetCollection
instead ofvtkMultiBlockDataSet
I've also gone through EnSight Gold reader issues for both VTK and ParaView (issues that were fixed and in some cases, issues that have not been fixed in the old reader) and the following issues should be working correctly in this reader:
- #18156 (closed)
- #18607
- #19198 (closed)
- paraview/paraview#17409
- paraview/paraview#19438
- paraview/paraview#21350
- paraview/paraview#21605
- paraview/paraview#22366 (closed)
- paraview/paraview#22461 (closed)
Note: while digging into the old readers to see how parallel support is implemented, I realized that the parallel versions of the readers are only in ParaView. So all recent fixes to the old reader that @cory.quammen or I have done are only in the serial version of the reader.