VTK  9.3.20240420
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
vtkPKdTree Class Reference

Build a k-d tree decomposition of a list of points. More...

#include <vtkPKdTree.h>

Inheritance diagram for vtkPKdTree:
[legend]
Collaboration diagram for vtkPKdTree:
[legend]

Public Types

typedef vtkKdTree Superclass
 
- Public Types inherited from vtkKdTree
typedef vtkLocator Superclass
 
- Public Types inherited from vtkLocator
typedef vtkObject Superclass
 Standard type and print methods.
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Standard type and print methods.
 
vtkPKdTreeNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
void PrintTiming (ostream &os, vtkIndent indent) override
 Print timing of k-d tree build.
 
void PrintTables (ostream &os, vtkIndent indent)
 
void BuildLocator () override
 Build the spatial decomposition.
 
vtkIdType GetTotalNumberOfCells ()
 Get the total number of cells distributed across the data files read by all processes.
 
int CreateProcessCellCountData ()
 Create tables of counts of cells per process per region.
 
int CreateGlobalDataArrayBounds ()
 A convenience function which compiles the global bounds of the data arrays across processes.
 
int AssignRegions (int *map, int numRegions)
 Assign spatial regions to processes via a user defined map.
 
int AssignRegionsRoundRobin ()
 Let the PKdTree class assign a process to each region in a round robin fashion.
 
int AssignRegionsContiguous ()
 Let the PKdTree class assign a process to each region by assigning contiguous sets of spatial regions to each process.
 
const int * GetRegionAssignmentMap ()
 Returns the region assignment map where index is the region and value is the processes id for that region.
 
int GetRegionAssignmentList (int procId, vtkIntArray *list)
 Writes the list of region IDs assigned to the specified process.
 
void GetAllProcessesBorderingOnPoint (float x, float y, float z, vtkIntArray *list)
 The k-d tree spatial regions have been assigned to processes.
 
int GetProcessAssignedToRegion (int regionId)
 Returns the ID of the process assigned to the region.
 
int HasData (int processId, int regionId)
 Returns 1 if the process has data for the given region, 0 otherwise.
 
int GetProcessCellCountForRegion (int processId, int regionId)
 Returns the number of cells the specified process has in the specified region.
 
int GetTotalProcessesInRegion (int regionId)
 Returns the total number of processes that have data falling within this spatial region.
 
int GetProcessListForRegion (int regionId, vtkIntArray *processes)
 Adds the list of processes having data for the given region to the supplied list, returns the number of processes added.
 
int GetProcessesCellCountForRegion (int regionId, int *count, int len)
 Writes the number of cells each process has for the region to the supplied list of length len.
 
int GetTotalRegionsForProcess (int processId)
 Returns the total number of spatial regions that a given process has data for.
 
int GetRegionListForProcess (int processId, vtkIntArray *regions)
 Adds the region IDs for which this process has data to the supplied vtkIntArray.
 
int GetRegionsCellCountForProcess (int ProcessId, int *count, int len)
 Writes to the supplied integer array the number of cells this process has for each region.
 
int ViewOrderAllProcessesInDirection (const double directionOfProjection[3], vtkIntArray *orderedList)
 Return a list of all processes in order from front to back given a vector direction of projection.
 
int ViewOrderAllProcessesFromPosition (const double cameraPosition[3], vtkIntArray *orderedList)
 Return a list of all processes in order from front to back given a camera position.
 
int GetCellArrayGlobalRange (const char *name, float range[2])
 An added feature of vtkPKdTree is that it will calculate the the global range of field arrays across all processes.
 
int GetPointArrayGlobalRange (const char *name, float range[2])
 
int GetCellArrayGlobalRange (const char *name, double range[2])
 
int GetPointArrayGlobalRange (const char *name, double range[2])
 
int GetCellArrayGlobalRange (int arrayIndex, double range[2])
 
int GetPointArrayGlobalRange (int arrayIndex, double range[2])
 
int GetCellArrayGlobalRange (int arrayIndex, float range[2])
 
int GetPointArrayGlobalRange (int arrayIndex, float range[2])
 
void SetController (vtkMultiProcessController *c)
 Set/Get the communicator object.
 
virtual vtkMultiProcessControllerGetController ()
 Set/Get the communicator object.
 
virtual int GetRegionAssignment ()
 The PKdTree class can assign spatial regions to processors after building the k-d tree, using one of several partitioning criteria.
 
int GetRegionAssignmentMapLength ()
 / Returns the number of regions in the region assignment map.
 
vtkIdType GetCellListsForProcessRegions (int ProcessId, int set, vtkIdList *inRegionCells, vtkIdList *onBoundaryCells)
 After regions have been assigned to processes, I may want to know which cells I have that are in the regions assigned to a particular process.
 
vtkIdType GetCellListsForProcessRegions (int ProcessId, vtkDataSet *set, vtkIdList *inRegionCells, vtkIdList *onBoundaryCells)
 After regions have been assigned to processes, I may want to know which cells I have that are in the regions assigned to a particular process.
 
vtkIdType GetCellListsForProcessRegions (int ProcessId, vtkIdList *inRegionCells, vtkIdList *onBoundaryCells)
 After regions have been assigned to processes, I may want to know which cells I have that are in the regions assigned to a particular process.
 
- Public Member Functions inherited from vtkKdTree
virtual vtkTypeBool IsA (const char *type)
 Standard type and print methods.
 
vtkKdTreeNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
virtual int GetNumberOfRegionsOrLess ()
 Set/Get the number of spatial regions you want to get close to without going over.
 
virtual void SetNumberOfRegionsOrLess (int)
 
virtual int GetNumberOfRegionsOrMore ()
 Set/Get the number of spatial regions you want to get close to while having at least this many regions.
 
