9#ifndef CROCODDYL_CORE_FWD_HPP_
10#define CROCODDYL_CORE_FWD_HPP_
12#include "crocoddyl/core/utils/deprecate.hpp"
16inline bool& enableMultithreading() {
17 static bool enable =
true;
21enum AssignmentOp { setto, addto, rmfrom };
23inline bool is_a_AssignmentOp(AssignmentOp op) {
return (op == setto || op == addto || op == rmfrom); }
26template <
typename Scalar>
27class ActionModelAbstractTpl;
29template <
typename Scalar>
30struct ActionDataAbstractTpl;
32template <
typename Scalar>
33class ActionModelUnicycleTpl;
34template <
typename Scalar>
35struct ActionDataUnicycleTpl;
37template <
typename Scalar>
38class ActionModelLQRTpl;
39template <
typename Scalar>
40struct ActionDataLQRTpl;
43template <
typename Scalar>
44class DifferentialActionModelAbstractTpl;
45template <
typename Scalar>
46struct DifferentialActionDataAbstractTpl;
48template <
typename Scalar>
49class DifferentialActionModelLQRTpl;
50template <
typename Scalar>
51struct DifferentialActionDataLQRTpl;
54template <
typename Scalar>
55class IntegratedActionModelAbstractTpl;
56template <
typename Scalar>
57struct IntegratedActionDataAbstractTpl;
59template <
typename Scalar>
60class IntegratedActionModelEulerTpl;
61template <
typename Scalar>
62struct IntegratedActionDataEulerTpl;
64template <
typename Scalar>
65class IntegratedActionModelRKTpl;
66template <
typename Scalar>
67struct IntegratedActionDataRKTpl;
69template <
typename Scalar>
70class IntegratedActionModelRK4Tpl;
71template <
typename Scalar>
72struct IntegratedActionDataRK4Tpl;
75template <
typename Scalar>
76class ResidualModelAbstractTpl;
77template <
typename Scalar>
78struct ResidualDataAbstractTpl;
81template <
typename Scalar>
82struct ActivationBoundsTpl;
83template <
typename Scalar>
84class ActivationModelQuadraticBarrierTpl;
85template <
typename Scalar>
86struct ActivationDataQuadraticBarrierTpl;
88template <
typename Scalar>
89class ActivationModelWeightedQuadraticBarrierTpl;
91template <
typename Scalar>
92class ActivationModelQuadTpl;
94template <
typename Scalar>
95class ActivationModelQuadFlatExpTpl;
96template <
typename Scalar>
97struct ActivationDataQuadFlatExpTpl;
99template <
typename Scalar>
100class ActivationModelQuadFlatLogTpl;
101template <
typename Scalar>
102struct ActivationDataQuadFlatLogTpl;
104template <
typename Scalar>
105class ActivationModelWeightedQuadTpl;
106template <
typename Scalar>
107struct ActivationDataWeightedQuadTpl;
109template <
typename Scalar>
110class ActivationModelSmooth1NormTpl;
111template <
typename Scalar>
112struct ActivationDataSmooth1NormTpl;
114template <
typename Scalar>
115class ActivationModelSmooth2NormTpl;
116template <
typename Scalar>
119template <
typename Scalar>
121template <
typename Scalar>
124template <
typename Scalar>
126template <
typename Scalar>
130template <
typename Scalar>
133template <
typename Scalar>
137template <
typename Scalar>
139template <
typename Scalar>
142template <
typename Scalar>
145template <
typename Scalar>
147template <
typename Scalar>
150template <
typename Scalar>
152template <
typename Scalar>
156template <
typename Scalar>
158template <
typename Scalar>
161template <
typename Scalar>
163template <
typename Scalar>
167template <
typename Scalar>
169template <
typename Scalar>
172template <
typename Scalar>
176template <
typename Scalar>
179template <
typename Scalar>
183template <
typename Scalar>
185template <
typename Scalar>
189template <
typename Scalar>
191template <
typename Scalar>
194template <
typename Scalar>
196template <
typename Scalar>
198template <
typename Scalar>
201template <
typename Scalar>
203template <
typename Scalar>
206template <
typename Scalar>
210template <
typename Scalar>
214template <
typename Scalar>
216template <
typename Scalar>
219template <
typename Scalar>
221template <
typename Scalar>
224template <
typename Scalar>
226template <
typename Scalar>
229template <
typename Scalar>
231template <
typename Scalar>
234template <
typename Scalar>
237template <
typename Scalar>
239template <
typename Scalar>
242template <
typename Scalar>
244template <
typename Scalar>
247template <
typename Scalar>
250template <
typename Scalar>
Abstract class for action model.
This class computes the numerical differentiation of an action model.
2-norm barrier activation
Quadratic-flat-log activation.
Abstract class for the actuation-mapping model.
This class computes the numerical differentiation of an actuation model.
Abstract class for the control trajectory parametrization.
A polynomial function of time of degree one, that is a linear function.
A polynomial function of time of degree two, that is a quadratic function.
A polynomial function of time of degree zero, that is a constant.
Abstract class for cost models.
Summation of individual cost models.
Abstract class for differential action model.
This class computes the numerical differentiation of a differential action model.
Abstract class for an integrated action model.
Symplectic Euler integrator.
Abstract class for residual models.
Define a control residual.
This class computes the numerical differentiation of a residual model.
This class encapsulates a shooting problem.
Abstract class for the state representation.