7 #ifndef __tire_tireAS_h__ 8 #define __tire_tireAS_h__ 15 #define AsConstruct(AS) \ 17 AS(::fe::Record &r){ if(r.isValid()) { bind(r.layout()->scope()); }}\ 18 AS(::fe::sp<::fe::Scope> a_spScope){ bind(a_spScope); } 29 add(component, FE_USE(
"tire:component"));
43 add(model, FE_USE(
"tire:model"));
56 add(force, FE_USE(
"sim:force"));
57 add(moment, FE_USE(
"tire:moment"));
58 add(transform, FE_USE(
"spc:transform"));
59 add(radius, FE_USE(
"tire:radius"));
60 add(width, FE_USE(
"tire:width"));
61 add(velocity, FE_USE(
"spc:velocity"));
62 add(angular_velocity, FE_USE(
"tire:angular_velocity"));
63 add(contact_radius, FE_USE(
"tire:contact_radius"));
64 add(inclination, FE_USE(
"tire:inclination"));
65 add(patch, FE_USE(
"tire:patch"));
66 add(spTireI, FE_USE(
"tire:spTireI"));
68 add(inv_transform, FE_USE(
"spc:inv_transform"));
69 add(inv_patch, FE_USE(
"tire:inv_patch"));
96 add(tire, FE_USE(
"mount:tire"));
97 add(rig, FE_USE(
"mount:rig"));
98 add(transform_inv, FE_USE(
"spc:transform_inv"));
107 class AsParticlesMount
111 AsConstruct(AsParticlesMount);
112 void initialize(
void)
114 add(tire, FE_USE(
"mount:tire"));
115 add(p0, FE_USE(
"mount:p0"));
116 add(p1, FE_USE(
"mount:p1"));
117 add(p2, FE_USE(
"mount:p2"));
118 add(transform_inv, FE_USE(
"spc:transform_inv"));
119 add(location, FE_USE(
"mount:at"));
120 add(inclination, FE_USE(
"tire:inclination"));
133 class AsRigParticlesMount
134 :
public AsParticlesMount,
public Initialize<AsRigParticlesMount>
137 AsConstruct(AsRigParticlesMount);
138 void initialize(
void)
140 add(rig, FE_USE(
"mount:rig"));
152 void initialize(
void)
154 add(height, FE_USE(
"ground:height"));
167 void initialize(
void)
169 add(inclination, FE_USE(
"rig:inclination"));
170 add(location, FE_USE(
"rig:location"));
171 add(load, FE_USE(
"rig:load"));
172 add(pitch, FE_USE(
"rig:pitch"));
174 add(alpha, FE_USE(
"rig:alpha"));
175 add(velocity, FE_USE(
"rig:velocity"));
176 add(kappa, FE_USE(
"rig:kappa"));
177 add(free_wheel, FE_USE(
"rig:free_wheel"));
178 add(incline_floor, FE_USE(
"rig:incline_floor"));
179 add(solve_extract, FE_USE(
"rig:solve_extract"));
181 add(structure, FE_USE(
"rig:structure"));
182 add(root, FE_USE(
"rig:root"));
184 add(floor, FE_USE(
"rig:floor"));
211 void initialize(
void)
213 add(alpha_frequency, FE_USE(
"rig:alphaFrequency"));
214 add(pnt_velocity, FE_USE(
"rig:pnt_velocity"));
215 add(force_accum, FE_USE(
"sim:force_accum"));
216 add(moment_accum, FE_USE(
"sim:moment_accum"));
217 add(force, FE_USE(
"sim:force"));
218 add(moment, FE_USE(
"sim:moment"));
235 void initialize(
void)
237 add(solve_extract, FE_USE(
"soft:solve_extract"));
238 add(structure, FE_USE(
"soft:structure"));
247 class AsLocatorRigBinding
251 AsConstruct(AsLocatorRigBinding);
252 void initialize(
void)
254 add(rig, FE_USE(
"moa:rig"));
255 add(locator, FE_USE(
"moa:locator"));
262 class AsLocatorFromPoints
266 AsConstruct(AsLocatorFromPoints);
267 void initialize(
void)
269 add(p0, FE_USE(
"mount:p0"));
270 add(p1, FE_USE(
"mount:p1"));
271 add(p2, FE_USE(
"mount:p2"));
282 AsConstruct(AsForceLocator);
283 void initialize(
void)
285 add(force, FE_USE(
"sim:force"));
286 add(moment, FE_USE(
"sim:moment"));
287 add(velocity, FE_USE(
"spc:velocity"));
295 class AsLocatorFromEuler
299 AsConstruct(AsLocatorFromEuler);
300 void initialize(
void)
302 add(location, FE_USE(
"spc:at"));
303 add(zyx, FE_USE(
"frame:zyx"));
317 void initialize(
void)
319 add(transform, FE_USE(
"contact:transform"));
325 {
return transform(a_r).translation(); }
327 {
return transform(a_r).up(); }
329 {
return transform(a_r).direction(); }
331 {
return transform(a_r).left(); }
338 AsConstruct(AsContactLive);
339 void initialize(
void)
341 add(velocity, FE_USE(
"contact:velocity"));
342 add(slide, FE_USE(
"contact:slide"));
353 AsConstruct(AsSurface);
354 void initialize(
void)
356 add(transform, FE_USE(
"spc:transform"));
357 add(velocity, FE_USE(
"spc:velocity"));
365 :
public AsSurface,
public Initialize<AsSurfacePlane>
368 AsConstruct(AsSurfacePlane);
369 void initialize(
void)
371 add(is, FE_USE(
"is:plane"));
378 :
public AsSurface,
public Initialize<AsSurfaceLive>
381 AsConstruct(AsSurfaceLive);
382 void initialize(
void)
384 add(spSurfaceI, FE_USE(
"tire:spSurfaceI"));
Tire Test Rig.
Definition: tireAS.h:162
Tire Test Rig Live.
Definition: tireAS.h:206
Set of accessors.
Definition: AccessorSet.h:18
Tire.
Definition: tireAS.h:36
Tire Model.
Definition: tireAS.h:22
kernel
Definition: namespace.dox:3
Ground.
Definition: tireAS.h:147
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Run Time Single Contact Tire Model.
Definition: tireAS.h:49
Named Records.
Definition: datatoolAS.h:134
Something with a location in simulation.
Definition: moaAS.h:216
Non-persistent reference to an instance of a Layout.
Definition: WeakRecordSB.h:17
Rig to Tire mount.
Definition: tireAS.h:89