WSF
WsfScriptRigidBodySixDOF_Mover.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 WSFSCRIPTRIGIDBODYSIXDOFMOVER_HPP
13#define WSFSCRIPTRIGIDBODYSIXDOFMOVER_HPP
14
15#include "wsf_six_dof_export.h"
16
18
19namespace wsf
20{
21namespace six_dof
22{
23namespace script
24{
27class WSF_SIX_DOF_EXPORT RigidBodyMover : public Mover
28{
29public:
30 RigidBodyMover(const std::string& aClassName, UtScriptTypes* aTypesPtr);
31
32 // -----------------------------------------------------------------------
33
34 // LANDING GEAR AND BRAKING SUPPORT
35
36 // Landing Gear
37 UT_DECLARE_SCRIPT_METHOD(RetractLandingGear);
38 UT_DECLARE_SCRIPT_METHOD(LowerLandingGear);
39 UT_DECLARE_SCRIPT_METHOD(GetLandingGearPosition); // Angle in degrees
40
41 // Weight on Wheels
42 UT_DECLARE_SCRIPT_METHOD(WeightOnWheels);
43 UT_DECLARE_SCRIPT_METHOD(WeightOnNoseWheel);
44
45 // Nose Wheel Steering (NWS)
47 UT_DECLARE_SCRIPT_METHOD(GetNoseWheelAngle); // Angle in degrees
48
49 // Brake Controls
50 UT_DECLARE_SCRIPT_METHOD(EnableDirectBraking);
51 UT_DECLARE_SCRIPT_METHOD(SetParkingBrake);
52 UT_DECLARE_SCRIPT_METHOD(ApplyLeftGearBrake);
53 UT_DECLARE_SCRIPT_METHOD(ApplyRightGearBrake);
54 UT_DECLARE_SCRIPT_METHOD(ReleaseWheelBrakes);
55 UT_DECLARE_SCRIPT_METHOD(ReleaseDirectBraking);
56
57 // -----------------------------------------------------------------------
58
59 // EXTERNAL FORCES SUPPORT
60
61 // This allows an external force (such as a ground tug or aircraft carrier
62 // catapult) to apply a force to the nose gear. The angle is measured as
63 // zero being forward and positive angles being to the right.
64 UT_DECLARE_SCRIPT_METHOD(ApplyExternalForce); // Force in Newtons
65
66 // This removes any and all external forces on the nose gear
67 UT_DECLARE_SCRIPT_METHOD(RemoveExternalForce);
68
69 // -----------------------------------------------------------------------
70
71 // AUTOPILOT SUPPORT
72
73 // Autopilot commands
76
77 // Current autopilot limits
78 UT_DECLARE_SCRIPT_METHOD(GetTaxiSpeedMax);
79 UT_DECLARE_SCRIPT_METHOD(GetTaxiYawRateMax);
80
81 // Set autopilot limits
82 UT_DECLARE_SCRIPT_METHOD(SetTaxiSpeedMax);
83 UT_DECLARE_SCRIPT_METHOD(SetTaxiYawRateMax);
84
85 // -----------------------------------------------------------------------
86
87 // CONTROL INPUTS SUPPORT
88
89 // Thrust Reverser Control
90 UT_DECLARE_SCRIPT_METHOD(SetThrustReverserPosition);
91
92 // Flight control inputs
93 UT_DECLARE_SCRIPT_METHOD(GetThrustReverserPosition); // Range of 0 to 1
94 UT_DECLARE_SCRIPT_METHOD(GetLandingGearLeverPosition); // Range of 0 to 1
95
96 // -----------------------------------------------------------------------
97
98 // CONTROL SURFACE POSITIONS SUPPORT
99
100 // This provides the angle (deg) of the specified control surface (string)
101 UT_DECLARE_SCRIPT_METHOD(GetAngleOfControlSurface);
102
103 // This returns an array of control surface names (strings)
104 UT_DECLARE_SCRIPT_METHOD(GetListOfControlSurfaceNames);
105
106 // These provide the angle (deg) of common control surfaces
107 UT_DECLARE_SCRIPT_METHOD(GetAileronsBothPosition);
108 UT_DECLARE_SCRIPT_METHOD(GetStabilatorLeftPosition);
109 UT_DECLARE_SCRIPT_METHOD(GetStabilatorRightPosition);
110 UT_DECLARE_SCRIPT_METHOD(GetRudderPosition);
111
112 // -----------------------------------------------------------------------
113
114 // FORCES AND MOMENTS (F&M) SUPPORT
115
116 // Forces and Moments (F&M)
117 UT_DECLARE_SCRIPT_METHOD(GetYawMoment); // Yaw moment in Newton-meters
118 UT_DECLARE_SCRIPT_METHOD(GetPitchMoment); // Pitch moment in Newton-meters
119 UT_DECLARE_SCRIPT_METHOD(GetRollMoment); // Roll moment in Newton-meters
120
121 // -----------------------------------------------------------------------
122
123 // TESTING SUPPORT
124
125 // The following functions are for Testing and should not be documented,
126 // to hide them from normal users
127 UT_DECLARE_SCRIPT_METHOD(GetRigidBodyTestSupportObject);
128};
129} // namespace script
130} // namespace six_dof
131} // namespace wsf
132
133#endif
Mover(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfScriptSixDOF_Mover.cpp:29
UT_DECLARE_SCRIPT_METHOD(ReleaseWheelBrakes)
UT_DECLARE_SCRIPT_METHOD(RetractLandingGear)
UT_DECLARE_SCRIPT_METHOD(ApplyLeftGearBrake)
UT_DECLARE_SCRIPT_METHOD(SetTaxiYawRateMax)
UT_DECLARE_SCRIPT_METHOD(GetNoseWheelAngle)
RigidBodyMover(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfScriptRigidBodySixDOF_Mover.cpp:26
UT_DECLARE_SCRIPT_METHOD(SetThrustReverserPosition)
UT_DECLARE_SCRIPT_METHOD(GetLandingGearLeverPosition)
UT_DECLARE_SCRIPT_METHOD(LowerLandingGear)
UT_DECLARE_SCRIPT_METHOD(EnableDirectBraking)
UT_DECLARE_SCRIPT_METHOD(WeightOnNoseWheel)
UT_DECLARE_SCRIPT_METHOD(GetTaxiYawRateMax)
UT_DECLARE_SCRIPT_METHOD(GetStabilatorRightPosition)
UT_DECLARE_SCRIPT_METHOD(ApplyExternalForce)
UT_DECLARE_SCRIPT_METHOD(GetThrustReverserPosition)
UT_DECLARE_SCRIPT_METHOD(GetAileronsBothPosition)
UT_DECLARE_SCRIPT_METHOD(GetRigidBodyTestSupportObject)
UT_DECLARE_SCRIPT_METHOD(ReleaseDirectBraking)
UT_DECLARE_SCRIPT_METHOD(ApplyRightGearBrake)
UT_DECLARE_SCRIPT_METHOD(GetStabilatorLeftPosition)
UT_DECLARE_SCRIPT_METHOD(GetAngleOfControlSurface)
UT_DECLARE_SCRIPT_METHOD(RemoveExternalForce)
UT_DECLARE_SCRIPT_METHOD(GetRudderPosition)
UT_DECLARE_SCRIPT_METHOD(GetListOfControlSurfaceNames)
UT_DECLARE_SCRIPT_METHOD(GetLandingGearPosition)
Definition WsfScriptPointMassSixDOF_Mover.cpp:25
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved