dox/Parallel/vtkOutputPort.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00044 #ifndef __vtkOutputPort_h
00045 #define __vtkOutputPort_h
00046
00047 #include "vtkProcessObject.h"
00048
00049 class vtkMultiProcessController;
00050
00051 class VTK_PARALLEL_EXPORT vtkOutputPort : public vtkProcessObject
00052 {
00053 public:
00054 static vtkOutputPort *New();
00055 vtkTypeRevisionMacro(vtkOutputPort,vtkProcessObject);
00056 void PrintSelf(ostream& os, vtkIndent indent);
00057
00059
00060 void SetInput(vtkDataObject *input);
00061 vtkDataObject *GetInput();
00063
00065
00069 void SetTag(int tag);
00070 vtkGetMacro(Tag, int);
00072
00080 void WaitForUpdate();
00081
00083
00084 vtkGetObjectMacro(Controller, vtkMultiProcessController);
00085 virtual void SetController(vtkMultiProcessController*);
00087
00089
00091 void TriggerUpdateInformation(int remoteProcessId);
00092 void TriggerUpdate(int remoteProcessId);
00094
00096
00097 vtkSetMacro(PipelineFlag, int);
00098 vtkGetMacro(PipelineFlag, int);
00099 vtkBooleanMacro(PipelineFlag, int);
00101
00105 void SetParameterMethod(void (*f)(void *), void *arg);
00106
00108 void SetParameterMethodArgDelete(void (*f)(void *));
00109
00110 protected:
00111 vtkOutputPort();
00112 ~vtkOutputPort();
00113
00114 int Tag;
00115
00116 vtkMultiProcessController *Controller;
00117 vtkTimeStamp UpdateTime;
00118
00119
00120 int PipelineFlag;
00121 void (*ParameterMethod)(void *);
00122 void (*ParameterMethodArgDelete)(void *);
00123 void *ParameterMethodArg;
00124 private:
00125 vtkOutputPort(const vtkOutputPort&);
00126 void operator=(const vtkOutputPort&);
00127 };
00128
00129 #endif
00130
00131