00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkZLibDataCompressor_h
00026 #define __vtkZLibDataCompressor_h
00027
00028 #include "vtkDataCompressor.h"
00029
00030 class VTK_IO_EXPORT vtkZLibDataCompressor : public vtkDataCompressor
00031 {
00032 public:
00033 vtkTypeMacro(vtkZLibDataCompressor,vtkDataCompressor);
00034 void PrintSelf(ostream& os, vtkIndent indent);
00035 static vtkZLibDataCompressor* New();
00036
00041 unsigned long GetMaximumCompressionSpace(unsigned long size);
00042
00044
00045 vtkSetClampMacro(CompressionLevel, int, 0, 9);
00046 vtkGetMacro(CompressionLevel, int);
00048
00049 protected:
00050 vtkZLibDataCompressor();
00051 ~vtkZLibDataCompressor();
00052
00053 int CompressionLevel;
00054
00055
00056 unsigned long CompressBuffer(const unsigned char* uncompressedData,
00057 unsigned long uncompressedSize,
00058 unsigned char* compressedData,
00059 unsigned long compressionSpace);
00060
00061 unsigned long UncompressBuffer(const unsigned char* compressedData,
00062 unsigned long compressedSize,
00063 unsigned char* uncompressedData,
00064 unsigned long uncompressedSize);
00065 private:
00066 vtkZLibDataCompressor(const vtkZLibDataCompressor&);
00067 void operator=(const vtkZLibDataCompressor&);
00068 };
00069
00070 #endif