virtual void SetNumberOfRegionsOrMore (int)
 
virtual double GetFudgeFactor ()
 Some algorithms on k-d trees require a value that is a very small distance relative to the diameter of the entire space divided by the k-d tree.
 
virtual void SetFudgeFactor (double)
 
virtual vtkBSPCutsGetCuts ()
 Get a vtkBSPCuts object, a general object representing an axis- aligned spatial partitioning.
 
void SetCuts (vtkBSPCuts *cuts)
 Normally the k-d tree is computed from the dataset(s) provided in SetDataSet.
 
void OmitXPartitioning ()
 Omit partitions along the X axis, yielding shafts in the X direction.
 
void OmitYPartitioning ()
 Omit partitions along the Y axis, yielding shafts in the Y direction.
 
void OmitZPartitioning ()
 Omit partitions along the Z axis, yielding shafts in the Z direction.
 
void OmitXYPartitioning ()
 Omit partitions along the X and Y axes, yielding slabs along Z.
 
void OmitYZPartitioning ()
 Omit partitions along the Y and Z axes, yielding slabs along X.
 
void OmitZXPartitioning ()
 Omit partitions along the Z and X axes, yielding slabs along Y.
 
void OmitNoPartitioning ()
 Partition along all three axes - this is the default.
 
void SetDataSet (vtkDataSet *set) override
 This class can compute a spatial decomposition based on the cells in a list of one or more input data sets.
 
virtual void AddDataSet (vtkDataSet *set)
 This class can compute a spatial decomposition based on the cells in a list of one or more input data sets.
 
int GetNumberOfDataSets ()
 Get the number of data sets included in spatial partitioning.
 
vtkDataSetGetDataSet (int n)
 Get the nth defined data set in the spatial partitioning.
 
vtkDataSetGetDataSet () override
 Return the 0'th data set.
 
int GetDataSetIndex (vtkDataSet *set)
 Return the index of the given data set.
 
void GetBounds (double *bounds)
 Get the spatial bounds of the entire k-d tree space.
 
void SetNewBounds (double *bounds)
 There are certain applications where you want the bounds of the k-d tree space to be at least as large as a specified box.
 
void GetRegionBounds (int regionID, double bounds[6])
 Get the spatial bounds of k-d tree region.
 
void GetRegionDataBounds (int regionID, double bounds[6])
 Get the bounds of the data within the k-d tree region.
 
void PrintRegion (int id)
 Print out leaf node data for given id.
 
void CreateCellLists (int dataSetIndex, int *regionReqList, int reqListSize)
 Create a list for each of the requested regions, listing the IDs of all cells whose centroid falls in the region.
 
void CreateCellLists (vtkDataSet *set, int *regionReqList, int reqListSize)
 
void CreateCellLists (int *regionReqList, int listSize)
 
void CreateCellLists ()
 
void DeleteCellLists ()
 Free the memory used by the cell lists.
 
vtkIdListGetCellList (int regionID)
 Get the cell list for a region.
 
vtkIdListGetBoundaryCellList (int regionID)
 The cell list obtained with GetCellList is the list of all cells such that their centroid is contained in the spatial region.
 
int * AllGetRegionContainingCell ()
 Get a list (in order by data set by cell id) of the region IDs of the region containing the centroid for each cell.
 
int GetRegionContainingPoint (double x, double y, double z)
 Get the id of the region containing the specified location.
 
void BuildLocator () override
 Create the k-d tree decomposition of the cells of the data set or data sets.
 
void ForceBuildLocator () override
 Build the locator from the input dataset (even if UseExistingSearchStructure is on).
 
int MinimalNumberOfConvexSubRegions (vtkIntArray *regionIdList, double **convexRegionBounds)
 Given a list of region IDs, determine the decomposition of these regions into the minimal number of convex subregions.
 
int ViewOrderAllRegionsInDirection (const double directionOfProjection[3], vtkIntArray *orderedList)
 Given a direction of projection (typically obtained with vtkCamera::GetDirectionOfProjection()), this method, creates a list of the k-d tree region IDs in order from front to back with respect to that direction.
 
int ViewOrderRegionsInDirection (vtkIntArray *regionIds, const double directionOfProjection[3], vtkIntArray *orderedList)
 Given a direction of projection and a list of k-d tree region IDs, this method, creates a list of the k-d tree region IDs in order from front to back with respect to that direction.
 
int ViewOrderAllRegionsFromPosition (const double directionOfProjection[3], vtkIntArray *orderedList)
 Given a camera position (typically obtained with vtkCamera::GetPosition()), this method, creates a list of the k-d tree region IDs in order from front to back with respect to that direction.
 
int ViewOrderRegionsFromPosition (vtkIntArray *regionIds, const double directionOfProjection[3], vtkIntArray *orderedList)
 Given a camera position and a list of k-d tree region IDs, this method, creates a list of the k-d tree region IDs in order from front to back with respect to that direction.
 
vtkIdTypeArrayBuildMapForDuplicatePoints (float tolerance)
 This call returns a mapping from the original point IDs supplied to BuildLocatorFromPoints to a subset of those IDs that is unique within the specified tolerance.
 
vtkIdType FindClosestPointWithinRadius (double radius, const double x[3], double &dist2)
 Given a position x and a radius r, return the id of the point closest to the point in that radius.
 
void FindPointsWithinRadius (double R, const double x[3], vtkIdList *result)
 Find all points within a specified radius R of position x.
 
void FindClosestNPoints (int N, const double x[3], vtkIdList *result)
 Find the closest N points to a position.
 
vtkIdTypeArrayGetPointsInRegion (int regionId)
 Get a list of the original IDs of all points in a region.
 
void FreeSearchStructure () override
 Delete the k-d tree data structure.
 
