🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
MotionSGP4.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstSim/MotionProfile.hpp"
25#include "AstSim/MotionWithIntervalStep.hpp"
26#include <vector>
27
28AST_NAMESPACE_BEGIN
29
35class TLE
36{
37public:
38 bool empty() const{return line1_.empty();}
39public:
40 std::string name_;
41 std::string line1_;
42 std::string line2_;
43};
44
45enum class ETLESource
46{
47 eFile,
48 eEdited,
49 eServer,
50};
51
52enum class ESwitchMethod
53{
54 eEpoch,
55};
56
58{
59public:
60 TwoLineElement() = default;
61 ~TwoLineElement() = default;
62
63public:
64 bool enabled_{true};
65 ETLESource source_
66 {ETLESource::eFile};
67 ESwitchMethod switch_method_
68 {ESwitchMethod::eEpoch};
71 double epochTime_{0.0};
72 double meanMotionDotTime_{0.0};
73 double motionDotDot_{0.0};
74 int iexp_{0};
75 double bstar_{0.0};
76 int ibexp_{0};
77 double inclination_{0.0};
78 double rightAscenOfNode_{0.0};
79 double eccentricity_{0.0};
80 double argOfPerigee_{0.0};
81 double meanAnomaly_{0.0};
82 double meanMotion_{0.0};
83 int revNumber_{0};
84 int ephType_{0};
85 int elementNumber_{0};
86 char classification_{'U'};
87};
88
91class AST_SIM_API MotionSGP4 : public MotionWithIntervalStep
92{
93public:
94 MotionSGP4() = default;
95 ~MotionSGP4() = default;
96public:
97 errc_t makeEphemerisSpec(ScopedPtr<Ephemeris>& eph) const override;
98 errc_t makeEphemerisSimple(ScopedPtr<Ephemeris>& eph) const override;
99 void accept(MotionProfileVisitor& visitor) override;
100public:
101 std::string SSCNumber_;
102 std::string intlDesignator_;
103 std::string commonName_;
104 std::vector<TwoLineElement> elements_;
105};
106
109AST_NAMESPACE_END
定义 MotionProfileVisitor.hpp:44
virtual errc_t makeEphemerisSpec(ScopedPtr< Ephemeris > &eph) const =0
生成特定星历
virtual errc_t makeEphemerisSimple(ScopedPtr< Ephemeris > &eph) const =0
生成简单星历
virtual void accept(MotionProfileVisitor &visitor)=0
接受访问者
SGP4 运动模型
定义 MotionSGP4.hpp:92
std::string commonName_
通用名称
定义 MotionSGP4.hpp:103
std::vector< TwoLineElement > elements_
两行元素列表
定义 MotionSGP4.hpp:104
std::string SSCNumber_
SSC 编号字符串
定义 MotionSGP4.hpp:101
具有时间段和步长的运动模型
定义 MotionWithIntervalStep.hpp:36
作用域指针类
定义 ScopedPtr.hpp:65
定义 MotionSGP4.hpp:36
std::string line2_
第二行
定义 MotionSGP4.hpp:42
std::string line1_
第一行
定义 MotionSGP4.hpp:41
std::string name_
卫星名称
定义 MotionSGP4.hpp:40
绝对时间点
定义 TimePoint.hpp:106
定义 MotionSGP4.hpp:58
TimePoint switchEpoch_
切换历元
定义 MotionSGP4.hpp:69
TLE tle_
TLE 数据
定义 MotionSGP4.hpp:70
ETLESource
定义 MotionSGP4.hpp:46
@ eFile
来自文件
@ eServer
来自服务器
@ eEdited
来自编辑