Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
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
00038 #ifndef __vtkDataCompressor_h
00039 #define __vtkDataCompressor_h
00040
00041 #include "vtkObject.h"
00042
00043 class vtkUnsignedCharArray;
00044
00045 class VTK_IO_EXPORT vtkDataCompressor : public vtkObject
00046 {
00047 public:
00048 vtkTypeRevisionMacro(vtkDataCompressor,vtkObject);
00049 void PrintSelf(ostream& os, vtkIndent indent);
00050
00055 virtual unsigned long GetMaximumCompressionSpace(unsigned long size)=0;
00056
00058
00061 unsigned long Compress(const unsigned char* uncompressedData,
00062 unsigned long uncompressedSize,
00063 unsigned char* compressedData,
00064 unsigned long compressionSpace);
00066
00068
00071 unsigned long Uncompress(const unsigned char* compressedData,
00072 unsigned long compressedSize,
00073 unsigned char* uncompressedData,
00074 unsigned long uncompressedSize);
00076
00078
00080 vtkUnsignedCharArray* Compress(const unsigned char* uncompressedData,
00081 unsigned long uncompressedSize);
00083
00085
00089 vtkUnsignedCharArray* Uncompress(const unsigned char* compressedData,
00090 unsigned long compressedSize,
00091 unsigned long uncompressedSize);
00093 protected:
00094 vtkDataCompressor();
00095 ~vtkDataCompressor();
00096
00097
00098
00099 virtual unsigned long CompressBuffer(const unsigned char* uncompressedData,
00100 unsigned long uncompressedSize,
00101 unsigned char* compressedData,
00102 unsigned long compressionSpace)=0;
00103
00104
00105 virtual unsigned long UncompressBuffer(const unsigned char* compressedData,
00106 unsigned long compressedSize,
00107 unsigned char* uncompressedData,
00108 unsigned long uncompressedSize)=0;
00109 private:
00110 vtkDataCompressor(const vtkDataCompressor&);
00111 void operator=(const vtkDataCompressor&);
00112 };
00113
00114 #endif