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
16
namespace
crocoddyl {
17
18
template
<
typename
Scalar>
19
struct
DataCollectorContactTpl
:
virtual
DataCollectorAbstractTpl
<Scalar> {
20
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
21
22
DataCollectorContactTpl
(
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
30
template
<
typename
Scalar>
31
struct
DataCollectorMultibodyInContactTpl
:
DataCollectorMultibodyTpl
<Scalar>,
32
DataCollectorContactTpl
<Scalar> {
33
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34
35
DataCollectorMultibodyInContactTpl
(
36
pinocchio::DataTpl<Scalar>*
const
pinocchio,
37
std::shared_ptr<
ContactDataMultipleTpl<Scalar>
> contacts)
38
:
DataCollectorMultibodyTpl<Scalar>
(pinocchio),
39
DataCollectorContactTpl<Scalar>
(contacts) {}
40
virtual
~DataCollectorMultibodyInContactTpl
() {}
41
};
42
43
template
<
typename
Scalar>
44
struct
DataCollectorActMultibodyInContactTpl
45
:
DataCollectorMultibodyInContactTpl
<Scalar>,
46
DataCollectorActuationTpl
<Scalar> {
47
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
48
49
DataCollectorActMultibodyInContactTpl
(
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),
54
DataCollectorActuationTpl<Scalar>
(actuation) {}
55
virtual
~DataCollectorActMultibodyInContactTpl
() {}
56
};
57
58
template
<
typename
Scalar>
59
struct
DataCollectorJointActMultibodyInContactTpl
60
:
DataCollectorActMultibodyInContactTpl
<Scalar>,
61
DataCollectorJointTpl
<Scalar> {
62
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
63
64
DataCollectorJointActMultibodyInContactTpl
(
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)
69
:
DataCollectorActMultibodyInContactTpl<Scalar>
(pinocchio, actuation,
70
contacts),
71
DataCollectorJointTpl<Scalar>
(joint) {}
72
virtual
~DataCollectorJointActMultibodyInContactTpl
() {}
73
};
74
75
}
// namespace crocoddyl
76
77
CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
crocoddyl::DataCollectorContactTpl
)
78
CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
79
crocoddyl::DataCollectorMultibodyInContactTpl
)
80
CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
81
crocoddyl::DataCollectorActMultibodyInContactTpl
)
82
CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
83
crocoddyl::DataCollectorJointActMultibodyInContactTpl
)
84
85
#endif
// CROCODDYL_CORE_DATA_MULTIBODY_IN_CONTACT_HPP_
crocoddyl::ActuationDataAbstractTpl
Definition
actuation-base.hpp:179
crocoddyl::ContactDataMultipleTpl
Define the multi-contact data.
Definition
multiple-contacts.hpp:308
crocoddyl::DataCollectorAbstractTpl
Definition
data-collector-base.hpp:17
crocoddyl::DataCollectorActMultibodyInContactTpl
Definition
contacts.hpp:46
crocoddyl::DataCollectorActuationTpl
Definition
actuation.hpp:19
crocoddyl::DataCollectorContactTpl
Definition
contacts.hpp:19
crocoddyl::DataCollectorJointActMultibodyInContactTpl
Definition
contacts.hpp:61
crocoddyl::DataCollectorJointTpl
Definition
joint.hpp:69
crocoddyl::DataCollectorMultibodyInContactTpl
Definition
contacts.hpp:32
crocoddyl::DataCollectorMultibodyTpl
Definition
multibody.hpp:20
crocoddyl::JointDataAbstractTpl
Definition
joint.hpp:20
include
crocoddyl
multibody
data
contacts.hpp
Generated by
1.9.8