X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2Fmodels%2FFGInput.cpp;h=c1ff0b8f21084aa9a9f95755436a1e51b51ff1fb;hb=a302cdc1cbb3c147e7c862b484cdd5d86f30a29c;hp=6ba43df4ec73eabe33a0bdcdf2ca8a52c49d6495;hpb=e503591af4f16814d78ded49c5979e273d81a0be;p=flightgear.git diff --git a/src/FDM/JSBSim/models/FGInput.cpp b/src/FDM/JSBSim/models/FGInput.cpp index 6ba43df4e..c1ff0b8f2 100755 --- a/src/FDM/JSBSim/models/FGInput.cpp +++ b/src/FDM/JSBSim/models/FGInput.cpp @@ -39,7 +39,7 @@ INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #include "FGInput.h" -#include "FGState.h" +#include "FGAircraft.h" #include "FGFDMExec.h" #include "input_output/FGfdmSocket.h" @@ -53,7 +53,7 @@ using namespace std; namespace JSBSim { -static const char *IdSrc = "$Id$"; +static const char *IdSrc = "$Id: FGInput.cpp,v 1.21 2011/05/20 03:18:36 jberndt Exp $"; static const char *IdHdr = ID_INPUT; /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -83,8 +83,6 @@ FGInput::~FGInput() bool FGInput::InitModel(void) { - if (!FGModel::InitModel()) return false; - return true; } @@ -93,18 +91,20 @@ bool FGInput::InitModel(void) // This function handles accepting input commands from the socket interface. // -bool FGInput::Run(void) +bool FGInput::Run(bool Holding) { string line, token; size_t start=0, string_start=0, string_end=0; double value=0; FGPropertyManager* node=0; - if (FGModel::Run()) return true; // fast exit if nothing to do + if (FGModel::Run(Holding)) return true; // fast exit if nothing to do if (port == 0) return false; // Do nothing here if port not defined // return false if no error // This model DOES execute if "Exec->Holding" + RunPreFunctions(); + data = socket->Receive(); // get socket transmission if present if (data.size() > 0) { @@ -155,7 +155,7 @@ bool FGInput::Run(void) break; } if (node == 0) { - if (FDMExec->Holding()) { // if holding can query property list + if (Holding) { // if holding can query property list string query = FDMExec->QueryPropertyCatalog(argument); socket->Reply(query); } else { @@ -189,8 +189,8 @@ bool FGInput::Run(void) ostringstream info; info << "JSBSim version: " << JSBSim_version << endl; info << "Config File version: " << needed_cfg_version << endl; - info << "Aircraft simulated: " << Aircraft->GetAircraftName() << endl; - info << "Simulation time: " << setw(8) << setprecision(3) << State->Getsim_time() << endl; + info << "Aircraft simulated: " << FDMExec->GetAircraft()->GetAircraftName() << endl; + info << "Simulation time: " << setw(8) << setprecision(3) << FDMExec->GetSimTime() << endl; socket->Reply(info.str()); } else if (command == "help") { // HELP @@ -213,6 +213,8 @@ bool FGInput::Run(void) } } + RunPostFunctions(); + return false; }