void GenerateRepresentation (int level, vtkPolyData *pd) override
 Create a polydata representation of the boundaries of the k-d tree regions.
 
void GenerateRepresentation (int *regionList, int len, vtkPolyData *pd)
 Generate a polygonal representation of a list of regions.
 
virtual void PrintTiming (ostream &os, vtkIndent indent)
 Print timing of k-d tree build.
 
virtual int NewGeometry ()
 Return 1 if the geometry of the input data sets has changed since the last time the k-d tree was built.
 
virtual int NewGeometry (vtkDataSet **sets, int numDataSets)
 Return 1 if the geometry of these data sets differs for the geometry of the last data sets used to build the k-d tree.
 
virtual void InvalidateGeometry ()
 Forget about the last geometry used.
 
void FindPointsInArea (double *area, vtkIdTypeArray *ids, bool clearArray=true)
 Fill ids with points found in area.
 
virtual void TimingOn ()
 Turn on timing of the k-d tree build.
 
virtual void TimingOff ()
 Turn on timing of the k-d tree build.
 
virtual void SetTiming (vtkTypeBool)
 Turn on timing of the k-d tree build.
 
virtual vtkTypeBool GetTiming ()
 Turn on timing of the k-d tree build.
 
virtual void SetMinCells (int)
 Minimum number of cells per spatial region.
 
virtual int GetMinCells ()
 Minimum number of cells per spatial region.
 
virtual void RemoveDataSet (int index)
 Remove the given data set.
 
virtual void RemoveDataSet (vtkDataSet *set)
 Remove the given data set.
 
virtual void RemoveAllDataSets ()
 Remove the given data set.
 
virtual vtkDataSetCollectionGetDataSets ()
 Return a collection of all the data sets.
 
virtual int GetNumberOfRegions ()
 The number of leaf nodes of the tree, the spatial regions.
 
void PrintTree ()
 Print out nodes of kd tree.
 
void PrintVerboseTree ()
 Print out nodes of kd tree.
 
virtual void SetIncludeRegionBoundaryCells (vtkTypeBool)
 If IncludeRegionBoundaryCells is ON, CreateCellLists() will also create a list of cells which intersect a given region, but are not assigned to the region.
 
virtual vtkTypeBool GetIncludeRegionBoundaryCells ()
 If IncludeRegionBoundaryCells is ON, CreateCellLists() will also create a list of cells which intersect a given region, but are not assigned to the region.
 
virtual void IncludeRegionBoundaryCellsOn ()
 If IncludeRegionBoundaryCells is ON, CreateCellLists() will also create a list of cells which intersect a given region, but are not assigned to the region.
 
virtual void IncludeRegionBoundaryCellsOff ()
 If IncludeRegionBoundaryCells is ON, CreateCellLists() will also create a list of cells which intersect a given region, but are not assigned to the region.
 
vtkIdType GetCellLists (vtkIntArray *regions, int set, vtkIdList *inRegionCells, vtkIdList *onBoundaryCells)
 For a list of regions, get two cell lists.
 
vtkIdType GetCellLists (vtkIntArray *regions, vtkDataSet *set, vtkIdList *inRegionCells, vtkIdList *onBoundaryCells)
 For a list of regions, get two cell lists.
 
vtkIdType GetCellLists (vtkIntArray *regions, vtkIdList *inRegionCells, vtkIdList *onBoundaryCells)
 For a list of regions, get two cell lists.
 
int GetRegionContainingCell (vtkDataSet *set, vtkIdType cellID)
 Get the id of the region containing the cell centroid.
 
int GetRegionContainingCell (int set, vtkIdType cellID)
 Get the id of the region containing the cell centroid.
 
int GetRegionContainingCell (vtkIdType cellID)
 Get the id of the region containing the cell centroid.
 
void BuildLocatorFromPoints (vtkPointSet *pointset)
 This is a special purpose locator that builds a k-d tree to find duplicate and near-by points.
 
void BuildLocatorFromPoints (vtkPoints *ptArray)
 This is a special purpose locator that builds a k-d tree to find duplicate and near-by points.
 
void BuildLocatorFromPoints (vtkPoints **ptArray, int numPtArrays)
 This is a special purpose locator that builds a k-d tree to find duplicate and near-by points.
 
vtkIdType FindPoint (double *x)
 Find the Id of the point that was previously supplied to BuildLocatorFromPoints().
 
vtkIdType FindPoint (double x, double y, double z)
 Find the Id of the point that was previously supplied to BuildLocatorFromPoints().
 
vtkIdType FindClosestPoint (double *x, double &dist2)
 Find the Id of the point that was previously supplied to BuildLocatorFromPoints() which is closest to the given point.
 
vtkIdType FindClosestPoint (double x, double y, double z, double &dist2)
 Find the Id of the point that was previously supplied to BuildLocatorFromPoints() which is closest to the given point.
 
vtkIdType FindClosestPointInRegion (int regionId, double *x, double &dist2)
 Find the Id of the point in the given region which is closest to the given point.
 
vtkIdType FindClosestPointInRegion (int regionId, double x, double y, double z, double &dist2)
 Find the Id of the point in the given region which is closest to the given point.
 
virtual void GenerateRepresentationUsingDataBoundsOn ()
 The polydata representation of the k-d tree shows the boundaries of the k-d tree decomposition spatial regions.
 
virtual void GenerateRepresentationUsingDataBoundsOff ()
 The polydata representation of the k-d tree shows the boundaries of the k-d tree decomposition spatial regions.
 
virtual void SetGenerateRepresentationUsingDataBounds (vtkTypeBool)
 The polydata representation of the k-d tree shows the boundaries of the k-d tree decomposition spatial regions.
 
