VTK
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 "vtkParallelCoreModule.h" // For export macro
50#include "vtkCommunicator.h"
51
52class vtkProcessGroup;
53
54class VTKPARALLELCORE_EXPORT vtkSubCommunicator : public vtkCommunicator
55{
56public:
59 virtual void PrintSelf(ostream &os, vtkIndent indent);
60
62
65 vtkGetObjectMacro(Group, vtkProcessGroup);
66 virtual void SetGroup(vtkProcessGroup *group);
68
70
73 virtual int SendVoidArray(const void *data, vtkIdType length, int type,
74 int remoteHandle, int tag);
75 virtual int ReceiveVoidArray(void *data, vtkIdType length, int type,
76 int remoteHandle, int tag);
78
79protected:
82
84
85private:
86 vtkSubCommunicator(const vtkSubCommunicator &) VTK_DELETE_FUNCTION;
87 void operator=(const vtkSubCommunicator &) VTK_DELETE_FUNCTION;
88};
89
90#endif //vtkSubCommunicator_h
Used to send/receive messages in a multiprocess environment.
a simple class to control print indentation
Definition: vtkIndent.h:40
A subgroup of processes from a communicator.
Provides communication on a process group.
virtual int SendVoidArray(const void *data, vtkIdType length, int type, int remoteHandle, int tag)
Implementation for abstract supercalss.
virtual void SetGroup(vtkProcessGroup *group)
vtkProcessGroup * Group
virtual int ReceiveVoidArray(void *data, vtkIdType length, int type, int remoteHandle, int tag)
Subclasses have to supply this method to receive various arrays of data.
static vtkSubCommunicator * New()
virtual ~vtkSubCommunicator()
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
@ Group
Definition: vtkX3D.h:51
@ length
Definition: vtkX3D.h:393
@ type
Definition: vtkX3D.h:516
@ data
Definition: vtkX3D.h:315
int vtkIdType
Definition: vtkType.h:287