VTK
vtkPPainterCommunicator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPPainterCommunicator.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 vtkPPainterCommunicator_h
26 #define vtkPPainterCommunicator_h
27 
28 #include "vtkPainterCommunicator.h"
29 #include "vtkRenderingParallelLICModule.h" // for export macro
30 
31 class vtkPPainterCommunicatorInternals;
32 class vtkMPICommunicatorOpaqueComm;
33 
34 class VTKRENDERINGPARALLELLIC_EXPORT vtkPPainterCommunicator : public vtkPainterCommunicator
35 {
36 public:
38  virtual ~vtkPPainterCommunicator();
39 
41 
43  { this->Copy(&other, false); }
45 
47  { this->Copy(&other, false); return *this; }
48 
50  virtual void Copy(const vtkPainterCommunicator *other, bool ownership);
51 
53  virtual void Duplicate(const vtkPainterCommunicator *other);
54 
56 
57  virtual int GetRank();
58  virtual int GetSize();
59  virtual bool GetIsNull();
61 
63 
64  virtual int GetWorldRank();
65  virtual int GetWorldSize();
67 
69 
70  virtual bool GetMPIInitialized(){ return this->MPIInitialized(); }
71  virtual bool GetMPIFinalized(){ return this->MPIFinalized(); }
73 
74  static bool MPIInitialized();
75  static bool MPIFinalized();
76 
78 
81  void SetCommunicator(vtkMPICommunicatorOpaqueComm *comm);
82  void GetCommunicator(vtkMPICommunicatorOpaqueComm *comm);
83  void *GetCommunicator();
85 
91  void SubsetCommunicator(vtkMPICommunicatorOpaqueComm *comm, int include);
92 
95  static vtkMPICommunicatorOpaqueComm *GetGlobalCommunicator();
96 
97 private:
98  // PImpl for MPI datatypes
99  vtkPPainterCommunicatorInternals *Internals;
100 };
101 
102 #endif
103 // VTK-HeaderTest-Exclude: vtkPPainterCommunicator.h
virtual void Copy(const vtkPainterCommunicator *, bool)
vtkPPainterCommunicator & operator=(const vtkPPainterCommunicator &other)
virtual void Duplicate(const vtkPainterCommunicator *)
vtkPPainterCommunicator(const vtkPPainterCommunicator &other)