9 #ifndef CROCODDYL_MULTIBODY_FWD_HPP_
10 #define CROCODDYL_MULTIBODY_FWD_HPP_
15 template <
typename Scalar>
16 class ActuationModelFloatingBaseTpl;
18 template <
typename Scalar>
19 class ActuationModelFullTpl;
21 template <
typename Scalar>
22 class ActuationModelMultiCopterBaseTpl;
25 template <
typename Scalar>
26 class ContactModelAbstractTpl;
27 template <
typename Scalar>
28 struct ContactDataAbstractTpl;
31 template <
typename Scalar>
32 class ActionModelImpulseFwdDynamicsTpl;
33 template <
typename Scalar>
34 struct ActionDataImpulseFwdDynamicsTpl;
37 template <
typename Scalar>
38 class DifferentialActionModelFreeFwdDynamicsTpl;
39 template <
typename Scalar>
40 struct DifferentialActionDataFreeFwdDynamicsTpl;
42 template <
typename Scalar>
43 class DifferentialActionModelContactFwdDynamicsTpl;
44 template <
typename Scalar>
45 struct DifferentialActionDataContactFwdDynamicsTpl;
48 template <
typename Scalar>
49 class CostModelNumDiffTpl;
50 template <
typename Scalar>
51 struct CostDataNumDiffTpl;
53 template <
typename Scalar>
55 template <
typename Scalar>
59 template <
typename Scalar>
62 template <
typename Scalar>
65 template <
typename Scalar>
68 template <
typename Scalar>
71 template <
typename Scalar>
74 template <
typename Scalar>
77 template <
typename Scalar>
80 template <
typename Scalar>
84 template <
typename Scalar>
86 template <
typename Scalar>
89 template <
typename Scalar>
91 template <
typename Scalar>
94 template <
typename Scalar>
96 template <
typename Scalar>
99 template <
typename Scalar>
101 template <
typename Scalar>
104 template <
typename Scalar>
106 template <
typename Scalar>
109 template <
typename Scalar>
111 template <
typename Scalar>
114 template <
typename Scalar>
116 template <
typename Scalar>
119 template <
typename Scalar>
121 template <
typename Scalar>
124 template <
typename Scalar>
126 template <
typename Scalar>
129 template <
typename Scalar>
131 template <
typename Scalar>
134 template <
typename Scalar>
136 template <
typename Scalar>
139 template <
typename Scalar>
141 template <
typename Scalar>
144 template <
typename Scalar>
146 template <
typename Scalar>
149 template <
typename Scalar>
151 template <
typename Scalar>
154 template <
typename Scalar>
156 template <
typename Scalar>
159 template <
typename Scalar>
161 template <
typename Scalar>
164 template <
typename Scalar>
166 template <
typename Scalar>
169 template <
typename Scalar>
171 template <
typename Scalar>
175 template <
typename Scalar>
177 template <
typename Scalar>
181 template <
typename Scalar>
183 template <
typename Scalar>
185 template <
typename Scalar>
188 template <
typename Scalar>
190 template <
typename Scalar>
193 template <
typename Scalar>
195 template <
typename Scalar>
198 template <
typename Scalar>
200 template <
typename Scalar>
204 template <
typename Scalar>
206 template <
typename Scalar>
210 template <
typename Scalar>
214 template <
typename Scalar>
218 template <
typename Scalar>
221 template <
typename Scalar>
224 template <
typename Scalar>
227 template <
typename Scalar>
230 template <
typename Scalar>
233 template <
typename Scalar>
236 template <
typename Scalar>
240 template <
typename Scalar>
242 template <
typename Scalar>
245 template <
typename Scalar>
247 template <
typename Scalar>
250 template <
typename Scalar>
252 template <
typename Scalar>
254 template <
typename Scalar>
332 enum ContactType { Contact2D, Contact3D, Contact6D, ContactUndefined };
333 enum ImpulseType { Impulse3D, Impulse6D, ImpulseUndefined };
335 typedef ContactItemTpl<double> ContactItem;
336 typedef ContactModelMultipleTpl<double> ContactModelMultiple;
337 typedef ContactDataMultipleTpl<double> ContactDataMultiple;
338 typedef ContactModel2DTpl<double> ContactModel2D;
339 typedef ContactData2DTpl<double> ContactData2D;
340 typedef ContactModel3DTpl<double> ContactModel3D;
341 typedef ContactData3DTpl<double> ContactData3D;
342 typedef ContactModel6DTpl<double> ContactModel6D;
343 typedef ContactData6DTpl<double> ContactData6D;
345 typedef StateMultibodyTpl<double> StateMultibody;
347 typedef DataCollectorMultibodyTpl<double> DataCollectorMultibody;
348 typedef DataCollectorActMultibodyTpl<double> DataCollectorActMultibody;
349 typedef DataCollectorContactTpl<double> DataCollectorContact;
350 typedef DataCollectorMultibodyInContactTpl<double> DataCollectorMultibodyInContact;
351 typedef DataCollectorActMultibodyInContactTpl<double> DataCollectorActMultibodyInContact;
352 typedef DataCollectorImpulseTpl<double> DataCollectorImpulse;
353 typedef DataCollectorMultibodyInImpulseTpl<double> DataCollectorMultibodyInImpulse;
355 typedef ImpulseModel6DTpl<double> ImpulseModel6D;
356 typedef ImpulseData6DTpl<double> ImpulseData6D;
357 typedef ImpulseModel3DTpl<double> ImpulseModel3D;
358 typedef ImpulseData3DTpl<double> ImpulseData3D;
359 typedef ImpulseItemTpl<double> ImpulseItem;
360 typedef ImpulseModelMultipleTpl<double> ImpulseModelMultiple;
361 typedef ImpulseDataMultipleTpl<double> ImpulseDataMultiple;
365 #endif // CROCODDYL_MULTIBODY_FWD_HPP_