27 #ifndef vtkNativePartitioningStrategy_h
28 #define vtkNativePartitioningStrategy_h
30 #include "vtkFiltersParallelDIY2Module.h"
33 VTK_ABI_NAMESPACE_BEGIN
55 vtkSetMacro(UseExplicitCuts,
bool);
56 vtkGetMacro(UseExplicitCuts,
bool);
57 vtkBooleanMacro(UseExplicitCuts,
bool);
64 void SetExplicitCuts(
const std::vector<vtkBoundingBox>& boxes);
65 const std::vector<vtkBoundingBox>&
GetExplicitCuts()
const {
return this->ExplicitCuts; }
66 void RemoveAllExplicitCuts();
68 void AddExplicitCut(
const double bbox[6]);
69 int GetNumberOfExplicitCuts()
const;
84 vtkSetMacro(ExpandExplicitCuts,
bool);
85 vtkGetMacro(ExpandExplicitCuts,
bool);
86 vtkBooleanMacro(ExpandExplicitCuts,
bool);
95 std::vector<vtkBoundingBox> ExpandCuts(
96 const std::vector<vtkBoundingBox>& cuts,
const vtkBoundingBox& bounds);
103 const std::vector<vtkBoundingBox>&
GetCuts()
const {
return this->Cuts; }
115 vtkSetMacro(LoadBalanceAcrossAllBlocks,
bool);
116 vtkGetMacro(LoadBalanceAcrossAllBlocks,
bool);
117 vtkBooleanMacro(LoadBalanceAcrossAllBlocks,
bool);
128 vtkSetMacro(AssignBoundaryCellsToSmallestRegionId,
bool);
129 vtkGetMacro(AssignBoundaryCellsToSmallestRegionId,
bool);
130 vtkBooleanMacro(AssignBoundaryCellsToSmallestRegionId,
bool);
154 std::vector<vtkBoundingBox> ExplicitCuts;
155 std::vector<vtkBoundingBox> Cuts;
156 bool UseExplicitCuts =
false;
157 bool ExpandExplicitCuts =
true;
159 bool LoadBalanceAcrossAllBlocks =
true;
161 bool AssignBoundaryCellsToSmallestRegionId =
false;
163 VTK_ABI_NAMESPACE_END
165 #endif // vtkNativePartitioningStrategy_h
const std::vector< vtkBoundingBox > & GetCuts() const
Returns the cuts used by the most recent ComputePartition call.
provides implementation for most abstract methods in the superclass vtkCompositeDataSet ...
a simple class to control print indentation
const std::vector< vtkBoundingBox > & GetExplicitCuts() const
Specify the cuts to use when UseExplicitCuts is true.
void PrintSelf(std::ostream &os, vtkIndent indent) override
A strategy interface for partitioning meshes.
virtual std::vector< PartitionInformation > ComputePartition(vtkPartitionedDataSetCollection *)=0
Main method for subclasses to implement in order to define their partitioning method (should be calle...
A partitioning strategy based on load balancing geometric bounding boxes as cuts of a data set...
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
general representation of visualization data
Fast, simple class for representing and operating on 3D bounds.
Composite dataset that groups datasets as a collection.