virtual vtkTypeBool GetGenerateRepresentationUsingDataBounds ()
 The polydata representation of the k-d tree shows the boundaries of the k-d tree decomposition spatial regions.
 
- Public Member Functions inherited from vtkLocator
virtual void Update ()
 Cause the locator to rebuild itself if it or its input dataset has changed.
 
virtual void Initialize ()
 Initialize locator.
 
virtual void BuildLocator ()=0
 Build the locator from the input dataset.
 
virtual void ForceBuildLocator ()
 Build the locator from the input dataset (even if UseExistingSearchStructure is on).
 
virtual void FreeSearchStructure ()=0
 Free the memory required for the spatial data structure.
 
virtual void GenerateRepresentation (int level, vtkPolyData *pd)=0
 Method to build a representation at a particular level.
 
virtual void SetMaxLevel (int)
 Set the maximum allowable level for the tree.
 
virtual int GetMaxLevel ()
 Set the maximum allowable level for the tree.
 
virtual int GetLevel ()
 Get the level of the locator (determined automatically if Automatic is true).
 
virtual void SetAutomatic (vtkTypeBool)
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket.
 
virtual vtkTypeBool GetAutomatic ()
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket.
 
virtual void AutomaticOn ()
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket.
 
virtual void AutomaticOff ()
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket.
 
virtual void SetTolerance (double)
 Specify absolute tolerance (in world coordinates) for performing geometric operations.
 
virtual double GetTolerance ()
 Specify absolute tolerance (in world coordinates) for performing geometric operations.
 
virtual void SetUseExistingSearchStructure (vtkTypeBool)
 Get/Set UseExistingSearchStructure, which when enabled it allows the locator to NOT be built again.
 
virtual vtkTypeBool GetUseExistingSearchStructure ()
 Get/Set UseExistingSearchStructure, which when enabled it allows the locator to NOT be built again.
 
virtual void UseExistingSearchStructureOn ()
 Get/Set UseExistingSearchStructure, which when enabled it allows the locator to NOT be built again.
 
virtual void UseExistingSearchStructureOff ()
 Get/Set UseExistingSearchStructure, which when enabled it allows the locator to NOT be built again.
 
virtual vtkMTimeType GetBuildTime ()
 Return the time of the last data structure build.
 
bool UsesGarbageCollector () const override
 Handle the PointSet <-> Locator loop.
 
vtkLocatorNewInstance () const
 Standard type and print methods.
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on.
 
virtual void DebugOff ()
 Turn debugging output off.
 
bool GetDebug ()
 Get the value of the debug flag.
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag.
 
virtual void Modified ()
 Update the modification time for this object.
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time.
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
vtkTypeBool InvokeEvent (unsigned long event)
 
vtkTypeBool InvokeEvent (const char *event)
 
std::string GetObjectDescription () const override
 The object description printed in messages and PrintSelf output.
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method.
 
vtkTypeBool InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
vtkTypeBool InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
virtual void SetObjectName (const std::string &objectName)
 Set/get the name of this object for reporting purposes.
 
virtual std::string GetObjectName () const
 Set/get the name of this object for reporting purposes.
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string.
 
virtual std::string GetObjectDescription () const
 The object description printed in messages and PrintSelf output.
 
virtual vtkTypeBool IsA (const char *name)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
virtual vtkIdType GetNumberOfGenerationsFromBase (const char *name)
 Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
virtual void Delete ()
 Delete a VTK object.
 
virtual void FastDelete ()
 Delete a reference to this object.
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream.
 
void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object).
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object).
 
int GetReferenceCount ()
 Return the current reference count of this object.
 
void SetReferenceCount (int)
 Sets the reference count.
 
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space.
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkPKdTreeSafeDownCast (vtkObjectBase *o)
 
static vtkPKdTreeNew ()
 
- Static Public Member Functions inherited from vtkKdTree
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkKdTreeSafeDownCast (vtkObjectBase *o)
 
static vtkKdTreeNew ()
 
static vtkKdNodeCopyTree (vtkKdNode *kd)
 Create a copy of the binary tree representation of the k-d tree spatial partitioning provided.
 
- Static Public Member Functions inherited from vtkLocator
static vtkTypeBool IsTypeOf (const char *type)
 Standard type and print methods.
 
static vtkLocatorSafeDownCast (vtkObjectBase *o)
 Standard type and print methods.
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes.
 
static void SetGlobalWarningDisplay (vtkTypeBool val)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static vtkTypeBool GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class.
 
static vtkIdType GetNumberOfGenerationsFromBaseType (const char *name)
 Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within.
 
static bool GetUsingMemkind ()
 A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space.
 

Static Public Attributes

static const int NoRegionAssignment
 
static const int ContiguousAssignment
 
static const int UserDefinedAssignment
 
static const int RoundRobinAssignment
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 Standard type and print methods.
 
 vtkPKdTree ()
 
 ~vtkPKdTree () override
 
void SingleProcessBuildLocator ()
 
int MultiProcessBuildLocator (double *bounds)
 
- Protected Member Functions inherited from vtkKdTree
virtual vtkObjectBaseNewInstanceInternal () const
 Standard type and print methods.
 
 vtkKdTree ()
 
 ~vtkKdTree () override
 
void BuildLocatorInternal () override
 This function is not pure virtual to maintain backwards compatibility.
 
void SetCalculator (vtkKdNode *kd)
 
int ProcessUserDefinedCuts (double *bounds)
 
void SetCuts (vtkBSPCuts *cuts, int userDefined)
 
void UpdateBuildTime ()
 Save enough state so NewGeometry() can work, and update the BuildTime time stamp.
 
int DivideTest (int numberOfPoints, int level)
 Prior to dividing a region at level "level", of size "numberOfPoints", apply the tests implied by MinCells, NumberOfRegionsOrMore and NumberOfRegionsOrLess.
 
void BuildRegionList ()
 
virtual int SelectCutDirection (vtkKdNode *kd)
 
void SetActualLevel ()
 
void GetRegionsAtLevel (int level, vtkKdNode **nodes)
 Get back a list of the nodes at a specified level, nodes must be preallocated to hold 2^^(level) node structures.
 
int GetNumberOfCells ()
 Returns the total number of cells in all the data sets.
 
int GetDataSetsNumberOfCells (int set1, int set2)
 Returns the total number of cells in data set 1 through data set 2.
 
void ComputeCellCenter (vtkDataSet *set, int cellId, float *center)
 Get or compute the center of one cell.
 
void ComputeCellCenter (vtkDataSet *set, int cellId, double *center)
 
float * ComputeCellCenters ()
 Compute and return a pointer to a list of all cell centers, in order by data set by cell Id.
 
float * ComputeCellCenters (int set)
 
float * ComputeCellCenters (vtkDataSet *set)
 
void UpdateProgress (double amount)
 Modelled on vtkAlgorithm::UpdateProgress().
 
void UpdateSubOperationProgress (double amount)
 
void FindPointsWithinRadius (vtkKdNode *node, double R2, const double x[3], vtkIdList *ids)
 
void AddAllPointsInRegion (vtkKdNode *node, vtkIdList *ids)
 
void FindPointsInArea (vtkKdNode *node, double *area, vtkIdTypeArray *ids)
 
void AddAllPointsInRegion (vtkKdNode *node, vtkIdTypeArray *ids)
 
int DivideRegion (vtkKdNode *kd, float *c1, int *ids, int nlevels)
 
void DoMedianFind (vtkKdNode *kd, float *c1, int *ids, int d1, int d2, int d3)
 
void SelfRegister (vtkKdNode *kd)
 
void InitializeCellLists ()
 
vtkIdListGetList (int regionId, vtkIdList **which)
 
void ComputeCellCenter (vtkCell *cell, double *center, double *weights)
 
void GenerateRepresentationDataBounds (int level, vtkPolyData *pd)
 
void _generateRepresentationDataBounds (vtkKdNode *kd, vtkPoints *pts, vtkCellArray *polys, int level)
 
void GenerateRepresentationWholeSpace (int level, vtkPolyData *pd)
 
void _generateRepresentationWholeSpace (vtkKdNode *kd, vtkPoints *pts, vtkCellArray *polys, int level)
 
void AddPolys (vtkKdNode *kd, vtkPoints *pts, vtkCellArray *polys)
 
void printTree_ (int verbose)
 
int SearchNeighborsForDuplicate (int regionId, float *point, int **pointsSoFar, int *len, float tolerance, float tolerance2)
 
int SearchRegionForDuplicate (float *point, int *pointsSoFar, int len, float tolerance2)
 
int FindClosestPointInRegion_ (int regionId, double x, double y, double z, double &dist2)
 
int FindClosestPointInSphere (double x, double y, double z, double radius, int skipRegion, double &dist2)
 
int ViewOrderRegionsInDirection_ (vtkIntArray *IdsOfInterest, const double dop[3], vtkIntArray *orderedList)
 
int ViewOrderRegionsFromPosition_ (vtkIntArray *IdsOfInterest, const double pos[3], vtkIntArray *orderedList)
 
void SetInputDataInfo (int i, int dims[3], double origin[3], double spacing[3])
 
int CheckInputDataInfo (int i, int dims[3], double origin[3], double spacing[3])
 
void ClearLastBuildCache ()
 
void NewPartitioningRequest (int req)
 
 vtkKdTree (const vtkKdTree &)=delete
 
void operator= (const vtkKdTree &)=delete
 
virtual void SetProgress (double)
 Set/Get the execution progress of a process object.
 
virtual double GetProgress ()
 Set/Get the execution progress of a process object.
 
- Protected Member Functions inherited from vtkLocator
 vtkLocator ()
 
 ~vtkLocator () override
 
virtual void BuildLocatorInternal ()
 This function is not pure virtual to maintain backwards compatibility.
 
void ReportReferences (vtkGarbageCollector *) override
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events.
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events.
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void RegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
virtual void ObjectFinalize ()
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Additional Inherited Members

- Protected Types inherited from vtkKdTree
enum  { XDIM = 0 , YDIM = 1 , ZDIM = 2 }
 
- Static Protected Member Functions inherited from vtkKdTree
static void DeleteAllDescendants (vtkKdNode *nd)
 
static void GetLeafNodeIds (vtkKdNode *node, vtkIntArray *ids)
 Adds to the vtkIntArray the list of region IDs of all leaf nodes in the given node.
 
static void SetNewBounds_ (vtkKdNode *kd, double *b, int *fixDim)
 
static void CopyChildNodes (vtkKdNode *to, vtkKdNode *from)
 
static void CopyKdNode (vtkKdNode *to, vtkKdNode *from)
 
static void SetDataBoundsToSpatialBounds (vtkKdNode *kd)
 
static void ZeroNumberOfPoints (vtkKdNode *kd)
 
static int ViewOrderRegionsInDirection_P (vtkKdNode *node, vtkIntArray *list, vtkIntArray *IdsOfInterest, const double dir[3], int nextId)
 
static int ViewOrderRegionsFromPosition_P (vtkKdNode *node, vtkIntArray *list, vtkIntArray *IdsOfInterest, const double pos[3], int nextId)
 
static int ConvexSubRegions_ (int *ids, int len, vtkKdNode *tree, vtkKdNode **nodes)
 
static int FoundId (vtkIntArray *idArray, int id)
 
static void printTree_P (vtkKdNode *kd, int depth, int verbose)
 
static int MidValue (int dim, float *c1, int nvals, double &coord)
 
