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
00015
00038
#ifndef __vtkCommunicator_h
00039
#define __vtkCommunicator_h
00040
00041
#include "vtkObject.h"
00042
00043
class vtkDataSet;
00044
class vtkImageData;
00045
class vtkDataObject;
00046
class vtkDataArray;
00047
00048 class VTK_PARALLEL_EXPORT vtkCommunicator :
public vtkObject
00049 {
00050
00051
public:
00052
00053 vtkTypeRevisionMacro(vtkCommunicator,
vtkObject);
00054
void PrintSelf(ostream& os,
vtkIndent indent);
00055
00058
virtual int Send(
vtkDataObject* data,
int remoteHandle,
int tag);
00059
00062
virtual int Send(
vtkDataArray* data,
int remoteHandle,
int tag);
00063
00065
00066
virtual int Send(
int* data,
int length,
int remoteHandle,
int tag) = 0;
00067
virtual int Send(
unsigned long* data,
int length,
int remoteHandle,
00068
int tag) = 0;
00069
virtual int Send(
unsigned char* data,
int length,
int remoteHandle,
00070
int tag) = 0;
00071
virtual int Send(
char* data,
int length,
int remoteHandle,
00072
int tag) = 0;
00073
virtual int Send(
float* data,
int length,
int remoteHandle,
00074
int tag) = 0;
00075
virtual int Send(
double* data,
int length,
int remoteHandle,
00076
int tag) = 0;
00077
#ifdef VTK_USE_64BIT_IDS
00078
virtual int Send(
vtkIdType* data,
int length,
int remoteHandle,
00079
int tag) = 0;
00081
#endif
00082
00083
00086
virtual int Receive(
vtkDataObject* data,
int remoteHandle,
int tag);
00087
00090
virtual int Receive(
vtkDataArray* data,
int remoteHandle,
int tag);
00091
00093
00095
virtual int Receive(
int* data,
int length,
int remoteHandle,
00096
int tag) = 0;
00097
virtual int Receive(
unsigned long* data,
int length,
int remoteHandle,
00098
int tag) = 0;
00099
virtual int Receive(
unsigned char* data,
int length,
int remoteHandle,
00100
int tag) = 0;
00101
virtual int Receive(
char* data,
int length,
int remoteHandle,
00102
int tag) = 0;
00103
virtual int Receive(
float* data,
int length,
int remoteHandle,
00104
int tag) = 0;
00105
virtual int Receive(
double* data,
int length,
int remoteHandle,
00106
int tag) = 0;
00107
#ifdef VTK_USE_64BIT_IDS
00108
virtual int Receive(
vtkIdType* data,
int length,
int remoteHandle,
00109
int tag) = 0;
00111
#endif
00112
00113
static void SetUseCopy(
int useCopy);
00114
00115
protected:
00116
00117
void DeleteAndSetMarshalString(
char *str,
int strLength);
00118
00119
00120
00121
int WriteObject(
vtkDataObject *object);
00122
int ReadObject(
vtkDataObject *object);
00123
00124
int WriteDataSet(
vtkDataSet *object);
00125
int ReadDataSet(
vtkDataSet *object);
00126
00127
int WriteImageData(
vtkImageData *object);
00128
int ReadImageData(
vtkImageData *object);
00129
00130
int WriteDataArray(
vtkDataArray *object);
00131
int ReadDataArray(
vtkDataArray *object);
00132
00133 vtkCommunicator();
00134 ~vtkCommunicator();
00135
00136 char *MarshalString;
00137 int MarshalStringLength;
00138
00139 int MarshalDataLength;
00140
00141 static int UseCopy;
00142
00143
private:
00144 vtkCommunicator(
const vtkCommunicator&);
00145
void operator=(
const vtkCommunicator&);
00146 };
00147
00148
#endif // __vtkCommunicator_h
00149
00150