00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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 vtkTypeRevisionMacro(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&);
00083 void operator=(const vtkCompositer&);
00084 };
00085
00086 #endif