#include "FGRotation.h"
#include "FGAuxiliary.h"
#include "FGOutput.h"
+#include "FGPropertyManager.h"
+
static const char *IdSrc = "$Id$";
static const char *IdHdr = ID_POSITION;
gamma = Vt = Vground = 0.0;
hoverbmac = hoverbcg = 0.0;
psigt = 0.0;
-
+ bind();
Debug(0);
}
FGPosition::~FGPosition(void)
{
+ unbind();
Debug(1);
}
hoverbcg = DistanceAGL/b;
}
+//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+void FGPosition::bind(void)
+{
+ PropertyManager->Tie("velocities/v-north-fps", this,
+ &FGPosition::GetVn);
+ PropertyManager->Tie("velocities/v-east-fps", this,
+ &FGPosition::GetVe);
+ PropertyManager->Tie("velocities/v-down-fps", this,
+ &FGPosition::GetVd);
+ PropertyManager->Tie("velocities/vg-fps", this,
+ &FGPosition::GetVground);
+ PropertyManager->Tie("flight-path/psi-gt-rad", this,
+ &FGPosition::GetGroundTrack);
+ PropertyManager->Tie("position/h-sl-ft", this,
+ &FGPosition::Geth,
+ &FGPosition::Seth,
+ true);
+ PropertyManager->Tie("velocities/h-dot-fps", this,
+ &FGPosition::Gethdot);
+ PropertyManager->Tie("position/lat-gc-rad", this,
+ &FGPosition::GetLatitude,
+ &FGPosition::SetLatitude);
+ PropertyManager->Tie("position/lat-dot-gc-rad", this,
+ &FGPosition::GetLatitudeDot);
+ PropertyManager->Tie("position/long-gc-rad", this,
+ &FGPosition::GetLongitude,
+ &FGPosition::SetLongitude,
+ true);
+ PropertyManager->Tie("position/long-dot-gc-rad", this,
+ &FGPosition::GetLongitudeDot);
+ PropertyManager->Tie("metrics/runway-radius", this,
+ &FGPosition::GetRunwayRadius,
+ &FGPosition::SetRunwayRadius);
+ PropertyManager->Tie("position/h-agl-ft", this,
+ &FGPosition::GetDistanceAGL,
+ &FGPosition::SetDistanceAGL);
+ PropertyManager->Tie("position/radius-to-vehicle-ft", this,
+ &FGPosition::GetRadius);
+ PropertyManager->Tie("flight-path/gamma-rad", this,
+ &FGPosition::GetGamma,
+ &FGPosition::SetGamma);
+ PropertyManager->Tie("aero/h_b-cg-ft", this,
+ &FGPosition::GetHOverBCG);
+ PropertyManager->Tie("aero/h_b-mac-ft", this,
+ &FGPosition::GetHOverBMAC);
+}
+
+//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+void FGPosition::unbind(void)
+{
+ PropertyManager->Untie("velocities/v-north-fps");
+ PropertyManager->Untie("velocities/v-east-fps");
+ PropertyManager->Untie("velocities/v-down-fps");
+ PropertyManager->Untie("velocities/vg-fps");
+ PropertyManager->Untie("flight-path/psi-gt-rad");
+ PropertyManager->Untie("position/h-sl-ft");
+ PropertyManager->Untie("velocities/h-dot-fps");
+ PropertyManager->Untie("position/lat-gc-rad");
+ PropertyManager->Untie("position/lat-dot-gc-rad");
+ PropertyManager->Untie("position/long-gc-rad");
+ PropertyManager->Untie("position/long-dot-gc-rad");
+ PropertyManager->Untie("metrics/runway-radius");
+ PropertyManager->Untie("position/h-agl-ft");
+ PropertyManager->Untie("position/radius-to-vehicle-ft");
+ PropertyManager->Untie("flight-path/gamma-rad");
+ PropertyManager->Untie("aero/h_b-cg-ft");
+ PropertyManager->Untie("aero/h_b-mac-ft");
+}
+
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
// The bitmasked value choices are as follows:
// unset: In this case (the default) JSBSim would only print
}
if (debug_lvl & 16) { // Sanity checking
}
+ if (debug_lvl & 64) {
+ if (from == 0) { // Constructor
+ cout << IdSrc << endl;
+ cout << IdHdr << endl;
+ }
+ }
}