92 #ifndef vtkDistributedDataFilter_h
93 #define vtkDistributedDataFilter_h
95 #include "vtkFiltersParallelMPIModule.h"
100 class vtkDistributedDataFilterSTLCloak;
157 vtkGetMacro(RetainKdtree,
int);
172 vtkGetMacro(IncludeAllIntersectingCells,
int);
182 vtkGetMacro(ClipCells,
int);
186 ASSIGN_TO_ONE_REGION=0,
187 ASSIGN_TO_ALL_INTERSECTING_REGIONS=1,
188 SPLIT_BOUNDARY_CELLS=2
195 void SetBoundaryMode(
int mode);
199 { this->SetBoundaryMode(
204 int GetBoundaryMode();
223 vtkGetMacro(UseMinimalMemory,
int);
233 vtkGetMacro(Timing,
int);
259 void SetUserRegionAssignments(
const int *map,
int numRegions);
272 void AssignBoundaryCellsToOneRegionOn();
273 void AssignBoundaryCellsToOneRegionOff();
274 void SetAssignBoundaryCellsToOneRegion(
int val);
285 void AssignBoundaryCellsToAllIntersectingRegionsOn();
286 void AssignBoundaryCellsToAllIntersectingRegionsOff();
287 void SetAssignBoundaryCellsToAllIntersectingRegions(
int val);
297 void DivideBoundaryCellsOn();
298 void DivideBoundaryCellsOff();
299 void SetDivideBoundaryCells(
int val);
336 DuplicateCellsNo = 0,
337 DuplicateCellsYes = 1
352 int PartitionDataAndAssignToProcesses(
vtkDataSet *set);
372 void ComputeMyRegionBounds();
394 vtkIdList **GetCellIdsForProcess(
int proc,
int *nlists);
400 void SetUpPairWiseExchange();
407 static void FreeIdLists(
vtkIdList**lists,
int nlists);
425 int deleteSendArrays,
int tag);
427 int deleteSendArrays,
int tag);
429 int deleteSendArrays,
int tag);
437 int deleteSendArrays,
int tag);
439 int deleteSendArrays,
int tag);
441 int deleteSendArrays,
int tag);
450 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
454 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
459 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
464 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
511 vtkDistributedDataFilterSTLCloak *procs);
518 vtkDistributedDataFilterSTLCloak *ptIdMap);
524 int InMySpatialRegion(
float x,
float y,
float z);
525 int InMySpatialRegion(
double x,
double y,
double z);
526 int StrictlyInsideMyBounds(
float x,
float y,
float z);
527 int StrictlyInsideMyBounds(
double x,
double y,
double z);
535 int AddCellsIAlreadyHave);
538 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
541 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
545 int ghostLevel, vtkDistributedDataFilterSTLCloak *idMap);
564 int ptId, vtkDistributedDataFilterSTLCloak *globalToLocal);
583 const char *arrayName,
unsigned char val);
585 const char *arrayName,
unsigned char val);
591 static void RemoveRemoteCellsFromList(
vtkIdList *cellList,
601 int useGlobalNodeIds,
float pointMergeTolerance,
602 int useGlobalCellIds);
613 int NumConvexSubRegions;
614 double *ConvexSubRegionBounds;
619 int IncludeAllIntersectingCells;
621 int AssignBoundaryCellsToOneRegion;
622 int AssignBoundaryCellsToAllIntersectingRegions;
623 int DivideBoundaryCells;
627 int NextProgressStep;
628 double ProgressIncrement;
630 int UseMinimalMemory;
638 vtkInternals* Internals;