dox/IO/vtkDataCompressor.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00028 #ifndef __vtkDataCompressor_h
00029 #define __vtkDataCompressor_h
00030
00031 #include "vtkObject.h"
00032
00033 class vtkUnsignedCharArray;
00034
00035 class VTK_IO_EXPORT vtkDataCompressor : public vtkObject
00036 {
00037 public:
00038 vtkTypeRevisionMacro(vtkDataCompressor,vtkObject);
00039 void PrintSelf(ostream& os, vtkIndent indent);
00040
00045 virtual unsigned long GetMaximumCompressionSpace(unsigned long size)=0;
00046
00048
00051 unsigned long Compress(const unsigned char* uncompressedData,
00052 unsigned long uncompressedSize,
00053 unsigned char* compressedData,
00054 unsigned long compressionSpace);
00056
00058
00061 unsigned long Uncompress(const unsigned char* compressedData,
00062 unsigned long compressedSize,
00063 unsigned char* uncompressedData,
00064 unsigned long uncompressedSize);
00066
00068
00070 vtkUnsignedCharArray* Compress(const unsigned char* uncompressedData,
00071 unsigned long uncompressedSize);
00073
00075
00079 vtkUnsignedCharArray* Uncompress(const unsigned char* compressedData,
00080 unsigned long compressedSize,
00081 unsigned long uncompressedSize);
00083 protected:
00084 vtkDataCompressor();
00085 ~vtkDataCompressor();
00086
00087
00088
00089 virtual unsigned long CompressBuffer(const unsigned char* uncompressedData,
00090 unsigned long uncompressedSize,
00091 unsigned char* compressedData,
00092 unsigned long compressionSpace)=0;
00093
00094
00095 virtual unsigned long UncompressBuffer(const unsigned char* compressedData,
00096 unsigned long compressedSize,
00097 unsigned char* uncompressedData,
00098 unsigned long uncompressedSize)=0;
00099 private:
00100 vtkDataCompressor(const vtkDataCompressor&);
00101 void operator=(const vtkDataCompressor&);
00102 };
00103
00104 #endif