|
Ponca
84886bac0b52a686e88046a375da13f12f2b87d2
Point Cloud Analysis library
|
[KdTreeSparse type definition] More...
#include <kdTree.h>
Inheritance diagram for Ponca::KdTreeBase< Traits >:
Collaboration diagram for Ponca::KdTreeBase< Traits >:Classes | |
| struct | DefaultConverter |
| Convert a custom point container to the KdTree PointContainer using DataPoint default constructor. More... | |
Public Types | |
| using | DataPoint = typename Traits::DataPoint |
| DataPoint given by user via Traits. | |
| using | IndexType = typename Traits::IndexType |
| Type used to index points into the PointContainer. | |
| using | LeafSizeType = typename Traits::LeafSizeType |
| Type used to store the size of leaf nodes. | |
| 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 | NodeIndexType = typename Traits::NodeIndexType |
| Type used to index nodes into the NodeContainer. | |
| using | NodeType = typename Traits::NodeType |
| Type of nodes used inside the KdTree. | |
| using | NodeContainer = typename Traits::NodeContainer |
| Container for nodes used inside the KdTree. | |
| using | Scalar = typename DataPoint::Scalar |
| Scalar given by user via DataPoint. | |
| using | VectorType = typename DataPoint::VectorType |
| VectorType given by user via DataPoint. | |
| using | AabbType = typename NodeType::AabbType |
| Bounding box type given by user via NodeType. | |
Public Member Functions | |
| template<typename PointUserContainer , typename Converter > | |
| void | build (PointUserContainer &&points, Converter c) |
| Generate a tree from a custom contained type converted using the specified converter. | |
| template<typename PointUserContainer > | |
| void | build (PointUserContainer &&points) |
| Generate a tree from a custom contained type converted using DefaultConverter. | |
| void | clear () |
| Clear tree data. | |
| NodeIndexType | node_count () const |
| IndexType | sample_count () const |
| IndexType | pointCount () const |
| NodeIndexType | leaf_count () const |
| PointContainer & | points () |
| const PointContainer & | points () const |
| const NodeContainer & | nodes () const |
| const IndexContainer & | samples () const |
| LeafSizeType | minCellSize () const |
| Read leaf min size. | |
| void | setMinCellSize (LeafSizeType min_cell_size) |
| Write leaf min size. | |
| IndexType | pointFromSample (IndexType sample_index) const |
| Return the point index associated with the specified sample index. | |
| DataPoint & | pointDataFromSample (IndexType sample_index) |
| Return the DataPoint associated with the specified sample index. | |
| const DataPoint & | pointDataFromSample (IndexType sample_index) const |
| Return the DataPoint associated with the specified sample index. | |
| KdTreeKNearestPointQuery< Traits > | kNearestNeighbors (const VectorType &point, IndexType k) const |
| Computes a Query object to iterate over the k-nearest neighbors of a point. The returned object can be reset and reused with the () operator (using the same argument types as parameters). | |
| KdTreeKNearestIndexQuery< Traits > | kNearestNeighbors (IndexType index, IndexType k) const |
| Computes a Query object to iterate over the k-nearest neighbors of a point. The returned object can be reset and reused with the () operator (using the same argument types as parameters). | |
| KdTreeKNearestPointQuery< Traits > | kNearestNeighborsQuery () const |
| Convenience function that provides an empty k-nearest neighbors Query object. | |
| KdTreeKNearestIndexQuery< Traits > | kNearestNeighborsIndexQuery () const |
| Convenience function that provides an empty k-nearest neighbors Query object. | |
| KdTreeNearestPointQuery< Traits > | nearestNeighbor (const VectorType &point) const |
| Computes a Query object that contains the nearest point. The returned object can be reset and reused with the () operator (using the same argument types as parameters). | |
| KdTreeNearestIndexQuery< Traits > | nearestNeighbor (IndexType index) const |
| Computes a Query object that contains the nearest point. The returned object can be reset and reused with the () operator (using the same argument types as parameters). | |
| KdTreeNearestIndexQuery< Traits > | nearestNeighborQuery () const |
| Convenience function that provides an empty nearest neighbor Query object. | |
| KdTreeNearestIndexQuery< Traits > | nearestNeighborIndexQuery () const |
| Convenience function that provides an empty nearest neighbor Query object. | |
| KdTreeRangePointQuery< Traits > | rangeNeighbors (const VectorType &point, Scalar r) const |
| 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 (using the same argument types as parameters). | |
| KdTreeRangeIndexQuery< Traits > | rangeNeighbors (IndexType index, Scalar r) const |
| 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 (using the same argument types as parameters). | |
| KdTreeRangePointQuery< Traits > | rangeNeighborsQuery () const |
| Convenience function that provides an empty range neighbor Query object. | |
| KdTreeRangeIndexQuery< Traits > | rangeNeighborsIndexQuery () const |
| KdTreeBase::rangeNeighborsQuery. | |
| bool | valid () const |
| void | print (std::ostream &os, bool verbose=false) const |
| template<typename PointUserContainer , typename Converter > | |
| void | build (PointUserContainer &&points, Converter c) |
| template<typename PointUserContainer , typename IndexUserContainer , typename Converter > | |
| void | buildWithSampling (PointUserContainer &&points, IndexUserContainer sampling, Converter c) |
Static Public Attributes | |
| static constexpr std::size_t | MAX_NODE_COUNT = NodeType::MAX_COUNT |
| The maximum number of nodes that the kd-tree can have. | |
| static constexpr std::size_t | MAX_POINT_COUNT = std::size_t(2) << sizeof(IndexType)*8 |
| The maximum number of points that can be stored in the kd-tree. | |
| static constexpr int | MAX_DEPTH = Traits::MAX_DEPTH |
| The maximum depth of the kd-tree. | |
| static constexpr bool | SUPPORTS_SUBSAMPLING = false |
Protected Member Functions | |
| template<typename PointUserContainer , typename IndexUserContainer , typename Converter > | |
| void | buildWithSampling (PointUserContainer &&points, IndexUserContainer sampling, Converter c) |
Generate a tree sampled from a custom contained type converted using a Converter | |
| template<typename PointUserContainer , typename IndexUserContainer > | |
| void | buildWithSampling (PointUserContainer &&points, IndexUserContainer sampling) |
| Generate a tree sampled from a custom contained type converted using a KdTreeBase::DefaultConverter. | |
Protected Attributes | |
| PointContainer | m_points |
| NodeContainer | m_nodes |
| IndexContainer | m_indices |
| LeafSizeType | m_min_cell_size {64} |
| Minimal number of points per leaf. | |
| NodeIndexType | m_leaf_count {0} |
| Number of leaves in the Kdtree (computed during construction) | |
[KdTreeSparse type definition]
Customizable base class for KdTree datastructure implementations
| Traits | Traits type providing the types and constants used by the kd-tree. Must have the same interface as the default traits type. |
| using Ponca::KdTreeBase< Traits >::AabbType = typename NodeType::AabbType |
| using Ponca::KdTreeBase< Traits >::DataPoint = typename Traits::DataPoint |
| using Ponca::KdTreeBase< Traits >::IndexContainer = typename Traits::IndexContainer |
| using Ponca::KdTreeBase< Traits >::IndexType = typename Traits::IndexType |
| using Ponca::KdTreeBase< Traits >::LeafSizeType = typename Traits::LeafSizeType |
| using Ponca::KdTreeBase< Traits >::NodeContainer = typename Traits::NodeContainer |
| using Ponca::KdTreeBase< Traits >::NodeIndexType = typename Traits::NodeIndexType |
| using Ponca::KdTreeBase< Traits >::NodeType = typename Traits::NodeType |
| using Ponca::KdTreeBase< Traits >::PointContainer = typename Traits::PointContainer |
| using Ponca::KdTreeBase< Traits >::Scalar = typename DataPoint::Scalar |
| using Ponca::KdTreeBase< Traits >::VectorType = typename DataPoint::VectorType |
|
inline |
Generate a tree from a custom contained type converted using DefaultConverter.
| PointUserContainer | Input point container, transformed to PointContainer |
| points | Input points |
|
inline |
Generate a tree from a custom contained type converted using the specified converter.
| PointUserContainer | Input point container, transformed to PointContainer |
| IndexUserContainer | Input sampling container, transformed to IndexContainer |
| points | Input points |
| c | Cast/Convert input point type to DataType |
|
inline |
Definition at line 11 of file kdTree.hpp.
|
inlineprotected |
Generate a tree sampled from a custom contained type converted using a KdTreeBase::DefaultConverter.
| PointUserContainer | Input points, transformed to PointContainer |
| IndexUserContainer | Input sampling, transformed to IndexContainer |
| points | Input points |
| sampling | Samples used in the tree |
|
inlineprotected |
Generate a tree sampled from a custom contained type converted using a Converter
| PointUserContainer | Input point, transformed to PointContainer |
| IndexUserContainer | Input sampling, transformed to IndexContainer |
| Converter |
| points | Input points |
| sampling | Indices of points used in the tree |
| c | Cast/Convert input point type to DataType |
|
inline |
Definition at line 121 of file kdTree.hpp.
|
inline |
Clear tree data.
Definition at line 19 of file kdTree.hpp.
|
inline |
Computes a Query object to iterate over the k-nearest neighbors of a point. The returned object can be reset and reused with the () operator (using the same argument types as parameters).
| point | Point from where the query is evaluated |
| k | Number of neighbors returned |
|
inline |
Computes a Query object to iterate over the k-nearest neighbors of a point. The returned object can be reset and reused with the () operator (using the same argument types as parameters).
| index | Index of the point from where the query is evaluated |
| k | Number of neighbors returned |
|
inline |
Convenience function that provides an empty k-nearest neighbors Query object.
The returned object can call for a k-nearest neighbors search using the operator (), which takes a k and an index as parameters.
Same as KdTreeBase::kNearestNeighbors (0, 0)
|
inline |
Convenience function that provides an empty k-nearest neighbors Query object.
The returned object can call for a k-nearest neighbors search using the operator (), which takes a k and a position as parameters.
Same as KdTreeBase::kNearestNeighbors (0, VectorType::Zero())
|
inline |
|
inline |
|
inline |
Computes a Query object that contains the nearest point. The returned object can be reset and reused with the () operator (using the same argument types as parameters).
| point | Point from where the query is evaluated |
|
inline |
Computes a Query object that contains the nearest point. The returned object can be reset and reused with the () operator (using the same argument types as parameters).
| index | Index of the point from where the query is evaluated |
|
inline |
Convenience function that provides an empty nearest neighbor Query object.
The returned object can call for a nearest neighbor search using the operator (), which takes an index as parameter.
Same as KdTreeBase::nearestNeighbor (0)
|
inline |
Convenience function that provides an empty nearest neighbor Query object.
The returned object can call for a nearest neighbor search using the operator (), which takes a position as parameter.
Same as KdTreeBase::nearestNeighbor (VectorType::Zero())
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 75 of file kdTree.hpp.
|
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 (using the same argument types as parameters).
| point | Point from where the query is evaluated |
| r | Radius around where to search the neighbors |
|
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 (using the same argument types as parameters).
| index | Index of the point from where the query is evaluated |
| r | Radius around where to search the neighbors |
|
inline |
KdTreeBase::rangeNeighborsQuery.
The returned object can call for a range neighbor search using the operator (), which takes an index as parameter.
Same as KdTreeBase::rangeNeighborsQuery (0, 0)
|
inline |
Convenience function that provides an empty range neighbor Query object.
The returned object can call for a range neighbor search using the operator (), which takes a position as parameter.
Same as KdTreeBase::rangeNeighborsQuery (0, VectorType::Zero())
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 28 of file kdTree.hpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |