VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCompositer.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 =========================================================================*/ 00028 #ifndef __vtkCompositer_h 00029 #define __vtkCompositer_h 00030 00031 #include "vtkObject.h" 00032 00033 class vtkMultiProcessController; 00034 class vtkCompositer; 00035 class vtkDataArray; 00036 class vtkFloatArray; 00037 class vtkUnsignedCharArray; 00038 00039 class VTK_PARALLEL_EXPORT vtkCompositer : public vtkObject 00040 { 00041 public: 00042 static vtkCompositer *New(); 00043 vtkTypeMacro(vtkCompositer,vtkObject); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00047 00049 virtual void CompositeBuffer(vtkDataArray *pBuf, vtkFloatArray *zBuf, 00050 vtkDataArray *pTmp, vtkFloatArray *zTmp); 00052 00054 00055 virtual void SetController(vtkMultiProcessController*); 00056 vtkGetObjectMacro(Controller,vtkMultiProcessController); 00058 00060 00061 vtkSetMacro(NumberOfProcesses, int); 00062 vtkGetMacro(NumberOfProcesses, int); 00064 00066 00067 static void DeleteArray(vtkDataArray* da); 00068 static void ResizeFloatArray(vtkFloatArray* fa, int numComp, 00069 vtkIdType size); 00070 static void ResizeUnsignedCharArray(vtkUnsignedCharArray* uca, 00071 int numComp, vtkIdType size); 00073 00074 protected: 00075 vtkCompositer(); 00076 ~vtkCompositer(); 00077 00078 vtkMultiProcessController *Controller; 00079 int NumberOfProcesses; 00080 00081 private: 00082 vtkCompositer(const vtkCompositer&); // Not implemented 00083 void operator=(const vtkCompositer&); // Not implemented 00084 }; 00085 00086 #endif