Crocoddyl
 
Loading...
Searching...
No Matches
contacts.hpp
1
2// 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
16namespace crocoddyl {
17
18template <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
30template <typename Scalar>
33 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34
36 pinocchio::DataTpl<Scalar>* const pinocchio,
37 std::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts)
41};
42
43template <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
58template <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)
70 contacts),
73};
74
75} // namespace crocoddyl
76
77CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(crocoddyl::DataCollectorContactTpl)
78CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
80CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
82CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
84
85#endif // CROCODDYL_CORE_DATA_MULTIBODY_IN_CONTACT_HPP_
Define the multi-contact data.