VTK  9.4.20241121
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
vtkKdTree Class Reference

a Kd-tree spatial decomposition of a set of points More...

#include <vtkKdTree.h>

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

Classes

struct  cellList_
 

Public Types

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.
 
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.
 
void PrintSelf (ostream &os, vtkIndent indent) override
 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 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.
 

Protected Types

enum  { XDIM = 0 , YDIM = 1 , ZDIM = 2 }
 

Protected Member Functions

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 &)
 

Static Protected Member Functions

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

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

a Kd-tree spatial decomposition of a set of points

Given one or more vtkDataSets, create a load balancing
k-d tree decomposition of the points at the center of the cells.
Or, create a k-d tree point locator from a list of points.

This class can also generate a PolyData representation of
the boundaries of the spatial regions in the decomposition.

It can sort the regions with respect to a viewing direction,
and it can decompose a list of regions into subsets, each
of which represent a convex spatial region (since many algorithms
require a convex region).

If the points were derived from cells, vtkKdTree
can create a list of cell Ids for each region for each data set.
Two lists are available - all cells with centroid in the region,
and all cells that intersect the region but whose centroid lies
in another region.

For the purpose of removing duplicate points quickly from large
data sets, or for finding nearby points, we added another mode for
building the locator.  BuildLocatorFromPoints will build a k-d tree
from one or more vtkPoints objects.  This can be followed by
BuildMapForDuplicatePoints which returns a mapping from the original
ids to a subset of the ids that is unique within a supplied
tolerance, or you can use FindPoint and FindClosestPoint to
locate points in the original set that the tree was built from.
See also
vtkLocator vtkCellLocator vtkPKdTree
Events:
vtkCommand::ProgressEvent
Online Examples:

Tests:
vtkKdTree (Tests)

Definition at line 116 of file vtkKdTree.h.

Member Typedef Documentation

◆ Superclass

Definition at line 119 of file vtkKdTree.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
XDIM 
YDIM 
ZDIM 

Definition at line 708 of file vtkKdTree.h.

Constructor & Destructor Documentation

◆ vtkKdTree() [1/2]

vtkKdTree::vtkKdTree ( )
protected

◆ ~vtkKdTree()

vtkKdTree::~vtkKdTree ( )
overrideprotected

◆ vtkKdTree() [2/2]

vtkKdTree::vtkKdTree ( const vtkKdTree )
protecteddelete

Member Function Documentation

◆ IsTypeOf()

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

◆ IsA()

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

Standard type and print methods.

Reimplemented from vtkLocator.

Reimplemented in vtkPKdTree.

◆ SafeDownCast()

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

◆ NewInstanceInternal()

virtual vtkObjectBase * vtkKdTree::NewInstanceInternal ( ) const
protectedvirtual

Standard type and print methods.

Reimplemented from vtkLocator.

Reimplemented in vtkPKdTree.

◆ NewInstance()

vtkKdTree * vtkKdTree::NewInstance ( ) const

◆ PrintSelf()

void vtkKdTree::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 vtkObjectBase.

Reimplemented in vtkPKdTree.

◆ New()

static vtkKdTree * vtkKdTree::New ( )
static

◆ TimingOn()

virtual void vtkKdTree::TimingOn ( )
virtual

Turn on timing of the k-d tree build.

◆ TimingOff()

virtual void vtkKdTree::TimingOff ( )
virtual

Turn on timing of the k-d tree build.

◆ SetTiming()

virtual void vtkKdTree::SetTiming ( vtkTypeBool  )
virtual

Turn on timing of the k-d tree build.

◆ GetTiming()

virtual vtkTypeBool vtkKdTree::GetTiming ( )
virtual

Turn on timing of the k-d tree build.

◆ SetMinCells()

virtual void vtkKdTree::SetMinCells ( int  )
virtual

Minimum number of cells per spatial region.

Default is 100.

◆ GetMinCells()

virtual int vtkKdTree::GetMinCells ( )
virtual

Minimum number of cells per spatial region.

Default is 100.

◆ GetNumberOfRegionsOrLess()

virtual int vtkKdTree::GetNumberOfRegionsOrLess ( )
virtual

Set/Get the number of spatial regions you want to get close to without going over.

(The number of spatial regions is normally a power of two.) Call this before BuildLocator(). Default is unset (0).

◆ SetNumberOfRegionsOrLess()

virtual void vtkKdTree::SetNumberOfRegionsOrLess ( int  )
virtual

◆ GetNumberOfRegionsOrMore()

virtual int vtkKdTree::GetNumberOfRegionsOrMore ( )
virtual

Set/Get the number of spatial regions you want to get close to while having at least this many regions.

(The number of spatial regions is normally a power of two.) Default is unset (0).

◆ SetNumberOfRegionsOrMore()

virtual void vtkKdTree::SetNumberOfRegionsOrMore ( int  )
virtual

◆ GetFudgeFactor()

virtual double vtkKdTree::GetFudgeFactor ( )
virtual

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.

This factor is the maximum axis-aligned width of the space multiplied by 10e-6.

◆ SetFudgeFactor()

virtual void vtkKdTree::SetFudgeFactor ( double  )
virtual

◆ GetCuts()

virtual vtkBSPCuts * vtkKdTree::GetCuts ( )
virtual

Get a vtkBSPCuts object, a general object representing an axis- aligned spatial partitioning.

Used by vtkBSPIntersections.

◆ SetCuts() [1/2]

void vtkKdTree::SetCuts ( vtkBSPCuts cuts)

