00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00029 #ifndef __vtkCompressCompositer_h
00030 #define __vtkCompressCompositer_h
00031
00032 #include "vtkCompositer.h"
00033
00034 class vtkTimerLog;
00035 class vtkDataArray;
00036 class vtkFloatArray;
00037
00038 class VTK_PARALLEL_EXPORT vtkCompressCompositer : public vtkCompositer
00039 {
00040 public:
00041 static vtkCompressCompositer *New();
00042 vtkTypeRevisionMacro(vtkCompressCompositer,vtkCompositer);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00045 virtual void CompositeBuffer(vtkDataArray *pBuf, vtkFloatArray *zBuf,
00046 vtkDataArray *pTmp, vtkFloatArray *zTmp);
00047
00049
00051 static void Compress(vtkFloatArray *zIn, vtkDataArray *pIn,
00052 vtkFloatArray *zOut, vtkDataArray *pOut);
00054
00055 static void Uncompress(vtkFloatArray *zIn, vtkDataArray *pIn,
00056 vtkFloatArray *zOut, vtkDataArray *pOut,
00057 int finalLength);
00058
00059 static void CompositeImagePair(vtkFloatArray *localZ, vtkDataArray *localP,
00060 vtkFloatArray *remoteZ, vtkDataArray *remoteP,
00061 vtkFloatArray *outZ, vtkDataArray *outP);
00062 protected:
00063 vtkCompressCompositer();
00064 ~vtkCompressCompositer();
00065
00066
00067 vtkDataArray *InternalPData;
00068 vtkFloatArray *InternalZData;
00069
00070 vtkTimerLog *Timer;
00071
00072 private:
00073 vtkCompressCompositer(const vtkCompressCompositer&);
00074 void operator=(const vtkCompressCompositer&);
00075 };
00076
00077 #endif