127 DuplicateCellsNo = 0,
128 DuplicateCellsYes = 1
145 int PartitionDataAndAssignToProcesses(vtkDataSet* set);
150 vtkUnstructuredGrid* RedistributeDataSet(
151 vtkDataSet* set, vtkDataSet* input,
int filterOutDuplicateCells);
156 int ClipGridCells(vtkUnstructuredGrid* grid);
161 vtkUnstructuredGrid* AcquireGhostCells(vtkUnstructuredGrid* grid);
166 void ComputeMyRegionBounds();
171 int CheckFieldArrayTypes(vtkDataSet* set);
178 vtkDataSet* TestFixTooFewInputFiles(vtkDataSet* input,
int& duplicateCells);
183 vtkUnstructuredGrid* MPIRedistribute(
184 vtkDataSet* in, vtkDataSet* input,
int filterOutDuplicateCells);
189 vtkIdList** GetCellIdsForProcess(
int proc,
int* nlists);
195 void SetUpPairWiseExchange();
201 void FreeIntArrays(vtkIdTypeArray** ar);
202 static void FreeIdLists(vtkIdList** lists,
int nlists);
203 static vtkIdType GetIdListSize(vtkIdList** lists,
int nlists);
210 vtkIdTypeArray* ExchangeCounts(
vtkIdType myCount,
int tag);
211 vtkIdTypeArray* ExchangeCountsLean(
vtkIdType myCount,
int tag);
212 vtkIdTypeArray* ExchangeCountsFast(
vtkIdType myCount,
int tag);
219 vtkIdTypeArray** ExchangeIdArrays(vtkIdTypeArray** arIn,
int deleteSendArrays,
int tag);
220 vtkIdTypeArray** ExchangeIdArraysLean(vtkIdTypeArray** arIn,
int deleteSendArrays,
int tag);
221 vtkIdTypeArray** ExchangeIdArraysFast(vtkIdTypeArray** arIn,
int deleteSendArrays,
int tag);
228 vtkFloatArray** ExchangeFloatArrays(vtkFloatArray** myArray,
int deleteSendArrays,
int tag);
229 vtkFloatArray** ExchangeFloatArraysLean(vtkFloatArray** myArray,
int deleteSendArrays,
int tag);
230 vtkFloatArray** ExchangeFloatArraysFast(vtkFloatArray** myArray,
int deleteSendArrays,
int tag);
237 vtkUnstructuredGrid* ExchangeMergeSubGrids(vtkIdList** cellIds,
int deleteCellIds,
238 vtkDataSet* myGrid,
int deleteMyGrid,
int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
239 vtkUnstructuredGrid* ExchangeMergeSubGrids(vtkIdList*** cellIds,
int* numLists,
int deleteCellIds,
240 vtkDataSet* myGrid,
int deleteMyGrid,
int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
241 vtkUnstructuredGrid* ExchangeMergeSubGridsLean(vtkIdList*** cellIds,
int* numLists,
242 int deleteCellIds, vtkDataSet* myGrid,
int deleteMyGrid,
int filterOutDuplicateCells,
243 int ghostCellFlag,
int tag);
244 vtkUnstructuredGrid* ExchangeMergeSubGridsFast(vtkIdList*** cellIds,
int* numLists,
245 int deleteCellIds, vtkDataSet* myGrid,
int deleteMyGrid,
int filterOutDuplicateCells,
246 int ghostCellFlag,
int tag);
253 char* MarshallDataSet(vtkUnstructuredGrid* extractedGrid,
vtkIdType& size);
254 vtkUnstructuredGrid* UnMarshallDataSet(
char* buf,
vtkIdType size);
261 void ClipCellsToSpatialRegion(vtkUnstructuredGrid* grid);
263 void ClipWithVtkClipDataSet(vtkUnstructuredGrid *grid,
double *bounds,
264 vtkUnstructuredGrid **outside, vtkUnstructuredGrid **inside);
268 void ClipWithBoxClipDataSet(vtkUnstructuredGrid* grid,
double* bounds,
269 vtkUnstructuredGrid** outside, vtkUnstructuredGrid** inside);
278 vtkIdTypeArray* GetGlobalNodeIdArray(vtkDataSet* set);
279 vtkIdType* GetGlobalNodeIds(vtkDataSet* set);
280 vtkIdTypeArray* GetGlobalElementIdArray(vtkDataSet* set);
281 vtkIdType* GetGlobalElementIds(vtkDataSet* set);
282 int AssignGlobalNodeIds(vtkUnstructuredGrid* grid);
283 int AssignGlobalElementIds(vtkDataSet* in);
284 vtkIdTypeArray** FindGlobalPointIds(vtkFloatArray** ptarray, vtkIdTypeArray* ids,
285 vtkUnstructuredGrid* grid,
vtkIdType& numUniqueMissingPoints);
291 vtkIdTypeArray** MakeProcessLists(
292 vtkIdTypeArray** pointIds, vtkPDistributedDataFilterSTLCloak* procs);
297 vtkIdList** BuildRequestedGrids(vtkIdTypeArray** globalPtIds, vtkUnstructuredGrid* grid,
298 vtkPDistributedDataFilterSTLCloak* ptIdMap);
304 int InMySpatialRegion(
float x,
float y,
float z);
305 int InMySpatialRegion(
double x,
double y,
double z);
306 int StrictlyInsideMyBounds(
float x,
float y,
float z);
307 int StrictlyInsideMyBounds(
double x,
double y,
double z);
314 vtkIdTypeArray** GetGhostPointIds(
315 int ghostLevel, vtkUnstructuredGrid* grid,
int AddCellsIAlreadyHave);
316 vtkUnstructuredGrid* AddGhostCellsUniqueCellAssignment(
317 vtkUnstructuredGrid* myGrid, vtkPDistributedDataFilterSTLCloak* globalToLocalMap);
318 vtkUnstructuredGrid* AddGhostCellsDuplicateCellAssignment(
319 vtkUnstructuredGrid* myGrid, vtkPDistributedDataFilterSTLCloak* globalToLocalMap);
320 vtkUnstructuredGrid* SetMergeGhostGrid(vtkUnstructuredGrid* ghostCellGrid,
321 vtkUnstructuredGrid* incomingGhostCells,
int ghostLevel,
322 vtkPDistributedDataFilterSTLCloak* idMap);
329 vtkUnstructuredGrid* ExtractCells(vtkIdList* list,
int deleteCellLists, vtkDataSet* in);
330 vtkUnstructuredGrid* ExtractCells(
331 vtkIdList** lists,
int nlists,
int deleteCellLists, vtkDataSet* in);
332 vtkUnstructuredGrid* ExtractZeroCellGrid(vtkDataSet* in);
339 static int GlobalPointIdIsUsed(
340 vtkUnstructuredGrid* grid,
int ptId, vtkPDistributedDataFilterSTLCloak* globalToLocal);
341 static int LocalPointIdIsUsed(vtkUnstructuredGrid* grid,
int ptId);
349 vtkUnstructuredGrid* grid,
vtkIdType* gidCells, vtkIdTypeArray* ids);
355 static void AddConstantUnsignedCharPointArray(
356 vtkUnstructuredGrid* grid,
const char* arrayName,
unsigned char val);
357 static void AddConstantUnsignedCharCellArray(
358 vtkUnstructuredGrid* grid,
const char* arrayName,
unsigned char val);
364 static void RemoveRemoteCellsFromList(
370 static vtkUnstructuredGrid* MergeGrids(vtkDataSet** sets,
int nsets,
int deleteDataSets,
371 int useGlobalNodeIds,
float pointMergeTolerance,
int useGlobalCellIds);
373 vtkPDistributedDataFilter(
const vtkPDistributedDataFilter&) =
delete;
374 void operator=(
const vtkPDistributedDataFilter&) =
delete;