static int Select (int dim, float *c1, int *ids, int nvals, double &coord)
 
static float FindMaxLeftHalf (int dim, float *c1, int K)
 
static void Select_ (int dim, float *X, int *ids, int L, int R, int K)
 
static int ComputeLevel (vtkKdNode *kd)
 
static int SelfOrder (int id, vtkKdNode *kd)
 
static int findRegion (vtkKdNode *node, float x, float y, float z)
 
static int findRegion (vtkKdNode *node, double x, double y, double z)
 
static vtkKdNode ** GetRegionsAtLevel_ (int level, vtkKdNode **nodes, vtkKdNode *kd)
 
static void AddNewRegions (vtkKdNode *kd, float *c1, int midpt, int dim, double coord)
 
- Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction GetCurrentMallocFunction ()
 
static vtkReallocingFunction GetCurrentReallocFunction ()
 
static vtkFreeingFunction GetCurrentFreeFunction ()
 
static vtkFreeingFunction GetAlternateFreeFunction ()
 
- Protected Attributes inherited from vtkKdTree
vtkBSPIntersectionsBSPCalculator
 
int UserDefinedCuts
 
int ValidDirections
 
vtkKdNodeTop
 
vtkKdNode ** RegionList
 
vtkTimerLogTimerLog
 
vtkDataSetCollectionDataSets
 
double ProgressScale
 
double ProgressOffset
 
int NumberOfRegionsOrLess
 
int NumberOfRegionsOrMore
 
vtkTypeBool IncludeRegionBoundaryCells
 
double CellBoundsCache [6]
 
vtkTypeBool GenerateRepresentationUsingDataBounds
 
struct cellList_ CellList
 
int * CellRegionList
 
int MinCells
 
int NumberOfRegions
 
vtkTypeBool Timing
 
double FudgeFactor
 
int NumberOfLocatorPoints
 
float * LocatorPoints
 
int * LocatorIds
 
int * LocatorRegionLocation
 
float MaxWidth
 
int LastNumDataSets
 
int LastDataCacheSize
 
vtkDataSet ** LastInputDataSets
 
unsigned long * LastDataSetObserverTags
 
int * LastDataSetType
 
double * LastInputDataInfo
 
double * LastBounds
 
vtkIdTypeLastNumPoints
 
vtkIdTypeLastNumCells
 
vtkBSPCutsCuts
 
double Progress
 
- Protected Attributes inherited from vtkLocator
vtkDataSetDataSet
 
vtkTypeBool UseExistingSearchStructure
 
vtkTypeBool Automatic
 
double Tolerance
 
int MaxLevel
 
int Level
 
vtkTimeStamp BuildTime
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
std::string ObjectName
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

Build a k-d tree decomposition of a list of points.

 Build, in parallel, a k-d tree decomposition of one or more
 vtkDataSets distributed across processors.  We assume each
 process has read in one portion of a large distributed data set.
 When done, each process has access to the k-d tree structure,
 can obtain information about which process contains
 data for each spatial region, and can depth sort the spatial
 regions.

 This class can also assign spatial regions to processors, based
 on one of several region assignment schemes.  By default
 a contiguous, convex region is assigned to each process.  Several
 queries return information about how many and what cells I have
 that lie in a region assigned to another process.
See also
vtkKdTree

Definition at line 43 of file vtkPKdTree.h.

Member Typedef Documentation

◆ Superclass

Definition at line 46 of file vtkPKdTree.h.

Constructor & Destructor Documentation

◆ vtkPKdTree()

vtkPKdTree::vtkPKdTree ( )
protected

◆ ~vtkPKdTree()

vtkPKdTree::~vtkPKdTree ( )
overrideprotected

Member Function Documentation

◆ IsTypeOf()

static vtkTypeBool vtkPKdTree::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkPKdTree::IsA ( const char *  type)
virtual

Standard type and print methods.

Reimplemented from vtkKdTree.

◆ SafeDownCast()

static vtkPKdTree * vtkPKdTree::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase * vtkPKdTree::NewInstanceInternal ( ) const
protectedvirtual

Standard type and print methods.

Reimplemented from vtkKdTree.

◆ NewInstance()

vtkPKdTree * vtkPKdTree::NewInstance ( ) const

◆ PrintSelf()

void vtkPKdTree::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkKdTree.

◆ PrintTiming()

void vtkPKdTree::PrintTiming ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Print timing of k-d tree build.

Reimplemented from vtkKdTree.

◆ PrintTables()

void vtkPKdTree::PrintTables ( ostream &  os,
vtkIndent  indent 
)

◆ New()

static vtkPKdTree * vtkPKdTree::New ( )
static

◆ BuildLocator()

void vtkPKdTree::BuildLocator ( )
overridevirtual

Build the spatial decomposition.

Call this explicitly after changing any parameters affecting the build of the tree. It must be called by all processes in the parallel application, or it will hang.

Reimplemented from vtkKdTree.

◆ GetTotalNumberOfCells()

vtkIdType vtkPKdTree::GetTotalNumberOfCells ( )
inline

Get the total number of cells distributed across the data files read by all processes.

You must have called BuildLocator before calling this method.

Definition at line 67 of file vtkPKdTree.h.

◆ CreateProcessCellCountData()

int vtkPKdTree::CreateProcessCellCountData ( )

Create tables of counts of cells per process per region.

These tables can be accessed with queries like "HasData", "GetProcessCellCountForRegion", and so on. You must have called BuildLocator() beforehand. This method must be called by all processes or it will hang. Returns 1 on error, 0 when no error.

◆ CreateGlobalDataArrayBounds()

int vtkPKdTree::CreateGlobalDataArrayBounds ( )

A convenience function which compiles the global bounds of the data arrays across processes.

These bounds can be accessed with "GetCellArrayGlobalRange" and "GetPointArrayGlobalRange". This method must be called by all processes or it will hang. Returns 1 on error, 0 when no error.

◆ SetController()

void vtkPKdTree::SetController ( vtkMultiProcessController c)

Set/Get the communicator object.

◆ GetController()

virtual vtkMultiProcessController * vtkPKdTree::GetController ( )
virtual

Set/Get the communicator object.

◆ GetRegionAssignment()

virtual int vtkPKdTree::GetRegionAssignment ( )
virtual

The PKdTree class can assign spatial regions to processors after building the k-d tree, using one of several partitioning criteria.

These functions Set/Get whether this assignment is computed. The default is "Off", no assignment is computed. If "On", and no assignment scheme is specified, contiguous assignment will be computed. Specifying an assignment scheme (with AssignRegions*()) automatically turns on RegionAssignment.

◆ AssignRegions()

int vtkPKdTree::AssignRegions ( int *  map,
int  numRegions 
)

Assign spatial regions to processes via a user defined map.

The user-supplied map is indexed by region ID, and provides a process ID for each region.

◆ AssignRegionsRoundRobin()

int vtkPKdTree::AssignRegionsRoundRobin ( )

Let the PKdTree class assign a process to each region in a round robin fashion.

If the k-d tree has not yet been built, the regions will be assigned after BuildLocator executes.

◆ AssignRegionsContiguous()

int vtkPKdTree::AssignRegionsContiguous ( )

Let the PKdTree class assign a process to each region by assigning contiguous sets of spatial regions to each process.

The set of regions assigned to each process will always have a union that is a convex space (a box). If the k-d tree has not yet been built, the regions will be assigned after BuildLocator executes.

◆ GetRegionAssignmentMap()

const int * vtkPKdTree::GetRegionAssignmentMap ( )
inline

Returns the region assignment map where index is the region and value is the processes id for that region.

Definition at line 143 of file vtkPKdTree.h.

◆ GetRegionAssignmentMapLength()

int vtkPKdTree::GetRegionAssignmentMapLength ( )
inline

/ Returns the number of regions in the region assignment map.

Definition at line 149 of file vtkPKdTree.h.

◆ GetRegionAssignmentList()

int vtkPKdTree::GetRegionAssignmentList ( int  procId,
vtkIntArray list 
)

Writes the list of region IDs assigned to the specified process.

Regions IDs start at 0 and increase by 1 from there. Returns the number of regions in the list.

◆ GetAllProcessesBorderingOnPoint()

void vtkPKdTree::GetAllProcessesBorderingOnPoint ( float  x,
float  y,
float  z,
vtkIntArray list 
)

The k-d tree spatial regions have been assigned to processes.

Given a point on the boundary of one of the regions, this method creates a list of all processes whose region boundaries include that point. This may be required when looking for processes that have cells adjacent to the cells of a given process.

◆ GetProcessAssignedToRegion()

int vtkPKdTree::GetProcessAssignedToRegion ( int  regionId)

Returns the ID of the process assigned to the region.

◆ HasData()

int vtkPKdTree::HasData ( int  processId,
int  regionId 
)

Returns 1 if the process has data for the given region, 0 otherwise.

◆ GetProcessCellCountForRegion()

int vtkPKdTree::GetProcessCellCountForRegion ( int  processId,
int  regionId 
)

Returns the number of cells the specified process has in the specified region.

◆ GetTotalProcessesInRegion()

int vtkPKdTree::GetTotalProcessesInRegion ( int  regionId)

Returns the total number of processes that have data falling within this spatial region.

◆ GetProcessListForRegion()

int vtkPKdTree::GetProcessListForRegion ( int  regionId,
vtkIntArray processes 
)

Adds the list of processes having data for the given region to the supplied list, returns the number of processes added.

◆ GetProcessesCellCountForRegion()

int vtkPKdTree::GetProcessesCellCountForRegion ( int  regionId,
int *  count,
int  len 
)

Writes the number of cells each process has for the region to the supplied list of length len.

Returns the number of cell counts written. The order of the cell counts corresponds to the order of process IDs in the process list returned by GetProcessListForRegion.

◆ GetTotalRegionsForProcess()

int vtkPKdTree::GetTotalRegionsForProcess ( int  processId)

Returns the total number of spatial regions that a given process has data for.

◆ GetRegionListForProcess()

int vtkPKdTree::GetRegionListForProcess ( int  processId,
vtkIntArray regions 
)

Adds the region IDs for which this process has data to the supplied vtkIntArray.

Returns the number of regions.

◆ GetRegionsCellCountForProcess()

int vtkPKdTree::GetRegionsCellCountForProcess ( int  ProcessId,
int *  count,
int  len 
)

Writes to the supplied integer array the number of cells this process has for each region.

Returns the number of cell counts written. The order of the cell counts corresponds to the order of region IDs in the region list returned by GetRegionListForProcess.

◆ GetCellListsForProcessRegions() [1/3]

vtkIdType vtkPKdTree::GetCellListsForProcessRegions ( int  ProcessId,
int  set,
vtkIdList inRegionCells,
vtkIdList onBoundaryCells 
)

After regions have been assigned to processes, I may want to know which cells I have that are in the regions assigned to a particular process.

This method takes a process ID and two vtkIdLists. It writes to the first list the IDs of the cells contained in the process' regions. (That is, their cell centroid is contained in the region.) To the second list it write the IDs of the cells which intersect the process' regions but whose cell centroid lies elsewhere.

The total number of cell IDs written to both lists is returned. Either list pointer passed in can be nullptr, and it will be ignored. If there are multiple data sets, you must specify which data set you wish cell IDs for.

