26 #ifndef vtkMPIMoveData_h 27 #define vtkMPIMoveData_h 29 #include "vtkPVClientServerCoreRenderingModule.h" 30 #include "vtkPassInputTypeAlgorithm.h" 32 class vtkMultiProcessController;
33 class vtkSocketController;
38 class VTKPVCLIENTSERVERCORERENDERING_EXPORT
vtkMPIMoveData :
public vtkPassInputTypeAlgorithm
43 void PrintSelf(ostream& os, vtkIndent indent);
49 virtual void InitializeForCommunicationForParaView();
66 void SetController(vtkMultiProcessController* controller);
68 void SetClientDataServerSocketController(vtkMultiProcessController*);
69 vtkGetObjectMacro(ClientDataServerSocketController, vtkMultiProcessController);
81 vtkGetMacro(Server,
int);
102 vtkSetMacro(OutputDataType,
int);
103 vtkGetMacro(OutputDataType,
int);
112 static void SetUseZLibCompression(
bool b);
113 static bool GetUseZLibCompression();
122 bool GetOutputGeneratedOnProcess();
130 vtkSetMacro(SkipDataServerGatherToZero,
bool);
131 vtkGetMacro(SkipDataServerGatherToZero,
bool);
139 COLLECT_AND_PASS_THROUGH = 3
146 virtual int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
147 vtkInformationVector* outputVector);
148 virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
149 vtkInformationVector* outputVector);
150 virtual int FillInputPortInformation(
int port, vtkInformation* info);
156 void DataServerAllToN(vtkDataObject* inData, vtkDataObject* outData,
int n);
157 void DataServerGatherAll(vtkDataObject* input, vtkDataObject* output);
158 void DataServerGatherToZero(vtkDataObject* input, vtkDataObject* output);
159 void DataServerSendToRenderServer(vtkDataObject* output);
160 void RenderServerReceiveFromDataServer(vtkDataObject* output);
161 void DataServerZeroSendToRenderServerZero(vtkDataObject* data);
162 void RenderServerZeroReceiveFromDataServerZero(vtkDataObject* data);
163 void RenderServerZeroBroadcast(vtkDataObject* data);
164 void DataServerSendToClient(vtkDataObject* output);
165 void ClientReceiveFromDataServer(vtkDataObject* output);
174 void MarshalDataToBuffer(vtkDataObject* data);
175 void ReconstructDataFromBuffer(vtkDataObject* data);
192 int UpdateNumberOfPieces;
198 static
bool UseZLibCompression;
vtkIdType * BufferOffsets
void SetMoveModeToCollect()
vtkMultiProcessController * ClientDataServerSocketController
vtkMPIMToNSocketConnection * MPIMToNSocketConnection
bool SkipDataServerGatherToZero
vtkIdType * BufferLengths
void SetServerToDataServer()
Tell the object on which client/server it resides.
vtkIdType BufferTotalLength
class to create socket connections between two servers
vtkMultiProcessController * Controller
Moves/redistributes data between processes.
void SetServerToClient()
Tell the object on which client/server it resides.
void SetServerToRenderServer()
Tell the object on which client/server it resides.
void SetMoveModeToClone()
void SetMoveModeToPassThrough()
Specify how the data is to be redistributed.