VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCompressCompositer.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 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 vtkTypeMacro(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&); // Not implemented 00074 void operator=(const vtkCompressCompositer&); // Not implemented 00075 }; 00076 00077 #endif