92 #ifndef vtkDistributedDataFilter_h 93 #define vtkDistributedDataFilter_h 95 #include "vtkFiltersParallelMPIModule.h" 100 class vtkDistributedDataFilterSTLCloak;
156 vtkBooleanMacro(RetainKdtree,
int);
157 vtkGetMacro(RetainKdtree,
int);
158 vtkSetMacro(RetainKdtree,
int);
171 vtkBooleanMacro(IncludeAllIntersectingCells,
int);
172 vtkGetMacro(IncludeAllIntersectingCells,
int);
173 vtkSetMacro(IncludeAllIntersectingCells,
int);
181 vtkBooleanMacro(ClipCells,
int);
182 vtkGetMacro(ClipCells,
int);
183 vtkSetMacro(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();
222 vtkBooleanMacro(UseMinimalMemory,
int);
223 vtkGetMacro(UseMinimalMemory,
int);
224 vtkSetMacro(UseMinimalMemory,
int);
230 vtkGetMacro(MinimumGhostLevel,
int)
231 vtkSetMacro(MinimumGhostLevel,
int)
237 vtkBooleanMacro(Timing,
int);
238 vtkSetMacro(Timing,
int);
239 vtkGetMacro(Timing,
int);
265 void SetUserRegionAssignments(
const int *map,
int numRegions);
278 void AssignBoundaryCellsToOneRegionOn();
279 void AssignBoundaryCellsToOneRegionOff();
280 void SetAssignBoundaryCellsToOneRegion(
int val);
291 void AssignBoundaryCellsToAllIntersectingRegionsOn();
292 void AssignBoundaryCellsToAllIntersectingRegionsOff();
293 void SetAssignBoundaryCellsToAllIntersectingRegions(
int val);
303 void DivideBoundaryCellsOn();
304 void DivideBoundaryCellsOff();
305 void SetDivideBoundaryCells(
int val);
342 DuplicateCellsNo = 0,
343 DuplicateCellsYes = 1
358 int PartitionDataAndAssignToProcesses(
vtkDataSet *
set);
378 void ComputeMyRegionBounds();
400 vtkIdList **GetCellIdsForProcess(
int proc,
int *nlists);
406 void SetUpPairWiseExchange();
413 static void FreeIdLists(
vtkIdList**lists,
int nlists);
431 int deleteSendArrays,
int tag);
433 int deleteSendArrays,
int tag);
435 int deleteSendArrays,
int tag);
443 int deleteSendArrays,
int tag);
445 int deleteSendArrays,
int tag);
447 int deleteSendArrays,
int tag);
456 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
460 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
465 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
470 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
517 vtkDistributedDataFilterSTLCloak *procs);
524 vtkDistributedDataFilterSTLCloak *ptIdMap);
530 int InMySpatialRegion(
float x,
float y,
float z);
531 int InMySpatialRegion(
double x,
double y,
double z);
532 int StrictlyInsideMyBounds(
float x,
float y,
float z);
533 int StrictlyInsideMyBounds(
double x,
double y,
double z);
541 int AddCellsIAlreadyHave);
544 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
547 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
551 int ghostLevel, vtkDistributedDataFilterSTLCloak *idMap);
570 int ptId, vtkDistributedDataFilterSTLCloak *globalToLocal);
589 const char *arrayName,
unsigned char val);
591 const char *arrayName,
unsigned char val);
597 static void RemoveRemoteCellsFromList(
vtkIdList *cellList,
607 int useGlobalNodeIds,
float pointMergeTolerance,
608 int useGlobalCellIds);
619 int NumConvexSubRegions;
620 double *ConvexSubRegionBounds;
623 int MinimumGhostLevel;
629 int IncludeAllIntersectingCells;
631 int AssignBoundaryCellsToOneRegion;
632 int AssignBoundaryCellsToAllIntersectingRegions;
633 int DivideBoundaryCells;
637 int NextProgressStep;
638 double ProgressIncrement;
640 int UseMinimalMemory;
648 vtkInternals* Internals;
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Build a k-d tree decomposition of a list of points.
This class represents an axis-aligned Binary Spatial Partitioning of a 3D space.
abstract class to specify dataset behavior
static vtkDataObjectAlgorithm * New()
dynamic, self-adjusting array of float
void SetBoundaryModeToSplitBoundaryCells()
Handling of ClipCells and IncludeAllIntersectingCells.
dynamic, self-adjusting array of vtkIdType
void SetBoundaryModeToAssignToAllIntersectingRegions()
Handling of ClipCells and IncludeAllIntersectingCells.
vtkBSPCuts * GetCuts()
You can set the k-d tree decomposition, rather than have D3 compute it.
void SetBoundaryModeToAssignToOneRegion()
Handling of ClipCells and IncludeAllIntersectingCells.
Distribute data among processors.
dynamic, self-adjusting array of int
a simple class to control print indentation
list of point or cell ids
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Superclass for algorithms that produce only data object as output.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Multiprocessing communication superclass.