void setTail(Wing* tail);
void addVStab(Wing* vstab);
- void addRotor(Rotor* Rotor);
- int getNumRotors() {return _rotors.size();}
- Rotor* getRotor(int i) {return (Rotor*)_rotors.get(i);}
-
void addFuselage(float* front, float* back, float width,
float taper=1, float mid=0.5);
int addTank(float* pos, float cap, float fuelDensity);
int numGear();
Gear* getGear(int g);
Hook* getHook();
+ Rotorgear* getRotorgear();
Launchbar* getLaunchbar();
int numThrusters() { return _thrusters.size(); }
float getApproachElevator() { return _approachElevator.val; }
char* getFailureMsg();
+ static void setupState(float aoa, float speed, State* s); // utility
+
private:
struct Tank { float pos[3]; float cap; float fill;
float density; int handle; };
void runCruise();
void runApproach();
- void setupState(float aoa, float speed, State* s);
void solveGear();
void solve();
void solveHelicopter();
float compileWing(Wing* w);
- float compileRotor(Rotor* w);
+ float compileRotorgear();
float compileFuselage(Fuselage* f);
void compileGear(GearRec* gr);
void applyDragFactor(float factor);
Vector _weights;
Vector _surfs; // NON-wing Surfaces
- Vector _rotors;
-
Vector _solveWeights;
Vector _cruiseControls;