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 template <
typename Po
intT>
void
68 const Eigen::Affine3f &transform,
69 bool copy_all_fields =
true)
71 return (transformPointCloud<PointT, float> (cloud_in, cloud_out, transform, copy_all_fields));
83 template <
typename Po
intT,
typename Scalar>
void
87 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
88 bool copy_all_fields =
true);
90 template <
typename Po
intT>
void
94 const Eigen::Affine3f &transform,
95 bool copy_all_fields =
true)
97 return (transformPointCloud<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
109 template <
typename Po
intT,
typename Scalar>
void
113 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
114 bool copy_all_fields =
true)
116 return (transformPointCloud<PointT, Scalar> (cloud_in, indices.
indices, cloud_out, transform, copy_all_fields));
119 template <
typename Po
intT>
void
123 const Eigen::Affine3f &transform,
124 bool copy_all_fields =
true)
126 return (transformPointCloud<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
138 template <
typename Po
intT,
typename Scalar>
void
141 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
142 bool copy_all_fields =
true);
144 template <
typename Po
intT>
void
147 const Eigen::Affine3f &transform,
148 bool copy_all_fields =
true)
150 return (transformPointCloudWithNormals<PointT, float> (cloud_in, cloud_out, transform, copy_all_fields));
162 template <
typename Po
intT,
typename Scalar>
void
166 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
167 bool copy_all_fields =
true);
169 template <
typename Po
intT>
void
173 const Eigen::Affine3f &transform,
174 bool copy_all_fields =
true)
176 return (transformPointCloudWithNormals<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
188 template <
typename Po
intT,
typename Scalar>
void
192 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform,
193 bool copy_all_fields =
true)
195 return (transformPointCloudWithNormals<PointT, Scalar> (cloud_in, indices.
indices, cloud_out, transform, copy_all_fields));
199 template <
typename Po
intT>
void
203 const Eigen::Affine3f &transform,
204 bool copy_all_fields =
true)
206 return (transformPointCloudWithNormals<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
218 template <
typename Po
intT,
typename Scalar>
void
221 const Eigen::Matrix<Scalar, 4, 4> &transform,
222 bool copy_all_fields =
true)
224 Eigen::Transform<Scalar, 3, Eigen::Affine> t (transform);
225 return (transformPointCloud<PointT, Scalar> (cloud_in, cloud_out, t, copy_all_fields));
228 template <
typename Po
intT>
void
231 const Eigen::Matrix4f &transform,
232 bool copy_all_fields =
true)
234 return (transformPointCloud<PointT, float> (cloud_in, cloud_out, transform, copy_all_fields));
246 template <
typename Po
intT,
typename Scalar>
void
250 const Eigen::Matrix<Scalar, 4, 4> &transform,
251 bool copy_all_fields =
true)
253 Eigen::Transform<Scalar, 3, Eigen::Affine> t (transform);
254 return (transformPointCloud<PointT, Scalar> (cloud_in, indices, cloud_out, t, copy_all_fields));
257 template <
typename Po
intT>
void
261 const Eigen::Matrix4f &transform,
262 bool copy_all_fields =
true)
264 return (transformPointCloud<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
276 template <
typename Po
intT,
typename Scalar>
void
280 const Eigen::Matrix<Scalar, 4, 4> &transform,
281 bool copy_all_fields =
true)
283 return (transformPointCloud<PointT, Scalar> (cloud_in, indices.
indices, cloud_out, transform, copy_all_fields));
286 template <
typename Po
intT>
void
290 const Eigen::Matrix4f &transform,
291 bool copy_all_fields =
true)
293 return (transformPointCloud<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
306 template <
typename Po
intT,
typename Scalar>
void
309 const Eigen::Matrix<Scalar, 4, 4> &transform,
310 bool copy_all_fields =
true)
312 Eigen::Transform<Scalar, 3, Eigen::Affine> t (transform);
313 return (transformPointCloudWithNormals<PointT, Scalar> (cloud_in, cloud_out, t, copy_all_fields));
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)
344 Eigen::Transform<Scalar, 3, Eigen::Affine> t (transform);
345 return (transformPointCloudWithNormals<PointT, Scalar> (cloud_in, indices, cloud_out, t, copy_all_fields));
349 template <
typename Po
intT>
void
353 const Eigen::Matrix4f &transform,
354 bool copy_all_fields =
true)
356 return (transformPointCloudWithNormals<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
370 template <
typename Po
intT,
typename Scalar>
void
374 const Eigen::Matrix<Scalar, 4, 4> &transform,
375 bool copy_all_fields =
true)
377 Eigen::Transform<Scalar, 3, Eigen::Affine> t (transform);
378 return (transformPointCloudWithNormals<PointT, Scalar> (cloud_in, indices, cloud_out, t, copy_all_fields));
382 template <
typename Po
intT>
void
386 const Eigen::Matrix4f &transform,
387 bool copy_all_fields =
true)
389 return (transformPointCloudWithNormals<PointT, float> (cloud_in, indices, cloud_out, transform, copy_all_fields));
401 template <
typename Po
intT,
typename Scalar>
inline void
404 const Eigen::Matrix<Scalar, 3, 1> &offset,
405 const Eigen::Quaternion<Scalar> &rotation,
406 bool copy_all_fields =
true);
408 template <
typename Po
intT>
inline void
411 const Eigen::Vector3f &offset,
412 const Eigen::Quaternionf &rotation,
413 bool copy_all_fields =
true)
415 return (transformPointCloud<PointT, float> (cloud_in, cloud_out, offset, rotation, copy_all_fields));
428 template <
typename Po
intT,
typename Scalar>
inline void
431 const Eigen::Matrix<Scalar, 3, 1> &offset,
432 const Eigen::Quaternion<Scalar> &rotation,
433 bool copy_all_fields =
true);
435 template <
typename Po
intT>
void
438 const Eigen::Vector3f &offset,
439 const Eigen::Quaternionf &rotation,
440 bool copy_all_fields =
true)
442 return (transformPointCloudWithNormals<PointT, float> (cloud_in, cloud_out, offset, rotation, copy_all_fields));
451 template <
typename Po
intT,
typename Scalar>
inline PointT
453 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform);
455 template <
typename Po
intT>
inline PointT
457 const Eigen::Affine3f &transform)
459 return (transformPoint<PointT, float> (point, transform));
468 template <
typename Po
intT,
typename Scalar>
inline PointT
470 const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform);
472 template <
typename Po
intT>
inline PointT
474 const Eigen::Affine3f &transform)
476 return (transformPointWithNormal<PointT, float> (point, transform));
486 template <
typename Po
intT,
typename Scalar>
inline double
488 Eigen::Transform<Scalar, 3, Eigen::Affine> &transform);
490 template <
typename Po
intT>
inline double
492 Eigen::Affine3f &transform)
494 return (getPrincipalTransformation<PointT, float> (cloud, transform));
498 #include <pcl/common/impl/transforms.hpp>