OpenFOAMReader precision hardcoded to 32-bit

Hey guys,

I noticed that the OpenFOAM reader in VTK always reads mesh and field data as 32-bit.
I had a look at the vtkOpenFOAMReader.cxx file and it appears to that the conversion to 32-bit is hardcoded. Fields (ScalarListPtrs, VectorListPtrs) and point coordinates (pointArray) are always cast to vtkFloatArray regardless of the precision of the OpenFOAM results.

I am guessing this is semi-intentional and works fine for small/medium cases, but it becomes a genuine problem for larger data sets where the numerical truncation results into certain filters behaving unexpectedly and yielding low quality results. Moreover, this pours over to the Python VTK wheels, pyvista and ParaView.

Would you consider adding full support for 64-bit or is this out of the question?

FYI In OpenFOAM precision is usually controlled by the writePrecision variable in controlDict. Not sure if it would be just simpler to replace floats with doubles (although this would break backwards compatibility).