VTK
vtkMPIGroup.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMPIGroup.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
25 #ifndef __vtkMPIGroup_h
26 #define __vtkMPIGroup_h
27 
28 #include "vtkObject.h"
29 
30 class vtkMPIController;
31 class vtkMPICommunicator;
32 class vtkProcessGroup;
33 
34 #ifndef VTK_REMOVE_LEGACY_CODE
36 {
37 
38 public:
39 
40  vtkTypeMacro( vtkMPIGroup,vtkObject);
41 
44  static vtkMPIGroup* New();
45 
46  VTK_LEGACY(virtual void PrintSelf(ostream& os, vtkIndent indent));
47 
50  VTK_LEGACY(void Initialize(vtkMPIController* controller));
51 
55  VTK_LEGACY(int AddProcessId(int processId));
56 
59  VTK_LEGACY(void RemoveProcessId(int processId));
60 
63  VTK_LEGACY(int FindProcessId(int processId));
64 
67  VTK_LEGACY(int GetProcessId(int pos));
68 
71  VTK_LEGACY(void CopyProcessIdsFrom(vtkMPIGroup* group));
72 
73 //BTX
75 
76  VTK_LEGACY(int GetNumberOfProcessIds());
77 //ETX
79 
82  void CopyInto(vtkProcessGroup *destination, vtkMPICommunicator *mpiComm);
83 
84 //BTX
85 
86  friend class vtkMPICommunicator;
87 
88 //ETX
89 
90 protected:
91 
94  void CopyFrom(vtkMPIGroup* group);
95 
97  void Initialize(int numProcIds);
98 
99  int* ProcessIds;
103 
104  vtkMPIGroup();
105  ~vtkMPIGroup();
106 
107 private:
108  vtkMPIGroup(const vtkMPIGroup&); // Not implemented.
109  void operator=(const vtkMPIGroup&); // Not implemented.
110 };
111 #endif
112 
113 #endif
114 
115 
116 
117 
DEPRECATED.
Definition: vtkMPIGroup.h:35
abstract base class for most VTK objects
Definition: vtkObject.h:60
Class for creating user defined MPI communicators.
int CurrentPosition
Definition: vtkMPIGroup.h:102
void CopyFrom(vtkMPICommunicator *source)
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
Definition: vtkIndent.h:37
int Initialize(vtkProcessGroup *group)
A subgroup of processes from a communicator.
Process communication using MPI.
int * ProcessIds
Definition: vtkMPIGroup.h:99
#define VTK_PARALLEL_EXPORT
int MaximumNumberOfProcessIds
Definition: vtkMPIGroup.h:100
static vtkObject * New()