Ponca  aa50bfdf187919869239c5b44b748842569114c1
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::KdTreeSparse< DataPoint > Struct Template Reference

[KdTreeDense type definition] More...

#include <kdTree.h>

+ Inheritance diagram for Ponca::KdTreeSparse< DataPoint >:
+ Collaboration diagram for Ponca::KdTreeSparse< DataPoint >:

Additional Inherited Members

- Public Types inherited from Ponca::KdTreeBase< 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::KdTreeSparseBase< KdTreeDefaultTraits< DataPoint > >
 KdTreeSparseBase ()=default
 Default constructor creating an empty tree.
 
 KdTreeSparseBase (PointUserContainer &&points)
 Constructor generating a tree from a custom contained type converted using a KdTreeBase::DefaultConverter.
 
 KdTreeSparseBase (PointUserContainer &&points, IndexUserContainer sampling)
 Constructor generating a tree sampled from a custom contained type converted using a KdTreeBase::DefaultConverter.
 
void buildWithSampling (PointUserContainer &&points, IndexUserContainer sampling, Converter 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.
 
void buildWithSampling (PointUserContainer &&points, IndexUserContainer sampling, Converter c)
 
- Public Member Functions inherited from Ponca::KdTreeBase< Traits >
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 point_count () const
 
NodeIndexType leaf_count () const
 
PointContainerpoints ()
 
const PointContainerpoints () const
 
const NodeContainernodes () const
 
const IndexContainersamples () const
 
LeafSizeType min_cell_size () const
 Read leaf min size.
 
void set_min_cell_size (LeafSizeType min_cell_size)
 Write leaf min size.
 
IndexType pointFromSample (IndexType sample_index) const
 Return the point index associated with the specified sample index.
 
DataPointpointDataFromSample (IndexType sample_index)
 Return the DataPoint associated with the specified sample index.
 
const DataPointpointDataFromSample (IndexType sample_index) const
 Return the DataPoint associated with the specified sample index.
 
KdTreeKNearestPointQuery< Traits > k_nearest_neighbors (const VectorType &point, IndexType k) const
 
KdTreeKNearestIndexQuery< Traits > k_nearest_neighbors (IndexType index, IndexType k) const
 
KdTreeNearestPointQuery< Traits > nearest_neighbor (const VectorType &point) const
 
KdTreeNearestIndexQuery< Traits > nearest_neighbor (IndexType index) const
 
KdTreeRangePointQuery< Traits > range_neighbors (const VectorType &point, Scalar r) const
 
KdTreeRangeIndexQuery< Traits > range_neighbors (IndexType index, Scalar r) const
 
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 inherited from Ponca::KdTreeSparseBase< KdTreeDefaultTraits< DataPoint > >
static constexpr bool SUPPORTS_SUBSAMPLING
 
- Static Public Attributes inherited from Ponca::KdTreeBase< 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< Traits >
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 inherited from Ponca::KdTreeBase< Traits >
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)
 

Detailed Description

template<typename DataPoint>
struct Ponca::KdTreeSparse< DataPoint >

[KdTreeDense type definition]

Public interface for sparse KdTree datastructure.

Provides default implementation of the sparse KdTree

See also
KdTreeDefaultTraits for the default trait interface documentation.
KdTreeSparseBase for complete API [KdTreeSparse type definition]

Definition at line 84 of file kdTree.h.