Go to the documentation of this file.
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
187 { this->SetBoundaryMode(
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;
int RequestDataInternal(vtkDataSet *input, vtkUnstructuredGrid *output)
#define vtkGetObjectMacro(name, type)
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetAssignBoundaryCellsToOneRegion(int val)
Distribute data among processors.
dynamic, self-adjusting array of float
void DivideBoundaryCellsOn()
void SetCuts(vtkBSPCuts *cuts)
Superclass for algorithms that produce only data object as output.
#define vtkTypeMacro(thisClass, superclass)
void PrintSelf(ostream &os, vtkIndent indent)
vtkDistributedDataFilter()
GLint GLint GLint GLint GLint x
abstract superclass for arrays of numeric data
GLenum GLenum GLenum input
Build a k-d tree decomposition of a list of points.
@ ASSIGN_TO_ALL_INTERSECTING_REGIONS
void AssignBoundaryCellsToOneRegionOn()
void SetUserRegionAssignments(const int *map, int numRegions)
void SetBoundaryModeToAssignToOneRegion()
Multiprocessing communication superclass.
a simple class to control print indentation
void AssignBoundaryCellsToAllIntersectingRegionsOn()
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()
void SetDivideBoundaryCells(int val)
#define vtkGetMacro(name, type)
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetAssignBoundaryCellsToAllIntersectingRegions(int val)
void SetController(vtkMultiProcessController *c)
GLenum GLuint GLenum GLsizei const GLchar * buf
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
~vtkDistributedDataFilter()
abstract class to specify dataset behavior
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkSetMacro(IgnoreDriverBugs, bool)
void SetBoundaryModeToSplitBoundaryCells()
dynamic, self-adjusting array of vtkIdType
GLint GLint GLint GLint GLint GLint y
static vtkDistributedDataFilter * New()
void SetBoundaryMode(int mode)
void AssignBoundaryCellsToAllIntersectingRegionsOff()
dataset represents arbitrary combinations of all possible cell types
virtual int FillInputPortInformation(int port, vtkInformation *info)
#define VTKFILTERSPARALLELMPI_EXPORT
void SingleProcessExecute(vtkDataSet *input, vtkUnstructuredGrid *output)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetBoundaryModeToAssignToAllIntersectingRegions()
void DivideBoundaryCellsOff()