]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/TankProperties.cxx
Synchronized with JSBSim/CVS
[flightgear.git] / src / FDM / TankProperties.cxx
index d42871a61f9f497fd5a7fff4106ee089009833e0..e07036f8f8d5b1caf645a1a8a384755594d18434 100644 (file)
@@ -43,6 +43,10 @@ TankProperties::TankProperties(SGPropertyNode_ptr rootNode ) :
   _unusable_m3(0.0)
 {
   _tiedProperties.setRoot( rootNode );
+}
+
+void TankProperties::bind()
+{
   _tiedProperties.Tie("level-kg", this, &TankProperties::getContent_kg, &TankProperties::setContent_kg );
   _tiedProperties.Tie("density-kgpm3", this, &TankProperties::getDensity_kgpm3, &TankProperties::setDensity_kgpm3 );
   _tiedProperties.Tie("capacity-m3", this, &TankProperties::getCapacity_m3, &TankProperties::setCapacity_m3 );
@@ -68,6 +72,11 @@ TankProperties::~TankProperties()
 {
 }
 
+void TankProperties::unbind()
+{
+    _tiedProperties.Untie();
+}
+
 double TankProperties::getContent_kg() const
 {
   return _content_kg;
@@ -227,12 +236,6 @@ TankPropertiesList::TankPropertiesList( SGPropertyNode_ptr rootNode )
   }
 
   _tiedProperties.setRoot( rootNode );
-  _tiedProperties.Tie("total-fuel-kg", this, &TankPropertiesList::getTotalContent_kg );
-  _tiedProperties.Tie("total-fuel-lbs", this, &TankPropertiesList::getTotalContent_lbs );
-  _tiedProperties.Tie("total-fuel-gal_us", this, &TankPropertiesList::getTotalContent_gal_us );
-  _tiedProperties.Tie("total-fuel-gals", this, &TankPropertiesList::getTotalContent_gal_us );
-  _tiedProperties.Tie("total-fuel-gal_imp", this, &TankPropertiesList::getTotalContent_gal_imp );
-  _tiedProperties.Tie("total-fuel-norm", this, &TankPropertiesList::getTotalContent_norm );
 }
 
 double TankPropertiesList::getTotalContent_lbs() const
@@ -286,4 +289,23 @@ double TankPropertiesList::getTotalContent_norm() const
   return capacity > SGLimitsd::min() ? content / capacity : 0.0;
 }
 
+void TankPropertiesList::bind()
+{
+    _tiedProperties.Tie("total-fuel-kg", this, &TankPropertiesList::getTotalContent_kg );
+    _tiedProperties.Tie("total-fuel-lbs", this, &TankPropertiesList::getTotalContent_lbs );
+    _tiedProperties.Tie("total-fuel-gal_us", this, &TankPropertiesList::getTotalContent_gal_us );
+    _tiedProperties.Tie("total-fuel-gals", this, &TankPropertiesList::getTotalContent_gal_us );
+    _tiedProperties.Tie("total-fuel-gal_imp", this, &TankPropertiesList::getTotalContent_gal_imp );
+    _tiedProperties.Tie("total-fuel-norm", this, &TankPropertiesList::getTotalContent_norm );
+    for( const_iterator it = begin(); it != end(); ++it ) {
+      (*it)->bind();
+    }
+}
 
+void TankPropertiesList::unbind()
+{
+    for( const_iterator it = begin(); it != end(); ++it ) {
+      (*it)->unbind();
+    }
+    _tiedProperties.Untie();
+}