dox/Parallel/vtkMPIGroup.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00035
#ifndef __vtkMPIGroup_h
00036
#define __vtkMPIGroup_h
00037
00038
#include "vtkObject.h"
00039
00040
class vtkMPIController;
00041
class vtkMPICommunicator;
00042
00043 class VTK_PARALLEL_EXPORT vtkMPIGroup :
public vtkObject
00044 {
00045
00046
public:
00047
00048 vtkTypeRevisionMacro( vtkMPIGroup,
vtkObject);
00049
00052
static vtkMPIGroup*
New();
00053
00054
virtual void PrintSelf(ostream& os,
vtkIndent indent);
00055
00058
void Initialize(
vtkMPIController* controller);
00059
00063
int AddProcessId(
int processId);
00064
00067
void RemoveProcessId(
int processId);
00068
00071
int FindProcessId(
int processId);
00072
00075
int GetProcessId(
int pos);
00076
00079
void CopyProcessIdsFrom(vtkMPIGroup* group);
00080
00082
00083 int GetNumberOfProcessIds()
00084 {
00085
return this->CurrentPosition;
00086 }
00088
00089
00090
00091
friend class vtkMPICommunicator;
00092
00093
00094
00095
protected:
00096
00099
void CopyFrom(vtkMPIGroup* group);
00100
00102
void Initialize(
int numProcIds);
00103
00104 int* ProcessIds;
00105 int MaximumNumberOfProcessIds;
00106 int Initialized;
00107 int CurrentPosition;
00108
00109 vtkMPIGroup();
00110 ~vtkMPIGroup();
00111
00112
private:
00113 vtkMPIGroup(
const vtkMPIGroup&);
00114
void operator=(
const vtkMPIGroup&);
00115 };
00116
00117
#endif
00118
00119
00120
00121