Point Cloud Library (PCL)  1.14.0-dev
Namespaces | Classes | Typedefs | Functions | Variables
pcl::detail Namespace Reference

Namespaces

 traits
 

Classes

struct  AccumulatorXYZ
 
struct  AccumulatorNormal
 
struct  AccumulatorCurvature
 
struct  AccumulatorRGBA
 
struct  AccumulatorIntensity
 
struct  AccumulatorLabel
 
struct  IsAccumulatorCompatible
 
struct  Accumulators
 
struct  AddPoint
 
struct  GetPoint
 
struct  CopyPointHelper
 
struct  CopyPointHelper< PointInT, PointOutT, std::enable_if_t< std::is_same< PointInT, PointOutT >::value > >
 
struct  CopyPointHelper< PointInT, PointOutT, std::enable_if_t< boost::mpl::and_< boost::mpl::not_< std::is_same< PointInT, PointOutT > >, boost::mpl::or_< boost::mpl::not_< pcl::traits::has_color< PointInT > >, boost::mpl::not_< pcl::traits::has_color< PointOutT > >, boost::mpl::and_< pcl::traits::has_field< PointInT, pcl::fields::rgb >, pcl::traits::has_field< PointOutT, pcl::fields::rgb > >, boost::mpl::and_< pcl::traits::has_field< PointInT, pcl::fields::rgba >, pcl::traits::has_field< PointOutT, pcl::fields::rgba > > > >::value > >
 
struct  CopyPointHelper< PointInT, PointOutT, std::enable_if_t< boost::mpl::and_< boost::mpl::not_< std::is_same< PointInT, PointOutT > >, boost::mpl::or_< boost::mpl::and_< pcl::traits::has_field< PointInT, pcl::fields::rgb >, pcl::traits::has_field< PointOutT, pcl::fields::rgba > >, boost::mpl::and_< pcl::traits::has_field< PointInT, pcl::fields::rgba >, pcl::traits::has_field< PointOutT, pcl::fields::rgb > > > >::value > >
 
struct  EigenVector
 
struct  Transformer
 A helper struct to apply an SO3 or SE3 transform to a 3D point. More...
 
struct  FieldAdder
 
struct  FieldMapper
 
struct  FieldCopier
 Used together with pcl::for_each_type, copies all point fields from cloud_data (respecting each field offset) to msg_data (tightly packed). More...
 
struct  FieldAdderAdvanced
 Used together with pcl::for_each_type, creates list of all fields, and list of size of each field. More...
 
struct  FieldMapping
 
struct  int_type
 int_type::type refers to an integral type that satisfies template parameters More...
 
struct  int_type< 8, true >
 
struct  int_type< 8, false >
 
struct  int_type< 16, true >
 
struct  int_type< 16, false >
 
struct  int_type< 32, true >
 
struct  int_type< 32, false >
 
struct  int_type< 64, true >
 
struct  int_type< 64, false >
 
class  MeshIndex
 
struct  compat_with_flann
 
struct  compat_with_flann< std::size_t >
 

Typedefs

template<std::size_t Bits, bool Signed = true>
using int_type_t = typename int_type< Bits, Signed >::type
 helper type to use for int_type::type More...
 
template<typename IndexT >
using CompatWithFlann = std::enable_if_t< compat_with_flann< IndexT >::value, bool >
 
template<typename IndexT >
using NotCompatWithFlann = std::enable_if_t<!compat_with_flann< IndexT >::value, bool >
 

Functions

template<typename Vector , typename Matrix >
static EigenVector< Vector, typename Matrix::Scalar > getLargest3x3Eigenvector (const Matrix scaledMatrix)
 returns the unit vector along the largest eigen value as well as the length of the largest eigenvector More...
 
template<typename PointInT , typename PointOutT >
void copyPointCloudMemcpy (const pcl::PointCloud< PointInT > &cloud_in, pcl::PointCloud< PointOutT > &cloud_out)
 
template<typename PointT >
void copyPointCloudMemcpy (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out)
 
bool fieldOrdering (const FieldMapping &a, const FieldMapping &b)
 
template<class IndexTagT >
std::istream & operator>> (std::istream &is, MeshIndex< IndexTagT > &index)
 istream operator. More...
 
