50 #ifndef vtkRedistributeDataSetFilter_h 51 #define vtkRedistributeDataSetFilter_h 54 #include "vtkFiltersParallelDIY2Module.h" 82 ASSIGN_TO_ONE_REGION = 0,
83 ASSIGN_TO_ALL_INTERSECTING_REGIONS = 1,
84 SPLIT_BOUNDARY_CELLS = 2
100 vtkSetClampMacro(BoundaryMode,
int, ASSIGN_TO_ONE_REGION, SPLIT_BOUNDARY_CELLS);
101 vtkGetMacro(BoundaryMode,
int);
105 this->SetBoundaryMode(ASSIGN_TO_ALL_INTERSECTING_REGIONS);
116 vtkSetMacro(UseExplicitCuts,
bool);
117 vtkGetMacro(UseExplicitCuts,
bool);
118 vtkBooleanMacro(UseExplicitCuts,
bool);
125 void SetExplicitCuts(
const std::vector<vtkBoundingBox>& boxes);
126 const std::vector<vtkBoundingBox>&
GetExplicitCuts()
const {
return this->ExplicitCuts; }
127 void RemoveAllExplicitCuts();
129 void AddExplicitCut(
const double bbox[6]);
130 int GetNumberOfExplicitCuts()
const;
145 vtkSetMacro(ExpandExplicitCuts,
bool);
146 vtkGetMacro(ExpandExplicitCuts,
bool);
147 vtkBooleanMacro(ExpandExplicitCuts,
bool);
155 const std::vector<vtkBoundingBox>&
GetCuts()
const {
return this->Cuts; }
176 vtkSetClampMacro(NumberOfPartitions,
int, 0,
VTK_INT_MAX);
177 vtkGetMacro(NumberOfPartitions,
int);
194 vtkSetMacro(PreservePartitionsInOutput,
bool);
195 vtkGetMacro(PreservePartitionsInOutput,
bool);
196 vtkBooleanMacro(PreservePartitionsInOutput,
bool);
204 vtkSetMacro(GenerateGlobalCellIds,
bool);
205 vtkGetMacro(GenerateGlobalCellIds,
bool);
206 vtkBooleanMacro(GenerateGlobalCellIds,
bool);
215 std::vector<vtkBoundingBox> ExpandCuts(
216 const std::vector<vtkBoundingBox>& cuts,
const vtkBoundingBox& bounds);
226 vtkSetMacro(EnableDebugging,
bool);
227 vtkGetMacro(EnableDebugging,
bool);
228 vtkBooleanMacro(EnableDebugging,
bool);
261 vtkDataSet* dataset,
const std::vector<vtkBoundingBox>& cuts);
268 const std::vector<vtkBoundingBox>& cuts,
vtkIdType* mb_offset =
nullptr);
269 bool RedistributeDataSet(
271 int RedistributeMultiBlockDataSet(
273 int RedistributeMultiPieceDataSet(
286 std::vector<vtkBoundingBox> ExplicitCuts;
287 std::vector<vtkBoundingBox> Cuts;
291 int NumberOfPartitions;
292 bool PreservePartitionsInOutput;
293 bool GenerateGlobalCellIds;
294 bool UseExplicitCuts;
295 bool ExpandExplicitCuts;
296 bool EnableDebugging;
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
composite dataset to encapsulates a dataset consisting of partitions.
const std::vector< vtkBoundingBox > & GetExplicitCuts() const
Specify the cuts to use when UseExplicitCuts is true.
abstract class to specify dataset behavior
static vtkDataObjectAlgorithm * New()
void SetBoundaryModeToSplitBoundaryCells()
Specify how cells on the boundaries are handled.
const std::vector< vtkBoundingBox > & GetCuts() const
Returns the cuts used by the most recent RequestData call.
Hold a reference to a vtkObjectBase instance.
a simple class to control print indentation
void SetBoundaryModeToAssignToOneRegion()
Specify how cells on the boundaries are handled.
composite dataset to encapsulates pieces of dataset.
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
general representation of visualization data
Fast, simple class for dealing with 3D bounds.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Multiprocessing communication superclass.