GCC Code Coverage Report


Directory: ./
File: include/crocoddyl/multibody/data/multibody.hpp
Date: 2025-03-26 19:23:43
Exec Total Coverage
Lines: 9 9 100.0%
Branches: 5 11 45.5%

Line Branch Exec Source
1 ///////////////////////////////////////////////////////////////////////////////
2 // BSD 3-Clause License
3 //
4 // Copyright (C) 2019-2022, University of Edinburgh
5 // Copyright note valid unless otherwise stated in individual files.
6 // All rights reserved.
7 ///////////////////////////////////////////////////////////////////////////////
8
9 #ifndef CROCODDYL_CORE_DATA_MULTIBODY_HPP_
10 #define CROCODDYL_CORE_DATA_MULTIBODY_HPP_
11
12 #include <pinocchio/multibody/data.hpp>
13
14 #include "crocoddyl/core/data-collector-base.hpp"
15 #include "crocoddyl/core/data/actuation.hpp"
16 #include "crocoddyl/core/data/joint.hpp"
17 #include "crocoddyl/multibody/fwd.hpp"
18
19 namespace crocoddyl {
20
21 template <typename Scalar>
22 struct DataCollectorMultibodyTpl : virtual DataCollectorAbstractTpl<Scalar> {
23 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
24
25 196134 DataCollectorMultibodyTpl(pinocchio::DataTpl<Scalar>* const data)
26 196134 : pinocchio(data) {}
27 98079 virtual ~DataCollectorMultibodyTpl() {}
28
29 pinocchio::DataTpl<Scalar>* pinocchio;
30 };
31
32 template <typename Scalar>
33 struct DataCollectorActMultibodyTpl : DataCollectorMultibodyTpl<Scalar>,
34 DataCollectorActuationTpl<Scalar> {
35 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
36
37 41328 DataCollectorActMultibodyTpl(
38 pinocchio::DataTpl<Scalar>* const pinocchio,
39 std::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation)
40 : DataCollectorMultibodyTpl<Scalar>(pinocchio),
41
3/5
✓ Branch 2 taken 533 times.
✓ Branch 3 taken 20131 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 533 times.
✗ Branch 7 not taken.
41328 DataCollectorActuationTpl<Scalar>(actuation) {}
42 20660 virtual ~DataCollectorActMultibodyTpl() {}
43 };
44
45 template <typename Scalar>
46 struct DataCollectorJointActMultibodyTpl : DataCollectorActMultibodyTpl<Scalar>,
47 DataCollectorJointTpl<Scalar> {
48 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
49
50 40262 DataCollectorJointActMultibodyTpl(
51 pinocchio::DataTpl<Scalar>* const pinocchio,
52 std::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation,
53 std::shared_ptr<JointDataAbstractTpl<Scalar> > joint)
54 : DataCollectorActMultibodyTpl<Scalar>(pinocchio, actuation),
55
2/6
✗ Branch 2 not taken.
✓ Branch 3 taken 20131 times.
✗ Branch 4 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 20131 times.
✗ Branch 9 not taken.
40262 DataCollectorJointTpl<Scalar>(joint) {}
56 20125 virtual ~DataCollectorJointActMultibodyTpl() {}
57 };
58
59 } // namespace crocoddyl
60
61 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(crocoddyl::DataCollectorMultibodyTpl)
62 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
63 crocoddyl::DataCollectorActMultibodyTpl)
64 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
65 crocoddyl::DataCollectorJointActMultibodyTpl)
66
67 #endif // CROCODDYL_CORE_DATA_MULTIBODY_HPP_
68