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 "vtkObject.h"
16 #include "vtkPVVTKExtensionsCoreModule.h" // needed for export macro
17 #include "vtkSmartPointer.h" // needed for vtkSmartPointer.
18 
19 #include <vector> // needed for std::vector
20 
21 class vtkDataObject;
24 
25 class VTKPVVTKEXTENSIONSCORE_EXPORT vtkMultiProcessControllerHelper : public vtkObject
26 {
27 public:
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
36  static int ReduceToAll(vtkMultiProcessController* controller, vtkMultiProcessStream& data,
37  void (*operation)(vtkMultiProcessStream& A, vtkMultiProcessStream& B), int tag);
38 
46  static vtkDataObject* MergePieces(vtkDataObject** pieces, unsigned int num_pieces);
47 
51  static bool MergePieces(
52  std::vector<vtkSmartPointer<vtkDataObject>>& pieces, vtkDataObject* result);
53 
54 protected:
57 
58 private:
60  void operator=(const vtkMultiProcessControllerHelper&) = delete;
61 };
62 
63 #endif
vtkObjectBase::operator=
void operator=(const vtkObjectBase &)
vtkObject::New
static vtkObject * New()
vtkMultiProcessStream
vtkSmartPointer< vtkDataObject >
vtkObject
vtkMultiProcessController
vtkIndent
vtkSmartPointer.h
vtkObject.h
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkDataObject
vtkMultiProcessControllerHelper
collection of assorted helper routines dealing with communication.
Definition: vtkMultiProcessControllerHelper.h:25