12#ifndef P6DOFLANDINGGEAR_H
13#define P6DOFLANDINGGEAR_H
15#include "p6dof_export.h"
22#include "UtVec3dX.hpp"
52 void Update(int64_t aSimTime_nanosec, UtVec3dX& aRequiredOpposingForceInSurfaceVecNED_lbs);
61 void GetForceAndMoments(UtVec3dX& aForce_lbs, UtVec3dX& aMoment_ftlbs)
const;
75 bool AllGearAtRest()
const;
83 void ApplyExternalForce(
double aForceMagnitude_lbs,
double aAngle_deg);
87 void ApplyExternalForce(
const UtVec3dX& aExternalForceBody_lbs);
90 void RemoveExternalForce();
93 void EnableNWS(
bool aEnable);
101 double NoseGearDistForwardOfReference_ft();
106 double RightMainGearRearwardOfReference_ft();
111 double RightMainGearSidewaysOfReference_ft();
115 void SteeringAngleForDesiredRadiusFt_deg(
double aTurnRadius_ft,
double& aSteeringAngle_deg,
double aMaxSteeringAngle_deg);
136 bool NameIsUnique(
const std::string& aName)
const;
140 bool VehicleIsAtRest()
const;
aObjectPtr Update(simTime)
Definition P6DofGroundReactionPoint.hpp:33
Definition P6DofLandingGear.hpp:33
void SetLastUpdateSimTime(int64_t aLastUpdateSimTime_nanosec)
Definition P6DofLandingGear.hpp:54
bool Initialize(int64_t aSimTime_nanosec)
Definition P6DofLandingGear.cpp:162
bool ProcessInput(UtInput &aInput)
Definition P6DofLandingGear.cpp:107
UtVec3dX mLastVehicleVelocityOnGround_mps
Definition P6DofLandingGear.hpp:148
bool mSomethingExceededMaxCompression
Definition P6DofLandingGear.hpp:149
UtVec3dX mTotalForce_lbs
Definition P6DofLandingGear.hpp:146
double mNominalHgtAboveGndOnGear_m
Definition P6DofLandingGear.hpp:158
std::vector< P6DofGroundReactionPoint * > mListOfGroundReactionPoints
Definition P6DofLandingGear.hpp:143
bool mSomethingIsInContactWithGround
Definition P6DofLandingGear.hpp:150
double GetNominalHeightAboveGroundOnGear()
Definition P6DofLandingGear.hpp:131
bool mWeightOnWheelsFlag
Definition P6DofLandingGear.hpp:151
P6DofLandingGear(P6DofScenario *aScenario)
Definition P6DofLandingGear.cpp:22
bool FrictionHoldingStill() const
Definition P6DofLandingGear.hpp:78
P6DofGroundReactionPoint * mLeftMainGear
Definition P6DofLandingGear.hpp:161
std::string mNWSEnableControlName
Definition P6DofLandingGear.hpp:156
bool SomethingExceededMaxCompression() const
Definition P6DofLandingGear.hpp:65
P6DofGroundReactionPoint * mNoseGear
Definition P6DofLandingGear.hpp:159
bool mWeightOnNoseWheelFlag
Definition P6DofLandingGear.hpp:152
UtVec3dX mCurrentExternalForceBody_lbs
Definition P6DofLandingGear.hpp:145
bool WeightOnWheels() const
Definition P6DofLandingGear.hpp:71
bool NWS_IsEnabled() const
Definition P6DofLandingGear.hpp:96
size_t mNWSEnableControlHandle
Definition P6DofLandingGear.hpp:157
bool SomethingIsInContactWithGround() const
Definition P6DofLandingGear.hpp:68
UtVec3dX mTotalMoment_ftlbs
Definition P6DofLandingGear.hpp:147
bool WeightOnNoseWheel() const
Definition P6DofLandingGear.hpp:72
bool mNWS_IsEnabled
Definition P6DofLandingGear.hpp:155
bool Initialize2()
Definition P6DofLandingGear.cpp:192
P6DofLandingGear & operator=(const P6DofLandingGear &other)=delete
bool mLastTimeAtRestOnSurface
Definition P6DofLandingGear.hpp:153
P6DofGroundReactionPoint * mRightMainGear
Definition P6DofLandingGear.hpp:160
bool mApplyExternalForce
Definition P6DofLandingGear.hpp:144
bool mFrictionHoldingStill
Definition P6DofLandingGear.hpp:154
int64_t mLastUpdateSimTime_nanosec
Definition P6DofLandingGear.hpp:142
P6DofObject(P6DofScenario *aScenario)
Definition P6DofObject.cpp:17
P6DofObject * Clone() const
Definition P6DofObject.cpp:24
virtual void SetParentVehicle(P6DofVehicle *aParentVehicle)
Definition P6DofObject.hpp:39
Definition P6DofScenario.hpp:25
Definition P6DofVehicle.hpp:53