X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2FJSBSim.hxx;h=80b3f3c3aaac930a1d3174c7cdf6d663884dc50f;hb=c112b8b8e169a427e8cb0da871347e5c10031479;hp=38c952bd260fdcd46965aa2a1c61625540706f6b;hpb=a61f34667fdb43198f707e719f56f5bbaf2fb7b5;p=flightgear.git diff --git a/src/FDM/JSBSim/JSBSim.hxx b/src/FDM/JSBSim/JSBSim.hxx index 38c952bd2..80b3f3c3a 100644 --- a/src/FDM/JSBSim/JSBSim.hxx +++ b/src/FDM/JSBSim/JSBSim.hxx @@ -38,7 +38,6 @@ INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #undef MAX_ENGINES -#include "math/FGColumnVector3.h" /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEFINITIONS @@ -58,8 +57,8 @@ FORWARD DECLARATIONS #include namespace JSBSim { -class FGState; class FGAtmosphere; +class FGWinds; class FGFCS; class FGPropulsion; class FGMassBalance; @@ -70,6 +69,8 @@ class FGPropagate; class FGAuxiliary; class FGOutput; class FGInitialCondition; +class FGLocation; +class FGAccelerations; } // Adding it here will cause a namespace clash in FlightGear -EMH- @@ -86,7 +87,7 @@ CLASS DOCUMENTATION documentation for main for direction on running JSBSim apart from FlightGear. @author Curtis L. Olson (original) @author Tony Peden (Maintained and refined) - @version $Id: JSBSim.hxx,v 1.13 2010/07/07 20:46:36 andgi Exp $ + @version $Id: JSBSim.hxx,v 1.15 2010/10/07 03:45:40 jberndt Exp $ @see main in file JSBSim.cpp (use main() wrapper for standalone usage) */ @@ -111,6 +112,15 @@ public: /// Reset flight params to a specific position void init(); + /// Unbind properties + void unbind(); + + /// Suspend integration + void suspend(); + + /// Resume integration + void resume(); + /// @name Position Parameter Set //@{ /** Set geocentric latitude @@ -201,30 +211,30 @@ public: /** Update the position based on inputs, positions, velocities, etc. @param dt delta time in seconds. */ void update(double dt); + bool ToggleDataLogging(bool state); bool ToggleDataLogging(void); - void do_trim(void); - void update_ic(void); bool get_agl_ft(double t, const double pt[3], double alt_off, double contact[3], double normal[3], double vel[3], - double *agl); + double angularVel[3], double *agl); private: JSBSim::FGFDMExec *fdmex; JSBSim::FGInitialCondition *fgic; bool needTrim; - JSBSim::FGState* State; - JSBSim::FGAtmosphere* Atmosphere; - JSBSim::FGFCS* FCS; - JSBSim::FGPropulsion* Propulsion; - JSBSim::FGMassBalance* MassBalance; - JSBSim::FGAircraft* Aircraft; - JSBSim::FGPropagate* Propagate; - JSBSim::FGAuxiliary* Auxiliary; - JSBSim::FGAerodynamics* Aerodynamics; + JSBSim::FGAtmosphere* Atmosphere; + JSBSim::FGWinds* Winds; + JSBSim::FGFCS* FCS; + JSBSim::FGPropulsion* Propulsion; + JSBSim::FGMassBalance* MassBalance; + JSBSim::FGAircraft* Aircraft; + JSBSim::FGPropagate* Propagate; + JSBSim::FGAuxiliary* Auxiliary; + JSBSim::FGAerodynamics* Aerodynamics; JSBSim::FGGroundReactions* GroundReactions; - JSBSim::FGInertial* Inertial; + JSBSim::FGInertial* Inertial; + JSBSim::FGAccelerations* Accelerations; int runcount; double trim_elev; @@ -263,9 +273,11 @@ private: SGPropertyNode_ptr temperature; SGPropertyNode_ptr pressure; - SGPropertyNode_ptr density; + SGPropertyNode_ptr pressureSL; + SGPropertyNode_ptr ground_wind; SGPropertyNode_ptr turbulence_gain; SGPropertyNode_ptr turbulence_rate; + SGPropertyNode_ptr turbulence_model; SGPropertyNode_ptr wind_from_north; SGPropertyNode_ptr wind_from_east; @@ -273,6 +285,8 @@ private: SGPropertyNode_ptr slaved; + static std::map TURBULENCE_TYPE_NAMES; + double last_hook_tip[3]; double last_hook_root[3]; JSBSim::FGColumnVector3 hook_root_struct; @@ -281,11 +295,13 @@ private: bool crashed; + void do_trim(void); + + bool update_ground_cache(JSBSim::FGLocation cart, double* cart_pos, double dt); void init_gear(void); void update_gear(void); void update_external_forces(double t_off); - };