vtkOutputPort.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00052 #ifndef __vtkOutputPort_h
00053 #define __vtkOutputPort_h
00054
00055 #include "vtkProcessObject.h"
00056
00057 class vtkMultiProcessController;
00058
00059 class VTK_PARALLEL_EXPORT vtkOutputPort : public vtkProcessObject
00060 {
00061 public:
00062 static vtkOutputPort *New();
00063 vtkTypeRevisionMacro(vtkOutputPort,vtkProcessObject);
00064 void PrintSelf(ostream& os, vtkIndent indent);
00065
00067
00068 void SetInput(vtkDataObject *input);
00069 vtkDataObject *GetInput();
00071
00073
00077 void SetTag(int tag);
00078 vtkGetMacro(Tag, int);
00080
00088 void WaitForUpdate();
00089
00091
00092 vtkGetObjectMacro(Controller, vtkMultiProcessController);
00093 virtual void SetController(vtkMultiProcessController*);
00095
00097
00099 void TriggerUpdateInformation(int remoteProcessId);
00100 void TriggerUpdate(int remoteProcessId);
00102
00104
00105 vtkSetMacro(PipelineFlag, int);
00106 vtkGetMacro(PipelineFlag, int);
00107 vtkBooleanMacro(PipelineFlag, int);
00109
00113 void SetParameterMethod(void (*f)(void *), void *arg);
00114
00116 void SetParameterMethodArgDelete(void (*f)(void *));
00117
00118 protected:
00119 vtkOutputPort();
00120 ~vtkOutputPort();
00121
00122 int Tag;
00123
00124 virtual int FillInputPortInformation(int, vtkInformation*);
00125
00126 vtkMultiProcessController *Controller;
00127 vtkTimeStamp UpdateTime;
00128
00129
00130 int PipelineFlag;
00131 void (*ParameterMethod)(void *);
00132 void (*ParameterMethodArgDelete)(void *);
00133 void *ParameterMethodArg;
00134 private:
00135 vtkOutputPort(const vtkOutputPort&);
00136 void operator=(const vtkOutputPort&);
00137 };
00138
00139 #endif
00140
00141