cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
toolbox::pcl::bfknn_parallel_generic_t< Element, Metric > Class Template Reference

#include <bfknn_parallel.hpp>

Inheritance diagram for toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >:

Public Types

using base_type = base_knn_generic_t< bfknn_parallel_generic_t< Element, Metric >, Element, Metric >
 
using traits_type = typename base_type::traits_type
 
using element_type = typename traits_type::element_type
 
using metric_type = typename traits_type::metric_type
 
using distance_type = typename traits_type::distance_type
 
using container_type = typename base_type::container_type
 
using container_ptr = typename base_type::container_ptr
 
using value_type = typename Element::value_type
 
- Public Types inherited from toolbox::pcl::base_knn_generic_t< Derived, Element, Metric >
using traits_type = knn_traits< Element, Metric >
 
using element_type = typename traits_type::element_type
 
using metric_type = typename traits_type::metric_type
 
using distance_type = typename traits_type::distance_type
 
using container_type = std::vector< element_type >
 
using container_ptr = std::shared_ptr< container_type >
 

Public Member Functions

 bfknn_parallel_generic_t ()=default
 
 ~bfknn_parallel_generic_t ()=default
 
 bfknn_parallel_generic_t (const bfknn_parallel_generic_t &)=delete
 
bfknn_parallel_generic_toperator= (const bfknn_parallel_generic_t &)=delete
 
 bfknn_parallel_generic_t (bfknn_parallel_generic_t &&)=delete
 
bfknn_parallel_generic_toperator= (bfknn_parallel_generic_t &&)=delete
 
std::size_t set_input_impl (const container_type &data)
 
std::size_t set_input_impl (const container_ptr &data)
 
void set_metric_impl (const metric_type &metric)
 
void set_metric_impl (std::shared_ptr< toolbox::metrics::IMetric< typename Element::value_type > > metric)
 
bool kneighbors_impl (const element_type &query, std::size_t num_neighbors, std::vector< std::size_t > &indices, std::vector< distance_type > &distances)
 
bool radius_neighbors_impl (const element_type &query, distance_type radius, std::vector< std::size_t > &indices, std::vector< distance_type > &distances)
 
void enable_parallel (bool enable)
 
bool is_parallel_enabled () const noexcept
 
- Public Member Functions inherited from toolbox::pcl::base_knn_generic_t< Derived, Element, Metric >
std::size_t set_input (const container_type &data)
 设置输入数据 / Set input data
 
std::size_t set_input (const container_ptr &data)
 设置输入数据(智能指针版本) / Set input data (smart pointer version)
 
template<typename T = typename Element::value_type, typename = std::enable_if_t<std::is_same_v<Element, point_t<T>>>>
std::size_t set_input (const toolbox::types::point_cloud_t< T > &cloud)
 设置点云输入数据(仅当Element为point_t时可用) / Set point cloud input data (only available when Element is point_t)
 
template<typename T = typename Element::value_type, typename = std::enable_if_t<std::is_same_v<Element, point_t<T>>>>
std::size_t set_input (const std::shared_ptr< toolbox::types::point_cloud_t< T > > &cloud)
 设置点云输入数据(智能指针版本) / Set point cloud input data (smart pointer version)
 
void set_metric (const metric_type &metric)
 设置度量方式(编译时版本) / Set metric (compile-time version)
 
template<typename T = typename Element::value_type>
void set_metric (std::shared_ptr< toolbox::metrics::IMetric< T > > metric)
 设置度量方式(运行时版本 - shared_ptr) / Set metric (runtime version - shared_ptr)
 
template<typename T = typename Element::value_type>
void set_metric (std::unique_ptr< toolbox::metrics::IMetric< T > > metric)
 设置度量方式(运行时版本 - unique_ptr) / Set metric (runtime version - unique_ptr)
 
bool kneighbors (const element_type &query, std::size_t num_neighbors, std::vector< std::size_t > &indices, std::vector< distance_type > &distances)
 K近邻搜索 / K-nearest neighbors search.
 
