Classes | Public Types | Public Member Functions | Public Attributes
pcl::PointCloud< Eigen::MatrixXf > Class Template Reference

PointCloud specialization for Eigen matrices. For advanced users only! More...

#include <point_cloud.h>

List of all members.

Classes

struct  CopyFieldsChannelProperties
 Helper functor structure for copying channel information. More...
struct  NdCopyEigenPointFunctor
 Helper functor structure for copying data between an Eigen type and a PointT. More...
struct  NdCopyPointEigenFunctor
 Helper functor structure for copying data between an Eigen type and a PointT. More...

Public Types

typedef boost::shared_ptr
< const PointCloud
< Eigen::MatrixXf > > 
ConstPtr
typedef boost::shared_ptr
< PointCloud< Eigen::MatrixXf > > 
Ptr

Public Member Functions

Eigen::Map< Eigen::VectorXf > at (int column, int row)
 Obtain the point given by the (column, row) coordinates. Only works on organized datasets (those that have height != 1).
void clear ()
 Removes all points in a cloud and sets the width and height to 0.
bool empty () const
 Return whether a dataset is empty (i.e., has no points)
bool isOrganized () const
 Return whether a dataset is organized (e.g., arranged in a structured grid).
Ptr makeShared ()
 Copy the cloud to the heap and return a smart pointer Note that deep copy is performed, so avoid using this function on non-empty clouds. The changes of the returned cloud are not mirrored back to this one.
ConstPtr makeShared () const
 Copy the cloud to the heap and return a constant smart pointer Note that deep copy is performed, so avoid using this function on non-empty clouds.
Eigen::Map< Eigen::VectorXf > operator() (int column, int row)
 Obtain the point given by the (column, row) coordinates. Only works on organized datasets (those that have height != 1).
const PointCloud operator+ (const PointCloud &rhs)
 Add a point cloud to another cloud.
PointCloudoperator+= (const PointCloud &rhs)
 Add a point cloud to the current cloud.
 PointCloud ()
 Default constructor. Sets is_dense to true, width and height to 0.
 PointCloud (PointCloud< Eigen::MatrixXf > &pc)
 Copy constructor (needed by compilers such as Intel C++)
template<typename PointT >
 PointCloud (PointCloud< PointT > &pc)
 Copy conversion constructor (needed by compilers such as Intel C++)
 PointCloud (const PointCloud< Eigen::MatrixXf > &pc)
 Copy constructor (needed by compilers such as Intel C++)
template<typename PointT >
 PointCloud (const PointCloud< PointT > &pc)
 Copy conversion constructor (needed by compilers such as Intel C++)
 PointCloud (const PointCloud &pc, const std::vector< int > &indices)
 Copy constructor from point cloud subset.
 PointCloud (uint32_t _width, uint32_t _height, uint32_t _dim)
 Initialize size constructor for organized point cloud datasets. Sets is_dense to true.
 PointCloud (uint32_t _num_points, uint32_t _dim)
 Initialize size constructor for unorganized point cloud datasets. Sets is_dense to true.
size_t size () const
void swap (PointCloud< Eigen::MatrixXf > &rhs)
 Swap a point cloud with another cloud.
virtual ~PointCloud ()

Public Attributes

std::map< std::string,
pcl::ChannelProperties
channels
 The channel data information. We need the entries to be ordered here.
uint32_t height
 The point cloud height (if organized as an image-structure).
bool is_dense
 True if no points are invalid (e.g., have NaN or Inf values).
Eigen::MatrixXf points
 The point data.
pcl::CloudProperties properties
 A list of optional point cloud properties. See CloudProperties for more information.
uint32_t width
 The point cloud width (if organized as an image-structure).

Detailed Description

template<>
class pcl::PointCloud< Eigen::MatrixXf >

PointCloud specialization for Eigen matrices. For advanced users only!

Attention:
As opposed to the generic PointCloud<T> implementation where the point cloud data is stored in a std::vector<T>, this specialization uses an Eigen::MatrixXf. This means that this specialization is NOT suitable for other types of data other than floats, and should therefore be used with extreme caution!
Note:
Similar to PointCloud<T> where each data point represents a new element in the vector, we are storing each data point on a separate row in our MatrixXf, in a row-major format. This means that the data is aligned in memory in a row-major format. Please check that PCL is compiled using -DEIGEN_DEFAULT_TO_ROW_MAJOR.
Author:
Radu B. Rusu

