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 <memory>
13
14
#include "crocoddyl/multibody/contacts/multiple-contacts.hpp"
15
#include "crocoddyl/multibody/data/multibody.hpp"
16
#include "crocoddyl/multibody/fwd.hpp"
17
18
namespace
crocoddyl {
19
20
template
<
typename
Scalar>
21
struct
DataCollectorContactTpl
:
virtual
DataCollectorAbstractTpl
<Scalar> {
22
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
23
24
DataCollectorContactTpl<Scalar>
(
25
std::shared_ptr<
ContactDataMultipleTpl<Scalar>
> contacts)
26
:
DataCollectorAbstractTpl<Scalar>
(), contacts(contacts) {}
27
virtual
~DataCollectorContactTpl
() {}
28
29
std::shared_ptr<ContactDataMultipleTpl<Scalar> > contacts;
30
};
31
32
template
<
typename
Scalar>
33
struct
DataCollectorMultibodyInContactTpl
:
DataCollectorMultibodyTpl
<Scalar>,
34
DataCollectorContactTpl
<Scalar> {
35
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
36
37
DataCollectorMultibodyInContactTpl
(
38
pinocchio::DataTpl<Scalar>*
const
pinocchio,
39
std::shared_ptr<
ContactDataMultipleTpl<Scalar>
> contacts)
40
:
DataCollectorMultibodyTpl<Scalar>
(pinocchio),
41
DataCollectorContactTpl<Scalar>
(contacts) {}
42
virtual
~DataCollectorMultibodyInContactTpl
() {}
43
};
44
45
template
<
typename
Scalar>
46
struct
DataCollectorActMultibodyInContactTpl
47
:
DataCollectorMultibodyInContactTpl
<Scalar>,
48
DataCollectorActuationTpl
<Scalar> {
49
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
50
51
DataCollectorActMultibodyInContactTpl
(
52
pinocchio::DataTpl<Scalar>*
const
pinocchio,
53
std::shared_ptr<
ActuationDataAbstractTpl<Scalar>
> actuation,
54
std::shared_ptr<
ContactDataMultipleTpl<Scalar>
> contacts)
55
:
DataCollectorMultibodyInContactTpl<Scalar>
(pinocchio, contacts),
56
DataCollectorActuationTpl<Scalar>
(actuation) {}
57
virtual
~DataCollectorActMultibodyInContactTpl
() {}
58
};
59
60
template
<
typename
Scalar>
61
struct
DataCollectorJointActMultibodyInContactTpl
62
:
DataCollectorActMultibodyInContactTpl
<Scalar>,
63
DataCollectorJointTpl
<Scalar> {
64
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
65
66
DataCollectorJointActMultibodyInContactTpl
(
67
pinocchio::DataTpl<Scalar>*
const
pinocchio,
68
std::shared_ptr<
ActuationDataAbstractTpl<Scalar>
> actuation,
69
std::shared_ptr<
JointDataAbstractTpl<Scalar>
> joint,
70
std::shared_ptr<
ContactDataMultipleTpl<Scalar>
> contacts)
71
:
DataCollectorActMultibodyInContactTpl<Scalar>
(pinocchio, actuation,
72
contacts),
73
DataCollectorJointTpl<Scalar>
(joint) {}
74
virtual
~DataCollectorJointActMultibodyInContactTpl
() {}
75
};
76
77
}
// namespace crocoddyl
78
79
#endif
// CROCODDYL_CORE_DATA_MULTIBODY_IN_CONTACT_HPP_
crocoddyl::ActuationDataAbstractTpl
Definition
actuation-base.hpp:177
crocoddyl::ContactDataMultipleTpl
Define the multi-contact data.
Definition
multiple-contacts.hpp:295
crocoddyl::DataCollectorAbstractTpl
Definition
data-collector-base.hpp:19
crocoddyl::DataCollectorActMultibodyInContactTpl
Definition
contacts.hpp:48
crocoddyl::DataCollectorActuationTpl
Definition
actuation.hpp:21
crocoddyl::DataCollectorContactTpl
Definition
contacts.hpp:21
crocoddyl::DataCollectorJointActMultibodyInContactTpl
Definition
contacts.hpp:63
crocoddyl::DataCollectorJointTpl
Definition
joint.hpp:71
crocoddyl::DataCollectorMultibodyInContactTpl
Definition
contacts.hpp:34
crocoddyl::DataCollectorMultibodyTpl
Definition
multibody.hpp:22
crocoddyl::JointDataAbstractTpl
Definition
joint.hpp:22
include
crocoddyl
multibody
data
contacts.hpp
Generated by
1.9.8