Ponca  40f245e28b920cbb763a1c6282156c87c626f24c
Point Cloud Analysis library
Loading...
Searching...
No Matches
Spatial Partitioning module

This modules includes classes and methods for Spatial Partitioning and queries. More...

Classes

struct  Ponca::QueryInputBase
 Base class for queries input type. More...
 
struct  Ponca::QueryOutputBase
 Base class for queries output type. More...
 
struct  Ponca::QueryOutputBase::DummyOutputParameter
 
struct  Ponca::QueryInput< InputType_ >
 Base class for typed queries input type. More...
 
struct  Ponca::QueryInputIsIndex< Index >
 Base class for queries storing points. More...
 
struct  Ponca::QueryInputIsPosition< DataPoint >
 Base class for queries storing points. More...
 
struct  Ponca::QueryOutputIsRange< Index, Scalar >
 Base class for range queries. More...
 
struct  Ponca::QueryOutputIsNearest< Index, Scalar >
 Base class for nearest queries. More...
 
struct  Ponca::QueryOutputIsKNearest< Index, Scalar >
 Base class for knearest queries. More...
 
struct  Ponca::Query< Input_, Output_ >
 
struct  Ponca::KNearestIndexQuery< Index, Scalar >
 Base Query class combining QueryInputIsIndex and QueryOutputIsKNearest. More...
 
struct  Ponca::NearestIndexQuery< Index, Scalar >
 Base Query class combining QueryInputIsIndex and QueryOutputIsNearest. More...
 
struct  Ponca::RangeIndexQuery< Index, Scalar >
 Base Query class combining QueryInputIsIndex and QueryOutputIsRange. More...
 
struct  Ponca::KNearestPointQuery< Index, DataPoint >
 Base Query class combining QueryInputIsPosition and QueryOutputIsKNearest. More...
 
struct  Ponca::NearestPointQuery< Index, DataPoint >
 Base Query class combining QueryInputIsPosition and QueryOutputIsNearest. More...
 
struct  Ponca::RangePointQuery< Index, DataPoint >
 Base Query class combining QueryInputIsPosition and QueryOutputIsRange. More...
 

Detailed Description

This modules includes classes and methods for Spatial Partitioning and queries.


Class Documentation

◆ Ponca::QueryInputBase

struct Ponca::QueryInputBase

Base class for queries input type.

Definition at line 53 of file query.h.

+ Inheritance diagram for Ponca::QueryInputBase:
+ Collaboration diagram for Ponca::QueryInputBase:

◆ Ponca::QueryOutputBase

struct Ponca::QueryOutputBase

Base class for queries output type.

Definition at line 57 of file query.h.

+ Inheritance diagram for Ponca::QueryOutputBase:
+ Collaboration diagram for Ponca::QueryOutputBase:

◆ Ponca::QueryOutputBase::DummyOutputParameter

struct Ponca::QueryOutputBase::DummyOutputParameter

Definition at line 58 of file query.h.

+ Collaboration diagram for Ponca::QueryOutputBase::DummyOutputParameter:

◆ Ponca::QueryInput

struct Ponca::QueryInput
template<typename InputType_>
struct Ponca::QueryInput< InputType_ >

Base class for typed queries input type.

Definition at line 64 of file query.h.

+ Inheritance diagram for Ponca::QueryInput< InputType_ >:
+ Collaboration diagram for Ponca::QueryInput< InputType_ >:

Public Types

using InputType = InputType_
 

Public Member Functions

 QueryInput (InputType input)
 
const InputType & input () const
 

Protected Member Functions

void editInput (const InputType &input)
 Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.
 

Member Typedef Documentation

◆ InputType

template<typename InputType_ >
using Ponca::QueryInput< InputType_ >::InputType = InputType_

Definition at line 65 of file query.h.

Constructor & Destructor Documentation

◆ QueryInput()

template<typename InputType_ >
Ponca::QueryInput< InputType_ >::QueryInput ( InputType  input)
inline

Definition at line 67 of file query.h.

Member Function Documentation

◆ editInput()

template<typename InputType_ >
void Ponca::QueryInput< InputType_ >::editInput ( const InputType &  input)
inlineprotected

Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.

Definition at line 75 of file query.h.

◆ input()

template<typename InputType_ >
const InputType & Ponca::QueryInput< InputType_ >::input ( ) const
inline

Definition at line 69 of file query.h.

◆ Ponca::QueryInputIsIndex

struct Ponca::QueryInputIsIndex
template<typename Index>
struct Ponca::QueryInputIsIndex< Index >

Base class for queries storing points.

Definition at line 85 of file query.h.

+ Inheritance diagram for Ponca::QueryInputIsIndex< Index >:
+ Collaboration diagram for Ponca::QueryInputIsIndex< Index >:

Public Types

using Base = QueryInput< Index >
 
using InputType = typename Base::InputType
 
- Public Types inherited from Ponca::QueryInput< Index >
using InputType = Index
 

