91 #ifndef __vtkDistributedDataFilter_h
92 #define __vtkDistributedDataFilter_h
99 class vtkDistributedDataFilterSTLCloak;
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();
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);
484 int ptId, vtkDistributedDataFilterSTLCloak *globalToLocal);
501 const char *arrayName,
unsigned char val);
503 const char *arrayName,
unsigned char val);
508 static void RemoveRemoteCellsFromList(
vtkIdList *cellList,
518 int useGlobalNodeIds,
float pointMergeTolerance,
519 int useGlobalCellIds);
531 int NumConvexSubRegions;
532 double *ConvexSubRegionBounds;
537 int IncludeAllIntersectingCells;
539 int AssignBoundaryCellsToOneRegion;
540 int AssignBoundaryCellsToAllIntersectingRegions;
541 int DivideBoundaryCells;
545 int NextProgressStep;
546 double ProgressIncrement;
548 int UseMinimalMemory;
556 vtkInternals* Internals;
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
GLenum GLuint GLenum GLsizei const GLchar * buf
Build a k-d tree decomposition of a list of points.
This class represents an axis-aligned Binary Spatial Partitioning of a 3D space.
GLenum GLenum GLenum input
abstract class to specify dataset behavior
static vtkDataObjectAlgorithm * New()
#define vtkGetMacro(name, type)
dynamic, self-adjusting array of float
void SetBoundaryModeToSplitBoundaryCells()
void PrintSelf(ostream &os, vtkIndent indent)
dynamic, self-adjusting array of vtkIdType
void SetBoundaryModeToAssignToAllIntersectingRegions()
GLint GLint GLint GLint GLint GLint y
#define vtkTypeMacro(thisClass, superclass)
void SetBoundaryModeToAssignToOneRegion()
Distribute data among processors.
GLint GLint GLint GLint GLint x
#define VTKFILTERSPARALLELMPI_EXPORT
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)
#define vtkGetObjectMacro(name, type)
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)
#define vtkBooleanMacro(name, type)
#define vtkSetMacro(name, type)
Multiprocessing communication superclass.