00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00033 #ifndef __vtkPVDuplicatePolyData_h
00034 #define __vtkPVDuplicatePolyData_h
00035
00036 #include "vtkPolyDataToPolyDataFilter.h"
00037 class vtkSocketController;
00038 class vtkMultiProcessController;
00039 class vtkTiledDisplaySchedule;
00040
00041 class VTK_EXPORT vtkPVDuplicatePolyData : public vtkPolyDataToPolyDataFilter
00042 {
00043 public:
00044 static vtkPVDuplicatePolyData *New();
00045 vtkTypeRevisionMacro(vtkPVDuplicatePolyData, vtkPolyDataToPolyDataFilter);
00046 void PrintSelf(ostream& os, vtkIndent indent);
00047
00049
00051 virtual void SetController(vtkMultiProcessController*);
00052 vtkGetObjectMacro(Controller, vtkMultiProcessController);
00054
00055 void InitializeSchedule(int numTiles);
00056
00058
00062 vtkSocketController *GetSocketController() {return this->SocketController;}
00063 void SetSocketController (vtkSocketController *controller);
00064 vtkSetMacro(ClientFlag,int);
00065 vtkGetMacro(ClientFlag,int);
00067
00069
00072 vtkSetMacro(PassThrough,int);
00073 vtkGetMacro(PassThrough,int);
00074 vtkBooleanMacro(PassThrough,int);
00076
00078
00080 vtkSetMacro(ZeroEmpty,int);
00081 vtkGetMacro(ZeroEmpty,int);
00082 vtkBooleanMacro(ZeroEmpty,int);
00084
00085 protected:
00086 vtkPVDuplicatePolyData();
00087 ~vtkPVDuplicatePolyData();
00088
00089
00090 void ComputeInputUpdateExtents(vtkDataObject *output);
00091 void Execute();
00092 void ClientExecute(vtkMultiProcessController* controller);
00093 void ExecuteInformation();
00094
00095 vtkMultiProcessController *Controller;
00096 vtkTiledDisplaySchedule* Schedule;
00097
00098
00099 vtkSocketController *SocketController;
00100 int ClientFlag;
00101
00102 int PassThrough;
00103 int ZeroEmpty;
00104
00105 private:
00106 vtkPVDuplicatePolyData(const vtkPVDuplicatePolyData&);
00107 void operator=(const vtkPVDuplicatePolyData&);
00108 };
00109
00110 #endif
00111