WSF
WsfRigidBodySixDOF_PilotObject.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2020 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFRIGIDBODYSIXDOFPILOTOBJECT_HPP
13#define WSFRIGIDBODYSIXDOFPILOTOBJECT_HPP
14
19
20namespace wsf
21{
22namespace six_dof
23{
24class WSF_SIX_DOF_EXPORT RigidBodyPilotObject : public PilotObject
25{
26public:
29
31
32 // In most instances, PilotObject children should override this function
33 virtual bool ProcessInput(UtInput& aInput);
34
35 // In most instances, PilotObject children should override this function
36 virtual bool Initialize(int64_t aSimTime_nanosec);
37
38 void ManageFrozenControls() override;
39
40 // This returns the "type" of pilot object -- each child of this class
41 // should override this function.
42 std::string GetPilotType() const override { return "RigidBodySixDOF_Object"; }
43
44 // Flight control system functions -----------------------------------------------------
45
46 // FlightControlSystem Functions -- These functions (which are inherited,
47 // and not overridable) are used by the FlightControlSystem to get values
48 // of control inputs.
49
50 // This returns a 'handle' to a control. If there is no control with the
51 // specified name, the function returns 0;
52 size_t GetControlHandle(const std::string& aControlName) const;
53
54 // These functions get handles to "standard" control inputs
55 size_t GetStdStickBackHandle() const { return mStdStickBackHandle; }
65 size_t GetStdFlapsDownHandle() const { return mStdFlapsDownHandle; }
73
74 // This returns the normalized value of the control input, given its handle.
75 // If the input is a boolean input, it returns 0.0 for false and 1.0 for true.
76 double ControlInputValue(size_t aControlInputHandle) const;
77
78 // This returns the boolean value of the control input, given its handle.
79 // If the input is not a boolean input, it returns true if the value is
80 // greater than 0.5.
81 bool ControlInputValueBool(size_t aControlInputHandle) const;
82
83 // Control input positions -------------------------------------------------------------
84
85 // These functions return the current positions of specified control inputs
86
87 // This returns the current stick back control input position
88 double GetStickBackControllerPosition() const override;
89
90 // This returns the current stick right control input position
91 double GetStickRightControllerPosition() const override;
92
93 // This returns the current rudder right control input position
94 double GetRudderRightControllerPosition() const override;
95
96 // This returns the current throttle control input position,
97 // using IDLE=0, MIL=1.0, and AB=2.0
98 double GetThrottleControllerPosition() const override;
99
100 // This returns the current military (non-afterburner) throttle control
101 // input position. For a combined military/afterburner throttle value,
102 // use GetThrottleControllerPosition() instead.
103 double GetThrottleMilitaryControllerPosition() const override;
104
105 // This returns the current afterburner throttle control input
106 // position. For a combined military/afterburner throttle value,
107 // use GetThrottleControllerPosition() instead.
108 double GetThrottleAfterburnerControllerPosition() const override;
109
110 // This returns the current speed brakes control input position
111 double GetSpeedBrakesControllerPosition() const override;
112
113 // This returns the current flaps control input position
114 double GetFlapsControllerPosition() const override;
115
116 // This returns the current landing gear control input position
117 double GetLandingGearControllerPosition() const override;
118
119 // This returns the current spoilers control input position
120 double GetSpoilersControllerPosition() const override;
121
122 // This returns the current thrust reverser control input position
123 double GetThrustReverserControllerPosition() const override;
124
125 // Manual pilot functions --------------------------------------------------------------
126 // TODO -- These will be moved to the manual pilot classes, as appropriate
127
128 // These functions provide an interface for a ManualPilot controlled via
129 // input from a crew station.
130
131 // This allows external controls to be "injected" into the RigidBodyPilotObject.
132 // This variant allows a reduced set of inputs, omitting rudder.
133 // The aStickRightPosition and aStickAftPosition values are +/-1. The
134 // aSpdBrakeLeverPosition, aSpoilerLeverPosition, and aFlapsLeverPosition
135 // are 0-1. The aThrottleLeverPosition assumes that 0 is idle, 1 is full power
136 // without augmentation/afterburner (military power), and 2 is full power
137 // with full augmentation/afterburner (full afterburner).
138 void SetManualControlData(double aStickRightPosition,
139 double aStickAftPosition,
140 double aThrottleLeverPosition,
141 double aSpdBrakeLeverPosition,
142 double aSpoilerLeverPosition,
143 double aFlapsLeverPosition) override;
144
145 // This allows external controls to be "injected" into the RigidBodyPilotObject.
146 // This variant includes rudder control. The aStickRightPosition, aStickAftPosition
147 // and aRudderRightPosition values are +/-1. The aSpdBrakeLeverPosition,
148 // aSpoilerLeverPosition, and aFlapsLeverPosition are 0-1. The
149 // aThrottleLeverPosition assumes that 0 is idle, 1 is full power without
150 // augmentation/afterburner (military power), and 2 is full power with full
151 // augmentation/afterburner (full afterburner).
152 void SetManualControlData(double aStickRightPosition,
153 double aStickAftPosition,
154 double aRudderRightPosition,
155 double aThrottleLeverPosition,
156 double aSpdBrakeLeverPosition,
157 double aSpoilerLeverPosition,
158 double aFlapsLeverPosition) override;
159
160 // This allows external controls to be "injected" into the RigidBodyPilotObject.
161 // This variant adds landing gear control. The aStickRightPosition, aStickAftPosition
162 // and aRudderRightPosition values are +/-1. The aSpdBrakeLeverPosition,
163 // aSpoilerLeverPosition, aFlapsLeverPosition, and aLandingGearLeverPosition are 0-1.
164 // The aThrottleLeverPosition assumes that 0 is idle, 1 is full power without
165 // augmentation/afterburner (military power), and 2 is full power with full
166 // augmentation/afterburner (full afterburner). The aLandingGearLeverPosition assumes
167 // that 0 is gear up and 1 is gear full down and locked.
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;
176
177 // This allows external controls to be "injected" into the RigidBodyPilotObject.
178 // This variant adds thrust vectoring and enhanced landing gear and braking
179 // controls. The aStickRightPosition, aStickAftPosition, aRudderRightPosition,
180 // aThrustVectorYawRightPosition, aThrustVectorPitchUpPosition,
181 // aThrustVectorRollRightPosition, and aNoseWheelSteeringRightPosition values
182 // are +/-1. The aWheelBrakeLeftPosition and aWheelBrakeRightPosition assume
183 // that 0 is brake off and 1 is full brake. The aSpdBrakeLeverPosition,
184 // aSpoilerLeverPosition, aFlapsLeverPosition, and aLandingGearLeverPosition
185 // are 0-1. The aThrottleLeverPosition assumes that 0 is idle, 1 is full power
186 // without augmentation/afterburner (military power), and 2 is full power with
187 // full augmentation/afterburner (full afterburner). The
188 // aThrustReverserLeverPosition assumes that 0 is no reverser and 1 is full
189 // reverser. The aLandingGearLeverPosition assumes that 0 is gear up and 1 is
190 // gear full down and locked. The aNWS_Enabled is a flag to enable/disable
191 // Nose Wheel Steering (NWS) and assumes false is normal mode and true is NWS
192 // mode. NWS mode provides a greater range of motion for the nose wheel, often
193 // used when taxiing.
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;
210
211 // Synthetic pilot functions -----------------------------------------------------------
212 // TODO -- These will be moved to the synthetic pilot class, as appropriate
213
214 // These functions provide an interface for a SyntheticPilot controlled via
215 // script commands
216
217 // This allows external controls to be "injected" into the RigidBodyPilotObject.
218 // This variant allows a reduced set of inputs, omitting rudder.
219 // The aStickRightPosition and aStickAftPosition values are +/-1. The
220 // aSpdBrakeLeverPosition, aSpoilerLeverPosition, and aFlapsLeverPosition
221 // are 0-1. The aThrottleLeverPosition assumes that 0 is idle, 1 is full power
222 // without augmentation/afterburner (military power), and 2 is full power
223 // with full augmentation/afterburner (full afterburner).
224 void SetExternalDirectControlData(double aStickRightPosition,
225 double aStickAftPosition,
226 double aThrottleLeverPosition,
227 double aSpdBrakeLeverPosition,
228 double aSpoilerLeverPosition,
229 double aFlapsLeverPosition) override;
230
231 // This allows external controls to be "injected" into the RigidBodyPilotObject.
232 // This variant includes rudder control. The aStickRightPosition, aStickAftPosition
233 // and aRudderRightPosition values are +/-1. The aSpdBrakeLeverPosition,
234 // aSpoilerLeverPosition, and aFlapsLeverPosition are 0-1. The
235 // aThrottleLeverPosition assumes that 0 is idle, 1 is full power without
236 // augmentation/afterburner (military power), and 2 is full power with full
237 // augmentation/afterburner (full afterburner).
238 void SetExternalDirectControlData(double aStickRightPosition,
239 double aStickAftPosition,
240 double aRudderRightPosition,
241 double aThrottleLeverPosition,
242 double aSpdBrakeLeverPosition,
243 double aSpoilerLeverPosition,
244 double aFlapsLeverPosition) override;
245
246 // This allows external controls to be "injected" into the RigidBodyPilotObject.
247 // This variant adds landing gear control. The aStickRightPosition, aStickAftPosition
248 // and aRudderRightPosition values are +/-1. The aSpdBrakeLeverPosition,
249 // aSpoilerLeverPosition, aFlapsLeverPosition, and aLandingGearLeverPosition are 0-1.
250 // The aThrottleLeverPosition assumes that 0 is idle, 1 is full power without
251 // augmentation/afterburner (military power), and 2 is full power with full
252 // augmentation/afterburner (full afterburner). The aLandingGearLeverPosition assumes
253 // that 0 is gear up and 1 is gear full down and locked.
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;
262
263 // This allows external controls to be "injected" into the RigidBodyPilotObject.
264 // This variant adds thrust vectoring and enhanced landing gear and braking
265 // controls. The aStickRightPosition, aStickAftPosition, aRudderRightPosition,
266 // aThrustVectorYawRightPosition, aThrustVectorPitchUpPosition,
267 // aThrustVectorRollRightPosition, and aNoseWheelSteeringRightPosition values
268 // are +/-1. The aWheelBrakeLeftPosition and aWheelBrakeRightPosition assume
269 // that 0 is brake off and 1 is full brake. The aSpdBrakeLeverPosition,
270 // aSpoilerLeverPosition, aFlapsLeverPosition, and aLandingGearLeverPosition
271 // are 0-1. The aThrottleLeverPosition assumes that 0 is idle, 1 is full power
272 // without augmentation/afterburner (military power), and 2 is full power with
273 // full augmentation/afterburner (full afterburner). The
274 // aThrustReverserLeverPosition assumes that 0 is no reverser and 1 is full
275 // reverser. The aLandingGearLeverPosition assumes that 0 is gear up and 1 is
276 // gear full down and locked. The aNWS_Enabled is a flag to enable/disable
277 // Nose Wheel Steering (NWS) and assumes false is normal mode and true is NWS
278 // mode. NWS mode provides a greater range of motion for the nose wheel, often
279 // used when taxiing.
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;
296
297 // Testing support functions -----------------------------------------------------------
298
299 // Testing Support -- These functions are used when testing. Note that they are
300 // inherited, and are not overridable, since all PilotObjects support "testing".
301
302 // This next group of functions are typically used to set controls for testing
303 // and "calculation" functions.
304
305 // Sets the stick right control: -1=Full Forward (nose down), 0=Neutral,
306 // 1=Full Aft (nose up)
307 void SetTestStickBackControllerPosition(double aStickAftPosition) override;
308
309 // Sets the stick right control: -1=Full Left, 0=Neutral, 1=Full Right
310 void SetTestStickRightControllerPosition(double aStickRightPosition) override;
311
312 // Sets the rudder right control: -1=Full Left, 0=Neutral, 1=Full Right
313 void SetTestRudderRightControllerPosition(double aRudderRightPosition) override;
314
315 // Sets the speed brake control: 0=Closed, 1=Open
316 void SetTestSpeedBrakesControllerPosition(double aSpeedBrakesPosition) override;
317
318 // Sets the flaps control: 0=Retracted, 1=Fully Extended
319 void SetTestFlapsControllerPosition(double aFlapsPosition) override;
320
321 // Sets the spoilers control: 0=Retracted, 1=Fully Extended
322 void SetTestSpoilersControllerPosition(double aSpoilersPosition) override;
323
324 // Sets the landing gear control: 0=Retracted, 1=Fully Extended
325 void SetTestLandingGearControllerPosition(double aLandingGearPosition) override;
326
327 // -------------------------------------------------------------------------------------
328
329 // The CommonController (autopilot) typically controls the throttle and speed brakes
330 // as part of its speed control. However, these can be overridden with direct commands.
331
333 CommonController* GetCommonController() const override { return mCommonController.get(); }
334
336
337 // Stick and rudder position are normally controlled by the autopilot, but can be
338 // overridden using these direct input functions.
339
340 void SetDirectStickBackInput(double aStickBackPosition) override;
341 void SetDirectStickRightInput(double aStickBackPosition) override;
342 void SetDirectRudderRightInput(double aStickBackPosition) override;
343
344 // Speed brakes are normally controlled by the autopilot, but they can be overridden
345 // using these direct input functions.
346
347 void OpenSpeedBrake() override;
348 void CloseSpeedBrake() override;
349 void SetDirectSpeedBrakesInput(double aValue) override;
350
351 // Wheel brakes are normally controlled by the autopilot but can be overridden
352 // using these functions that provide external control
353 void EnableDirectBraking();
354 void SetParkingBrake();
355 void ReleaseParkingBrake();
356 void ApplyLeftGearBrake(double aValue);
357 void ApplyRightGearBrake(double aValue);
358 void ReleaseDirectBraking();
359
360 // -------------------------------------------------------------------------------------
361
362 // These functions provide control inputs for landing gear, flaps, spoilers,
363 // thrust reversers, and nose wheel steering (NWS)
364
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);
370
371protected:
373
374 // This is used to match-up control inputs and outputs
376 {
377 explicit InputOutputPair(const std::string& aOutputName)
378 : outputName(aOutputName)
379 {
380 }
381
382 std::string outputName;
384 bool copiedInput = false;
385 };
386
387 std::unique_ptr<InputOutputPair> CopyStandardControlInput(InputOutputPair* aSourceData);
388
389 // Inherited PilotObject Functions -- These functions are not overridden;
390 // child PilotObjects will simply inherit these internal functions.
391
392 // This "zeros" control inputs if controls are disabled
393 void ZeroDisabledControlData() override;
394
395 // This updates the active pilot object with the commands from the parent vehicle
396 void InheritParentControlData() override;
397
398 // This is called during Initialize to match-up "standard" control inputs and outputs
400
401 // The CommonController (autopilot) typically controls the throttle and speed brakes
402 // as part of its speed control. However, these can be overridden with direct commands.
403
404 // SetThrottleData assumes that 1 is full, unaugmented power (military power)
405 // and 2.0 is full afterburner. This function is called (directly or indirectly)
406 // by all variants of the SetControlData functions.
407 void SetThrottleData(double aThrottleLeverPosition) override;
408
409 // This sets the current military (non-afterburner) throttle control input position
410 void SetThrottleMilitaryData(double aThrottleLeverPosition) override;
411
412 // This sets the current afterburner throttle control input position
413 void SetThrottleAfterburnerData(double aThrottleLeverPosition) override;
414
415 virtual bool MatchInputOutput(InputOutputPair* aInputOutput);
416
417 void EnforceControlLimits() override;
418
419 // *** THIS SHOULD BE OVERRIDDEN BY EACH PILOT OBJECT ***
420 // This uses the internal controls (mAutopilotControls of type
421 // RigidBodySixDOF_AutopilotDataTypes::sAutopilotControls) to set the actual controls
423
424 // *** THIS SHOULD BE OVERRIDDEN BY EACH PILOT OBJECT ***
425 // This uses the internal controls (mAutopilotControls of type
426 // RigidBodySixDOF_AutopilotDataTypes::sAutopilotControls) to set the actual controls
428
429 // CommonController (autopilot) data ---------------------------------------------------
430
431 UtCloneablePtr<RigidBodyCommonController> mCommonController{nullptr};
432
433 // This is a list/vector containing all of the control inputs
434 std::vector<FlightControlInputValue> mControlsList;
435
436 // These are structures that provide "standard" (std) control inputs.
437
438 std::unique_ptr<InputOutputPair> mStdStickBackPtr{nullptr};
439 std::unique_ptr<InputOutputPair> mStdStickRightPtr{nullptr};
440 std::unique_ptr<InputOutputPair> mStdRudderRightPtr{nullptr};
441 std::unique_ptr<InputOutputPair> mStdThrottleMilPtr{nullptr};
442 std::unique_ptr<InputOutputPair> mStdThrottleABPtr{nullptr};
443 std::unique_ptr<InputOutputPair> mStdThrustReverserPtr{nullptr};
444 std::unique_ptr<InputOutputPair> mStdThrustVectoringYawPtr{nullptr};
445 std::unique_ptr<InputOutputPair> mStdThrustVectoringPitchPtr{nullptr};
446 std::unique_ptr<InputOutputPair> mStdThrustVectoringRollPtr{nullptr};
447 std::unique_ptr<InputOutputPair> mStdSpeedBrakesOutPtr{nullptr};
448 std::unique_ptr<InputOutputPair> mStdFlapsDownPtr{nullptr};
449 std::unique_ptr<InputOutputPair> mStdSpoilersOutPtr{nullptr};
450 std::unique_ptr<InputOutputPair> mStdLandingGearDownPtr{nullptr};
451 std::unique_ptr<InputOutputPair> mStdNoseWheelSteeringPtr{nullptr};
452 std::unique_ptr<InputOutputPair> mStdNWS_SteeringPtr{nullptr};
453 std::unique_ptr<InputOutputPair> mStdNWS_EnabledPtr{nullptr};
454 std::unique_ptr<InputOutputPair> mStdWheelBrakeLeftPtr{nullptr};
455 std::unique_ptr<InputOutputPair> mStdWheelBrakeRightPtr{nullptr};
456
457 // These are "handles" to the standard control inputs
458
477
478 // Manual control input data ----------------------------------------------------------
479 // Control override flags --------------------------------------------------------------
481};
482} // namespace six_dof
483} // namespace wsf
484
485#endif
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
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
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_VehicleData.hpp:31
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
Copyrights Multiple, All Rights Reserved