VTK  9.3.20240319
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkPointLocator Class Reference

quickly locate points in 3-space More...

#include <vtkPointLocator.h>

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

Public Member Functions

vtkIdType FindClosestPoint (const double x[3]) override
 Given a position x, return the id of the point closest to it. More...
 
int InitPointInsertion (vtkPoints *newPts, const double bounds[6]) override
 Initialize the point insertion process. More...
 
int InitPointInsertion (vtkPoints *newPts, const double bounds[6], vtkIdType estNumPts) override
 Initialize the point insertion process. More...
 
void InsertPoint (vtkIdType ptId, const double x[3]) override
 Incrementally insert a point into search structure with a particular index value. More...
 
vtkIdType InsertNextPoint (const double x[3]) override
 Incrementally insert a point into search structure. More...
 
int InsertUniquePoint (const double x[3], vtkIdType &ptId) override
 Determine whether point given by x[3] has been inserted into points list. More...
 
vtkIdType FindClosestInsertedPoint (const double x[3]) override
 Given a position x, return the id of the point closest to it. More...
 
void FindClosestNPoints (int N, const double x[3], vtkIdList *result) override
 Find the closest N points to a position. More...
 
void FindPointsWithinRadius (double R, const double x[3], vtkIdList *result) override
 Find all points within a specified radius R of position x. More...
 
virtual vtkIdListGetPointsInBucket (const double x[3], int ijk[3])
 Given a position x, return the list of points in the bucket that contains the point. More...
 
virtual vtkIdType FindClosestPoint (const double x[3])=0
 Given a position x, return the id of the point closest to it. More...
 
vtkIdType FindClosestPoint (double x, double y, double z)
 
virtual void SetDivisions (int, int, int)
 Set the number of divisions in x-y-z directions. More...
 
virtual void SetDivisions (int[3])
 Set the number of divisions in x-y-z directions. More...
 
virtual int * GetDivisions ()
 Set the number of divisions in x-y-z directions. More...
 
virtual void GetDivisions (int data[3])
 Set the number of divisions in x-y-z directions. More...
 
virtual void SetNumberOfPointsPerBucket (int)
 Specify the average number of points in each bucket. More...
 
virtual int GetNumberOfPointsPerBucket ()
 Specify the average number of points in each bucket. More...
 
vtkIdType FindClosestPointWithinRadius (double radius, const double x[3], double &dist2) override
 Given a position x and a radius r, return the id of the point closest to the point in that radius. More...
 
virtual vtkIdType FindClosestPointWithinRadius (double radius, const double x[3], double inputDataLength, double &dist2)
 Given a position x and a radius r, return the id of the point closest to the point in that radius. More...
 
vtkIdType IsInsertedPoint (double x, double y, double z) override
 Determine whether point given by x[3] has been inserted into points list. More...
 
vtkIdType IsInsertedPoint (const double x[3]) override
 Determine whether point given by x[3] has been inserted into points list. More...
 
virtual void FindDistributedPoints (int N, const double x[3], vtkIdList *result, int M)
 Find the closest points to a position such that each octant of space around the position contains at least N points. More...
 
virtual void FindDistributedPoints (int N, double x, double y, double z, vtkIdList *result, int M)
 Find the closest points to a position such that each octant of space around the position contains at least N points. More...
 
virtual vtkPointsGetPoints ()
 Provide an accessor to the points. More...
 
void Initialize () override
 See vtkLocator interface documentation. More...
 
void FreeSearchStructure () override
 See vtkLocator interface documentation. More...
 
void BuildLocator () override
 See vtkLocator interface documentation. More...
 
void ForceBuildLocator () override
 See vtkLocator interface documentation. More...
 
void GenerateRepresentation (int level, vtkPolyData *pd) override
 See vtkLocator interface documentation. More...
 
- Public Member Functions inherited from vtkIncrementalPointLocator
vtkIncrementalPointLocatorNewInstance () const
 
- Public Member Functions inherited from vtkAbstractPointLocator
vtkIdType FindClosestPoint (double x, double y, double z)
 Given a position x, return the id of the point closest to it. More...
 
void FindClosestNPoints (int N, double x, double y, double z, vtkIdList *result)
 Find the closest N points to a position. More...
 
void FindPointsWithinRadius (double R, double x, double y, double z, vtkIdList *result)
 Find all points within a specified radius R of position x. More...
 
virtual double * GetBounds ()
 Provide an accessor to the bounds. More...
 
