MCPcopy Create free account
hub / github.com/JSBSim-Team/jsbsim / Load_v1

Method Load_v1

src/initialization/FGInitialCondition.cpp:1128–1201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1126//******************************************************************************
1127
1128bool FGInitialCondition::Load_v1(Element* document)
1129{
1130 bool result = true;
1131
1132 if (document->FindElement("longitude"))
1133 SetLongitudeRadIC(document->FindElementValueAsNumberConvertTo("longitude", "RAD"));
1134 if (document->FindElement("elevation"))
1135 SetTerrainElevationFtIC(document->FindElementValueAsNumberConvertTo("elevation", "FT"));
1136
1137 if (document->FindElement("altitude")) // This is feet above ground level
1138 SetAltitudeAGLFtIC(document->FindElementValueAsNumberConvertTo("altitude", "FT"));
1139 else if (document->FindElement("altitudeAGL")) // This is feet above ground level
1140 SetAltitudeAGLFtIC(document->FindElementValueAsNumberConvertTo("altitudeAGL", "FT"));
1141 else if (document->FindElement("altitudeMSL")) // This is feet above sea level
1142 SetAltitudeASLFtIC(document->FindElementValueAsNumberConvertTo("altitudeMSL", "FT"));
1143
1144 result = LoadLatitude(document);
1145
1146 FGColumnVector3 vOrient = orientation.GetEuler();
1147
1148 if (document->FindElement("phi"))
1149 vOrient(ePhi) = document->FindElementValueAsNumberConvertTo("phi", "RAD");
1150 if (document->FindElement("theta"))
1151 vOrient(eTht) = document->FindElementValueAsNumberConvertTo("theta", "RAD");
1152 if (document->FindElement("psi"))
1153 vOrient(ePsi) = document->FindElementValueAsNumberConvertTo("psi", "RAD");
1154
1155 orientation = FGQuaternion(vOrient);
1156
1157 if (document->FindElement("ubody"))
1158 SetUBodyFpsIC(document->FindElementValueAsNumberConvertTo("ubody", "FT/SEC"));
1159 if (document->FindElement("vbody"))
1160 SetVBodyFpsIC(document->FindElementValueAsNumberConvertTo("vbody", "FT/SEC"));
1161 if (document->FindElement("wbody"))
1162 SetWBodyFpsIC(document->FindElementValueAsNumberConvertTo("wbody", "FT/SEC"));
1163 if (document->FindElement("vnorth"))
1164 SetVNorthFpsIC(document->FindElementValueAsNumberConvertTo("vnorth", "FT/SEC"));
1165 if (document->FindElement("veast"))
1166 SetVEastFpsIC(document->FindElementValueAsNumberConvertTo("veast", "FT/SEC"));
1167 if (document->FindElement("vdown"))
1168 SetVDownFpsIC(document->FindElementValueAsNumberConvertTo("vdown", "FT/SEC"));
1169 if (document->FindElement("vc"))
1170 SetVcalibratedKtsIC(document->FindElementValueAsNumberConvertTo("vc", "KTS"));
1171 if (document->FindElement("vt"))
1172 SetVtrueKtsIC(document->FindElementValueAsNumberConvertTo("vt", "KTS"));
1173 if (document->FindElement("mach"))
1174 SetMachIC(document->FindElementValueAsNumber("mach"));
1175 if (document->FindElement("gamma"))
1176 SetFlightPathAngleDegIC(document->FindElementValueAsNumberConvertTo("gamma", "DEG"));
1177 if (document->FindElement("roc"))
1178 SetClimbRateFpsIC(document->FindElementValueAsNumberConvertTo("roc", "FT/SEC"));
1179 if (document->FindElement("vground"))
1180 SetVgroundKtsIC(document->FindElementValueAsNumberConvertTo("vground", "KTS"));
1181 if (document->FindElement("alpha"))
1182 SetAlphaDegIC(document->FindElementValueAsNumberConvertTo("alpha", "DEG"));
1183 if (document->FindElement("beta"))
1184 SetBetaDegIC(document->FindElementValueAsNumberConvertTo("beta", "DEG"));
1185 if (document->FindElement("vwind"))

Callers

nothing calls this directly

Calls 15

SetUBodyFpsICFunction · 0.85
SetVBodyFpsICFunction · 0.85
SetWBodyFpsICFunction · 0.85
SetVNorthFpsICFunction · 0.85
SetVEastFpsICFunction · 0.85
SetVDownFpsICFunction · 0.85
SetVtrueKtsICFunction · 0.85
SetFlightPathAngleDegICFunction · 0.85
SetVgroundKtsICFunction · 0.85
SetAlphaDegICFunction · 0.85
SetBetaDegICFunction · 0.85
SetTargetNlfICFunction · 0.85

Tested by

no test coverage detected