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
00055 #ifndef __vtkOutputPort_h
00056 #define __vtkOutputPort_h
00057
00058 #include "vtkProcessObject.h"
00059
00060 class vtkMultiProcessController;
00061
00062 class VTK_PARALLEL_EXPORT vtkOutputPort : public vtkProcessObject
00063 {
00064 public:
00065 static vtkOutputPort *New();
00066 vtkTypeRevisionMacro(vtkOutputPort,vtkProcessObject);
00067 void PrintSelf(ostream& os, vtkIndent indent);
00068
00070
00071 void SetInput(vtkDataObject *input);
00072 vtkDataObject *GetInput();
00074
00076
00080 void SetTag(int tag);
00081 vtkGetMacro(Tag, int);
00083
00091 void WaitForUpdate();
00092
00094
00095 vtkGetObjectMacro(Controller, vtkMultiProcessController);
00096 virtual void SetController(vtkMultiProcessController*);
00098
00100
00102 void TriggerUpdateInformation(int remoteProcessId);
00103 void TriggerUpdate(int remoteProcessId);
00105
00107
00108 vtkSetMacro(PipelineFlag, int);
00109 vtkGetMacro(PipelineFlag, int);
00110 vtkBooleanMacro(PipelineFlag, int);
00112
00116 void SetParameterMethod(void (*f)(void *), void *arg);
00117
00119 void SetParameterMethodArgDelete(void (*f)(void *));
00120
00121 protected:
00122 vtkOutputPort();
00123 ~vtkOutputPort();
00124
00125 int Tag;
00126
00127 vtkMultiProcessController *Controller;
00128 vtkTimeStamp UpdateTime;
00129
00130
00131 int PipelineFlag;
00132 void (*ParameterMethod)(void *);
00133 void (*ParameterMethodArgDelete)(void *);
00134 void *ParameterMethodArg;
00135 private:
00136 vtkOutputPort(const vtkOutputPort&);
00137 void operator=(const vtkOutputPort&);
00138 };
00139
00140 #endif
00141
00142