Public Member Functions

 QueryInputIsIndex (const InputType &point=-1)
 
- Public Member Functions inherited from Ponca::QueryInput< Index >
 QueryInput (InputType input)
 
const InputType & input () const
 

Protected Member Functions

template<typename IndexType >
bool skipIndexFunctor (IndexType idx) const
 Functor used to check if a given Idx must be skipped.
 
template<typename Container >
auto getInputPosition (const Container &c) -> const typename Container::value_type::VectorType
 Generic method to access input position. Container is expected to hold kdtree positions.
 
- Protected Member Functions inherited from Ponca::QueryInput< Index >
void editInput (const InputType &input)
 Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.
 

Member Typedef Documentation

◆ Base

template<typename Index >
using Ponca::QueryInputIsIndex< Index >::Base = QueryInput<Index>

Definition at line 86 of file query.h.

◆ InputType

template<typename Index >
using Ponca::QueryInputIsIndex< Index >::InputType = typename Base::InputType

Definition at line 87 of file query.h.

Constructor & Destructor Documentation

◆ QueryInputIsIndex()

template<typename Index >
Ponca::QueryInputIsIndex< Index >::QueryInputIsIndex ( const InputType &  point = -1)
inline

Definition at line 89 of file query.h.

Member Function Documentation

◆ getInputPosition()

template<typename Index >
template<typename Container >
auto Ponca::QueryInputIsIndex< Index >::getInputPosition ( const Container &  c) -> const typename Container::value_type::VectorType
inlineprotected

Generic method to access input position. Container is expected to hold kdtree positions.

Definition at line 97 of file query.h.

◆ skipIndexFunctor()

template<typename Index >
template<typename IndexType >
bool Ponca::QueryInputIsIndex< Index >::skipIndexFunctor ( IndexType  idx) const
inlineprotected

Functor used to check if a given Idx must be skipped.

Definition at line 94 of file query.h.

◆ Ponca::QueryInputIsPosition

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

Base class for queries storing points.

Definition at line 103 of file query.h.

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

Public Types

using Base = QueryInput< typename DataPoint::VectorType >
 
using InputType = typename Base::InputType
 
- Public Types inherited from Ponca::QueryInput< DataPoint::VectorType >
using InputType = DataPoint::VectorType
 

Public Member Functions

 QueryInputIsPosition (const InputType &point=InputType::Zero())
 
- Public Member Functions inherited from Ponca::QueryInput< DataPoint::VectorType >
 QueryInput (InputType input)
 
const InputType & input () const
 

Protected Member Functions

template<typename IndexType >
bool skipIndexFunctor (IndexType idx) const
 Functor used to check if a given Idx must be skipped.
 
template<typename Container >
auto getInputPosition (const Container &) -> const typename Container::value_type::VectorType
 Generic method to access input position. Container is expected to hold kdtree positions.
 
- Protected Member Functions inherited from Ponca::QueryInput< DataPoint::VectorType >
void editInput (const InputType &input)
 Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.
 

Member Typedef Documentation

◆ Base

template<typename DataPoint >
using Ponca::QueryInputIsPosition< DataPoint >::Base = QueryInput<typename DataPoint::VectorType>

Definition at line 104 of file query.h.

◆ InputType

template<typename DataPoint >
using Ponca::QueryInputIsPosition< DataPoint >::InputType = typename Base::InputType

Definition at line 105 of file query.h.

Constructor & Destructor Documentation

◆ QueryInputIsPosition()

template<typename DataPoint >
Ponca::QueryInputIsPosition< DataPoint >::QueryInputIsPosition ( const InputType &  point = InputType::Zero())
inline

Definition at line 107 of file query.h.

Member Function Documentation

◆ getInputPosition()

template<typename DataPoint >
template<typename Container >
auto Ponca::QueryInputIsPosition< DataPoint >::getInputPosition ( const Container &  ) -> const typename Container::value_type::VectorType
inlineprotected

Generic method to access input position. Container is expected to hold kdtree positions.

Definition at line 115 of file query.h.

◆ skipIndexFunctor()

template<typename DataPoint >
template<typename IndexType >
bool Ponca::QueryInputIsPosition< DataPoint >::skipIndexFunctor ( IndexType  idx) const
inlineprotected

Functor used to check if a given Idx must be skipped.

Definition at line 112 of file query.h.

◆ Ponca::QueryOutputIsRange

struct Ponca::QueryOutputIsRange
template<typename Index, typename Scalar>
struct Ponca::QueryOutputIsRange< Index, Scalar >

Base class for range queries.

Definition at line 121 of file query.h.

+ Inheritance diagram for Ponca::QueryOutputIsRange< Index, Scalar >:
+ Collaboration diagram for Ponca::QueryOutputIsRange< Index, Scalar >:

Public Types

using OutputParameter = Scalar
 

Public Member Functions

 QueryOutputIsRange (OutputParameter radius=OutputParameter(0))
 
Scalar radius () const
 
Scalar squared_radius () const
 
void set_radius (Scalar radius)
 