Definition at line 624 of file point_cloud.h.


Member Typedef Documentation

typedef boost::shared_ptr<const PointCloud<Eigen::MatrixXf> > pcl::PointCloud< Eigen::MatrixXf >::ConstPtr

Definition at line 851 of file point_cloud.h.

typedef boost::shared_ptr<PointCloud<Eigen::MatrixXf> > pcl::PointCloud< Eigen::MatrixXf >::Ptr

Definition at line 850 of file point_cloud.h.


Constructor & Destructor Documentation

pcl::PointCloud< Eigen::MatrixXf >::PointCloud ( ) [inline]

Default constructor. Sets is_dense to true, width and height to 0.

Definition at line 630 of file point_cloud.h.

pcl::PointCloud< Eigen::MatrixXf >::PointCloud ( PointCloud< Eigen::MatrixXf > &  pc) [inline]

Copy constructor (needed by compilers such as Intel C++)

Parameters:
[in]pcthe cloud to copy into this

Definition at line 637 of file point_cloud.h.

template<typename PointT >
pcl::PointCloud< Eigen::MatrixXf >::PointCloud ( PointCloud< PointT > &  pc) [inline]

Copy conversion constructor (needed by compilers such as Intel C++)

Parameters:
[in]pcthe cloud<T> to copy into this

Definition at line 647 of file point_cloud.h.

pcl::PointCloud< Eigen::MatrixXf >::PointCloud ( const PointCloud< Eigen::MatrixXf > &  pc) [inline]

Copy constructor (needed by compilers such as Intel C++)

Parameters:
[in]pcthe cloud to copy into this

Definition at line 670 of file point_cloud.h.

template<typename PointT >
pcl::PointCloud< Eigen::MatrixXf >::PointCloud ( const PointCloud< PointT > &  pc) [inline]

Copy conversion constructor (needed by compilers such as Intel C++)

Parameters:
[in]pcthe cloud<T> to copy into this

Definition at line 680 of file point_cloud.h.

pcl::PointCloud< Eigen::MatrixXf >::PointCloud ( const PointCloud< Eigen::MatrixXf > &  pc,
const std::vector< int > &  indices 
) [inline]

Copy constructor from point cloud subset.

Parameters:
[in]pcthe cloud to copy into this
[in]indicesthe subset to copy

Definition at line 705 of file point_cloud.h.

pcl::PointCloud< Eigen::MatrixXf >::PointCloud ( uint32_t  _width,
uint32_t  _height,
uint32_t  _dim 
) [inline]

Initialize size constructor for organized point cloud datasets. Sets is_dense to true.

Parameters:
[in]_widththe number of points in the cloud per row (if organized set to the width of the image, else set to the total number of points)
[in]_heightthe number of points in the cloud per column (if organized set to the height of the image, else set to 1)
[in]_dimthe number of dimensions that each point entry will have (e.g., 3=3D, 6=6D)

Definition at line 723 of file point_cloud.h.

pcl::PointCloud< Eigen::MatrixXf >::PointCloud ( uint32_t  _num_points,
uint32_t  _dim 
) [inline]

Initialize size constructor for unorganized point cloud datasets. Sets is_dense to true.

Parameters:
[in]_num_pointsthe number of points in the cloud. Sets width to _num_points and height to 1.
[in]_dimthe number of dimensions that each point entry will have (e.g., 3=3D, 6=6D)

Definition at line 736 of file point_cloud.h.

virtual pcl::PointCloud< Eigen::MatrixXf >::~PointCloud ( ) [inline, virtual]

Destructor.

Definition at line 746 of file point_cloud.h.


Member Function Documentation

Eigen::Map<Eigen::VectorXf> pcl::PointCloud< Eigen::MatrixXf >::at ( int  column,
int  row 
) [inline]

Obtain the point given by the (column, row) coordinates. Only works on organized datasets (those that have height != 1).

Parameters:
[in]columnthe column coordinate
[in]rowthe row coordinate

