|
Point Cloud Library (PCL)
1.5.1
|
PointCloud represents the base class in PCL for storing collections of 3D points. More...
#include <pcl/point_cloud.h>

Public Types | |
| typedef PointT | PointType |
| typedef std::vector< PointT, Eigen::aligned_allocator < PointT > > | VectorType |
| typedef boost::shared_ptr < PointCloud< PointT > > | Ptr |
| typedef boost::shared_ptr < const PointCloud< PointT > > | ConstPtr |
| typedef VectorType::iterator | iterator |
| typedef VectorType::const_iterator | const_iterator |
Public Member Functions | |
| PointCloud () | |
| Default constructor. | |
| PointCloud (PointCloud< PointT > &pc) | |
| Copy constructor (needed by compilers such as Intel C++) | |
| PointCloud (const PointCloud< PointT > &pc) | |
| Copy constructor (needed by compilers such as Intel C++) | |
| PointCloud (const PointCloud< PointT > &pc, const std::vector< int > &indices) | |
| Copy constructor from point cloud subset. | |
| PointCloud (uint32_t width_, uint32_t height_, const PointT &value_=PointT()) | |
| Allocate constructor from point cloud subset. | |
| virtual | ~PointCloud () |
| Destructor. | |
| PointCloud & | operator+= (const PointCloud &rhs) |
| Add a point cloud to the current cloud. | |
| const PointCloud | operator+ (const PointCloud &rhs) |
| Add a point cloud to another cloud. | |
| const PointT & | at (int column, int row) const |
| Obtain the point given by the (column, row) coordinates. | |
| PointT & | at (int column, int row) |
| Obtain the point given by the (column, row) coordinates. | |
| const PointT & | operator() (size_t column, size_t row) const |
| Obtain the point given by the (column, row) coordinates. | |
| PointT & | operator() (size_t column, size_t row) |
| Obtain the point given by the (column, row) coordinates. | |
| bool | isOrganized () const |
| Return whether a dataset is organized (e.g., arranged in a structured grid). | |
| Eigen::Map< Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > | getMatrixXfMap (int dim, int stride, int offset) |
| Return an Eigen MatrixXf (assumes float values) mapped to the specified dimensions of the PointCloud. | |
| const Eigen::Map< const Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > | getMatrixXfMap (int dim, int stride, int offset) const |
| Return an Eigen MatrixXf (assumes float values) mapped to the specified dimensions of the PointCloud. | |
| Eigen::Map< Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > | getMatrixXfMap () |
| Return an Eigen MatrixXf (assumes float values) mapped to the PointCloud. | |
| const Eigen::Map< const Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > | getMatrixXfMap () const |
| Return an Eigen MatrixXf (assumes float values) mapped to the PointCloud. | |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| size_t | size () const |
| void | reserve (size_t n) |
| void | resize (size_t n) |
| bool | empty () const |
| const PointT & | operator[] (size_t n) const |
| PointT & | operator[] (size_t n) |
| const PointT & | at (size_t n) const |
| PointT & | at (size_t n) |
| const PointT & | front () const |
| PointT & | front () |
| const PointT & | back () const |
| PointT & | back () |
| void | push_back (const PointT &pt) |
| Insert a new point in the cloud, at the end of the container. | |
| iterator | insert (iterator position, const PointT &pt) |
| Insert a new point in the cloud, given an iterator. | |
| void | insert (iterator position, size_t n, const PointT &pt) |
| Insert a new point in the cloud N times, given an iterator. | |
| template<class InputIterator > | |
| void | insert (iterator position, InputIterator first, InputIterator last) |
| Insert a new range of points in the cloud, at a certain position. | |
| iterator | erase (iterator position) |
| Erase a point in the cloud. | |
| iterator | erase (iterator first, iterator last) |
| Erase a set of points given by a (first, last) iterator pair. | |
| void | swap (PointCloud< PointT > &rhs) |
| Swap a point cloud with another cloud. | |
| void | clear () |
| Removes all points in a cloud and sets the width and height to 0. | |
| Ptr | makeShared () const |
| 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. | |
Public Attributes | |
| std_msgs::Header | header |
| The point cloud header. | |
| std::vector< PointT, Eigen::aligned_allocator < PointT > > | points |
| The point data. | |
| uint32_t | width |
| The point cloud width (if organized as an image-structure). | |
| 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::Vector4f | sensor_origin_ |
| Sensor acquisition pose (origin/translation). | |
| Eigen::Quaternionf | sensor_orientation_ |
| Sensor acquisition pose (rotation). | |
Friends | |
| boost::shared_ptr< MsgFieldMap > & | detail::getMapping (pcl::PointCloud< PointT > &p) |
PointCloud represents the base class in PCL for storing collections of 3D points.
The class is templated, which means you need to specify the type of data that it should contain. For example, to create a point cloud that holds 4 random XYZ data points, use:
pcl::PointCloud<pcl::PointXYZ> cloud; cloud.push_back (pcl::PointXYZ (rand (), rand (), rand ())); cloud.push_back (pcl::PointXYZ (rand (), rand (), rand ())); cloud.push_back (pcl::PointXYZ (rand (), rand (), rand ())); cloud.push_back (pcl::PointXYZ (rand (), rand (), rand ()));
The PointCloud class contains the following elements:
Definition at line 179 of file point_cloud.h.
| typedef VectorType::const_iterator pcl::PointCloud< PointT >::const_iterator |
Definition at line 446 of file point_cloud.h.
| typedef boost::shared_ptr<const PointCloud<PointT> > pcl::PointCloud< PointT >::ConstPtr |
Reimplemented in pcl::RangeImage, and pcl::RangeImagePlanar.
Definition at line 442 of file point_cloud.h.
| typedef VectorType::iterator pcl::PointCloud< PointT >::iterator |
Definition at line 445 of file point_cloud.h.
| typedef PointT pcl::PointCloud< PointT >::PointType |
Definition at line 439 of file point_cloud.h.
| typedef boost::shared_ptr<PointCloud<PointT> > pcl::PointCloud< PointT >::Ptr |
Reimplemented in pcl::RangeImage, and pcl::RangeImagePlanar.
Definition at line 441 of file point_cloud.h.
| typedef std::vector<PointT, Eigen::aligned_allocator<PointT> > pcl::PointCloud< PointT >::VectorType |
Definition at line 440 of file point_cloud.h.
| pcl::PointCloud< PointT >::PointCloud | ( | ) | [inline] |
Default constructor.
Sets is_dense to true, width and height to 0, and the sensor_origin_ and sensor_orientation_ to identity.
Definition at line 186 of file point_cloud.h.
| pcl::PointCloud< PointT >::PointCloud | ( | PointCloud< PointT > & | pc | ) | [inline] |
Copy constructor (needed by compilers such as Intel C++)
| [in] | pc | the cloud to copy into this |
Definition at line 195 of file point_cloud.h.
| pcl::PointCloud< PointT >::PointCloud | ( | const PointCloud< PointT > & | pc | ) | [inline] |
Copy constructor (needed by compilers such as Intel C++)
| [in] | pc | the cloud to copy into this |
Definition at line 206 of file point_cloud.h.
| pcl::PointCloud< PointT >::PointCloud | ( | const PointCloud< PointT > & | 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 218 of file point_cloud.h.
| pcl::PointCloud< PointT >::PointCloud | ( | uint32_t | width_, |
| uint32_t | height_, | ||
| const PointT & | value_ = PointT () |
||
| ) | [inline] |
Allocate constructor from point cloud subset.
| [in] | width_ | the cloud width |
| [in] | height_ | the cloud height |
| [in] | value_ | default value |
Definition at line 235 of file point_cloud.h.
| virtual pcl::PointCloud< PointT >::~PointCloud | ( | ) | [inline, virtual] |
Destructor.
Definition at line 247 of file point_cloud.h.
| const PointT& pcl::PointCloud< PointT >::at | ( | int | column, |
| int | row | ||
| ) | const [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 293 of file point_cloud.h.
| PointT& pcl::PointCloud< PointT >::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 307 of file point_cloud.h.
| const PointT& pcl::PointCloud< PointT >::at | ( | size_t | n | ) | const [inline] |
Definition at line 461 of file point_cloud.h.
| PointT& pcl::PointCloud< PointT >::at | ( | size_t | n | ) | [inline] |
Definition at line 462 of file point_cloud.h.
| const PointT& pcl::PointCloud< PointT >::back | ( | ) | const [inline] |
Definition at line 465 of file point_cloud.h.
| PointT& pcl::PointCloud< PointT >::back | ( | ) | [inline] |
Definition at line 466 of file point_cloud.h.
| iterator pcl::PointCloud< PointT >::begin | ( | ) | [inline] |
Definition at line 447 of file point_cloud.h.
| const_iterator pcl::PointCloud< PointT >::begin | ( | ) | const [inline] |
Definition at line 449 of file point_cloud.h.
| void pcl::PointCloud< PointT >::clear | ( | ) | [inline] |
Removes all points in a cloud and sets the width and height to 0.
Definition at line 568 of file point_cloud.h.
| bool pcl::PointCloud< PointT >::empty | ( | ) | const [inline] |
Definition at line 456 of file point_cloud.h.
| iterator pcl::PointCloud< PointT >::end | ( | ) | [inline] |
Definition at line 448 of file point_cloud.h.
| const_iterator pcl::PointCloud< PointT >::end | ( | ) | const [inline] |
Definition at line 450 of file point_cloud.h.
| iterator pcl::PointCloud< PointT >::erase | ( | iterator | position | ) | [inline] |
Erase a point in the cloud.
| [in] | position | what data point to erase |
Definition at line 529 of file point_cloud.h.
| iterator pcl::PointCloud< PointT >::erase | ( | iterator | first, |
| iterator | last | ||
| ) | [inline] |
Erase a set of points given by a (first, last) iterator pair.
| [in] | first | where to start erasing points from |
| [in] | last | where to stop erasing points from |
Definition at line 544 of file point_cloud.h.
| const PointT& pcl::PointCloud< PointT >::front | ( | ) | const [inline] |
Definition at line 463 of file point_cloud.h.
| PointT& pcl::PointCloud< PointT >::front | ( | ) | [inline] |
Definition at line 464 of file point_cloud.h.
| Eigen::Map<Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > pcl::PointCloud< PointT >::getMatrixXfMap | ( | int | dim, |
| int | stride, | ||
| int | offset | ||
| ) | [inline] |
Return an Eigen MatrixXf (assumes float values) mapped to the specified dimensions of the PointCloud.
| [in] | dim | the number of dimensions to consider for each point |
| [in] | stride | the number of values in each point (will be the number of values that separate two of the columns) |
| [in] | offset | the number of dimensions to skip from the beginning of each point (stride = offset + dim + x, where x is the number of dimensions to skip from the end of each point) |
Definition at line 365 of file point_cloud.h.
| const Eigen::Map<const Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > pcl::PointCloud< PointT >::getMatrixXfMap | ( | int | dim, |
| int | stride, | ||
| int | offset | ||
| ) | const [inline] |
Return an Eigen MatrixXf (assumes float values) mapped to the specified dimensions of the PointCloud.
| [in] | dim | the number of dimensions to consider for each point |
| [in] | stride | the number of values in each point (will be the number of values that separate two of the columns) |
| [in] | offset | the number of dimensions to skip from the beginning of each point (stride = offset + dim + x, where x is the number of dimensions to skip from the end of each point) |
Definition at line 389 of file point_cloud.h.
| Eigen::Map<Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > pcl::PointCloud< PointT >::getMatrixXfMap | ( | ) | [inline] |
Return an Eigen MatrixXf (assumes float values) mapped to the PointCloud.
Definition at line 404 of file point_cloud.h.
| const Eigen::Map<const Eigen::MatrixXf, Eigen::Aligned, Eigen::OuterStride<> > pcl::PointCloud< PointT >::getMatrixXfMap | ( | ) | const [inline] |
Return an Eigen MatrixXf (assumes float values) mapped to the PointCloud.
Definition at line 415 of file point_cloud.h.
| iterator pcl::PointCloud< PointT >::insert | ( | iterator | position, |
| const PointT & | pt | ||
| ) | [inline] |
Insert a new point in the cloud, given an iterator.
| [in] | position | where to insert the point |
| [in] | pt | the point to insert |
Definition at line 487 of file point_cloud.h.
| void pcl::PointCloud< PointT >::insert | ( | iterator | position, |
| size_t | n, | ||
| const PointT & | pt | ||
| ) | [inline] |
Insert a new point in the cloud N times, given an iterator.
| [in] | position | where to insert the point |
| [in] | n | the number of times to insert the point |
| [in] | pt | the point to insert |
Definition at line 502 of file point_cloud.h.
| void pcl::PointCloud< PointT >::insert | ( | iterator | position, |
| InputIterator | first, | ||
| InputIterator | last | ||
| ) | [inline] |
Insert a new range of points in the cloud, at a certain position.
| [in] | position | where to insert the data |
| [in] | first | where to start inserting the points from |
| [in] | last | where to stop inserting the points from |
Definition at line 516 of file point_cloud.h.
| bool pcl::PointCloud< PointT >::isOrganized | ( | ) | const [inline] |
Return whether a dataset is organized (e.g., arranged in a structured grid).
Definition at line 343 of file point_cloud.h.
| Ptr pcl::PointCloud< PointT >::makeShared | ( | ) | const [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 581 of file point_cloud.h.
| const PointT& pcl::PointCloud< PointT >::operator() | ( | size_t | column, |
| size_t | row | ||
| ) | const [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 322 of file point_cloud.h.
| PointT& pcl::PointCloud< PointT >::operator() | ( | size_t | column, |
| size_t | 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 333 of file point_cloud.h.
| const PointCloud pcl::PointCloud< PointT >::operator+ | ( | const PointCloud< PointT > & | rhs | ) | [inline] |
Add a point cloud to another cloud.
| [in] | rhs | the cloud to add to the current cloud |
Definition at line 281 of file point_cloud.h.
| PointCloud& pcl::PointCloud< PointT >::operator+= | ( | const PointCloud< PointT > & | rhs | ) | [inline] |
Add a point cloud to the current cloud.
| [in] | rhs | the cloud to add to the current cloud |
Definition at line 255 of file point_cloud.h.
| const PointT& pcl::PointCloud< PointT >::operator[] | ( | size_t | n | ) | const [inline] |
Definition at line 459 of file point_cloud.h.
| PointT& pcl::PointCloud< PointT >::operator[] | ( | size_t | n | ) | [inline] |
Definition at line 460 of file point_cloud.h.
| void pcl::PointCloud< PointT >::push_back | ( | const PointT & | pt | ) | [inline] |
Insert a new point in the cloud, at the end of the container.
| [in] | pt | the point to insert |
Definition at line 473 of file point_cloud.h.
| void pcl::PointCloud< PointT >::reserve | ( | size_t | n | ) | [inline] |
Definition at line 454 of file point_cloud.h.
| void pcl::PointCloud< PointT >::resize | ( | size_t | n | ) | [inline] |
Definition at line 455 of file point_cloud.h.
| size_t pcl::PointCloud< PointT >::size | ( | ) | const [inline] |
Definition at line 453 of file point_cloud.h.
| void pcl::PointCloud< PointT >::swap | ( | PointCloud< PointT > & | rhs | ) | [inline] |
Swap a point cloud with another cloud.
| [in,out] | rhs | point cloud to swap this with |
Definition at line 556 of file point_cloud.h.
| boost::shared_ptr<MsgFieldMap>& detail::getMapping | ( | pcl::PointCloud< PointT > & | p | ) | [friend] |
| std_msgs::Header pcl::PointCloud< PointT >::header |
The point cloud header.
It contains information about the acquisition time.
Definition at line 421 of file point_cloud.h.
| uint32_t pcl::PointCloud< PointT >::height |
The point cloud height (if organized as an image-structure).
Definition at line 429 of file point_cloud.h.
| bool pcl::PointCloud< PointT >::is_dense |
True if no points are invalid (e.g., have NaN or Inf values).
Definition at line 432 of file point_cloud.h.
| std::vector<PointT, Eigen::aligned_allocator<PointT> > pcl::PointCloud< PointT >::points |
The point data.
Definition at line 424 of file point_cloud.h.
| Eigen::Quaternionf pcl::PointCloud< PointT >::sensor_orientation_ |
Sensor acquisition pose (rotation).
Definition at line 437 of file point_cloud.h.
| Eigen::Vector4f pcl::PointCloud< PointT >::sensor_origin_ |
Sensor acquisition pose (origin/translation).
Definition at line 435 of file point_cloud.h.
| uint32_t pcl::PointCloud< PointT >::width |
The point cloud width (if organized as an image-structure).
Definition at line 427 of file point_cloud.h.
1.8.0