51 #ifndef vtkRedistributeDataSetFilter_h
52 #define vtkRedistributeDataSetFilter_h
55 #include "vtkFiltersParallelDIY2Module.h"
64 #include VTK_DIY2(diy/assigner.hpp)
67 VTK_ABI_NAMESPACE_BEGIN
97 ASSIGN_TO_ONE_REGION = 0,
98 ASSIGN_TO_ALL_INTERSECTING_REGIONS = 1,
99 SPLIT_BOUNDARY_CELLS = 2
115 virtual void SetBoundaryMode(
int mode);
119 vtkGetMacro(BoundaryMode,
int);
123 this->SetBoundaryMode(ASSIGN_TO_ALL_INTERSECTING_REGIONS);
134 void SetUseExplicitCuts(
bool);
135 bool GetUseExplicitCuts()
const;
136 vtkBooleanMacro(UseExplicitCuts,
bool);
143 void SetExplicitCuts(
const std::vector<vtkBoundingBox>& boxes);
144 const std::vector<vtkBoundingBox>& GetExplicitCuts()
const;
145 void RemoveAllExplicitCuts();
147 void AddExplicitCut(
const double bbox[6]);
148 int GetNumberOfExplicitCuts()
const;
158 void SetAssigner(std::shared_ptr<diy::Assigner> assigner);
159 std::shared_ptr<diy::Assigner> GetAssigner();
160 std::shared_ptr<const diy::Assigner> GetAssigner()
const;
173 void SetExpandExplicitCuts(
bool);
174 bool GetExpandExplicitCuts()
const;
175 vtkBooleanMacro(ExpandExplicitCuts,
bool);
183 const std::vector<vtkBoundingBox>& GetCuts()
const;
219 vtkSetMacro(PreservePartitionsInOutput,
bool);
220 vtkGetMacro(PreservePartitionsInOutput,
bool);
221 vtkBooleanMacro(PreservePartitionsInOutput,
bool);
229 vtkSetMacro(GenerateGlobalCellIds,
bool);
230 vtkGetMacro(GenerateGlobalCellIds,
bool);
231 vtkBooleanMacro(GenerateGlobalCellIds,
bool);
242 vtkSetMacro(EnableDebugging,
bool);
243 vtkGetMacro(EnableDebugging,
bool);
244 vtkBooleanMacro(EnableDebugging,
bool);
256 void SetLoadBalanceAcrossAllBlocks(
bool);
257 bool GetLoadBalanceAcrossAllBlocks();
258 vtkBooleanMacro(LoadBalanceAcrossAllBlocks,
bool);
306 const std::vector<vtkPartitioningStrategy::PartitionInformation>&
info,
307 bool preserve_input_hierarchy);
310 const std::vector<vtkPartitioningStrategy::PartitionInformation>&,
unsigned int*,
vtkIdType*);
325 std::shared_ptr<diy::Assigner> Assigner;
329 bool PreservePartitionsInOutput;
330 bool GenerateGlobalCellIds;
331 bool EnableDebugging;
337 VTK_ABI_NAMESPACE_END
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
composite dataset to encapsulates a dataset consisting of partitions.
provides implementation for most abstract methods in the superclass vtkCompositeDataSet ...
vtkTypeUInt32 vtkMTimeType
abstract class to specify dataset behavior
static vtkDataObjectAlgorithm * New()
void SetBoundaryModeToSplitBoundaryCells()
Specify how cells on the boundaries are handled.
virtual int GetBoundaryModeMaxValue()
Specify how cells on the boundaries are handled.
a simple class to control print indentation
void SetBoundaryModeToAssignToOneRegion()
Specify how cells on the boundaries are handled.
composite dataset to encapsulates pieces of dataset.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
A strategy interface for partitioning meshes.
virtual int GetBoundaryModeMinValue()
Specify how cells on the boundaries are handled.
Superclass for algorithms that produce only data object as output.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Composite dataset that organizes datasets into blocks.
void SetBoundaryModeToAssignToAllIntersectingRegions()
Specify how cells on the boundaries are handled.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
redistributes input dataset into requested number of partitions
Fast, simple class for representing and operating on 3D bounds.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Composite dataset that groups datasets as a collection.
Multiprocessing communication superclass.