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 "vtkRenderingParallelModule.h" // For export macro 00033 #include "vtkCompositer.h" 00034 00035 class vtkTimerLog; 00036 class vtkDataArray; 00037 class vtkFloatArray; 00038 00039 class VTKRENDERINGPARALLEL_EXPORT vtkCompressCompositer : public vtkCompositer 00040 { 00041 public: 00042 static vtkCompressCompositer *New(); 00043 vtkTypeMacro(vtkCompressCompositer,vtkCompositer); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00046 virtual void CompositeBuffer(vtkDataArray *pBuf, vtkFloatArray *zBuf, 00047 vtkDataArray *pTmp, vtkFloatArray *zTmp); 00048 00050 00052 static void Compress(vtkFloatArray *zIn, vtkDataArray *pIn, 00053 vtkFloatArray *zOut, vtkDataArray *pOut); 00055 00056 static void Uncompress(vtkFloatArray *zIn, vtkDataArray *pIn, 00057 vtkFloatArray *zOut, vtkDataArray *pOut, 00058 int finalLength); 00059 00060 static void CompositeImagePair(vtkFloatArray *localZ, vtkDataArray *localP, 00061 vtkFloatArray *remoteZ, vtkDataArray *remoteP, 00062 vtkFloatArray *outZ, vtkDataArray *outP); 00063 protected: 00064 vtkCompressCompositer(); 00065 ~vtkCompressCompositer(); 00066 00067 00068 vtkDataArray *InternalPData; 00069 vtkFloatArray *InternalZData; 00070 00071 vtkTimerLog *Timer; 00072 00073 private: 00074 vtkCompressCompositer(const vtkCompressCompositer&); // Not implemented 00075 void operator=(const vtkCompressCompositer&); // Not implemented 00076 }; 00077 00078 #endif