Go to the documentation of this file.
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
199 { this->SetBoundaryMode(
223 vtkGetMacro(UseMinimalMemory,
int);
233 vtkGetMacro(Timing,
int);
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;
int RequestDataInternal(vtkDataSet *input, vtkUnstructuredGrid *output)
Implementation for request data.
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetAssignBoundaryCellsToOneRegion(int val)
Distribute data among processors.
dynamic, self-adjusting array of float
void DivideBoundaryCellsOn()
Another way to set ClipCells and IncludeAllIntersectingCells.
void SetCuts(vtkBSPCuts *cuts)
Superclass for algorithms that produce only data object as output.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkDistributedDataFilter()
abstract superclass for arrays of numeric data
Build a k-d tree decomposition of a list of points.
@ ASSIGN_TO_ALL_INTERSECTING_REGIONS
void AssignBoundaryCellsToOneRegionOn()
Another way to set ClipCells and IncludeAllIntersectingCells.
void SetUserRegionAssignments(const int *map, int numRegions)
vtkBSPCuts doesn't have information about process assignments for the cuts.
void SetBoundaryModeToAssignToOneRegion()
Multiprocessing communication superclass.
a simple class to control print indentation
void AssignBoundaryCellsToAllIntersectingRegionsOn()
Another way to set ClipCells and IncludeAllIntersectingCells.
dynamic, self-adjusting array of int
This class represents an axis-aligned Binary Spatial Partitioning of a 3D space.
list of point or cell ids
void AssignBoundaryCellsToOneRegionOff()
vtkBSPCuts * GetCuts()
You can set the k-d tree decomposition, rather than have D3 compute it.
void SetDivideBoundaryCells(int val)
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Overridden to create the correct type of data output.
void SetAssignBoundaryCellsToAllIntersectingRegions(int val)
void SetController(vtkMultiProcessController *c)
Set/Get the communicator object.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Build a vtkUnstructuredGrid for a spatial region from the data distributed across processes.
~vtkDistributedDataFilter()
abstract class to specify dataset behavior
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
void SetBoundaryModeToSplitBoundaryCells()
dynamic, self-adjusting array of vtkIdType
static vtkDistributedDataFilter * New()
void SetBoundaryMode(int mode)
Handling of ClipCells and IncludeAllIntersectingCells.
void AssignBoundaryCellsToAllIntersectingRegionsOff()
dataset represents arbitrary combinations of all possible cell types
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
void SingleProcessExecute(vtkDataSet *input, vtkUnstructuredGrid *output)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Ensure previous filters don't send up ghost cells.
void SetBoundaryModeToAssignToAllIntersectingRegions()
void DivideBoundaryCellsOff()
vtkPKdTree * GetKdtree()
Get a pointer to the parallel k-d tree object.