dox/Parallel/vtkCommunicator.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00034
#ifndef __vtkCommunicator_h
00035
#define __vtkCommunicator_h
00036
00037
#include "vtkObject.h"
00038
00039
class vtkDataSet;
00040
class vtkImageData;
00041
class vtkDataObject;
00042
class vtkDataArray;
00043
00044 class VTK_PARALLEL_EXPORT vtkCommunicator :
public vtkObject
00045 {
00046
00047
public:
00048
00049 vtkTypeRevisionMacro(vtkCommunicator,
vtkObject);
00050
void PrintSelf(ostream& os,
vtkIndent indent);
00051
00054
virtual int Send(
vtkDataObject* data,
int remoteHandle,
int tag);
00055
00058
virtual int Send(
vtkDataArray* data,
int remoteHandle,
int tag);
00059
00061
00062
virtual int Send(
int* data,
int length,
int remoteHandle,
int tag) = 0;
00063
virtual int Send(
unsigned long* data,
int length,
int remoteHandle,
00064
int tag) = 0;
00065
virtual int Send(
unsigned char* data,
int length,
int remoteHandle,
00066
int tag) = 0;
00067
virtual int Send(
char* data,
int length,
int remoteHandle,
00068
int tag) = 0;
00069
virtual int Send(
float* data,
int length,
int remoteHandle,
00070
int tag) = 0;
00071
virtual int Send(
double* data,
int length,
int remoteHandle,
00072
int tag) = 0;
00073
#ifdef VTK_USE_64BIT_IDS
00074
virtual int Send(
vtkIdType* data,
int length,
int remoteHandle,
00075
int tag) = 0;
00077
#endif
00078
00079
00082
virtual int Receive(
vtkDataObject* data,
int remoteHandle,
int tag);
00083
00086
virtual int Receive(
vtkDataArray* data,
int remoteHandle,
int tag);
00087
00089
00091
virtual int Receive(
int* data,
int length,
int remoteHandle,
00092
int tag) = 0;
00093
virtual int Receive(
unsigned long* data,
int length,
int remoteHandle,
00094
int tag) = 0;
00095
virtual int Receive(
unsigned char* data,
int length,
int remoteHandle,
00096
int tag) = 0;
00097
virtual int Receive(
char* data,
int length,
int remoteHandle,
00098
int tag) = 0;
00099
virtual int Receive(
float* data,
int length,
int remoteHandle,
00100
int tag) = 0;
00101
virtual int Receive(
double* data,
int length,
int remoteHandle,
00102
int tag) = 0;
00103
#ifdef VTK_USE_64BIT_IDS
00104
virtual int Receive(
vtkIdType* data,
int length,
int remoteHandle,
00105
int tag) = 0;
00107
#endif
00108
00109
static void SetUseCopy(
int useCopy);
00110
00111
protected:
00112
00113
void DeleteAndSetMarshalString(
char *str,
int strLength);
00114
00115
00116
00117
int WriteObject(
vtkDataObject *object);
00118
int ReadObject(
vtkDataObject *object);
00119
00120
int WriteDataSet(
vtkDataSet *object);
00121
int ReadDataSet(
vtkDataSet *object);
00122
00123
int WriteImageData(
vtkImageData *object);
00124
int ReadImageData(
vtkImageData *object);
00125
00126
int WriteDataArray(
vtkDataArray *object);
00127
int ReadDataArray(
vtkDataArray *object);
00128
00129 vtkCommunicator();
00130 ~vtkCommunicator();
00131
00132 char *MarshalString;
00133 int MarshalStringLength;
00134
00135 int MarshalDataLength;
00136
00137 static int UseCopy;
00138
00139
private:
00140 vtkCommunicator(
const vtkCommunicator&);
00141
void operator=(
const vtkCommunicator&);
00142 };
00143
00144
#endif // __vtkCommunicator_h
00145
00146