virtual void GetBounds (double *)
 Provide an accessor to the bounds. More...
 
virtual vtkIdType GetNumberOfBuckets ()
 Return the total number of buckets in the locator. More...
 
vtkAbstractPointLocatorNewInstance () const
 Standard type and print methods. More...
 
- Public Member Functions inherited from vtkLocator
virtual void Update ()
 Cause the locator to rebuild itself if it or its input dataset has changed. More...
 
virtual void SetDataSet (vtkDataSet *)
 Build the locator from the points/cells defining this dataset. More...
 
virtual vtkDataSetGetDataSet ()
 Build the locator from the points/cells defining this dataset. More...
 
virtual void SetMaxLevel (int)
 Set the maximum allowable level for the tree. More...
 
virtual int GetMaxLevel ()
 Set the maximum allowable level for the tree. More...
 
virtual int GetLevel ()
 Get the level of the locator (determined automatically if Automatic is true). More...
 
virtual void SetAutomatic (vtkTypeBool)
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. More...
 
virtual vtkTypeBool GetAutomatic ()
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. More...
 
virtual void AutomaticOn ()
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. More...
 
virtual void AutomaticOff ()
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. More...
 
virtual void SetTolerance (double)
 Specify absolute tolerance (in world coordinates) for performing geometric operations. More...
 
virtual double GetTolerance ()
 Specify absolute tolerance (in world coordinates) for performing geometric operations. More...
 
virtual void SetUseExistingSearchStructure (vtkTypeBool)
 Get/Set UseExistingSearchStructure, which when enabled it allows the locator to NOT be built again. More...
 
virtual vtkTypeBool GetUseExistingSearchStructure ()
 Get/Set UseExistingSearchStructure, which when enabled it allows the locator to NOT be built again. More...
 
virtual void UseExistingSearchStructureOn ()
 Get/Set UseExistingSearchStructure, which when enabled it allows the locator to NOT be built again. More...
 
virtual void UseExistingSearchStructureOff ()
 Get/Set UseExistingSearchStructure, which when enabled it allows the locator to NOT be built again. More...
 
virtual vtkMTimeType GetBuildTime ()
 Return the time of the last data structure build. More...
 
bool UsesGarbageCollector () const override
 Handle the PointSet <-> Locator loop. More...
 
vtkLocatorNewInstance () const
 Standard type and print methods. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
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. More...
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
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. More...
 
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. More...
 
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. More...
 
vtkTypeBool InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
vtkTypeBool InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
virtual void SetObjectName (const std::string &objectName)
 Set/get the name of this object for reporting purposes. More...
 
virtual std::string GetObjectName () const
 Set/get the name of this object for reporting purposes. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
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). More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Static Public Member Functions

static vtkPointLocatorNew ()
 Construct with automatic computation of divisions, averaging 25 points per bucket. More...
 
- Static Public Member Functions inherited from vtkIncrementalPointLocator
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkIncrementalPointLocatorSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractPointLocator
static vtkTypeBool IsTypeOf (const char *type)
 Standard type and print methods. More...
 
static vtkAbstractPointLocatorSafeDownCast (vtkObjectBase *o)
 Standard type and print methods. More...
 
- Static Public Member Functions inherited from vtkLocator
static vtkTypeBool IsTypeOf (const char *type)
 Standard type and print methods. More...
 
static vtkLocatorSafeDownCast (vtkObjectBase *o)
 Standard type and print methods. More...
 
- 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. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (vtkTypeBool val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static vtkTypeBool GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- 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. More...
 
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). More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More...
 
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. More...
 

Protected Member Functions

 vtkPointLocator ()
 
 ~vtkPointLocator () override
 
void BuildLocatorInternal () override
 This function is not pure virtual to maintain backwards compatibility. More...
 
void GetBucketNeighbors (vtkNeighborPoints *buckets, const int ijk[3], const int ndivs[3], int level)
 
void GetOverlappingBuckets (vtkNeighborPoints *buckets, const double x[3], const int ijk[3], double dist, int level)
 
void GetOverlappingBuckets (vtkNeighborPoints *buckets, const double x[3], double dist, int prevMinLevel[3], int prevMaxLevel[3])
 
void GenerateFace (int face, int i, int j, int k, vtkPoints *pts, vtkCellArray *polys)
 
double Distance2ToBucket (const double x[3], const int nei[3])
 
double Distance2ToBounds (const double x[3], const double bounds[6])
 
void GetBucketIndices (const double *x, int ijk[3]) const
 
