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,
63 bool copy_all_fields =
true)
68 template <
typename Po
intT>
void
71 const Eigen::Affine3f &transform,
72 bool copy_all_fields =
true)
86 template <
typename Po
intT,
typename Scalar>
void
90 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
91 bool copy_all_fields =
true)
96 template <
typename Po
intT>
void
100 const Eigen::Affine3f &transform,
101 bool copy_all_fields =
true)
115 template <
typename Po
intT,
typename Scalar>
void
119 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
120 bool copy_all_fields =
true)
125 template <
typename Po
intT>
void
129 const Eigen::Affine3f &transform,
130 bool copy_all_fields =
true)
144 template <
typename Po
intT,
typename Scalar>
void
147 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
148 bool copy_all_fields =
true)
153 template <
typename Po
intT>
void
156 const Eigen::Affine3f &transform,
157 bool copy_all_fields =
true)
171 template <
typename Po
intT,
typename Scalar>
void
175 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
176 bool copy_all_fields =
true)
181 template <
typename Po
intT>
void
185 const Eigen::Affine3f &transform,
186 bool copy_all_fields =
true)
200 template <
typename Po
intT,
typename Scalar>
void
204 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
205 bool copy_all_fields =
true)
211 template <
typename Po
intT>
void
215 const Eigen::Affine3f &transform,
216 bool copy_all_fields =
true)
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,
240 bool copy_all_fields =
true)
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,
266 bool copy_all_fields =
true)
280 template <
typename Po
intT,
typename Scalar>
void
284 const Eigen::Matrix<Scalar, 4, 4> &transform,
285 bool copy_all_fields =
true)
290 template <
typename Po
intT>
void
294 const Eigen::Matrix4f &transform,
295 bool copy_all_fields =
true)
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,
321 bool copy_all_fields =
true)
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,
350 bool copy_all_fields =
true)
366 template <
typename Po
intT,
typename Scalar>
void
370 const Eigen::Matrix<Scalar, 4, 4> &transform,
371 bool copy_all_fields =
true)
377 template <
typename Po
intT>
void
381 const Eigen::Matrix4f &transform,
382 bool copy_all_fields =
true)
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,
407 const Eigen::Quaternionf &rotation,
408 bool copy_all_fields =
true)
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,
434 const Eigen::Quaternionf &rotation,
435 bool copy_all_fields =
true)
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.
PointCloud represents the base class in PCL for storing collections of 3D points.
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.