crocoddyl  1.7.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
contacts.hpp
1 // BSD 3-Clause License
3 //
4 // Copyright (C) 2019-2020, 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/fwd.hpp"
15 #include "crocoddyl/multibody/data/multibody.hpp"
16 #include "crocoddyl/multibody/contacts/multiple-contacts.hpp"
17 
18 namespace crocoddyl {
19 
20 template <typename Scalar>
22  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
23 
24  DataCollectorContactTpl<Scalar>(boost::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
25  : DataCollectorAbstractTpl<Scalar>(), contacts(contacts) {}
26  virtual ~DataCollectorContactTpl() {}
27 
28  boost::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts;
29 };
30 
31 template <typename Scalar>
33  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34 
35  DataCollectorMultibodyInContactTpl(pinocchio::DataTpl<Scalar>* const pinocchio,
36  boost::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
38  virtual ~DataCollectorMultibodyInContactTpl() {}
39 };
40 
41 template <typename Scalar>
44  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
45 
46  DataCollectorActMultibodyInContactTpl(pinocchio::DataTpl<Scalar>* const pinocchio,
47  boost::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation,
48  boost::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
49  : DataCollectorMultibodyInContactTpl<Scalar>(pinocchio, contacts),
51  virtual ~DataCollectorActMultibodyInContactTpl() {}
52 };
53 
54 } // namespace crocoddyl
55 
56 #endif // CROCODDYL_CORE_DATA_MULTIBODY_IN_CONTACT_HPP_
Define the multi-contact data.