GCC Code Coverage Report


Directory: ./
File: include/crocoddyl/multibody/data/multibody.hpp
Date: 2025-06-03 08:14:12
Exec Total Coverage
Lines: 0 9 0.0%
Functions: 0 12 0.0%
Branches: 0 5 0.0%

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 "crocoddyl/core/data-collector-base.hpp"
13 #include "crocoddyl/core/data/actuation.hpp"
14 #include "crocoddyl/core/data/joint.hpp"
15 #include "crocoddyl/multibody/fwd.hpp"
16
17 namespace crocoddyl {
18
19 template <typename Scalar>
20 struct DataCollectorMultibodyTpl : virtual DataCollectorAbstractTpl<Scalar> {
21 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
22
23 DataCollectorMultibodyTpl(pinocchio::DataTpl<Scalar>* const data)
24 : pinocchio(data) {}
25 virtual ~DataCollectorMultibodyTpl() {}
26
27 pinocchio::DataTpl<Scalar>* pinocchio;
28 };
29
30 template <typename Scalar>
31 struct DataCollectorActMultibodyTpl : DataCollectorMultibodyTpl<Scalar>,
32 DataCollectorActuationTpl<Scalar> {
33 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34
35 DataCollectorActMultibodyTpl(
36 pinocchio::DataTpl<Scalar>* const pinocchio,
37 std::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation)
38 : DataCollectorMultibodyTpl<Scalar>(pinocchio),
39 DataCollectorActuationTpl<Scalar>(actuation) {}
40 virtual ~DataCollectorActMultibodyTpl() {}
41 };
42
43 template <typename Scalar>
44 struct DataCollectorJointActMultibodyTpl : DataCollectorActMultibodyTpl<Scalar>,
45 DataCollectorJointTpl<Scalar> {
46 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
47
48 DataCollectorJointActMultibodyTpl(
49 pinocchio::DataTpl<Scalar>* const pinocchio,
50 std::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation,
51 std::shared_ptr<JointDataAbstractTpl<Scalar> > joint)
52 : DataCollectorActMultibodyTpl<Scalar>(pinocchio, actuation),
53 DataCollectorJointTpl<Scalar>(joint) {}
54 virtual ~DataCollectorJointActMultibodyTpl() {}
55 };
56
57 } // namespace crocoddyl
58
59 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(crocoddyl::DataCollectorMultibodyTpl)
60 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
61 crocoddyl::DataCollectorActMultibodyTpl)
62 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
63 crocoddyl::DataCollectorJointActMultibodyTpl)
64
65 #endif // CROCODDYL_CORE_DATA_MULTIBODY_HPP_
66