89 #ifndef vtkDistributedDataFilter_h 90 #define vtkDistributedDataFilter_h 92 #include "vtkFiltersParallelMPIModule.h" 97 class vtkDistributedDataFilterSTLCloak;
153 vtkBooleanMacro(RetainKdtree,
int);
154 vtkGetMacro(RetainKdtree,
int);
155 vtkSetMacro(RetainKdtree,
int);
168 vtkBooleanMacro(IncludeAllIntersectingCells,
int);
169 vtkGetMacro(IncludeAllIntersectingCells,
int);
170 vtkSetMacro(IncludeAllIntersectingCells,
int);
178 vtkBooleanMacro(ClipCells,
int);
179 vtkGetMacro(ClipCells,
int);
180 vtkSetMacro(ClipCells,
int);
183 ASSIGN_TO_ONE_REGION=0,
184 ASSIGN_TO_ALL_INTERSECTING_REGIONS=1,
185 SPLIT_BOUNDARY_CELLS=2
192 void SetBoundaryMode(
int mode);
196 { this->SetBoundaryMode(
201 int GetBoundaryMode();
219 vtkBooleanMacro(UseMinimalMemory,
int);
220 vtkGetMacro(UseMinimalMemory,
int);
221 vtkSetMacro(UseMinimalMemory,
int);
227 vtkGetMacro(MinimumGhostLevel,
int)
228 vtkSetMacro(MinimumGhostLevel,
int)
234 vtkBooleanMacro(Timing,
int);
235 vtkSetMacro(Timing,
int);
236 vtkGetMacro(Timing,
int);
262 void SetUserRegionAssignments(
const int *map,
int numRegions);
275 void AssignBoundaryCellsToOneRegionOn();
276 void AssignBoundaryCellsToOneRegionOff();
277 void SetAssignBoundaryCellsToOneRegion(
int val);
288 void AssignBoundaryCellsToAllIntersectingRegionsOn();
289 void AssignBoundaryCellsToAllIntersectingRegionsOff();
290 void SetAssignBoundaryCellsToAllIntersectingRegions(
int val);
300 void DivideBoundaryCellsOn();
301 void DivideBoundaryCellsOff();
302 void SetDivideBoundaryCells(
int val);
339 DuplicateCellsNo = 0,
340 DuplicateCellsYes = 1
355 int PartitionDataAndAssignToProcesses(
vtkDataSet *
set);
375 void ComputeMyRegionBounds();
397 vtkIdList **GetCellIdsForProcess(
int proc,
int *nlists);
403 void SetUpPairWiseExchange();
410 static void FreeIdLists(
vtkIdList**lists,
int nlists);
428 int deleteSendArrays,
int tag);
430 int deleteSendArrays,
int tag);
432 int deleteSendArrays,
int tag);
440 int deleteSendArrays,
int tag);
442 int deleteSendArrays,
int tag);
444 int deleteSendArrays,
int tag);
453 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
457 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
462 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
467 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
514 vtkDistributedDataFilterSTLCloak *procs);
521 vtkDistributedDataFilterSTLCloak *ptIdMap);
527 int InMySpatialRegion(
float x,
float y,
float z);
528 int InMySpatialRegion(
double x,
double y,
double z);
529 int StrictlyInsideMyBounds(
float x,
float y,
float z);
530 int StrictlyInsideMyBounds(
double x,
double y,
double z);
538 int AddCellsIAlreadyHave);
541 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
544 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
548 int ghostLevel, vtkDistributedDataFilterSTLCloak *idMap);
567 int ptId, vtkDistributedDataFilterSTLCloak *globalToLocal);
586 const char *arrayName,
unsigned char val);
588 const char *arrayName,
unsigned char val);
594 static void RemoveRemoteCellsFromList(
vtkIdList *cellList,
604 int useGlobalNodeIds,
float pointMergeTolerance,
605 int useGlobalCellIds);
616 int NumConvexSubRegions;
617 double *ConvexSubRegionBounds;
620 int MinimumGhostLevel;
626 int IncludeAllIntersectingCells;
628 int AssignBoundaryCellsToOneRegion;
629 int AssignBoundaryCellsToAllIntersectingRegions;
630 int DivideBoundaryCells;
634 int NextProgressStep;
635 double ProgressIncrement;
637 int UseMinimalMemory;
645 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.