🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
MotionProfile.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/Ephemeris.hpp"
25#include "AstUtil/ScopedPtr.hpp"
26#include "AstCore/Object.hpp"
27#include "AstUtil/ObjectNamed.hpp"
28
29AST_NAMESPACE_BEGIN
30
36class MotionProfile;
37using PMotionProfile = MotionProfile*;
38// using HMotionProfile = ScopedPtr<MotionProfile>;
39
40class MotionTwoBody;
41class MotionHPOP;
42class MotionSPICE;
43class MotionBallistic;
44class MotionSimpleAscent;
45class MotionProfileVisitor;
46class MotionMissionCommand;
47class MotionSGP4;
48
50class AST_SIM_API MotionProfile: public ObjectNamed
51{
52public:
53 AST_OBJECT(MotionProfile)
54 MotionProfile() = default;
55 virtual ~MotionProfile() = default;
56public:
57 MotionHPOP* toHPOP() const;
58 MotionTwoBody* toTwoBody() const;
59 MotionSPICE* toSPICE() const;
60 MotionBallistic* toBallistic() const;
61 MotionSimpleAscent* toSimpleAscent() const;
62public:
66 virtual errc_t makeEphemerisSpec(ScopedPtr<Ephemeris>& eph) const = 0;
67
71 virtual errc_t makeEphemerisSimple(ScopedPtr<Ephemeris>& eph) const = 0;
72
75 virtual void accept(MotionProfileVisitor& visitor) = 0;
76};
77
80AST_NAMESPACE_END
弹道运动模型,用于模拟弹道导弹运动
定义 MotionBallistic.hpp:38
定义 MotionHPOP.hpp:39
定义 MotionProfileVisitor.hpp:44
运动定义接口
定义 MotionProfile.hpp:51
virtual errc_t makeEphemerisSpec(ScopedPtr< Ephemeris > &eph) const =0
生成特定星历
virtual errc_t makeEphemerisSimple(ScopedPtr< Ephemeris > &eph) const =0
生成简单星历
virtual void accept(MotionProfileVisitor &visitor)=0
接受访问者
SPICE星历预报器/运动模型类
定义 MotionSPICE.hpp:41
简单上升运动模型,用于模拟运载火箭的上升阶段运动
定义 MotionSimpleAscent.hpp:40
二体问题轨道动力学模型
定义 MotionTwoBody.hpp:44
命名对象
定义 ObjectNamed.hpp:36
作用域指针类
定义 ScopedPtr.hpp:65