27#ifndef vtkNativePartitioningStrategy_h
28#define vtkNativePartitioningStrategy_h
33VTK_ABI_NAMESPACE_BEGIN
55 vtkSetMacro(UseExplicitCuts,
bool);
56 vtkGetMacro(UseExplicitCuts,
bool);
57 vtkBooleanMacro(UseExplicitCuts,
bool);
65 const std::vector<vtkBoundingBox>&
GetExplicitCuts()
const {
return this->ExplicitCuts; }
84 vtkSetMacro(ExpandExplicitCuts,
bool);
85 vtkGetMacro(ExpandExplicitCuts,
bool);
86 vtkBooleanMacro(ExpandExplicitCuts,
bool);
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);
141 std::vector<vtkBoundingBox> ExplicitCuts;
142 std::vector<vtkBoundingBox> Cuts;
143 bool UseExplicitCuts =
false;
144 bool ExpandExplicitCuts =
true;
146 bool LoadBalanceAcrossAllBlocks =
true;
Fast, simple class for representing and operating on 3D bounds.
provides implementation for most abstract methods in the superclass vtkCompositeDataSet
general representation of visualization data
a simple class to control print indentation
A partitioning strategy based on load balancing geometric bounding boxes as cuts of a data set.
const std::vector< vtkBoundingBox > & GetExplicitCuts() const
Specify the cuts to use when UseExplicitCuts is true.
virtual std::vector< vtkBoundingBox > GenerateCuts(vtkDataObject *data)
This method is called to generate the partitions for the input dataset.
void RemoveAllExplicitCuts()
Specify the cuts to use when UseExplicitCuts is true.
static vtkNativePartitioningStrategy * New()
std::vector< PartitionInformation > ComputePartition(vtkPartitionedDataSetCollection *) override
Implementation of parent API.
void AddExplicitCut(const double bbox[6])
Specify the cuts to use when UseExplicitCuts is true.
vtkNativePartitioningStrategy()=default
~vtkNativePartitioningStrategy() override=default
std::vector< vtkBoundingBox > ExpandCuts(const std::vector< vtkBoundingBox > &cuts, const vtkBoundingBox &bounds)
Helper function to expand a collection of bounding boxes to include the bounds specified.
void AddExplicitCut(const vtkBoundingBox &bbox)
Specify the cuts to use when UseExplicitCuts is true.
const vtkBoundingBox & GetExplicitCut(int index) const
Specify the cuts to use when UseExplicitCuts is true.
int GetNumberOfExplicitCuts() const
Specify the cuts to use when UseExplicitCuts is true.
const std::vector< vtkBoundingBox > & GetCuts() const
Returns the cuts used by the most recent ComputePartition call.
void PrintSelf(std::ostream &os, vtkIndent indent) override
void SetExplicitCuts(const std::vector< vtkBoundingBox > &boxes)
Specify the cuts to use when UseExplicitCuts is true.
Composite dataset that groups datasets as a collection.
A strategy interface for partitioning meshes.