VTK  9.3.1
vtkPartitionBalancer.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
53 #ifndef vtkPartitionBalancer_h
54 #define vtkPartitionBalancer_h
55 
56 #include "vtkFiltersParallelModule.h" // for export macros
58 
59 VTK_ABI_NAMESPACE_BEGIN
61 
62 class VTKFILTERSPARALLEL_EXPORT vtkPartitionBalancer : public vtkPartitionedDataSetAlgorithm
63 {
64 public:
65  static vtkPartitionBalancer* New();
67  void PrintSelf(ostream& os, vtkIndent indent) override;
68 
70 
74  void SetController(vtkMultiProcessController*);
75  vtkGetObjectMacro(Controller, vtkMultiProcessController);
77 
81  enum Mode
82  {
84  Squash
85  };
86 
88 
91  vtkSetClampMacro(Mode, int, vtkPartitionBalancer::Expand, vtkPartitionBalancer::Squash);
92  vtkGetMacro(Mode, int);
94 
109 
124 
125 protected:
127  ~vtkPartitionBalancer() override;
128 
130 
135 
136  int Mode;
137 
138 private:
140  void operator=(const vtkPartitionBalancer&) = delete;
141 };
142 
143 VTK_ABI_NAMESPACE_END
144 #endif
Superclass for algorithms that produce vtkPartitionedDataSetAlgorithm.
Store vtkAlgorithm input/output information.
Mode
Modes defining the layout of the output.
Balances input partitioned data sets so each rank has the same number of data sets.
vtkMultiProcessController * Controller
Local controller.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Methods for subclasses to override to handle different pipeline requests.
void SetModeToExpand()
Sets filter to expand mode.
void SetModeToSquash()
Sets filter to squash mode.
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
Multiprocessing communication superclass.