12#ifndef WSFPOINTMASSSIXDOFMOVER_HPP
13#define WSFPOINTMASSSIXDOFMOVER_HPP
44 static int GetTypeId() {
return WsfStringId::UnsafeGetNumber(
"WSF_POINT_MASS_SIX_DOF_MOVER"); }
51 double GetSpeedBrakePosition()
const override;
54 double GetFlapsPosition()
const override;
57 double GetSpoilersPosition()
const override;
86 void SetFlapsPosition(
double aPosition)
override;
90 void SetSpoilersPosition(
double aPosition)
override;
107 void CalculateCurrentMassProperties()
override;
112 void SetCurrentWeight_lbs(
double aWeight_lbs);
119 const Integrator* GetIntegrator()
const override;
134 void SetLastSimTime(
double aSimTime_sec,
bool aIncludeSubobjects =
false)
override;
144 void CalculateAeroBodyForceAndMoments(UtVec3dX& aLiftBodyVector_lbs,
145 UtVec3dX& aDragBodyVector_lbs,
146 UtVec3dX& aSideForceBodyVector_lbs,
147 UtVec3dX& aRotationAccelerationLimits_rps2,
148 UtVec3dX& aStabilizingFrequency_rps)
override;
155 void CalculateAeroBodyForceAndRotation(UtVec3dX& aLiftBodyVector_lbs,
156 UtVec3dX& aDragBodyVector_lbs,
157 UtVec3dX& aSideForceBodyVector_lbs,
158 UtVec3dX& aMoment_ftlbs,
159 UtVec3dX& aReferencePt_ft)
override;
164 void CalculateAlphaAtSpecifiedGLoad_deg(
double aGLoad,
double& aAlpha_deg)
const override;
169 void CalculateBetaAtSpecifiedGLoad_deg(
double aGLoad,
double& aBeta_deg)
const override;
175 void SetActiveAeroObject(
const std::string& aName)
override;
187 double GetRefArea_sqft()
const;
194 double MaxPotentialManeuverGLoad()
const override;
207 void CalculatePropulsionFM(int64_t aSimTime_nanosec,
210 UtVec3dX& aInertialPropulsionVector_lbs,
211 UtVec3dX& aMaximumRotationAcceleration_rps2);
221 double GetMaximumPotentialThrust_lbs()
const override;
224 double GetMinimumPotentialThrust_lbs()
const override;
228 double GetCurrentThrust_lbs()
override;
232 double GetCurrentForwardThrust_lbs()
override;
235 double GetTotalVehicleFuelFlow_pph()
const override;
239 double GetTotalFuelFlow_pph()
const override;
255 bool HasFlaps()
const;
258 double GetStickRightInput()
const override;
259 double GetStickBackInput()
const override;
260 double GetRudderRightInput()
const override;
261 double GetThrottleInput()
const override;
262 double GetSpeedBrakeInput()
const override;
263 double GetSpoilerInput()
const override;
264 double GetLandingGearInput()
const override;
271 void ZeroKinematicsDuringTesting()
override;
277 bool InitializeDetails(
double aSimTime_sec)
override;
280 void UpdateFlightControls(int64_t aSimTime_nanosec)
override;
282 void CalculateThrustVectorAndMomentUpdatePropulsion(
double aSimTime_sec,
283 double aDeltaTime_sec,
287 void UpdatePropulsionFuelBurn(
double aSimTime_sec,
double aDeltaTime_sec,
const KinematicState& aState)
override;
289 void CalculateObjectPropulsion(
double aSimTime_sec,
292 double aDynPress_lbsqft,
293 double aStatPress_lbssqft,
299 double& aFuelBurnRate_pps,
300 double& aFuelBurned_lbs)
override;
302 void CalculateObjectPropulsion(
double aSimTime_sec,
305 double aDynPress_lbsqft,
306 double aStatPress_lbssqft,
312 double& aFuelBurnRate_pps,
313 double& aFuelBurned_lbs)
override;
315 void UpdateObjectPropulsion(
double aSimTime_sec,
318 double aDynPress_lbsqft,
319 double aStatPress_lbssqft,
325 double& aFuelBurnRate_pps,
326 double& aFuelBurned_lbs);
328 void ObjectPropulsionCalculations(
double aSimTime_sec,
331 double aDynPress_lbsqft,
332 double aStatPress_lbssqft,
338 double& aFuelBurnRate_pps,
339 double& aFuelBurned_lbs,
342 void CalcTotalFuelFlowAndQuantity(
double& aCurrentTotalFuelFlow_pph,
343 double& aCurrentTotalFuel_lbs,
344 double& aMaxTotalFuel_lbs)
override;
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfSixDOF_AeroCoreObject.hpp:35
Definition WsfSixDOF_ForceAndMomentsObject.hpp:28
Definition WsfSixDOF_ForceAndRotationObject.hpp:30
Definition WsfSixDOF_Integrator.hpp:31
Definition WsfSixDOF_KinematicState.hpp:34
Definition WsfSixDOF_MoverTestObject.hpp:33
Mover(const WsfScenario &aScenario)
Constructor.
Definition WsfSixDOF_Mover.cpp:63
MassProperties mMassProperties
Definition WsfSixDOF_Mover.hpp:1823
PilotObject * GetActivePilotObject() const
Definition WsfSixDOF_Mover.cpp:1221
Definition WsfSixDOF_PilotManager.hpp:34
Definition WsfPointMassSixDOF_AeroCoreObject.hpp:28
Definition WsfPointMassSixDOF_FlightControlSystem.hpp:44
Definition WsfPointMassSixDOF_MoverTestObject.hpp:23
Definition WsfPointMassSixDOF_Mover.hpp:33
bool FlapRightValid() const override
Definition WsfPointMassSixDOF_Mover.hpp:70
double GetNormalizedSpoilerRight() const override
Definition WsfPointMassSixDOF_Mover.hpp:63
bool FlapLeftValid() const override
Definition WsfPointMassSixDOF_Mover.hpp:69
double GetNormalizedSpoilerLeft() const override
Definition WsfPointMassSixDOF_Mover.hpp:62
double GetNormalizedFlapRight() const override
Definition WsfPointMassSixDOF_Mover.hpp:61
bool GetLastBooleanInput(size_t) const override
Definition WsfPointMassSixDOF_Mover.hpp:125
PointMassFlightControlSystem * GetFlightControls() const
Definition WsfPointMassSixDOF_Mover.hpp:252
MoverTestObject * GetTestSupportObject() const override
Definition WsfPointMassSixDOF_Mover.hpp:94
PointMassPropulsionSystem * GetPointMassPropulsionSystem()
Definition WsfPointMassSixDOF_Mover.hpp:217
double GetNormalizedSpeedBrake() const override
Definition WsfPointMassSixDOF_Mover.hpp:64
const char * GetScriptClassName() const override
Definition WsfPointMassSixDOF_Mover.hpp:82
ut::CloneablePtr< PointMassIntegrator > mIntegratorPtr
Definition WsfPointMassSixDOF_Mover.hpp:355
std::string GetActiveAeroObjectName() const
Definition WsfPointMassSixDOF_Mover.hpp:181
bool SpeedBrakeValid() const override
Definition WsfPointMassSixDOF_Mover.hpp:73
PointMassMoverTestObject * GetPointMassTestSupportObject() const
Definition WsfPointMassSixDOF_Mover.hpp:93
double GetSpoilersPosition() const override
Definition WsfPointMassSixDOF_Mover.cpp:1483
PointMassAeroCoreObject * mActiveAeroObjPtr
Definition WsfPointMassSixDOF_Mover.hpp:351
double GetFlapsPosition() const override
Definition WsfPointMassSixDOF_Mover.cpp:1478
AeroCoreObject * GetAeroCoreObject() const override
Definition WsfPointMassSixDOF_Mover.hpp:197
bool GetBooleanInput(size_t) const override
Definition WsfPointMassSixDOF_Mover.hpp:124
PilotManager * GetPilotManager() const override
Definition WsfPointMassSixDOF_Mover.hpp:247
double GetNormalizedFlapLeft() const override
Definition WsfPointMassSixDOF_Mover.hpp:60
double GetSpeedBrakePosition() const override
Definition WsfPointMassSixDOF_Mover.cpp:1473
std::unique_ptr< PointMassMoverTestObject > mTestSupportObjectPtr
Definition WsfPointMassSixDOF_Mover.hpp:348
bool ProcessInput(UtInput &aInput) override
Definition WsfPointMassSixDOF_Mover.cpp:113
static int GetTypeId()
Definition WsfPointMassSixDOF_Mover.hpp:44
PointMassMover & operator=(const PointMassMover &other)=delete
ut::CloneablePtr< PointMassPropulsionSystem > mPropulsionObjPtr
Definition WsfPointMassSixDOF_Mover.hpp:353
ut::CloneablePtr< PointMassAeroCoreObject > mAeroCoreObjPtr
Definition WsfPointMassSixDOF_Mover.hpp:350
size_t GetInputHandle(const std::string &) const override
Definition WsfPointMassSixDOF_Mover.hpp:123
bool SpoilerRightValid() const override
Definition WsfPointMassSixDOF_Mover.hpp:72
bool SpoilerLeftValid() const override
Definition WsfPointMassSixDOF_Mover.hpp:71
ut::CloneablePtr< PointMassPilotManager > mPilotManagerPtr
Definition WsfPointMassSixDOF_Mover.hpp:358
UtVec3dX GetCenterOfGravity_ft() const override
Definition WsfPointMassSixDOF_Mover.hpp:190
bool ThrottleValid() const override
Definition WsfPointMassSixDOF_Mover.hpp:76
PointMassMover(const WsfScenario &aScenario)
Constructor.
Definition WsfPointMassSixDOF_Mover.cpp:63
ut::CloneablePtr< PointMassFlightControlSystem > mFlightControlsPtr
Definition WsfPointMassSixDOF_Mover.hpp:357
PointMassAeroCoreObject * GetActiveAeroObject() const
Definition WsfPointMassSixDOF_Mover.hpp:178
WsfMover * Clone() const override
Definition WsfPointMassSixDOF_Mover.cpp:107
PropulsionSystem * GetPropulsionSystem() const override
Definition WsfPointMassSixDOF_Mover.hpp:214
PointMassPilotManager * GetPointMassPilotManager() const
Definition WsfPointMassSixDOF_Mover.hpp:248
Definition WsfPointMassSixDOF_PilotManager.hpp:31
Definition WsfPointMassSixDOF_PropulsionSystem.hpp:26
Definition WsfSixDOF_PropulsionSystem.hpp:35
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32