void set_squared_radius (Scalar radius)
 

Protected Member Functions

void reset ()
 Reset Query for a new search.
 
Scalar descentDistanceThreshold () const
 Distance threshold used during tree descent to select nodes to explore.
 

Protected Attributes

Scalar m_squared_radius {0}
 

Member Typedef Documentation

◆ OutputParameter

template<typename Index , typename Scalar >
using Ponca::QueryOutputIsRange< Index, Scalar >::OutputParameter = Scalar

Definition at line 122 of file query.h.

Constructor & Destructor Documentation

◆ QueryOutputIsRange()

template<typename Index , typename Scalar >
Ponca::QueryOutputIsRange< Index, Scalar >::QueryOutputIsRange ( OutputParameter  radius = OutputParameter(0))
inline

Definition at line 124 of file query.h.

Member Function Documentation

◆ descentDistanceThreshold()

template<typename Index , typename Scalar >
Scalar Ponca::QueryOutputIsRange< Index, Scalar >::descentDistanceThreshold ( ) const
inlineprotected

Distance threshold used during tree descent to select nodes to explore.

Definition at line 145 of file query.h.

◆ radius()

template<typename Index , typename Scalar >
Scalar Ponca::QueryOutputIsRange< Index, Scalar >::radius ( ) const
inline

Definition at line 127 of file query.h.

◆ reset()

template<typename Index , typename Scalar >
void Ponca::QueryOutputIsRange< Index, Scalar >::reset ( )
inlineprotected

Reset Query for a new search.

Definition at line 143 of file query.h.

◆ set_radius()

template<typename Index , typename Scalar >
void Ponca::QueryOutputIsRange< Index, Scalar >::set_radius ( Scalar  radius)
inline

Definition at line 134 of file query.h.

◆ set_squared_radius()

template<typename Index , typename Scalar >
void Ponca::QueryOutputIsRange< Index, Scalar >::set_squared_radius ( Scalar  radius)
inline

Definition at line 139 of file query.h.

◆ squared_radius()

template<typename Index , typename Scalar >
Scalar Ponca::QueryOutputIsRange< Index, Scalar >::squared_radius ( ) const
inline

Definition at line 132 of file query.h.

Member Data Documentation

◆ m_squared_radius

template<typename Index , typename Scalar >
Scalar Ponca::QueryOutputIsRange< Index, Scalar >::m_squared_radius {0}
protected

Definition at line 146 of file query.h.

◆ Ponca::QueryOutputIsNearest

struct Ponca::QueryOutputIsNearest
template<typename Index, typename Scalar>
struct Ponca::QueryOutputIsNearest< Index, Scalar >

Base class for nearest queries.

Definition at line 151 of file query.h.

+ Inheritance diagram for Ponca::QueryOutputIsNearest< Index, Scalar >:
+ Collaboration diagram for Ponca::QueryOutputIsNearest< Index, Scalar >:

Public Types

using OutputParameter = typename QueryOutputBase::DummyOutputParameter
 

Public Member Functions

Index get () const
 

Protected Member Functions

void reset ()
 Reset Query for a new search.
 
Scalar descentDistanceThreshold () const
 Distance threshold used during tree descent to select nodes to explore.
 

Protected Attributes

Index m_nearest {-1}
 
Scalar m_squared_distance {std:: numeric_limits <Scalar>::max()}
 

Member Typedef Documentation

◆ OutputParameter

template<typename Index , typename Scalar >
using Ponca::QueryOutputIsNearest< Index, Scalar >::OutputParameter = typename QueryOutputBase::DummyOutputParameter

Definition at line 152 of file query.h.

Constructor & Destructor Documentation

◆ QueryOutputIsNearest()

template<typename Index , typename Scalar >
Ponca::QueryOutputIsNearest< Index, Scalar >::QueryOutputIsNearest ( )
inline

Definition at line 154 of file query.h.

Member Function Documentation

◆ descentDistanceThreshold()

template<typename Index , typename Scalar >
Scalar Ponca::QueryOutputIsNearest< Index, Scalar >::descentDistanceThreshold ( ) const
inlineprotected

Distance threshold used during tree descent to select nodes to explore.

Definition at line 166 of file query.h.

◆ get()

template<typename Index , typename Scalar >
Index Ponca::QueryOutputIsNearest< Index, Scalar >::get ( ) const
inline

Definition at line 156 of file query.h.

◆ reset()

template<typename Index , typename Scalar >
void Ponca::QueryOutputIsNearest< Index, Scalar >::reset ( )
inlineprotected

Reset Query for a new search.

Definition at line 160 of file query.h.

Member Data Documentation

◆ m_nearest

template<typename Index , typename Scalar >
Index Ponca::QueryOutputIsNearest< Index, Scalar >::m_nearest {-1}
protected

Definition at line 168 of file query.h.

◆ m_squared_distance

template<typename Index , typename Scalar >
Scalar Ponca::QueryOutputIsNearest< Index, Scalar >::m_squared_distance {std:: numeric_limits <Scalar>::max()}
protected