Normally the k-d tree is computed from the dataset(s) provided in SetDataSet.

Alternatively, you can provide the cuts that will be applied by calling SetCuts.

◆ OmitXPartitioning()

void vtkKdTree::OmitXPartitioning ( )

Omit partitions along the X axis, yielding shafts in the X direction.

◆ OmitYPartitioning()

void vtkKdTree::OmitYPartitioning ( )

Omit partitions along the Y axis, yielding shafts in the Y direction.

◆ OmitZPartitioning()

void vtkKdTree::OmitZPartitioning ( )

Omit partitions along the Z axis, yielding shafts in the Z direction.

◆ OmitXYPartitioning()

void vtkKdTree::OmitXYPartitioning ( )

Omit partitions along the X and Y axes, yielding slabs along Z.

◆ OmitYZPartitioning()

void vtkKdTree::OmitYZPartitioning ( )

Omit partitions along the Y and Z axes, yielding slabs along X.

◆ OmitZXPartitioning()

void vtkKdTree::OmitZXPartitioning ( )

Omit partitions along the Z and X axes, yielding slabs along Y.

◆ OmitNoPartitioning()

void vtkKdTree::OmitNoPartitioning ( )

Partition along all three axes - this is the default.

◆ SetDataSet()

void vtkKdTree::SetDataSet ( vtkDataSet set)
overridevirtual

This class can compute a spatial decomposition based on the cells in a list of one or more input data sets.

SetDataSet sets the first data set in the list to the named set. SetNthDataSet sets the data set at index N to the data set named. RemoveData set takes either the data set itself or an index and removes that data set from the list of data sets. AddDataSet adds a data set to the list of data sets. Clear out all data sets and replace with single data set. For backward compatibility with superclass.

Reimplemented from vtkLocator.

◆ AddDataSet()

virtual void vtkKdTree::AddDataSet ( vtkDataSet set)
virtual

This class can compute a spatial decomposition based on the cells in a list of one or more input data sets.

Add them one at a time with this method.

◆ RemoveDataSet() [1/2]

virtual void vtkKdTree::RemoveDataSet ( int  index)
virtual

Remove the given data set.

◆ RemoveDataSet() [2/2]

virtual void vtkKdTree::RemoveDataSet ( vtkDataSet set)
virtual

Remove the given data set.

◆ RemoveAllDataSets()

virtual void vtkKdTree::RemoveAllDataSets ( )
virtual

Remove the given data set.

◆ GetNumberOfDataSets()

int vtkKdTree::GetNumberOfDataSets ( )

Get the number of data sets included in spatial partitioning.

◆ GetDataSet() [1/2]

vtkDataSet * vtkKdTree::GetDataSet ( int  n)

Get the nth defined data set in the spatial partitioning.

(If you used SetNthDataSet to define 0,1 and 3 and ask for data set 2, you get 3.) Return the n'th data set.

◆ GetDataSet() [2/2]

vtkDataSet * vtkKdTree::GetDataSet ( )
inlineoverridevirtual

Return the 0'th data set.

For compatibility with the superclass' interface.

Reimplemented from vtkLocator.

Definition at line 272 of file vtkKdTree.h.

◆ GetDataSets()

virtual vtkDataSetCollection * vtkKdTree::GetDataSets ( )
virtual

Return a collection of all the data sets.

◆ GetDataSetIndex()

int vtkKdTree::GetDataSetIndex ( vtkDataSet set)

Return the index of the given data set.

Returns -1 if that data set does not exist.

◆ GetBounds()

void vtkKdTree::GetBounds ( double *  bounds)

Get the spatial bounds of the entire k-d tree space.

Sets bounds array to xmin, xmax, ymin, ymax, zmin, zmax.

◆ SetNewBounds()

void vtkKdTree::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.

If the k-d tree has been built, you can expand it's bounds with this method. If the bounds supplied are smaller than those computed, they will be ignored.

◆ GetNumberOfRegions()

virtual int vtkKdTree::GetNumberOfRegions ( )
virtual

The number of leaf nodes of the tree, the spatial regions.

◆ GetRegionBounds()

void vtkKdTree::GetRegionBounds ( int  regionID,
double  bounds[6] 
)

Get the spatial bounds of k-d tree region.

◆ GetRegionDataBounds()

void vtkKdTree::GetRegionDataBounds ( int  regionID,
double  bounds[6] 
)

Get the bounds of the data within the k-d tree region.

◆ PrintTree()

void vtkKdTree::PrintTree ( )

Print out nodes of kd tree.

◆ PrintVerboseTree()

void vtkKdTree::PrintVerboseTree ( )

Print out nodes of kd tree.

◆ PrintRegion()

void vtkKdTree::PrintRegion ( int  id)

Print out leaf node data for given id.

◆ CreateCellLists() [1/4]

void vtkKdTree::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.

These lists are obtained with GetCellList(). If no DataSet is specified, the cell list is created for DataSet 0. If no list of requested regions is provided, the cell lists for all regions are created.

When CreateCellLists is called again, the lists created on the previous call are deleted.

◆ CreateCellLists() [2/4]

void vtkKdTree::CreateCellLists ( vtkDataSet set,
int *  regionReqList,
int  reqListSize 
)

◆ CreateCellLists() [3/4]

void vtkKdTree::CreateCellLists ( int *  regionReqList,
int  listSize 
)

◆ CreateCellLists() [4/4]

void vtkKdTree::CreateCellLists ( )

