#include <vtkMPIGroup.h>
Inheritance diagram for vtkMPIGroup:
This class is used to create MPI groups. A vtkMPIGroup object has to be initialized by passing the controller. Then the group can be modified by adding, removing ids and copying the contents of another group.
Definition at line 39 of file vtkMPIGroup.h.
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
void | Initialize (vtkMPIController *controller) |
int | AddProcessId (int processId) |
void | RemoveProcessId (int processId) |
int | FindProcessId (int processId) |
int | GetProcessId (int pos) |
void | CopyProcessIdsFrom (vtkMPIGroup *group) |
int | GetNumberOfProcessIds () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkMPIGroup * | SafeDownCast (vtkObject *o) |
static vtkMPIGroup * | New () |
Protected Member Functions | |
void | CopyFrom (vtkMPIGroup *group) |
void | Initialize (int numProcIds) |
vtkMPIGroup () | |
~vtkMPIGroup () | |
Protected Attributes | |
int * | ProcessIds |
int | MaximumNumberOfProcessIds |
int | Initialized |
int | CurrentPosition |
Friends | |
class | vtkMPICommunicator |
typedef vtkObject vtkMPIGroup::Superclass |
vtkMPIGroup::vtkMPIGroup | ( | ) | [protected] |
vtkMPIGroup::~vtkMPIGroup | ( | ) | [protected] |
virtual const char* vtkMPIGroup::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkObject.
static int vtkMPIGroup::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
virtual int vtkMPIGroup::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
static vtkMPIGroup* vtkMPIGroup::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkObject.
static vtkMPIGroup* vtkMPIGroup::New | ( | ) | [static] |
Construct a vtkMPIGroup with the following initial state: Processes = 0, MaximumNumberOfProcesses = 0.
Reimplemented from vtkObject.
virtual void vtkMPIGroup::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
void vtkMPIGroup::Initialize | ( | vtkMPIController * | controller | ) |
Allocate memory for N process ids where N = controller->NumberOfProcesses
int vtkMPIGroup::AddProcessId | ( | int | processId | ) |
Add a process id to the end of the list (if it is not already in the group). Returns non-zero on success. This will not add a process id >= MaximumNumberOfProcessIds.
void vtkMPIGroup::RemoveProcessId | ( | int | processId | ) |
Remove the given process id from the list and shift all ids, starting from the position of the removed id, left by one.
int vtkMPIGroup::FindProcessId | ( | int | processId | ) |
Find the location of a process id in the group. Returns -1 if the process id is not on the list.
int vtkMPIGroup::GetProcessId | ( | int | pos | ) |
Get the process id at position pos. Returns -1 if pos >= max. available pos.
void vtkMPIGroup::CopyProcessIdsFrom | ( | vtkMPIGroup * | group | ) |
Copy the process ids from a given group. This will copy N ids, where N is the smallest MaximumNumberOfProcessIds.
int vtkMPIGroup::GetNumberOfProcessIds | ( | ) | [inline] |
Returns the number of ids currently stored.
Definition at line 79 of file vtkMPIGroup.h.
void vtkMPIGroup::CopyFrom | ( | vtkMPIGroup * | group | ) | [protected] |
Copies all the information from group, erasing previously stored data. Similar to copy constructor
void vtkMPIGroup::Initialize | ( | int | numProcIds | ) | [protected] |
Allocate memory for numProcIds process ids
friend class vtkMPICommunicator [friend] |
Definition at line 87 of file vtkMPIGroup.h.
int* vtkMPIGroup::ProcessIds [protected] |
Definition at line 100 of file vtkMPIGroup.h.
int vtkMPIGroup::MaximumNumberOfProcessIds [protected] |
Definition at line 101 of file vtkMPIGroup.h.
int vtkMPIGroup::Initialized [protected] |
Definition at line 102 of file vtkMPIGroup.h.
int vtkMPIGroup::CurrentPosition [protected] |
Definition at line 103 of file vtkMPIGroup.h.