32#ifndef vtkProcessGroup_h
33#define vtkProcessGroup_h
36#include "vtkParallelCoreModule.h"
38VTK_ABI_NAMESPACE_BEGIN
79 vtkGetMacro(NumberOfProcessIds,
int);
Used to send/receive messages in a multiprocess environment.
a simple class to control print indentation
Multiprocessing communication superclass.
abstract base class for most VTK objects
A subgroup of processes from a communicator.
int GetProcessId(int pos)
Given a position in the group, returns the id of the process in the communicator this group is based ...
~vtkProcessGroup() override
int FindProcessId(int processId)
Given a process id in the communicator, this method returns its location in the group or -1 if it is ...
int AddProcessId(int processId)
Add a process id to the end of the group (if it is not already in the group).
static vtkProcessGroup * New()
void Initialize(vtkCommunicator *communicator)
Initialize the group to the given controller or communicator.
void SetCommunicator(vtkCommunicator *communicator)
Set the communicator.
vtkCommunicator * Communicator
void RemoveAllProcessIds()
Removes all the processes ids from the group, leaving the group empty.
void Initialize(vtkMultiProcessController *controller)
Initialize the group to the given controller or communicator.
int GetLocalProcessId()
Get the process id for the local process (as defined by the group's communicator).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Copy(vtkProcessGroup *group)
Copies the given group's communicator and process ids.
int RemoveProcessId(int processId)
Remove the given process id from the group (assuming it is in the group).