|
Ponca
93eea5457c48839cb5d16642765afa89fc7cfe66
Point Cloud Analysis library
|
Abstract KdTree type with KdTreeDefaultTraits. More...
#include <kdTree.h>
Inheritance diagram for Ponca::KdTree< DataPoint >:
Collaboration diagram for Ponca::KdTree< DataPoint >:Additional Inherited Members | |
Public Types inherited from Ponca::KdTreeBase< KdTreeDefaultTraits< DataPoint > > | |
| using | Base = StaticKdTreeBase< KdTreeDefaultTraits< DataPoint > > |
| 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 | 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 inherited from Ponca::KdTreeBase< KdTreeDefaultTraits< DataPoint > > | |
| void | build (PointUserContainer &&points, PointConverter c) |
| Generate a tree from a custom contained type converted using the specified converter. | |
| void | build (PointUserContainer &&points) |
| Generate a tree from a custom contained type converted using DefaultConverter. | |
| PONCA_MULTIARCH_HOST void | build (PointUserContainer &&points, PointConverter c) |
| 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 |
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 Member Functions inherited from Ponca::KdTreeBase< KdTreeDefaultTraits< DataPoint > > | |
| void | buildWithSampling (PointUserContainer &&points, IndexUserContainer &&sampling, PointConverter c) |
Generate a tree sampled from a custom contained type converted using a Converter | |
| void | buildWithSampling (PointUserContainer &&points, IndexUserContainer &&sampling) |
| Generate a tree sampled from a custom contained type converted using a KdTreeBase::DefaultConverter. | |
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) | |
Abstract KdTree type with KdTreeDefaultTraits.