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 
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
#define VTKPVVTKEXTENSIONSCORE_EXPORT
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
collection of assorted helper routines dealing with communication.
static vtkObject * New()
void operator=(const vtkObjectBase &)