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