Definition at line 169 of file query.h.

◆ Ponca::QueryOutputIsKNearest

struct Ponca::QueryOutputIsKNearest
template<typename Index, typename Scalar>
struct Ponca::QueryOutputIsKNearest< Index, Scalar >

Base class for knearest queries.

Definition at line 174 of file query.h.

+ Inheritance diagram for Ponca::QueryOutputIsKNearest< Index, Scalar >:
+ Collaboration diagram for Ponca::QueryOutputIsKNearest< Index, Scalar >:

Public Types

using OutputParameter = Index
 

Public Member Functions

 QueryOutputIsKNearest (OutputParameter k=0)
 
limited_priority_queue< IndexSquaredDistance< Index, Scalar > > & queue ()
 

Protected Member Functions

void reset ()
 Reset Query for a new search.
 
Scalar descentDistanceThreshold () const
 Distance threshold used during tree descent to select nodes to explore.
 

Protected Attributes

limited_priority_queue< IndexSquaredDistance< Index, Scalar > > m_queue
 

Member Typedef Documentation

◆ OutputParameter

template<typename Index , typename Scalar >
using Ponca::QueryOutputIsKNearest< Index, Scalar >::OutputParameter = Index

Definition at line 175 of file query.h.

Constructor & Destructor Documentation

◆ QueryOutputIsKNearest()

template<typename Index , typename Scalar >
Ponca::QueryOutputIsKNearest< Index, Scalar >::QueryOutputIsKNearest ( OutputParameter  k = 0)
inline

Definition at line 177 of file query.h.

Member Function Documentation

◆ descentDistanceThreshold()

template<typename Index , typename Scalar >
Scalar Ponca::QueryOutputIsKNearest< Index, Scalar >::descentDistanceThreshold ( ) const
inlineprotected

Distance threshold used during tree descent to select nodes to explore.

Definition at line 189 of file query.h.

◆ queue()

template<typename Index , typename Scalar >
limited_priority_queue< IndexSquaredDistance< Index, Scalar > > & Ponca::QueryOutputIsKNearest< Index, Scalar >::queue ( )
inline

Definition at line 179 of file query.h.

◆ reset()

template<typename Index , typename Scalar >
void Ponca::QueryOutputIsKNearest< Index, Scalar >::reset ( )
inlineprotected

Reset Query for a new search.

Definition at line 183 of file query.h.

Member Data Documentation

◆ m_queue

template<typename Index , typename Scalar >
limited_priority_queue<IndexSquaredDistance<Index, Scalar> > Ponca::QueryOutputIsKNearest< Index, Scalar >::m_queue
protected

Definition at line 190 of file query.h.

◆ Ponca::Query

struct Ponca::Query
template<typename Input_, typename Output_>
struct Ponca::Query< Input_, Output_ >

Definition at line 195 of file query.h.

+ Inheritance diagram for Ponca::Query< Input_, Output_ >:
+ Collaboration diagram for Ponca::Query< Input_, Output_ >:

Public Types

using QueryInType = Input_
 
using QueryOutType = Output_
 

Public Member Functions

 Query (const typename QueryInType::InputType &in)
 
 Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in)
 

Member Typedef Documentation

◆ QueryInType

template<typename Input_ , typename Output_ >
using Ponca::Query< Input_, Output_ >::QueryInType = Input_

Definition at line 196 of file query.h.

◆ QueryOutType

template<typename Input_ , typename Output_ >
using Ponca::Query< Input_, Output_ >::QueryOutType = Output_

Definition at line 197 of file query.h.

Constructor & Destructor Documentation

◆ Query() [1/2]

template<typename Input_ , typename Output_ >
Ponca::Query< Input_, Output_ >::Query ( const typename QueryInType::InputType &  in)
inline

Definition at line 204 of file query.h.

◆ Query() [2/2]

template<typename Input_ , typename Output_ >
Ponca::Query< Input_, Output_ >::Query ( const typename QueryOutType::OutputParameter &  outParam,
const typename QueryInType::InputType &  in 
)
inline

Definition at line 207 of file query.h.

◆ Ponca::KNearestIndexQuery

struct Ponca::KNearestIndexQuery
template<typename Index, typename Scalar>
struct Ponca::KNearestIndexQuery< Index, Scalar >

Base Query class combining QueryInputIsIndex and QueryOutputIsKNearest.

Definition at line 212 of file query.h.

+ Inheritance diagram for Ponca::KNearestIndexQuery< Index, Scalar >:
+ Collaboration diagram for Ponca::KNearestIndexQuery< Index, Scalar >:

Public Types

using Base = Query< QueryInputIsIndex< Index >, QueryOutputIsKNearest< Index, Scalar > >
 
- Public Types inherited from Ponca::Query< QueryInputIsIndex< Index >, QueryOutputIsKNearest< Index, Scalar > >
using QueryInType = QueryInputIsIndex< Index >
 
