🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
DataContext.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/ScopedPtr.hpp"
25#include "AstCore/SolarSystem.hpp"
26#include "AstCore/EOP.hpp"
27#include "AstCore/LeapSecond.hpp"
28#include "AstCore/JplDe.hpp"
29#include "AstCore/SpaceWeather.hpp"
30#include "AstCore/IAUXYS.hpp"
31#include "AstCore/IAUXYSPrecomputed.hpp"
32#include "AstCore/TimePoint.hpp"
33#include "AstUtil/StringView.hpp"
34#include "AstUtil/StartupConfig.hpp"
35
36#include <string>
37
38AST_NAMESPACE_BEGIN
39
47class SolarSystem;
48class EOP;
49class LeapSecond;
50
51
56{
57public:
58
60 const SolarSystem* solarSystem() const{return solarSystem_;}
61 SolarSystem* solarSystem() {return solarSystem_;}
62
64 const EOP* eop() const{return &eop_;}
65 EOP* eop() {return &eop_;}
66
68 const LeapSecond* leapSecond() const{return &leapSecond_;}
69 LeapSecond* leapSecond() {return &leapSecond_;}
70
72 // const SpaceWeather* spaceWeather() const{return &spaceWeather_;}
73 // SpaceWeather* spaceWeather() {return &spaceWeather_;}
74
76 std::string& dataDir() {return dataDir_;}
77
79 void setDataDir(StringView dir){dataDir_ = std::string(dir);}
80
82 const JplDe* jplDe() const {return &jplDe_;}
83 JplDe* jplDe() {return &jplDe_;}
84
86 const IAUXYSPrecomputed* iauXYSPrecomputed() const {return &iauXYSPrecomputed_;}
87 IAUXYSPrecomputed* iauXYSPrecomputed() {return &iauXYSPrecomputed_;}
88
90 TimePoint& epoch() {return epoch_;}
92 void setEpoch(TimePoint tp){epoch_ = tp;}
93
95 const StartupConfig* config() const {return &config_;}
96 StartupConfig* config() {return &config_;}
97
99 bool isInitialized() const {return !dataDir_.empty();}
100protected:
101 SharedPtr<SolarSystem> solarSystem_{new SolarSystem("SolarSystem")};
102 EOP eop_{};
103 LeapSecond leapSecond_{};
104 // SpaceWeather spaceWeather_; ///< 空间天气数据
105 JplDe jplDe_{};
106 IAUXYSPrecomputed iauXYSPrecomputed_{};
107 std::string dataDir_{};
108 TimePoint epoch_{};
109 StartupConfig config_{};
110};
111
112constexpr size_t kSizeOfDataContext = sizeof(DataContext);
113
117AST_NAMESPACE_END
118
119
120
数据上下文
定义 DataContext.hpp:56
const StartupConfig * config() const
配置
定义 DataContext.hpp:95
const SolarSystem * solarSystem() const
太阳系数据
定义 DataContext.hpp:60
std::string & dataDir()
空间天气数据
定义 DataContext.hpp:76
TimePoint & epoch()
参考历元
定义 DataContext.hpp:90
const IAUXYSPrecomputed * iauXYSPrecomputed() const
IAU XYS预计算数据
定义 DataContext.hpp:86
void setDataDir(StringView dir)
设置数据目录
定义 DataContext.hpp:79
const EOP * eop() const
地球指向数据
定义 DataContext.hpp:64
bool isInitialized() const
是否初始化
定义 DataContext.hpp:99
const JplDe * jplDe() const
JPL DE星历数据
定义 DataContext.hpp:82
const LeapSecond * leapSecond() const
闰秒数据
定义 DataContext.hpp:68
void setEpoch(TimePoint tp)
设置参考历元
定义 DataContext.hpp:92
地球指向参数(Earth Orientation Parameters)
定义 EOP.hpp:50
预计算的XYS系数
定义 IAUXYSPrecomputed.hpp:32
JPL DE文件接口类
定义 JplDe.hpp:41
闰秒类
定义 LeapSecond.hpp:45
共享指针
定义 SharedPtr.hpp:33
太阳系
定义 SolarSystem.hpp:54
启动配置类
定义 StartupConfig.hpp:38
绝对时间点
定义 TimePoint.hpp:108