GCC Code Coverage Report


Directory: ./
File: include/crocoddyl/multibody/data/contacts.hpp
Date: 2025-05-13 10:30:51
Exec Total Coverage
Lines: 0 12 0.0%
Branches: 0 17 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_CONTACTS_HPP_
10 #define CROCODDYL_CORE_DATA_CONTACTS_HPP_
11
12 #include "crocoddyl/multibody/contacts/multiple-contacts.hpp"
13 #include "crocoddyl/multibody/data/multibody.hpp"
14 #include "crocoddyl/multibody/fwd.hpp"
15
16 namespace crocoddyl {
17
18 template <typename Scalar>
19 struct DataCollectorContactTpl : virtual DataCollectorAbstractTpl<Scalar> {
20 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
21
22 DataCollectorContactTpl(
23 std::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
24 : DataCollectorAbstractTpl<Scalar>(), contacts(contacts) {}
25 virtual ~DataCollectorContactTpl() {}
26
27 std::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts;
28 };
29
30 template <typename Scalar>
31 struct DataCollectorMultibodyInContactTpl : DataCollectorMultibodyTpl<Scalar>,
32 DataCollectorContactTpl<Scalar> {
33 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34
35 DataCollectorMultibodyInContactTpl(
36 pinocchio::DataTpl<Scalar>* const pinocchio,
37 std::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
38 : DataCollectorMultibodyTpl<Scalar>(pinocchio),
39 DataCollectorContactTpl<Scalar>(contacts) {}
40 virtual ~DataCollectorMultibodyInContactTpl() {}
41 };
42
43 template <typename Scalar>
44 struct DataCollectorActMultibodyInContactTpl
45 : DataCollectorMultibodyInContactTpl<Scalar>,
46 DataCollectorActuationTpl<Scalar> {
47 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
48
49 DataCollectorActMultibodyInContactTpl(
50 pinocchio::DataTpl<Scalar>* const pinocchio,
51 std::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation,
52 std::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
53 : DataCollectorMultibodyInContactTpl<Scalar>(pinocchio, contacts),
54 DataCollectorActuationTpl<Scalar>(actuation) {}
55 virtual ~DataCollectorActMultibodyInContactTpl() {}
56 };
57
58 template <typename Scalar>
59 struct DataCollectorJointActMultibodyInContactTpl
60 : DataCollectorActMultibodyInContactTpl<Scalar>,
61 DataCollectorJointTpl<Scalar> {
62 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
63
64 DataCollectorJointActMultibodyInContactTpl(
65 pinocchio::DataTpl<Scalar>* const pinocchio,
66 std::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation,
67 std::shared_ptr<JointDataAbstractTpl<Scalar> > joint,
68 std::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
69 : DataCollectorActMultibodyInContactTpl<Scalar>(pinocchio, actuation,
70 contacts),
71 DataCollectorJointTpl<Scalar>(joint) {}
72 virtual ~DataCollectorJointActMultibodyInContactTpl() {}
73 };
74
75 } // namespace crocoddyl
76
77 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(crocoddyl::DataCollectorContactTpl)
78 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
79 crocoddyl::DataCollectorMultibodyInContactTpl)
80 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
81 crocoddyl::DataCollectorActMultibodyInContactTpl)
82 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
83 crocoddyl::DataCollectorJointActMultibodyInContactTpl)
84
85 #endif // CROCODDYL_CORE_DATA_MULTIBODY_IN_CONTACT_HPP_
86