12#ifndef WSFRIGIDBODYSIXDOFGROUNDREACTIONPOINT_HPP
13#define WSFRIGIDBODYSIXDOFGROUNDREACTIONPOINT_HPP
15#include "wsf_six_dof_export.h"
20#include "UtVec3dX.hpp"
48 bool CalcNormalForceMoment(UtVec3dX& aForce_lbs, UtVec3dX& aMoment_ftlbs,
bool& aMaxCompressionExceeded,
double aDeltaT_sec);
66 UtVec3dX& aMoment_ftlbs,
67 const UtVec3dX& aFrictionDirectionInSurfaceNED);
74 UtVec3dX& aMoment_ftlbs,
75 bool& aMaxCompressionExceeded,
77 const UtVec3dX& aAdditiveVelocityNED_fps);
102 void GetSteeringData(
double& aCurrentSteeringAngle_deg,
double& aMaxSteeringAngle_deg)
const;
105 void GetData(UtVec3dX& aGearPos_m,
106 UtVec3dX& aGearCompressionVec,
107 UtVec3dX& aCurrentGearRollingVec,
108 UtVec3dX& aCurrentForce_lbs,
109 UtVec3dX& aCurrentMoment_ftlbs,
110 UtVec3dX& aCurrentNormalForce_lbs,
111 UtVec3dX& aCurrentFrictionForce_lbs,
112 double& aUncompressedLength_ft,
113 double& aMaximumCompression_ft,
114 double& aCurrentCompression_ft,
115 double& aNormalizedBrakingValue,
116 double& aSteeringAngle_deg,
117 double& aHeightAboveTerrain_ft,
118 bool& aIsLandingGear,
119 bool& aInContactWithGround,
120 bool& aMaxCompressionExceeded);
123 void GetCompressionData(
double& aUncompressedLength_ft,
124 double& aMaximumCompression_ft,
125 double& aCurrentCompression_ft,
126 double& aNormalizedBrakingValue,
127 double& aSteeringAngle_deg,
128 bool& aInContactWithGround,
129 bool& aMaxCompressionExceeded);
131 bool NotMoving()
const;
139 bool SetDataWhenTinyDeltaT(UtVec3dX& aForce_lbs, UtVec3dX& aMoment_ftlbs,
bool& aMaxCompressionExceeded);
144 bool ReturnWhenTinyDeltaT(UtVec3dX& aForce_lbs, UtVec3dX& aMoment_ftlbs,
bool& aMaxCompressionExceeded);
151 UtVec3dX& aMoment_ftlbs,
152 const UtVec3dX& aFrictionDirectionInSurfaceNED,
153 bool aUseForceBasedFriction);
UtVec3dX mLastNetGearVelInSurfaceNED_fps
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:207
size_t mSteeringControlSurfaceHandle
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:159
std::string mSteeringControlSurfaceName
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:156
double mSteeringAngle_deg
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:186
bool mNoseGear
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:161
UtVec3dX mCurrentNormalForceBody_lbs
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:191
friend class RigidBodyLandingGear
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:34
size_t GetSteeringControlHandle() const
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:269
double GetSteeringAngle_deg() const
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:284
double mLastNormalForceMagnitude_lbs
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:209
UtVec3dX mGearRollingVec
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:171
double GetBraking() const
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:264
RigidBodyGroundReactionPoint(const RigidBodyGroundReactionPoint &aSrc)=default
UtVec3dX mCurrentExternalForce_lbs
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:195
bool mLastNetGearVelInSurfaceNEDValid
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:208
UtVec3dX mCurrentForce_lbs
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:193
double mDamperConstant_lbs_per_fps
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:175
bool mNWS_Engaged
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:162
bool mUseFriction
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:181
~RigidBodyGroundReactionPoint()=default
double mLastCompression_ft
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:205
double mScuffingFrictionCoefficient
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:180
std::string mNWSAngleControlSurfaceName
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:157
bool ReturnWhenNotInContactWithGround(UtVec3dX &aForce_lbs, UtVec3dX &aMoment_ftlbs, bool &aMaxCompressionExceeded)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:1153
UtVec3dX mGearPos_m
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:169
UtVec3dX mCurrentFrictionForceBody_lbs
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:192
std::string mBrakeControlName
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:165
double mNormalizedBrakingValue
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:185
UtVec3dX mCurrentGearVel_NED_mps
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:189
bool Initialize()
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:225
double mLastCompressionRate_fps
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:206
bool mInContactWithGround
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:199
UtVec3dX mCurrentGearRollingVecNED
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:190
bool IsLandingGear()
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:99
void SetBraking(double aNormalizedValue)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:259
bool ProcessInput(UtInput &aInput)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:27
size_t mNWSAngleControlSurfaceHandle
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:160
UtVec3dX mGearCompressionVec
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:170
UtVec3dX mCurrentMoment_ftlbs
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:194
double mSpringConstant_lbs_per_ft
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:174
std::string mControlSurfaceName
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:155
double mHeightAboveTerrain_ft
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:198
bool ReturnWhenTinyDeltaT(UtVec3dX &aForce_lbs, UtVec3dX &aMoment_ftlbs, bool &aMaxCompressionExceeded)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:1165
RigidBodyGroundReactionPoint()=default
bool mNotMoving
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:202
double CalcMaxFrictionForceMagnitude_lbs(const UtVec3dX &aDesiredForceBasedFrictionDirectionInSurfaceVecNED)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:443
bool mIsValid
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:201
double mMaximumCompression_ft
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:177
bool mMaxCompressionExceeded
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:200
size_t mControlSurfaceHandle
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:158
double mCurrentCompressionRate_fps
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:197
double mBrakingFrictionCoefficient
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:179
double mUncompressedLength_ft
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:176
bool CalcNormalForceMoment(UtVec3dX &aForce_lbs, UtVec3dX &aMoment_ftlbs, bool &aMaxCompressionExceeded, double aDeltaT_sec)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:289
bool CalcGroundReactionForceMoment(UtVec3dX &aForce_lbs, UtVec3dX &aMoment_ftlbs, bool &aMaxCompressionExceeded, double aDeltaT_sec, const UtVec3dX &aAdditiveVelocityNED_fps)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:683
void CalcFrictionForceMomentStartingToMove(UtVec3dX &aForce_lbs, UtVec3dX &aMoment_ftlbs, const UtVec3dX &aFrictionDirectionInSurfaceNED)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:546
bool mIsLandingGear
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:182
bool mExternalForceBeingApplied
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:163
bool SetDataWhenTinyDeltaT(UtVec3dX &aForce_lbs, UtVec3dX &aMoment_ftlbs, bool &aMaxCompressionExceeded)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:1137
bool SetDataWhenNotInContactWithGround(UtVec3dX &aForce_lbs, UtVec3dX &aMoment_ftlbs, bool &aMaxCompressionExceeded)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:1107
void CalcFrictionForceMoment(UtVec3dX &aForce_lbs, UtVec3dX &aMoment_ftlbs, const UtVec3dX &aFrictionDirectionInSurfaceNED, bool aUseForceBasedFriction)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:553
RigidBodyGroundReactionPoint & operator=(const RigidBodyGroundReactionPoint &other)=delete
void CalcFrictionForceMomentWhileInMotion(UtVec3dX &aForce_lbs, UtVec3dX &aMoment_ftlbs)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:539
size_t GetBrakingControlHandle() const
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:254
RigidBodyGroundReactionPoint * Clone() const
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:22
double mRollingFrictionCoefficient
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:178
size_t mBrakeControlHandle
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:166
double mCurrentCompression_ft
Definition WsfRigidBodySixDOF_GroundReactionPoint.hpp:196
void SetSteeringAngle_deg(double aSteeringAngle_deg)
Definition WsfRigidBodySixDOF_GroundReactionPoint.cpp:279
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32