X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2FFGFDMExec.cpp;h=ab0bf8a9acdd4cf50088aed6d31e78ee0b644894;hb=6b6d7059de394bf270c8a0660820c5fc0a4c7fd4;hp=f02d23e6400ee8e02a3eb968c14c988bbff920d5;hpb=6081f24b006f6adb6d8c8320c65ccdaad1ca4f19;p=flightgear.git diff --git a/src/FDM/JSBSim/FGFDMExec.cpp b/src/FDM/JSBSim/FGFDMExec.cpp index f02d23e64..ab0bf8a9a 100644 --- a/src/FDM/JSBSim/FGFDMExec.cpp +++ b/src/FDM/JSBSim/FGFDMExec.cpp @@ -71,7 +71,7 @@ using namespace std; namespace JSBSim { -static const char *IdSrc = "$Id: FGFDMExec.cpp,v 1.82 2010/10/07 03:17:29 jberndt Exp $"; +static const char *IdSrc = "$Id: FGFDMExec.cpp,v 1.83 2010/11/07 13:30:54 jberndt Exp $"; static const char *IdHdr = ID_FDMEXEC; /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -95,21 +95,11 @@ void checkTied ( FGPropertyManager *node ) } //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -// Constructors -FGFDMExec::FGFDMExec(FGPropertyManager* root) : Root(root), delete_root(false) -{ - FDMctr = new unsigned int; - *FDMctr = 0; - Initialize(); -} +// Constructor -FGFDMExec::FGFDMExec(FGPropertyManager* root, unsigned int* fdmctr) : Root(root), delete_root(false), FDMctr(fdmctr) +FGFDMExec::FGFDMExec(FGPropertyManager* root, unsigned int* fdmctr) : Root(root), FDMctr(fdmctr) { - Initialize(); -} -void FGFDMExec::Initialize() -{ Frame = 0; Error = 0; GroundCallback = 0; @@ -136,6 +126,7 @@ void FGFDMExec::Initialize() IsChild = false; holding = false; Terminate = false; + StandAlone = false; sim_time = 0.0; dT = 1.0/120.0; // a default timestep size. This is needed for when JSBSim is @@ -150,8 +141,10 @@ void FGFDMExec::Initialize() if (Root == 0) { // Then this is the root FDM Root = new FGPropertyManager; // Create the property manager - delete_root = true; - + StandAlone = true; + } + + if (FDMctr == 0) { FDMctr = new unsigned int; // Create and initialize the child FDM counter (*FDMctr) = 0; } @@ -197,7 +190,7 @@ FGFDMExec::~FGFDMExec() if (IdFDM == 0) { // Meaning this is no child FDM if(Root != 0) { - if (delete_root) + if(StandAlone) delete Root; Root = 0; }