Ponca
aa50bfdf187919869239c5b44b748842569114c1
Point Cloud Analysis library
|
This modules includes classes and methods for Spatial Partitioning and queries. More...
This modules includes classes and methods for Spatial Partitioning and queries.
struct Ponca::QueryInputBase |
struct Ponca::QueryOutputBase |
struct Ponca::QueryOutputBase::DummyOutputParameter |
struct Ponca::QueryInput |
Base class for typed queries input type.
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. | |
using Ponca::QueryInput< InputType_ >::InputType = InputType_ |
|
inline |
|
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.
|
inline |
struct Ponca::QueryInputIsIndex |
Base class for queries storing points.
Public Types | |
using | Base = QueryInput< Index > |
using | InputType = typename Base::InputType |
![]() | |
using | InputType = Index |
Public Member Functions | |
QueryInputIsIndex (const InputType &point=-1) | |
![]() | |
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. | |
![]() | |
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. | |
using Ponca::QueryInputIsIndex< Index >::Base = QueryInput<Index> |
using Ponca::QueryInputIsIndex< Index >::InputType = typename Base::InputType |
|
inline |
|
inlineprotected |
|
inlineprotected |
struct Ponca::QueryInputIsPosition |
Base class for queries storing points.
Public Types | |
using | Base = QueryInput< typename DataPoint::VectorType > |
using | InputType = typename Base::InputType |
![]() | |
using | InputType = DataPoint::VectorType |
Public Member Functions | |
QueryInputIsPosition (const InputType &point=InputType::Zero()) | |
![]() | |
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. | |
![]() | |
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. | |
using Ponca::QueryInputIsPosition< DataPoint >::Base = QueryInput<typename DataPoint::VectorType> |
using Ponca::QueryInputIsPosition< DataPoint >::InputType = typename Base::InputType |
|
inline |
|
inlineprotected |
|
inlineprotected |
struct Ponca::QueryOutputIsRange |
Base class for range queries.
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} |
using Ponca::QueryOutputIsRange< Index, Scalar >::OutputParameter = Scalar |
|
inline |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
protected |
struct Ponca::QueryOutputIsNearest |
Base class for nearest queries.
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()} |
using Ponca::QueryOutputIsNearest< Index, Scalar >::OutputParameter = typename QueryOutputBase::DummyOutputParameter |
|
inline |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
protected |
|
protected |
struct Ponca::QueryOutputIsKNearest |
Base class for knearest queries.
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 |
using Ponca::QueryOutputIsKNearest< Index, Scalar >::OutputParameter = Index |
|
inline |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
protected |
struct Ponca::Query |
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) | |
using Ponca::Query< Input_, Output_ >::QueryInType = Input_ |
using Ponca::Query< Input_, Output_ >::QueryOutType = Output_ |
|
inline |
|
inline |
struct Ponca::KNearestIndexQuery |
Base Query class combining QueryInputIsIndex and QueryOutputIsKNearest.
Public Types | |
using | Base = Query< QueryInputIsIndex< Index >, QueryOutputIsKNearest< Index, Scalar > > |
![]() | |
using | QueryInType = QueryInputIsIndex< Index > |
using | QueryOutType = QueryOutputIsKNearest< Index, Scalar > |
![]() | |
using | Base = QueryInput< Index > |
using | InputType = typename Base::InputType |
![]() | |
using | InputType = Index |
![]() | |
using | OutputParameter = Index |
Additional Inherited Members | |
![]() | |
Query (const typename QueryInType::InputType &in) | |
Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in) | |
![]() | |
QueryInputIsIndex (const InputType &point=-1) | |
![]() | |
QueryInput (InputType input) | |
const InputType & | input () const |
![]() | |
QueryOutputIsKNearest (OutputParameter k=0) | |
limited_priority_queue< IndexSquaredDistance< Index, Scalar > > & | queue () |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
void | reset () |
Reset Query for a new search. | |
Scalar | descentDistanceThreshold () const |
Distance threshold used during tree descent to select nodes to explore. | |
![]() | |
limited_priority_queue< IndexSquaredDistance< Index, Scalar > > | m_queue |
using Ponca::KNearestIndexQuery< Index, Scalar >::Base = Query<QueryInputIsIndex<Index>, QueryOutputIsKNearest <Index, Scalar> > |
struct Ponca::NearestIndexQuery |
Base Query class combining QueryInputIsIndex and QueryOutputIsNearest.
Public Types | |
using | Base = Query< QueryInputIsIndex< Index >, QueryOutputIsNearest< Index, Scalar > > |
![]() | |
using | QueryInType = QueryInputIsIndex< Index > |
using | QueryOutType = QueryOutputIsNearest< Index, Scalar > |
![]() | |
using | Base = QueryInput< Index > |
using | InputType = typename Base::InputType |
![]() | |
using | InputType = Index |
![]() | |
using | OutputParameter = typename QueryOutputBase::DummyOutputParameter |
Additional Inherited Members | |
![]() | |
Query (const typename QueryInType::InputType &in) | |
Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in) | |
![]() | |
QueryInputIsIndex (const InputType &point=-1) | |
![]() | |
QueryInput (InputType input) | |
const InputType & | input () const |
![]() | |
Index | get () const |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
void | reset () |
Reset Query for a new search. | |
Scalar | descentDistanceThreshold () const |
Distance threshold used during tree descent to select nodes to explore. | |
![]() | |
Index | m_nearest {-1} |
Scalar | m_squared_distance {std::numeric_limits<Scalar>::max()} |
using Ponca::NearestIndexQuery< Index, Scalar >::Base = Query<QueryInputIsIndex<Index>, QueryOutputIsNearest <Index, Scalar> > |
struct Ponca::RangeIndexQuery |
Base Query class combining QueryInputIsIndex and QueryOutputIsRange.
Public Types | |
using | Base = Query< QueryInputIsIndex< Index >, QueryOutputIsRange< Index, Scalar > > |
![]() | |
using | QueryInType = QueryInputIsIndex< Index > |
using | QueryOutType = QueryOutputIsRange< Index, Scalar > |
![]() | |
using | Base = QueryInput< Index > |
using | InputType = typename Base::InputType |
![]() | |
using | InputType = Index |
![]() | |
using | OutputParameter = Scalar |
Additional Inherited Members | |
![]() | |
Query (const typename QueryInType::InputType &in) | |
Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in) | |
![]() | |
QueryInputIsIndex (const InputType &point=-1) | |
![]() | |
QueryInput (InputType input) | |
const InputType & | input () const |
![]() | |
QueryOutputIsRange (OutputParameter radius=OutputParameter(0)) | |
Scalar | radius () const |
Scalar | squared_radius () const |
void | set_radius (Scalar radius) |
void | set_squared_radius (Scalar radius) |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
void | reset () |
Reset Query for a new search. | |
Scalar | descentDistanceThreshold () const |
Distance threshold used during tree descent to select nodes to explore. | |
![]() | |
Scalar | m_squared_radius {0} |
using Ponca::RangeIndexQuery< Index, Scalar >::Base = Query<QueryInputIsIndex<Index>, QueryOutputIsRange <Index, Scalar> > |
struct Ponca::KNearestPointQuery |
Base Query class combining QueryInputIsPosition and QueryOutputIsKNearest.
Public Types | |
using | Base = Query< QueryInputIsPosition< DataPoint >, QueryOutputIsKNearest< Index, typename DataPoint::Scalar > > |
![]() | |
using | QueryInType = QueryInputIsPosition< DataPoint > |
using | QueryOutType = QueryOutputIsKNearest< Index, DataPoint::Scalar > |
![]() | |
using | Base = QueryInput< typename DataPoint::VectorType > |
using | InputType = typename Base::InputType |
![]() | |
using | InputType = DataPoint::VectorType |
![]() | |
using | OutputParameter = Index |
Additional Inherited Members | |
![]() | |
Query (const typename QueryInType::InputType &in) | |
Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in) | |
![]() | |
QueryInputIsPosition (const InputType &point=InputType::Zero()) | |
![]() | |
QueryInput (InputType input) | |
const InputType & | input () const |
![]() | |
QueryOutputIsKNearest (OutputParameter k=0) | |
limited_priority_queue< IndexSquaredDistance< Index, DataPoint::Scalar > > & | queue () |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
void | reset () |
Reset Query for a new search. | |
DataPoint::Scalar | descentDistanceThreshold () const |
Distance threshold used during tree descent to select nodes to explore. | |
![]() | |
limited_priority_queue< IndexSquaredDistance< Index, DataPoint::Scalar > > | m_queue |
using Ponca::KNearestPointQuery< Index, DataPoint >::Base = Query<QueryInputIsPosition<DataPoint>, QueryOutputIsKNearest <Index, typename DataPoint::Scalar> > |
struct Ponca::NearestPointQuery |
Base Query class combining QueryInputIsPosition and QueryOutputIsNearest.
Public Types | |
using | Base = Query< QueryInputIsPosition< DataPoint >, QueryOutputIsNearest< Index, typename DataPoint::Scalar > > |
![]() | |
using | QueryInType = QueryInputIsPosition< DataPoint > |
using | QueryOutType = QueryOutputIsNearest< Index, DataPoint::Scalar > |
![]() | |
using | Base = QueryInput< typename DataPoint::VectorType > |
using | InputType = typename Base::InputType |
![]() | |
using | InputType = DataPoint::VectorType |
![]() | |
using | OutputParameter = typename QueryOutputBase::DummyOutputParameter |
Additional Inherited Members | |
![]() | |
Query (const typename QueryInType::InputType &in) | |
Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in) | |
![]() | |
QueryInputIsPosition (const InputType &point=InputType::Zero()) | |
![]() | |
QueryInput (InputType input) | |
const InputType & | input () const |
![]() | |
Index | get () const |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
void | reset () |
Reset Query for a new search. | |
DataPoint::Scalar | descentDistanceThreshold () const |
Distance threshold used during tree descent to select nodes to explore. | |
![]() | |
Index | m_nearest |
DataPoint::Scalar | m_squared_distance |
using Ponca::NearestPointQuery< Index, DataPoint >::Base = Query<QueryInputIsPosition<DataPoint>, QueryOutputIsNearest <Index, typename DataPoint::Scalar> > |
struct Ponca::RangePointQuery |
Base Query class combining QueryInputIsPosition and QueryOutputIsRange.
Public Types | |
using | Base = Query< QueryInputIsPosition< DataPoint >, QueryOutputIsRange< Index, typename DataPoint::Scalar > > |
![]() | |
using | QueryInType = QueryInputIsPosition< DataPoint > |
using | QueryOutType = QueryOutputIsRange< Index, DataPoint::Scalar > |
![]() | |
using | Base = QueryInput< typename DataPoint::VectorType > |
using | InputType = typename Base::InputType |
![]() | |
using | InputType = DataPoint::VectorType |
![]() | |
using | OutputParameter = DataPoint::Scalar |
Additional Inherited Members | |
![]() | |
Query (const typename QueryInType::InputType &in) | |
Query (const typename QueryOutType::OutputParameter &outParam, const typename QueryInType::InputType &in) | |
![]() | |
QueryInputIsPosition (const InputType &point=InputType::Zero()) | |
![]() | |
QueryInput (InputType input) | |
const InputType & | input () const |
![]() | |
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) |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
void | reset () |
Reset Query for a new search. | |
DataPoint::Scalar | descentDistanceThreshold () const |
Distance threshold used during tree descent to select nodes to explore. | |
![]() | |
DataPoint::Scalar | m_squared_radius |
using Ponca::RangePointQuery< Index, DataPoint >::Base = Query<QueryInputIsPosition<DataPoint>, QueryOutputIsRange <Index, typename DataPoint::Scalar> > |