Go to the documentation of this file.
133 {
return this->RegionAssignmentMap; }
266 int RegionAssignment;
272 static char *StrDupWithNew(
const char *
s);
280 int *RegionAssignmentMap;
281 int RegionAssignmentMapLength;
282 int **ProcessAssignmentMap;
283 int *NumRegionsAssigned;
285 int UpdateRegionAssignment();
290 char *DataLocationMap;
292 int *NumProcessesInRegion;
295 int *NumRegionsInProcess;
302 double *PointDataMin;
303 double *PointDataMax;
305 char **PointDataName;
311 int BuildGlobalIndexLists(
vtkIdType ncells);
321 int _whoHas(
int L,
int R,
int pos);
322 float *GetLocalVal(
int pos);
323 float *GetLocalValNext(
int pos);
324 void SetLocalVal(
int pos,
float *
val);
325 void ExchangeVals(
int pos1,
int pos2);
326 void ExchangeLocalVals(
int pos1,
int pos2);
330 float *CurrentPtArray;
338 int AllCheckForFailure(
int rc,
const char *where,
const char *how);
339 void AllCheckParameters();
344 bool VolumeBounds(
double*);
346 int BreadthFirstDivide(
double *bounds);
350 int Select(
int dim,
int L,
int R);
351 void _select(
int L,
int R,
int K,
int dim);
352 void DoTransfer(
int from,
int to,
int fromIndex,
int toIndex,
int count);
354 int *PartitionAboutMyValue(
int L,
int R,
int K,
int dim);
355 int *PartitionAboutOtherValue(
int L,
int R,
float T,
int dim);
356 int *PartitionSubArray(
int L,
int R,
int K,
int dim,
int p1,
int p2);
359 #ifdef YIELDS_INCONSISTENT_REGION_BOUNDARIES
366 float *DataBounds(
int L,
int K,
int R);
367 void GetLocalMinMax(
int L,
int R,
int me,
float *min,
float *
max);
373 static void CheckFixRegionBoundaries(
vtkKdNode *tree);
377 int AllocateDoubleBuffer();
378 void FreeDoubleBuffer();
379 void SwitchDoubleBuffer();
380 int AllocateSelectBuffer();
381 void FreeSelectBuffer();
383 void InitializeGlobalIndexLists();
384 int AllocateAndZeroGlobalIndexLists();
385 void FreeGlobalIndexLists();
386 void InitializeRegionAssignmentLists();
387 int AllocateAndZeroRegionAssignmentLists();
388 void FreeRegionAssignmentLists();
389 void InitializeProcessDataLists();
390 int AllocateAndZeroProcessDataLists();
391 void FreeProcessDataLists();
392 void InitializeFieldArrayMinMax();
393 int AllocateAndZeroFieldArrayMinMax();
394 void FreeFieldArrayMinMax();
396 void ReleaseTables();
400 void AddProcessRegions(
int procId,
vtkKdNode *kd);
401 void BuildRegionListsForProcesses();
405 int *CollectLocalRegionProcessData();
406 int BuildRegionProcessTables();
407 int BuildFieldArrayMinMax();
408 void AddEntry(
int *list,
int len,
int id);
409 #ifdef VTK_USE_64BIT_IDS
414 static int FindNextLocalArrayIndex(
const char *
n,
const char **
names,
int len,
int start=0);
static const int ContiguousAssignment
This class represents a single spatial region in an 3D axis aligned binary spatial partitioning....
static vtkPKdTree * New()
GLsizei GLsizei GLenum GLenum const GLvoid * data
#define vtkGetObjectMacro(name, type)
vtkIdType GetCellListsForProcessRegions(int ProcessId, vtkDataSet *set, vtkIdList *inRegionCells, vtkIdList *onBoundaryCells)
#define VTKFILTERSPARALLEL_EXPORT
int ViewOrderAllProcessesFromPosition(const double cameraPosition[3], vtkIntArray *orderedList)
GLuint GLuint GLsizei count
int MultiProcessBuildLocator(double *bounds)
int GetCellArrayGlobalRange(const char *name, double range[2])
int GetTotalProcessesInRegion(int regionId)
vtkIdType GetTotalNumberOfCells()
Used to send/receive messages in a multiprocess environment.
int GetCellArrayGlobalRange(const char *name, float range[2])
#define vtkTypeMacro(thisClass, superclass)
int GetProcessAssignedToRegion(int regionId)
void PrintTables(ostream &os, vtkIndent indent)
GLint GLint GLint GLint GLint x
static int Select(int dim, float *c1, int *ids, int nvals, double &coord)
int HasData(int processId, int regionId)
void PrintSelf(ostream &os, vtkIndent indent)
Build a k-d tree decomposition of a list of points.
scalable collective communication for a subset of members of a parallel VTK application
void PrintTiming(ostream &os, vtkIndent indent)
int CreateGlobalDataArrayBounds()
int GetProcessCellCountForRegion(int processId, int regionId)
static const int NoRegionAssignment
int GetRegionsCellCountForProcess(int ProcessId, int *count, int len)
int GetCellArrayGlobalRange(int arrayIndex, float range[2])
void SetController(vtkMultiProcessController *c)
GLuint const GLchar * name
int AssignRegionsRoundRobin()
int GetPointArrayGlobalRange(int arrayIndex, float range[2])
Multiprocessing communication superclass.
int CreateProcessCellCountData()
a simple class to control print indentation
dynamic, self-adjusting array of int
void operator=(const vtkKdTree &)
int DivideRegion(vtkKdNode *kd, float *c1, int *ids, int nlevels)
list of point or cell ids
static const int RoundRobinAssignment
int GetCellArrayGlobalRange(int arrayIndex, double range[2])
#define vtkGetMacro(name, type)
vtkIdType GetCellListsForProcessRegions(int ProcessId, vtkIdList *inRegionCells, vtkIdList *onBoundaryCells)
GLenum GLuint GLenum GLsizei const GLchar * buf
static const int UserDefinedAssignment
int AssignRegionsContiguous()
abstract class to specify dataset behavior
int AssignRegions(int *map, int numRegions)
const int * GetRegionAssignmentMap()
GLint GLint GLint GLint GLint GLint y
int GetPointArrayGlobalRange(const char *name, float range[2])
int GetProcessesCellCountForRegion(int regionId, int *count, int len)
int GetTotalRegionsForProcess(int processId)
int GetRegionListForProcess(int processId, vtkIntArray *regions)
int GetProcessListForRegion(int regionId, vtkIntArray *processes)
a Kd-tree spatial decomposition of a set of points
int GetPointArrayGlobalRange(int arrayIndex, double range[2])
int ViewOrderAllProcessesInDirection(const double directionOfProjection[3], vtkIntArray *orderedList)
void GetAllProcessesBorderingOnPoint(float x, float y, float z, vtkIntArray *list)
int GetPointArrayGlobalRange(const char *name, double range[2])
void SingleProcessBuildLocator()
vtkIdType GetCellListsForProcessRegions(int ProcessId, int set, vtkIdList *inRegionCells, vtkIdList *onBoundaryCells)
int GetRegionAssignmentList(int procId, vtkIntArray *list)