VTK  9.1.0
vtkSubCommunicator.h
Go to the documentation of this file.
1// -*- c++ -*-
2/*=========================================================================
3
4 Program: Visualization Toolkit
5 Module: vtkSubCommunicator.h
6
7 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
8 All rights reserved.
9 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10
11 This software is distributed WITHOUT ANY WARRANTY; without even
12 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE. See the above copyright notice for more information.
14
15=========================================================================*/
16/*----------------------------------------------------------------------------
17 Copyright (c) Sandia Corporation
18 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
19----------------------------------------------------------------------------*/
20
46#ifndef vtkSubCommunicator_h
47#define vtkSubCommunicator_h
48
49#include "vtkCommunicator.h"
50#include "vtkParallelCoreModule.h" // For export macro
51
52class vtkProcessGroup;
53
54class VTKPARALLELCORE_EXPORT vtkSubCommunicator : public vtkCommunicator
55{
56public:
59 void PrintSelf(ostream& os, vtkIndent indent) override;
60
62
65 vtkGetObjectMacro(Group, vtkProcessGroup);
66 virtual void SetGroup(vtkProcessGroup* group);
68
70
74 const void* data, vtkIdType length, int type, int remoteHandle, int tag) override;
75 int ReceiveVoidArray(void* data, vtkIdType length, int type, int remoteHandle, int tag) override;
77
78protected:
81
83
84private:
86 void operator=(const vtkSubCommunicator&) = delete;
87};
88
89#endif // vtkSubCommunicator_h
Used to send/receive messages in a multiprocess environment.
a simple class to control print indentation
Definition: vtkIndent.h:113
A subgroup of processes from a communicator.
Provides communication on a process group.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetGroup(vtkProcessGroup *group)
Set/get the group on which communication will happen.
vtkProcessGroup * Group
~vtkSubCommunicator() override
static vtkSubCommunicator * New()
int ReceiveVoidArray(void *data, vtkIdType length, int type, int remoteHandle, int tag) override
Implementation for abstract supercalss.
int SendVoidArray(const void *data, vtkIdType length, int type, int remoteHandle, int tag) override
Implementation for abstract supercalss.
@ Group
Definition: vtkX3D.h:57
@ length
Definition: vtkX3D.h:399
@ type
Definition: vtkX3D.h:522
@ data
Definition: vtkX3D.h:321
int vtkIdType
Definition: vtkType.h:332