WSF
P6DofControlActuator.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 2003-2015 The Boeing 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 P6DOFCONTROLACTUATOR_H
13#define P6DOFCONTROLACTUATOR_H
14
15#include <cinttypes>
16
18class UtInput;
19
21{
22public:
23 explicit P6DofControlActuator(P6DofFlightControlSystem* aFlightControlsParent);
26
27 P6DofControlActuator* Clone(P6DofFlightControlSystem* aFlightControlsParent) const;
28
29 // ProcessInput reads initialization data
30 bool ProcessInput(UtInput& aInput);
31 bool Initialize(int64_t aSimTime_nanosec);
32
33 // This performs an update
34 void Update(int64_t aSimTime_nanosec, double aCommandedAngle_deg);
35
36 // This performs an update and returns the angle after the update
37 double UpdateAndGetCurrentAngle_deg(int64_t aSimTime_nanosec, double aCommandedAngle_deg);
38
39 // This returns the current angle
40 double GetCurrentAngle_deg() const;
41
42 // This may be used to set the current angle. Note that this will instantaneously
43 // set the angle without concern for lags and motion rates.
44 void SetCurrentAngle_deg(double aAngle_deg);
45
46protected:
47 P6DofControlActuator(const P6DofControlActuator& aSrc, P6DofFlightControlSystem* aFlightControlsParent);
48
58};
59
60#endif
double mLagTimeConstant_sec
Definition P6DofControlActuator.hpp:56
~P6DofControlActuator()=default
int64_t mLastSimTime_nanosec
Definition P6DofControlActuator.hpp:55
P6DofFlightControlSystem * mFlightControlsParent
Definition P6DofControlActuator.hpp:57
P6DofControlActuator & operator=(const P6DofControlActuator &other)=delete
double GetCurrentAngle_deg() const
Definition P6DofControlActuator.cpp:236
bool Initialize(int64_t aSimTime_nanosec)
Definition P6DofControlActuator.cpp:134
P6DofControlActuator(P6DofFlightControlSystem *aFlightControlsParent)
Definition P6DofControlActuator.cpp:24
double mMaxNegativeRate_dps
Definition P6DofControlActuator.hpp:50
double mCommandedAngle_deg
Definition P6DofControlActuator.hpp:54
double UpdateAndGetCurrentAngle_deg(int64_t aSimTime_nanosec, double aCommandedAngle_deg)
Definition P6DofControlActuator.cpp:230
void SetCurrentAngle_deg(double aAngle_deg)
Definition P6DofControlActuator.cpp:241
void Update(int64_t aSimTime_nanosec, double aCommandedAngle_deg)
Definition P6DofControlActuator.cpp:141
double mMinAngle_deg
Definition P6DofControlActuator.hpp:52
double mCurrentAngle_deg
Definition P6DofControlActuator.hpp:53
P6DofControlActuator * Clone(P6DofFlightControlSystem *aFlightControlsParent) const
Definition P6DofControlActuator.cpp:50
bool ProcessInput(UtInput &aInput)
Definition P6DofControlActuator.cpp:55
double mMaxAngle_deg
Definition P6DofControlActuator.hpp:51
double mMaxPositiveRate_dps
Definition P6DofControlActuator.hpp:49
Definition P6DofFlightControlSystem.hpp:42
Copyrights Multiple, All Rights Reserved