00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00045 #ifndef __vtkSubCommunicator_h
00046 #define __vtkSubCommunicator_h
00047
00048 #include "vtkCommunicator.h"
00049
00050 class vtkProcessGroup;
00051
00052 class VTK_PARALLEL_EXPORT vtkSubCommunicator : public vtkCommunicator
00053 {
00054 public:
00055 vtkTypeMacro(vtkSubCommunicator, vtkCommunicator);
00056 static vtkSubCommunicator *New();
00057 virtual void PrintSelf(ostream &os, vtkIndent indent);
00058
00060
00061 vtkGetObjectMacro(Group, vtkProcessGroup);
00062 virtual void SetGroup(vtkProcessGroup *group);
00064
00066
00067 virtual int SendVoidArray(const void *data, vtkIdType length, int type,
00068 int remoteHandle, int tag);
00069 virtual int ReceiveVoidArray(void *data, vtkIdType length, int type,
00070 int remoteHandle, int tag);
00072
00073 protected:
00074 vtkSubCommunicator();
00075 virtual ~vtkSubCommunicator();
00076
00077 vtkProcessGroup *Group;
00078
00079 private:
00080 vtkSubCommunicator(const vtkSubCommunicator &);
00081 void operator=(const vtkSubCommunicator &);
00082 };
00083
00084 #endif //__vtkSubCommunicator_h