00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkTransmitPolyDataPiece_h
00025 #define __vtkTransmitPolyDataPiece_h
00026
00027 #include "vtkPolyDataAlgorithm.h"
00028
00029 class vtkMultiProcessController;
00030
00031 class VTK_PARALLEL_EXPORT vtkTransmitPolyDataPiece : public vtkPolyDataAlgorithm
00032 {
00033 public:
00034 static vtkTransmitPolyDataPiece *New();
00035 vtkTypeMacro(vtkTransmitPolyDataPiece, vtkPolyDataAlgorithm);
00036 void PrintSelf(ostream& os, vtkIndent indent);
00037
00039
00041 virtual void SetController(vtkMultiProcessController*);
00042 vtkGetObjectMacro(Controller, vtkMultiProcessController);
00044
00046
00047 vtkSetMacro(CreateGhostCells, int);
00048 vtkGetMacro(CreateGhostCells, int);
00049 vtkBooleanMacro(CreateGhostCells, int);
00051
00052 protected:
00053 vtkTransmitPolyDataPiece();
00054 ~vtkTransmitPolyDataPiece();
00055
00056
00057 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00058 void RootExecute(vtkPolyData *input, vtkPolyData *output, vtkInformation *outInfo);
00059 void SatelliteExecute(int procId, vtkPolyData *output, vtkInformation *outInfo);
00060 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00061 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00062
00063 int CreateGhostCells;
00064 vtkMultiProcessController *Controller;
00065
00066 private:
00067 vtkTransmitPolyDataPiece(const vtkTransmitPolyDataPiece&);
00068 void operator=(const vtkTransmitPolyDataPiece&);
00069 };
00070
00071 #endif