PointCloud specialization for Eigen matrices. For advanced users only! More...
#include <point_cloud.h>
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. | |
PointCloud & | operator+= (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). |
PointCloud specialization for Eigen matrices. For advanced users only!
Definition at line 624 of file point_cloud.h.
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.
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++)
[in] | pc | the cloud to copy into this |
Definition at line 637 of file point_cloud.h.
pcl::PointCloud< Eigen::MatrixXf >::PointCloud | ( | PointCloud< PointT > & | pc | ) | [inline] |
Copy conversion constructor (needed by compilers such as Intel C++)
[in] | pc | the 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++)
[in] | pc | the cloud to copy into this |
Definition at line 670 of file point_cloud.h.
pcl::PointCloud< Eigen::MatrixXf >::PointCloud | ( | const PointCloud< PointT > & | pc | ) | [inline] |
Copy conversion constructor (needed by compilers such as Intel C++)
[in] | pc | the 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.
[in] | pc | the cloud to copy into this |
[in] | indices | the 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.
[in] | _width | the 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] | _height | the number of points in the cloud per column (if organized set to the height of the image, else set to 1) |
[in] | _dim | the 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.
[in] | _num_points | the number of points in the cloud. Sets width to _num_points and height to 1. |
[in] | _dim | the 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.
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).
[in] | column | the column coordinate |
[in] | row | the 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).
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.
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.
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).
[in] | column | the column coordinate |
[in] | row | the 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.
[in] | rhs | the cloud to add to the current 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.
[in] | rhs | the cloud to add to the current 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.
[in,out] | rhs | point cloud to swap this with |
Definition at line 859 of file point_cloud.h.
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.
pcl::CloudProperties pcl::PointCloud< Eigen::MatrixXf >::properties |
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.