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 "vtkRenderingParallelModule.h" // For export macro 00032 #include "vtkObject.h" 00033 00034 class vtkMultiProcessController; 00035 class vtkCompositer; 00036 class vtkDataArray; 00037 class vtkFloatArray; 00038 class vtkUnsignedCharArray; 00039 00040 class VTKRENDERINGPARALLEL_EXPORT vtkCompositer : public vtkObject 00041 { 00042 public: 00043 static vtkCompositer *New(); 00044 vtkTypeMacro(vtkCompositer,vtkObject); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00048 00050 virtual void CompositeBuffer(vtkDataArray *pBuf, vtkFloatArray *zBuf, 00051 vtkDataArray *pTmp, vtkFloatArray *zTmp); 00053 00055 00056 virtual void SetController(vtkMultiProcessController*); 00057 vtkGetObjectMacro(Controller,vtkMultiProcessController); 00059 00061 00062 vtkSetMacro(NumberOfProcesses, int); 00063 vtkGetMacro(NumberOfProcesses, int); 00065 00067 00068 static void DeleteArray(vtkDataArray* da); 00069 static void ResizeFloatArray(vtkFloatArray* fa, int numComp, 00070 vtkIdType size); 00071 static void ResizeUnsignedCharArray(vtkUnsignedCharArray* uca, 00072 int numComp, vtkIdType size); 00074 00075 protected: 00076 vtkCompositer(); 00077 ~vtkCompositer(); 00078 00079 vtkMultiProcessController *Controller; 00080 int NumberOfProcesses; 00081 00082 private: 00083 vtkCompositer(const vtkCompositer&); // Not implemented 00084 void operator=(const vtkCompositer&); // Not implemented 00085 }; 00086 00087 #endif