vtkIdType GetBucketIndex (const double *x) const
 
void ComputePerformanceFactors ()
 
- Protected Member Functions inherited from vtkIncrementalPointLocator
 vtkIncrementalPointLocator ()
 
 ~vtkIncrementalPointLocator () override
 
- Protected Member Functions inherited from vtkAbstractPointLocator
 vtkAbstractPointLocator ()
 
 ~vtkAbstractPointLocator () override
 
- Protected Member Functions inherited from vtkLocator
 vtkLocator ()
 
 ~vtkLocator () override
 
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. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

vtkPointsPoints
 
int Divisions [3]
 
int NumberOfPointsPerBucket
 
vtkIdList ** HashTable
 
double H [3]
 
double InsertionTol2
 
vtkIdType InsertionPointId
 
double InsertionLevel
 
double HX
 
double HY
 
double HZ
 
double FX
 
double FY
 
double FZ
 
double BX
 
double BY
 
double BZ
 
vtkIdType XD
 
vtkIdType YD
 
vtkIdType ZD
 
vtkIdType SliceSize
 
- Protected Attributes inherited from vtkAbstractPointLocator
double Bounds [6]
 
vtkIdType NumberOfBuckets
 
- 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
 
typedef vtkIncrementalPointLocator Superclass
 Standard methods for type management and printing. More...
 
static vtkTypeBool IsTypeOf (const char *type)
 Standard methods for type management and printing. More...
 
static vtkPointLocatorSafeDownCast (vtkObjectBase *o)
 Standard methods for type management and printing. More...
 
virtual vtkTypeBool IsA (const char *type)
 Standard methods for type management and printing. More...
 
vtkPointLocatorNewInstance () const
 Standard methods for type management and printing. More...
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Standard methods for type management and printing. More...
 
virtual vtkObjectBaseNewInstanceInternal () const
 Standard methods for type management and printing. More...
 

Additional Inherited Members

- Public Types inherited from vtkIncrementalPointLocator
typedef vtkAbstractPointLocator Superclass
 
- Public Types inherited from vtkAbstractPointLocator
typedef vtkLocator Superclass
 Standard type and print methods. More...
 
- Public Types inherited from vtkLocator
typedef vtkObject Superclass
 Standard type and print methods. More...
 
- Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction GetCurrentMallocFunction ()
 
static vtkReallocingFunction GetCurrentReallocFunction ()
 
static vtkFreeingFunction GetCurrentFreeFunction ()
 
static vtkFreeingFunction GetAlternateFreeFunction ()
 

Detailed Description

quickly locate points in 3-space

vtkPointLocator is a spatial search object to quickly locate points in 3D. vtkPointLocator works by dividing a specified region of space into a regular array of "rectangular" buckets, and then keeping a list of points that lie in each bucket. Typical operation involves giving a position in 3D and finding the closest point.

vtkPointLocator has two distinct methods of interaction. In the first method, you supply it with a dataset, and it operates on the points in the dataset. In the second method, you supply it with an array of points, and the object operates on the array.

Warning
Many other types of spatial locators have been developed such as octrees and kd-trees. These are often more efficient for the operations described here.
Frequently vtkStaticPointLocator is used in lieu of vtkPointLocator. They are very similar in terms of algorithmic approach, however vtkStaticCellLocator is threaded and is typically much faster for a large number of points (on the order of 3-5x faster). For small numbers of points, vtkPointLocator is just as fast as vtkStaticPointLocator.
See also
vtkCellPicker vtkPointPicker vtkStaticPointLocator
Online Examples:

Tests:
vtkPointLocator (Tests)

Definition at line 98 of file vtkPointLocator.h.

Member Typedef Documentation

◆ Superclass

Standard methods for type management and printing.

Definition at line 111 of file vtkPointLocator.h.

Constructor & Destructor Documentation

◆ vtkPointLocator()

vtkPointLocator::vtkPointLocator ( )
protected

◆ ~vtkPointLocator()

vtkPointLocator::~vtkPointLocator ( )
overrideprotected

Member Function Documentation

◆ New()

static vtkPointLocator* vtkPointLocator::New ( )
static

Construct with automatic computation of divisions, averaging 25 points per bucket.

◆ IsTypeOf()

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

Standard methods for type management and printing.

◆ IsA()

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

Standard methods for type management and printing.

Reimplemented from vtkIncrementalPointLocator.

Reimplemented in vtkSMPMergePoints, vtkNonMergingPointLocator, and vtkMergePoints.

