|
Ponca
7df32c91629c89b89840c4d7917cb272433f2d2b
Point Cloud Analysis library
|
Customizable base class for KnnGraph datastructure. More...
#include <knnGraph.h>
Inheritance diagram for Ponca::StaticKnnGraphBase< Traits >:
Collaboration diagram for Ponca::StaticKnnGraphBase< Traits >:Classes | |
| struct | Buffers |
| Internal structure storing all the buffers used by the KdTree. More... | |
Public Types | |
| using | DataPoint = typename Traits::DataPoint |
| DataPoint given by user via Traits | |
| using | Scalar = typename DataPoint::Scalar |
| Scalar given by user via DataPoint | |
| using | VectorType = typename DataPoint::VectorType |
| VectorType given by user via DataPoint | |
| using | IndexType = typename Traits::IndexType |
| Type used to index points into the PointContainer. | |
| using | PointContainer = typename Traits::PointContainer |
| Container for DataPoint used inside the KdTree | |
| using | IndexContainer = typename Traits::IndexContainer |
| Container for indices used inside the KdTree | |
| using | KNearestIndexQuery = KnnGraphKNearestQuery< Traits > |
| using | RangeIndexQuery = KnnGraphRangeQuery< Traits > |
Public Member Functions | |
| StaticKnnGraphBase (Buffers &_bufs) | |
| Constructor that allows the use of prebuilt KnnGraph containers. | |
| KNearestIndexQuery | kNearestNeighbors (int index) const |
| Computes a Query object to iterate over the k-nearest neighbors of a point. | |
| RangeIndexQuery | rangeNeighbors (int index, Scalar r) const |
| Computes a Query object to iterate over the neighbors that are inside a given radius. | |
| KNearestIndexQuery | kNearestNeighborsIndexQuery () const |
| Convenience function that provides a k-nearest neighbors Query object. | |
| RangeIndexQuery | rangeNeighborsIndexQuery () const |
| Convenience function that provides an empty range neighbors Query object. | |
| int | k () const |
| Number of neighbor per vertex. | |
| size_t | size () const |
| Number of vertices in the neighborhood graph. | |
| IndexType | sampleCount () const |
| Get the number of indices. | |
| IndexType | pointCount () const |
| Get the number of points. | |
| PointContainer | points () const |
| Get the internal point container. | |
| IndexContainer | samples () const |
| Get the internal index container. | |
| const Buffers & | buffers () const |
| Get access to the internal buffer, for instance to prepare GPU binding. | |
Protected Member Functions | |
| const IndexType * | getIndexPtr () const |
| IndexType * | getIndexPtr () |
| StaticKnnGraphBase (PointContainer _points, const int _k) | |
Protected Attributes | |
| Buffers | m_bufs |
| Buffers used to store the KnnGraph. | |
Friends | |
| class | KnnGraphKNearestQuery< Traits > |
| This type must be equal to KnnGraphBase::KNearestIndexQuery. | |
| class | KnnGraphRangeQuery< Traits > |
| This type must be equal to KnnGraphBase::RangeIndexQuery. | |
Customizable base class for KnnGraph datastructure.
| Traits | Traits type providing the types and constants used by the KnnGraph. Must have the same interface as the default traits type. |
Definition at line 48 of file knnGraph.h.
| using Ponca::StaticKnnGraphBase< Traits >::DataPoint = typename Traits::DataPoint |
DataPoint given by user via Traits
Definition at line 58 of file knnGraph.h.
| using Ponca::StaticKnnGraphBase< Traits >::IndexContainer = typename Traits::IndexContainer |
Container for indices used inside the KdTree
Definition at line 58 of file knnGraph.h.
| using Ponca::StaticKnnGraphBase< Traits >::IndexType = typename Traits::IndexType |
Type used to index points into the PointContainer.
Definition at line 58 of file knnGraph.h.
| using Ponca::StaticKnnGraphBase< Traits >::KNearestIndexQuery = KnnGraphKNearestQuery<Traits> |
Definition at line 60 of file knnGraph.h.
| using Ponca::StaticKnnGraphBase< Traits >::PointContainer = typename Traits::PointContainer |
Container for DataPoint used inside the KdTree
Definition at line 58 of file knnGraph.h.
| using Ponca::StaticKnnGraphBase< Traits >::RangeIndexQuery = KnnGraphRangeQuery<Traits> |
Definition at line 61 of file knnGraph.h.
| using Ponca::StaticKnnGraphBase< Traits >::Scalar = typename DataPoint::Scalar |
Scalar given by user via DataPoint
Definition at line 58 of file knnGraph.h.
| using Ponca::StaticKnnGraphBase< Traits >::VectorType = typename DataPoint::VectorType |
VectorType given by user via DataPoint
Definition at line 58 of file knnGraph.h.
|
inlineprotected |
Definition at line 93 of file knnGraph.h.
|
inline |
Constructor that allows the use of prebuilt KnnGraph containers.
Each internal values of a KnnGraph can be extracted using `KnnGraphbuffers()`
| _bufs | Internal buffers of the KnnGraph |
Definition at line 105 of file knnGraph.h.
|
inline |
Get access to the internal buffer, for instance to prepare GPU binding.
Definition at line 182 of file knnGraph.h.
|
inlineprotected |
Definition at line 69 of file knnGraph.h.
|
inlineprotected |
Definition at line 68 of file knnGraph.h.
|
inline |
Number of neighbor per vertex.
Definition at line 167 of file knnGraph.h.
|
inline |
Computes a Query object to iterate over the k-nearest neighbors of a point.
As k was set during the construction of the KnnGraphBase, it doesn't need to be provided.
The returned object can be reset and reused with the () operator, to compute a new result (also takes an index as parameter).
| index | Index of the point that the query evaluates |
Definition at line 118 of file knnGraph.h.
|
inline |
Convenience function that provides a k-nearest neighbors Query object.
Same as KnnGraphBase::kNearestNeighbors (0).
KdTreeBase::kNearestNeighborsIndexQuery, this function doesn't really return an empty query. This is due to the fact that the KnnGraphBase::kNearestNeighbors query can't set the k value to zero, as it is a value that is managed by the KnnGraphBase structure. Therefore, this function returns the k-nearest neighbors query made with the evaluation point set to 0.Definition at line 148 of file knnGraph.h.
|
inline |
Get the number of points.
Definition at line 176 of file knnGraph.h.
|
inline |
Get the internal point container.
Definition at line 178 of file knnGraph.h.
|
inline |
Computes a Query object to iterate over the neighbors that are inside a given radius.
The returned object can be reset and reused with the () operator, to compute a new result (also takes an index and a radius as parameters).
| index | Index of the point that the query evaluates |
| r | Radius around where to search the neighbors |
Definition at line 131 of file knnGraph.h.
|
inline |
Convenience function that provides an empty range neighbors Query object.
The returned object can be called with the arguments (i, r) to fetch the neighbors that are in range r of the point of index i.
Same as KnnGraphBase::rangeNeighbors (0, 0).
Definition at line 162 of file knnGraph.h.
|
inline |
Get the number of indices.
Definition at line 174 of file knnGraph.h.
|
inline |
Get the internal index container.
Definition at line 180 of file knnGraph.h.
|
inline |
Number of vertices in the neighborhood graph.
Definition at line 169 of file knnGraph.h.
This type must be equal to KnnGraphBase::KNearestIndexQuery.
Definition at line 1 of file knnGraph.h.
This type must be equal to KnnGraphBase::RangeIndexQuery.
Definition at line 1 of file knnGraph.h.
|
protected |
Buffers used to store the KnnGraph.
Definition at line 186 of file knnGraph.h.