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 | 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...
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 124 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 134 of file io.hpp.

References 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

Definition at line 331 of file file_io.h.

References pcl::PCLPointCloud2::data, pcl::PCLPointCloud2::fields, pcl::PCLPointCloud2::is_dense, and pcl::PCLPointCloud2::point_step.

## 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

Definition at line 356 of file file_io.h.

References pcl::PCLPointCloud2::data, pcl::PCLPointCloud2::fields, and pcl::PCLPointCloud2::point_step.

## 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

Definition at line 380 of file file_io.h.

References pcl::PCLPointCloud2::data, pcl::PCLPointCloud2::fields, and pcl::PCLPointCloud2::point_step.

## economical_download()

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
| ) |  |

Referenced by pcl::gpu::extractEuclideanClusters().

## fieldOrdering()

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

inline

Definition at line 114 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

  Vector | Requested result type, needs to be explicitly provided and has to be implicitly constructible from ConstRowExpr
  Matrix | deduced 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 152 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 180 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 168 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 177 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 286 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 313 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.