pcl::PointRepresentation< PointT > Class Template Referenceabstract

PointRepresentation provides a set of methods for converting a point structs/object into an n-dimensional vector. More...

`#include <pcl/point_representation.h>`

## Public Types

typedef boost::shared_ptr< PointRepresentation< PointT > > | Ptr
typedef boost::shared_ptr< const PointRepresentation< PointT > > | ConstPtr

## Public Member Functions

| PointRepresentation ()
| Empty constructor. More...
virtual | ~PointRepresentation ()
| Empty destructor. More...
virtual void | copyToFloatArray (const PointT &p, float *out) const =0
| Copy point data from input point to a float array. More...
bool | isTrivial () const
| Returns whether this point representation is trivial. More...
virtual bool | isValid (const PointT &p) const
| Verify that the input point is valid. More...
template<typename OutputType >
void | vectorize (const PointT &p, OutputType &out) const
| Convert input point into a vector representation, rescaling by alpha. More...
void | setRescaleValues (const float *rescale_array)
| Set the rescale values to use when vectorizing points. More...
int | getNumberOfDimensions () const
| Return the number of dimensions in the point's vector representation. More...

## Protected Attributes

int | nr_dimensions_
| The number of dimensions in this point's vector (i.e. More...
std::vector< float > | alpha_
| A vector containing the rescale factor to apply to each dimension. More...
bool | trivial_
| Indicates whether this point representation is trivial. More...

## Detailed Description

### template<typename PointT>
class pcl::PointRepresentation< PointT >

PointRepresentation provides a set of methods for converting a point structs/object into an n-dimensional vector.

Note
  This is an abstract class. Subclasses must set nr_dimensions_ to the appropriate value in the constructor and provide an implemention of the pure virtual copyToFloatArray method.

Author
  Michael Dixon

Definition at line 55 of file point_representation.h.

## Member Typedef Documentation

template<typename PointT>

typedef boost::shared_ptr<const PointRepresentation<PointT> > pcl::PointRepresentation< PointT >::ConstPtr

Definition at line 75 of file point_representation.h.

template<typename PointT>

typedef boost::shared_ptr<PointRepresentation<PointT> > pcl::PointRepresentation< PointT >::Ptr

Definition at line 74 of file point_representation.h.

## Constructor & Destructor Documentation

template<typename PointT>

pcl::PointRepresentation< PointT >::PointRepresentation | ( |  | ) |

inline

Empty constructor.

Definition at line 78 of file point_representation.h.

template<typename PointT>

virtual pcl::PointRepresentation< PointT >::~PointRepresentation | ( |  | ) |

inline virtual

Empty destructor.

Definition at line 81 of file point_representation.h.

## Member Function Documentation

template<typename PointT>

virtual void pcl::PointRepresentation< PointT >::copyToFloatArray | ( | const PointT & | p,
|  | float * | out
| ) |  | const

pure virtual

Copy point data from input point to a float array.

This method must be overriden in all subclasses.

Parameters

  [in] | p | The input point
  [out] | out | A pointer to a float array.

Implemented in pcl::CustomPointRepresentation< PointDefault >, pcl::DefaultPointRepresentation< SHOT1344 >, pcl::DefaultPointRepresentation< SHOT352 >, pcl::DefaultPointRepresentation< ShapeContext1980 >, pcl::DefaultPointRepresentation< Narf36 >, pcl::DefaultPointRepresentation< PPFSignature >, pcl::DefaultPointRepresentation< PointNormal >, pcl::DefaultPointRepresentation< PointXYZI >, pcl::DefaultPointRepresentation< PointXYZ >, pcl::DefaultFeatureRepresentation< PointDefault >, pcl::DefaultFeatureRepresentation< PPFSignature >, pcl::DefaultFeatureRepresentation< VFHSignature308 >, pcl::DefaultFeatureRepresentation< PFHRGBSignature250 >, pcl::DefaultFeatureRepresentation< NormalBasedSignature12 >, pcl::DefaultFeatureRepresentation< FPFHSignature33 >, pcl::DefaultFeatureRepresentation< PFHSignature125 >, pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::MyPointRepresentation, and pcl::DefaultPointRepresentation< PointDefault >.

Referenced by pcl::PointRepresentation< Narf * >::isValid(), pcl::PointRepresentation< Narf * >::vectorize(), and pcl::PointRepresentation< Narf * >::~PointRepresentation().

template<typename PointT>

int pcl::PointRepresentation< PointT >::getNumberOfDimensions | ( |  | ) | const

