Ponca  84886bac0b52a686e88046a375da13f12f2b87d2
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::KnnGraphRangeQuery< Traits > Class Template Reference

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

#include <knnGraphRangeQuery.h>

+ Inheritance diagram for Ponca::KnnGraphRangeQuery< Traits >:
+ Collaboration diagram for Ponca::KnnGraphRangeQuery< Traits >:

Public Types

using DataPoint = typename Traits::DataPoint
 
using IndexType = typename Traits::IndexType
 
using Scalar = typename DataPoint::Scalar
 
using VectorType = typename DataPoint::VectorType
 
using Iterator = KnnGraphRangeIterator< Traits >
 
using Self = KnnGraphRangeQuery< Traits >
 
- Public Types inherited from Ponca::RangeIndexQuery< Traits::IndexType, Traits::DataPoint::Scalar >
using Base = Query< QueryInputIsIndex< Traits::IndexType >, QueryOutputIsRange< Traits::IndexType, Traits::DataPoint::Scalar > >
 Alias to the inherited base Query

 
- Public Types inherited from Ponca::Query< Input_, Output_ >
using QueryInType = Input_
 Alias to the input type.
 
using QueryOutType = Output_
 Alias to the output type.
 

Public Member Functions

 KnnGraphRangeQuery (const KnnGraphBase< Traits > *graph, Scalar radius, int index)
 
Selfoperator() (int index, Scalar radius)
 Call the range neighbors query with new input and radius parameters.
 
Selfoperator() (int index)
 Call the range neighbors query with new input parameter.
 
Iterator begin ()
 Returns an iterator to the beginning of the range neighbors query.
 
Iterator end ()
 Returns an iterator to the end of the range neighbors query.
 
- Public Member Functions inherited from Ponca::Query< Input_, Output_ >
 Query (const typename QueryInType::InputType &in)
 Default constructor that initialize the input parameter only.
 
 Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in)
 Default constructor that initialize the input and output parameters.
 
template<typename Base , typename... outputType>
Base & operator() (const typename QueryInType::InputType &in, outputType &&... out)
 Access operator that resets the input and output parameters.
 
template<typename Base >
Base & operator() (const typename QueryInType::InputType &in)
 Access operator that resets the input parameter only.
 

Protected Types

using QueryType = RangeIndexQuery< typename Traits::IndexType, typename Traits::DataPoint::Scalar >
 

Protected Member Functions

void initialize (Iterator &iterator)
 
void advance (Iterator &iterator)
 

Protected Attributes

const KnnGraphBase< Traits > * m_graph {nullptr}
 
std::set< int > m_flag
 store visited ids
 
std::stack< int > m_stack
 hold ids (ids range from 0 to point cloud size)
 

Friends

class KnnGraphRangeIterator< Traits >
 

Detailed Description

template<typename Traits>
class Ponca::KnnGraphRangeQuery< Traits >

Extension of the Query class that allows to read the result of a range neighbor search on the KnnGraph.

Output result of a KnnGraph::rangeNeighbors query request.

See also
KnnGraphBase

Definition at line 27 of file knnGraphRangeQuery.h.

Member Typedef Documentation

◆ DataPoint

template<typename Traits >
using Ponca::KnnGraphRangeQuery< Traits >::DataPoint = typename Traits::DataPoint

Definition at line 34 of file knnGraphRangeQuery.h.

◆ IndexType

template<typename Traits >
using Ponca::KnnGraphRangeQuery< Traits >::IndexType = typename Traits::IndexType

Definition at line 35 of file knnGraphRangeQuery.h.

◆ Iterator

template<typename Traits >
using Ponca::KnnGraphRangeQuery< Traits >::Iterator = KnnGraphRangeIterator<Traits>

Definition at line 38 of file knnGraphRangeQuery.h.

◆ QueryType

template<typename Traits >
using Ponca::KnnGraphRangeQuery< Traits >::QueryType = RangeIndexQuery<typename Traits::IndexType, typename Traits::DataPoint::Scalar>
protected

Definition at line 30 of file knnGraphRangeQuery.h.

◆ Scalar

template<typename Traits >
using Ponca::KnnGraphRangeQuery< Traits >::Scalar = typename DataPoint::Scalar

Definition at line 36 of file knnGraphRangeQuery.h.

◆ Self

template<typename Traits >
using Ponca::KnnGraphRangeQuery< Traits >::Self = KnnGraphRangeQuery<Traits>

Definition at line 39 of file knnGraphRangeQuery.h.

◆ VectorType

template<typename Traits >
using Ponca::KnnGraphRangeQuery< Traits >::VectorType = typename DataPoint::VectorType

Definition at line 37 of file knnGraphRangeQuery.h.

Constructor & Destructor Documentation

◆ KnnGraphRangeQuery()

template<typename Traits >
Ponca::KnnGraphRangeQuery< Traits >::KnnGraphRangeQuery ( const KnnGraphBase< Traits > *  graph,
Scalar  radius,
int  index 
)
inline

Definition at line 42 of file knnGraphRangeQuery.h.

Member Function Documentation

◆ advance()

template<typename Traits >
void Ponca::KnnGraphRangeQuery< Traits >::advance ( Iterator iterator)
inlineprotected

Definition at line 83 of file knnGraphRangeQuery.h.

◆ begin()

template<typename Traits >
Iterator Ponca::KnnGraphRangeQuery< Traits >::begin ( )
inline

Returns an iterator to the beginning of the range neighbors query.

Definition at line 59 of file knnGraphRangeQuery.h.

◆ end()

template<typename Traits >
Iterator Ponca::KnnGraphRangeQuery< Traits >::end ( )
inline

Returns an iterator to the end of the range neighbors query.

Definition at line 68 of file knnGraphRangeQuery.h.

◆ initialize()

template<typename Traits >
void Ponca::KnnGraphRangeQuery< Traits >::initialize ( Iterator iterator)
inlineprotected

Definition at line 73 of file knnGraphRangeQuery.h.

◆ operator()() [1/2]

template<typename Traits >
Self & Ponca::KnnGraphRangeQuery< Traits >::operator() ( int  index)
inline

Call the range neighbors query with new input parameter.

Definition at line 54 of file knnGraphRangeQuery.h.

◆ operator()() [2/2]

template<typename Traits >
Self & Ponca::KnnGraphRangeQuery< Traits >::operator() ( int  index,
Scalar  radius 
)
inline

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

Definition at line 49 of file knnGraphRangeQuery.h.

Friends And Related Symbol Documentation

◆ KnnGraphRangeIterator< Traits >

template<typename Traits >
friend class KnnGraphRangeIterator< Traits >
friend

Definition at line 1 of file knnGraphRangeQuery.h.

Member Data Documentation

◆ m_flag

template<typename Traits >
std::set<int> Ponca::KnnGraphRangeQuery< Traits >::m_flag
protected

store visited ids

Definition at line 118 of file knnGraphRangeQuery.h.

◆ m_graph

template<typename Traits >
const KnnGraphBase<Traits>* Ponca::KnnGraphRangeQuery< Traits >::m_graph {nullptr}
protected

Definition at line 117 of file knnGraphRangeQuery.h.

◆ m_stack

template<typename Traits >
std::stack<int> Ponca::KnnGraphRangeQuery< Traits >::m_stack
protected

hold ids (ids range from 0 to point cloud size)

Definition at line 119 of file knnGraphRangeQuery.h.