12#ifndef WSFRIGIDBODYSIXDOFPILOTOBJECT_HPP
13#define WSFRIGIDBODYSIXDOFPILOTOBJECT_HPP
36 virtual bool Initialize(int64_t aSimTime_nanosec);
42 std::string
GetPilotType()
const override {
return "RigidBodySixDOF_Object"; }
52 size_t GetControlHandle(
const std::string& aControlName)
const;
76 double ControlInputValue(
size_t aControlInputHandle)
const;
81 bool ControlInputValueBool(
size_t aControlInputHandle)
const;
88 double GetStickBackControllerPosition()
const override;
91 double GetStickRightControllerPosition()
const override;
94 double GetRudderRightControllerPosition()
const override;
98 double GetThrottleControllerPosition()
const override;
103 double GetThrottleMilitaryControllerPosition()
const override;
108 double GetThrottleAfterburnerControllerPosition()
const override;
111 double GetSpeedBrakesControllerPosition()
const override;
114 double GetFlapsControllerPosition()
const override;
117 double GetLandingGearControllerPosition()
const override;
120 double GetSpoilersControllerPosition()
const override;
123 double GetThrustReverserControllerPosition()
const override;
138 void SetManualControlData(
double aStickRightPosition,
139 double aStickAftPosition,
140 double aThrottleLeverPosition,
141 double aSpdBrakeLeverPosition,
142 double aSpoilerLeverPosition,
143 double aFlapsLeverPosition)
override;
152 void SetManualControlData(
double aStickRightPosition,
153 double aStickAftPosition,
154 double aRudderRightPosition,
155 double aThrottleLeverPosition,
156 double aSpdBrakeLeverPosition,
157 double aSpoilerLeverPosition,
158 double aFlapsLeverPosition)
override;
168 void SetManualControlData(
double aStickRightPosition,
169 double aStickAftPosition,
170 double aRudderRightPosition,
171 double aThrottleLeverPosition,
172 double aSpdBrakeLeverPosition,
173 double aSpoilerLeverPosition,
174 double aFlapsLeverPosition,
175 double aLandingGearLeverPosition)
override;
194 void SetManualControlData(
double aStickRightPosition,
195 double aStickAftPosition,
196 double aRudderRightPosition,
197 double aThrottleLeverPosition,
198 double aThrustReverserLeverPosition,
199 double aThrustVectorYawRightPosition,
200 double aThrustVectorPitchUpPosition,
201 double aThrustVectorRollRightPosition,
202 double aSpdBrakeLeverPosition,
203 double aSpoilerLeverPosition,
204 double aFlapsLeverPosition,
205 double aLandingGearLeverPosition,
206 double aNoseWheelSteeringRightPosition,
207 double aWheelBrakeLeftPosition,
208 double aWheelBrakeRightPosition,
209 bool aNWS_Enabled)
override;
224 void SetExternalDirectControlData(
double aStickRightPosition,
225 double aStickAftPosition,
226 double aThrottleLeverPosition,
227 double aSpdBrakeLeverPosition,
228 double aSpoilerLeverPosition,
229 double aFlapsLeverPosition)
override;
238 void SetExternalDirectControlData(
double aStickRightPosition,
239 double aStickAftPosition,
240 double aRudderRightPosition,
241 double aThrottleLeverPosition,
242 double aSpdBrakeLeverPosition,
243 double aSpoilerLeverPosition,
244 double aFlapsLeverPosition)
override;
254 void SetExternalDirectControlData(
double aStickRightPosition,
255 double aStickAftPosition,
256 double aRudderRightPosition,
257 double aThrottleLeverPosition,
258 double aSpdBrakeLeverPosition,
259 double aSpoilerLeverPosition,
260 double aFlapsLeverPosition,
261 double aLandingGearLeverPosition)
override;
280 void SetExternalDirectControlData(
double aStickRightPosition,
281 double aStickAftPosition,
282 double aRudderRightPosition,
283 double aThrottleLeverPosition,
284 double aThrustReverserLeverPosition,
285 double aThrustVectorYawRightPosition,
286 double aThrustVectorPitchUpPosition,
287 double aThrustVectorRollRightPosition,
288 double aSpdBrakeLeverPosition,
289 double aSpoilerLeverPosition,
290 double aFlapsLeverPosition,
291 double aLandingGearLeverPosition,
292 double aNoseWheelSteeringRightPosition,
293 double aWheelBrakeLeftPosition,
294 double aWheelBrakeRightPosition,
295 bool aNWS_Enabled)
override;
307 void SetTestStickBackControllerPosition(
double aStickAftPosition)
override;
310 void SetTestStickRightControllerPosition(
double aStickRightPosition)
override;
313 void SetTestRudderRightControllerPosition(
double aRudderRightPosition)
override;
316 void SetTestSpeedBrakesControllerPosition(
double aSpeedBrakesPosition)
override;
319 void SetTestFlapsControllerPosition(
double aFlapsPosition)
override;
322 void SetTestSpoilersControllerPosition(
double aSpoilersPosition)
override;
325 void SetTestLandingGearControllerPosition(
double aLandingGearPosition)
override;
340 void SetDirectStickBackInput(
double aStickBackPosition)
override;
341 void SetDirectStickRightInput(
double aStickBackPosition)
override;
342 void SetDirectRudderRightInput(
double aStickBackPosition)
override;
347 void OpenSpeedBrake()
override;
348 void CloseSpeedBrake()
override;
349 void SetDirectSpeedBrakesInput(
double aValue)
override;
353 void EnableDirectBraking();
354 void SetParkingBrake();
355 void ReleaseParkingBrake();
356 void ApplyLeftGearBrake(
double aValue);
357 void ApplyRightGearBrake(
double aValue);
358 void ReleaseDirectBraking();
365 void SetLandingGearControlPosition(
double aPosition)
override;
366 void SetFlapsControlPosition(
double aPosition)
override;
367 void SetSpoilersControlPosition(
double aPosition)
override;
368 void SetThrustReverserControlPosition(
double aPosition)
override;
369 void SetEnableNWS(
bool aNWS_Enabled);
Definition WsfSixDOF_CommonController.hpp:38
CommonController::sAutopilotControls mAutopilotControls
Definition WsfSixDOF_PilotObject.hpp:877
Definition WsfRigidBodySixDOF_CommonController.hpp:25
Definition WsfRigidBodySixDOF_PilotObject.hpp:25
size_t GetStdNWS_EnabledHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:70
size_t GetStdLandingGearDownHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:67
size_t GetStdNWS_SteeringHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:69
std::unique_ptr< InputOutputPair > mStdThrustVectoringRollPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:446
UtCloneablePtr< RigidBodyCommonController > mCommonController
Definition WsfRigidBodySixDOF_PilotObject.hpp:431
void ZeroDisabledControlData() override
Definition WsfRigidBodySixDOF_PilotObject.cpp:2276
size_t GetStdSpoilersOutHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:66
size_t GetStdThrustReverserHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:60
void SetThrottleMilitaryData(double aThrottleLeverPosition) override
Definition WsfRigidBodySixDOF_PilotObject.cpp:982
size_t GetStdThrustVectoringRollHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:63
void ManageFrozenControls() override
Definition WsfRigidBodySixDOF_PilotObject.cpp:511
size_t GetStdWheelBrakeRightHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:72
virtual bool ProcessInput(UtInput &aInput)
Definition WsfRigidBodySixDOF_PilotObject.cpp:95
std::unique_ptr< InputOutputPair > CopyStandardControlInput(InputOutputPair *aSourceData)
Definition WsfRigidBodySixDOF_PilotObject.cpp:62
std::vector< FlightControlInputValue > mControlsList
Definition WsfRigidBodySixDOF_PilotObject.hpp:434
size_t GetStdStickRightHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:56
size_t mStdNWS_SteeringHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:473
std::unique_ptr< InputOutputPair > mStdNoseWheelSteeringPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:451
size_t GetStdSpeedBrakesOutHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:64
RigidBodyCommonController * GetRigidBodyCommonController() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:332
size_t GetStdThrustVectoringPitchHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:62
size_t GetStdThrustVectoringYawHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:61
void MatchStdInputsAndOutputs()
Definition WsfRigidBodySixDOF_PilotObject.cpp:265
size_t mStdThrustVectoringRollHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:467
size_t mStdSpoilersOutHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:470
void SetThrottleAfterburnerData(double aThrottleLeverPosition) override
Definition WsfRigidBodySixDOF_PilotObject.cpp:1000
size_t mStdNWS_EnabledHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:474
std::string GetPilotType() const override
Definition WsfRigidBodySixDOF_PilotObject.hpp:42
std::unique_ptr< InputOutputPair > mStdWheelBrakeLeftPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:454
size_t mStdSpeedBrakesOutHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:468
size_t mStdNoseWheelSteeringHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:472
CommonController * GetCommonController() const override
Definition WsfRigidBodySixDOF_PilotObject.hpp:333
RigidBodyPilotObject & operator=(const RigidBodyPilotObject &other)=delete
size_t GetStdWheelBrakeLeftHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:71
size_t GetStdThrottleABHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:59
std::unique_ptr< InputOutputPair > mStdStickBackPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:438
size_t mStdThrottleABHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:463
std::unique_ptr< InputOutputPair > mStdThrottleABPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:442
~RigidBodyPilotObject()=default
size_t mStdRudderRightHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:461
std::unique_ptr< InputOutputPair > mStdStickRightPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:439
std::unique_ptr< InputOutputPair > mStdLandingGearDownPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:450
virtual bool Initialize(int64_t aSimTime_nanosec)
Definition WsfRigidBodySixDOF_PilotObject.cpp:501
void SetThrottleData(double aThrottleLeverPosition) override
Definition WsfRigidBodySixDOF_PilotObject.cpp:916
std::unique_ptr< InputOutputPair > mStdWheelBrakeRightPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:455
void LoadControlDataWithAutopilotControlData() override
Definition WsfRigidBodySixDOF_PilotObject.cpp:676
void EnforceControlLimits() override
Definition WsfRigidBodySixDOF_PilotObject.cpp:899
size_t mStdThrustVectoringYawHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:465
virtual bool MatchInputOutput(InputOutputPair *aInputOutput)
Definition WsfRigidBodySixDOF_PilotObject.cpp:876
size_t mStdThrottleMilHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:462
void InheritParentControlData() override
Definition WsfRigidBodySixDOF_PilotObject.cpp:2426
bool mControlOverrideWheelBrakes
Definition WsfRigidBodySixDOF_PilotObject.hpp:480
size_t GetStdNoseWheelSteeringHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:68
std::unique_ptr< InputOutputPair > mStdThrustVectoringYawPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:444
void LoadControlDataWithAutopilotStabilityData() override
Definition WsfRigidBodySixDOF_PilotObject.cpp:825
size_t GetStdThrottleMilHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:58
std::unique_ptr< InputOutputPair > mStdFlapsDownPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:448
size_t mStdThrustVectoringPitchHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:466
size_t mStdWheelBrakeLeftHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:475
std::unique_ptr< InputOutputPair > mStdThrottleMilPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:441
CommonController::sAutopilotControls * GetCurrentControlLimits()
Definition WsfRigidBodySixDOF_PilotObject.hpp:335
std::unique_ptr< InputOutputPair > mStdSpoilersOutPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:449
std::unique_ptr< InputOutputPair > mStdThrustReverserPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:443
size_t GetStdFlapsDownHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:65
std::unique_ptr< InputOutputPair > mStdNWS_EnabledPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:453
size_t mStdStickRightHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:460
size_t mStdThrustReverserHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:464
size_t GetStdStickBackHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:55
size_t mStdStickBackHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:459
std::unique_ptr< InputOutputPair > mStdThrustVectoringPitchPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:445
size_t mStdWheelBrakeRightHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:476
std::unique_ptr< InputOutputPair > mStdSpeedBrakesOutPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:447
size_t mStdFlapsDownHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:469
size_t mStdLandingGearDownHandle
Definition WsfRigidBodySixDOF_PilotObject.hpp:471
size_t GetStdRudderRightHandle() const
Definition WsfRigidBodySixDOF_PilotObject.hpp:57
RigidBodyPilotObject()=default
std::unique_ptr< InputOutputPair > mStdRudderRightPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:440
std::unique_ptr< InputOutputPair > mStdNWS_SteeringPtr
Definition WsfRigidBodySixDOF_PilotObject.hpp:452
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Definition WsfSixDOF_CommonController.hpp:41
Definition WsfRigidBodySixDOF_PilotObject.hpp:376
std::string outputName
Definition WsfRigidBodySixDOF_PilotObject.hpp:382
bool copiedInput
Definition WsfRigidBodySixDOF_PilotObject.hpp:384
FlightControlInputValue * controlInput
Definition WsfRigidBodySixDOF_PilotObject.hpp:383
InputOutputPair(const std::string &aOutputName)
Definition WsfRigidBodySixDOF_PilotObject.hpp:377