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 "crocoddyl/core/data-collector-base.hpp"
13 #include "crocoddyl/core/data/actuation.hpp"
14 #include "crocoddyl/core/data/joint.hpp"
15 #include "crocoddyl/multibody/fwd.hpp"
16 
17 namespace crocoddyl {
18 
19 template <typename Scalar>
21  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
22 
23  DataCollectorMultibodyTpl(pinocchio::DataTpl<Scalar>* const data)
24  : pinocchio(data) {}
25  virtual ~DataCollectorMultibodyTpl() {}
26 
27  pinocchio::DataTpl<Scalar>* pinocchio;
28 };
29 
30 template <typename Scalar>
33  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34 
36  pinocchio::DataTpl<Scalar>* const pinocchio,
37  std::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation)
40  virtual ~DataCollectorActMultibodyTpl() {}
41 };
42 
43 template <typename Scalar>
45  DataCollectorJointTpl<Scalar> {
46  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
47 
49  pinocchio::DataTpl<Scalar>* const pinocchio,
50  std::shared_ptr<ActuationDataAbstractTpl<Scalar> > actuation,
51  std::shared_ptr<JointDataAbstractTpl<Scalar> > joint)
52  : DataCollectorActMultibodyTpl<Scalar>(pinocchio, actuation),
55 };
56 
57 } // namespace crocoddyl
58 
59 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(crocoddyl::DataCollectorMultibodyTpl)
60 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
62 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
64 
65 #endif // CROCODDYL_CORE_DATA_MULTIBODY_HPP_