9 #include <mrpt/poses/CPose3D.h>
10 #include <mrpt/poses/CPose3DPDFGaussian.h>
12 #if PACKAGE_ROS_VERSION == 1
13 #include <mrpt/ros1bridge/pose.h>
14 namespace m2r = mrpt::ros1bridge;
16 #include <mrpt/ros2bridge/pose.h>
17 namespace m2r = mrpt::ros2bridge;
22 out = m2r::toROS_Pose(m2r::fromROS(a) + m2r::fromROS(b));
28 using namespace mrpt::poses;
30 const CPose3DPDFGaussian A = m2r::fromROS(a);
31 const CPose3DPDFGaussian B = m2r::fromROS(b);
33 const CPose3DPDFGaussian OUT = A + B;
34 out = m2r::toROS_Pose(OUT);
39 using namespace mrpt::poses;
41 CPose3DPDFGaussian A = m2r::fromROS(a);
42 const CPose3D B = m2r::fromROS(b);
45 out = m2r::toROS_Pose(A);
50 using namespace mrpt::poses;
52 const CPose3D A = m2r::fromROS(a);
53 CPose3DPDFGaussian B = m2r::fromROS(b);
55 B.changeCoordinatesReference(A);
56 out = m2r::toROS_Pose(B);
62 using namespace mrpt::poses;
64 CPose3DPDFGaussian A = m2r::fromROS(a);
65 const CPose3D B = m2r::fromROS(b);
68 return m2r::toROS_Pose(A);
72 out = m2r::toROS_Pose(m2r::fromROS(a) - m2r::fromROS(b));
78 using namespace mrpt::poses;
80 const CPose3DPDFGaussian A = m2r::fromROS(a);
81 const CPose3DPDFGaussian B = m2r::fromROS(b);
83 const CPose3DPDFGaussian OUT = A - B;
84 out = m2r::toROS_Pose(OUT);
88 using namespace mrpt::poses;
89 using namespace mrpt::math;
91 const CPose3DPDFGaussian A = m2r::fromROS(a);
92 const CPose3D B_mean = m2r::fromROS(b);
94 const CPose3DPDFGaussian B(B_mean, CMatrixDouble66::Zero());
96 const CPose3DPDFGaussian OUT = A - B;
97 out = m2r::toROS_Pose(OUT);
102 using namespace mrpt::poses;
103 using namespace mrpt::math;
105 const CPose3D A_mean = m2r::fromROS(a);
106 const CPose3DPDFGaussian B = m2r::fromROS(b);
108 const CPose3DPDFGaussian A(A_mean, CMatrixDouble66::Zero());
110 const CPose3DPDFGaussian OUT = A - B;
111 out = m2r::toROS_Pose(OUT);
117 using namespace mrpt::poses;
118 using namespace mrpt::math;
120 const CPose3DPDFGaussian A = m2r::fromROS(a);
121 const CPose3D B_mean = m2r::fromROS(b);
123 const CPose3DPDFGaussian B(B_mean, CMatrixDouble66::Zero());
125 const CPose3DPDFGaussian OUT = A - B;
126 return m2r::toROS_Pose(OUT);