◆ SafeDownCast()

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

Standard methods for type management and printing.

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkPointLocator::NewInstanceInternal ( ) const
protectedvirtual

Standard methods for type management and printing.

Reimplemented from vtkIncrementalPointLocator.

Reimplemented in vtkSMPMergePoints, vtkNonMergingPointLocator, and vtkMergePoints.

◆ NewInstance()

vtkPointLocator* vtkPointLocator::NewInstance ( ) const

Standard methods for type management and printing.

◆ PrintSelf()

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

Standard methods for type management and printing.

Reimplemented from vtkIncrementalPointLocator.

Reimplemented in vtkSMPMergePoints.

◆ SetDivisions() [1/2]

virtual void vtkPointLocator::SetDivisions ( int  ,
int  ,
int   
)
virtual

Set the number of divisions in x-y-z directions.

◆ SetDivisions() [2/2]

virtual void vtkPointLocator::SetDivisions ( int  [3])
virtual

Set the number of divisions in x-y-z directions.

◆ GetDivisions() [1/2]

virtual int* vtkPointLocator::GetDivisions ( )
virtual

Set the number of divisions in x-y-z directions.

◆ GetDivisions() [2/2]

virtual void vtkPointLocator::GetDivisions ( int  data[3])
virtual

Set the number of divisions in x-y-z directions.

◆ SetNumberOfPointsPerBucket()

virtual void vtkPointLocator::SetNumberOfPointsPerBucket ( int  )
virtual

Specify the average number of points in each bucket.

◆ GetNumberOfPointsPerBucket()

virtual int vtkPointLocator::GetNumberOfPointsPerBucket ( )
virtual

Specify the average number of points in each bucket.

◆ FindClosestPoint() [1/3]

vtkIdType vtkPointLocator::FindClosestPoint ( const double  x[3])
overridevirtual

Given a position x, return the id of the point closest to it.

Alternative method requires separate x-y-z values. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.

Implements vtkAbstractPointLocator.

◆ FindClosestPointWithinRadius() [1/2]

vtkIdType vtkPointLocator::FindClosestPointWithinRadius ( double  radius,
const double  x[3],
double &  dist2 
)
overridevirtual

Given a position x and a radius r, return the id of the point closest to the point in that radius.

These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first. dist2 returns the squared distance to the point.

Implements vtkAbstractPointLocator.

◆ FindClosestPointWithinRadius() [2/2]

virtual vtkIdType vtkPointLocator::FindClosestPointWithinRadius ( double  radius,
const double  x[3],
double  inputDataLength,
double &  dist2 
)
virtual

Given a position x and a radius r, return the id of the point closest to the point in that radius.

These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first. dist2 returns the squared distance to the point.

◆ InitPointInsertion() [1/2]

int vtkPointLocator::InitPointInsertion ( vtkPoints newPts,
const double  bounds[6] 
)
overridevirtual

Initialize the point insertion process.

The newPts is an object representing point coordinates into which incremental insertion methods place their data. Bounds are the box that the points lie in. Not thread safe.

Implements vtkIncrementalPointLocator.

◆ InitPointInsertion() [2/2]

int vtkPointLocator::InitPointInsertion ( vtkPoints newPts,
const double  bounds[6],
vtkIdType  estNumPts 
)
overridevirtual

Initialize the point insertion process.

The newPts is an object representing point coordinates into which incremental insertion methods place their data. Bounds are the box that the points lie in. Not thread safe.

Implements vtkIncrementalPointLocator.

◆ InsertPoint()

void vtkPointLocator::InsertPoint ( vtkIdType  ptId,
const double  x[3] 
)
overridevirtual

Incrementally insert a point into search structure with a particular index value.

You should use the method IsInsertedPoint() to see whether this point has already been inserted (that is, if you desire to prevent duplicate points). Before using this method you must make sure that newPts have been supplied, the bounds has been set properly, and that divs are properly set. (See InitPointInsertion().) Not thread safe.

Implements vtkIncrementalPointLocator.

◆ InsertNextPoint()

vtkIdType vtkPointLocator::InsertNextPoint ( const double  x[3])
overridevirtual

Incrementally insert a point into search structure.

The method returns the insertion location (i.e., point id). You should use the method IsInsertedPoint() to see whether this point has already been inserted (that is, if you desire to prevent duplicate points). Before using this method you must make sure that newPts have been supplied, the bounds has been set properly, and that divs are properly set. (See InitPointInsertion().) Not thread safe.

