WSF
WsfRateLimitedAttitudeController.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 2017 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 WSFRATELIMITEDATTITUDECONTROLLER_HPP
13#define WSFRATELIMITEDATTITUDECONTROLLER_HPP
14
15#include "wsf_space_export.h"
16
18
19class UtInput;
21
26{
27public:
31
32 void SetTargetOrientationECI(double aPsi, double aTheta, double aPhi) override;
33 void GetTargetOrientationECI(double& aPsi, double& aTheta, double& aPhi) const override;
34 void UpdateOrientation(double aDeltaT) override;
35 bool AtTargetOrientation() const override;
36
37 WsfAttitudeController* Clone() const override { return new WsfRateLimitedAttitudeController(*this); }
38 bool ProcessInput(UtInput& aInput) override;
39
40private:
41 static double UpdateAngle(double aCurr, double aTarget, double aMaxChange);
42
43 double mTargetPsiECI;
44 double mTargetThetaECI;
45 double mTargetPhiECI;
46 double mYawRate;
47 double mPitchRate;
48 double mRollRate;
49};
50
51#endif // WSFRATELIMITEDATTITUDECONTROLLER_HPP
WsfAttitudeController()
Definition WsfAttitudeController.cpp:24
bool ProcessInput(UtInput &aInput) override
Definition WsfAttitudeController.cpp:52
virtual bool AtTargetOrientation() const =0
Has the mover reached the target orientation.
virtual void GetTargetOrientationECI(double &aPsiECI, double &aThetaECI, double &aPhiECI) const =0
Get the current orientation target for this attitude controller.
virtual void SetTargetOrientationECI(double aPsiECI, double aThetaECI, double aPhiECI)=0
Set the orientation target for this attitude controller.
virtual void UpdateOrientation(double aDeltaT)=0
WsfRateLimitedAttitudeController()
Definition WsfRateLimitedAttitudeController.cpp:25
WsfRateLimitedAttitudeController(const WsfRateLimitedAttitudeController &aOther)=default
WsfAttitudeController * Clone() const override
Clone this object.
Definition WsfRateLimitedAttitudeController.hpp:37
~WsfRateLimitedAttitudeController() override=default
Definition WsfSpaceMoverBase.hpp:70
Copyrights Multiple, All Rights Reserved