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