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) {
24 return (op == setto || op == addto || op == rmfrom);
28template <
typename Scalar>
29class ActionModelAbstractTpl;
31template <
typename Scalar>
32struct ActionDataAbstractTpl;
34template <
typename Scalar>
35class ActionModelUnicycleTpl;
36template <
typename Scalar>
37struct ActionDataUnicycleTpl;
39template <
typename Scalar>
40class ActionModelLQRTpl;
41template <
typename Scalar>
42struct ActionDataLQRTpl;
45template <
typename Scalar>
46class DifferentialActionModelAbstractTpl;
47template <
typename Scalar>
48struct DifferentialActionDataAbstractTpl;
50template <
typename Scalar>
51class DifferentialActionModelLQRTpl;
52template <
typename Scalar>
53struct DifferentialActionDataLQRTpl;
56template <
typename Scalar>
57class IntegratedActionModelAbstractTpl;
58template <
typename Scalar>
59struct IntegratedActionDataAbstractTpl;
61template <
typename Scalar>
62class IntegratedActionModelEulerTpl;
63template <
typename Scalar>
64struct IntegratedActionDataEulerTpl;
66template <
typename Scalar>
67class IntegratedActionModelRKTpl;
68template <
typename Scalar>
69struct IntegratedActionDataRKTpl;
71template <
typename Scalar>
72class IntegratedActionModelRK4Tpl;
73template <
typename Scalar>
74struct IntegratedActionDataRK4Tpl;
77template <
typename Scalar>
78class ResidualModelAbstractTpl;
79template <
typename Scalar>
80struct ResidualDataAbstractTpl;
83template <
typename Scalar>
84struct ActivationBoundsTpl;
85template <
typename Scalar>
86class ActivationModelQuadraticBarrierTpl;
87template <
typename Scalar>
88struct ActivationDataQuadraticBarrierTpl;
90template <
typename Scalar>
91class ActivationModelWeightedQuadraticBarrierTpl;
93template <
typename Scalar>
94class ActivationModelQuadTpl;
96template <
typename Scalar>
97class ActivationModelQuadFlatExpTpl;
98template <
typename Scalar>
99struct ActivationDataQuadFlatExpTpl;
101template <
typename Scalar>
102class ActivationModelQuadFlatLogTpl;
103template <
typename Scalar>
104struct ActivationDataQuadFlatLogTpl;
106template <
typename Scalar>
107class ActivationModelWeightedQuadTpl;
108template <
typename Scalar>
109struct ActivationDataWeightedQuadTpl;
111template <
typename Scalar>
112class ActivationModelSmooth1NormTpl;
113template <
typename Scalar>
114struct ActivationDataSmooth1NormTpl;
116template <
typename Scalar>
117class ActivationModelSmooth2NormTpl;
118template <
typename Scalar>
121template <
typename Scalar>
123template <
typename Scalar>
126template <
typename Scalar>
128template <
typename Scalar>
132template <
typename Scalar>
135template <
typename Scalar>
139template <
typename Scalar>
141template <
typename Scalar>
144template <
typename Scalar>
147template <
typename Scalar>
149template <
typename Scalar>
152template <
typename Scalar>
154template <
typename Scalar>
158template <
typename Scalar>
160template <
typename Scalar>
163template <
typename Scalar>
165template <
typename Scalar>
169template <
typename Scalar>
171template <
typename Scalar>
174template <
typename Scalar>
178template <
typename Scalar>
182template <
typename Scalar>
185template <
typename Scalar>
188template <
typename Scalar>
191template <
typename Scalar>
195template <
typename Scalar>
197template <
typename Scalar>
200template <
typename Scalar>
202template <
typename Scalar>
205template <
typename Scalar>
207template <
typename Scalar>
211template <
typename Scalar>
213template <
typename Scalar>
216template <
typename Scalar>
218template <
typename Scalar>
220template <
typename Scalar>
223template <
typename Scalar>
225template <
typename Scalar>
229template <
typename Scalar>
231template <
typename Scalar>
234template <
typename Scalar>
236template <
typename Scalar>
238template <
typename Scalar>
241template <
typename Scalar>
243template <
typename Scalar>
247template <
typename Scalar>
251template <
typename Scalar>
253template <
typename Scalar>
256template <
typename Scalar>
258template <
typename Scalar>
261template <
typename Scalar>
263template <
typename Scalar>
266template <
typename Scalar>
268template <
typename Scalar>
271template <
typename Scalar>
273template <
typename Scalar>
276template <
typename Scalar>
279template <
typename Scalar>
281template <
typename Scalar>
284template <
typename Scalar>
286template <
typename Scalar>
289template <
typename Scalar>
292template <
typename Scalar>
317 "Use IntegratedActionModelRK",
319DEPRECATED(
"Use IntegratedActionModelRK",
347 "Use ActivationModelSmooth1Norm",
350 "Use ActivationDataSmooth1Norm",
Abstract class for action model.
Linear-quadratic regulator (LQR) 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 constraint models.
Manage the individual constraint models.
This class computes the numerical differentiation of a constraint model.
Residual-based constraint.
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.
Linear-quadratic regulator (LQR) 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.
Define a joint-acceleration residual.
Define a joint-effort residual.
This class computes the numerical differentiation of a residual model.
This class encapsulates a shooting problem.
Abstract class for the state representation.