12#ifndef WSFSIXDOFMOVER_HPP
13#define WSFSIXDOFMOVER_HPP
15#include "wsf_six_dof_export.h"
19#include "UtCallback.hpp"
20#include "UtCallbackHolder.hpp"
22#include "UtEntity.hpp"
24#include "UtQuaternion.hpp"
26#include "UtVec3dX.hpp"
41#include "maneuvers/WsfSixDOF_Maneuver.hpp"
42#include "maneuvers/WsfSixDOF_ManeuverSequence.hpp"
70 bool ProcessInput(UtInput& aInput)
override;
71 bool ProcessVehicleInput(UtInput& aInput);
73 bool Initialize(
double aSimTime)
override;
79 void UpdateEventPipeData(
double aSimTime);
82 void SetHeading(
double aHeading)
override;
85 void SetPitch(
double aPitch)
override;
88 void SetRoll(
double aRoll)
override;
91 void SetOrientationNED(
double aHeading,
double aPitch,
double aRoll)
override;
94 void GetStateData(
double& aSimTime_sec,
98 double& aLocalHeading_deg,
99 double& aLocalPitch_deg,
100 double& aLocalRoll_deg,
104 double& aVertSpeed_fpm,
105 double& aYawRate_dps,
106 double& aPitchRate_dps,
107 double& aRollRate_dps)
const;
110 size_t GetPlannedRouteIndex()
const;
113 size_t GetTempRouteIndex()
const;
178 double GetTotalWeight_lbs()
const;
181 double GetTotalWeight_kg()
const;
187 bool IsProducingThrust()
const;
190 double GetTotalThrust();
193 double GetTotalForwardThrust();
196 bool GetAfterburnerOn()
const;
199 double GetEngineThrust(
const std::string& aEngineName)
const;
202 double GetEngineFuelFlowRate(
const std::string& aEngineName)
const;
205 bool GetEngineAfterburnerOn(
const std::string& aEngineName)
const;
208 double GetTotalFuelFlowRate()
const;
212 bool AddFuelTransfer(std::string aFuelTransferName, std::string aSourceTankName, std::string aTargetTankName);
215 bool RemoveFuelTransfer(std::string aFuelTransferName);
218 void EnableThrustVectoring(
bool aEnableThrustVectoring);
224 void SetAutopilotPitchAngle(
double aPitchAngle_deg);
227 void SetAutopilotFlightPathAngle(
double aFlightPathAngle_deg);
230 void SetAutopilotVerticalSpeed(
double aVerticalSpeed_fpm);
233 void SetAutopilotAltitude(
double aAltitude_ft);
236 void SetAutopilotRollAngle(
double aRollAngle_deg);
239 void SetAutopilotRollRate(
double aRollRate_dps);
242 void SetPitchGLoad(
double aGLoad);
245 void SetAutopilotPitchRate(
double aPitchRate_dps);
248 void SetAutopilotDeltaPitch(
double DeltaPitchAngle_deg);
251 void SetAutopilotDeltaRoll(
double DeltaRollAngle_deg);
254 void SetAutopilotSpeedKTAS(
double aSpeed_KTAS);
257 void SetAutopilotSpeedKCAS(
double aSpeed_KCAS);
260 void SetAutopilotSpeedMach(
double aSpeed_Mach);
263 void SetAutopilotThrottle(
double aThrottle);
266 void SetAutopilotLateralWaypointMode();
269 void SetAutopilotVerticalWaypointMode();
272 void SetAutopilotSpeedWaypointMode();
275 void SetAutopilotWaypointMode();
278 void SetAutopilotNoControl();
281 void EnableDirectThrottleInput();
284 void ReleaseDirectThrottleInput();
287 void MoveThrottleToIdle();
290 void MoveThrottleToFull();
293 void MoveThrottleToAfterburner();
296 void EnableDirectSpeedBrakeInput();
299 void ReleaseDirectSpeedBrakeInput();
302 void OpenSpeedBrake();
305 void CloseSpeedBrake();
324 void TakeDirectControlInput();
328 void ReleaseDirectControlInput();
336 void SetDirectControlInputs(
double aStickX,
double aStickY,
double aRudder,
double aThrottleLeverPosition);
339 void EnableDirectStickRightInput();
342 void EnableDirectStickBackInput();
345 void EnableDirectRudderRightInput();
348 void ReleaseDirectStickRightInput();
351 void ReleaseDirectStickBackInput();
354 void ReleaseDirectRudderRightInput();
357 void SetDirectStickRightInput(
double aStickX);
360 void SetDirectStickBackInput(
double aStickY);
363 void SetDirectRudderRightInput(
double aRudderValue);
367 void SetDirectThrottleInput(
double aThrottleLeverPosition);
370 bool StallWarningAlert()
const;
374 bool GoToLocation(
double aSimTime,
double aLatitude,
double aLongitude,
double aAltitude)
override;
376 bool TurnToHeading(
double aSimTime,
378 double aRadialAccel_mps2,
381 bool GoToSpeed(
double aSimTime,
double aSpeed_mps,
double aLinearAccel_mps2,
bool aKeepRoute)
override;
383 bool GoToAltitude(
double aSimTime,
385 double aClimbDiveRate_mps,
386 bool aKeepRoute)
override;
388 bool TurnToRelativeHeading(
double aSimTime,
389 double aHeadingChange_rad,
390 double aRadialAccel_mps2,
393 bool ReturnToRoute(
double aSimTime)
override;
403 bool UpdateRoute(
double aSimTime,
const WsfRoute& aRoute)
override;
411 bool GoToWaypoint(
double,
412 unsigned int aDestination)
override;
415 bool SetDefaultRoute(
const WsfRoute& aRoute);
418 bool SetTempRoute(
const WsfRoute& aRoute);
421 bool SetRoute(
double aSimTime,
const WsfRoute& aRoute)
override;
427 int RoutePointIndex()
const override;
429 bool FlyRates(
const UtVec3d& aAngularRates,
430 const UtVec3d& aLongitudinalAccel)
override;
432 bool FlyHeadingSpeedAltitude(
double aHeading,
436 double aMaxClimb)
override;
438 bool TurnInPlaneWithSpeed(
const UtVec3d& aPlane,
440 double aSpeed)
override;
442 bool TurnInPlaneWithThrottle(
const UtVec3d& aPlane,
444 double aThrottle)
override;
446 bool FlyVectorWithSpeed(
const UtVec3d& aVelocityVector,
449 double aSpeed)
override;
451 bool FlyVectorWithThrottle(
const UtVec3d& aVelocityVector,
454 double aThrottle)
override;
456 void CommandSlice(
double aTargetHeading_deg,
double aTargetAltitude_m,
double aTargetMach = 0.0);
458 void CommandLevelTurn(
double aTargetHeading_deg,
double aTargetMach,
double aTargetGees = 0.0);
463 void EnableAutopilot(
bool aState);
466 void ActivateSimpleManualPilot();
469 void ActivateAugmentedManualPilot();
472 void ActivateSyntheticPilot();
477 void RevertLimitsToDefaults();
480 double GetPitchGLoadMin();
483 double GetPitchGLoadMax();
486 double GetAlphaMin();
489 double GetAlphaMax();
492 double GetPitchRateMin();
495 double GetPitchRateMax();
498 double GetVerticalSpeedMin();
501 double GetVerticalSpeedMax();
504 double GetYawGLoadMax();
510 double GetYawRateMax();
513 double GetRollRateMax();
516 double GetBankAngleMax();
519 double GetForwardAccelMin();
522 double GetForwardAccelMax();
525 void SetPitchGLoadMin(
double aGees);
528 void SetPitchGLoadMax(
double aGees);
531 void SetAlphaMin(
double aAlpha);
534 void SetAlphaMax(
double aAlpha);
537 void SetPitchRateMin(
double aPitchRate);
540 void SetPitchRateMax(
double aPitchRate);
543 void SetVerticalSpeedMin(
double aVertSpeed);
546 void SetVerticalSpeedMax(
double aVertSpeed);
549 void SetYawGLoadMax(
double aYawGLoad);
552 void SetBetaMax(
double aBeta);
555 void SetYawRateMax(
double aYawRate);
558 void SetRollRateMax(
double aRollRate);
561 void SetBankAngleMax(
double aBankAngle);
564 void SetForwardAccelMin(
double aForwardAccel);
567 void SetForwardAccelMax(
double aForwardAccel);
570 void SetTurnRollInMultiplier(
double aValue);
573 void SetRouteAllowableAngleError(
double aValue_rad);
576 double GetCurrentTurnRollInMultiplier();
579 double GetDefaultTurnRollInMultiplier();
582 double GetCurrentRouteAllowableAngleError();
585 double GetDefaultRouteAllowableAngleError();
588 virtual double GetCLMaxAtMach(
double aMach)
const;
591 virtual double GetAlphaAtCLMaxAtMach_deg(
double aMach)
const;
605 wsf::six_dof::Maneuver* GetCurrentManeuver()
const;
608 wsf::six_dof::ManeuverSequence* GetManeuverSequence()
const;
611 void ExecuteManeuver(
double aSimTime, std::unique_ptr<wsf::six_dof::Maneuver>&& aManeuverPtr);
614 void ExecuteManeuverSequence(
double aSimTime, std::unique_ptr<wsf::six_dof::ManeuverSequence>&& aSequencePtr);
617 void CancelManeuvers();
621 void GetInitialState(
double aLocWCS[3],
double aVelWCS[3],
double aOrientationNED[3])
const;
622 void SetInitialLatLon(
double aLat,
double aLon);
623 void SetInitialAlt(
double aAlt_m);
624 void SetInitialNEDHeading(
double aHeading_rad);
625 void SetInitialNEDPitch(
double aPitch_rad);
626 void SetInitialNEDRoll(
double aRoll_rad);
627 void SetInitialNEDVelocity(
double aVelNorth_mps,
double aVelEast_mps,
double aVelDown_mps);
631 void Update(
double aSimTime)
override;
632 void UpdateAppearance(
double aSimTime);
639 std::string GetActivePilot()
const;
645 std::string GetAutopilotLateralMode()
const;
649 float GetAutopilotLateralModeValue()
const;
655 std::string GetAutopilotVerticalMode()
const;
659 float GetAutopilotVerticalModeValue()
const;
665 std::string GetAutopilotSpeedMode()
const;
666 std::string SpeedModeToString(
Speed::Mode aMode)
const;
669 float GetAutopilotSpeedModeValue()
const;
750 void AddFuel(
double aFuelMass_kg);
778 void SetFuelInTank(
const std::string& aTankName,
double aFuel_kg);
814 bool JokerFuelReached();
817 bool BingoFuelReached();
823 aInput.ReadValue(value);
824 aInput.ReadValue(units);
825 UtStringUtil::ToLower(units);
826 UtInput::ValueType valueType = UtInput::GetValueTypeOf(units);
828 if (valueType == UtInput::ValueType::cFREQUENCY)
833 value = (1.0 / value);
851 void SetYandZGLoads(
double aYGLoad,
double aZGLoad);
867 void WriteKinematicStatus(ut::log::MessageStream& aStream);
878 void SetDamageFactor(
double aDamageFactor);
885 void ResetPosition(
double aSimTime)
override;
948 WsfPlatform* DirectJettisonSubobjectPlatform(
Mover* aJettisonedObject,
double aSimTime_sec);
960 void DeriveFrom(
const Mover& aSrc);
962 bool Initialize(
double aSimTime_sec,
const std::string& aPrefixName);
964 bool InitializeConditions(
double aSimTime_sec);
966 bool InitializeSequencers(
double aSimTime_sec);
967 bool InitializeSubobjects(
double aSimTime_sec);
977 void Update(int64_t aSimTime_nanosec);
978 virtual void UpdateObject(int64_t aSimTime_nanosec);
1009 void SetPrepositionAlt_m(
double aAltitude_m);
1061 UtVec3dX GetAccelNED_mps2()
const;
1071 void GetOrientationWCS_rad(
double& aWcsYaw_rad,
double& aWcsPitch_rad,
double& aWcsRoll_rad)
const;
1074 void GetAttitudeNED_rad(
double& aHeading,
double& aPitch,
double& aRoll);
1106 void GetLocationWCS_m(
double& aWcsPosX_m,
double& aWcsPosY_m,
double& aWcsPosZ_m)
const;
1109 UtVec3dX GetLocationWCS_m()
const;
1117 void GetVelocityWCS_mps(
double& aWcsVelX_mps,
double& aWcsVelY_mps,
double& aWcsVelZ_mps)
const;
1120 UtVec3dX GetVelocityWCS_mps()
const;
1123 UtVec3dX GetVelocityNED_mps()
const;
1182 mKinematicState.GetOmegaBodyDot().Get(xAxis_rps2, yAxis_rps2, zAxis_rps2);
1217 void SetLocationLLA(
double aLat,
double aLon,
double aAlt_m);
1220 void SetLocationWCS_m(
double aWcsPosX_m,
double aWcsPosY_m,
double aWcsPosZ_m);
1223 void SetVelocityWCS_mps(
double aWcsVelX_mps,
double aWcsVelY_mps,
double aWcsVelZ_mps);
1226 void SetVelocityNED_mps(
double aVelNorth_mps,
double aVelEast_mps,
double aVelDown_mps);
1229 void SetOrientationWCS_rad(
double aWcsYaw_rad,
double aWcsPitch_rad,
double aWcsRoll_rad);
1232 void SetAttitudeNED_rad(
double aHeading_rad,
double aPitch_rad,
double aRoll_rad);
1235 void ZeroBodyRates();
1258 virtual void SetLastSimTime(
double aSimTime_sec,
bool aIncludeSubobjects =
false) = 0;
1272 UtVec3dX& aDragBodyVector_lbs,
1273 UtVec3dX& aSideForceBodyVector_lbs,
1274 UtVec3dX& aMoment_ftlbs,
1275 UtVec3dX& aReferencePt_ft) = 0;
1278 UtVec3dX& aDragBodyVector_lbs,
1279 UtVec3dX& aSideForceBodyVector_lbs,
1280 UtVec3dX& aRotationAccelerationLimits_rps2,
1281 UtVec3dX& aStabilizingFrequency_rps) = 0;
1286 double aDynPress_lbsqft,
1287 double aStatPress_lbssqft,
1293 double& aFuelBurnRate_pps,
1294 double& aFuelBurned_lbs) = 0;
1299 double aDynPress_lbsqft,
1300 double aStatPress_lbssqft,
1306 double& aFuelBurnRate_pps,
1307 double& aFuelBurned_lbs) = 0;
1323 void GetPositionRelativeToParent(UtVec3dX& aPosRelToParent_m, UtVec3dX& aAngRelToParentYPR_rad);
1325 void SetYawRelToParent_rad(
double aYawAngle_rad);
1326 void SetPitchRelToParent_rad(
double aYawAngle_rad);
1327 void SetRollRelToParent_rad(
double aYawAngle_rad);
1329 void AdjustForParentInducedEffects();
1330 void ImpartSeparationEffects();
1335 bool JettisonSubobject(
const std::string& aSubobjectName, int64_t aSimTime_nanosec);
1336 bool JettisonSubobject(
Mover* aSubobject, int64_t aSimTime_nanosec);
1341 std::unique_ptr<Mover> DirectJettisonOfSubobject(
Mover* aSubobject,
double aSimTime_sec);
1344 void AddSubObject(std::unique_ptr<Mover> aSubObject);
1347 const std::list<std::unique_ptr<Mover>>& GetSubobjectList()
const;
1349 Mover* GetSubobjectByName(
const std::string& aSubobjectName)
const;
1350 Mover* GetSubobjectByBaseName(
const std::string& aSubobjectName)
const;
1356 const Mover* aCallingObject,
1357 int aCallingLevel = 0)
const;
1360 bool HasAfterburner()
const;
1363 FuelTank* GetFuelTankByName(
const std::string& aName)
const;
1365 FuelTank* GetFuelTankByName(
const std::string& aName,
const Mover* aCallingObject,
int aCallingLevel = 0)
const;
1369 bool SetFuelFeed(std::string aEngineName, std::string aFuelTankName);
1373 bool SetFuelFeed(std::string aFuelTankName);
1377 double GetTotalFuelTankCapacity_lbs()
const;
1382 double GetCurrentTotalFuelTankQuantity_lbs()
const;
1386 double GetInternalFuelTankCapacity_lbs()
const;
1390 double GetCurrentInternalFuelTankQuantity_lbs()
const;
1395 double GetExternalFuelTankCapacity_lbs()
const;
1400 double GetCurrentExternalFuelTankQuantity_lbs()
const;
1403 double GetRemainingFuelPercent()
const;
1411 void AddFuelQuantity_lbs(
double aFuelToAdd_lbs);
1417 void SetFuelInTank_lbs(
const std::string& aTankName,
double aFuel_lbs);
1421 int GetNumberOfExternalTanks()
const;
1501 bool ActivateSequencer(
const std::string& aSubobjectName,
const std::string& aSequencerName);
1541 void SetNamePrefix(
const std::string& aPrefixName);
1562 double aPitchAngle_deg,
1564 double aThrottleForward,
1603 bool AnEngineIsOperating()
const;
1604 bool AnEngineIsSmoking()
const;
1605 bool AnEngineHasAfterburnerOn()
const;
1606 bool ContrailTrailingEffectPresent()
const;
1607 bool RocketSmokeTrailingEffectPresent()
const;
1608 bool DamageSmokeTrailingEffectPresent()
const;
1609 bool FlamesArePresent()
const;
1611 void MakeEnginesSmoke();
1612 void ActivateDamageSmokeTrailingEffect(
bool aEffectActive);
1613 void ActivateFlamesEffect(
bool aFlamesPresent);
1617 bool WithinContrailAltitudeBand(
double aAltitude_ft)
const;
1620 double& aCurrentTotalFuel_lbs,
1621 double& aMaxTotalFuel_lbs) = 0;
1662 bool ExecuteTriggers(
double aSimTime,
unsigned int aPointIndex)
override;
1678 std::string& aRootName,
1680 const UtQuaternion& aRotation,
1681 const UtVec3dX& aOffset);
1688 virtual void CalculateWashIn(
double aSimTime_sec);
aObjectPtr Update(simTime)
WsfSpatialDomain
A collection of enumerations and type definitions that are used across a number of components.
Definition WsfTypes.hpp:32
@ WSF_SPATIAL_DOMAIN_AIR
Cars, trucks, buildings, etc.
Definition WsfTypes.hpp:35
Definition WsfMoverGuidance.hpp:23
A collection of WsfWaypoint objects that represent a path to be followed.
Definition WsfRoute.hpp:40
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfVisualPart.hpp:26
Definition WsfSixDOF_AeroCoreObject.hpp:35
Definition WsfSixDOF_Environment.hpp:30
Definition WsfSixDOF_ForceAndMomentsObject.hpp:28
Definition WsfSixDOF_ForceAndRotationObject.hpp:30
Definition WsfSixDOF_FuelTank.hpp:35
Definition WsfSixDOF_Integrator.hpp:31
Definition WsfSixDOF_KinematicState.hpp:34
Definition WsfSixDOF_MassProperties.hpp:29
Definition WsfSixDOF_MoverTestObject.hpp:33
This is a base class for detailed air movers. This umbrella can cover RB6 or PM6 models.
Definition WsfSixDOF_Mover.hpp:58
UtCallbackListN< void(std::unique_ptr< Mover > &)> SubobjectJettisoned
Definition WsfSixDOF_Mover.hpp:1645
virtual bool GetLastBooleanInput(size_t) const =0
virtual bool FlapRightValid() const
Definition WsfSixDOF_Mover.hpp:694
void SetBingoFuelState(double aBingoFuel_kg)
Definition WsfSixDOF_Mover.hpp:805
bool AnEngineIsOperating() const
Definition WsfSixDOF_Mover.cpp:2844
double GetInternalFuelRemaining() const
Definition WsfSixDOF_Mover.cpp:3766
virtual bool StabilizerLeftValid() const
Definition WsfSixDOF_Mover.hpp:697
void ClampToSeaLevelMinAlt()
Definition WsfSixDOF_Mover.cpp:1994
double GetAlpha_rad() const
Definition WsfSixDOF_Mover.hpp:1160
bool GetIsLightlyDamaged() const
Definition WsfSixDOF_Mover.hpp:932
bool mThrottleFullAtStart
Definition WsfSixDOF_Mover.hpp:1719
double GetAlt_m() const
Definition WsfSixDOF_Mover.hpp:118
double mLastFlapsLeverPosition
Definition WsfSixDOF_Mover.hpp:1760
void SetTheLastValues()
Definition WsfSixDOF_Mover.cpp:1203
void SetTestingClampToSeaLevelMinAlt(bool aValue)
Definition WsfSixDOF_Mover.hpp:1635
bool GetTestingIgnoreAllCrashes() const
Definition WsfSixDOF_Mover.hpp:1631
const Environment * GetEnvironment() const
Definition WsfSixDOF_Mover.hpp:1027
double GetFuelTankCapacity(const std::string &aTankName) const
Definition WsfSixDOF_Mover.cpp:3776
UtVec3dX mPosRelToParent_m
Definition WsfSixDOF_Mover.hpp:1814
double GetLandingGearLeverPosition() const
Definition WsfSixDOF_Mover.cpp:4338
double GetBetaDot_rps() const
Definition WsfSixDOF_Mover.hpp:1175
double GetTimeOfFlight_sec() const
Definition WsfSixDOF_Mover.hpp:1518
Mover * GetParentVehicle() const
Definition WsfSixDOF_Mover.hpp:953
std::string GetDerivedFromName() const
Definition WsfSixDOF_Mover.hpp:1538
void InitializeSubobject(double aSimTime, std::string &aRootName, Mover *aObject, const UtQuaternion &aRotation, const UtVec3dX &aOffset)
Definition WsfSixDOF_Mover.cpp:3498
bool mLastIsCaptive
Definition WsfSixDOF_Mover.hpp:1812
void SetGuidance(WsfMoverGuidance *aGuidancePtr)
Set the pointer to the mover guidance object. Ownership is retained by the caller.
Definition WsfSixDOF_Mover.hpp:843
double GetEmptyWeight_lbs() const
Definition WsfSixDOF_Mover.hpp:1243
Mover(const WsfScenario &aScenario)
Constructor.
Definition WsfSixDOF_Mover.cpp:63
virtual double GetSpeedBrakeInput() const =0
bool mIsInitialized
Definition WsfSixDOF_Mover.hpp:1799
double mCommandedPitchRate
Definition WsfSixDOF_Mover.hpp:1735
virtual double GetMaximumPotentialThrust_lbs() const =0
virtual double GetCurrentForwardThrust_lbs()=0
double mInitialSpeed_NED_Y_fps
Definition WsfSixDOF_Mover.hpp:1771
virtual void SetSpoilersPosition(double aPosition)=0
virtual double GetCurrentThrust_lbs()=0
UtVec3dX mSeparationVel_fps
Definition WsfSixDOF_Mover.hpp:1816
double GetJokerFuelState()
Definition WsfSixDOF_Mover.hpp:808
double GetTotalFuelCapacity() const
Definition WsfSixDOF_Mover.cpp:3741
virtual void CalculateAeroBodyForceAndMoments(UtVec3dX &aLiftBodyVector_lbs, UtVec3dX &aDragBodyVector_lbs, UtVec3dX &aSideForceBodyVector_lbs, UtVec3dX &aMoment_ftlbs, UtVec3dX &aReferencePt_ft)=0
bool PendingEventTimes_nanosec(int64_t aSimTime_nanosec, std::set< int64_t > &aEventTime_nanosec)
Definition WsfSixDOF_Mover.cpp:1749
virtual PropulsionSystem * GetPropulsionSystem() const =0
bool PendingSequencerEventTimes_nanosec(int64_t aSimTime_nanosec, std::set< int64_t > &aEventTime_nanosec)
Definition WsfSixDOF_Mover.cpp:1720
void AddFuel(double aFuelMass_kg)
Definition WsfSixDOF_Mover.cpp:3746
virtual bool GetBooleanInput(size_t) const =0
size_t GetNumSubobjects() const
Definition WsfSixDOF_Mover.hpp:1334
virtual double GetThrottleInput() const =0
bool GetContrailTrailingEffect() const
Definition WsfSixDOF_Mover.hpp:902
double GetLastUpdateTime_sec() const
Definition WsfSixDOF_Mover.hpp:1511
bool ExecuteTriggersCB(unsigned int aPointIndex)
Definition WsfSixDOF_Mover.cpp:3372
virtual bool AileronRightValid() const
Definition WsfSixDOF_Mover.hpp:692
void GetStartingLatLon(double &aStartingLat, double &aStartingLon) const
Definition WsfSixDOF_Mover.hpp:1034
double GetYawRate()
Definition WsfSixDOF_Mover.hpp:139
bool GetFlamesArePresent() const
Definition WsfSixDOF_Mover.hpp:926
void SetLastCaptiveState(bool aLastIsCaptive)
Definition WsfSixDOF_Mover.hpp:1318
virtual double GetStickRightInput() const =0
virtual void UpdateAppearance()
Definition WsfSixDOF_Mover.hpp:1600
virtual bool StabilizerRightValid() const
Definition WsfSixDOF_Mover.hpp:698
virtual double GetSpoilerInput() const =0
virtual double GetTotalVehicleFuelFlow_pph() const =0
double GetSideForce_nt() const
Definition WsfSixDOF_Mover.hpp:154
const MassProperties & GetMassProperties() const
Definition WsfSixDOF_Mover.hpp:1241
virtual bool RudderValid() const
Definition WsfSixDOF_Mover.hpp:701
bool GetLastIsCaptive() const
Definition WsfSixDOF_Mover.hpp:1212
virtual bool FlapLeftValid() const
Definition WsfSixDOF_Mover.hpp:693
void SetWashInInitConditions(bool aUseWashInInitConditions)
Definition WsfSixDOF_Mover.hpp:971
bool mEnableThrustVectoringAtStart
Definition WsfSixDOF_Mover.hpp:1722
UtCallbackHolder mCallbacks
Definition WsfSixDOF_Mover.hpp:1797
double GetStepSize_sec() const
Definition WsfSixDOF_Mover.hpp:1508
virtual bool RudderLeftValid() const
Definition WsfSixDOF_Mover.hpp:700
double mCommandedYawRate
Definition WsfSixDOF_Mover.hpp:1734
UtCallbackListN< void(double, double)> StageSeparation
Definition WsfSixDOF_Mover.hpp:1655
int64_t mStepSize_nanosec
Definition WsfSixDOF_Mover.hpp:1807
void CalculateSizeFactor(double dT_sec)
Definition WsfSixDOF_Mover.cpp:1484
double mInitialLat
Definition WsfSixDOF_Mover.hpp:1847
void SetBaseName(const std::string &aName)
Definition WsfSixDOF_Mover.hpp:1544
double GetSpeed_mps() const
Definition WsfSixDOF_Mover.hpp:1136
UtCallbackListN< void(double, double)> StageBurnout
Definition WsfSixDOF_Mover.hpp:1654
std::unique_ptr< Mover > SeparateSubObject(Mover *aSubObject)
Definition WsfSixDOF_Mover.cpp:2153
bool ContrailTrailingEffectPresent() const
Definition WsfSixDOF_Mover.cpp:2882
double GetNominalEstimateMaxBeta_deg() const
Definition WsfSixDOF_Mover.hpp:1572
double mLastSpdBrakeLeverPosition
Definition WsfSixDOF_Mover.hpp:1758
const double cUNDEFINED_DOUBLE
Definition WsfSixDOF_Mover.hpp:1713
std::queue< WsfPlatform * > mNewlyJettisonedPlatforms
Definition WsfSixDOF_Mover.hpp:1784
double GetThrustMagnitude_lbs() const
Definition WsfSixDOF_Mover.hpp:1058
void TerminateThrust(int64_t aTerminateTime_nanosec=0)
Definition WsfSixDOF_Mover.cpp:2768
double GetAlphaDot_rps() const
Definition WsfSixDOF_Mover.hpp:1165
double GetBetaDot_dps() const
Definition WsfSixDOF_Mover.hpp:1177
virtual void CalculateBetaAtSpecifiedGLoad_deg(double aMach, double &aBeta_deg) const =0
virtual bool LandingGearNoseValid() const
Definition WsfSixDOF_Mover.hpp:705
bool mValidInitialNEDPitch
Definition WsfSixDOF_Mover.hpp:1776
void SetAngRelToParentYPR_rad(const UtVec3dX &aAngRelToParentYPR_rad)
Definition WsfSixDOF_Mover.hpp:1319
double GetDrag_lbs() const
Definition WsfSixDOF_Mover.hpp:1052
double GetRollRate_rps() const
Definition WsfSixDOF_Mover.hpp:1155
bool IsExternalFuelTank()
Definition WsfSixDOF_Mover.cpp:2514
double GetExternalFuelRemaining() const
Definition WsfSixDOF_Mover.cpp:3771
void SetCommandedSpeed(double aCommandedSpeed)
Definition WsfSixDOF_Mover.hpp:863
UtVec3d mManeuverPlane
Definition WsfSixDOF_Mover.hpp:1729
const Environment * mEnvironment
Definition WsfSixDOF_Mover.hpp:1822
double GetInternalFuelCapacity() const
Definition WsfSixDOF_Mover.cpp:3751
double mInitialLon
Definition WsfSixDOF_Mover.hpp:1848
UtCloneablePtr< WsfRoute > mWsfRoutePtr
Definition WsfSixDOF_Mover.hpp:1786
double GetCurrentWeight_kg() const
Definition WsfSixDOF_Mover.hpp:172
double mInitialNEDHeading
Definition WsfSixDOF_Mover.hpp:1767
bool mIsCaptive
Definition WsfSixDOF_Mover.hpp:1811
virtual double GetSpeedBrakePosition() const =0
bool AutopilotAvailable() const
Definition WsfSixDOF_Mover.cpp:1520
bool mLightDamage
Definition WsfSixDOF_Mover.hpp:1869
bool GetIsHeavilyDamaged() const
Definition WsfSixDOF_Mover.hpp:938
bool mAfterburnerOn
Definition WsfSixDOF_Mover.hpp:1858
double GetRudderRightPosition() const
Definition WsfSixDOF_Mover.cpp:4283
double mLastStickX
Definition WsfSixDOF_Mover.hpp:1754
double mInitialPosition_Longitude
Definition WsfSixDOF_Mover.hpp:1765
double GetAlpha_deg() const
Definition WsfSixDOF_Mover.hpp:1162
void HandleSubobjectJettison(std::unique_ptr< Mover > &aJettisonedObject)
Definition WsfSixDOF_Mover.cpp:3569
void GetBodyRates_rps(double &xAxis_rps, double &yAxis_rps, double &zAxis_rps) const
Definition WsfSixDOF_Mover.hpp:1139
double mCommandedSpeed
Definition WsfSixDOF_Mover.hpp:1737
double GetExternalFuelCapacity() const
Definition WsfSixDOF_Mover.cpp:3756
double GetThrustReverserControlPosition() const
Definition WsfSixDOF_Mover.cpp:4316
double GetHeading_rad() const
Definition WsfSixDOF_Mover.hpp:1077
bool GetIsDestroyed() const
Definition WsfSixDOF_Mover.hpp:1590
virtual double GetRudderRightInput() const =0
double GetLongitude_deg() const
Definition WsfSixDOF_Mover.hpp:1114
double mInitialSpeed_NED_Z_fps
Definition WsfSixDOF_Mover.hpp:1772
double GetDynamicPressure_psf() const
Definition WsfSixDOF_Mover.hpp:1186
double mJokerFuel_lbs
Definition WsfSixDOF_Mover.hpp:1791
virtual size_t GetInputHandle(const std::string &) const =0
double GetPitch_rad() const
Definition WsfSixDOF_Mover.hpp:1082
double GetLastStaticPressure_psf() const
Definition WsfSixDOF_Mover.hpp:1204
double mThrustTerminationTime_sec
Definition WsfSixDOF_Mover.hpp:1851
void SetFuelInTank(const std::string &aTankName, double aFuel_kg)
Definition WsfSixDOF_Mover.cpp:3798
UtCallbackListN< void(double)> RouteChanged
Definition WsfSixDOF_Mover.hpp:1652
double GetTotalFuelFlow() const
Definition WsfSixDOF_Mover.cpp:3803
double GetApogee_km() const
Definition WsfSixDOF_Mover.hpp:1097
void UpdateFuelBurn(int64_t aSimTime_nanosec, double aDeltaT_sec, const KinematicState &aState)
Definition WsfSixDOF_Mover.cpp:1399
virtual double GetFlapsPosition() const =0
double GetLatitude_deg() const
Definition WsfSixDOF_Mover.hpp:1112
bool mFollowVerticalTrack
Definition WsfSixDOF_Mover.hpp:1789
virtual void SetLastSimTime(double aSimTime_sec, bool aIncludeSubobjects=false)=0
virtual bool HasLandingGear()
Definition WsfSixDOF_Mover.hpp:995
double mInitialAltitude_m
Definition WsfSixDOF_Mover.hpp:1766
void SetName(const std::string &aName)
Definition WsfSixDOF_Mover.hpp:1547
double mInitialPosition_Latitude
Definition WsfSixDOF_Mover.hpp:1764
bool UsingSphericalEarth() const
Definition WsfSixDOF_Mover.hpp:1624
double mMaxGees
Definition WsfSixDOF_Mover.hpp:1727
FreezeFlags * GetFreezeFlags()
Definition WsfSixDOF_Mover.hpp:1021
double GetPitchRate()
Definition WsfSixDOF_Mover.hpp:142
virtual void TestingUpdate(double aAltitude_ft, double aSpeed_fps, double aPitchAngle_deg, double aStickBack, double aThrottleForward, double aFlapsDown)
Definition WsfSixDOF_Mover.cpp:839
bool mProducesLaunchSmoke
Definition WsfSixDOF_Mover.hpp:1865
double mPrepositionLon
Definition WsfSixDOF_Mover.hpp:1846
bool mValidInitialAltitude_ft
Definition WsfSixDOF_Mover.hpp:1774
double GetNormalizedMilitaryThrust() const
Definition WsfSixDOF_Mover.cpp:2685
double mStallDetectionDeltaAngle
Definition WsfSixDOF_Mover.hpp:1832
void SetLaunchFlashSmokeIsPresent(bool aLaunchFlashSmoke)
Definition WsfSixDOF_Mover.hpp:923
void SetIsHeavilyDamaged()
Definition WsfSixDOF_Mover.hpp:941
double GetRollRate()
Definition WsfSixDOF_Mover.hpp:145
virtual bool RudderRightValid() const
Definition WsfSixDOF_Mover.hpp:702
double GetNormalizedAfterburnerThrust() const
Definition WsfSixDOF_Mover.cpp:2705
UtCallbackListN< void(double)> CrashedIntoGround
Definition WsfSixDOF_Mover.hpp:1643
double GetPitch() const
Definition WsfSixDOF_Mover.hpp:133
double GetStickBackPosition() const
Definition WsfSixDOF_Mover.cpp:4261
bool RemoveSequencer(const std::string &aName)
Definition WsfSixDOF_Mover.cpp:1979
std::string GetBaseName() const
Definition WsfSixDOF_Mover.hpp:1535
virtual bool LandingGearMainRightValid() const
Definition WsfSixDOF_Mover.hpp:707
double GetStaticPressure_psf() const
Definition WsfSixDOF_Mover.hpp:1189
double GetFlightPathAngle()
Definition WsfSixDOF_Mover.hpp:124
double GetSpeed_Mach() const
Definition WsfSixDOF_Mover.hpp:169
double GetVerticalSpeed()
Definition WsfSixDOF_Mover.hpp:121
std::map< std::string, std::pair< double, int > > mEventPipeManager
Definition WsfSixDOF_Mover.hpp:1795
virtual double GetNormalizedAileronRight() const
Definition WsfSixDOF_Mover.hpp:673
double GetKIAS() const
Definition WsfSixDOF_Mover.hpp:1126
double GetSpeed_KCAS() const
Definition WsfSixDOF_Mover.hpp:163
double GetSpeed_KIAS() const
Definition WsfSixDOF_Mover.hpp:160
FreezeFlags mFreezeFlags
Definition WsfSixDOF_Mover.hpp:1826
bool mLaunchFlashSmoke
Definition WsfSixDOF_Mover.hpp:1868
virtual void ZeroKinematicsDuringTesting()=0
virtual bool LandingGearValid() const
Definition WsfSixDOF_Mover.hpp:704
UtCallbackListN< void(double, double)> StageIgnition
Definition WsfSixDOF_Mover.hpp:1653
void MakeEnginesSmoke(bool aEngineSmoking)
Definition WsfSixDOF_Mover.hpp:899
UtCloneablePtr< WsfRoute > mDefaultWsfRoutePtr
Definition WsfSixDOF_Mover.hpp:1787
double GetFlapsLeverPosition() const
Definition WsfSixDOF_Mover.cpp:4349
double mPrepositionLat
Definition WsfSixDOF_Mover.hpp:1845
bool mThrottleAfterburnerAtStart
Definition WsfSixDOF_Mover.hpp:1720
virtual void CopyDataFromParent()
Definition WsfSixDOF_Mover.cpp:3564
virtual void HandleGroundContact(int64_t aSimTime_nanosec)
Definition WsfSixDOF_Mover.cpp:1411
virtual double GetMinimumPotentialThrust_lbs() const =0
double mInitialNEDPitch
Definition WsfSixDOF_Mover.hpp:1768
bool GetDamageSmokeTrailingEffect() const
Definition WsfSixDOF_Mover.hpp:908
double GetThrustMagnitude_nt() const
Definition WsfSixDOF_Mover.hpp:157
virtual void UpdatePropulsionFuelBurn(double aSimTime_sec, double aDeltaTime_sec, const KinematicState &aState)=0
double GetPotentialManeuverGLoadMax()
Definition WsfSixDOF_Mover.hpp:318
UtCloneablePtr< wsf::six_dof::ManeuverSequence > mManeuverPtr
Definition WsfSixDOF_Mover.hpp:1780
bool mFlamesPresent
Definition WsfSixDOF_Mover.hpp:1862
void SetCommandedPitchRate(double aRate)
Definition WsfSixDOF_Mover.hpp:857
virtual void SetActiveAeroObject(const std::string &aName)=0
virtual double GetNormalizedSpoilerLeft() const
Definition WsfSixDOF_Mover.hpp:676
bool mValidInitialNEDHeading
Definition WsfSixDOF_Mover.hpp:1775
double mDownRangeDist_m
Definition WsfSixDOF_Mover.hpp:1850
double GetLift_nt() const
Definition WsfSixDOF_Mover.hpp:148
virtual double GetNormalizedStabilizerRight() const
Definition WsfSixDOF_Mover.hpp:679
double mStallAngle
Definition WsfSixDOF_Mover.hpp:1831
bool GetEngineIsOperating() const
Definition WsfSixDOF_Mover.hpp:890
std::string mTypeName
Definition WsfSixDOF_Mover.hpp:1801
bool mDamageSmokeTrailingEffect
Definition WsfSixDOF_Mover.hpp:1861
virtual double GetNormalizedRudderRight() const
Definition WsfSixDOF_Mover.hpp:683
virtual double MaxPotentialManeuverGLoad() const =0
double GetHeading_deg() const
Definition WsfSixDOF_Mover.hpp:1079
bool ControlsEnabled() const
Definition WsfSixDOF_Mover.cpp:1511
virtual bool GetWeightOnWheels() const
Definition WsfSixDOF_Mover.hpp:184
virtual UtVec3dX GetCenterOfGravity_ft() const =0
double GetLastNx_g() const
Definition WsfSixDOF_Mover.hpp:1192
void ActivateFlamesEffect(bool aFlamesPresent)
Definition WsfSixDOF_Mover.cpp:2917
double GetNominalEstimateMinAlpha_deg() const
Definition WsfSixDOF_Mover.hpp:1571
void GetBodyAngularAccel_rps2(double &xAxis_rps2, double &yAxis_rps2, double &zAxis_rps2) const
Definition WsfSixDOF_Mover.hpp:1180
double GetFlightPathAngle_rad() const
Definition WsfSixDOF_Mover.hpp:1066
double GetAltitudeMSL_ft() const
Definition WsfSixDOF_Mover.hpp:1094
bool FlamesArePresent() const
Definition WsfSixDOF_Mover.cpp:2912
virtual void CalculateCurrentMassProperties()=0
double GetFlightPathAngle_deg() const
Definition WsfSixDOF_Mover.hpp:1068
virtual PilotManager * GetPilotManager() const =0
double GetKCAS() const
Definition WsfSixDOF_Mover.hpp:1128
double mYGLoad
Definition WsfSixDOF_Mover.hpp:1732
virtual void CalculateAeroBodyForceAndRotation(UtVec3dX &aLiftBodyVector_lbs, UtVec3dX &aDragBodyVector_lbs, UtVec3dX &aSideForceBodyVector_lbs, UtVec3dX &aRotationAccelerationLimits_rps2, UtVec3dX &aStabilizingFrequency_rps)=0
std::string mBaseName
Definition WsfSixDOF_Mover.hpp:1802
double GetHeading() const
Definition WsfSixDOF_Mover.hpp:130
double GetSpeedBrakeControlPosition() const
Definition WsfSixDOF_Mover.cpp:4327
double mLastSpoilerLeverPosition
Definition WsfSixDOF_Mover.hpp:1759
double mFMM_Heading
Definition WsfSixDOF_Mover.hpp:1750
double GetTotalFuelRemaining() const
Definition WsfSixDOF_Mover.cpp:3761
double GetBeta_rad() const
Definition WsfSixDOF_Mover.hpp:1170
WsfSpatialDomain GetSpatialDomain() const override
Definition WsfSixDOF_Mover.hpp:68
double GetSpeed_KTAS() const
Definition WsfSixDOF_Mover.hpp:166
double GetAlphaDot_dps() const
Definition WsfSixDOF_Mover.hpp:1167
double GetCurrentWeight_lbs() const
Definition WsfSixDOF_Mover.hpp:1244
double GetPitchRate_dps() const
Definition WsfSixDOF_Mover.hpp:1152
bool DamageSmokeTrailingEffectPresent() const
Definition WsfSixDOF_Mover.cpp:2902
void EmptyAllInternalTanks()
Definition WsfSixDOF_Mover.cpp:2530
virtual double GetTotalFuelFlow_pph() const =0
void IgniteObject(int64_t aIgniteTimeInFrame_nanosec)
Definition WsfSixDOF_Mover.cpp:2746
bool mAutopilotNoControlAtStart
Definition WsfSixDOF_Mover.hpp:1721
bool mEnginesOffAtStart
Definition WsfSixDOF_Mover.hpp:1717
double GetSideForce_lbs() const
Definition WsfSixDOF_Mover.hpp:1055
std::string mIntegratorTypeName
Definition WsfSixDOF_Mover.hpp:1804
double mInitialSpeed_NED_X_fps
Definition WsfSixDOF_Mover.hpp:1770
virtual double GetNormalizedElevator() const
Definition WsfSixDOF_Mover.hpp:680
virtual double GetNormalizedFlapRight() const
Definition WsfSixDOF_Mover.hpp:675
double GetNy_g() const
Definition WsfSixDOF_Mover.hpp:1043
bool GetLaunchFlashSmokeIsPresent() const
Definition WsfSixDOF_Mover.hpp:920
void EmptyAllInternalandExternalTanks()
Definition WsfSixDOF_Mover.cpp:3809
bool mThrottleIdleAtStart
Definition WsfSixDOF_Mover.hpp:1718
WsfMoverGuidance * mGuidancePtr
Definition WsfSixDOF_Mover.hpp:1731
double mLastRudder
Definition WsfSixDOF_Mover.hpp:1756
double mMaxBeta_deg
Definition WsfSixDOF_Mover.hpp:1840
void SetTestingIgnoreAllCrashes(bool aValue)
Definition WsfSixDOF_Mover.hpp:1628
double GetBeta_deg() const
Definition WsfSixDOF_Mover.hpp:1172
bool mCrashed
Definition WsfSixDOF_Mover.hpp:1856
virtual const Integrator * GetIntegrator() const =0
void SetMinimumHeightAboveTerrain(double aMinimum)
Definition WsfSixDOF_Mover.hpp:870
virtual double GetNormalizedStabilizerLeft() const
Definition WsfSixDOF_Mover.hpp:678
bool mValidInitialNEDRoll
Definition WsfSixDOF_Mover.hpp:1777
double GetRoll_deg() const
Definition WsfSixDOF_Mover.hpp:1089
bool GetEngineAfterburnerIsOn() const
Definition WsfSixDOF_Mover.hpp:896
bool AnEngineHasAfterburnerOn() const
Definition WsfSixDOF_Mover.cpp:2864
int64_t mLastSimTime_nanosec
Definition WsfSixDOF_Mover.hpp:1806
void EnableControls(bool aEnabled)
Definition WsfSixDOF_Mover.cpp:1503
const WsfRoute * GetDefaultRoute() const override
Definition WsfSixDOF_Mover.hpp:425
bool mRisingSmokePlume
Definition WsfSixDOF_Mover.hpp:1867
bool mUseWashInInitConditions
Definition WsfSixDOF_Mover.hpp:1873
double GetLastNz_g() const
Definition WsfSixDOF_Mover.hpp:1198
void SetSphericalEarthFlagOnSubobjects(bool aSetting)
Definition WsfSixDOF_Mover.cpp:1492
virtual MoverTestObject * GetTestSupportObject() const =0
virtual double GetNormalizedRudder() const
Definition WsfSixDOF_Mover.hpp:682
virtual double GetNormalizedAileronLeft() const
Definition WsfSixDOF_Mover.hpp:672
double GetAltitudeMSL_m() const
Definition WsfSixDOF_Mover.hpp:1092
virtual bool AileronLeftValid() const
Definition WsfSixDOF_Mover.hpp:691
virtual double GetNormalizedLandingGearMainLeft() const
Definition WsfSixDOF_Mover.hpp:687
SizeFactor mSizeFactor
Definition WsfSixDOF_Mover.hpp:1829
bool mIsDestroyed
Definition WsfSixDOF_Mover.hpp:1863
void StartupEngines(double aSimTime_sec)
Definition WsfSixDOF_Mover.cpp:3815
virtual double GetNormalizedLandingGearNose() const
Definition WsfSixDOF_Mover.hpp:686
bool IsCaptive() const
Definition WsfSixDOF_Mover.hpp:1316
virtual bool LandingGearMainLeftValid() const
Definition WsfSixDOF_Mover.hpp:706
void CrashIntoGroundCB(double aSimTime)
Definition WsfSixDOF_Mover.cpp:3421
virtual void CalculateObjectPropulsion(double aSimTime_sec, double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, ForceAndMomentsObject &aForceAndMoment, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)=0
virtual AeroCoreObject * GetAeroCoreObject() const =0
WsfMoverGuidance * GetGuidance() const
Get the pointer to the mover guidance object.
Definition WsfSixDOF_Mover.hpp:846
void ShutdownEngines(double aSimTime_sec)
Definition WsfSixDOF_Mover.cpp:3820
double mMaxAlpha_deg
Definition WsfSixDOF_Mover.hpp:1838
bool GetTestingClampToSeaLevelMinAlt() const
Definition WsfSixDOF_Mover.hpp:1639
WsfPlatform * CommonSubobjectJettisonTasks(std::unique_ptr< Mover > aJettisonedObject)
Definition WsfSixDOF_Mover.cpp:3634
virtual void CalcTotalFuelFlowAndQuantity(double &aCurrentTotalFuelFlow_pph, double &aCurrentTotalFuel_lbs, double &aMaxTotalFuel_lbs)=0
double mMinimumHeightAboveTerrain
The minimum height above terrain required for terrain following.
Definition WsfSixDOF_Mover.hpp:1745
virtual bool ThrottleValid() const =0
void SetDestroyed()
Definition WsfSixDOF_Mover.cpp:6088
bool ExecuteTriggers(double aSimTime, unsigned int aPointIndex) override
Executes any actions tied to the waypoint at aPointIndex.
Definition WsfSixDOF_Mover.cpp:3378
double GetGLoad()
Definition WsfSixDOF_Mover.hpp:127
virtual bool InitializeDetails(double aSimTime_sec)
Definition WsfSixDOF_Mover.hpp:1686
bool PendingGuidanceControlEventTimes_nanosec(int64_t aSimTime_nanosec, std::set< int64_t > &aEventTime_nanosec)
Definition WsfSixDOF_Mover.cpp:1741
KinematicState mKinematicState
Definition WsfSixDOF_Mover.hpp:1824
virtual double GetSpoilersPosition() const =0
bool mValidInitialPosition
Definition WsfSixDOF_Mover.hpp:1773
std::string mDerivedFromName
Definition WsfSixDOF_Mover.hpp:1803
virtual double GetNormalizedRudderLeft() const
Definition WsfSixDOF_Mover.hpp:681
bool mSmoking
Definition WsfSixDOF_Mover.hpp:1859
double GetStickRightPosition() const
Definition WsfSixDOF_Mover.cpp:4272
double GetRollRate_dps() const
Definition WsfSixDOF_Mover.hpp:1157
bool mFixedObject
Definition WsfSixDOF_Mover.hpp:1843
virtual double GetNormalizedLandingGear() const
Definition WsfSixDOF_Mover.hpp:685
bool mTestingClampToSeaLevelMinAlt
Definition WsfSixDOF_Mover.hpp:1875
double GetThrottleAfterburnerPosition() const
Definition WsfSixDOF_Mover.cpp:4305
virtual double GetLandingGearInput() const =0
double GetRoll() const
Definition WsfSixDOF_Mover.hpp:136
void CheckForNewlyJettisonedPlatforms(double aSimTime)
Definition WsfSixDOF_Mover.cpp:3488
bool GetEngineIsSmoking() const
Definition WsfSixDOF_Mover.hpp:893
void SetSizeFactorEnabled(bool aSetting)
Definition WsfSixDOF_Mover.hpp:1005
void SetCommandedRollRate(double aRate)
Definition WsfSixDOF_Mover.hpp:860
double GetLastAltitudeMSL_ft() const
Definition WsfSixDOF_Mover.hpp:1207
virtual double GetNormalizedFlapLeft() const
Definition WsfSixDOF_Mover.hpp:674
double mSpeed
Definition WsfSixDOF_Mover.hpp:1728
std::vector< ut::CloneablePtr< Sequencer > > mSequencerList
Definition WsfSixDOF_Mover.hpp:1820
double GetNominalEstimateMaxAlpha_deg() const
Definition WsfSixDOF_Mover.hpp:1570
virtual double GetNormalizedSpoilerRight() const
Definition WsfSixDOF_Mover.hpp:677
std::map< std::string, std::vector< WsfVisualPart * > > mVisualPartManager
Definition WsfSixDOF_Mover.hpp:1796
bool mTestingIgnoreAllCrashes
Definition WsfSixDOF_Mover.hpp:1874
double GetSpeed_fps() const
Definition WsfSixDOF_Mover.hpp:1134
bool mOnFire
Definition WsfSixDOF_Mover.hpp:1860
double mFMM_LocWCS[3]
Definition WsfSixDOF_Mover.hpp:1751
virtual void CalcStallAngle()
Definition WsfSixDOF_Mover.cpp:1530
double GetYawRate_rps() const
Definition WsfSixDOF_Mover.hpp:1145
int64_t GetLifeTime_nanosec() const
Definition WsfSixDOF_Mover.hpp:1522
bool GetRisingSmokePlumeIsPresent() const
Definition WsfSixDOF_Mover.hpp:914
double mLaunchSmokeTime_sec
Definition WsfSixDOF_Mover.hpp:1866
double mZGLoad
Definition WsfSixDOF_Mover.hpp:1733
bool mEnableControlsAtStart
Definition WsfSixDOF_Mover.hpp:1723
MassProperties mMassProperties
Definition WsfSixDOF_Mover.hpp:1823
double GetPitch_deg() const
Definition WsfSixDOF_Mover.hpp:1084
double GetLifeTime_sec() const
Definition WsfSixDOF_Mover.hpp:1515
double GetDrag_nt() const
Definition WsfSixDOF_Mover.hpp:151
void EmptyAllExternalTanks()
Definition WsfSixDOF_Mover.cpp:2538
double mMaxMach
Definition WsfSixDOF_Mover.hpp:1837
void SetCaptiveState(bool aIsCaptive)
Definition WsfSixDOF_Mover.hpp:1317
void SetCommandedYawRate(double aRate)
Definition WsfSixDOF_Mover.hpp:854
double mInitialNEDRoll
Definition WsfSixDOF_Mover.hpp:1769
double mInitialAlt_m
Definition WsfSixDOF_Mover.hpp:1849
void SetJokerFuelState(double aJokerFuel_kg)
Definition WsfSixDOF_Mover.hpp:802
UtVec3dX mAngRelToParentYPR_rad
Definition WsfSixDOF_Mover.hpp:1815
int CurrentStage() const
Definition WsfSixDOF_Mover.hpp:873
double GetVertSpeed_fpm() const
Definition WsfSixDOF_Mover.hpp:1063
double GetSpoilersLeverPosition() const
Definition WsfSixDOF_Mover.cpp:4360
bool mThrustTerminationTimeValid
Definition WsfSixDOF_Mover.hpp:1852
bool mEngineOn
Definition WsfSixDOF_Mover.hpp:1857
double GetRangeSinceStart_km() const
Definition WsfSixDOF_Mover.hpp:1100
void SetRisingSmokePlumeIsPresent(bool aSmoking)
Definition WsfSixDOF_Mover.hpp:917
KinematicState * GetKinematicState()
Definition WsfSixDOF_Mover.hpp:1015
virtual double GetStickBackInput() const =0
double mLastThrottle
Definition WsfSixDOF_Mover.hpp:1757
int64_t GetTimeOfFlight_nanosec() const
Definition WsfSixDOF_Mover.hpp:1525
double GetLastNy_g() const
Definition WsfSixDOF_Mover.hpp:1195
double GetLift_lbs() const
Definition WsfSixDOF_Mover.hpp:1049
Mover * mParentVehicle
Definition WsfSixDOF_Mover.hpp:1715
void CheckForFrequencyUnits(double &value, UtInput &aInput)
Check an input for frequency units (hz) and convert to seconds if so.
Definition WsfSixDOF_Mover.hpp:820
void SetFlamesArePresent(bool aFlaming)
Definition WsfSixDOF_Mover.hpp:929
Route * ConvertWsfRouteToSixDOF_Route(const WsfRoute *aWsfRoute)
Definition WsfSixDOF_Mover.cpp:3687
double mCommandedEngineStopTime
Definition WsfSixDOF_Mover.hpp:1742
bool RocketSmokeTrailingEffectPresent() const
Definition WsfSixDOF_Mover.cpp:2892
bool ActivateSequencer(const std::string &aSequencerName)
Definition WsfSixDOF_Mover.cpp:1790
double GetNx_g() const
Definition WsfSixDOF_Mover.hpp:1040
double GetRoll_rad() const
Definition WsfSixDOF_Mover.hpp:1087
double GetLastDynamicPressure_psf() const
Definition WsfSixDOF_Mover.hpp:1201
void ComputeWashInConditions(double aSimTime_sec)
Definition WsfSixDOF_Mover.cpp:1230
double mLastStickY
Definition WsfSixDOF_Mover.hpp:1755
bool mInitSetupMode
Definition WsfSixDOF_Mover.hpp:1872
std::list< std::unique_ptr< Mover > > mSubObjectList
Definition WsfSixDOF_Mover.hpp:1819
virtual bool ElevatorValid() const
Definition WsfSixDOF_Mover.hpp:699
bool Crashed() const
Definition WsfSixDOF_Mover.hpp:1001
Sequencer * GetSequencerByName(const std::string &aName) const
Definition WsfSixDOF_Mover.cpp:1777
double GetNormalizedTotalThrust() const
Definition WsfSixDOF_Mover.cpp:2725
double GetMach() const
Definition WsfSixDOF_Mover.hpp:1132
double GetPitchRate_rps() const
Definition WsfSixDOF_Mover.hpp:1150
double GetDesignWeightForMaxG_lbs() const
Definition WsfSixDOF_Mover.hpp:600
void SetIsLightlyDamaged()
Definition WsfSixDOF_Mover.hpp:935
void ActivateDamageSmokeTrailingEffect(bool aEffectActive)
Definition WsfSixDOF_Mover.cpp:2907
unsigned int mStageIndex
The index of the current stage.
Definition WsfSixDOF_Mover.hpp:1782
double GetKTAS() const
Definition WsfSixDOF_Mover.hpp:1130
void SetupStartingLatLon()
Definition WsfSixDOF_Mover.cpp:1173
virtual void SetFlapsPosition(double aPosition)=0
void ShutdownObject(int64_t aTerminateTime_nanosec=0)
Definition WsfSixDOF_Mover.cpp:2757
bool mHeavyDamage
Definition WsfSixDOF_Mover.hpp:1870
double GetBingoFuelState()
Definition WsfSixDOF_Mover.hpp:811
virtual void CalculateObjectPropulsion(double aSimTime_sec, double aDeltaT_sec, double aAlt_ft, double aDynPress_lbsqft, double aStatPress_lbssqft, double aSpeed_fps, double aMach, double aAlpha_rad, double aBeta_rad, ForceAndRotationObject &aForceAndRotation, double &aFuelBurnRate_pps, double &aFuelBurned_lbs)=0
double GetEmptyWeight_kg() const
Definition WsfSixDOF_Mover.hpp:175
bool GetRocketSmokeTrailingEffect() const
Definition WsfSixDOF_Mover.hpp:905
double GetNominalEstimateMaxMach() const
Definition WsfSixDOF_Mover.hpp:1569
double GetFuelInTank(const std::string &aTankName) const
Definition WsfSixDOF_Mover.cpp:3787
double mMinAlpha_deg
Definition WsfSixDOF_Mover.hpp:1839
double GetNz_g() const
Definition WsfSixDOF_Mover.hpp:1046
virtual bool SpoilerLeftValid() const
Definition WsfSixDOF_Mover.hpp:695
double GetThrottleMilitaryPosition() const
Definition WsfSixDOF_Mover.cpp:4294
int64_t mTimeOfFlight_nanosec
Definition WsfSixDOF_Mover.hpp:1809
virtual bool SpoilerRightValid() const
Definition WsfSixDOF_Mover.hpp:696
void SetParentVehicle(Mover *aParentVehicle)
Definition WsfSixDOF_Mover.hpp:954
virtual bool SpeedBrakeValid() const
Definition WsfSixDOF_Mover.hpp:703
void SetDamageSmokeTrailingEffect(bool aEffectActive)
Definition WsfSixDOF_Mover.hpp:911
int64_t mTestingSimTime_nanosec
Definition WsfSixDOF_Mover.hpp:1877
double mCommandedRollRate
Definition WsfSixDOF_Mover.hpp:1736
void OnPlatformBrokenEvent(double aSimTime) override
Owning platform has issued a broken event.
Definition WsfSixDOF_Mover.hpp:883
virtual double GetNormalizedSpeedBrake() const
Definition WsfSixDOF_Mover.hpp:684
const std::string & GetName() const
Definition WsfSixDOF_Mover.hpp:1532
double mFMM_Time
Information captured at time of 'first missile motion' (needed by trajectory output).
Definition WsfSixDOF_Mover.hpp:1749
PilotObject * GetActivePilotObject() const
Definition WsfSixDOF_Mover.cpp:1221
virtual void UpdateFlightControls(int64_t aSimTime_nanosec)=0
const WsfRoute * GetRoute() const override
Definition WsfSixDOF_Mover.hpp:423
virtual void CalculateAlphaAtSpecifiedGLoad_deg(double aMach, double &aAlpha_deg) const =0
UtVec3dX mSeparationOmega_rps
Definition WsfSixDOF_Mover.hpp:1817
virtual void PerformCrash(int64_t aSimTime_nanosec)
Definition WsfSixDOF_Mover.cpp:1464
double GetYawRate_dps() const
Definition WsfSixDOF_Mover.hpp:1147
bool mValidInitialSpeed_NED
Definition WsfSixDOF_Mover.hpp:1778
int64_t mLifeTime_nanosec
Definition WsfSixDOF_Mover.hpp:1808
double mBingoFuel_lbs
Definition WsfSixDOF_Mover.hpp:1792
friend class TypeManager
Definition WsfSixDOF_Mover.hpp:59
bool AnEngineIsSmoking() const
Definition WsfSixDOF_Mover.cpp:2854
virtual double GetNormalizedLandingGearMainRight() const
Definition WsfSixDOF_Mover.hpp:688
Definition WsfSixDOF_PilotManager.hpp:34
Definition WsfSixDOF_PilotObject.hpp:39
Definition WsfSixDOF_PropulsionSystem.hpp:35
Definition WsfSixDOF_Route.hpp:32
Definition WsfSixDOF_Sequencer.hpp:32
Definition WsfSixDOF_SizeFactor.hpp:28
Definition WsfSixDOF_ThrustProducerObject.hpp:35
TurnDirection
Turn direction for TurnToHeading and TurnToRelativeHeading.
Definition WsfPath.hpp:88
Mode
Definition WsfSixDOF_VehicleData.hpp:196
Mode
Definition WsfSixDOF_VehicleData.hpp:232
Mode
Definition WsfSixDOF_VehicleData.hpp:213
WSF_SIX_DOF_EXPORT int64_t TimeToTime(double aSimTime_sec)
Definition WsfSixDOF_Utils.cpp:41
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Definition WsfSixDOF_VehicleData.hpp:320