using QueryOutType = QueryOutputIsKNearest< Index, Scalar >
 
- Public Types inherited from Ponca::QueryInputIsIndex< Index >
using Base = QueryInput< Index >
 
using InputType = typename Base::InputType
 
- Public Types inherited from Ponca::QueryInput< Index >
using InputType = Index
 
- Public Types inherited from Ponca::QueryOutputIsKNearest< Index, Scalar >
using OutputParameter = Index
 

Additional Inherited Members

- Public Member Functions inherited from Ponca::Query< QueryInputIsIndex< Index >, QueryOutputIsKNearest< Index, Scalar > >
 Query (const typename QueryInType::InputType &in)
 
 Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in)
 
- Public Member Functions inherited from Ponca::QueryInputIsIndex< Index >
 QueryInputIsIndex (const InputType &point=-1)
 
- Public Member Functions inherited from Ponca::QueryInput< Index >
 QueryInput (InputType input)
 
const InputType & input () const
 
- Public Member Functions inherited from Ponca::QueryOutputIsKNearest< Index, Scalar >
 QueryOutputIsKNearest (OutputParameter k=0)
 
limited_priority_queue< IndexSquaredDistance< Index, Scalar > > & queue ()
 
- Protected Member Functions inherited from Ponca::QueryInputIsIndex< Index >
template<typename IndexType >
bool skipIndexFunctor (IndexType idx) const
 Functor used to check if a given Idx must be skipped.
 
template<typename Container >
auto getInputPosition (const Container &c) -> const typename Container::value_type::VectorType
 Generic method to access input position. Container is expected to hold kdtree positions.
 
- Protected Member Functions inherited from Ponca::QueryInput< Index >
void editInput (const InputType &input)
 Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.
 
- Protected Member Functions inherited from Ponca::QueryOutputIsKNearest< Index, Scalar >
void reset ()
 Reset Query for a new search.
 
Scalar descentDistanceThreshold () const
 Distance threshold used during tree descent to select nodes to explore.
 
- Protected Attributes inherited from Ponca::QueryOutputIsKNearest< Index, Scalar >
limited_priority_queue< IndexSquaredDistance< Index, Scalar > > m_queue
 

Member Typedef Documentation

◆ Base

template<typename Index , typename Scalar >
using Ponca::KNearestIndexQuery< Index, Scalar >::Base = Query<QueryInputIsIndex<Index>, QueryOutputIsKNearest <Index, Scalar> >

Definition at line 212 of file query.h.

◆ Ponca::NearestIndexQuery

struct Ponca::NearestIndexQuery
template<typename Index, typename Scalar>
struct Ponca::NearestIndexQuery< Index, Scalar >

Base Query class combining QueryInputIsIndex and QueryOutputIsNearest.

Definition at line 213 of file query.h.

+ Inheritance diagram for Ponca::NearestIndexQuery< Index, Scalar >:
+ Collaboration diagram for Ponca::NearestIndexQuery< Index, Scalar >:

Public Types

using Base = Query< QueryInputIsIndex< Index >, QueryOutputIsNearest< Index, Scalar > >
 
- Public Types inherited from Ponca::Query< QueryInputIsIndex< Index >, QueryOutputIsNearest< Index, Scalar > >
using QueryInType = QueryInputIsIndex< Index >
 
using QueryOutType = QueryOutputIsNearest< Index, Scalar >
 
- Public Types inherited from Ponca::QueryInputIsIndex< Index >
using Base = QueryInput< Index >
 
using InputType = typename Base::InputType
 
- Public Types inherited from Ponca::QueryInput< Index >
using InputType = Index
 
- Public Types inherited from Ponca::QueryOutputIsNearest< Index, Scalar >
using OutputParameter = typename QueryOutputBase::DummyOutputParameter
 

Additional Inherited Members

- Public Member Functions inherited from Ponca::Query< QueryInputIsIndex< Index >, QueryOutputIsNearest< Index, Scalar > >
 Query (const typename QueryInType::InputType &in)
 
 Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in)
 
- Public Member Functions inherited from Ponca::QueryInputIsIndex< Index >
 QueryInputIsIndex (const InputType &point=-1)
 
- Public Member Functions inherited from Ponca::QueryInput< Index >
 QueryInput (InputType input)
 
const InputType & input () const
 
- Public Member Functions inherited from Ponca::QueryOutputIsNearest< Index, Scalar >
Index get () const
 
- Protected Member Functions inherited from Ponca::QueryInputIsIndex< Index >
template<typename IndexType >
bool skipIndexFunctor (IndexType idx) const
 Functor used to check if a given Idx must be skipped.
 
template<typename Container >
auto getInputPosition (const Container &c) -> const typename Container::value_type::VectorType
 Generic method to access input position. Container is expected to hold kdtree positions.
 
- Protected Member Functions inherited from Ponca::QueryInput< Index >
void editInput (const InputType &input)
 Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.
 
- Protected Member Functions inherited from Ponca::QueryOutputIsNearest< Index, Scalar >
void reset ()
 Reset Query for a new search.
 
