*******************************************************************************/
#ifdef FGFS
-# include <Include/compiler.h>
+# include <simgear/compiler.h>
# ifdef FG_HAVE_STD_INCLUDES
# include <iostream>
# include <ctime>
Rotation = new FGRotation(this);
Position = new FGPosition(this);
Auxiliary = new FGAuxiliary(this);
-// Output = new FGOutput(this);
+ Output = new FGOutput(this);
State = new FGState(this);
if (!Rotation->InitModel()) {cerr << "Rotation model init failed"; Error+=16;}
if (!Position->InitModel()) {cerr << "Position model init failed"; Error+=32;}
if (!Auxiliary->InitModel()) {cerr << "Auxiliary model init failed"; Error+=64;}
-// if (!Output->InitModel()) {cerr << "Output model init failed"; Error+=128;}
+ if (!Output->InitModel()) {cerr << "Output model init failed"; Error+=128;}
- Schedule(Atmosphere, 5);
+ // Schedule a model. The second arg (the integer) is the pass number. For
+ // instance, the atmosphere model gets executed every fifth pass it is called
+ // by the executive. Everything else here gets executed each pass.
+
+ Schedule(Atmosphere, 1);
Schedule(FCS, 1);
Schedule(Aircraft, 1);
Schedule(Rotation, 1);
Schedule(Translation, 1);
Schedule(Position, 1);
Schedule(Auxiliary, 1);
-// Schedule(Output, 1);
+ Schedule(Output, 1);
terminate = false;
frozen = false;
return true;
}
+
+bool FGFDMExec::RunIC(FGInitialCondition *fgic)
+{
+ float save_dt = State->Getdt();
+
+ State->Setdt(0.0);
+ State->Initialize(fgic);
+ Run();
+ State->Setdt(save_dt);
+
+ return true;
+}
+
+