#include "FGTank.h"
+#if !defined ( sgi ) || defined( __GNUC__ ) && (_COMPILER_VERSION < 740)
+using std::cerr;
+using std::endl;
+using std::cout;
+#endif
+
+namespace JSBSim {
+
static const char *IdSrc = "$Id$";
static const char *IdHdr = ID_TANK;
CLASS IMPLEMENTATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
-#if !defined ( sgi ) || defined( __GNUC__ )
-using std::cerr;
-using std::endl;
-using std::cout;
-#endif
-
FGTank::FGTank(FGConfigFile* AC_cfg)
{
string token;
-
+ double X, Y, Z;
+
type = AC_cfg->GetValue("TYPE");
if (type == "FUEL") Type = ttFUEL;
else if (type == "OXIDIZER") Type = ttOXIDIZER;
else Type = ttUNKNOWN;
-
+
AC_cfg->GetNextConfigLine();
while ((token = AC_cfg->GetValue()) != string("/AC_TANK")) {
if (token == "XLOC") *AC_cfg >> X;
else if (token == "CONTENTS") *AC_cfg >> Contents;
else cerr << "Unknown identifier: " << token << " in tank definition." << endl;
}
-
+
+ vXYZ << X << Y << Z;
+
Selected = true;
if (Capacity != 0) {
} else {
Contents = 0;
PctFull = 0;
- }
+ }
Debug(0);
}
double FGTank::Reduce(double used)
{
- double shortage;
+ double shortage = Contents - used;
- if (used < Contents) {
+ if (shortage >= 0) {
Contents -= used;
PctFull = 100.0*Contents/Capacity;
- return 0.0;
} else {
- shortage = Contents - used;
Contents = 0.0;
PctFull = 0.0;
Selected = false;
- return shortage;
}
+ return shortage;
}
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (from == 0) { // Constructor
cout << " " << type << " tank holds " << Capacity << " lbs. " << type << endl;
cout << " currently at " << PctFull << "% of maximum capacity" << endl;
- cout << " Tank location (X, Y, Z): " << X << ", " << Y << ", " << Z << endl;
+ cout << " Tank location (X, Y, Z): " << vXYZ(eX) << ", " << vXYZ(eY) << ", " << vXYZ(eZ) << endl;
cout << " Effective radius: " << Radius << " inches" << endl;
}
}
}
}
}
-
+}