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;