VTK  9.5.20251125
vtkMPI4PyCommunicator.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
13
14#ifndef vtkMPI4PyCommunicator_h
15#define vtkMPI4PyCommunicator_h
16// This class should only be wrapped for Python. The hierarchy "wrapping" also
17// needs to see the class for use in the Python wrappers.
18#if !defined(__VTK_WRAP__) || defined(__VTK_WRAP_HIERARCHY__) || defined(__VTK_WRAP_PYTHON__)
19
20#include "vtkPython.h" // For PyObject*; must be first
21
22#include "vtkObject.h"
23#include "vtkParallelMPI4PyModule.h" // For export macro
24
25VTK_ABI_NAMESPACE_BEGIN
27
28class VTKPARALLELMPI4PY_EXPORT vtkMPI4PyCommunicator : public vtkObject
29{
30public:
32 void PrintSelf(ostream& os, vtkIndent indent) override;
33
36
41
46
47private:
49 void operator=(const vtkMPI4PyCommunicator&) = delete;
50};
51
52VTK_ABI_NAMESPACE_END
53#endif
54#endif
a simple class to control print indentation
Definition vtkIndent.h:108
static PyObject * ConvertToPython(vtkMPICommunicator *comm)
Convert a VTK communicator into an mpi4py communicator.
static vtkMPICommunicator * ConvertToVTK(PyObject *comm)
Convert an mpi4py communicator into a VTK communicator.
static vtkMPI4PyCommunicator * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Class for creating user defined MPI communicators.
struct _object PyObject