Crocoddyl
contacts.hpp
1 // 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.
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>
20  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
21 
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>
32  DataCollectorContactTpl<Scalar> {
33  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34 
36  pinocchio::DataTpl<Scalar>* const pinocchio,
37  std::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
41 };
42 
43 template <typename Scalar>
47  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
48 
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),
56 };
57 
58 template <typename Scalar>
61  DataCollectorJointTpl<Scalar> {
62  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
63 
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),
73 };
74 
75 } // namespace crocoddyl
76 
77 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(crocoddyl::DataCollectorContactTpl)
78 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
80 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
82 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
84 
85 #endif // CROCODDYL_CORE_DATA_MULTIBODY_IN_CONTACT_HPP_
Define the multi-contact data.