Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Parallel/vtkInputPort.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00053 #ifndef __vtkInputPort_h
00054 #define __vtkInputPort_h
00055
00056 #include "vtkSource.h"
00057
00058 class vtkPolyData;
00059 class vtkUnstructuredGrid;
00060 class vtkStructuredGrid;
00061 class vtkRectilinearGrid;
00062 class vtkStructuredPoints;
00063 class vtkImageData;
00064 class vtkMultiProcessController;
00065
00066 class VTK_PARALLEL_EXPORT vtkInputPort : public vtkSource
00067 {
00068 public:
00069 static vtkInputPort *New();
00070 vtkTypeRevisionMacro(vtkInputPort,vtkSource);
00071 void PrintSelf(ostream& os, vtkIndent indent);
00072
00074
00078 vtkPolyData *GetPolyDataOutput();
00079 vtkUnstructuredGrid *GetUnstructuredGridOutput();
00080 vtkStructuredGrid *GetStructuredGridOutput();
00081 vtkRectilinearGrid *GetRectilinearGridOutput();
00082 vtkStructuredPoints *GetStructuredPointsOutput();
00083 vtkImageData *GetImageDataOutput();
00085
00087
00090 vtkSetMacro(RemoteProcessId, int);
00091 vtkGetMacro(RemoteProcessId, int);
00092 vtkSetMacro(Tag, int);
00093 vtkGetMacro(Tag, int);
00095
00097 void UpdateInformation();
00098
00100 void PropagateUpdateExtent(vtkDataObject *vtkNotUsed(output)) {};
00101
00103 void UpdateData( vtkDataObject *out );
00104
00106 void TriggerAsynchronousUpdate();
00107
00109
00111 vtkMultiProcessController *GetController() {return this->Controller;}
00112 virtual void SetController(vtkMultiProcessController*);
00114
00116
00121 vtkSetMacro(DoUpdateInformation, int);
00122 vtkGetMacro(DoUpdateInformation, int);
00124
00125
00126
00127
00128 enum Tags {
00129 DOWN_DATA_TIME_TAG = 98970,
00130 UPDATE_EXTENT_TAG = 98971,
00131 TRANSFER_NEEDED_TAG = 98972,
00132 INFORMATION_TRANSFER_TAG = 98973,
00133 DATA_TRANSFER_TAG = 98974,
00134 NEW_DATA_TIME_TAG = 98975
00135 };
00136
00137
00138
00139 protected:
00140 vtkInputPort();
00141 ~vtkInputPort();
00142
00143 vtkMultiProcessController *Controller;
00144 int RemoteProcessId;
00145 int Tag;
00146
00147 unsigned long DataTime;
00148 unsigned long UpStreamMTime;
00149 int TransferNeeded;
00150 int DoUpdateInformation;
00151 private:
00152 vtkInputPort(const vtkInputPort&);
00153 void operator=(const vtkInputPort&);
00154 };
00155
00156 #endif
00157
00158