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>
165 template <
typename Scalar>
167 template <
typename Scalar>
171 template <
typename Scalar>
173 template <
typename Scalar>
175 template <
typename Scalar>
178 template <
typename Scalar>
180 template <
typename Scalar>
183 template <
typename Scalar>
185 template <
typename Scalar>
188 template <
typename Scalar>
190 template <
typename Scalar>
194 template <
typename Scalar>
196 template <
typename Scalar>
200 template <
typename Scalar>
204 template <
typename Scalar>
207 template <
typename Scalar>
210 template <
typename Scalar>
213 template <
typename Scalar>
216 template <
typename Scalar>
219 template <
typename Scalar>
222 template <
typename Scalar>
226 template <
typename Scalar>
228 template <
typename Scalar>
231 template <
typename Scalar>
233 template <
typename Scalar>
236 template <
typename Scalar>
238 template <
typename Scalar>
240 template <
typename Scalar>
314 enum ContactType { Contact2D, Contact3D, Contact6D, ContactUndefined };
315 enum ImpulseType { Impulse3D, Impulse6D, ImpulseUndefined };
317 typedef ContactItemTpl<double> ContactItem;
318 typedef ContactModelMultipleTpl<double> ContactModelMultiple;
319 typedef ContactDataMultipleTpl<double> ContactDataMultiple;
320 typedef ContactModel2DTpl<double> ContactModel2D;
321 typedef ContactData2DTpl<double> ContactData2D;
322 typedef ContactModel3DTpl<double> ContactModel3D;
323 typedef ContactData3DTpl<double> ContactData3D;
324 typedef ContactModel6DTpl<double> ContactModel6D;
325 typedef ContactData6DTpl<double> ContactData6D;
327 typedef StateMultibodyTpl<double> StateMultibody;
329 typedef DataCollectorMultibodyTpl<double> DataCollectorMultibody;
330 typedef DataCollectorActMultibodyTpl<double> DataCollectorActMultibody;
331 typedef DataCollectorContactTpl<double> DataCollectorContact;
332 typedef DataCollectorMultibodyInContactTpl<double> DataCollectorMultibodyInContact;
333 typedef DataCollectorActMultibodyInContactTpl<double> DataCollectorActMultibodyInContact;
334 typedef DataCollectorImpulseTpl<double> DataCollectorImpulse;
335 typedef DataCollectorMultibodyInImpulseTpl<double> DataCollectorMultibodyInImpulse;
337 typedef ImpulseModel6DTpl<double> ImpulseModel6D;
338 typedef ImpulseData6DTpl<double> ImpulseData6D;
339 typedef ImpulseModel3DTpl<double> ImpulseModel3D;
340 typedef ImpulseData3DTpl<double> ImpulseData3D;
341 typedef ImpulseItemTpl<double> ImpulseItem;
342 typedef ImpulseModelMultipleTpl<double> ImpulseModelMultiple;
343 typedef ImpulseDataMultipleTpl<double> ImpulseDataMultiple;
347 #endif // CROCODDYL_MULTIBODY_FWD_HPP_