|
WSF
|
#include <WsfAttitudeController.hpp>


Public Member Functions | |
| WsfAttitudeController () | |
| WsfAttitudeController (const WsfAttitudeController &aOther) | |
| ~WsfAttitudeController () override=default | |
| WsfAttitudeController & | operator= (const WsfAttitudeController &aSrc)=delete |
| virtual void | SetTargetOrientationECI (double aPsiECI, double aThetaECI, double aPhiECI)=0 |
| Set the orientation target for this attitude controller. | |
| void | SetTargetOrientation (double aYawECS, double aPitchECS, double aRollECS, const UtVec3d &aX_AxisOrientationECI, const UtVec3d &aZ_AxisConstraintECI) |
| virtual void | GetTargetOrientationECI (double &aPsiECI, double &aThetaECI, double &aPhiECI) const =0 |
| Get the current orientation target for this attitude controller. | |
| virtual void | UpdateOrientation (double aDeltaT)=0 |
| virtual bool | CalculateOrientation (double &aPsi, double &aTheta, double &aPhi) const |
| Calculate the updated orientation target. | |
| void | Update (double aDeltaT) |
| Update attitude controller. | |
| virtual bool | AtTargetOrientation () const =0 |
| Has the mover reached the target orientation. | |
| WsfAttitudeController * | Clone () const override=0 |
| Clone this object. | |
| bool | ProcessInput (UtInput &aInput) override |
| void | SetMover (WsfSpaceMoverBase *aMover) |
| Set the mover to which this is attached. | |
| WsfSpaceMoverBase * | GetMover () const |
| Return the mover to which this attitude controller is attached. | |
| void | SetOrientation (std::unique_ptr< wsf::space::Orientation > aOrientationPtr) |
| WSF_SPACE_DEPRECATED bool | SetOrientation (const std::string &aOrientation) |
| Public Member Functions inherited from WsfObject | |
| WsfObject () | |
| This is the constructor for the WsfObject class. | |
| ~WsfObject () override | |
| This is the destructor for the WsfObject class. | |
| const char * | GetScriptClassName () const override |
| const std::string & | GetType () const |
| WsfStringId | GetTypeId () const |
| Get the string ID of the 'type' of the object. | |
| void | SetType (WsfStringId aType) |
| const std::string & | GetBaseType () const |
| WsfStringId | GetBaseTypeId () const |
| const TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (const WsfObject &aRhs) |
| Assignment operator. | |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| For XIO (de)serialization. | |
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
Additional Inherited Members | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
A base class for attitude controllers The attitude controller models the ability of the platform with the space mover to reorient itself. It operates by setting a target orientation to which the platform will try to orient.
| WsfAttitudeController::WsfAttitudeController | ( | ) |
References WsfObject::WsfObject().
Referenced by Clone(), WsfInstantAttitudeController::Clone(), WsfRateLimitedAttitudeController::Clone(), operator=(), WsfAttitudeController(), WsfInstantAttitudeController::WsfInstantAttitudeController(), and WsfRateLimitedAttitudeController::WsfRateLimitedAttitudeController().
| WsfAttitudeController::WsfAttitudeController | ( | const WsfAttitudeController & | aOther | ) |
References Clone(), WsfAttitudeController(), and WsfObject::WsfObject().
|
overridedefault |
|
pure virtual |
Has the mover reached the target orientation.
Implemented in WsfInstantAttitudeController, and WsfRateLimitedAttitudeController.
|
virtual |
Calculate the updated orientation target.
a Pass-through method to calculate the satellite's orientation.
| aPsi | The calculated ECI 'heading' angle. |
| aTheta | The calculated ECI 'pitch' angle. |
| aPhi | The calculated ECI 'roll' angle. |
Referenced by Update(), and UpdateOrientation().
|
overridepure virtual |
Clone this object.
Implements WsfObject.
Implemented in WsfInstantAttitudeController, and WsfRateLimitedAttitudeController.
References WsfAttitudeController().
Referenced by WsfAttitudeController().
|
inline |
Return the mover to which this attitude controller is attached.
Referenced by WsfRateLimitedAttitudeController::AtTargetOrientation(), WsfInstantAttitudeController::UpdateOrientation(), and WsfRateLimitedAttitudeController::UpdateOrientation().
|
pure virtual |
Get the current orientation target for this attitude controller.
Implemented in WsfInstantAttitudeController, and WsfRateLimitedAttitudeController.
|
delete |
References WsfAttitudeController().
|
overridevirtual |
Process input from a generic source.
Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
Reimplemented from WsfObject.
Reimplemented in WsfRateLimitedAttitudeController.
References wsf::space::Orientation::Factory().
Referenced by WsfRateLimitedAttitudeController::ProcessInput().
|
inline |
Set the mover to which this is attached.
| bool WsfAttitudeController::SetOrientation | ( | const std::string & | aOrientation | ) |
(Deprecated) Sets the orientation to one of the standard orientation types.
| aOrientation | The desired orientation type. |
References wsf::space::Orientation::Factory().
| void WsfAttitudeController::SetOrientation | ( | std::unique_ptr< wsf::space::Orientation > | aOrientationPtr | ) |
Sets the orientation to one of the standard orientation types.
| aOrientationPtr | The desired orientation type. |
Referenced by WsfOrbitalAttitudeChangeEvent::ExecuteEvent().
| void WsfAttitudeController::SetTargetOrientation | ( | double | aYawECS, |
| double | aPitchECS, | ||
| double | aRollECS, | ||
| const UtVec3d & | aX_AxisOrientationECI, | ||
| const UtVec3d & | aZ_AxisConstraintECI ) |
Set a general target orientation based on an ECS-referenced yaw, pitch, roll, a PCS x-axis alignment vector in ECI coordinates, and a PCS z-axis constraint vector.
References SetTargetOrientationECI().
Referenced by SetTargetOrientationECI().
|
pure virtual |
Set the orientation target for this attitude controller.
Implemented in WsfInstantAttitudeController, and WsfRateLimitedAttitudeController.
References SetTargetOrientation().
Referenced by SetTargetOrientation(), and Update().
| void WsfAttitudeController::Update | ( | double | aDeltaT | ) |
Update attitude controller.
Update the platform's attitude.
| aDeltaT | the change in time to integrate angular rotation. |
References CalculateOrientation(), SetTargetOrientationECI(), and UpdateOrientation().
|
pure virtual |
Perform update to orientation. This is responsible for updating the actual orientation of the platform
Implemented in WsfInstantAttitudeController, and WsfRateLimitedAttitudeController.
References CalculateOrientation().
Referenced by Update().