Ponca  e26a0e88a45818354616c1a7180bcd203aecad3c
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 52 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 56 of file query.h.

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

◆ Ponca::QueryOutputBase::DummyOutputParameter

struct Ponca::QueryOutputBase::DummyOutputParameter

Definition at line 57 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 63 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 64 of file query.h.

Constructor & Destructor Documentation

◆ QueryInput()

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

Definition at line 66 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 74 of file query.h.

◆ input()

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

Definition at line 68 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 84 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 85 of file query.h.

◆ InputType

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

Definition at line 86 of file query.h.

Constructor & Destructor Documentation

◆ QueryInputIsIndex()

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

Definition at line 88 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 96 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 93 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 102 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 103 of file query.h.

◆ InputType

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

Definition at line 104 of file query.h.

Constructor & Destructor Documentation

◆ QueryInputIsPosition()

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

Definition at line 106 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 114 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 111 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 120 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 121 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 123 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 138 of file query.h.

◆ radius()

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

Definition at line 126 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 136 of file query.h.

◆ set_radius()

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

Definition at line 130 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 132 of file query.h.

◆ squared_radius()

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

Definition at line 128 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 139 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 144 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 145 of file query.h.

Constructor & Destructor Documentation

◆ QueryOutputIsNearest()

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

Definition at line 147 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 158 of file query.h.

◆ get()

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

Definition at line 149 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 153 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 160 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 161 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 166 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 167 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 169 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 180 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 171 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 175 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 181 of file query.h.

◆ Ponca::Query

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

Definition at line 186 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 187 of file query.h.

◆ QueryOutType

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

Definition at line 188 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 195 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 198 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 203 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 203 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 204 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 204 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 205 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 205 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 206 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 206 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 207 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 207 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 208 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 208 of file query.h.