10#ifndef CROCODDYL_CORE_FWD_HPP_
11#define CROCODDYL_CORE_FWD_HPP_
13#include "crocoddyl/core/pch.hpp"
17inline bool& enableMultithreading() {
18 static bool enable =
true;
22enum AssignmentOp { setto, addto, rmfrom };
24inline bool is_a_AssignmentOp(AssignmentOp op) {
25 return (op == setto || op == addto || op == rmfrom);
29template <
typename Scalar>
30class ActionModelAbstractTpl;
32template <
typename Scalar>
33struct ActionDataAbstractTpl;
35template <
typename Scalar>
36class ActionModelUnicycleTpl;
37template <
typename Scalar>
38struct ActionDataUnicycleTpl;
40template <
typename Scalar>
41class ActionModelLQRTpl;
42template <
typename Scalar>
43struct ActionDataLQRTpl;
46template <
typename Scalar>
47class DifferentialActionModelAbstractTpl;
48template <
typename Scalar>
49struct DifferentialActionDataAbstractTpl;
51template <
typename Scalar>
52class DifferentialActionModelLQRTpl;
53template <
typename Scalar>
54struct DifferentialActionDataLQRTpl;
57template <
typename Scalar>
58class IntegratedActionModelAbstractTpl;
59template <
typename Scalar>
60struct IntegratedActionDataAbstractTpl;
62template <
typename Scalar>
63class IntegratedActionModelEulerTpl;
64template <
typename Scalar>
65struct IntegratedActionDataEulerTpl;
67template <
typename Scalar>
68class IntegratedActionModelRKTpl;
69template <
typename Scalar>
70struct IntegratedActionDataRKTpl;
73template <
typename Scalar>
74class ResidualModelAbstractTpl;
75template <
typename Scalar>
76struct ResidualDataAbstractTpl;
79template <
typename Scalar>
80struct ActivationBoundsTpl;
81template <
typename Scalar>
82class ActivationModelQuadraticBarrierTpl;
83template <
typename Scalar>
84struct ActivationDataQuadraticBarrierTpl;
86template <
typename Scalar>
87class ActivationModelWeightedQuadraticBarrierTpl;
89template <
typename Scalar>
90class ActivationModelQuadTpl;
92template <
typename Scalar>
93class ActivationModelQuadFlatExpTpl;
94template <
typename Scalar>
95struct ActivationDataQuadFlatExpTpl;
97template <
typename Scalar>
98class ActivationModelQuadFlatLogTpl;
99template <
typename Scalar>
100struct ActivationDataQuadFlatLogTpl;
102template <
typename Scalar>
103class ActivationModelWeightedQuadTpl;
104template <
typename Scalar>
105struct ActivationDataWeightedQuadTpl;
107template <
typename Scalar>
108class ActivationModelSmooth1NormTpl;
109template <
typename Scalar>
110struct ActivationDataSmooth1NormTpl;
112template <
typename Scalar>
113class ActivationModelSmooth2NormTpl;
114template <
typename Scalar>
117template <
typename Scalar>
119template <
typename Scalar>
122template <
typename Scalar>
124template <
typename Scalar>
128template <
typename Scalar>
131template <
typename Scalar>
135template <
typename Scalar>
137template <
typename Scalar>
140template <
typename Scalar>
143template <
typename Scalar>
145template <
typename Scalar>
148template <
typename Scalar>
150template <
typename Scalar>
154template <
typename Scalar>
156template <
typename Scalar>
159template <
typename Scalar>
161template <
typename Scalar>
165template <
typename Scalar>
167template <
typename Scalar>
170template <
typename Scalar>
174template <
typename Scalar>
178template <
typename Scalar>
181template <
typename Scalar>
184template <
typename Scalar>
187template <
typename Scalar>
191template <
typename Scalar>
193template <
typename Scalar>
196template <
typename Scalar>
198template <
typename Scalar>
201template <
typename Scalar>
203template <
typename Scalar>
207template <
typename Scalar>
209template <
typename Scalar>
212template <
typename Scalar>
214template <
typename Scalar>
216template <
typename Scalar>
219template <
typename Scalar>
221template <
typename Scalar>
225template <
typename Scalar>
227template <
typename Scalar>
230template <
typename Scalar>
232template <
typename Scalar>
234template <
typename Scalar>
237template <
typename Scalar>
239template <
typename Scalar>
243template <
typename Scalar>
247template <
typename Scalar>
249template <
typename Scalar>
252template <
typename Scalar>
254template <
typename Scalar>
257template <
typename Scalar>
259template <
typename Scalar>
262template <
typename Scalar>
264template <
typename Scalar>
267template <
typename Scalar>
269template <
typename Scalar>
272template <
typename Scalar>
274template <
typename Scalar>
277template <
typename Scalar>
280template <
typename Scalar>
282template <
typename Scalar>
285template <
typename Scalar>
287template <
typename Scalar>
290template <
typename Scalar>
293template <
typename Scalar>
343 "Use ActivationModelSmooth1Norm",
346 "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.