inline

Return the number of dimensions in the point's vector representation.

Definition at line 171 of file point_representation.h.

template<typename PointT>

bool pcl::PointRepresentation< PointT >::isTrivial | ( |  | ) | const

inline

Returns whether this point representation is trivial.

It is trivial if and only if the following conditions hold:

- the relevant data consists only of float values
- the vectorize operation directly copies the first nr_dimensions_ elements of PointT to the out array
- sizeof(PointT) is a multiple of sizeof(float) In short, a trivial point representation converts the input point to a float array that is the same as if the point was reinterpret_casted to a float array of length nr_dimensions_ .

Definition at line 96 of file point_representation.h.

template<typename PointT>

virtual bool pcl::PointRepresentation< PointT >::isValid | ( | const PointT & | p | ) | const

inline virtual

Verify that the input point is valid.

Parameters

  p | The point to validate

Definition at line 102 of file point_representation.h.

template<typename PointT>

void pcl::PointRepresentation< PointT >::setRescaleValues | ( | const float * | rescale_array | ) |

inline

Set the rescale values to use when vectorizing points.

Parameters

  [in] | rescale_array | The array/vector of rescale values. Can be of any type that implements the [] operator.

Definition at line 163 of file point_representation.h.

template<typename PointT>
template<typename OutputType >

void pcl::PointRepresentation< PointT >::vectorize | ( | const PointT & | p,
|  | OutputType & | out
| ) |  | const

inline

Convert input point into a vector representation, rescaling by alpha.

Parameters

  [in] | p | the input point
  [out] | out | The output vector. Can be of any type that implements the [] operator.

Definition at line 142 of file point_representation.h.

## Member Data Documentation

template<typename PointT>

std::vector<float> pcl::PointRepresentation< PointT >::alpha_

protected

A vector containing the rescale factor to apply to each dimension.

Definition at line 61 of file point_representation.h.

template<typename PointT>

int pcl::PointRepresentation< PointT >::nr_dimensions_

protected

The number of dimensions in this point's vector (i.e.

the "k" in "k-D")

Definition at line 59 of file point_representation.h.

Referenced by pcl::DefaultPointRepresentation< PointDefault >::copyToFloatArray(), pcl::DefaultPointRepresentation< Narf36 >::copyToFloatArray(), pcl::DefaultPointRepresentation< ShapeContext1980 >::copyToFloatArray(), pcl::DefaultPointRepresentation< SHOT352 >::copyToFloatArray(), pcl::DefaultPointRepresentation< SHOT1344 >::copyToFloatArray(), pcl::CustomPointRepresentation< PointDefault >::copyToFloatArray(), pcl::CustomPointRepresentation< PointDefault >::CustomPointRepresentation(), pcl::DefaultFeatureRepresentation< PFHSignature125 >::DefaultFeatureRepresentation(), pcl::DefaultPointRepresentation< PointDefault >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< PointXYZ >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< PointXYZI >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< PointNormal >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< PPFSignature >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< Narf36 >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< ShapeContext1980 >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< SHOT352 >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< SHOT1344 >::DefaultPointRepresentation(), pcl::PointRepresentation< Narf * >::isValid(), POINT_CLOUD_REGISTER_POINT_STRUCT(), pcl::PointRepresentation< Narf * >::setRescaleValues(), and pcl::PointRepresentation< Narf * >::vectorize().

template<typename PointT>

bool pcl::PointRepresentation< PointT >::trivial_

protected

Indicates whether this point representation is trivial.

It is trivial if and only if the following conditions hold:

- the relevant data consists only of float values
- the vectorize operation directly copies the first nr_dimensions_ elements of PointT to the out array
- sizeof(PointT) is a multiple of sizeof(float) In short, a trivial point representation converts the input point to a float array that is the same as if the point was reinterpret_casted to a float array of length nr_dimensions_ . This value says that this representation can be trivial; it is only trivial if setRescaleValues() has not been set.

Definition at line 71 of file point_representation.h.

Referenced by pcl::DefaultPointRepresentation< PointDefault >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< PointXYZ >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< PointXYZI >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< PointNormal >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< PPFSignature >::DefaultPointRepresentation(), pcl::DefaultPointRepresentation< Narf36 >::DefaultPointRepresentation(), and POINT_CLOUD_REGISTER_POINT_STRUCT().

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

- /build/pcl-0nnAvv/pcl-1.7.2/common/include/pcl/point_representation.h