🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
AttitudeAlignConstrain.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/AttitudeProfile.hpp"
25#include "AstCore/Vector.hpp"
26#include "AstMath/Rotation.hpp"
27
28AST_NAMESPACE_BEGIN
29
41class AST_CORE_API AttitudeAlignConstrain : public AttitudeProfile
42{
43public:
44 AST_OBJECT(AttitudeAlignConstrain)
45
46 AttitudeAlignConstrain() = default;
47 ~AttitudeAlignConstrain() override = default;
48public:
49 Axes* getParent() const override;
50 errc_t getTransform(const TimePoint& tp, Rotation& rotation) const override;
51 errc_t getTransform(const TimePoint& tp, KinematicRotation& rotation) const override;
52public:
53 const Vector3d& alignedAxis() const{return alignedAxis_;}
54 void setAlignedAxis(const Vector3d& axis){alignedAxis_ = axis;}
55
56 const Vector3d& constrainedAxis() const{return constrainedAxis_;}
57 void setConstrainedAxis(const Vector3d& axis){constrainedAxis_ = axis;}
58
59 Vector* alignedVector() const{return alignedVector_.get();}
60 void setAlignedVector(Vector* vector){alignedVector_ = vector;}
61
62 Vector* constrainedVector() const{return constrainedVector_.get();}
63 void setConstrainedVector(Vector* vector){constrainedVector_ = vector;}
64private:
65 Vector3d alignedAxis_{};
66 Vector3d constrainedAxis_{};
67 WeakPtr<Vector> alignedVector_{};
68 WeakPtr<Vector> constrainedVector_{};
69};
70
73AST_NAMESPACE_END
对齐/约束姿态(Aligned and Constrained)
定义 AttitudeAlignConstrain.hpp:42
轴系抽象基类
定义 Axes.hpp:86
virtual Axes * getParent() const =0
获取当前轴系的父轴系
virtual errc_t getTransform(const TimePoint &tp, Rotation &rotation) const =0
获取当前轴系相对于父轴系的旋转变换
运动学坐标系旋转
定义 KinematicRotation.hpp:50
坐标系旋转类
定义 Rotation.hpp:55
绝对时间点
定义 TimePoint.hpp:108
向量抽象基类
定义 Vector.hpp:38
弱引用指针
定义 WeakPtr.hpp:35