00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkTransmitRectilinearGridPiece_h
00029 #define __vtkTransmitRectilinearGridPiece_h
00030
00031 #include "vtkRectilinearGridAlgorithm.h"
00032
00033 class vtkMultiProcessController;
00034
00035 class VTK_PARALLEL_EXPORT vtkTransmitRectilinearGridPiece : public vtkRectilinearGridAlgorithm
00036 {
00037 public:
00038 static vtkTransmitRectilinearGridPiece *New();
00039 vtkTypeMacro(vtkTransmitRectilinearGridPiece, vtkRectilinearGridAlgorithm);
00040 void PrintSelf(ostream& os, vtkIndent indent);
00041
00043
00045 virtual void SetController(vtkMultiProcessController*);
00046 vtkGetObjectMacro(Controller, vtkMultiProcessController);
00048
00050
00051 vtkSetMacro(CreateGhostCells, int);
00052 vtkGetMacro(CreateGhostCells, int);
00053 vtkBooleanMacro(CreateGhostCells, int);
00055
00056 protected:
00057 vtkTransmitRectilinearGridPiece();
00058 ~vtkTransmitRectilinearGridPiece();
00059
00060
00061 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00062 void RootExecute(vtkRectilinearGrid *input, vtkRectilinearGrid *output,
00063 vtkInformation *outInfo);
00064 void SatelliteExecute(int procId, vtkRectilinearGrid *output,
00065 vtkInformation *outInfo);
00066 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00067 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00068
00069 int CreateGhostCells;
00070 vtkMultiProcessController *Controller;
00071
00072 private:
00073 vtkTransmitRectilinearGridPiece(const vtkTransmitRectilinearGridPiece&);
00074 void operator=(const vtkTransmitRectilinearGridPiece&);
00075 };
00076
00077 #endif