Ponca  3415d6bf4b5de0468067f7a5953b71ec2d1f6564
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType > Class Template Reference

Extension of the Query class that allows to read the result of a range neighbors search on the KdTree. More...

#include <kdTreeRangeQueries.h>

+ Inheritance diagram for Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >:
+ Collaboration diagram for Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >:

Public Types

using DataPoint = typename Traits::DataPoint
 
using IndexType = typename Traits::IndexType
 
using Scalar = typename DataPoint::Scalar
 
using VectorType = typename DataPoint::VectorType
 
using QueryAccelType = KdTreeQuery< Traits >
 
using Iterator = IteratorType< IndexType, DataPoint, KdTreeRangeQueryBase >
 
using Self = KdTreeRangeQueryBase< Traits, IteratorType, QueryType >
 
- Public Types inherited from Ponca::KdTreeQuery< Traits >
using DataPoint = typename Traits::DataPoint
 
using IndexType = typename Traits::IndexType
 
using Scalar = typename DataPoint::Scalar
 
using VectorType = typename DataPoint::VectorType
 

Public Member Functions

 KdTreeRangeQueryBase (const KdTreeBase< Traits > *kdtree, Scalar radius, typename QueryType::InputType input)
 
Selfoperator() (typename QueryType::InputType input, Scalar radius)
 Call the range neighbors query with new input and radius parameters.
 
Selfoperator() (typename QueryType::InputType input)
 Call the range neighbors query with new input parameter.
 
Iterator begin ()
 Returns an iterator to the beginning of the Range Query.
 
Iterator end ()
 Returns an iterator to the end of the Range Query.
 
- Public Member Functions inherited from Ponca::KdTreeQuery< Traits >
 KdTreeQuery (const KdTreeBase< Traits > *kdtree)
 

Protected Member Functions

void advance (Iterator &it)
 
- Protected Member Functions inherited from Ponca::KdTreeQuery< Traits >
void reset ()
 Init stack for a new search.
 
template<typename LeafPreparationFunctor , typename DescentDistanceThresholdFunctor , typename SkipIndexFunctor , typename ProcessNeighborFunctor >
bool searchInternal (const VectorType &point, LeafPreparationFunctor prepareLeafTraversal, DescentDistanceThresholdFunctor descentDistanceThreshold, SkipIndexFunctor skipFunctor, ProcessNeighborFunctor processNeighborFunctor)
 Search internally the neighbors of a point using the kdtree.
 

Protected Attributes

friend Iterator
 
- Protected Attributes inherited from Ponca::KdTreeQuery< Traits >
const KdTreeBase< Traits > * m_kdtree { nullptr }
 [KdTreeQuery kdtree type]
 
Stack< IndexSquaredDistance< IndexType, Scalar >, 2 *Traits::MAX_DEPTH > m_stack
 [KdTreeQuery kdtree type]
 

Detailed Description

template<typename Traits, template< typename, typename, typename > typename IteratorType, typename QueryType>
class Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >

Extension of the Query class that allows to read the result of a range neighbors search on the KdTree.

Output result of a KdTreeBase::rangeNeighbors query request.

See also
KdTreeBase

Definition at line 25 of file kdTreeRangeQueries.h.

Member Typedef Documentation

◆ DataPoint

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
using Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::DataPoint = typename Traits::DataPoint

Definition at line 29 of file kdTreeRangeQueries.h.

◆ IndexType

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
using Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::IndexType = typename Traits::IndexType

Definition at line 30 of file kdTreeRangeQueries.h.

◆ Iterator

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
using Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::Iterator = IteratorType<IndexType, DataPoint, KdTreeRangeQueryBase>

Definition at line 34 of file kdTreeRangeQueries.h.

◆ QueryAccelType

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
using Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::QueryAccelType = KdTreeQuery<Traits>

Definition at line 33 of file kdTreeRangeQueries.h.

◆ Scalar

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
using Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::Scalar = typename DataPoint::Scalar

Definition at line 31 of file kdTreeRangeQueries.h.

◆ Self

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
using Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::Self = KdTreeRangeQueryBase<Traits, IteratorType, QueryType>

Definition at line 35 of file kdTreeRangeQueries.h.

◆ VectorType

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
using Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::VectorType = typename DataPoint::VectorType

Definition at line 32 of file kdTreeRangeQueries.h.

Constructor & Destructor Documentation

◆ KdTreeRangeQueryBase()

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::KdTreeRangeQueryBase ( const KdTreeBase< Traits > *  kdtree,
Scalar  radius,
typename QueryType::InputType  input 
)
inline

Definition at line 41 of file kdTreeRangeQueries.h.

Member Function Documentation

◆ advance()

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
void Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::advance ( Iterator &  it)
inlineprotected

Definition at line 71 of file kdTreeRangeQueries.h.

◆ begin()

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
Iterator Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::begin ( )
inline

Returns an iterator to the beginning of the Range Query.

Definition at line 57 of file kdTreeRangeQueries.h.

◆ end()

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
Iterator Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::end ( )
inline

Returns an iterator to the end of the Range Query.

Definition at line 66 of file kdTreeRangeQueries.h.

◆ operator()() [1/2]

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
Self & Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::operator() ( typename QueryType::InputType  input)
inline

Call the range neighbors query with new input parameter.

Definition at line 51 of file kdTreeRangeQueries.h.

◆ operator()() [2/2]

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
Self & Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::operator() ( typename QueryType::InputType  input,
Scalar  radius 
)
inline

Call the range neighbors query with new input and radius parameters.

Definition at line 45 of file kdTreeRangeQueries.h.

Member Data Documentation

◆ Iterator

template<typename Traits , template< typename, typename, typename > typename IteratorType, typename QueryType >
friend Ponca::KdTreeRangeQueryBase< Traits, IteratorType, QueryType >::Iterator
protected

Definition at line 38 of file kdTreeRangeQueries.h.