template<class IndexTagT >
std::ostream & operator<< (std::ostream &os, const MeshIndex< IndexTagT > &index)
 ostream operator. More...
 
PCL_EXPORTS void economical_download (const pcl::gpu::NeighborIndices &source_indices, const pcl::Indices &buffer_indices, std::size_t buffer_size, pcl::Indices &downloaded_indices)
 
template<typename Type >
void copyStringValue (const std::string &st, pcl::PCLPointCloud2 &cloud, pcl::index_t point_index, unsigned int field_idx, unsigned int fields_count, std::istringstream &is)
 
template<>
void copyStringValue< std::int8_t > (const std::string &st, pcl::PCLPointCloud2 &cloud, pcl::index_t point_index, unsigned int field_idx, unsigned int fields_count, std::istringstream &is)
 
template<>
void copyStringValue< std::uint8_t > (const std::string &st, pcl::PCLPointCloud2 &cloud, pcl::index_t point_index, unsigned int field_idx, unsigned int fields_count, std::istringstream &is)
 
template<class IndexT , class A , class B , class C , class D , class F , CompatWithFlann< IndexT > = true>
int knn_search (A &index, B &query, C &k_indices, D &dists, unsigned int k, F &params)
 
template<class IndexT , class A , class B , class F , CompatWithFlann< IndexT > = true>
int knn_search (A &index, B &query, std::vector< Indices > &k_indices, std::vector< std::vector< float >> &dists, unsigned int k, F &params)
 
template<class IndexT , class A , class B , class C , class D , class F , CompatWithFlann< IndexT > = true>
int radius_search (A &index, B &query, C &k_indices, D &dists, float radius, F &params)
 
template<class IndexT , class A , class B , class F , CompatWithFlann< IndexT > = true>
int radius_search (A &index, B &query, std::vector< Indices > &k_indices, std::vector< std::vector< float >> &dists, float radius, F &params)
 

Variables

constexpr std::uint8_t index_type_size = PCL_INDEX_SIZE
 number of bits in PCL's index type More...
 
constexpr bool index_type_signed = PCL_INDEX_SIGNED
 signed/unsigned nature of PCL's index type Please use PCL_INDEX_SIGNED when building PCL to choose a type best suited for your needs. More...
 

Typedef Documentation

◆ CompatWithFlann

template<typename IndexT >
using pcl::detail::CompatWithFlann = typedef std::enable_if_t<compat_with_flann<IndexT>::value, bool>

Definition at line 67 of file kdtree_flann.h.

◆ int_type_t

template<std::size_t Bits, bool Signed = true>
using pcl::detail::int_type_t = typedef typename int_type<Bits, Signed>::type

helper type to use for int_type::type

See also
int_type

Definition at line 70 of file types.h.

◆ NotCompatWithFlann

template<typename IndexT >
using pcl::detail::NotCompatWithFlann = typedef std::enable_if_t<!compat_with_flann<IndexT>::value, bool>

Definition at line 69 of file kdtree_flann.h.

Function Documentation

◆ copyPointCloudMemcpy() [1/2]

template<typename PointInT , typename PointOutT >
void pcl::detail::copyPointCloudMemcpy ( const pcl::PointCloud< PointInT > &  cloud_in,
pcl::PointCloud< PointOutT > &  cloud_out 
)

Definition at line 122 of file io.hpp.

References pcl::copyPoint(), and pcl::PointCloud< PointT >::size().

Referenced by pcl::copyPointCloud().

◆ copyPointCloudMemcpy() [2/2]

template<typename PointT >
void pcl::detail::copyPointCloudMemcpy ( const pcl::PointCloud< PointT > &  cloud_in,
pcl::PointCloud< PointT > &  cloud_out 
)

Definition at line 132 of file io.hpp.

References pcl::PointCloud< PointT >::data(), and pcl::PointCloud< PointT >::size().

◆ copyStringValue()

template<typename Type >
void pcl::detail::copyStringValue ( const std::string &  st,
pcl::PCLPointCloud2 cloud,
pcl::index_t  point_index,
unsigned int  field_idx,
unsigned int  fields_count,
std::istringstream &  is 
)
inline

◆ copyStringValue< std::int8_t >()

