X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2Fmodels%2FFGExternalReactions.h;h=7945abf88565830145d2a8e79f158d4357e00b0f;hb=1575fad886a0b18825363d41d53a287e8d36b9c8;hp=4b7df2d851b0607191ea78b57ae27f1806012e62;hpb=6cd0e5aac4b70bc927ad6f3d705a894ba3ee71ba;p=flightgear.git diff --git a/src/FDM/JSBSim/models/FGExternalReactions.h b/src/FDM/JSBSim/models/FGExternalReactions.h index 4b7df2d85..7945abf88 100644 --- a/src/FDM/JSBSim/models/FGExternalReactions.h +++ b/src/FDM/JSBSim/models/FGExternalReactions.h @@ -41,12 +41,14 @@ INCLUDES #include #include "FGModel.h" #include "FGExternalForce.h" +#include "input_output/FGXMLFileRead.h" + /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEFINITIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ -#define ID_EXTERNALREACTIONS "$Id: FGExternalReactions.h,v 1.10 2010/11/18 12:38:06 jberndt Exp $" +#define ID_EXTERNALREACTIONS "$Id: FGExternalReactions.h,v 1.14 2011/10/31 14:54:41 bcoconni Exp $" /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FORWARD DECLARATIONS @@ -115,7 +117,7 @@ CLASS DOCUMENTATION CLASS DECLARATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ -class FGExternalReactions : public FGModel +class FGExternalReactions : public FGModel, public FGXMLFileRead { public: /** Constructor. @@ -132,9 +134,13 @@ public: bool InitModel(void); /** Sum all the constituent forces for this cycle. - @return true always. - */ - bool Run(void); + Can pass in a value indicating if the executive is directing the simulation to Hold. + @param Holding if true, the executive has been directed to hold the sim from + advancing time. Some models may ignore this flag, such as the Input + model, which may need to be active to listen on a socket for the + "Resume" command to be given. + @return true always. */ + bool Run(bool Holding); /** Loads the external forces from the XML configuration file. If the external_reactions section is encountered in the vehicle configuration @@ -147,12 +153,14 @@ public: /** Retrieves the total forces defined in the external reactions. @return the total force in pounds. */ - FGColumnVector3 GetForces(void) const {return vTotalForces;} + const FGColumnVector3& GetForces(void) const {return vTotalForces;} + double GetForces(int idx) const {return vTotalForces(idx);} /** Retrieves the total moment resulting from the forces defined in the external reactions. @return the total moment in foot-pounds. */ - FGColumnVector3 GetMoments(void) const {return vTotalMoments;} + const FGColumnVector3& GetMoments(void) const {return vTotalMoments;} + double GetMoments(int idx) const {return vTotalMoments(idx);} private: @@ -163,6 +171,7 @@ private: bool NoneDefined; + void bind(void); void Debug(int from); }; }