XML-based VTK files can use one of three compression algorithms for data arrays (LZ4, ZLib, LZMA), and PNG writing can use only ZLib. We should support zlib compression for png and vtu file output. Hopefully Paraview can read compressed files - I recall it failing to read any file with "appended" data.
Since zlib is relatively small, we should consider copying a header-only, compliant-licensed library into our repository. Consider zstr, miniz, or gzip-hpp.
Also, since Vtk output needs not only an encoding library but a compression library, maybe we should make it it's own cpp file (to generate a .o file), and not as a pure header - this will save compilation time.
The png compression was added by pull request #39. The VTU compression is tricky and will be put on the back-burner for now. The current attempts are stored on the compression branch.
XML-based VTK files can use one of three compression algorithms for data arrays (LZ4, ZLib, LZMA), and PNG writing can use only ZLib. We should support zlib compression for png and vtu file output. Hopefully Paraview can read compressed files - I recall it failing to read any file with "appended" data.
Since zlib is relatively small, we should consider copying a header-only, compliant-licensed library into our repository. Consider zstr, miniz, or gzip-hpp.
Also, since Vtk output needs not only an encoding library but a compression library, maybe we should make it it's own cpp file (to generate a .o file), and not as a pure header - this will save compilation time.