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 <boost/shared_ptr.hpp>
13 
14 #include "crocoddyl/multibody/contacts/multiple-contacts.hpp"
15 #include "crocoddyl/multibody/data/multibody.hpp"
16 #include "crocoddyl/multibody/fwd.hpp"
17 
18 namespace crocoddyl {
19 
20 template <typename Scalar>
22  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
23 
25  boost::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
26  : DataCollectorAbstractTpl<Scalar>(), contacts(contacts) {}
27  virtual ~DataCollectorContactTpl() {}
28 
29  boost::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts;
30 };
31 
32 template <typename Scalar>
34  DataCollectorContactTpl<Scalar> {
35  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
36 
38  pinocchio::DataTpl<Scalar>* const pinocchio,
39  boost::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
43 };
44 
45 template <typename Scalar>
49  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
50 
52  pinocchio::DataTpl<Scalar>* const pinocchio,
53  boost::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation,
54  boost::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
55  : DataCollectorMultibodyInContactTpl<Scalar>(pinocchio, contacts),
58 };
59 
60 template <typename Scalar>
63  DataCollectorJointTpl<Scalar> {
64  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
65 
67  pinocchio::DataTpl<Scalar>* const pinocchio,
68  boost::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation,
69  boost::shared_ptr<JointDataAbstractTpl<Scalar> > joint,
70  boost::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
71  : DataCollectorActMultibodyInContactTpl<Scalar>(pinocchio, actuation,
72  contacts),
75 };
76 
77 } // namespace crocoddyl
78 
79 #endif // CROCODDYL_CORE_DATA_MULTIBODY_IN_CONTACT_HPP_
Define the multi-contact data.