🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
FrameAssembly.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/Frame.hpp"
25#include "AstCore/Axes.hpp"
26#include "AstCore/Point.hpp"
27
28AST_NAMESPACE_BEGIN
29
35class FrameAssembly;
36using HFrameAssembly = SharedPtr<FrameAssembly>;
37using PFrameAssembly = FrameAssembly*;
38
42class AST_CORE_API FrameAssembly: public Frame
43{
44public:
45 AST_OBJECT(FrameAssembly)
46 AST_PROPERT(Origin)
47 AST_PROPERT(Axes)
53 static PFrameAssembly New(Point* origin, Axes* axes);
54
60 static HFrameAssembly MakeShared(Point* origin, Axes* axes);
61
62 FrameAssembly() = default;
63 FrameAssembly(Point* origin, Axes* axes);
64 ~FrameAssembly() = default;
65
66 Frame* getParent() const final;
67 errc_t getTransform(const TimePoint&tp, Transform& transform) const override;
68 errc_t getTransform(const TimePoint&tp, KinematicTransform& transform) const override;
69PROPERTIES:
70 Point* getOrigin() const final { return origin_.get(); }
71 void setOrigin(Point* origin) { origin_ = origin; }
72 Axes* getAxes() const final { return axes_.get(); }
73 void setAxes(Axes* axes) { axes_ = axes; }
74protected:
77};
78
81AST_NAMESPACE_END
轴系类
定义 Axes.hpp:70
组装坐标系
定义 FrameAssembly.hpp:43
SharedPtr< Axes > axes_
轴系统
定义 FrameAssembly.hpp:76
SharedPtr< Point > origin_
原点
定义 FrameAssembly.hpp:75
Axes * getAxes() const final
获取当前坐标系的轴系。
定义 FrameAssembly.hpp:72
坐标系类
定义 Frame.hpp:60
virtual errc_t getTransform(const TimePoint &tp, Transform &transform) const
获取当前坐标系相对于父坐标系的变换
定义 Frame.cpp:71
virtual Frame * getParent() const
获取当前坐标系的父坐标系
定义 Frame.cpp:64
virtual Point * getOrigin() const =0
获取当前坐标系的原点。
运动学变换
定义 KinematicTransform.hpp:33
定义 Point.hpp:38
共享指针
定义 SharedPtr.hpp:33
绝对时间点
定义 TimePoint.hpp:106
坐标系转换类
定义 Transform.hpp:33