Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

IO/vtkZLibDataCompressor.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkZLibDataCompressor.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00029 #ifndef __vtkZLibDataCompressor_h
00030 #define __vtkZLibDataCompressor_h
00031 
00032 #include "vtkDataCompressor.h"
00033 
00034 class VTK_IO_EXPORT vtkZLibDataCompressor : public vtkDataCompressor
00035 {
00036 public:
00037   vtkTypeRevisionMacro(vtkZLibDataCompressor,vtkDataCompressor);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039   static vtkZLibDataCompressor* New();  
00040   
00045   unsigned long GetMaximumCompressionSpace(unsigned long size);
00046   
00047 protected:
00048   vtkZLibDataCompressor();
00049   ~vtkZLibDataCompressor();
00050   
00051   // Compression method required by vtkDataCompressor.
00052   unsigned long CompressBuffer(const unsigned char* uncompressedData,
00053                                unsigned long uncompressedSize,
00054                                unsigned char* compressedData,
00055                                unsigned long compressionSpace);
00056   // Decompression method required by vtkDataCompressor.
00057   unsigned long UncompressBuffer(const unsigned char* compressedData,
00058                                  unsigned long compressedSize,
00059                                  unsigned char* uncompressedData,
00060                                  unsigned long uncompressedSize);
00061 private:
00062   vtkZLibDataCompressor(const vtkZLibDataCompressor&);  // Not implemented.
00063   void operator=(const vtkZLibDataCompressor&);  // Not implemented.
00064 };
00065 
00066 #endif