15#ifndef WSFP6DOF_MOVER_HPP
16#define WSFP6DOF_MOVER_HPP
18#include "wsf_p6dof_export.h"
28#include "UtCallback.hpp"
29#include "UtCallbackHolder.hpp"
30#include "UtQuaternion.hpp"
40class WsfManeuverSequence;
66 void Update(
double aSimTime)
override;
74 static int GetTypeId() {
return WsfStringId::UnsafeGetNumber(
"WSF_P6DOF_MOVER"); }
77 size_t GetPlannedRouteIndex()
const;
80 size_t GetTempRouteIndex()
const;
86 void SetPitch(
double aPitch)
override;
89 void SetRoll(
double aRoll)
override;
95 void GetStateData(
double& aSimTime_sec,
99 double& aLocalHeading_deg,
100 double& aLocalPitch_deg,
101 double& aLocalRoll_deg,
105 double& aVertSpeed_fpm,
106 double& aYawRate_dps,
107 double& aPitchRate_dps,
108 double& aRollRate_dps)
const;
111 std::string GetP6DofVehicleTypeName()
const;
114 std::string GetP6DofVehicleTypeDerivedFromName()
const;
118 std::string GetP6DofVehicleTypeSubobjectBaseName()
const;
125 double GetVerticalSpeed();
131 double GetPitchRate();
134 double GetRollRate();
137 const double GetFlightPathAngle_rad();
140 double GetFlightPathAngle();
156 void TakeDirectControlInput();
160 void ReleaseDirectControlInput();
168 void SetDirectControlInputs(
double aStickX,
double aStickY,
double aRudder,
double aThrottleLeverPosition);
174 bool GoToLocation(
double aSimTime,
double aLatitude,
double aLongitude,
double aAltitude)
override;
184 bool aKeepRoute)
override;
188 double aClimbDiveRate,
189 bool aKeepRoute)
override;
192 double aHeadingChange,
197 void EnableAutopilot(
bool aState);
200 double GetMinimumPotentialThrust_lbs()
const;
203 double GetMaximumPotentialThrust_lbs()
const;
206 double GetAlpha_rad()
const;
209 double GetAlpha_deg()
const;
212 double GetBeta_rad()
const;
215 double GetBeta_deg()
const;
218 double GetAlphaDot_rps()
const;
221 double GetAlphaDot_dps()
const;
224 double GetBetaDot_rps()
const;
227 double GetBetaDot_dps()
const;
230 UtVec3dX GetCg()
const;
233 double GetHeading_rad()
const;
236 double GetHeading()
const;
239 double GetPitch_rad()
const;
242 double GetPitch()
const;
245 double GetRoll_rad()
const;
248 double GetRoll()
const;
251 double GetLift_nt()
const;
254 double GetLift_lbs()
const;
257 double GetDrag_nt()
const;
260 double GetDrag_lbs()
const;
263 double GetSideForce_nt()
const;
266 double GetSideForce_lbs()
const;
269 double GetThrustMagnitude_nt()
const;
272 double GetThrustMagnitude_lbs()
const;
275 double GetYawMoment_nm()
const;
278 double GetYawMoment_ftlbs()
const;
281 double GetPitchMoment_nm()
const;
284 double GetPitchMoment_ftlbs()
const;
287 double GetRollMoment_nm()
const;
290 double GetRollMoment_ftlbs()
const;
293 double GetSpeed_fps()
const;
296 double GetSpeed_KIAS()
const;
299 double GetSpeed_KCAS()
const;
302 double GetSpeed_KTAS()
const;
305 double GetSpeed_Mach()
const;
308 double GetCurrentWeight_lbs()
const;
311 double GetCurrentWeight_kg()
const;
314 double GetEmptyWeight_lbs()
const;
317 double GetEmptyWeight_kg()
const;
320 double GetDesignWeightForMaxG_lbs()
const;
323 double GetAlt_m()
const;
326 double GetWingArea_sqft()
const;
329 double GetNx_g()
const;
332 double GetNy_g()
const;
335 double GetNz_g()
const;
339 size_t GetControlSurfaceHandle(
const std::string& aControlSurfaceName)
const;
343 size_t GetControlSurfaceHandleContainingString(
const std::string& aString)
const;
347 size_t GetControlSurfaceHandleContainingTwoStrings(
const std::string& aString1,
const std::string& aString2)
const;
350 double GetAngleOfControlSurface(std::string aControlSurfaceName)
const;
353 double GetAngleOfControlSurface(
size_t aHandle)
const;
357 double GetNormalizedAngleOfControlSurface(
size_t aHandle)
const;
360 std::vector<std::string> GetListOfControlSurfaceNames()
const;
363 double GetAileronsBothPosition()
const;
366 double GetStabilatorLeftPosition()
const;
369 double GetStabilatorRightPosition()
const;
372 double GetRudderPosition()
const;
375 double GetLandingGearPosition()
const;
378 double GetLandingGearLeverPosition()
const;
381 double GetSpeedBrakePosition_rad()
const;
384 double GetSpeedBrakePosition()
const;
387 double GetFlapsPosition()
const;
390 double GetFlapsLeverPosition()
const;
393 double GetSpoilersPosition()
const;
396 double GetSpoilersLeverPosition()
const;
399 double GetNoseWheelAngle()
const;
402 double GetAngleAileronLeft()
const;
403 double GetAngleAileronRight()
const;
404 double GetAngleFlapLeft()
const;
405 double GetAngleFlapRight()
const;
406 double GetAngleSpoilerLeft()
const;
407 double GetAngleSpoilerRight()
const;
408 double GetAngleStabilizerLeft()
const;
409 double GetAngleStabilizerRight()
const;
410 double GetAngleElevator()
const;
411 double GetAngleRudderLeft()
const;
412 double GetAngleRudder()
const;
413 double GetAngleRudderRight()
const;
414 double GetAngleSpeedBrake()
const;
415 double GetAngleLandingGear()
const;
416 double GetAngleLandingGearNose()
const;
417 double GetAngleLandingGearMainLeft()
const;
418 double GetAngleLandingGearMainRight()
const;
421 double GetNormalizedAileronLeft()
const;
422 double GetNormalizedAileronRight()
const;
423 double GetNormalizedFlapLeft()
const;
424 double GetNormalizedFlapRight()
const;
425 double GetNormalizedSpoilerLeft()
const;
426 double GetNormalizedSpoilerRight()
const;
427 double GetNormalizedStabilizerLeft()
const;
428 double GetNormalizedStabilizerRight()
const;
429 double GetNormalizedElevator()
const;
430 double GetNormalizedRudderLeft()
const;
431 double GetNormalizedRudder()
const;
432 double GetNormalizedRudderRight()
const;
433 double GetNormalizedSpeedBrake()
const;
434 double GetNormalizedLandingGear()
const;
435 double GetNormalizedLandingGearNose()
const;
436 double GetNormalizedLandingGearMainLeft()
const;
437 double GetNormalizedLandingGearMainRight()
const;
440 bool AileronLeftValid()
const;
441 bool AileronRightValid()
const;
442 bool FlapLeftValid()
const;
443 bool FlapRightValid()
const;
444 bool SpoilerLeftValid()
const;
445 bool SpoilerRightValid()
const;
446 bool StabilizerLeftValid()
const;
447 bool StabilizerRightValid()
const;
448 bool ElevatorValid()
const;
449 bool RudderLeftValid()
const;
450 bool RudderValid()
const;
451 bool RudderRightValid()
const;
452 bool SpeedBrakeValid()
const;
453 bool LandingGearValid()
const;
454 bool LandingGearNoseValid()
const;
455 bool LandingGearMainLeftValid()
const;
456 bool LandingGearMainRightValid()
const;
457 bool ThrottleValid()
const;
460 double GetStickRightInput()
const;
461 double GetStickBackInput()
const;
462 double GetRudderRightInput()
const;
463 double GetThrottleInput()
const;
464 double GetSpeedBrakeInput()
const;
465 double GetSpoilerInput()
const;
466 double GetLandingGearInput()
const;
469 bool StallWarningAlert()
const;
474 void GetAeroParametersAtAltitude(
double aAltitude_ft,
477 double& aDynamicPressure_psf,
478 double& aStaticPressure_psf,
479 double& aSpeedOfSound_fps,
480 double& aMach)
const;
483 double GetDynamicPressure_psf()
const;
486 double GetCLMaxAtMach(
double aMach)
const;
489 double GetAlphaAtCLMaxAtMach_deg(
double aMach)
const;
492 std::string GetActivePilot()
const;
495 void ActivateManualPilot();
498 void ActivateSyntheticPilot();
501 void ActivateHardwareAutopilot();
504 void ActivateGuidanceAutopilot();
510 std::string GetAutopilotLateralMode()
const;
513 float GetAutopilotLateralModeValue()
const;
519 std::string GetAutopilotVerticalMode()
const;
522 float GetAutopilotVerticalModeValue()
const;
528 std::string GetAutopilotSpeedMode()
const;
531 float GetAutopilotSpeedModeValue()
const;
555 unsigned int aDestination)
override;
558 bool SetDefaultRoute(
const WsfRoute& aRoute);
561 bool SetTempRoute(
const WsfRoute& aRoute);
585 void SetYandZGLoads(
double aYGLoad,
double aZGLoad);
633 void ApplyExternalForce(
double aForceMagnitude_lbs,
double aAngle_deg);
636 void RemoveExternalForce();
639 void EnableDirectBraking();
642 void SetParkingBrake();
645 void ApplyLeftGearBrake(
double aValue);
648 void ApplyRightGearBrake(
double aValue);
651 void ReleaseWheelBrakes();
654 void ReleaseDirectBraking();
657 void StartupEngines(
double aTimeSec);
660 void ShutdownEngines(
double aTimeSec);
663 double GetTotalWeight_lbs()
const;
666 double GetTotalWeight_kg()
const;
669 void RetractLandingGear();
672 void LowerLandingGear();
676 void SetFlapsPosition(
double aPosition);
680 void SetSpoilersPosition(
double aPosition);
682 void SetThrustReverserPosition(
double aPosition);
683 void SetEnableNWS(
bool aNWS_Enabled);
686 void AddFuel(
double aFuelMass_kg);
689 double GetTotalFuelCapacity()
const;
692 double GetInternalFuelCapacity()
const;
695 double GetExternalFuelCapacity()
const;
698 double GetTotalFuelRemaining()
const;
701 double GetInternalFuelRemaining()
const;
704 double GetExternalFuelRemaining()
const;
707 double GetFuelTankCapacity(
const std::string& aTankName)
const;
710 double GetFuelInTank(
const std::string& aTankName)
const;
714 void SetFuelInTank(
const std::string& aTankName,
double aFuel_kg);
717 double GetTotalFuelFlow()
const;
720 void EmptyAllInternalandExternalTanks();
723 void EmptyAllInternalTanks();
726 void EmptyAllExternalTanks();
729 void SetJokerFuelState(
double aJokerFuel_kg);
732 void SetBingoFuelState(
double aBingoFuel_kg);
735 double GetJokerFuelState();
738 double GetBingoFuelState();
741 bool JokerFuelReached();
744 bool BingoFuelReached();
748 void EnableControls(
bool aEnabled);
751 bool ControlsEnabled()
const;
754 bool GetWeightOnWheels()
const;
757 bool GetWeightOnNoseWheel()
const;
760 bool IsProducingThrust()
const;
763 double GetTotalThrust()
const;
766 double GetTotalForwardThrust()
const;
769 bool GetAfterburnerOn()
const;
772 double GetEngineThrust(
const std::string& aEngineName)
const;
775 double GetEngineFuelFlowRate(
const std::string& aEngineName)
const;
778 bool GetEngineAfterburnerOn(
const std::string& aEngineName)
const;
781 double GetTotalFuelFlowRate()
const;
785 bool AddFuelTransfer(std::string aFuelTransferName, std::string aSourceTankName, std::string aTargetTankName);
788 bool RemoveFuelTransfer(std::string aFuelTransferName);
792 bool SetFuelFeed(std::string aEngineName, std::string aFuelTankName);
796 bool SetFuelFeed(std::string aFuelTankName);
799 void EnableThrustVectoring(
bool aEnableThrustVectoring);
804 void RevertLimitsToDefaults();
807 double GetPitchGLoadMin();
810 double GetPitchGLoadMax();
813 double GetAlphaMin();
816 double GetAlphaMax();
819 double GetPitchRateMin();
822 double GetPitchRateMax();
825 double GetVerticalSpeedMin();
828 double GetVerticalSpeedMax();
831 double GetYawGLoadMax();
837 double GetYawRateMax();
840 double GetRollRateMax();
843 double GetBankAngleMax();
846 double GetForwardAccelMin();
849 double GetForwardAccelMax();
852 double GetTaxiSpeedMax();
855 double GetTaxiYawRateMax();
858 void SetPitchGLoadMin(
double aGees);
861 void SetPitchGLoadMax(
double aGees);
864 void SetAlphaMin(
double aAlpha);
867 void SetAlphaMax(
double aAlpha);
870 void SetPitchRateMin(
double aPitchRate);
873 void SetPitchRateMax(
double aPitchRate);
876 void SetVerticalSpeedMin(
double aVertSpeed);
879 void SetVerticalSpeedMax(
double aVertSpeed);
882 void SetYawGLoadMax(
double aYawGLoad);
885 void SetBetaMax(
double aBeta);
888 void SetYawRateMax(
double aYawRate);
891 void SetRollRateMax(
double aRollRate);
894 void SetBankAngleMax(
double aBankAngle);
897 void SetForwardAccelMin(
double aForwardAccel);
900 void SetForwardAccelMax(
double aForwardAccel);
903 void SetTaxiSpeedMax(
double aSpeedMax);
906 void SetTaxiYawRateMax(
double aSpeedMax);
909 void SetTurnRollInMultiplier(
double aValue);
912 void SetRouteAllowableAngleError(
double aValue_rad);
915 double GetCurrentTurnRollInMultiplier();
918 double GetDefaultTurnRollInMultiplier();
921 double GetCurrentRouteAllowableAngleError();
924 double GetDefaultRouteAllowableAngleError();
927 double GetBankAngleMax()
const;
932 void SetTaxiMode(
bool aTaxiModeEnabled);
935 void SetTaxiRadius(
double aTaxiRadius_ft);
938 void SetAutopilotPitchAngle(
double aPitchAngle_deg);
941 void SetAutopilotFlightPathAngle(
double aFlightPathAngle_deg);
944 void SetAutopilotVerticalSpeed(
double aVerticalSpeed_fpm);
947 void SetAutopilotAltitude(
double aAltitude_ft);
950 void SetAutopilotRollAngle(
double aRollAngle_deg);
953 void SetAutopilotRollRate(
double aRollRate_dps);
956 void SetPitchGLoad(
double aGLoad);
959 void SetAutopilotPitchRate(
double aPitchRate_dps);
962 void SetAutopilotDeltaPitch(
double DeltaPitchAngle_deg);
965 void SetAutopilotDeltaRoll(
double DeltaRollAngle_deg);
968 void SetAutopilotSpeedKTAS(
double aSpeed_KTAS);
971 void SetAutopilotSpeedKCAS(
double aSpeed_KCAS);
974 void SetAutopilotSpeedMach(
double aSpeed_Mach);
977 void SetAutopilotLateralWaypointMode();
980 void SetAutopilotVerticalWaypointMode();
983 void SetAutopilotSpeedWaypointMode();
986 void SetAutopilotWaypointMode();
989 void SetAutopilotNoControl();
992 void EnableDirectThrottleInput();
995 void MoveThrottleToIdle();
998 void MoveThrottleToFull();
1001 void MoveThrottleToAfterburner();
1004 void ReleaseDirectThrottleInput();
1007 void EnableDirectSpeedBrakeInput();
1010 void OpenSpeedBrake();
1013 void CloseSpeedBrake();
1016 void ReleaseDirectSpeedBrakeInput();
1019 double GetStickBackPosition()
const;
1022 double GetStickRightPosition()
const;
1025 double GetRudderRightPosition()
const;
1028 double GetThrottleMilitaryPosition()
const;
1031 double GetThrottleAfterburnerPosition()
const;
1034 double GetThrustReverserControlPosition()
const;
1037 double GetSpeedBrakeControlPosition()
const;
1040 bool ActivateSequencer(
const std::string& aSequencerName);
1051 void SetDestroyed();
1054 bool GetIsDestroyed();
1059 bool GetEngineIsOperating()
const;
1062 bool GetEngineIsSmoking()
const;
1065 bool GetEngineAfterburnerIsOn()
const;
1068 void MakeEnginesSmoke(
bool aEngineSmoking);
1071 bool GetContrailTrailingEffect()
const;
1074 bool GetRocketSmokeTrailingEffect()
const;
1077 bool GetDamageSmokeTrailingEffect()
const;
1080 void SetDamageSmokeTrailingEffect(
bool aEffectActive);
1083 bool GetRisingSmokePlumeIsPresent()
const;
1086 void SetRisingSmokePlumeIsPresent(
bool aSmoking);
1089 bool GetLaunchFlashSmokeIsPresent()
const;
1092 void SetLaunchFlashSmokeIsPresent(
bool aLaunchFlashSmoke);
1095 bool GetFlamesArePresent()
const;
1098 void SetFlamesArePresent(
bool aFlaming);
1101 bool GetIsLightlyDamaged()
const;
1104 void SetIsLightlyDamaged();
1107 bool GetIsHeavilyDamaged()
const;
1110 void SetIsHeavilyDamaged();
1114 void SetTestingIgnoreAllCrashes(
bool aValue);
1117 bool GetTestingIgnoreAllCrashes()
const;
1121 void SetTestingClampToSealLevelMinAlt(
bool aValue);
1125 bool GetTestingClampToSealLevelMinAlt()
const;
1130 WsfManeuver* GetCurrentManeuver()
const;
1133 WsfManeuverSequence* GetManeuverSequence()
const;
1136 void ExecuteManeuver(
double aSimTime, std::unique_ptr<WsfManeuver>&& aManeuverPtr);
1139 void ExecuteManeuverSequence(
double aSimTime, std::unique_ptr<WsfManeuverSequence>&& aSequencePtr);
1142 void CancelManeuvers();
1146 void GetInitialState(
double aLocWCS[3],
double aVelWCS[3],
double aOrientationNED[3])
const;
1147 void SetInitialLatLon(
double aLat,
double aLon);
1148 void SetInitialAlt(
double aAlt_m);
1149 void SetInitialNEDHeading(
double aHeading_rad);
1150 void SetInitialNEDPitch(
double aPitch_rad);
1151 void SetInitialNEDRoll(
double aRoll_rad);
1152 void SetInitialNEDVelocity(
double aVelNorth_mps,
double aVelEast_mps,
double aVelDown_mps);
1174 bool ExecuteTriggers(
double aSimTime,
unsigned int aPointIndex)
override;
1194 std::string& aRootName,
1196 const UtQuaternion& aRotation,
1197 const UtVec3d& aOffset);
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 P6DofPilotManager.hpp:38
Definition P6DofRoute.hpp:27
Definition P6DofVehicleType.hpp:41
Definition P6DofVehicle.hpp:53
Provides the capability to draw shapes into the WSF replay file.
Definition WsfDraw.hpp:35
Definition WsfMoverGuidance.hpp:23
virtual bool ExecuteTriggers(double aSimTime, unsigned int aPointIndex)
Definition WsfMover.cpp:360
bool ProcessInput(UtInput &aInput) override
Definition WsfMover.cpp:138
virtual bool TurnToHeading(double aSimTime, double aHeading, double aRadialAccel, WsfPath::TurnDirection aTurnDirection)
Definition WsfMover.cpp:454
bool Initialize(double aSimTime) override
Definition WsfMover.cpp:108
virtual bool ReturnToRoute(double aSimTime)
Definition WsfMover.cpp:393
virtual void SetPitch(double aPitch)
Definition WsfMover.cpp:218
virtual bool GoToAltitude(double aSimTime, double aAltitude, double aClimbDiveRate, bool aKeepRoute)
Definition WsfMover.cpp:383
WsfMover * Clone() const override=0
virtual bool GoToSpeed(double aSimTime, double aSpeed, double aLinearAccel, bool aKeepRoute)
Definition WsfMover.cpp:441
virtual void SetOrientationNED(double aHeading, double aPitch, double aRoll)
Definition WsfMover.cpp:240
virtual void SetRoll(double aRoll)
Definition WsfMover.cpp:229
virtual bool GoToWaypoint(double aSimTime, unsigned int aDestination)
Definition WsfMover.cpp:512
virtual bool SetRoute(double aSimTime, const WsfRoute &aRoute)
Definition WsfMover.cpp:481
virtual void ResetPosition(double aSimTime)
Informs the mover to use the current platform state.
Definition WsfMover.hpp:94
virtual bool GoToLocation(double aSimTime, double aLatitude, double aLongitude, double aAltitude)
Definition WsfMover.cpp:428
virtual bool TurnToRelativeHeading(double aSimTime, double aHeadingChange, double aRadialAccel, WsfPath::TurnDirection aTurnDirection)
Definition WsfMover.cpp:467
void Update(double aSimTime) override
Definition WsfMover.cpp:310
virtual void SetHeading(double aHeading)
Definition WsfMover.cpp:207
virtual bool UpdateRoute(double aSimTime, const WsfRoute &aRoute)
Definition WsfMover.cpp:492
virtual int RoutePointIndex() const
Definition WsfMover.hpp:141
Definition WsfP6DOF_MoverTestObject.hpp:31
double mSpeed
Definition WsfP6DOF_Mover.hpp:1168
double mLastWheelBrakeRightPosition
Definition WsfP6DOF_Mover.hpp:1244
double mLastRudder
Definition WsfP6DOF_Mover.hpp:1232
std::map< std::string, std::pair< double, int > > mEventPipeManager
Definition WsfP6DOF_Mover.hpp:1303
double mDamageFactor
Definition WsfP6DOF_Mover.hpp:1298
bool mLandingGearDownAtStart
Definition WsfP6DOF_Mover.hpp:1281
void CheckForNewlyJettisonedPlatforms(double aSimTime)
Definition WsfP6DOF_Mover.cpp:1537
double mInitialSpeed_NED_Z_fps
Definition WsfP6DOF_Mover.hpp:1223
void WriteKinematicStatus(ut::log::MessageStream &aStream)
Definition WsfP6DOF_Mover.cpp:2310
double mCommandedRollRate
Definition WsfP6DOF_Mover.hpp:1258
const char * GetScriptClassName() const override
Definition WsfP6DOF_Mover.hpp:629
bool ExecuteTriggersCB(unsigned int aPointIndex)
Definition WsfP6DOF_Mover.cpp:1139
bool mTaxiModeEnabledAtStart
Definition WsfP6DOF_Mover.hpp:1286
double mInitialSpeed_NED_Y_fps
Definition WsfP6DOF_Mover.hpp:1222
double mLaunchSmokeTime_sec
Definition WsfP6DOF_Mover.hpp:1292
double mInitialNEDHeading
Definition WsfP6DOF_Mover.hpp:1216
double mTargetPosition_Longitude
Definition WsfP6DOF_Mover.hpp:1220
void SetGuidance(WsfMoverGuidance *aGuidancePtr)
Set the pointer to the mover guidance object. Ownership is retained by the caller.
Definition WsfP6DOF_Mover.hpp:577
double mLastThrustVectorRollRightPosition
Definition WsfP6DOF_Mover.hpp:1241
double mLastThrustReverserLeverPosition
Definition WsfP6DOF_Mover.hpp:1238
std::queue< WsfPlatform * > mNewlyJettisonedPlatforms
Definition WsfP6DOF_Mover.hpp:1211
double mLastFlapsLeverPosition
Definition WsfP6DOF_Mover.hpp:1236
UtVec3d mVectorToTarget_NED
Definition WsfP6DOF_Mover.hpp:1166
bool mValidInitialNEDHeading
Definition WsfP6DOF_Mover.hpp:1226
void SetCommandedRollRate(double aRate)
Definition WsfP6DOF_Mover.hpp:594
double mCommandedYawRate
Definition WsfP6DOF_Mover.hpp:1256
double mInitialSpeed_NED_X_fps
Definition WsfP6DOF_Mover.hpp:1221
double mCommandedSpeed
Definition WsfP6DOF_Mover.hpp:1259
double mBingoFuel_lbs
Definition WsfP6DOF_Mover.hpp:1300
double mLastStickX
Definition WsfP6DOF_Mover.hpp:1230
P6DofVehicle * mP6DofVehicleCopyPtr
Definition WsfP6DOF_Mover.hpp:1207
double mInitialPosition_Latitude
Definition WsfP6DOF_Mover.hpp:1213
void UpdatePlatformFromP6DofVehicle(P6DofVehicle *aP6DofVehicle, UtEntity *aPlatform)
Definition WsfP6DOF_Mover.cpp:1699
void InitializeSubobject(double aSimTime, std::string &aRootName, P6DofVehicle *aObject, const UtQuaternion &aRotation, const UtVec3d &aOffset)
Definition WsfP6DOF_Mover.cpp:904
double mYGLoad
Definition WsfP6DOF_Mover.hpp:1254
bool mValidInitialSpeed_NED
Definition WsfP6DOF_Mover.hpp:1229
bool mThrottleFullAtStart
Definition WsfP6DOF_Mover.hpp:1284
std::unique_ptr< WsfManeuverSequence > mManeuverPtr
Definition WsfP6DOF_Mover.hpp:1306
bool mProducesLaunchSmoke
Definition WsfP6DOF_Mover.hpp:1291
P6DOF::CurrentTargetData mCurrentTarget
Definition WsfP6DOF_Mover.hpp:1278
double mCommandedEngineStopTime
Definition WsfP6DOF_Mover.hpp:1264
double mInitialNEDRoll
Definition WsfP6DOF_Mover.hpp:1218
bool mLightDamage
Definition WsfP6DOF_Mover.hpp:1295
bool mThrottleIdleAtStart
Definition WsfP6DOF_Mover.hpp:1283
double mFMM_Heading
Definition WsfP6DOF_Mover.hpp:1275
bool mEnableThrustVectoringAtStart
Definition WsfP6DOF_Mover.hpp:1289
const WsfRoute * GetDefaultRoute() const override
Definition WsfP6DOF_Mover.hpp:568
WsfSpatialDomain GetSpatialDomain() const override
Definition WsfP6DOF_Mover.hpp:69
double mLastLandingGearLeverPosition
Definition WsfP6DOF_Mover.hpp:1237
std::unique_ptr< WsfP6DOF_MoverTestObject > mTestSupportObjectPtr
Definition WsfP6DOF_Mover.hpp:1310
double mLastThrottle
Definition WsfP6DOF_Mover.hpp:1233
bool mHeavyDamage
Definition WsfP6DOF_Mover.hpp:1296
WsfPlatform * CommonSubobjectJettisonTasks(std::unique_ptr< P6DofVehicle > aJettisonedObject)
Definition WsfP6DOF_Mover.cpp:1546
bool mLastNWS_Enabled
Definition WsfP6DOF_Mover.hpp:1245
double mLastWheelBrakeLeftPosition
Definition WsfP6DOF_Mover.hpp:1243
double mLastThrustVectorPitchUpPosition
Definition WsfP6DOF_Mover.hpp:1240
WsfRoute * mWsfRoutePtr
Definition WsfP6DOF_Mover.hpp:1249
UtCallbackListN< void(double)> RouteChanged
Definition WsfP6DOF_Mover.hpp:615
bool mNWSEnabledAtStart
Definition WsfP6DOF_Mover.hpp:1287
double mLastThrustVectorYawRightPosition
Definition WsfP6DOF_Mover.hpp:1239
double mLastNoseWheelSteeringRightPosition
Definition WsfP6DOF_Mover.hpp:1242
void HandleSubobjectJettison(std::unique_ptr< P6DofVehicle > &aJettisonedObject)
Definition WsfP6DOF_Mover.cpp:1631
double mFMM_LocWCS[3]
Definition WsfP6DOF_Mover.hpp:1274
static int GetTypeId()
Definition WsfP6DOF_Mover.hpp:74
std::string LateralModeToString(P6DOF::Lateral::Mode aMode) const
Definition WsfP6DOF_Mover.cpp:970
bool mLaunchFlashSmoke
Definition WsfP6DOF_Mover.hpp:1294
void SetCommandedSpeed(double aCommandedSpeed)
Definition WsfP6DOF_Mover.hpp:597
double mJokerFuel_lbs
Definition WsfP6DOF_Mover.hpp:1299
WsfRoute * mDefaultWsfRoutePtr
Definition WsfP6DOF_Mover.hpp:1250
double mFMM_Time
Information captured at time of 'first missile motion' (needed by trajectory output).
Definition WsfP6DOF_Mover.hpp:1273
bool mEnginesOffAtStart
Definition WsfP6DOF_Mover.hpp:1280
void SetCommandedYawRate(double aRate)
Definition WsfP6DOF_Mover.hpp:588
bool mParkingBrakeOnAtStart
Definition WsfP6DOF_Mover.hpp:1282
bool mRisingSmokePlume
Definition WsfP6DOF_Mover.hpp:1293
std::string SpeedModeToString(P6DOF::Speed::Mode aMode) const
Definition WsfP6DOF_Mover.cpp:1094
const WsfRoute * GetRoute() const override
Definition WsfP6DOF_Mover.hpp:566
bool mFollowVerticalTrack
Definition WsfP6DOF_Mover.hpp:1209
void SetMinimumHeightAboveTerrain(double aMinimum)
Definition WsfP6DOF_Mover.hpp:602
double mLastSpoilerLeverPosition
Definition WsfP6DOF_Mover.hpp:1235
const P6DofVehicleType * mP6DofVehicleTypePtr
Definition WsfP6DOF_Mover.hpp:1205
double mLastStickY
Definition WsfP6DOF_Mover.hpp:1231
double mZGLoad
Definition WsfP6DOF_Mover.hpp:1255
void CrashIntoGroundCB(double aSimTime)
Definition WsfP6DOF_Mover.cpp:1188
std::string VerticalModeToString(P6DOF::Vertical::Mode aMode) const
Definition WsfP6DOF_Mover.cpp:1029
bool mThrottleAfterburnerAtStart
Definition WsfP6DOF_Mover.hpp:1285
double mTargetPosition_Latitude
Definition WsfP6DOF_Mover.hpp:1219
int CurrentStage() const
Definition WsfP6DOF_Mover.hpp:605
double mInitialAltitude_m
Definition WsfP6DOF_Mover.hpp:1215
WsfP6DOF_Mover & operator=(const WsfP6DOF_Mover &other)=delete
WsfMoverGuidance * GetGuidance() const
Get the pointer to the mover guidance object.
Definition WsfP6DOF_Mover.hpp:580
WsfP6DOF_Mover(WsfScenario &aScenario)
Constructor.
Definition WsfP6DOF_Mover.cpp:89
UtCallbackListN< void(double, double)> StageSeparation
Definition WsfP6DOF_Mover.hpp:618
bool mEnableControlsAtStart
Definition WsfP6DOF_Mover.hpp:1290
void SetP6DofVehicle(std::unique_ptr< P6DofVehicle > aP6DofVehicle)
Definition WsfP6DOF_Mover.cpp:1836
WsfMoverGuidance * mGuidancePtr
Definition WsfP6DOF_Mover.hpp:1253
double mInitialPosition_Longitude
Definition WsfP6DOF_Mover.hpp:1214
double mMinimumHeightAboveTerrain
The minimum height above terrain required for terrain following.
Definition WsfP6DOF_Mover.hpp:1267
WsfP6DOF_MoverTestObject * GetTestSupportObject() const
Definition WsfP6DOF_Mover.hpp:1043
double mMaxGees
Definition WsfP6DOF_Mover.hpp:1167
P6DofVehicle * GetP6DofVehicle() const
Definition WsfP6DOF_Mover.hpp:72
P6DofRoute * ConvertWsfRouteToP6DofRoute(const WsfRoute *aWsfRoute)
Definition WsfP6DOF_Mover.cpp:1646
UtVec3d mManeuverPlane
Definition WsfP6DOF_Mover.hpp:1169
bool mValidInitialNEDPitch
Definition WsfP6DOF_Mover.hpp:1227
bool mDestroyed
Definition WsfP6DOF_Mover.hpp:1297
bool mValidInitialPosition
Definition WsfP6DOF_Mover.hpp:1224
double mInitialNEDPitch
Definition WsfP6DOF_Mover.hpp:1217
bool mAutopilotNoControlAtStart
Definition WsfP6DOF_Mover.hpp:1288
double mLastSpdBrakeLeverPosition
Definition WsfP6DOF_Mover.hpp:1234
UtCallbackListN< void(double, double)> StageBurnout
Definition WsfP6DOF_Mover.hpp:617
UtCallbackListN< void(double, double)> StageIgnition
Definition WsfP6DOF_Mover.hpp:616
std::map< std::string, std::vector< WsfVisualPart * > > mVisualPartManager
Definition WsfP6DOF_Mover.hpp:1305
void SetTargetData(P6DOF::CurrentTargetData &aCurrentTarget)
Definition WsfP6DOF_Mover.hpp:608
ut::CloneablePtr< P6DofVehicle > mP6DofVehiclePtr
Definition WsfP6DOF_Mover.hpp:1204
bool mValidInitialAltitude_ft
Definition WsfP6DOF_Mover.hpp:1225
double mCommandedPitchRate
Definition WsfP6DOF_Mover.hpp:1257
UtCallbackHolder mCallbacks
Definition WsfP6DOF_Mover.hpp:1304
unsigned int mStageIndex
The index of the current stage.
Definition WsfP6DOF_Mover.hpp:1269
void UpdateAppearance(double aSimTime)
Definition WsfP6DOF_Mover.cpp:1370
bool mValidInitialNEDRoll
Definition WsfP6DOF_Mover.hpp:1228
P6DofPilotManager * mPilotManagerPtr
Definition WsfP6DOF_Mover.hpp:1206
bool mUseWashInInitConditions
Definition WsfP6DOF_Mover.hpp:1208
void SetCommandedPitchRate(double aRate)
Definition WsfP6DOF_Mover.hpp:591
WsfDraw * mDrawPtr
Definition WsfP6DOF_Mover.hpp:1203
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
Mode
Definition P6DofVehicleData.hpp:302
Mode
Definition P6DofVehicleData.hpp:338
Mode
Definition P6DofVehicleData.hpp:319
TurnDirection
Turn direction for TurnToHeading and TurnToRelativeHeading.
Definition WsfPath.hpp:88
Definition P6DofVehicleData.hpp:430