Definition at line 795 of file point_cloud.h.

void pcl::PointCloud< Eigen::MatrixXf >::clear ( ) [inline]

Removes all points in a cloud and sets the width and height to 0.

Definition at line 871 of file point_cloud.h.

bool pcl::PointCloud< Eigen::MatrixXf >::empty ( ) const [inline]

Return whether a dataset is empty (i.e., has no points)

Definition at line 828 of file point_cloud.h.

bool pcl::PointCloud< Eigen::MatrixXf >::isOrganized ( ) const [inline]

Return whether a dataset is organized (e.g., arranged in a structured grid).

Note:
The height value must be different than 1 for a dataset to be organized.

Definition at line 820 of file point_cloud.h.

Ptr pcl::PointCloud< Eigen::MatrixXf >::makeShared ( ) [inline]

Copy the cloud to the heap and return a smart pointer Note that deep copy is performed, so avoid using this function on non-empty clouds. The changes of the returned cloud are not mirrored back to this one.

Returns:
shared pointer to the copy of the cloud

Definition at line 884 of file point_cloud.h.

ConstPtr pcl::PointCloud< Eigen::MatrixXf >::makeShared ( ) const [inline]

Copy the cloud to the heap and return a constant smart pointer Note that deep copy is performed, so avoid using this function on non-empty clouds.

Returns:
const shared pointer to the copy of the cloud

Definition at line 891 of file point_cloud.h.

Eigen::Map<Eigen::VectorXf> pcl::PointCloud< Eigen::MatrixXf >::operator() ( int  column,
int  row 
) [inline]

Obtain the point given by the (column, row) coordinates. Only works on organized datasets (those that have height != 1).

Parameters:
[in]columnthe column coordinate
[in]rowthe row coordinate

Definition at line 810 of file point_cloud.h.

const PointCloud pcl::PointCloud< Eigen::MatrixXf >::operator+ ( const PointCloud< Eigen::MatrixXf > &  rhs) [inline]

Add a point cloud to another cloud.

Parameters:
[in]rhsthe cloud to add to the current cloud
Returns:
the new cloud as a concatenation of the current cloud and the new given cloud

Definition at line 783 of file point_cloud.h.

PointCloud& pcl::PointCloud< Eigen::MatrixXf >::operator+= ( const PointCloud< Eigen::MatrixXf > &  rhs) [inline]

Add a point cloud to the current cloud.

Parameters:
[in]rhsthe cloud to add to the current cloud
Returns:
the new cloud as a concatenation of the current cloud and the new given cloud

Definition at line 754 of file point_cloud.h.

size_t pcl::PointCloud< Eigen::MatrixXf >::size ( ) const [inline]

Definition at line 853 of file point_cloud.h.

void pcl::PointCloud< Eigen::MatrixXf >::swap ( PointCloud< Eigen::MatrixXf > &  rhs) [inline]

Swap a point cloud with another cloud.

Parameters:
[in,out]rhspoint cloud to swap this with

Definition at line 859 of file point_cloud.h.


Member Data Documentation

std::map<std::string, pcl::ChannelProperties> pcl::PointCloud< Eigen::MatrixXf >::channels

The channel data information. We need the entries to be ordered here.

Definition at line 840 of file point_cloud.h.

uint32_t pcl::PointCloud< Eigen::MatrixXf >::height

The point cloud height (if organized as an image-structure).

Definition at line 845 of file point_cloud.h.

bool pcl::PointCloud< Eigen::MatrixXf >::is_dense

True if no points are invalid (e.g., have NaN or Inf values).

Definition at line 848 of file point_cloud.h.

Eigen::MatrixXf pcl::PointCloud< Eigen::MatrixXf >::points

The point data.

Definition at line 837 of file point_cloud.h.

A list of optional point cloud properties. See CloudProperties for more information.

Definition at line 834 of file point_cloud.h.

uint32_t pcl::PointCloud< Eigen::MatrixXf >::width

The point cloud width (if organized as an image-structure).

Definition at line 843 of file point_cloud.h.


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


pcl
Author(s): Open Perception
autogenerated on Mon Oct 6 2014 03:19:51