vtkDataCompressor.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00034 #ifndef __vtkDataCompressor_h
00035 #define __vtkDataCompressor_h
00036
00037 #include "vtkObject.h"
00038
00039 class vtkUnsignedCharArray;
00040
00041 class VTK_IO_EXPORT vtkDataCompressor : public vtkObject
00042 {
00043 public:
00044 vtkTypeRevisionMacro(vtkDataCompressor,vtkObject);
00045 void PrintSelf(ostream& os, vtkIndent indent);
00046
00051 virtual unsigned long GetMaximumCompressionSpace(unsigned long size)=0;
00052
00054
00057 unsigned long Compress(const unsigned char* uncompressedData,
00058 unsigned long uncompressedSize,
00059 unsigned char* compressedData,
00060 unsigned long compressionSpace);
00062
00064
00067 unsigned long Uncompress(const unsigned char* compressedData,
00068 unsigned long compressedSize,
00069 unsigned char* uncompressedData,
00070 unsigned long uncompressedSize);
00072
00074
00076 vtkUnsignedCharArray* Compress(const unsigned char* uncompressedData,
00077 unsigned long uncompressedSize);
00079
00081
00085 vtkUnsignedCharArray* Uncompress(const unsigned char* compressedData,
00086 unsigned long compressedSize,
00087 unsigned long uncompressedSize);
00089 protected:
00090 vtkDataCompressor();
00091 ~vtkDataCompressor();
00092
00093
00094
00095 virtual unsigned long CompressBuffer(const unsigned char* uncompressedData,
00096 unsigned long uncompressedSize,
00097 unsigned char* compressedData,
00098 unsigned long compressionSpace)=0;
00099
00100
00101 virtual unsigned long UncompressBuffer(const unsigned char* compressedData,
00102 unsigned long compressedSize,
00103 unsigned char* uncompressedData,
00104 unsigned long uncompressedSize)=0;
00105 private:
00106 vtkDataCompressor(const vtkDataCompressor&);
00107 void operator=(const vtkDataCompressor&);
00108 };
00109
00110 #endif