X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FYASim%2FFGFDM.hpp;h=d5e02471d65f16f3b5d83d2e0d371fc3adcffc26;hb=ce91286e19d6d66b316811d04b5b66b8b768827b;hp=f9506dbd289c51843ad31cea70b322052a79aa5a;hpb=f0e6716953604730579a5e45f785fd063737dce4;p=flightgear.git diff --git a/src/FDM/YASim/FGFDM.hpp b/src/FDM/YASim/FGFDM.hpp index f9506dbd2..d5e02471d 100644 --- a/src/FDM/YASim/FGFDM.hpp +++ b/src/FDM/YASim/FGFDM.hpp @@ -2,6 +2,7 @@ #define _FGFDM_HPP #include +#include #include "Airplane.hpp" #include "Vector.hpp" @@ -30,24 +31,32 @@ private: struct AxisRec { char* name; int handle; }; struct EngRec { char* prefix; Thruster* eng; }; struct WeightRec { char* prop; float size; int handle; }; + struct PropOut { SGPropertyNode* prop; int handle, type; bool left; + float min, max; }; void setOutputProperties(); + Rotor* parseRotor(XMLAttributes* a, const char* name); Wing* parseWing(XMLAttributes* a, const char* name); int parseAxis(const char* name); int parseOutput(const char* name); void parseWeight(XMLAttributes* a); void parsePropeller(XMLAttributes* a); bool eq(const char* a, const char* b); + bool caseeq(const char* a, const char* b); char* dup(const char* s); int attri(XMLAttributes* atts, char* attr); int attri(XMLAttributes* atts, char* attr, int def); float attrf(XMLAttributes* atts, char* attr); float attrf(XMLAttributes* atts, char* attr, float def); + bool attrb(XMLAttributes* atts, char* attr); // The core Airplane object we manage. Airplane _airplane; + // Aerodynamic turbulence model + Turbulence* _turb; + // The list of "axes" that we expect to find as input. These are // typically property names. Vector _axes; @@ -58,6 +67,9 @@ private: // Engine types. Contains an EngRec structure. Vector _thrusters; + // Output properties for the ControlMap + Vector _controlProps; + // Parsing temporaries void* _currObj; bool _cruiseCurr;