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);
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 *)
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.