}
}
- resetPropertyState();
-
fdmex = new FGFDMExec( (FGPropertyManager*)globals->get_props() );
// Register ground callback.
/******************************************************************************/
+void checkTied ( FGPropertyManager *node )
+{
+ int N = node->nChildren();
+ string name;
+
+ for (int i=0; i<N; i++) {
+ if (node->getChild(i)->nChildren() ) {
+ checkTied( (FGPropertyManager*)node->getChild(i) );
+ }
+ if ( node->getChild(i)->isTied() ) {
+ name = ((FGPropertyManager*)node->getChild(i))->GetFullyQualifiedName();
+ node->Untie(name);
+ }
+ }
+}
+
+/******************************************************************************/
+
+void FGJSBsim::unbind()
+{
+ SGPropertyNode* instance = globals->get_props()->getNode("/fdm/jsbsim");
+ checkTied((FGPropertyManager*)instance);
+ FGInterface::unbind();
+}
+
+/******************************************************************************/
+
// Run an iteration of the EOM (equations of motion)
void FGJSBsim::update( double dt )
fgSetDouble("/fdm/jsbsim/systems/hook/tailhook-pos-deg", fi);
}
-void FGJSBsim::resetPropertyState()
-{
-// this code works-around bug #222:
-// http://code.google.com/p/flightgear-bugs/issues/detail?id=222
-// for whatever reason, having an existing value for the WOW
-// property causes the NaNs. Should that be fixed, this code can die
- SGPropertyNode* gear = fgGetNode("/fdm/jsbsim/gear", false);
- if (!gear) {
- return;
- }
-
- int index = 0;
- SGPropertyNode* unitNode = NULL;
- for (; (unitNode = gear->getChild("unit", index)) != NULL; ++index) {
- unitNode->removeChild("WOW", 0, false);
- }
-}
-