Scalar descentDistanceThreshold () const
 Distance threshold used during tree descent to select nodes to explore.
 
- Protected Attributes inherited from Ponca::QueryOutputIsNearest< Index, Scalar >
Index m_nearest {-1}
 
Scalar m_squared_distance {std:: numeric_limits <Scalar>::max()}
 

Member Typedef Documentation

◆ Base

template<typename Index , typename Scalar >
using Ponca::NearestIndexQuery< Index, Scalar >::Base = Query<QueryInputIsIndex<Index>, QueryOutputIsNearest <Index, Scalar> >

Definition at line 213 of file query.h.

◆ Ponca::RangeIndexQuery

struct Ponca::RangeIndexQuery
template<typename Index, typename Scalar>
struct Ponca::RangeIndexQuery< Index, Scalar >

Base Query class combining QueryInputIsIndex and QueryOutputIsRange.

Definition at line 214 of file query.h.

+ Inheritance diagram for Ponca::RangeIndexQuery< Index, Scalar >:
+ Collaboration diagram for Ponca::RangeIndexQuery< Index, Scalar >:

Public Types

using Base = Query< QueryInputIsIndex< Index >, QueryOutputIsRange< Index, Scalar > >
 
- Public Types inherited from Ponca::Query< QueryInputIsIndex< Index >, QueryOutputIsRange< Index, Scalar > >
using QueryInType = QueryInputIsIndex< Index >
 
using QueryOutType = QueryOutputIsRange< Index, Scalar >
 
- Public Types inherited from Ponca::QueryInputIsIndex< Index >
using Base = QueryInput< Index >
 
using InputType = typename Base::InputType
 
- Public Types inherited from Ponca::QueryInput< Index >
using InputType = Index
 
- Public Types inherited from Ponca::QueryOutputIsRange< Index, Scalar >
using OutputParameter = Scalar
 

Additional Inherited Members

- Public Member Functions inherited from Ponca::Query< QueryInputIsIndex< Index >, QueryOutputIsRange< Index, Scalar > >
 Query (const typename QueryInType::InputType &in)
 
 Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in)
 
- Public Member Functions inherited from Ponca::QueryInputIsIndex< Index >
 QueryInputIsIndex (const InputType &point=-1)
 
- Public Member Functions inherited from Ponca::QueryInput< Index >
 QueryInput (InputType input)
 
const InputType & input () const
 
- Public Member Functions inherited from Ponca::QueryOutputIsRange< Index, Scalar >
 QueryOutputIsRange (OutputParameter radius=OutputParameter(0))
 
Scalar radius () const
 
Scalar squared_radius () const
 
void set_radius (Scalar radius)
 
void set_squared_radius (Scalar radius)
 
- Protected Member Functions inherited from Ponca::QueryInputIsIndex< Index >
template<typename IndexType >
bool skipIndexFunctor (IndexType idx) const
 Functor used to check if a given Idx must be skipped.
 
template<typename Container >
auto getInputPosition (const Container &c) -> const typename Container::value_type::VectorType
 Generic method to access input position. Container is expected to hold kdtree positions.
 
- Protected Member Functions inherited from Ponca::QueryInput< Index >
void editInput (const InputType &input)
 Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.
 
- Protected Member Functions inherited from Ponca::QueryOutputIsRange< Index, Scalar >
void reset ()
 Reset Query for a new search.
 
Scalar descentDistanceThreshold () const
 Distance threshold used during tree descent to select nodes to explore.
 
- Protected Attributes inherited from Ponca::QueryOutputIsRange< Index, Scalar >
Scalar m_squared_radius {0}
 

Member Typedef Documentation

◆ Base

template<typename Index , typename Scalar >
using Ponca::RangeIndexQuery< Index, Scalar >::Base = Query<QueryInputIsIndex<Index>, QueryOutputIsRange <Index, Scalar> >

Definition at line 214 of file query.h.

◆ Ponca::KNearestPointQuery

struct Ponca::KNearestPointQuery
template<typename Index, typename DataPoint>
struct Ponca::KNearestPointQuery< Index, DataPoint >

Base Query class combining QueryInputIsPosition and QueryOutputIsKNearest.

Definition at line 215 of file query.h.

+ Inheritance diagram for Ponca::KNearestPointQuery< Index, DataPoint >:
+ Collaboration diagram for Ponca::KNearestPointQuery< Index, DataPoint >:

Public Types

using Base = Query< QueryInputIsPosition< DataPoint >, QueryOutputIsKNearest< Index, typename DataPoint::Scalar > >
 
- Public Types inherited from Ponca::Query< QueryInputIsPosition< DataPoint >, QueryOutputIsKNearest< Index, DataPoint::Scalar > >
using QueryInType = QueryInputIsPosition< DataPoint >
 
using QueryOutType = QueryOutputIsKNearest< Index, DataPoint::Scalar >
 
