Crocoddyl
multibody.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_MULTIBODY_HPP_
10 #define CROCODDYL_CORE_DATA_MULTIBODY_HPP_
11 
12 #include <pinocchio/multibody/data.hpp>
13 
14 #include "crocoddyl/core/data-collector-base.hpp"
15 #include "crocoddyl/core/data/actuation.hpp"
16 #include "crocoddyl/core/data/joint.hpp"
17 #include "crocoddyl/multibody/fwd.hpp"
18 
19 namespace crocoddyl {
20 
21 template <typename Scalar>
23  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
24 
25  DataCollectorMultibodyTpl(pinocchio::DataTpl<Scalar>* const data)
26  : pinocchio(data) {}
27  virtual ~DataCollectorMultibodyTpl() {}
28 
29  pinocchio::DataTpl<Scalar>* pinocchio;
30 };
31 
32 template <typename Scalar>
35  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
36 
38  pinocchio::DataTpl<Scalar>* const pinocchio,
39  boost::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation)
42  virtual ~DataCollectorActMultibodyTpl() {}
43 };
44 
45 template <typename Scalar>
47  DataCollectorJointTpl<Scalar> {
48  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
49 
51  pinocchio::DataTpl<Scalar>* const pinocchio,
52  boost::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation,
53  boost::shared_ptr<JointDataAbstractTpl<Scalar> > joint)
54  : DataCollectorActMultibodyTpl<Scalar>(pinocchio, actuation),
57 };
58 
59 } // namespace crocoddyl
60 
61 #endif // CROCODDYL_CORE_DATA_MULTIBODY_HPP_