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>
50 template <
typename Scalar>
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>
98 template <
typename Scalar>
101 template <
typename Scalar>
103 template <
typename Scalar>
106 template <
typename Scalar>
108 template <
typename Scalar>
111 template <
typename Scalar>
113 template <
typename Scalar>
116 template <
typename Scalar>
118 template <
typename Scalar>
121 template <
typename Scalar>
123 template <
typename Scalar>
126 template <
typename Scalar>
128 template <
typename Scalar>
131 template <
typename Scalar>
133 template <
typename Scalar>
136 template <
typename Scalar>
138 template <
typename Scalar>
141 template <
typename Scalar>
143 template <
typename Scalar>
146 template <
typename Scalar>
148 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>
174 template <
typename Scalar>
176 template <
typename Scalar>
180 template <
typename Scalar>
182 template <
typename Scalar>
186 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>
203 template <
typename Scalar>
205 template <
typename Scalar>
209 template <
typename Scalar>
211 template <
typename Scalar>
215 template <
typename Scalar>
219 template <
typename Scalar>
222 template <
typename Scalar>
225 template <
typename Scalar>
228 template <
typename Scalar>
231 template <
typename Scalar>
234 template <
typename Scalar>
237 template <
typename Scalar>
241 template <
typename Scalar>
243 template <
typename Scalar>
246 template <
typename Scalar>
248 template <
typename Scalar>
251 template <
typename Scalar>
253 template <
typename Scalar>
255 template <
typename Scalar>
335 enum ContactType { Contact2D, Contact3D, Contact6D, ContactUndefined };
336 enum ImpulseType { Impulse3D, Impulse6D, ImpulseUndefined };
338 typedef ContactItemTpl<double> ContactItem;
339 typedef ContactModelMultipleTpl<double> ContactModelMultiple;
340 typedef ContactDataMultipleTpl<double> ContactDataMultiple;
341 typedef ContactModel2DTpl<double> ContactModel2D;
342 typedef ContactData2DTpl<double> ContactData2D;
343 typedef ContactModel3DTpl<double> ContactModel3D;
344 typedef ContactData3DTpl<double> ContactData3D;
345 typedef ContactModel6DTpl<double> ContactModel6D;
346 typedef ContactData6DTpl<double> ContactData6D;
348 typedef StateMultibodyTpl<double> StateMultibody;
350 typedef DataCollectorMultibodyTpl<double> DataCollectorMultibody;
351 typedef DataCollectorActMultibodyTpl<double> DataCollectorActMultibody;
352 typedef DataCollectorContactTpl<double> DataCollectorContact;
353 typedef DataCollectorMultibodyInContactTpl<double> DataCollectorMultibodyInContact;
354 typedef DataCollectorActMultibodyInContactTpl<double> DataCollectorActMultibodyInContact;
355 typedef DataCollectorImpulseTpl<double> DataCollectorImpulse;
356 typedef DataCollectorMultibodyInImpulseTpl<double> DataCollectorMultibodyInImpulse;
358 typedef ImpulseModel6DTpl<double> ImpulseModel6D;
359 typedef ImpulseData6DTpl<double> ImpulseData6D;
360 typedef ImpulseModel3DTpl<double> ImpulseModel3D;
361 typedef ImpulseData3DTpl<double> ImpulseData3D;
362 typedef ImpulseItemTpl<double> ImpulseItem;
363 typedef ImpulseModelMultipleTpl<double> ImpulseModelMultiple;
364 typedef ImpulseDataMultipleTpl<double> ImpulseDataMultiple;
368 #endif // CROCODDYL_MULTIBODY_FWD_HPP_