s->setOrientation(o);
_model.addSurface(s);
+ f->surfs.add(s);
_surfs.add(s);
}
return wgt;
Wing* w = (Wing*)_vstabs.get(i);
w->setDragScale(w->getDragScale() * applied);
}
- for(i=0; i<_surfs.size(); i++) {
- Surface* s = (Surface*)_surfs.get(i);
- s->setTotalDrag(s->getTotalDrag() * applied);
+ for(i=0; i<_fuselages.size(); i++) {
+ Fuselage* f = (Fuselage*)_fuselages.get(i);
+ int j;
+ for(j=0; j<f->surfs.size(); j++) {
+ Surface* s = (Surface*)f->surfs.get(j);
+ s->setTotalDrag(s->getTotalDrag() * applied);
+ }
+ }
+ for(i=0; i<_weights.size(); i++) {
+ WeightRec* wr = (WeightRec*)_weights.get(i);
+ wr->surf->setTotalDrag(wr->surf->getTotalDrag() * applied);
+ }
+ for(i=0; i<_gears.size(); i++) {
+ GearRec* gr = (GearRec*)_gears.get(i);
+ gr->surf->setTotalDrag(gr->surf->getTotalDrag() * applied);
}
}
private:
struct Tank { float pos[3]; float cap; float fill;
float density; int handle; };
- struct Fuselage { float front[3], back[3], width, taper, mid, _cx, _cy, _cz, _idrag; };
+ struct Fuselage { float front[3], back[3], width, taper, mid, _cx, _cy, _cz, _idrag;
+ Vector surfs; };
struct GearRec { Gear* gear; Surface* surf; float wgt; };
struct ThrustRec { Thruster* thruster;
int handle; float cg[3]; float mass; };