◆ SetIncludeRegionBoundaryCells()

virtual void vtkKdTree::SetIncludeRegionBoundaryCells ( vtkTypeBool  )
virtual

If IncludeRegionBoundaryCells is ON, CreateCellLists() will also create a list of cells which intersect a given region, but are not assigned to the region.

These lists are obtained with GetBoundaryCellList(). Default is OFF.

◆ GetIncludeRegionBoundaryCells()

virtual vtkTypeBool vtkKdTree::GetIncludeRegionBoundaryCells ( )
virtual

If IncludeRegionBoundaryCells is ON, CreateCellLists() will also create a list of cells which intersect a given region, but are not assigned to the region.

These lists are obtained with GetBoundaryCellList(). Default is OFF.

◆ IncludeRegionBoundaryCellsOn()

virtual void vtkKdTree::IncludeRegionBoundaryCellsOn ( )
virtual

If IncludeRegionBoundaryCells is ON, CreateCellLists() will also create a list of cells which intersect a given region, but are not assigned to the region.

These lists are obtained with GetBoundaryCellList(). Default is OFF.

◆ IncludeRegionBoundaryCellsOff()

virtual void vtkKdTree::IncludeRegionBoundaryCellsOff ( )
virtual

If IncludeRegionBoundaryCells is ON, CreateCellLists() will also create a list of cells which intersect a given region, but are not assigned to the region.

These lists are obtained with GetBoundaryCellList(). Default is OFF.

◆ DeleteCellLists()

void vtkKdTree::DeleteCellLists ( )

Free the memory used by the cell lists.

◆ GetCellList()

vtkIdList * vtkKdTree::GetCellList ( int  regionID)

Get the cell list for a region.

This returns a pointer to vtkKdTree's memory, so don't free it.

◆ GetBoundaryCellList()

vtkIdList * vtkKdTree::GetBoundaryCellList ( int  regionID)

The cell list obtained with GetCellList is the list of all cells such that their centroid is contained in the spatial region.

It may also be desirable to get a list of all cells intersecting a spatial region, but with centroid in some other region. This is that list. This list is computed in CreateCellLists() if and only if IncludeRegionBoundaryCells is ON. This returns a pointer to KdTree's memory, so don't free it.

◆ GetCellLists() [1/3]

vtkIdType vtkKdTree::GetCellLists ( vtkIntArray regions,
int  set,
vtkIdList inRegionCells,
vtkIdList onBoundaryCells 
)

For a list of regions, get two cell lists.

The first lists the IDs all cells whose centroids lie in one of the regions. The second lists the IDs of all cells that intersect the regions, but whose centroid lies in a region not on the list.

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 CreateCellLists(). If the cell list for any of the requested regions does not exist, then this method will call CreateCellLists() to create cell lists for every region of the k-d tree. You must remember to DeleteCellLists() when done with all calls to this method, as cell lists can require a great deal of memory.

◆ GetCellLists() [2/3]

vtkIdType vtkKdTree::GetCellLists ( vtkIntArray regions,
vtkDataSet set,
vtkIdList inRegionCells,
vtkIdList onBoundaryCells 
)

For a list of regions, get two cell lists.

The first lists the IDs all cells whose centroids lie in one of the regions. The second lists the IDs of all cells that intersect the regions, but whose centroid lies in a region not on the list.

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 CreateCellLists(). If the cell list for any of the requested regions does not exist, then this method will call CreateCellLists() to create cell lists for every region of the k-d tree. You must remember to DeleteCellLists() when done with all calls to this method, as cell lists can require a great deal of memory.

◆ GetCellLists() [3/3]

vtkIdType vtkKdTree::GetCellLists ( vtkIntArray regions,
vtkIdList inRegionCells,
vtkIdList onBoundaryCells 
)

For a list of regions, get two cell lists.

The first lists the IDs all cells whose centroids lie in one of the regions. The second lists the IDs of all cells that intersect the regions, but whose centroid lies in a region not on the list.

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 CreateCellLists(). If the cell list for any of the requested regions does not exist, then this method will call CreateCellLists() to create cell lists for every region of the k-d tree. You must remember to DeleteCellLists() when done with all calls to this method, as cell lists can require a great deal of memory.

◆ GetRegionContainingCell() [1/3]

int vtkKdTree::GetRegionContainingCell ( vtkDataSet set,
vtkIdType  cellID 
)

Get the id of the region containing the cell centroid.

If no DataSet is specified, assume DataSet 0. If you need the region ID for every cell, use AllGetRegionContainingCell instead. It is more efficient.

◆ GetRegionContainingCell() [2/3]

int vtkKdTree::GetRegionContainingCell ( int  set,
vtkIdType  cellID 
)

Get the id of the region containing the cell centroid.

If no DataSet is specified, assume DataSet 0. If you need the region ID for every cell, use AllGetRegionContainingCell instead. It is more efficient.

◆ GetRegionContainingCell() [3/3]

int vtkKdTree::GetRegionContainingCell ( vtkIdType  cellID)

Get the id of the region containing the cell centroid.

If no DataSet is specified, assume DataSet 0. If you need the region ID for every cell, use AllGetRegionContainingCell instead. It is more efficient.

◆ AllGetRegionContainingCell()

int * vtkKdTree::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.

This is faster than calling GetRegionContainingCell for each cell in the DataSet. vtkKdTree uses this list, so don't delete it.

◆ GetRegionContainingPoint()

int vtkKdTree::GetRegionContainingPoint ( double  x,
double  y,
double  z 
)

