12#ifndef WSFRIGIDBODYSIXDOFLANDINGGEAR_HPP
13#define WSFRIGIDBODYSIXDOFLANDINGGEAR_HPP
15#include "wsf_six_dof_export.h"
21#include "UtCloneablePtr.hpp"
23#include "UtVec3dX.hpp"
55 void Update(int64_t aSimTime_nanosec, UtVec3dX& aRequiredOpposingForceInSurfaceVecNED_lbs);
64 void GetForceAndMoments(UtVec3dX& aForce_lbs, UtVec3dX& aMoment_ftlbs)
const;
78 bool AllGearAtRest()
const;
86 void ApplyExternalForce(
double aForceMagnitude_lbs,
double aAngle_deg);
90 void ApplyExternalForce(
const UtVec3dX& aExternalForceBody_lbs);
93 void RemoveExternalForce();
96 void EnableNWS(
bool aEnable);
104 double NoseGearDistForwardOfReference_ft();
109 double RightMainGearRearwardOfReference_ft();
114 double RightMainGearSidewaysOfReference_ft();
118 void SteeringAngleForDesiredRadiusFt_deg(
double aTurnRadius_ft,
double& aSteeringAngle_deg,
double aMaxSteeringAngle_deg);
139 bool NameIsUnique(
const std::string& aName)
const;
143 bool VehicleIsAtRest()
const;
aObjectPtr Update(simTime)
This is a base class for detailed air movers. This umbrella can cover RB6 or PM6 models.
Definition WsfSixDOF_Mover.hpp:58
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:32
Definition WsfRigidBodySixDOF_LandingGear.hpp:36
UtVec3dX mTotalMoment_ftlbs
Definition WsfRigidBodySixDOF_LandingGear.hpp:150
bool Initialize2()
Definition WsfRigidBodySixDOF_LandingGear.cpp:141
UtVec3dX mCurrentExternalForceBody_lbs
Definition WsfRigidBodySixDOF_LandingGear.hpp:148
void SetLastUpdateSimTime(int64_t aLastUpdateSimTime_nanosec)
Definition WsfRigidBodySixDOF_LandingGear.hpp:57
int64_t mLastUpdateSimTime_nanosec
Definition WsfRigidBodySixDOF_LandingGear.hpp:145
bool mWeightOnNoseWheelFlag
Definition WsfRigidBodySixDOF_LandingGear.hpp:155
bool SomethingIsInContactWithGround() const
Definition WsfRigidBodySixDOF_LandingGear.hpp:71
RigidBodyLandingGear * Clone() const
Definition WsfRigidBodySixDOF_LandingGear.cpp:43
bool WeightOnWheels() const
Definition WsfRigidBodySixDOF_LandingGear.hpp:74
bool mApplyExternalForce
Definition WsfRigidBodySixDOF_LandingGear.hpp:147
std::string mNWSEnableControlName
Definition WsfRigidBodySixDOF_LandingGear.hpp:159
RigidBodyGroundReactionPoint * mNoseGear
Definition WsfRigidBodySixDOF_LandingGear.hpp:162
bool mSomethingExceededMaxCompression
Definition WsfRigidBodySixDOF_LandingGear.hpp:152
bool ProcessInput(UtInput &aInput)
Definition WsfRigidBodySixDOF_LandingGear.cpp:57
bool mWeightOnWheelsFlag
Definition WsfRigidBodySixDOF_LandingGear.hpp:154
bool FrictionHoldingStill() const
Definition WsfRigidBodySixDOF_LandingGear.hpp:81
bool WeightOnNoseWheel() const
Definition WsfRigidBodySixDOF_LandingGear.hpp:75
RigidBodyGroundReactionPoint * mLeftMainGear
Definition WsfRigidBodySixDOF_LandingGear.hpp:164
UtVec3dX mTotalForce_lbs
Definition WsfRigidBodySixDOF_LandingGear.hpp:149
bool mNWS_IsEnabled
Definition WsfRigidBodySixDOF_LandingGear.hpp:158
bool Initialize(int64_t aSimTime_nanosec)
Definition WsfRigidBodySixDOF_LandingGear.cpp:112
std::vector< UtCloneablePtr< RigidBodyGroundReactionPoint > > mListOfGroundReactionPoints
Definition WsfRigidBodySixDOF_LandingGear.hpp:146
bool SomethingExceededMaxCompression() const
Definition WsfRigidBodySixDOF_LandingGear.hpp:68
bool NWS_IsEnabled() const
Definition WsfRigidBodySixDOF_LandingGear.hpp:99
~RigidBodyLandingGear()=default
RigidBodyLandingGear & operator=(const RigidBodyLandingGear &other)=delete
void SetParentVehicle(Mover *aParentVehicle) override
Definition WsfRigidBodySixDOF_LandingGear.cpp:48
bool mFrictionHoldingStill
Definition WsfRigidBodySixDOF_LandingGear.hpp:157
UtVec3dX mLastVehicleVelocityOnGround_mps
Definition WsfRigidBodySixDOF_LandingGear.hpp:151
double GetNominalHeightAboveGroundOnGear()
Definition WsfRigidBodySixDOF_LandingGear.hpp:134
double mNominalHgtAboveGndOnGear_m
Definition WsfRigidBodySixDOF_LandingGear.hpp:161
RigidBodyGroundReactionPoint * mRightMainGear
Definition WsfRigidBodySixDOF_LandingGear.hpp:163
size_t mNWSEnableControlHandle
Definition WsfRigidBodySixDOF_LandingGear.hpp:160
RigidBodyLandingGear()=default
bool mLastTimeAtRestOnSurface
Definition WsfRigidBodySixDOF_LandingGear.hpp:156
bool mSomethingIsInContactWithGround
Definition WsfRigidBodySixDOF_LandingGear.hpp:153
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32