IPointIndex Class Reference
Interface to a point index object managing the point objects within the datamanager. More...
#include "IPointIndex.hpp"
Inheritance diagram for IPointIndex:Public Types | |
| typedef ConstIterator< IPoint > | const_iterator_point |
| Point iterator. | |
| typedef InsertIterator< IPoint > | insert_iterator_point |
| Point insert iterator (used in searchPoint functions) | |
|
typedef ConstIterator < IPointIndexLeaf > | const_iterator_leaf |
| Leaf iterator. | |
| typedef Iterator< IPointIndexLeaf > | iterator_leaf |
| Leaf iterator. | |
|
typedef InsertIterator < IPointIndexLeaf > | insert_iterator_leaf |
| Leaf insert iterator (used in searchPoint functions) | |
Public Member Functions | |
| virtual BoxHandle | getLimit () const =0 |
| get points based bounding box | |
| virtual BoxHandle | getIndexLimit () const =0 |
| get index based bounding box (if no index bounding available the points based bounding box is returned) | |
| virtual int64_t | sizePoint () const =0 |
| virtual int64_t | sizeLeaf () const =0 |
| virtual double | estimatePointDensity (bool fastEstimation=true) const =0 |
| virtual const_iterator_point | beginPoint (E_IteratorOrder order=eORDER_INTERNAL) const =0 |
| virtual const_iterator_point | endPoint (E_IteratorOrder order=eORDER_INTERNAL) const =0 |
| virtual const_iterator_leaf | beginLeaf (E_IteratorOrder order=eORDER_INTERNAL) const =0 |
| virtual const_iterator_leaf | endLeaf (E_IteratorOrder order=eORDER_INTERNAL) const =0 |
| virtual iterator_leaf | beginLeaf (E_IteratorOrder order=eORDER_INTERNAL)=0 |
| virtual iterator_leaf | endLeaf (E_IteratorOrder order=eORDER_INTERNAL)=0 |
| virtual const_iterator_leaf | beginLeaf (FilterHandle filter, WindowHandle limits=WindowHandle()) const =0 |
| virtual const_iterator_leaf | endLeaf (FilterHandle filter, WindowHandle limits=WindowHandle()) const =0 |
| virtual PointIndexLeafHandle | getLeaf (const_iterator_point &it)=0 |
| virtual PointIndexLeafHandle | getLeaf (int64_t leafId)=0 |
| virtual PointHandle | getPoint (int64_t id) const =0 |
| get point by id (if the id doesn't exist an empty handle is returned) | |
| virtual void | searchPoint (const IWindow &win, insert_iterator_point &insIt, bool includeRightBoundary=true)=0 |
| virtual void | searchPoint (const IBox &box, insert_iterator_point &insIt, bool includeRightBoundary=true)=0 |
| virtual void | searchPoint (const IPolygon &p, insert_iterator_point &insIt)=0 |
| virtual void | searchPoint (const ICircle &c, insert_iterator_point &instIt)=0 |
| virtual void | searchPoint (const ISphere &s, insert_iterator_point &instIt)=0 |
| virtual void | searchPoint (const ICylinder &c, insert_iterator_point &instIt)=0 |
| virtual void | searchPoint (const IWindow &win, insert_iterator_point &insIt, insert_iterator_leaf &insLeaf, bool includeRightBoundary=true)=0 |
| virtual void | searchPoint (const IBox &box, insert_iterator_point &insIt, insert_iterator_leaf &insLeaf, bool includeRightBoundary=true)=0 |
| virtual void | searchPoint (const IPolygon &p, insert_iterator_point &insIt, insert_iterator_leaf &insLeaf)=0 |
| virtual void | searchPoint (const ICircle &c, insert_iterator_point &instIt, insert_iterator_leaf &insLeaf)=0 |
| virtual void | searchPoint (const ISphere &s, insert_iterator_point &instIt, insert_iterator_leaf &insLeaf)=0 |
| virtual void | searchPoint (const ICylinder &c, insert_iterator_point &instIt, insert_iterator_leaf &insLeaf)=0 |
| virtual double | searchPoint (int nnCount, const IPoint &queryPt, insert_iterator_point &instIt, double maxDistance=-1)=0 |
| k nearest neighbour search potentially slow for the overall point index object. consider building a local kd tree -> IPointIndexLeaf | |
| virtual double | searchPoint (int nnCount, const IPoint &queryPt, insert_iterator_point &instIt, insert_iterator_leaf &insLeaf, double maxDistance=-1)=0 |
| k nearest neighbour search potentially slow for the overall point index object. consider building a local kd tree -> IPointIndexLeaf | |
| virtual int64_t | sizePointCache () const =0 |
| virtual void | sizePointCache (int64_t size)=0 |
| virtual BoxHandle | getLimit (const const_iterator_leaf &it) const =0 |
| virtual BoxHandle | getIndexLimit (const const_iterator_leaf &it) const =0 |
| virtual int64_t | sizePoint (const const_iterator_leaf &it) const =0 |
| virtual int64_t | id (const const_iterator_leaf &it) const =0 |
| virtual AddInfoStatisticsHandle | getAddInfoStatistics () const =0 |
| virtual AddInfoStatisticsHandle | getLeafAddInfoStatistics (const const_iterator_leaf &it) const =0 |
| virtual IndexStatsHandle | getIndexStatistics () const =0 |
| virtual void | searchLeaf (const IWindow &win, insert_iterator_leaf &insLeaf, bool includeRightBoundary=true)=0 |
| virtual void | freeMemory () const =0 |
| virtual void | tileSizeHint (double tilesize)=0 |
Public Member Functions inherited from ObjectBase | |
| virtual void | Delete () |
Detailed Description
Interface to a point index object managing the point objects within the datamanager.
Member Function Documentation
|
pure virtual |
k nearest neighbour search potentially slow for the overall point index object. consider building a local kd tree -> IPointIndexLeaf
- Parameters
-
[in] nnCount number of k neighbour to find [in] queryPt base point for the neighbour search [in] instIt insert iterator for collecting the found geometry objects [in] maxDistance maximum distance (not squared distance) for finding geometry objects (use -1 disabling the distance limit)
- Returns
- distance to the furthest found geometry object or 'maxDistance' in case on object was found
|
pure virtual |
k nearest neighbour search potentially slow for the overall point index object. consider building a local kd tree -> IPointIndexLeaf
- Parameters
-
[in] nnCount number of k neighbour to find [in] queryPt base point for the neighbour search [in] instIt insert iterator for collecting the found geometry objects [in] insLeaf leaf inster iterator for storing all leafs for which nearest neighbour points where returned [in] maxDistance maximum distance (not squared distance) for finding geometry objects (use -1 disabling the distance limit)
- Returns
- distance to the furthest found geometry object or 'maxDistance' in case on object was found
