X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FYASim%2FAirplane.hpp;h=16f0ca714fc97da975ad308886be53112da7ed81;hb=ce91286e19d6d66b316811d04b5b66b8b768827b;hp=8fffa4ba6da1a0f4ab9a1a9806e28da602ec8fca;hpb=d98b7f05ff6ee78d7439eeec6b060f870b6d8798;p=flightgear.git diff --git a/src/FDM/YASim/Airplane.hpp b/src/FDM/YASim/Airplane.hpp index 8fffa4ba6..16f0ca714 100644 --- a/src/FDM/YASim/Airplane.hpp +++ b/src/FDM/YASim/Airplane.hpp @@ -4,6 +4,7 @@ #include "ControlMap.hpp" #include "Model.hpp" #include "Wing.hpp" +#include "Rotor.hpp" #include "Vector.hpp" namespace yasim { @@ -33,6 +34,10 @@ public: 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); @@ -88,7 +93,9 @@ private: void setupState(float aoa, float speed, State* s); void solveGear(); void solve(); + void solveHelicopter(); float compileWing(Wing* w); + float compileRotor(Rotor* w); float compileFuselage(Fuselage* f); void compileGear(GearRec* gr); void applyDragFactor(float factor); @@ -119,6 +126,8 @@ private: Vector _weights; Vector _surfs; // NON-wing Surfaces + Vector _rotors; + Vector _cruiseControls; State _cruiseState; float _cruiseP;