Implements vtkIncrementalPointLocator.

◆ IsInsertedPoint() [1/2]

vtkIdType vtkPointLocator::IsInsertedPoint ( double  x,
double  y,
double  z 
)
inlineoverridevirtual

Determine whether point given by x[3] has been inserted into points list.

Return id of previously inserted point if this is true, otherwise return -1. This method is thread safe.

Implements vtkIncrementalPointLocator.

Definition at line 200 of file vtkPointLocator.h.

◆ IsInsertedPoint() [2/2]

vtkIdType vtkPointLocator::IsInsertedPoint ( const double  x[3])
overridevirtual

Determine whether point given by x[3] has been inserted into points list.

Return id of previously inserted point if this is true, otherwise return -1. This method is thread safe.

Implements vtkIncrementalPointLocator.

◆ InsertUniquePoint()

int vtkPointLocator::InsertUniquePoint ( const double  x[3],
vtkIdType ptId 
)
overridevirtual

Determine whether point given by x[3] has been inserted into points list.

Return 0 if point was already in the list, otherwise return 1. If the point was not in the list, it will be ADDED. In either case, the id of the point (newly inserted or not) is returned in the ptId argument. Note this combines the functionality of IsInsertedPoint() followed by a call to InsertNextPoint(). This method is not thread safe.

Implements vtkIncrementalPointLocator.

◆ FindClosestInsertedPoint()

vtkIdType vtkPointLocator::FindClosestInsertedPoint ( const double  x[3])
overridevirtual

Given a position x, return the id of the point closest to it.

This method is used when performing incremental point insertion. Note that -1 indicates that no point was found. This method is thread safe if BuildLocator() is directly or indirectly called from a single thread first.

Implements vtkIncrementalPointLocator.

◆ FindClosestNPoints()

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

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.

Implements vtkAbstractPointLocator.

◆ FindDistributedPoints() [1/2]

virtual void vtkPointLocator::FindDistributedPoints ( int  N,
const double  x[3],
vtkIdList result,
int  M 
)
virtual

Find the closest points to a position such that each octant of space around the position contains at least N points.

Loosely limit the search to a maximum number of points evaluated, M. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.

◆ FindDistributedPoints() [2/2]

virtual void vtkPointLocator::FindDistributedPoints ( int  N,
double  x,
double  y,
double  z,
vtkIdList result,
int  M 
)
virtual

Find the closest points to a position such that each octant of space around the position contains at least N points.

Loosely limit the search to a maximum number of points evaluated, M. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.

◆ FindPointsWithinRadius()

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

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.

Implements vtkAbstractPointLocator.

◆ GetPointsInBucket()

virtual vtkIdList* vtkPointLocator::GetPointsInBucket ( const double  x[3],
int  ijk[3] 
)
virtual

Given a position x, return the list of points in the bucket that contains the point.

It is possible that nullptr is returned. The user provides an ijk array that is the indices into the locator. This method is thread safe.

◆ GetPoints()

virtual vtkPoints* vtkPointLocator::GetPoints ( )
virtual

Provide an accessor to the points.

◆ Initialize()

void vtkPointLocator::Initialize ( )
overridevirtual

See vtkLocator interface documentation.

These methods are not thread safe.

Reimplemented from vtkLocator.

◆ FreeSearchStructure()

void vtkPointLocator::FreeSearchStructure ( )
overridevirtual

See vtkLocator interface documentation.

These methods are not thread safe.

Implements vtkLocator.

◆ BuildLocator()

void vtkPointLocator::BuildLocator ( )
overridevirtual

See vtkLocator interface documentation.

These methods are not thread safe.

Implements vtkLocator.

◆ ForceBuildLocator()

void vtkPointLocator::ForceBuildLocator ( )
overridevirtual

See vtkLocator interface documentation.

These methods are not thread safe.

Reimplemented from vtkLocator.

◆ GenerateRepresentation()

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

See vtkLocator interface documentation.

These methods are not thread safe.

Implements vtkLocator.

◆ BuildLocatorInternal()

void vtkPointLocator::BuildLocatorInternal ( )
overrideprotectedvirtual

This function is not pure virtual to maintain backwards compatibility.

Reimplemented from vtkLocator.

◆ GetBucketNeighbors()

void vtkPointLocator::GetBucketNeighbors ( vtkNeighborPoints *  buckets,
const int  ijk[3],
const int  ndivs[3],
int  level 
)
protected

◆ GetOverlappingBuckets() [1/2]

