42#include <pcl/point_cloud.h>
45#include <pcl/common/eigen.h>
46#include <pcl/PointIndices.h>
59 template <
typename Po
intT,
typename Scalar>
void
62 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
68 template <
typename Po
intT>
void
71 const Eigen::Affine3f &transform,
86 template <
typename Po
intT,
typename Scalar>
void
90 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
96 template <
typename Po
intT>
void
100 const Eigen::Affine3f &transform,
115 template <
typename Po
intT,
typename Scalar>
void
119 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
125 template <
typename Po
intT>
void
129 const Eigen::Affine3f &transform,
144 template <
typename Po
intT,
typename Scalar>
void
147 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
153 template <
typename Po
intT>
void
156 const Eigen::Affine3f &transform,
171 template <
typename Po
intT,
typename Scalar>
void
175 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
181 template <
typename Po
intT>
void
185 const Eigen::Affine3f &transform,
200 template <
typename Po
intT,
typename Scalar>
void
204 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
211 template <
typename Po
intT>
void
215 const Eigen::Affine3f &transform,
230 template <
typename Po
intT,
typename Scalar>
void
233 const Eigen::Matrix<Scalar, 4, 4> &transform,
234 bool copy_all_fields =
true);
236 template <
typename Po
intT>
void
239 const Eigen::Matrix4f &transform,
254 template <
typename Po
intT,
typename Scalar>
void
258 const Eigen::Matrix<Scalar, 4, 4> &transform,
259 bool copy_all_fields =
true);
261 template <
typename Po
intT>
void
265 const Eigen::Matrix4f &transform,
280 template <
typename Po
intT,
typename Scalar>
void
284 const Eigen::Matrix<Scalar, 4, 4> &transform,
290 template <
typename Po
intT>
void
294 const Eigen::Matrix4f &transform,
310 template <
typename Po
intT,
typename Scalar>
void
313 const Eigen::Matrix<Scalar, 4, 4> &transform,
314 bool copy_all_fields =
true);
317 template <
typename Po
intT>
void
320 const Eigen::Matrix4f &transform,
337 template <
typename Po
intT,
typename Scalar>
void
341 const Eigen::Matrix<Scalar, 4, 4> &transform,
342 bool copy_all_fields =
true);
345 template <
typename Po
intT>
void
349 const Eigen::Matrix4f &transform,
366 template <
typename Po
intT,
typename Scalar>
void
370 const Eigen::Matrix<Scalar, 4, 4> &transform,
377 template <
typename Po
intT>
void
381 const Eigen::Matrix4f &transform,
396 template <
typename Po
intT,
typename Scalar>
inline void
399 const Eigen::Matrix<Scalar, 3, 1> &offset,
400 const Eigen::Quaternion<Scalar> &rotation,
401 bool copy_all_fields =
true);
403 template <
typename Po
intT>
inline void
406 const Eigen::Vector3f &offset,
423 template <
typename Po
intT,
typename Scalar>
inline void
426 const Eigen::Matrix<Scalar, 3, 1> &offset,
427 const Eigen::Quaternion<Scalar> &rotation,
428 bool copy_all_fields =
true);
430 template <
typename Po
intT>
void
433 const Eigen::Vector3f &offset,
446 template <
typename Po
intT,
typename Scalar>
inline PointT
448 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform);
450 template <
typename Po
intT>
inline PointT
452 const Eigen::Affine3f &transform)
463 template <
typename Po
intT,
typename Scalar>
inline PointT
465 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform);
467 template <
typename Po
intT>
inline PointT
469 const Eigen::Affine3f &transform)
481 template <
typename Po
intT,
typename Scalar>
inline double
483 Eigen::Transform<Scalar, 3, Eigen::Affine> &transform);
485 template <
typename Po
intT>
inline double
487 Eigen::Affine3f &transform)
493#include <pcl/common/impl/transforms.hpp>
Define methods for centroid estimation and covariance matrix calculus.
Iterator class for point clouds with or without given indices.
Defines all the PCL implemented PointT point type structures.
void transformPointCloudWithNormals(const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform, bool copy_all_fields)
Transform a point cloud and rotate its normals using an Eigen transform.
PointT transformPointWithNormal(const PointT &point, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transform)
Transform a point with members x,y,z,normal_x,normal_y,normal_z.
void transformPointCloud(const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform, bool copy_all_fields)
Apply a rigid transform defined by a 4x4 matrix.
void transformPoint(const Eigen::Matrix< Scalar, 3, 1 > &point_in, Eigen::Matrix< Scalar, 3, 1 > &point_out, const Eigen::Transform< Scalar, 3, Eigen::Affine > &transformation)
Transform a point using an affine matrix.
IndicesAllocator<> Indices
Type used for indices in PCL.
double getPrincipalTransformation(const pcl::PointCloud< PointT > &cloud, Eigen::Transform< Scalar, 3, Eigen::Affine > &transform)
Calculates the principal (PCA-based) alignment of the point cloud.
A point structure representing Euclidean xyz coordinates, and the RGB color.