Get the id of the region containing the specified location.

◆ BuildLocator()

void vtkKdTree::BuildLocator ( )
overridevirtual

Create the k-d tree decomposition of the cells of the data set or data sets.

Cells are assigned to k-d tree spatial regions based on the location of their centroids.

Implements vtkLocator.

Reimplemented in vtkPKdTree.

◆ ForceBuildLocator()

void vtkKdTree::ForceBuildLocator ( )
overridevirtual

Build the locator from the input dataset (even if UseExistingSearchStructure is on).

Reimplemented from vtkLocator.

◆ MinimalNumberOfConvexSubRegions()

int vtkKdTree::MinimalNumberOfConvexSubRegions ( vtkIntArray regionIdList,
double **  convexRegionBounds 
)

Given a list of region IDs, determine the decomposition of these regions into the minimal number of convex subregions.

Due to the way the k-d tree is constructed, those convex subregions will be axis-aligned boxes. Return the minimal number of such convex regions that compose the original region list. This call will set convexRegionBounds to point to a list of the bounds of these regions. Caller should free this. There will be six values for each convex subregion (xmin, xmax, ymin, ymax, zmin, zmax). If the regions in the regionIdList form a box already, a "1" is returned and the second argument contains the bounds of the box.

◆ ViewOrderAllRegionsInDirection()

int vtkKdTree::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.

The number of ordered regions is returned. Use this method to view order regions for cameras that use parallel projection.

◆ ViewOrderRegionsInDirection()

int vtkKdTree::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.

The number of ordered regions is returned. Use this method to view order regions for cameras that use parallel projection.

◆ ViewOrderAllRegionsFromPosition()

int vtkKdTree::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.

The number of ordered regions is returned. Use this method to view order regions for cameras that use perspective projection.

◆ ViewOrderRegionsFromPosition()

int vtkKdTree::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.

The number of ordered regions is returned. Use this method to view order regions for cameras that use perspective projection.

◆ BuildLocatorFromPoints() [1/3]

void vtkKdTree::BuildLocatorFromPoints ( vtkPointSet pointset)

This is a special purpose locator that builds a k-d tree to find duplicate and near-by points.

It builds the tree from one or more vtkPoints objects instead of from the cells of a vtkDataSet. This build would normally be followed by BuildMapForDuplicatePoints, FindPoint, or FindClosestPoint. Since this will build a normal k-d tree, all the region intersection queries will still work, as will most other calls except those that have "Cell" in the name.

This method works most efficiently when the point arrays are float arrays.

◆ BuildLocatorFromPoints() [2/3]

void vtkKdTree::BuildLocatorFromPoints ( vtkPoints ptArray)

This is a special purpose locator that builds a k-d tree to find duplicate and near-by points.

It builds the tree from one or more vtkPoints objects instead of from the cells of a vtkDataSet. This build would normally be followed by BuildMapForDuplicatePoints, FindPoint, or FindClosestPoint. Since this will build a normal k-d tree, all the region intersection queries will still work, as will most other calls except those that have "Cell" in the name.

This method works most efficiently when the point arrays are float arrays.

◆ BuildLocatorFromPoints() [3/3]

void vtkKdTree::BuildLocatorFromPoints ( vtkPoints **  ptArray,
int  numPtArrays 
)

This is a special purpose locator that builds a k-d tree to find duplicate and near-by points.

It builds the tree from one or more vtkPoints objects instead of from the cells of a vtkDataSet. This build would normally be followed by BuildMapForDuplicatePoints, FindPoint, or FindClosestPoint. Since this will build a normal k-d tree, all the region intersection queries will still work, as will most other calls except those that have "Cell" in the name.

This method works most efficiently when the point arrays are float arrays.

◆ BuildMapForDuplicatePoints()

