KrisLibrary
1.0.0
|
The approximate O(k) point location algorithm that returns the closest of k randomly chosen points. More...
#include <PointLocation.h>
Public Member Functions | |
RandomBestPointLocation (std::vector< Vector > &points, CSpace *_space, int k=1) | |
virtual void | OnBuild () |
Call this when the point list is completely changed. | |
virtual void | OnAppend () |
Call this when something is appended to the point list. | |
virtual bool | OnDelete (int id) |
virtual bool | OnClear () |
Call this when the point list is cleared. | |
virtual bool | Exact () |
Subclass returns true if this is exact nearest neighbors. | |
virtual bool | NN (const Vector &p, int &nn, Real &distance) |
virtual bool | KNN (const Vector &p, int k, std::vector< int > &nn, std::vector< Real > &distances) |
virtual bool | FilteredNN (const Vector &p, bool(*filter)(int), int &nn, Real &distance) |
Same as NN, but with a filter. | |
virtual bool | FilteredKNN (const Vector &p, int k, bool(*filter)(int), std::vector< int > &nn, std::vector< Real > &distances) |
Same as KNN, but with a filter. | |
Public Member Functions inherited from PointLocationBase | |
PointLocationBase (std::vector< Vector > &_points) | |
virtual bool | Close (const Vector &p, Real r, std::vector< int > &neighbors, std::vector< Real > &distances) |
virtual bool | FilteredClose (const Vector &p, Real r, bool(*filter)(int), std::vector< int > &neighbors, std::vector< Real > &distances) |
Same as close, but with a filter. | |
Public Attributes | |
CSpace * | space |
int | k |
Public Attributes inherited from PointLocationBase | |
std::vector< Vector > & | points |
The approximate O(k) point location algorithm that returns the closest of k randomly chosen points.
|
virtual |
Call this to retrieve the indices of the k-nearest neighbors and their distances. Subclasses should return false if KNN queries are not supported.
Reimplemented from PointLocationBase.
References Math::RandInt().
|
virtual |
Call this to retrieve the index of the nearest neighbor and its distance. Subclasses should return false if NN queries are not supported.
Reimplemented from PointLocationBase.
References Math::RandInt().
|
inlinevirtual |
Call this when an index is deleted from the point list. Subclasses should return false if deletion is not supported
Reimplemented from PointLocationBase.