GCC Code Coverage Report


Directory: ./
File: examples/overview-SE3.cpp
Date: 2025-02-12 21:03:38
Exec Total Coverage
Lines: 28 28 100.0%
Branches: 39 78 50.0%

Line Branch Exec Source
1 #include <iostream>
2 #include "pinocchio/multibody/liegroup/liegroup.hpp"
3
4 using namespace pinocchio;
5 1 int main()
6 {
7 typedef double Scalar;
8 typedef SpecialEuclideanOperationTpl<3, Scalar> SE3Operation;
9
10
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 SE3Operation aSE3;
11
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 SE3Operation::ConfigVector_t pose_s, pose_g;
12
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 SE3Operation::TangentVector_t delta_u;
13
14
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_s(0) = 1.0;
15
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_s(1) = 1.0;
16
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_s(2) = 1;
17
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_s(3) = -0.13795;
18
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_s(4) = 0.13795;
19
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_s(5) = 0.69352;
20
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_s(6) = 0.69352;
21
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_g(0) = 4;
22
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_g(1) = 3;
23
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_g(2) = 3;
24
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_g(3) = -0.46194;
25
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_g(4) = 0.331414;
26
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_g(5) = 0.800103;
27
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pose_g(6) = 0.191342;
28
29 // First normalize the inputs
30
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 aSE3.normalize(pose_s);
31
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
1 std::cout << "pose_s: " << pose_s.transpose() << std::endl;
32
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 aSE3.normalize(pose_g);
33
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
1 std::cout << "pose_g: " << pose_g.transpose() << std::endl;
34
35
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 aSE3.difference(pose_s, pose_g, delta_u);
36
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
1 std::cout << "delta_u: " << delta_u.transpose() << std::endl;
37
38
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 SE3Operation::ConfigVector_t pose_check;
39
40
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 aSE3.integrate(pose_s, delta_u, pose_check);
41
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
1 std::cout << "pose_check: " << pose_check.transpose() << std::endl;
42
43 1 return 0;
44 }
45