VTK  9.2.6
vtkPartitionBalancer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPartitionBalancer.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
65 #ifndef vtkPartitionBalancer_h
66 #define vtkPartitionBalancer_h
67 
68 #include "vtkFiltersParallelModule.h" // for export macros
70 
72 
73 class VTKFILTERSPARALLEL_EXPORT vtkPartitionBalancer : public vtkPartitionedDataSetAlgorithm
74 {
75 public:
76  static vtkPartitionBalancer* New();
78  void PrintSelf(ostream& os, vtkIndent indent) override;
79 
81 
85  void SetController(vtkMultiProcessController*);
86  vtkGetObjectMacro(Controller, vtkMultiProcessController);
88 
92  enum Mode
93  {
95  Squash
96  };
97 
99 
102  vtkSetClampMacro(Mode, int, vtkPartitionBalancer::Expand, vtkPartitionBalancer::Squash);
103  vtkGetMacro(Mode, int);
105 
120 
135 
136 protected:
138  ~vtkPartitionBalancer() override;
139 
141 
146 
147  int Mode;
148 
149 private:
151  void operator=(const vtkPartitionBalancer&) = delete;
152 };
153 
154 #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:39
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.