Ponca  7d8ac87a7de01d881c9fde3c42e397b44bffb901
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 StaticKdTreeBase< 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 StaticKdTreeBase< 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 StaticKdTreeBase< 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 24 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 28 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 29 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 33 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 32 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 30 of file kdTreeRangeQueries.h.

◆ Self

Definition at line 34 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 31 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 StaticKdTreeBase< Traits > *  kdtree,
Scalar  radius,
typename QueryType::InputType  input 
)
inline

Definition at line 40 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 72 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 59 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 69 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 53 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 47 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 37 of file kdTreeRangeQueries.h.