template<>
void pcl::detail::copyStringValue< std::int8_t > ( const std::string &  st,
pcl::PCLPointCloud2 cloud,
pcl::index_t  point_index,
unsigned int  field_idx,
unsigned int  fields_count,
std::istringstream &  is 
)
inline

◆ copyStringValue< std::uint8_t >()

template<>
void pcl::detail::copyStringValue< std::uint8_t > ( const std::string &  st,
pcl::PCLPointCloud2 cloud,
pcl::index_t  point_index,
unsigned int  field_idx,
unsigned int  fields_count,
std::istringstream &  is 
)
inline

◆ economical_download()

PCL_EXPORTS void pcl::detail::economical_download ( const pcl::gpu::NeighborIndices source_indices,
const pcl::Indices buffer_indices,
std::size_t  buffer_size,
pcl::Indices downloaded_indices 
)

◆ fieldOrdering()

bool pcl::detail::fieldOrdering ( const FieldMapping a,
const FieldMapping b 
)
inline

Definition at line 116 of file conversions.h.

References pcl::detail::FieldMapping::serialized_offset.

Referenced by pcl::createMapping().

◆ getLargest3x3Eigenvector()

template<typename Vector , typename Matrix >
static EigenVector<Vector, typename Matrix::Scalar> pcl::detail::getLargest3x3Eigenvector ( const Matrix  scaledMatrix)
static

returns the unit vector along the largest eigen value as well as the length of the largest eigenvector

Template Parameters
VectorRequested result type, needs to be explicitly provided and has to be implicitly constructible from ConstRowExpr
Matrixdeduced input type providing similar in API as Eigen::Matrix

Definition at line 273 of file eigen.hpp.

◆ knn_search() [1/2]

template<class IndexT , class A , class B , class C , class D , class F , CompatWithFlann< IndexT > = true>
int pcl::detail::knn_search ( A &  index,
B query,
C &  k_indices,
D &  dists,
unsigned int  k,
F &  params 
)

Definition at line 150 of file kdtree_flann.hpp.

◆ knn_search() [2/2]

template<class IndexT , class A , class B , class F , CompatWithFlann< IndexT > = true>
int pcl::detail::knn_search ( A &  index,
B query,
std::vector< Indices > &  k_indices,
std::vector< std::vector< float >> &  dists,
unsigned int  k,
F &  params 
)

Definition at line 182 of file kdtree_flann.hpp.

◆ operator<<()

template<class IndexTagT >
std::ostream& pcl::detail::operator<< ( std::ostream &  os,
const MeshIndex< IndexTagT > &  index 
)
inline

ostream operator.

Definition at line 169 of file mesh_indices.h.

References pcl::detail::MeshIndex< IndexTagT >::get().

◆ operator>>()

template<class IndexTagT >
std::istream & pcl::detail::operator>> ( std::istream &  is,
MeshIndex< IndexTagT > &  index 
)
inline

istream operator.

Definition at line 178 of file mesh_indices.h.

◆ radius_search() [1/2]

template<class IndexT , class A , class B , class C , class D , class F , CompatWithFlann< IndexT > = true>
int pcl::detail::radius_search ( A &  index,
B query,
C &  k_indices,
D &  dists,
float  radius,
F &  params 
)

Definition at line 288 of file kdtree_flann.hpp.

◆ radius_search() [2/2]

template<class IndexT , class A , class B , class F , CompatWithFlann< IndexT > = true>
int pcl::detail::radius_search ( A &  index,
B query,
std::vector< Indices > &  k_indices,
std::vector< std::vector< float >> &  dists,
float  radius,
F &  params 
)

Definition at line 319 of file kdtree_flann.hpp.

Variable Documentation

◆ index_type_signed

constexpr bool pcl::detail::index_type_signed = PCL_INDEX_SIGNED
constexpr

signed/unsigned nature of PCL's index type Please use PCL_INDEX_SIGNED when building PCL to choose a type best suited for your needs.

Default: signed

Definition at line 104 of file types.h.

◆ index_type_size

constexpr std::uint8_t pcl::detail::index_type_size = PCL_INDEX_SIZE
constexpr

number of bits in PCL's index type

Please use PCL_INDEX_SIZE when building PCL to choose a size best suited for your needs. PCL 1.12 will come with default 32

PCL 1.11 has a default size = sizeof(int)

Definition at line 97 of file types.h.