vtkIdTypeArray * vtkKdTree::BuildMapForDuplicatePoints ( 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.

If points 2, 5, and 12 are the same, then IdMap[2] = IdMap[5] = IdMap[12] = 2 (or 5 or 12).

"original point IDs" - For point IDs we start at 0 for the first point in the first vtkPoints object, and increase by 1 for subsequent points and subsequent vtkPoints objects.

You must have called BuildLocatorFromPoints() before calling this. You are responsible for deleting the returned array.

◆ FindPoint() [1/2]

vtkIdType vtkKdTree::FindPoint ( double *  x)

Find the Id of the point that was previously supplied to BuildLocatorFromPoints().

Returns -1 if the point was not in the original array.

◆ FindPoint() [2/2]

vtkIdType vtkKdTree::FindPoint ( double  x,
double  y,
double  z 
)

Find the Id of the point that was previously supplied to BuildLocatorFromPoints().

Returns -1 if the point was not in the original array.

◆ FindClosestPoint() [1/2]

vtkIdType vtkKdTree::FindClosestPoint ( double *  x,
double &  dist2 
)

Find the Id of the point that was previously supplied to BuildLocatorFromPoints() which is closest to the given point.

Set the square of the distance between the two points.

◆ FindClosestPoint() [2/2]

vtkIdType vtkKdTree::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.

Set the square of the distance between the two points.

◆ FindClosestPointWithinRadius()

vtkIdType vtkKdTree::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.

dist2 returns the squared distance to the point.

◆ FindClosestPointInRegion() [1/2]

vtkIdType vtkKdTree::FindClosestPointInRegion ( int  regionId,
double *  x,
double &  dist2 
)

Find the Id of the point in the given region which is closest to the given point.

Return the ID of the point, and set the square of the distance of between the points.

◆ FindClosestPointInRegion() [2/2]

vtkIdType vtkKdTree::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.

Return the ID of the point, and set the square of the distance of between the points.

◆ FindPointsWithinRadius() [1/2]

void vtkKdTree::FindPointsWithinRadius ( double  R,
const double  x[3],
vtkIdList result 
)

Find all points within a specified radius R of position x.

The result is not sorted in any specific manner. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.

◆ FindClosestNPoints()

void vtkKdTree::FindClosestNPoints ( int  N,
const double  x[3],
vtkIdList result 
)

Find the closest N points to a position.

This returns the closest N points to a position. A faster method could be created that returned N close points to a position, but necessarily the exact N closest. The returned points are sorted from closest to farthest. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.

◆ GetPointsInRegion()

vtkIdTypeArray * vtkKdTree::GetPointsInRegion ( int  regionId)

Get a list of the original IDs of all points in a region.

You must have called BuildLocatorFromPoints before calling this.

◆ FreeSearchStructure()

void vtkKdTree::FreeSearchStructure ( )
overridevirtual

Delete the k-d tree data structure.

Also delete any cell lists that were computed with CreateCellLists().

Implements vtkLocator.

◆ GenerateRepresentation() [1/2]

void vtkKdTree::GenerateRepresentation ( int  level,
vtkPolyData pd 
)
overridevirtual

Create a polydata representation of the boundaries of the k-d tree regions.

If level equals GetLevel(), the leaf nodes are represented.

Implements vtkLocator.

◆ GenerateRepresentation() [2/2]

void vtkKdTree::GenerateRepresentation ( int *  regionList,
int  len,
vtkPolyData pd 
)

Generate a polygonal representation of a list of regions.

Only leaf nodes have region IDs, so these will be leaf nodes.

◆ GenerateRepresentationUsingDataBoundsOn()

virtual void vtkKdTree::GenerateRepresentationUsingDataBoundsOn ( )
virtual

The polydata representation of the k-d tree shows the boundaries of the k-d tree decomposition spatial regions.

The data inside the regions may not occupy the entire space. To draw just the bounds of the data in the regions, set this variable ON.

◆ GenerateRepresentationUsingDataBoundsOff()

virtual void vtkKdTree::GenerateRepresentationUsingDataBoundsOff ( )
virtual

The polydata representation of the k-d tree shows the boundaries of the k-d tree decomposition spatial regions.

The data inside the regions may not occupy the entire space. To draw just the bounds of the data in the regions, set this variable ON.

◆ SetGenerateRepresentationUsingDataBounds()

virtual void vtkKdTree::SetGenerateRepresentationUsingDataBounds ( vtkTypeBool  )
virtual

The polydata representation of the k-d tree shows the boundaries of the k-d tree decomposition spatial regions.

The data inside the regions may not occupy the entire space. To draw just the bounds of the data in the regions, set this variable ON.

◆ GetGenerateRepresentationUsingDataBounds()

virtual vtkTypeBool vtkKdTree::GetGenerateRepresentationUsingDataBounds ( )
virtual

The polydata representation of the k-d tree shows the boundaries of the k-d tree decomposition spatial regions.

The data inside the regions may not occupy the entire space. To draw just the bounds of the data in the regions, set this variable ON.

◆ PrintTiming()

virtual void vtkKdTree::PrintTiming ( ostream &  os,
vtkIndent  indent 
)
virtual

Print timing of k-d tree build.

Reimplemented in vtkPKdTree.

◆ NewGeometry() [1/2]

virtual int vtkKdTree::NewGeometry ( )
virtual

Return 1 if the geometry of the input data sets has changed since the last time the k-d tree was built.

◆ NewGeometry() [2/2]

virtual int vtkKdTree::NewGeometry ( vtkDataSet **  sets,
int  numDataSets 
)
virtual

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.

◆ InvalidateGeometry()

virtual void vtkKdTree::InvalidateGeometry ( )
virtual

Forget about the last geometry used.

The next call to NewGeometry will return 1. A new k-d tree will be built the next time BuildLocator is called.

◆ CopyTree()

static vtkKdNode * vtkKdTree::CopyTree ( vtkKdNode kd)
static

Create a copy of the binary tree representation of the k-d tree spatial partitioning provided.

◆ FindPointsInArea() [1/2]

void vtkKdTree::FindPointsInArea ( double *  area,
vtkIdTypeArray ids,
bool  clearArray = true 
)

Fill ids with points found in area.

The area is a 6-tuple containing (xmin, xmax, ymin, ymax, zmin, zmax). This method will clear the array by default. To append ids to an array, set clearArray to false.

◆ BuildLocatorInternal()

void vtkKdTree::BuildLocatorInternal ( )
overrideprotectedvirtual

This function is not pure virtual to maintain backwards compatibility.

Reimplemented from vtkLocator.

◆ SetCalculator()

void vtkKdTree::SetCalculator ( vtkKdNode kd)
protected

◆ ProcessUserDefinedCuts()

int vtkKdTree::ProcessUserDefinedCuts ( double *  bounds)
protected

◆ SetCuts() [2/2]

void vtkKdTree::SetCuts ( vtkBSPCuts cuts,
int  userDefined 
)
protected

◆ UpdateBuildTime()

void vtkKdTree::UpdateBuildTime ( )
protected

Save enough state so NewGeometry() can work, and update the BuildTime time stamp.

◆ DivideTest()

int vtkKdTree::DivideTest ( int  numberOfPoints,
int  level 
)
protected

Prior to dividing a region at level "level", of size "numberOfPoints", apply the tests implied by MinCells, NumberOfRegionsOrMore and NumberOfRegionsOrLess.

Return 1 if it's OK to divide the region, 0 if you should not.

◆ DeleteAllDescendants()

static void vtkKdTree::DeleteAllDescendants ( vtkKdNode nd)
staticprotected

◆ BuildRegionList()

void vtkKdTree::BuildRegionList ( )
protected

◆ SelectCutDirection()

virtual int vtkKdTree::SelectCutDirection ( vtkKdNode kd)
protectedvirtual

◆ SetActualLevel()

void vtkKdTree::SetActualLevel ( )
inlineprotected

Definition at line 726 of file vtkKdTree.h.

◆ GetRegionsAtLevel()

void vtkKdTree::GetRegionsAtLevel ( int  level,
vtkKdNode **  nodes 
)
protected

Get back a list of the nodes at a specified level, nodes must be preallocated to hold 2^^(level) node structures.

◆ GetLeafNodeIds()

static void vtkKdTree::GetLeafNodeIds ( vtkKdNode node,
vtkIntArray ids 
)
staticprotected

Adds to the vtkIntArray the list of region IDs of all leaf nodes in the given node.

◆ GetNumberOfCells()

int vtkKdTree::GetNumberOfCells ( )
protected

Returns the total number of cells in all the data sets.

◆ GetDataSetsNumberOfCells()

int vtkKdTree::GetDataSetsNumberOfCells ( int  set1,
int  set2 
)
protected

Returns the total number of cells in data set 1 through data set 2.

◆ ComputeCellCenter() [1/3]

void vtkKdTree::ComputeCellCenter ( vtkDataSet set,
int  cellId,
float *  center 
)
protected

Get or compute the center of one cell.

If the DataSet is nullptr, the first DataSet is used. This is the point used in determining to which spatial region the cell is assigned.

◆ ComputeCellCenter() [2/3]

void vtkKdTree::ComputeCellCenter ( vtkDataSet set,
int  cellId,
double *  center 
)
protected

◆ ComputeCellCenters() [1/3]

float * vtkKdTree::ComputeCellCenters ( )
protected

Compute and return a pointer to a list of all cell centers, in order by data set by cell Id.

If a DataSet is specified cell centers for cells of that data only are returned. If no DataSet is specified, the cell centers of cells in all DataSets are returned. The caller should free the list of cell centers when done.

◆ ComputeCellCenters() [2/3]

float * vtkKdTree::ComputeCellCenters ( int  set)
protected

◆ ComputeCellCenters() [3/3]

float * vtkKdTree::ComputeCellCenters ( vtkDataSet set)
protected

◆ UpdateProgress()

void vtkKdTree::UpdateProgress ( double  amount)
protected

Modelled on vtkAlgorithm::UpdateProgress().

Update the progress when building the locator. Fires vtkCommand::ProgressEvent.

◆ SetProgress()

virtual void vtkKdTree::SetProgress ( double  )
protectedvirtual

Set/Get the execution progress of a process object.

◆ GetProgress()

virtual double vtkKdTree::GetProgress ( )
protectedvirtual

Set/Get the execution progress of a process object.

◆ UpdateSubOperationProgress()

void vtkKdTree::UpdateSubOperationProgress ( double  amount)
protected

◆ SetNewBounds_()

static void vtkKdTree::SetNewBounds_ ( vtkKdNode kd,
double *  b,
int *  fixDim 
)
staticprotected

◆ CopyChildNodes()

static void vtkKdTree::CopyChildNodes ( vtkKdNode to,
vtkKdNode from 
)
staticprotected

◆ CopyKdNode()

static void vtkKdTree::CopyKdNode ( vtkKdNode to,
vtkKdNode from 
)
staticprotected

◆ SetDataBoundsToSpatialBounds()

static void vtkKdTree::SetDataBoundsToSpatialBounds ( vtkKdNode kd)
staticprotected

◆ ZeroNumberOfPoints()

static void vtkKdTree::ZeroNumberOfPoints ( vtkKdNode kd)
staticprotected

◆ FindPointsWithinRadius() [2/2]

void vtkKdTree::FindPointsWithinRadius ( vtkKdNode node,
double  R2,
const double  x[3],
vtkIdList ids 
)
protected

◆ AddAllPointsInRegion() [1/2]

void vtkKdTree::AddAllPointsInRegion ( vtkKdNode node,
vtkIdList ids 
)
protected

◆ FindPointsInArea() [2/2]

void vtkKdTree::FindPointsInArea ( vtkKdNode node,
double *  area,
vtkIdTypeArray ids 
)
protected

◆ AddAllPointsInRegion() [2/2]

void vtkKdTree::AddAllPointsInRegion ( vtkKdNode node,
vtkIdTypeArray ids 
)
protected

◆ DivideRegion()

int vtkKdTree::DivideRegion ( vtkKdNode kd,
float *  c1,
int *  ids,
int  nlevels 
)
protected

◆ DoMedianFind()

void vtkKdTree::DoMedianFind ( vtkKdNode kd,
float *  c1,
int *  ids,
int  d1,
int  d2,
int  d3 
)
protected

◆ SelfRegister()

void vtkKdTree::SelfRegister ( vtkKdNode kd)
protected

◆ InitializeCellLists()

void vtkKdTree::InitializeCellLists ( )
protected

◆ GetList()

vtkIdList * vtkKdTree::GetList ( int  regionId,
vtkIdList **  which 
)
protected

◆ ComputeCellCenter() [3/3]

void vtkKdTree::ComputeCellCenter ( vtkCell cell,
double *  center,
double *  weights 
)
protected

◆ GenerateRepresentationDataBounds()

void vtkKdTree::GenerateRepresentationDataBounds ( int  level,
vtkPolyData pd 
)
protected

◆ _generateRepresentationDataBounds()

void vtkKdTree::_generateRepresentationDataBounds ( vtkKdNode kd,
vtkPoints pts,
vtkCellArray polys,
int  level 
)
protected

◆ GenerateRepresentationWholeSpace()

void vtkKdTree::GenerateRepresentationWholeSpace ( int  level,
vtkPolyData pd 
)
protected

◆ _generateRepresentationWholeSpace()

void vtkKdTree::_generateRepresentationWholeSpace ( vtkKdNode kd,
vtkPoints pts,
vtkCellArray polys,
int  level 
)
protected

◆ AddPolys()

void vtkKdTree::AddPolys ( vtkKdNode kd,
vtkPoints pts,
vtkCellArray polys 
)
protected

◆ printTree_()

void vtkKdTree::printTree_ ( int  verbose)
protected

◆ SearchNeighborsForDuplicate()

int vtkKdTree::SearchNeighborsForDuplicate ( int  regionId,
float *  point,
int **  pointsSoFar,
int *  len,
float  tolerance,
float  tolerance2 
)
protected

◆ SearchRegionForDuplicate()

int vtkKdTree::SearchRegionForDuplicate ( float *  point,
int *  pointsSoFar,
int  len,
float  tolerance2 
)
protected

◆ FindClosestPointInRegion_()

int vtkKdTree::FindClosestPointInRegion_ ( int  regionId,
double  x,
double  y,
double  z,
double &  dist2 
)
protected

◆ FindClosestPointInSphere()

int vtkKdTree::FindClosestPointInSphere ( double  x,
double  y,
double  z,
double  radius,
int  skipRegion,
double &  dist2 
)
protected

◆ ViewOrderRegionsInDirection_()

int vtkKdTree::ViewOrderRegionsInDirection_ ( vtkIntArray IdsOfInterest,
const double  dop[3],
vtkIntArray orderedList 
)
protected

◆ ViewOrderRegionsInDirection_P()

static int vtkKdTree::ViewOrderRegionsInDirection_P ( vtkKdNode node,
vtkIntArray list,
vtkIntArray IdsOfInterest,
const double  dir[3],
int  nextId 
)
staticprotected

◆ ViewOrderRegionsFromPosition_()

int vtkKdTree::ViewOrderRegionsFromPosition_ ( vtkIntArray IdsOfInterest,
const double  pos[3],
vtkIntArray orderedList 
)
protected

◆ ViewOrderRegionsFromPosition_P()

static int vtkKdTree::ViewOrderRegionsFromPosition_P ( vtkKdNode node,
vtkIntArray list,
vtkIntArray IdsOfInterest,
const double  pos[3],
int  nextId 
)
staticprotected

◆ ConvexSubRegions_()

static int vtkKdTree::ConvexSubRegions_ ( int *  ids,
int  len,
vtkKdNode tree,
vtkKdNode **  nodes 
)
staticprotected

◆ FoundId()

static int vtkKdTree::FoundId ( vtkIntArray idArray,
int  id 
)
staticprotected

◆ SetInputDataInfo()

void vtkKdTree::SetInputDataInfo ( int  i,
int  dims[3],
double  origin[3],
double  spacing[3] 
)
protected

◆ CheckInputDataInfo()

int vtkKdTree::CheckInputDataInfo ( int  i,
int  dims[3],
double  origin[3],
double  spacing[3] 
)
protected

◆ ClearLastBuildCache()

void vtkKdTree::ClearLastBuildCache ( )
protected

◆ printTree_P()

static void vtkKdTree::printTree_P ( vtkKdNode kd,
int  depth,
int  verbose 
)
staticprotected

◆ MidValue()

static int vtkKdTree::MidValue ( int  dim,
float *  c1,
int  nvals,
double &  coord 
)
staticprotected

◆ Select()

static int vtkKdTree::Select ( int  dim,
float *  c1,
int *  ids,
int  nvals,
double &  coord 
)
staticprotected

◆ FindMaxLeftHalf()

static float vtkKdTree::FindMaxLeftHalf ( int  dim,
float *  c1,
int  K 
)
staticprotected

◆ Select_()

static void vtkKdTree::Select_ ( int  dim,
float *  X,
int *  ids,
int  L,
int  R,
int  K 
)
staticprotected

◆ ComputeLevel()

static int vtkKdTree::ComputeLevel ( vtkKdNode kd)
staticprotected

◆ SelfOrder()

static int vtkKdTree::SelfOrder ( int  id,
vtkKdNode kd 
)
staticprotected

◆ findRegion() [1/2]

static int vtkKdTree::findRegion ( vtkKdNode node,
float  x,
float  y,
float  z 
)
staticprotected

◆ findRegion() [2/2]

static int vtkKdTree::findRegion ( vtkKdNode node,
double  x,
double  y,
double  z 
)
staticprotected

◆ GetRegionsAtLevel_()

static vtkKdNode ** vtkKdTree::GetRegionsAtLevel_ ( int  level,
vtkKdNode **  nodes,
vtkKdNode kd 
)
staticprotected

◆ AddNewRegions()

static void vtkKdTree::AddNewRegions ( vtkKdNode kd,
float *  c1,
int  midpt,
int  dim,
double  coord 
)
staticprotected

◆ NewPartitioningRequest()

void vtkKdTree::NewPartitioningRequest ( int  req)
protected

◆ operator=()

void vtkKdTree::operator= ( const vtkKdTree )
protecteddelete

Member Data Documentation

◆ BSPCalculator

vtkBSPIntersections* vtkKdTree::BSPCalculator
protected

Definition at line 683 of file vtkKdTree.h.

◆ UserDefinedCuts

int vtkKdTree::UserDefinedCuts
protected

Definition at line 684 of file vtkKdTree.h.

◆ ValidDirections

int vtkKdTree::ValidDirections
protected

Definition at line 715 of file vtkKdTree.h.

◆ Top

vtkKdNode* vtkKdTree::Top
protected

Definition at line 717 of file vtkKdTree.h.

◆ RegionList

vtkKdNode** vtkKdTree::RegionList
protected

Definition at line 718 of file vtkKdTree.h.

◆ TimerLog

vtkTimerLog* vtkKdTree::TimerLog
protected

Definition at line 720 of file vtkKdTree.h.

◆ DataSets

vtkDataSetCollection* vtkKdTree::DataSets
protected

Definition at line 777 of file vtkKdTree.h.

◆ ProgressScale

double vtkKdTree::ProgressScale
protected

Definition at line 798 of file vtkKdTree.h.

◆ ProgressOffset

double vtkKdTree::ProgressOffset
protected

Definition at line 799 of file vtkKdTree.h.

◆ NumberOfRegionsOrLess

int vtkKdTree::NumberOfRegionsOrLess
protected

Definition at line 905 of file vtkKdTree.h.

◆ NumberOfRegionsOrMore

int vtkKdTree::NumberOfRegionsOrMore
protected

Definition at line 906 of file vtkKdTree.h.

◆ IncludeRegionBoundaryCells

vtkTypeBool vtkKdTree::IncludeRegionBoundaryCells
protected

Definition at line 908 of file vtkKdTree.h.

◆ CellBoundsCache

double vtkKdTree::CellBoundsCache[6]
protected

Definition at line 909 of file vtkKdTree.h.

◆ GenerateRepresentationUsingDataBounds

vtkTypeBool vtkKdTree::GenerateRepresentationUsingDataBounds
protected

Definition at line 911 of file vtkKdTree.h.

◆ CellList

struct cellList_ vtkKdTree::CellList
protected

Definition at line 913 of file vtkKdTree.h.

◆ CellRegionList

int* vtkKdTree::CellRegionList
protected

Definition at line 918 of file vtkKdTree.h.

◆ MinCells

int vtkKdTree::MinCells
protected

Definition at line 920 of file vtkKdTree.h.

◆ NumberOfRegions

int vtkKdTree::NumberOfRegions
protected

Definition at line 921 of file vtkKdTree.h.

◆ Timing

vtkTypeBool vtkKdTree::Timing
protected

Definition at line 923 of file vtkKdTree.h.

◆ FudgeFactor

double vtkKdTree::FudgeFactor
protected

Definition at line 924 of file vtkKdTree.h.

◆ NumberOfLocatorPoints

int vtkKdTree::NumberOfLocatorPoints
protected

Definition at line 929 of file vtkKdTree.h.

◆ LocatorPoints

float* vtkKdTree::LocatorPoints
protected

Definition at line 930 of file vtkKdTree.h.

◆ LocatorIds

int* vtkKdTree::LocatorIds
protected

Definition at line 931 of file vtkKdTree.h.

◆ LocatorRegionLocation

int* vtkKdTree::LocatorRegionLocation
protected

Definition at line 932 of file vtkKdTree.h.

◆ MaxWidth

float vtkKdTree::MaxWidth
protected

Definition at line 934 of file vtkKdTree.h.

◆ LastNumDataSets

int vtkKdTree::LastNumDataSets
protected

Definition at line 939 of file vtkKdTree.h.

◆ LastDataCacheSize

int vtkKdTree::LastDataCacheSize
protected

Definition at line 940 of file vtkKdTree.h.

◆ LastInputDataSets

vtkDataSet** vtkKdTree::LastInputDataSets
protected

Definition at line 941 of file vtkKdTree.h.

◆ LastDataSetObserverTags

unsigned long* vtkKdTree::LastDataSetObserverTags
protected

Definition at line 942 of file vtkKdTree.h.

◆ LastDataSetType

int* vtkKdTree::LastDataSetType
protected

Definition at line 943 of file vtkKdTree.h.

◆ LastInputDataInfo

double* vtkKdTree::LastInputDataInfo
protected

Definition at line 944 of file vtkKdTree.h.

◆ LastBounds

double* vtkKdTree::LastBounds
protected

Definition at line 945 of file vtkKdTree.h.

◆ LastNumPoints

vtkIdType* vtkKdTree::LastNumPoints
protected

Definition at line 946 of file vtkKdTree.h.

◆ LastNumCells

vtkIdType* vtkKdTree::LastNumCells
protected

Definition at line 947 of file vtkKdTree.h.

◆ Cuts

vtkBSPCuts* vtkKdTree::Cuts
protected

Definition at line 949 of file vtkKdTree.h.

◆ Progress

double vtkKdTree::Progress
protected

Definition at line 950 of file vtkKdTree.h.


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