91 #ifndef __vtkDistributedDataFilter_h
92 #define __vtkDistributedDataFilter_h
98 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);
438 vtkDistributedDataFilterSTLCloak *procs);
445 vtkDistributedDataFilterSTLCloak *ptIdMap);
450 int InMySpatialRegion(
float x,
float y,
float z);
451 int InMySpatialRegion(
double x,
double y,
double z);
452 int StrictlyInsideMyBounds(
float x,
float y,
float z);
453 int StrictlyInsideMyBounds(
double x,
double y,
double z);
459 int AddCellsIAlreadyHave);
462 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
465 vtkDistributedDataFilterSTLCloak *globalToLocalMap);
469 int ghostLevel, vtkDistributedDataFilterSTLCloak *idMap);
485 int ptId, vtkDistributedDataFilterSTLCloak *globalToLocal);
502 const char *arrayName,
unsigned char val);
504 const char *arrayName,
unsigned char val);
509 static void RemoveRemoteCellsFromList(
vtkIdList *cellList,
519 int useGlobalNodeIds,
float pointMergeTolerance,
520 int useGlobalCellIds);
538 int NumConvexSubRegions;
539 double *ConvexSubRegionBounds;
544 int IncludeAllIntersectingCells;
546 int AssignBoundaryCellsToOneRegion;
547 int AssignBoundaryCellsToAllIntersectingRegions;
548 int DivideBoundaryCells;
552 int NextProgressStep;
553 double ProgressIncrement;
555 int UseMinimalMemory;
563 vtkInternals* Internals;
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
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 RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Multiprocessing communication superclass.