Parallel/vtkInputPort.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00039 #ifndef __vtkInputPort_h
00040 #define __vtkInputPort_h
00041
00042 #include "vtkSource.h"
00043
00044 class vtkPolyData;
00045 class vtkUnstructuredGrid;
00046 class vtkStructuredGrid;
00047 class vtkRectilinearGrid;
00048 class vtkStructuredPoints;
00049 class vtkImageData;
00050 class vtkMultiProcessController;
00051
00052 class VTK_PARALLEL_EXPORT vtkInputPort : public vtkSource
00053 {
00054 public:
00055 static vtkInputPort *New();
00056 vtkTypeRevisionMacro(vtkInputPort,vtkSource);
00057 void PrintSelf(ostream& os, vtkIndent indent);
00058
00060
00064 vtkPolyData *GetPolyDataOutput();
00065 vtkUnstructuredGrid *GetUnstructuredGridOutput();
00066 vtkStructuredGrid *GetStructuredGridOutput();
00067 vtkRectilinearGrid *GetRectilinearGridOutput();
00068 vtkStructuredPoints *GetStructuredPointsOutput();
00069 vtkImageData *GetImageDataOutput();
00071
00073
00076 vtkSetMacro(RemoteProcessId, int);
00077 vtkGetMacro(RemoteProcessId, int);
00078 vtkSetMacro(Tag, int);
00079 vtkGetMacro(Tag, int);
00081
00083 void UpdateInformation();
00084
00086 void PropagateUpdateExtent(vtkDataObject *vtkNotUsed(output)) {};
00087
00089 void UpdateData( vtkDataObject *out );
00090
00092 void TriggerAsynchronousUpdate();
00093
00095
00097 vtkMultiProcessController *GetController() {return this->Controller;}
00098 virtual void SetController(vtkMultiProcessController*);
00100
00102
00107 vtkSetMacro(DoUpdateInformation, int);
00108 vtkGetMacro(DoUpdateInformation, int);
00110
00111
00112
00113
00114 enum Tags {
00115 DOWN_DATA_TIME_TAG = 98970,
00116 UPDATE_EXTENT_TAG = 98971,
00117 TRANSFER_NEEDED_TAG = 98972,
00118 INFORMATION_TRANSFER_TAG = 98973,
00119 DATA_TRANSFER_TAG = 98974,
00120 NEW_DATA_TIME_TAG = 98975
00121 };
00122
00123
00124
00125 protected:
00126 vtkInputPort();
00127 ~vtkInputPort();
00128
00129 vtkMultiProcessController *Controller;
00130 int RemoteProcessId;
00131 int Tag;
00132
00133 unsigned long DataTime;
00134 unsigned long UpStreamMTime;
00135 int TransferNeeded;
00136 int DoUpdateInformation;
00137 private:
00138 vtkInputPort(const vtkInputPort&);
00139 void operator=(const vtkInputPort&);
00140 };
00141
00142 #endif
00143
00144