91 #ifndef vtkDistributedDataFilter_h
92 #define vtkDistributedDataFilter_h
94 #include "vtkFiltersParallelMPIModule.h"
99 class vtkDistributedDataFilterSTLCloak;
148 vtkBooleanMacro(RetainKdtree,
int);
149 vtkGetMacro(RetainKdtree,
int);
150 vtkSetMacro(RetainKdtree,
int);
161 vtkBooleanMacro(IncludeAllIntersectingCells,
int);
162 vtkGetMacro(IncludeAllIntersectingCells,
int);
163 vtkSetMacro(IncludeAllIntersectingCells,
int);
169 vtkBooleanMacro(ClipCells,
int);
170 vtkGetMacro(ClipCells,
int);
171 vtkSetMacro(ClipCells,
int);
175 ASSIGN_TO_ONE_REGION=0,
176 ASSIGN_TO_ALL_INTERSECTING_REGIONS=1,
177 SPLIT_BOUNDARY_CELLS=2
183 void SetBoundaryMode(
int mode);
187 { this->SetBoundaryMode(
192 int GetBoundaryMode();
205 vtkBooleanMacro(UseMinimalMemory,
int);
206 vtkGetMacro(UseMinimalMemory,
int);
207 vtkSetMacro(UseMinimalMemory,
int);
212 vtkBooleanMacro(Timing,
int);
213 vtkSetMacro(Timing,
int);
214 vtkGetMacro(Timing,
int);
234 void SetUserRegionAssignments(
const int *map,
int numRegions);
245 void AssignBoundaryCellsToOneRegionOn();
246 void AssignBoundaryCellsToOneRegionOff();
247 void SetAssignBoundaryCellsToOneRegion(
int val);
256 void AssignBoundaryCellsToAllIntersectingRegionsOn();
257 void AssignBoundaryCellsToAllIntersectingRegionsOff();
258 void SetAssignBoundaryCellsToAllIntersectingRegions(
int val);
266 void DivideBoundaryCellsOn();
267 void DivideBoundaryCellsOff();
268 void SetDivideBoundaryCells(
int val);
303 DuplicateCellsNo = 0,
304 DuplicateCellsYes = 1
317 int PartitionDataAndAssignToProcesses(
vtkDataSet *set);
329 void ComputeMyRegionBounds();
342 vtkIdList **GetCellIdsForProcess(
int proc,
int *nlists);
346 void SetUpPairWiseExchange();
351 static void FreeIdLists(
vtkIdList**lists,
int nlists);
365 int deleteSendArrays,
int tag);
367 int deleteSendArrays,
int tag);
369 int deleteSendArrays,
int tag);
375 int deleteSendArrays,
int tag);
377 int deleteSendArrays,
int tag);
379 int deleteSendArrays,
int tag);
386 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
390 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
395 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
400 int filterOutDuplicateCells,
int ghostCellFlag,
int tag);
440 vtkDistributedDataFilterSTLCloak *procs);
447 vtkDistributedDataFilterSTLCloak *ptIdMap);
452 int InMySpatialRegion(
float x,
float y,
float z);
453 int InMySpatialRegion(
double x,
double y,
double z);
454 int StrictlyInsideMyBounds(
float x,
float y,
float z);
455 int StrictlyInsideMyBounds(
double x,
double y,
double z);
461 int AddCellsIAlreadyHave);
464 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
467 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
471 int ghostLevel, vtkDistributedDataFilterSTLCloak *idMap);
486 int ptId, vtkDistributedDataFilterSTLCloak *globalToLocal);
503 const char *arrayName,
unsigned char val);
505 const char *arrayName,
unsigned char val);
510 static void RemoveRemoteCellsFromList(
vtkIdList *cellList,
520 int useGlobalNodeIds,
float pointMergeTolerance,
521 int useGlobalCellIds);
533 int NumConvexSubRegions;
534 double *ConvexSubRegionBounds;
539 int IncludeAllIntersectingCells;
541 int AssignBoundaryCellsToOneRegion;
542 int AssignBoundaryCellsToAllIntersectingRegions;
543 int DivideBoundaryCells;
547 int NextProgressStep;
548 double ProgressIncrement;
550 int UseMinimalMemory;
558 vtkInternals* Internals;
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
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()
void PrintSelf(ostream &os, vtkIndent indent)
dynamic, self-adjusting array of vtkIdType
void SetBoundaryModeToAssignToAllIntersectingRegions()
void SetBoundaryModeToAssignToOneRegion()
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 *)
virtual int FillInputPortInformation(int port, vtkInformation *info)
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)
Multiprocessing communication superclass.