Directory: | ./ |
---|---|
File: | include/crocoddyl/core/fwd.hpp |
Date: | 2025-01-30 11:01:55 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 4 | 4 | 100.0% |
Branches: | 3 | 6 | 50.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /////////////////////////////////////////////////////////////////////////////// | ||
2 | // BSD 3-Clause License | ||
3 | // | ||
4 | // Copyright (C) 2019-2022, LAAS-CNRS, University of Edinburgh | ||
5 | // Copyright note valid unless otherwise stated in individual files. | ||
6 | // All rights reserved. | ||
7 | /////////////////////////////////////////////////////////////////////////////// | ||
8 | |||
9 | #ifndef CROCODDYL_CORE_FWD_HPP_ | ||
10 | #define CROCODDYL_CORE_FWD_HPP_ | ||
11 | |||
12 | #include "crocoddyl/core/utils/deprecate.hpp" | ||
13 | |||
14 | namespace crocoddyl { | ||
15 | |||
16 | 481 | inline bool& enableMultithreading() { | |
17 | static bool enable = true; | ||
18 | 481 | return enable; | |
19 | } | ||
20 | |||
21 | enum AssignmentOp { setto, addto, rmfrom }; | ||
22 | |||
23 | 115775 | inline bool is_a_AssignmentOp(AssignmentOp op) { | |
24 |
3/6✓ Branch 0 taken 24129 times.
✓ Branch 1 taken 91646 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 24129 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
115775 | return (op == setto || op == addto || op == rmfrom); |
25 | } | ||
26 | |||
27 | // action | ||
28 | template <typename Scalar> | ||
29 | class ActionModelAbstractTpl; | ||
30 | |||
31 | template <typename Scalar> | ||
32 | struct ActionDataAbstractTpl; | ||
33 | |||
34 | template <typename Scalar> | ||
35 | class ActionModelUnicycleTpl; | ||
36 | template <typename Scalar> | ||
37 | struct ActionDataUnicycleTpl; | ||
38 | |||
39 | template <typename Scalar> | ||
40 | class ActionModelLQRTpl; | ||
41 | template <typename Scalar> | ||
42 | struct ActionDataLQRTpl; | ||
43 | |||
44 | // differential action | ||
45 | template <typename Scalar> | ||
46 | class DifferentialActionModelAbstractTpl; | ||
47 | template <typename Scalar> | ||
48 | struct DifferentialActionDataAbstractTpl; | ||
49 | |||
50 | template <typename Scalar> | ||
51 | class DifferentialActionModelLQRTpl; | ||
52 | template <typename Scalar> | ||
53 | struct DifferentialActionDataLQRTpl; | ||
54 | |||
55 | // integrated action | ||
56 | template <typename Scalar> | ||
57 | class IntegratedActionModelAbstractTpl; | ||
58 | template <typename Scalar> | ||
59 | struct IntegratedActionDataAbstractTpl; | ||
60 | |||
61 | template <typename Scalar> | ||
62 | class IntegratedActionModelEulerTpl; | ||
63 | template <typename Scalar> | ||
64 | struct IntegratedActionDataEulerTpl; | ||
65 | |||
66 | template <typename Scalar> | ||
67 | class IntegratedActionModelRKTpl; | ||
68 | template <typename Scalar> | ||
69 | struct IntegratedActionDataRKTpl; | ||
70 | |||
71 | template <typename Scalar> | ||
72 | class IntegratedActionModelRK4Tpl; | ||
73 | template <typename Scalar> | ||
74 | struct IntegratedActionDataRK4Tpl; | ||
75 | |||
76 | // residual | ||
77 | template <typename Scalar> | ||
78 | class ResidualModelAbstractTpl; | ||
79 | template <typename Scalar> | ||
80 | struct ResidualDataAbstractTpl; | ||
81 | |||
82 | // activation | ||
83 | template <typename Scalar> | ||
84 | struct ActivationBoundsTpl; | ||
85 | template <typename Scalar> | ||
86 | class ActivationModelQuadraticBarrierTpl; | ||
87 | template <typename Scalar> | ||
88 | struct ActivationDataQuadraticBarrierTpl; | ||
89 | |||
90 | template <typename Scalar> | ||
91 | class ActivationModelWeightedQuadraticBarrierTpl; | ||
92 | |||
93 | template <typename Scalar> | ||
94 | class ActivationModelQuadTpl; | ||
95 | |||
96 | template <typename Scalar> | ||
97 | class ActivationModelQuadFlatExpTpl; | ||
98 | template <typename Scalar> | ||
99 | struct ActivationDataQuadFlatExpTpl; | ||
100 | |||
101 | template <typename Scalar> | ||
102 | class ActivationModelQuadFlatLogTpl; | ||
103 | template <typename Scalar> | ||
104 | struct ActivationDataQuadFlatLogTpl; | ||
105 | |||
106 | template <typename Scalar> | ||
107 | class ActivationModelWeightedQuadTpl; | ||
108 | template <typename Scalar> | ||
109 | struct ActivationDataWeightedQuadTpl; | ||
110 | |||
111 | template <typename Scalar> | ||
112 | class ActivationModelSmooth1NormTpl; | ||
113 | template <typename Scalar> | ||
114 | struct ActivationDataSmooth1NormTpl; | ||
115 | |||
116 | template <typename Scalar> | ||
117 | class ActivationModelSmooth2NormTpl; | ||
118 | template <typename Scalar> | ||
119 | struct ActivationDataSmooth2NormTpl; | ||
120 | |||
121 | template <typename Scalar> | ||
122 | class ActivationModel2NormBarrierTpl; | ||
123 | template <typename Scalar> | ||
124 | struct ActivationData2NormBarrierTpl; | ||
125 | |||
126 | template <typename Scalar> | ||
127 | class ActivationModelAbstractTpl; | ||
128 | template <typename Scalar> | ||
129 | struct ActivationDataAbstractTpl; | ||
130 | |||
131 | // state | ||
132 | template <typename Scalar> | ||
133 | class StateAbstractTpl; | ||
134 | |||
135 | template <typename Scalar> | ||
136 | class StateVectorTpl; | ||
137 | |||
138 | // control | ||
139 | template <typename Scalar> | ||
140 | class ControlParametrizationModelAbstractTpl; | ||
141 | template <typename Scalar> | ||
142 | struct ControlParametrizationDataAbstractTpl; | ||
143 | |||
144 | template <typename Scalar> | ||
145 | class ControlParametrizationModelPolyZeroTpl; | ||
146 | |||
147 | template <typename Scalar> | ||
148 | class ControlParametrizationModelPolyOneTpl; | ||
149 | template <typename Scalar> | ||
150 | struct ControlParametrizationDataPolyOneTpl; | ||
151 | |||
152 | template <typename Scalar> | ||
153 | class ControlParametrizationModelPolyTwoRKTpl; | ||
154 | template <typename Scalar> | ||
155 | struct ControlParametrizationDataPolyTwoRKTpl; | ||
156 | |||
157 | // actuation | ||
158 | template <typename Scalar> | ||
159 | class ActuationModelAbstractTpl; | ||
160 | template <typename Scalar> | ||
161 | struct ActuationDataAbstractTpl; | ||
162 | |||
163 | template <typename Scalar> | ||
164 | class ActuationSquashingModelTpl; | ||
165 | template <typename Scalar> | ||
166 | struct ActuationSquashingDataTpl; | ||
167 | |||
168 | // squashing | ||
169 | template <typename Scalar> | ||
170 | class SquashingModelAbstractTpl; | ||
171 | template <typename Scalar> | ||
172 | struct SquashingDataAbstractTpl; | ||
173 | |||
174 | template <typename Scalar> | ||
175 | class SquashingModelSmoothSatTpl; | ||
176 | |||
177 | // joint | ||
178 | template <typename Scalar> | ||
179 | struct JointDataAbstractTpl; | ||
180 | |||
181 | // data collector | ||
182 | template <typename Scalar> | ||
183 | struct DataCollectorAbstractTpl; | ||
184 | |||
185 | template <typename Scalar> | ||
186 | struct DataCollectorActuationTpl; | ||
187 | |||
188 | template <typename Scalar> | ||
189 | struct DataCollectorJointTpl; | ||
190 | |||
191 | template <typename Scalar> | ||
192 | struct DataCollectorJointActuationTpl; | ||
193 | |||
194 | // residual | ||
195 | template <typename Scalar> | ||
196 | class ResidualModelControlTpl; | ||
197 | template <typename Scalar> | ||
198 | struct ResidualDataControlTpl; | ||
199 | |||
200 | template <typename Scalar> | ||
201 | class ResidualModelJointEffortTpl; | ||
202 | template <typename Scalar> | ||
203 | struct ResidualDataJointEffortTpl; | ||
204 | |||
205 | template <typename Scalar> | ||
206 | class ResidualModelJointAccelerationTpl; | ||
207 | template <typename Scalar> | ||
208 | struct ResidualDataJointAccelerationTpl; | ||
209 | |||
210 | // cost | ||
211 | template <typename Scalar> | ||
212 | class CostModelAbstractTpl; | ||
213 | template <typename Scalar> | ||
214 | struct CostDataAbstractTpl; | ||
215 | |||
216 | template <typename Scalar> | ||
217 | struct CostItemTpl; | ||
218 | template <typename Scalar> | ||
219 | class CostModelSumTpl; | ||
220 | template <typename Scalar> | ||
221 | struct CostDataSumTpl; | ||
222 | |||
223 | template <typename Scalar> | ||
224 | class CostModelResidualTpl; | ||
225 | template <typename Scalar> | ||
226 | struct CostDataResidualTpl; | ||
227 | |||
228 | // constraint | ||
229 | template <typename Scalar> | ||
230 | class ConstraintModelAbstractTpl; | ||
231 | template <typename Scalar> | ||
232 | struct ConstraintDataAbstractTpl; | ||
233 | |||
234 | template <typename Scalar> | ||
235 | struct ConstraintItemTpl; | ||
236 | template <typename Scalar> | ||
237 | class ConstraintModelManagerTpl; | ||
238 | template <typename Scalar> | ||
239 | struct ConstraintDataManagerTpl; | ||
240 | |||
241 | template <typename Scalar> | ||
242 | class ConstraintModelResidualTpl; | ||
243 | template <typename Scalar> | ||
244 | struct ConstraintDataResidualTpl; | ||
245 | |||
246 | // shooting | ||
247 | template <typename Scalar> | ||
248 | class ShootingProblemTpl; | ||
249 | |||
250 | // Numdiff | ||
251 | template <typename Scalar> | ||
252 | class ActionModelNumDiffTpl; | ||
253 | template <typename Scalar> | ||
254 | struct ActionDataNumDiffTpl; | ||
255 | |||
256 | template <typename Scalar> | ||
257 | class DifferentialActionModelNumDiffTpl; | ||
258 | template <typename Scalar> | ||
259 | struct DifferentialActionDataNumDiffTpl; | ||
260 | |||
261 | template <typename Scalar> | ||
262 | class ActivationModelNumDiffTpl; | ||
263 | template <typename Scalar> | ||
264 | struct ActivationDataNumDiffTpl; | ||
265 | |||
266 | template <typename Scalar> | ||
267 | class ResidualModelNumDiffTpl; | ||
268 | template <typename Scalar> | ||
269 | struct ResidualDataNumDiffTpl; | ||
270 | |||
271 | template <typename Scalar> | ||
272 | class ConstraintModelNumDiffTpl; | ||
273 | template <typename Scalar> | ||
274 | struct ConstraintDataNumDiffTpl; | ||
275 | |||
276 | template <typename Scalar> | ||
277 | class StateNumDiffTpl; | ||
278 | |||
279 | template <typename Scalar> | ||
280 | class ControlParametrizationModelNumDiffTpl; | ||
281 | template <typename Scalar> | ||
282 | struct ControlParametrizationDataNumDiffTpl; | ||
283 | |||
284 | template <typename Scalar> | ||
285 | class ActuationModelNumDiffTpl; | ||
286 | template <typename Scalar> | ||
287 | struct ActuationDataNumDiffTpl; | ||
288 | |||
289 | template <typename Scalar> | ||
290 | class ActionModelCodeGenTpl; | ||
291 | |||
292 | template <typename Scalar> | ||
293 | struct ActionDataCodeGenTpl; | ||
294 | |||
295 | /********************Template Instantiation*************/ | ||
296 | typedef ActionModelAbstractTpl<double> ActionModelAbstract; | ||
297 | typedef ActionDataAbstractTpl<double> ActionDataAbstract; | ||
298 | typedef ActionModelUnicycleTpl<double> ActionModelUnicycle; | ||
299 | typedef ActionDataUnicycleTpl<double> ActionDataUnicycle; | ||
300 | typedef ActionModelLQRTpl<double> ActionModelLQR; | ||
301 | typedef ActionDataLQRTpl<double> ActionDataLQR; | ||
302 | |||
303 | typedef DifferentialActionModelAbstractTpl<double> | ||
304 | DifferentialActionModelAbstract; | ||
305 | typedef DifferentialActionDataAbstractTpl<double> | ||
306 | DifferentialActionDataAbstract; | ||
307 | typedef DifferentialActionModelLQRTpl<double> DifferentialActionModelLQR; | ||
308 | typedef DifferentialActionDataLQRTpl<double> DifferentialActionDataLQR; | ||
309 | |||
310 | typedef IntegratedActionModelAbstractTpl<double> IntegratedActionModelAbstract; | ||
311 | typedef IntegratedActionDataAbstractTpl<double> IntegratedActionDataAbstract; | ||
312 | typedef IntegratedActionModelEulerTpl<double> IntegratedActionModelEuler; | ||
313 | typedef IntegratedActionDataEulerTpl<double> IntegratedActionDataEuler; | ||
314 | typedef IntegratedActionModelRKTpl<double> IntegratedActionModelRK; | ||
315 | typedef IntegratedActionDataRKTpl<double> IntegratedActionDataRK; | ||
316 | DEPRECATED( | ||
317 | "Use IntegratedActionModelRK", | ||
318 | typedef IntegratedActionModelRK4Tpl<double> IntegratedActionModelRK4;) | ||
319 | DEPRECATED("Use IntegratedActionModelRK", | ||
320 | typedef IntegratedActionDataRK4Tpl<double> IntegratedActionDataRK4;) | ||
321 | |||
322 | typedef ResidualModelAbstractTpl<double> ResidualModelAbstract; | ||
323 | typedef ResidualDataAbstractTpl<double> ResidualDataAbstract; | ||
324 | typedef ResidualModelControlTpl<double> ResidualModelControl; | ||
325 | typedef ResidualDataControlTpl<double> ResidualDataControl; | ||
326 | typedef ResidualModelJointEffortTpl<double> ResidualModelJointEffort; | ||
327 | typedef ResidualDataJointEffortTpl<double> ResidualDataJointEffort; | ||
328 | typedef ResidualModelJointAccelerationTpl<double> | ||
329 | ResidualModelJointAcceleration; | ||
330 | typedef ResidualDataJointAccelerationTpl<double> ResidualDataJointAcceleration; | ||
331 | |||
332 | typedef ActivationDataQuadraticBarrierTpl<double> | ||
333 | ActivationDataQuadraticBarrier; | ||
334 | typedef ActivationModelQuadraticBarrierTpl<double> | ||
335 | ActivationModelQuadraticBarrier; | ||
336 | typedef ActivationBoundsTpl<double> ActivationBounds; | ||
337 | typedef ActivationModelWeightedQuadraticBarrierTpl<double> | ||
338 | ActivationModelWeightedQuadraticBarrier; | ||
339 | typedef ActivationModelQuadTpl<double> ActivationModelQuad; | ||
340 | typedef ActivationModelQuadFlatExpTpl<double> ActivationModelQuadFlatExp; | ||
341 | typedef ActivationDataQuadFlatExpTpl<double> ActivationDataQuadFlatExp; | ||
342 | typedef ActivationModelQuadFlatLogTpl<double> ActivationModelQuadFlatLog; | ||
343 | typedef ActivationDataQuadFlatLogTpl<double> ActivationDataQuadFlatLog; | ||
344 | typedef ActivationModelWeightedQuadTpl<double> ActivationModelWeightedQuad; | ||
345 | typedef ActivationDataWeightedQuadTpl<double> ActivationDataWeightedQuad; | ||
346 | DEPRECATED( | ||
347 | "Use ActivationModelSmooth1Norm", | ||
348 | typedef ActivationModelSmooth1NormTpl<double> ActivationModelSmoothAbs;) | ||
349 | DEPRECATED( | ||
350 | "Use ActivationDataSmooth1Norm", | ||
351 | typedef ActivationDataSmooth1NormTpl<double> ActivationDataSmoothAbs;) | ||
352 | typedef ActivationModelSmooth1NormTpl<double> ActivationModelSmooth1Norm; | ||
353 | typedef ActivationDataSmooth1NormTpl<double> ActivationDataSmooth1Norm; | ||
354 | typedef ActivationModelSmooth2NormTpl<double> ActivationModelSmooth2Norm; | ||
355 | typedef ActivationDataSmooth2NormTpl<double> ActivationDataSmooth2Norm; | ||
356 | typedef ActivationModel2NormBarrierTpl<double> ActivationModel2NormBarrier; | ||
357 | typedef ActivationData2NormBarrierTpl<double> ActivationData2NormBarrier; | ||
358 | typedef ActivationModelAbstractTpl<double> ActivationModelAbstract; | ||
359 | typedef ActivationDataAbstractTpl<double> ActivationDataAbstract; | ||
360 | |||
361 | typedef StateAbstractTpl<double> StateAbstract; | ||
362 | typedef StateVectorTpl<double> StateVector; | ||
363 | |||
364 | typedef ControlParametrizationModelAbstractTpl<double> | ||
365 | ControlParametrizationModelAbstract; | ||
366 | typedef ControlParametrizationDataAbstractTpl<double> | ||
367 | ControlParametrizationDataAbstract; | ||
368 | typedef ControlParametrizationModelPolyZeroTpl<double> | ||
369 | ControlParametrizationModelPolyZero; | ||
370 | typedef ControlParametrizationModelPolyOneTpl<double> | ||
371 | ControlParametrizationModelPolyOne; | ||
372 | typedef ControlParametrizationDataPolyOneTpl<double> | ||
373 | ControlParametrizationDataPolyOne; | ||
374 | typedef ControlParametrizationModelPolyTwoRKTpl<double> | ||
375 | ControlParametrizationModelPolyTwoRK; | ||
376 | typedef ControlParametrizationDataPolyTwoRKTpl<double> | ||
377 | ControlParametrizationDataPolyTwoRK; | ||
378 | |||
379 | typedef ActuationDataAbstractTpl<double> ActuationDataAbstract; | ||
380 | typedef ActuationModelAbstractTpl<double> ActuationModelAbstract; | ||
381 | typedef ActuationSquashingDataTpl<double> ActuationSquashingData; | ||
382 | typedef ActuationSquashingModelTpl<double> ActuationSquashingModel; | ||
383 | |||
384 | typedef SquashingDataAbstractTpl<double> SquashingDataAbstract; | ||
385 | typedef SquashingModelAbstractTpl<double> SquashingModelAbstract; | ||
386 | typedef SquashingModelSmoothSatTpl<double> SquashingModelSmoothSat; | ||
387 | |||
388 | typedef JointDataAbstractTpl<double> JointDataAbstract; | ||
389 | |||
390 | typedef DataCollectorAbstractTpl<double> DataCollectorAbstract; | ||
391 | typedef DataCollectorActuationTpl<double> DataCollectorActuation; | ||
392 | typedef DataCollectorJointTpl<double> DataCollectorJoint; | ||
393 | typedef DataCollectorJointActuationTpl<double> DataCollectorJointActuation; | ||
394 | |||
395 | typedef CostModelAbstractTpl<double> CostModelAbstract; | ||
396 | typedef CostDataAbstractTpl<double> CostDataAbstract; | ||
397 | typedef CostItemTpl<double> CostItem; | ||
398 | typedef CostModelSumTpl<double> CostModelSum; | ||
399 | typedef CostDataSumTpl<double> CostDataSum; | ||
400 | typedef CostModelResidualTpl<double> CostModelResidual; | ||
401 | typedef CostDataResidualTpl<double> CostDataResidual; | ||
402 | |||
403 | typedef ConstraintModelAbstractTpl<double> ConstraintModelAbstract; | ||
404 | typedef ConstraintDataAbstractTpl<double> ConstraintDataAbstract; | ||
405 | typedef ConstraintItemTpl<double> ConstraintItem; | ||
406 | typedef ConstraintModelManagerTpl<double> ConstraintModelManager; | ||
407 | typedef ConstraintDataManagerTpl<double> ConstraintDataManager; | ||
408 | typedef ConstraintModelResidualTpl<double> ConstraintModelResidual; | ||
409 | typedef ConstraintDataResidualTpl<double> ConstraintDataResidual; | ||
410 | |||
411 | typedef ShootingProblemTpl<double> ShootingProblem; | ||
412 | |||
413 | typedef ActionModelNumDiffTpl<double> ActionModelNumDiff; | ||
414 | typedef ActionDataNumDiffTpl<double> ActionDataNumDiff; | ||
415 | typedef ControlParametrizationModelNumDiffTpl<double> | ||
416 | ControlParametrizationModelNumDiff; | ||
417 | typedef ControlParametrizationDataNumDiffTpl<double> | ||
418 | ControlParametrizationDataNumDiff; | ||
419 | typedef DifferentialActionModelNumDiffTpl<double> | ||
420 | DifferentialActionModelNumDiff; | ||
421 | typedef DifferentialActionDataNumDiffTpl<double> DifferentialActionDataNumDiff; | ||
422 | typedef ActivationModelNumDiffTpl<double> ActivationModelNumDiff; | ||
423 | typedef ActivationDataNumDiffTpl<double> ActivationDataNumDiff; | ||
424 | typedef ResidualModelNumDiffTpl<double> ResidualModelNumDiff; | ||
425 | typedef ResidualDataNumDiffTpl<double> ResidualDataNumDiff; | ||
426 | typedef ConstraintModelNumDiffTpl<double> ConstraintModelNumDiff; | ||
427 | typedef ConstraintDataNumDiffTpl<double> ConstraintDataNumDiff; | ||
428 | typedef StateNumDiffTpl<double> StateNumDiff; | ||
429 | typedef ActuationModelNumDiffTpl<double> ActuationModelNumDiff; | ||
430 | typedef ActuationDataNumDiffTpl<double> ActuationDataNumDiff; | ||
431 | |||
432 | typedef ActionModelCodeGenTpl<double> ActionModelCodeGen; | ||
433 | typedef ActionDataCodeGenTpl<double> ActionDataCodeGen; | ||
434 | |||
435 | } // namespace crocoddyl | ||
436 | |||
437 | #endif // CROCODDYL_CORE_FWD_HPP_ | ||
438 |