- Public Types inherited from Ponca::QueryInputIsPosition< DataPoint >
using Base = QueryInput< typename DataPoint::VectorType >
 
using InputType = typename Base::InputType
 
- Public Types inherited from Ponca::QueryInput< DataPoint::VectorType >
using InputType = DataPoint::VectorType
 
- Public Types inherited from Ponca::QueryOutputIsKNearest< Index, DataPoint::Scalar >
using OutputParameter = Index
 

Additional Inherited Members

- Public Member Functions inherited from Ponca::Query< QueryInputIsPosition< DataPoint >, QueryOutputIsKNearest< Index, DataPoint::Scalar > >
 Query (const typename QueryInType::InputType &in)
 
 Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in)
 
- Public Member Functions inherited from Ponca::QueryInputIsPosition< DataPoint >
 QueryInputIsPosition (const InputType &point=InputType::Zero())
 
- Public Member Functions inherited from Ponca::QueryInput< DataPoint::VectorType >
 QueryInput (InputType input)
 
const InputType & input () const
 
- Public Member Functions inherited from Ponca::QueryOutputIsKNearest< Index, DataPoint::Scalar >
 QueryOutputIsKNearest (OutputParameter k=0)
 
limited_priority_queue< IndexSquaredDistance< Index, DataPoint::Scalar > > & queue ()
 
- Protected Member Functions inherited from Ponca::QueryInputIsPosition< DataPoint >
template<typename IndexType >
bool skipIndexFunctor (IndexType idx) const
 Functor used to check if a given Idx must be skipped.
 
template<typename Container >
auto getInputPosition (const Container &) -> const typename Container::value_type::VectorType
 Generic method to access input position. Container is expected to hold kdtree positions.
 
- Protected Member Functions inherited from Ponca::QueryInput< DataPoint::VectorType >
void editInput (const InputType &input)
 Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.
 
- Protected Member Functions inherited from Ponca::QueryOutputIsKNearest< Index, DataPoint::Scalar >
void reset ()
 Reset Query for a new search.
 
DataPoint::Scalar descentDistanceThreshold () const
 Distance threshold used during tree descent to select nodes to explore.
 
- Protected Attributes inherited from Ponca::QueryOutputIsKNearest< Index, DataPoint::Scalar >
limited_priority_queue< IndexSquaredDistance< Index, DataPoint::Scalar > > m_queue
 

Member Typedef Documentation

◆ Base

template<typename Index , typename DataPoint >
using Ponca::KNearestPointQuery< Index, DataPoint >::Base = Query<QueryInputIsPosition<DataPoint>, QueryOutputIsKNearest <Index, typename DataPoint::Scalar> >

Definition at line 215 of file query.h.

◆ Ponca::NearestPointQuery

struct Ponca::NearestPointQuery
template<typename Index, typename DataPoint>
struct Ponca::NearestPointQuery< Index, DataPoint >

Base Query class combining QueryInputIsPosition and QueryOutputIsNearest.

Definition at line 216 of file query.h.

+ Inheritance diagram for Ponca::NearestPointQuery< Index, DataPoint >:
+ Collaboration diagram for Ponca::NearestPointQuery< Index, DataPoint >:

Public Types

using Base = Query< QueryInputIsPosition< DataPoint >, QueryOutputIsNearest< Index, typename DataPoint::Scalar > >
 
- Public Types inherited from Ponca::Query< QueryInputIsPosition< DataPoint >, QueryOutputIsNearest< Index, DataPoint::Scalar > >
using QueryInType = QueryInputIsPosition< DataPoint >
 
using QueryOutType = QueryOutputIsNearest< Index, DataPoint::Scalar >
 
- Public Types inherited from Ponca::QueryInputIsPosition< DataPoint >
using Base = QueryInput< typename DataPoint::VectorType >
 
using InputType = typename Base::InputType
 
- Public Types inherited from Ponca::QueryInput< DataPoint::VectorType >
using InputType = DataPoint::VectorType
 
- Public Types inherited from Ponca::QueryOutputIsNearest< Index, DataPoint::Scalar >
using OutputParameter = typename QueryOutputBase::DummyOutputParameter
 

Additional Inherited Members

- Public Member Functions inherited from Ponca::Query< QueryInputIsPosition< DataPoint >, QueryOutputIsNearest< Index, DataPoint::Scalar > >
 Query (const typename QueryInType::InputType &in)
 
 Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in)
 
- Public Member Functions inherited from Ponca::QueryInputIsPosition< DataPoint >
 QueryInputIsPosition (const InputType &point=InputType::Zero())
 
- Public Member Functions inherited from Ponca::QueryInput< DataPoint::VectorType >
 QueryInput (InputType input)
 
const InputType & input () const
 
- Public Member Functions inherited from Ponca::QueryOutputIsNearest< Index, DataPoint::Scalar >
Index get () const
 
- Protected Member Functions inherited from Ponca::QueryInputIsPosition< DataPoint >
template<typename IndexType >
bool skipIndexFunctor (IndexType idx) const
 Functor used to check if a given Idx must be skipped.
 
