Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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 =========================================================================*/
00039 #ifndef __vtkZLibDataCompressor_h
00040 #define __vtkZLibDataCompressor_h
00041 
00042 #include "vtkDataCompressor.h"
00043 
00044 class VTK_IO_EXPORT vtkZLibDataCompressor : public vtkDataCompressor
00045 {
00046 public:
00047   vtkTypeRevisionMacro(vtkZLibDataCompressor,vtkDataCompressor);
00048   void PrintSelf(ostream& os, vtkIndent indent);
00049   static vtkZLibDataCompressor* New();  
00050   
00055   unsigned long GetMaximumCompressionSpace(unsigned long size);
00056   
00057 protected:
00058   vtkZLibDataCompressor();
00059   ~vtkZLibDataCompressor();
00060   
00061   // Compression method required by vtkDataCompressor.
00062   unsigned long CompressBuffer(const unsigned char* uncompressedData,
00063                                unsigned long uncompressedSize,
00064                                unsigned char* compressedData,
00065                                unsigned long compressionSpace);
00066   // Decompression method required by vtkDataCompressor.
00067   unsigned long UncompressBuffer(const unsigned char* compressedData,
00068                                  unsigned long compressedSize,
00069                                  unsigned char* uncompressedData,
00070                                  unsigned long uncompressedSize);
00071 private:
00072   vtkZLibDataCompressor(const vtkZLibDataCompressor&);  // Not implemented.
00073   void operator=(const vtkZLibDataCompressor&);  // Not implemented.
00074 };
00075 
00076 #endif