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)
65 return (transformPointCloud<PointT, Scalar> (cloud_in, cloud_out, transform.matrix (), copy_all_fields));
68 template <
typename Po
intT>
void
71 const Eigen::Affine3f &transform,
72 bool copy_all_fields =
true)
74 return (transformPointCloud<PointT, float> (cloud_in, cloud_out, transform.matrix (), copy_all_fields));
86 template <
typename Po
intT,
typename Scalar>
void
90 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
91 bool copy_all_fields =
true)
93 return (transformPointCloud<PointT, Scalar> (cloud_in, indices, cloud_out, transform.matrix (), copy_all_fields));
96 template <
typename Po
intT>
void
100 const Eigen::Affine3f &transform,
101 bool copy_all_fields =
true)
103 return (transformPointCloud<PointT, float> (cloud_in, indices, cloud_out, transform.matrix (), copy_all_fields));
115 template <
typename Po
intT,
typename Scalar>
void
119 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
120 bool copy_all_fields =
true)
122 return (transformPointCloud<PointT, Scalar> (cloud_in, indices.
indices, cloud_out, transform.matrix (), copy_all_fields));
125 template <
typename Po
intT>
void
129 const Eigen::Affine3f &transform,
130 bool copy_all_fields =
true)
132 return (transformPointCloud<PointT, float> (cloud_in, indices.
indices, cloud_out, transform.matrix (), copy_all_fields));
144 template <
typename Po
intT,
typename Scalar>
void
147 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
148 bool copy_all_fields =
true)
150 return (transformPointCloudWithNormals<PointT, Scalar> (cloud_in, cloud_out, transform.matrix (), copy_all_fields));
153 template <
typename Po
intT>
void
156 const Eigen::Affine3f &transform,
157 bool copy_all_fields =
true)
159 return (transformPointCloudWithNormals<PointT, float> (cloud_in, cloud_out, transform.matrix (), copy_all_fields));
171 template <
typename Po
intT,
typename Scalar>
void
175 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
176 bool copy_all_fields =
true)
178 return (transformPointCloudWithNormals<PointT, Scalar> (cloud_in, indices, cloud_out, transform.matrix (), copy_all_fields));
181 template <
typename Po
intT>
void
185 const Eigen::Affine3f &transform,
186 bool copy_all_fields =
true)
188 return (transformPointCloudWithNormals<PointT, float> (cloud_in, indices, cloud_out, transform.matrix (), copy_all_fields));
200 template <
typename Po
intT,
typename Scalar>
void
204 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
205 bool copy_all_fields =
true)
207 return (transformPointCloudWithNormals<PointT, Scalar> (cloud_in, indices.
indices, cloud_out, transform.matrix (), copy_all_fields));
211 template <
typename Po
intT>
void
215 const Eigen::Affine3f &transform,
216 bool copy_all_fields =
true)
218 return (transformPointCloudWithNormals<PointT, float> (cloud_in, indices.
indices, cloud_out, transform.matrix (), copy_all_fields));
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)
242 return (transformPointCloud<PointT, float> (cloud_in, cloud_out, transform, copy_all_fields));
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)
268 return (transformPointCloud<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
280 template <
typename Po
intT,
typename Scalar>
void
284 const Eigen::Matrix<Scalar, 4, 4> &transform,
285 bool copy_all_fields =
true)
287 return (transformPointCloud<PointT, Scalar> (cloud_in, indices.
indices, cloud_out, transform, copy_all_fields));
290 template <
typename Po
intT>
void
294 const Eigen::Matrix4f &transform,
295 bool copy_all_fields =
true)
297 return (transformPointCloud<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
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)
323 return (transformPointCloudWithNormals<PointT, float> (cloud_in, cloud_out, transform, copy_all_fields));
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)
352 return (transformPointCloudWithNormals<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
366 template <
typename Po
intT,
typename Scalar>
void
370 const Eigen::Matrix<Scalar, 4, 4> &transform,
371 bool copy_all_fields =
true)
373 return (transformPointCloudWithNormals<PointT, Scalar> (cloud_in, indices.
indices, cloud_out, transform, copy_all_fields));
377 template <
typename Po
intT>
void
381 const Eigen::Matrix4f &transform,
382 bool copy_all_fields =
true)
384 return (transformPointCloudWithNormals<PointT, float> (cloud_in, indices.
indices, cloud_out, transform, copy_all_fields));
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)
410 return (transformPointCloud<PointT, float> (cloud_in, cloud_out, offset, rotation, copy_all_fields));
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)
437 return (transformPointCloudWithNormals<PointT, float> (cloud_in, cloud_out, offset, rotation, copy_all_fields));
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)
454 return (transformPoint<PointT, float> (point, 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)
471 return (transformPointWithNormal<PointT, float> (point, 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)
489 return (getPrincipalTransformation<PointT, float> (cloud, transform));
493 #include <pcl/common/impl/transforms.hpp>