template<typename Container >
auto getInputPosition (const Container &) -> const typename Container::value_type::VectorType
 Generic method to access input position. Container is expected to hold kdtree positions.
 
- Protected Member Functions inherited from Ponca::QueryInput< DataPoint::VectorType >
void editInput (const InputType &input)
 Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.
 
- Protected Member Functions inherited from Ponca::QueryOutputIsNearest< Index, DataPoint::Scalar >
void reset ()
 Reset Query for a new search.
 
DataPoint::Scalar descentDistanceThreshold () const
 Distance threshold used during tree descent to select nodes to explore.
 
- Protected Attributes inherited from Ponca::QueryOutputIsNearest< Index, DataPoint::Scalar >
Index m_nearest
 
DataPoint::Scalar m_squared_distance
 

Member Typedef Documentation

◆ Base

template<typename Index , typename DataPoint >
using Ponca::NearestPointQuery< Index, DataPoint >::Base = Query<QueryInputIsPosition<DataPoint>, QueryOutputIsNearest <Index, typename DataPoint::Scalar> >

Definition at line 216 of file query.h.

◆ Ponca::RangePointQuery

struct Ponca::RangePointQuery
template<typename Index, typename DataPoint>
struct Ponca::RangePointQuery< Index, DataPoint >

Base Query class combining QueryInputIsPosition and QueryOutputIsRange.

Definition at line 217 of file query.h.

+ Inheritance diagram for Ponca::RangePointQuery< Index, DataPoint >:
+ Collaboration diagram for Ponca::RangePointQuery< Index, DataPoint >:

Public Types

using Base = Query< QueryInputIsPosition< DataPoint >, QueryOutputIsRange< Index, typename DataPoint::Scalar > >
 
- Public Types inherited from Ponca::Query< QueryInputIsPosition< DataPoint >, QueryOutputIsRange< Index, DataPoint::Scalar > >
using QueryInType = QueryInputIsPosition< DataPoint >
 
using QueryOutType = QueryOutputIsRange< Index, DataPoint::Scalar >
 
- Public Types inherited from Ponca::QueryInputIsPosition< DataPoint >
using Base = QueryInput< typename DataPoint::VectorType >
 
using InputType = typename Base::InputType
 
- Public Types inherited from Ponca::QueryInput< DataPoint::VectorType >
using InputType = DataPoint::VectorType
 
- Public Types inherited from Ponca::QueryOutputIsRange< Index, DataPoint::Scalar >
using OutputParameter = DataPoint::Scalar
 

Additional Inherited Members

- Public Member Functions inherited from Ponca::Query< QueryInputIsPosition< DataPoint >, QueryOutputIsRange< Index, DataPoint::Scalar > >
 Query (const typename QueryInType::InputType &in)
 
 Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in)
 
- Public Member Functions inherited from Ponca::QueryInputIsPosition< DataPoint >
 QueryInputIsPosition (const InputType &point=InputType::Zero())
 
- Public Member Functions inherited from Ponca::QueryInput< DataPoint::VectorType >
 QueryInput (InputType input)
 
const InputType & input () const
 
- Public Member Functions inherited from Ponca::QueryOutputIsRange< Index, DataPoint::Scalar >
 QueryOutputIsRange (OutputParameter radius=OutputParameter(0))
 
DataPoint::Scalar radius () const
 
DataPoint::Scalar squared_radius () const
 
void set_radius (DataPoint::Scalar radius)
 
void set_squared_radius (DataPoint::Scalar radius)
 
- Protected Member Functions inherited from Ponca::QueryInputIsPosition< DataPoint >
template<typename IndexType >
bool skipIndexFunctor (IndexType idx) const
 Functor used to check if a given Idx must be skipped.
 
template<typename Container >
auto getInputPosition (const Container &) -> const typename Container::value_type::VectorType
 Generic method to access input position. Container is expected to hold kdtree positions.
 
- Protected Member Functions inherited from Ponca::QueryInput< DataPoint::VectorType >
void editInput (const InputType &input)
 Edit the input Need to be used carefully. Modifying a query input while iterating on the query will result in undefined behavior. Simplest way to avoid this is to restart the iteration on the query. Usefull to avoid query reallocation between different requests.
 
- Protected Member Functions inherited from Ponca::QueryOutputIsRange< Index, DataPoint::Scalar >
void reset ()
 Reset Query for a new search.
 
DataPoint::Scalar descentDistanceThreshold () const
 Distance threshold used during tree descent to select nodes to explore.
 
- Protected Attributes inherited from Ponca::QueryOutputIsRange< Index, DataPoint::Scalar >
DataPoint::Scalar m_squared_radius
 

Member Typedef Documentation

◆ Base

template<typename Index , typename DataPoint >
using Ponca::RangePointQuery< Index, DataPoint >::Base = Query<QueryInputIsPosition<DataPoint>, QueryOutputIsRange <Index, typename DataPoint::Scalar> >

Definition at line 217 of file query.h.