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;
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.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Multiprocessing communication superclass.