25 #ifndef vtkDataCompressor_h
26 #define vtkDataCompressor_h
28 #include "vtkIOCoreModule.h"
31 VTK_ABI_NAMESPACE_BEGIN
46 virtual size_t GetMaximumCompressionSpace(
size_t size) = 0;
54 size_t Compress(
unsigned char const* uncompressedData,
size_t uncompressedSize,
55 unsigned char* compressedData,
size_t compressionSpace);
63 size_t Uncompress(
unsigned char const* compressedData,
size_t compressedSize,
64 unsigned char* uncompressedData,
size_t uncompressedSize);
80 unsigned char const* compressedData,
size_t compressedSize,
size_t uncompressedSize);
88 virtual void SetCompressionLevel(
int compressionLevel) = 0;
89 virtual int GetCompressionLevel() = 0;
97 virtual size_t CompressBuffer(
unsigned char const* uncompressedData,
size_t uncompressedSize,
98 unsigned char* compressedData,
size_t compressionSpace) = 0;
101 virtual size_t UncompressBuffer(
unsigned char const* compressedData,
size_t compressedSize,
102 unsigned char* uncompressedData,
size_t uncompressedSize) = 0;
109 VTK_ABI_NAMESPACE_END
abstract base class for most VTK objects
Abstract interface for data compression classes.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
dynamic, self-adjusting array of unsigned char