The caller should delete these two lists when done. This method uses the cell lists created in vtkKdTree::CreateCellLists(). If the cell lists for the process' regions do not exist, this method will first build the cell lists for all regions by calling CreateCellLists(). You must remember to DeleteCellLists() when done with all calls to this method, as cell lists can require a great deal of memory.

◆ GetCellListsForProcessRegions() [2/3]

vtkIdType vtkPKdTree::GetCellListsForProcessRegions ( int  ProcessId,
vtkDataSet set,
vtkIdList inRegionCells,
vtkIdList onBoundaryCells 
)

After regions have been assigned to processes, I may want to know which cells I have that are in the regions assigned to a particular process.

This method takes a process ID and two vtkIdLists. It writes to the first list the IDs of the cells contained in the process' regions. (That is, their cell centroid is contained in the region.) To the second list it write the IDs of the cells which intersect the process' regions but whose cell centroid lies elsewhere.

The total number of cell IDs written to both lists is returned. Either list pointer passed in can be nullptr, and it will be ignored. If there are multiple data sets, you must specify which data set you wish cell IDs for.

The caller should delete these two lists when done. This method uses the cell lists created in vtkKdTree::CreateCellLists(). If the cell lists for the process' regions do not exist, this method will first build the cell lists for all regions by calling CreateCellLists(). You must remember to DeleteCellLists() when done with all calls to this method, as cell lists can require a great deal of memory.

◆ GetCellListsForProcessRegions() [3/3]

vtkIdType vtkPKdTree::GetCellListsForProcessRegions ( int  ProcessId,
vtkIdList inRegionCells,
vtkIdList onBoundaryCells 
)

After regions have been assigned to processes, I may want to know which cells I have that are in the regions assigned to a particular process.

This method takes a process ID and two vtkIdLists. It writes to the first list the IDs of the cells contained in the process' regions. (That is, their cell centroid is contained in the region.) To the second list it write the IDs of the cells which intersect the process' regions but whose cell centroid lies elsewhere.

The total number of cell IDs written to both lists is returned. Either list pointer passed in can be nullptr, and it will be ignored. If there are multiple data sets, you must specify which data set you wish cell IDs for.

The caller should delete these two lists when done. This method uses the cell lists created in vtkKdTree::CreateCellLists(). If the cell lists for the process' regions do not exist, this method will first build the cell lists for all regions by calling CreateCellLists(). You must remember to DeleteCellLists() when done with all calls to this method, as cell lists can require a great deal of memory.

◆ ViewOrderAllProcessesInDirection()

int vtkPKdTree::ViewOrderAllProcessesInDirection ( const double  directionOfProjection[3],
vtkIntArray orderedList 
)

Return a list of all processes in order from front to back given a vector direction of projection.

Use this to do visibility sorts in parallel projection mode. ‘orderedList’ will be resized to the number of processes. The return value is the number of processes.

Precondition
orderedList_exists: orderedList!=0

◆ ViewOrderAllProcessesFromPosition()

int vtkPKdTree::ViewOrderAllProcessesFromPosition ( const double  cameraPosition[3],
vtkIntArray orderedList 
)

Return a list of all processes in order from front to back given a camera position.

Use this to do visibility sorts in perspective projection mode. ‘orderedList’ will be resized to the number of processes. The return value is the number of processes.

Precondition
orderedList_exists: orderedList!=0

◆ GetCellArrayGlobalRange() [1/4]

int vtkPKdTree::GetCellArrayGlobalRange ( const char *  name,
float  range[2] 
)

An added feature of vtkPKdTree is that it will calculate the the global range of field arrays across all processes.

You call CreateGlobalDataArrayBounds() to do this calculation. Then the following methods return the ranges. Returns 1 on error, 0 otherwise.

◆ GetPointArrayGlobalRange() [1/4]

int vtkPKdTree::GetPointArrayGlobalRange ( const char *  name,
float  range[2] 
)

◆ GetCellArrayGlobalRange() [2/4]

int vtkPKdTree::GetCellArrayGlobalRange ( const char *  name,
double  range[2] 
)

◆ GetPointArrayGlobalRange() [2/4]

int vtkPKdTree::GetPointArrayGlobalRange ( const char *  name,
double  range[2] 
)

◆ GetCellArrayGlobalRange() [3/4]

int vtkPKdTree::GetCellArrayGlobalRange ( int  arrayIndex,
double  range[2] 
)

◆ GetPointArrayGlobalRange() [3/4]

int vtkPKdTree::GetPointArrayGlobalRange ( int  arrayIndex,
double  range[2] 
)

◆ GetCellArrayGlobalRange() [4/4]

int vtkPKdTree::GetCellArrayGlobalRange ( int  arrayIndex,
float  range[2] 
)

◆ GetPointArrayGlobalRange() [4/4]

int vtkPKdTree::GetPointArrayGlobalRange ( int  arrayIndex,
float  range[2] 
)

◆ SingleProcessBuildLocator()

void vtkPKdTree::SingleProcessBuildLocator ( )
protected

◆ MultiProcessBuildLocator()

int vtkPKdTree::MultiProcessBuildLocator ( double *  bounds)
protected

Member Data Documentation

◆ NoRegionAssignment

const int vtkPKdTree::NoRegionAssignment
static

Definition at line 110 of file vtkPKdTree.h.

◆ ContiguousAssignment

const int vtkPKdTree::ContiguousAssignment
static

Definition at line 111 of file vtkPKdTree.h.

◆ UserDefinedAssignment

const int vtkPKdTree::UserDefinedAssignment
static

Definition at line 112 of file vtkPKdTree.h.

◆ RoundRobinAssignment

const int vtkPKdTree::RoundRobinAssignment
static

Definition at line 113 of file vtkPKdTree.h.


The documentation for this class was generated from the following file: