|
Ponca
2cfe00173bb12dda99e12b2b48a0e1f683bc5cdd
Point Cloud Analysis library
|
Constructor that allows the use of prebuilt KdTree containers. More...
#include <kdTree.h>
Classes | |
| struct | DefaultConverter |
| Convert a custom point container to the KdTree PointContainer using DataPoint default constructor. More... | |
Public Types | |
| using | Base = StaticKdTreeBase<_Traits> |
| using | Traits = _Traits |
| Traits of the KdTree. | |
| 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 Types inherited from Ponca::StaticKdTreeBase< _Traits > | |
| using | Traits = _Traits |
| Traits of the KdTree. | |
| 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 PointConverter> | |
| void | build (PointUserContainer &&points, PointConverter 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. | |
| template<typename PointUserContainer, typename PointConverter> | |
| PONCA_MULTIARCH_HOST void | build (PointUserContainer &&points, PointConverter c) |
| template<typename PointUserContainer, typename IndexUserContainer, typename PointConverter> | |
| PONCA_MULTIARCH_HOST void | buildWithSampling (PointUserContainer &&points, IndexUserContainer &&sampling, PointConverter c) |
| Public Member Functions inherited from Ponca::StaticKdTreeBase< _Traits > | |
| StaticKdTreeBase (Buffers &buf) | |
| Constructor that allows the use of prebuilt KdTree containers. | |
| NodeIndexType | nodeCount () const |
| Get the number of nodes in the KdTree. | |
| IndexType | sampleCount () const |
| Get the number of indices. | |
| IndexType | pointCount () const |
| Get the number of points. | |
| NodeIndexType | leafCount () const |
| Get the number of leafs in the KdTree. | |
| PointContainer & | points () |
| Get the internal point container. | |
| const PointContainer & | points () const |
| Get the internal point container. | |
| const NodeContainer & | nodes () const |
| Get the internal node container. | |
| const IndexContainer & | samples () const |
| Get the internal indice container. | |
| const Buffers & | buffers () const |
| Get access to the internal buffer, for instance to prepare GPU binding. | |
| 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 |
Protected Member Functions | |
| template<typename PointUserContainer, typename IndexUserContainer, typename PointConverter> | |
| void | buildWithSampling (PointUserContainer &&points, IndexUserContainer &&sampling, PointConverter 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. | |
Additional Inherited Members | |
| Static Public Attributes inherited from Ponca::StaticKdTreeBase< _Traits > | |
| 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 Attributes inherited from Ponca::StaticKdTreeBase< _Traits > | |
| Buffers | m_bufs |
| Buffers used to store the KdTree. | |
| 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). | |
Constructor that allows the use of prebuilt KdTree containers.
Base kdtree class that implements the basic build functionalities of the KdTree.
This class is the basis for the KdTree Dense and Sparse type
| 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 >::Base = StaticKdTreeBase<_Traits> |
| using Ponca::KdTreeBase< _Traits >::DataPoint = typename Traits::DataPoint |
| using Ponca::KdTreeBase< _Traits >::IndexContainer = typename Traits::IndexContainer |
| using Ponca::KdTreeBase< _Traits >::IndexType = typename Traits::IndexType |
Type used to index points into the PointContainer.
| using Ponca::KdTreeBase< _Traits >::LeafSizeType = typename Traits::LeafSizeType |
| using Ponca::KdTreeBase< _Traits >::NodeContainer = typename Traits::NodeContainer |
| using Ponca::KdTreeBase< _Traits >::NodeIndexType = typename Traits::NodeIndexType |
Type used to index nodes into the NodeContainer.
| 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 >::Traits = _Traits |
| using Ponca::KdTreeBase< _Traits >::VectorType = typename DataPoint::VectorType |
VectorType given by user via DataPoint.
|
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 |
| PointConverter | Cast/Convert input container type to point container data type |
| 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 |
| PointConverter | Cast/Convert input container type to point container data type |
| points | Input points |
| sampling | Indices of points used in the tree |
| c | Cast/Convert input point type to DataType |
|
inline |
Definition at line 118 of file kdTree.hpp.