VTK
9.1.0
|
A subgroup of processes from a communicator. More...
#include <vtkProcessGroup.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkProcessGroup * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
void | SetCommunicator (vtkCommunicator *communicator) |
Set the communicator. More... | |
int | GetProcessId (int pos) |
Given a position in the group, returns the id of the process in the communicator this group is based on. More... | |
int | GetLocalProcessId () |
Get the process id for the local process (as defined by the group's communicator). More... | |
int | FindProcessId (int processId) |
Given a process id in the communicator, this method returns its location in the group or -1 if it is not in the group. More... | |
int | AddProcessId (int processId) |
Add a process id to the end of the group (if it is not already in the group). More... | |
int | RemoveProcessId (int processId) |
Remove the given process id from the group (assuming it is in the group). More... | |
void | RemoveAllProcessIds () |
Removes all the processes ids from the group, leaving the group empty. More... | |
void | Copy (vtkProcessGroup *group) |
Copies the given group's communicator and process ids. More... | |
void | Initialize (vtkMultiProcessController *controller) |
Initialize the group to the given controller or communicator. More... | |
void | Initialize (vtkCommunicator *communicator) |
Initialize the group to the given controller or communicator. More... | |
virtual vtkCommunicator * | GetCommunicator () |
Get the communicator on which this group is based on. More... | |
virtual int | GetNumberOfProcessIds () |
Returns the size of this group (the number of processes defined in it). More... | |
![]() | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkProcessGroup * | SafeDownCast (vtkObjectBase *o) |
static vtkProcessGroup * | New () |
![]() | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More... | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkProcessGroup () | |
~vtkProcessGroup () override | |
![]() | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
int * | ProcessIds |
int | NumberOfProcessIds |
vtkCommunicator * | Communicator |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Additional Inherited Members | |
![]() | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
A subgroup of processes from a communicator.
This class is used for creating groups of processes. A vtkProcessGroup is initialized by passing the controller or communicator on which the group is based off of. You can then use the group to subset and reorder the processes. Eventually, you can pass the group object to the CreateSubController method of vtkMultiProcessController to create a controller for the defined group of processes. You must use the same controller (or attached communicator) from which this group was initialized with.
Definition at line 54 of file vtkProcessGroup.h.
typedef vtkObject vtkProcessGroup::Superclass |
Definition at line 57 of file vtkProcessGroup.h.
|
protected |
|
overrideprotected |
|
static |
|
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 vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObjectBase.
|
static |
|
protectedvirtual |
vtkProcessGroup * vtkProcessGroup::NewInstance | ( | ) | const |
|
static |
|
overridevirtual |
void vtkProcessGroup::Initialize | ( | vtkMultiProcessController * | controller | ) |
Initialize the group to the given controller or communicator.
The group will be set to contain all of the processes in the controller/communicator in the same order.
void vtkProcessGroup::Initialize | ( | vtkCommunicator * | communicator | ) |
Initialize the group to the given controller or communicator.
The group will be set to contain all of the processes in the controller/communicator in the same order.
|
virtual |
Get the communicator on which this group is based on.
void vtkProcessGroup::SetCommunicator | ( | vtkCommunicator * | communicator | ) |
Set the communicator.
This has the same effect as Initialize except that the contents of the group will not be modified (although they may be truncated if the new communicator is smaller than the current group). Note that this can lead to an invalid group if there are values in the group that are not valid in the new communicator.
|
virtual |
Returns the size of this group (the number of processes defined in it).
|
inline |
Given a position in the group, returns the id of the process in the communicator this group is based on.
For example, if this group contains {6, 2, 8, 1}, then GetProcessId(2) will return 8 and GetProcessId(3) will return 1.
Definition at line 100 of file vtkProcessGroup.h.
int vtkProcessGroup::GetLocalProcessId | ( | ) |
Get the process id for the local process (as defined by the group's communicator).
Returns -1 if the local process is not in the group.
int vtkProcessGroup::FindProcessId | ( | int | processId | ) |
Given a process id in the communicator, this method returns its location in the group or -1 if it is not in the group.
For example, if this group contains {6, 2, 8, 1}, then FindProcessId(2) will return 1 and FindProcessId(3) will return -1.
int vtkProcessGroup::AddProcessId | ( | int | processId | ) |
Add a process id to the end of the group (if it is not already in the group).
Returns the location where the id was stored.
int vtkProcessGroup::RemoveProcessId | ( | int | processId | ) |
Remove the given process id from the group (assuming it is in the group).
All ids to the "right" of the removed id are shifted over. Returns 1 if the process id was removed, 0 if the process id was not in the group in the first place.
void vtkProcessGroup::RemoveAllProcessIds | ( | ) |
Removes all the processes ids from the group, leaving the group empty.
void vtkProcessGroup::Copy | ( | vtkProcessGroup * | group | ) |
Copies the given group's communicator and process ids.
|
protected |
Definition at line 144 of file vtkProcessGroup.h.
|
protected |
Definition at line 145 of file vtkProcessGroup.h.
|
protected |
Definition at line 147 of file vtkProcessGroup.h.