void vtkPointLocator::GetOverlappingBuckets ( vtkNeighborPoints *  buckets,
const double  x[3],
const int  ijk[3],
double  dist,
int  level 
)
protected

◆ GetOverlappingBuckets() [2/2]

void vtkPointLocator::GetOverlappingBuckets ( vtkNeighborPoints *  buckets,
const double  x[3],
double  dist,
int  prevMinLevel[3],
int  prevMaxLevel[3] 
)
protected

◆ GenerateFace()

void vtkPointLocator::GenerateFace ( int  face,
int  i,
int  j,
int  k,
vtkPoints pts,
vtkCellArray polys 
)
protected

◆ Distance2ToBucket()

double vtkPointLocator::Distance2ToBucket ( const double  x[3],
const int  nei[3] 
)
protected

◆ Distance2ToBounds()

double vtkPointLocator::Distance2ToBounds ( const double  x[3],
const double  bounds[6] 
)
protected

◆ GetBucketIndices()

void vtkPointLocator::GetBucketIndices ( const double *  x,
int  ijk[3] 
) const
inlineprotected

Definition at line 320 of file vtkPointLocator.h.

◆ GetBucketIndex()

vtkIdType vtkPointLocator::GetBucketIndex ( const double *  x) const
inlineprotected

Definition at line 332 of file vtkPointLocator.h.

◆ ComputePerformanceFactors()

void vtkPointLocator::ComputePerformanceFactors ( )
protected

◆ FindClosestPoint() [2/3]

virtual vtkIdType vtkAbstractPointLocator::FindClosestPoint

Given a position x, return the id of the point closest to it.

Alternative method requires separate x-y-z values. These methods are thread safe if BuildLocator() is directly or indirectly called from a single thread first.

◆ FindClosestPoint() [3/3]

vtkIdType vtkAbstractPointLocator::FindClosestPoint

Member Data Documentation

◆ Points

vtkPoints* vtkPointLocator::Points
protected

Definition at line 305 of file vtkPointLocator.h.

◆ Divisions

int vtkPointLocator::Divisions[3]
protected

Definition at line 306 of file vtkPointLocator.h.

◆ NumberOfPointsPerBucket

int vtkPointLocator::NumberOfPointsPerBucket
protected

Definition at line 307 of file vtkPointLocator.h.

◆ HashTable

vtkIdList** vtkPointLocator::HashTable
protected

Definition at line 308 of file vtkPointLocator.h.

◆ H

double vtkPointLocator::H[3]
protected

Definition at line 309 of file vtkPointLocator.h.

◆ InsertionTol2

double vtkPointLocator::InsertionTol2
protected

Definition at line 311 of file vtkPointLocator.h.

◆ InsertionPointId

vtkIdType vtkPointLocator::InsertionPointId
protected

Definition at line 312 of file vtkPointLocator.h.

◆ InsertionLevel

double vtkPointLocator::InsertionLevel
protected

Definition at line 313 of file vtkPointLocator.h.

◆ HX

double vtkPointLocator::HX
protected

Definition at line 316 of file vtkPointLocator.h.

◆ HY

double vtkPointLocator::HY
protected

Definition at line 316 of file vtkPointLocator.h.

◆ HZ

double vtkPointLocator::HZ
protected

Definition at line 316 of file vtkPointLocator.h.

◆ FX

double vtkPointLocator::FX
protected

Definition at line 317 of file vtkPointLocator.h.

◆ FY

double vtkPointLocator::FY
protected

Definition at line 317 of file vtkPointLocator.h.

◆ FZ

double vtkPointLocator::FZ
protected

Definition at line 317 of file vtkPointLocator.h.

◆ BX

double vtkPointLocator::BX
protected

Definition at line 317 of file vtkPointLocator.h.

◆ BY

double vtkPointLocator::BY
protected

Definition at line 317 of file vtkPointLocator.h.

◆ BZ

double vtkPointLocator::BZ
protected

Definition at line 317 of file vtkPointLocator.h.

◆ XD

vtkIdType vtkPointLocator::XD
protected

Definition at line 318 of file vtkPointLocator.h.

◆ YD

vtkIdType vtkPointLocator::YD
protected

Definition at line 318 of file vtkPointLocator.h.

◆ ZD

vtkIdType vtkPointLocator::ZD
protected

Definition at line 318 of file vtkPointLocator.h.

◆ SliceSize

vtkIdType vtkPointLocator::SliceSize
protected

Definition at line 318 of file vtkPointLocator.h.


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