#include <vtkDataCompressor.h>
vtkDataCompressor provides a universal interface for data compression. Subclasses provide one compression method and one decompression method. The public interface to all compressors remains the same, and is defined by this class.
Definition at line 31 of file vtkDataCompressor.h.
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual unsigned long | GetMaximumCompressionSpace (unsigned long size)=0 |
unsigned long | Compress (const unsigned char *uncompressedData, unsigned long uncompressedSize, unsigned char *compressedData, unsigned long compressionSpace) |
unsigned long | Uncompress (const unsigned char *compressedData, unsigned long compressedSize, unsigned char *uncompressedData, unsigned long uncompressedSize) |
vtkUnsignedCharArray * | Compress (const unsigned char *uncompressedData, unsigned long uncompressedSize) |
vtkUnsignedCharArray * | Uncompress (const unsigned char *compressedData, unsigned long compressedSize, unsigned long uncompressedSize) |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkDataCompressor * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkDataCompressor () | |
~vtkDataCompressor () | |
virtual unsigned long | CompressBuffer (const unsigned char *uncompressedData, unsigned long uncompressedSize, unsigned char *compressedData, unsigned long compressionSpace)=0 |
virtual unsigned long | UncompressBuffer (const unsigned char *compressedData, unsigned long compressedSize, unsigned char *uncompressedData, unsigned long uncompressedSize)=0 |
Reimplemented from vtkObject.
Reimplemented in vtkZLibDataCompressor.
Definition at line 34 of file vtkDataCompressor.h.
vtkDataCompressor::vtkDataCompressor | ( | ) | [protected] |
vtkDataCompressor::~vtkDataCompressor | ( | ) | [protected] |
virtual const char* vtkDataCompressor::GetClassName | ( | ) | [virtual] |
static int vtkDataCompressor::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkZLibDataCompressor.
virtual int vtkDataCompressor::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkZLibDataCompressor.
static vtkDataCompressor* vtkDataCompressor::SafeDownCast | ( | vtkObject * | o | ) | [static] |
void vtkDataCompressor::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject.
Reimplemented in vtkZLibDataCompressor.
virtual unsigned long vtkDataCompressor::GetMaximumCompressionSpace | ( | unsigned long | size | ) | [pure virtual] |
Get the maximum space that may be needed to store data of the given uncompressed size after compression. This is the minimum size of the output buffer that can be passed to the four-argument Compress method.
Implemented in vtkZLibDataCompressor.
unsigned long vtkDataCompressor::Compress | ( | const unsigned char * | uncompressedData, | |
unsigned long | uncompressedSize, | |||
unsigned char * | compressedData, | |||
unsigned long | compressionSpace | |||
) |
Compress the given input data buffer into the given output buffer. The size of the output buffer must be at least as large as the value given by GetMaximumCompressionSpace for the given input size.
unsigned long vtkDataCompressor::Uncompress | ( | const unsigned char * | compressedData, | |
unsigned long | compressedSize, | |||
unsigned char * | uncompressedData, | |||
unsigned long | uncompressedSize | |||
) |
Uncompress the given input data into the given output buffer. The size of the uncompressed data must be known by the caller. It should be transmitted from the compressor by a means outside of this class.
vtkUnsignedCharArray* vtkDataCompressor::Compress | ( | const unsigned char * | uncompressedData, | |
unsigned long | uncompressedSize | |||
) |
Compress the given data. A vtkUnsignedCharArray containing the compressed data is returned with a reference count of 1.
vtkUnsignedCharArray* vtkDataCompressor::Uncompress | ( | const unsigned char * | compressedData, | |
unsigned long | compressedSize, | |||
unsigned long | uncompressedSize | |||
) |
Uncompress the given data. A vtkUnsignedCharArray containing the compressed data is returned with a reference count of 1. The size of the uncompressed data must be known by the caller. It should be transmitted from the compressor by a means outside of this class.
virtual unsigned long vtkDataCompressor::CompressBuffer | ( | const unsigned char * | uncompressedData, | |
unsigned long | uncompressedSize, | |||
unsigned char * | compressedData, | |||
unsigned long | compressionSpace | |||
) | [protected, pure virtual] |
Implemented in vtkZLibDataCompressor.
virtual unsigned long vtkDataCompressor::UncompressBuffer | ( | const unsigned char * | compressedData, | |
unsigned long | compressedSize, | |||
unsigned char * | uncompressedData, | |||
unsigned long | uncompressedSize | |||
) | [protected, pure virtual] |
Implemented in vtkZLibDataCompressor.