bool radius_neighbors (const element_type &query, distance_type radius, std::vector< std::size_t > &indices, std::vector< distance_type > &distances)
 半径近邻搜索 / Radius neighbors search
 
 base_knn_generic_t (const base_knn_generic_t &)=delete
 
base_knn_generic_toperator= (const base_knn_generic_t &)=delete
 
 base_knn_generic_t (base_knn_generic_t &&)=delete
 
base_knn_generic_toperator= (base_knn_generic_t &&)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from toolbox::pcl::base_knn_generic_t< Derived, Element, Metric >
 base_knn_generic_t ()=default
 
 ~base_knn_generic_t ()=default
 

Member Typedef Documentation

◆ base_type

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
using toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::base_type = base_knn_generic_t<bfknn_parallel_generic_t<Element, Metric>, Element, Metric>

◆ container_ptr

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
using toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::container_ptr = typename base_type::container_ptr

◆ container_type

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
using toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::container_type = typename base_type::container_type

◆ distance_type

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
using toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::distance_type = typename traits_type::distance_type

◆ element_type

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
using toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::element_type = typename traits_type::element_type

◆ metric_type

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
using toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::metric_type = typename traits_type::metric_type

◆ traits_type

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
using toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::traits_type = typename base_type::traits_type

◆ value_type

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
using toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::value_type = typename Element::value_type

Constructor & Destructor Documentation

◆ bfknn_parallel_generic_t() [1/3]

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::bfknn_parallel_generic_t ( )
default

◆ ~bfknn_parallel_generic_t()

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::~bfknn_parallel_generic_t ( )
default

◆ bfknn_parallel_generic_t() [2/3]

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::bfknn_parallel_generic_t ( const bfknn_parallel_generic_t< Element, Metric > &  )
delete

◆ bfknn_parallel_generic_t() [3/3]

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::bfknn_parallel_generic_t ( bfknn_parallel_generic_t< Element, Metric > &&  )
delete

Member Function Documentation

◆ enable_parallel()

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
void toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::enable_parallel ( bool  enable)
inline

◆ is_parallel_enabled()

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
bool toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::is_parallel_enabled ( ) const
inlinenoexcept

◆ kneighbors_impl()

template<typename Element , typename Metric >
bool toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::kneighbors_impl ( const element_type query,
std::size_t  num_neighbors,
std::vector< std::size_t > &  indices,
std::vector< distance_type > &  distances 
)

◆ operator=() [1/2]

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
bfknn_parallel_generic_t & toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::operator= ( bfknn_parallel_generic_t< Element, Metric > &&  )
delete

◆ operator=() [2/2]

template<typename Element , typename Metric = toolbox::metrics::L2Metric<typename Element::value_type>>
bfknn_parallel_generic_t & toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::operator= ( const bfknn_parallel_generic_t< Element, Metric > &  )
delete

◆ radius_neighbors_impl()

template<typename Element , typename Metric >
bool toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::radius_neighbors_impl ( const element_type query,
distance_type  radius,
std::vector< std::size_t > &  indices,
std::vector< distance_type > &  distances 
)

◆ set_input_impl() [1/2]

template<typename Element , typename Metric >
std::size_t toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::set_input_impl ( const container_ptr data)

◆ set_input_impl() [2/2]

template<typename Element , typename Metric >
std::size_t toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::set_input_impl ( const container_type data)

◆ set_metric_impl() [1/2]

template<typename Element , typename Metric >
void toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::set_metric_impl ( const metric_type metric)

◆ set_metric_impl() [2/2]

template<typename Element , typename Metric >
void toolbox::pcl::bfknn_parallel_generic_t< Element, Metric >::set_metric_impl ( std::shared_ptr< toolbox::metrics::IMetric< typename Element::value_type > >  metric)

The documentation for this class was generated from the following files: