VTK  9.7.1
vtkMultiProcessControllerHelper.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
12 #ifndef vtkMultiProcessControllerHelper_h
13 #define vtkMultiProcessControllerHelper_h
14 
15 #include "vtkFiltersParallelModule.h" // For export macro
16 #include "vtkObject.h"
17 #include "vtkSmartPointer.h" // needed for vtkSmartPointer.
18 
19 #include <vector> // needed for std::vector
20 
21 VTK_ABI_NAMESPACE_BEGIN
22 class vtkDataObject;
25 
26 class VTKFILTERSPARALLEL_EXPORT vtkMultiProcessControllerHelper : public vtkObject
27 {
28 public:
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
37  static int ReduceToAll(vtkMultiProcessController* controller, vtkMultiProcessStream& data,
38  void (*operation)(vtkMultiProcessStream& A, vtkMultiProcessStream& B), int tag);
39 
47  static vtkDataObject* MergePieces(vtkDataObject** pieces, unsigned int num_pieces);
48 
52  static bool MergePieces(
54 
55 protected:
58 
59 private:
61  void operator=(const vtkMultiProcessControllerHelper&) = delete;
62 };
63 VTK_ABI_NAMESPACE_END
64 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:52
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
stream used to pass data across processes using vtkMultiProcessController.
a simple class to control print indentation
Definition: vtkIndent.h:28
collection of assorted helper routines dealing with communication.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
general representation of visualization data
Definition: vtkDataObject.h:55
Multiprocessing communication superclass.