🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
SatelliteDatabaseEntry.hpp
浏览该文件的文档.
1
21
22
23#pragma once
24
25#include "AstGlobal.h"
26#include "AstUtil/StringView.hpp"
27#include <string>
28#include <memory>
29#include <limits>
30
31AST_NAMESPACE_BEGIN
32
38class TLE;
39
41class AST_CORE_API SatelliteDatabaseEntry
42{
43public:
45 SatelliteDatabaseEntry(StringView commonName, StringView mission);
47
49 SatelliteDatabaseEntry& operator=(const SatelliteDatabaseEntry&) = default;
51 SatelliteDatabaseEntry& operator=(SatelliteDatabaseEntry&&) = default;
52
53
54 // -- STK 兼容接口 --
55
56 const std::string& commonName() const { return commonName_; }
57 std::string& commonName() { return commonName_; }
58 const std::string& mission() const { return mission_; }
59 std::string& mission() { return mission_; }
60
61 // -- SATCAT 字段 --
62
63 const std::string& internationalDesignator() const { return internationalDesignator_; }
64 void setInternationalDesignator(StringView v) { internationalDesignator_ = std::string(v); }
65
66 int noradCatId() const { return noradCatId_; }
67 void setNoradCatId(int v) { noradCatId_ = v; }
68
69 bool isPayload() const { return payloadFlag_; }
70 void setPayload(bool v) { payloadFlag_ = v; }
71
72 const std::string& owner() const { return owner_; }
73 void setOwner(StringView v) { owner_ = std::string(v); }
74
75 const std::string& launchDate() const { return launchDate_; }
76 void setLaunchDate(StringView v) { launchDate_ = std::string(v); }
77
78 const std::string& launchSite() const { return launchSite_; }
79 void setLaunchSite(StringView v) { launchSite_ = std::string(v); }
80
81 const std::string& decayDate() const { return decayDate_; }
82 void setDecayDate(StringView v) { decayDate_ = std::string(v); }
83
84 double period() const { return period_; }
85 void setPeriod(double v) { period_ = v; }
86
87 double inclination() const { return inclination_; }
88 void setInclination(double v) { inclination_ = v; }
89
90 double apogee() const { return apogee_; }
91 void setApogee(double v) { apogee_ = v; }
92
93 double perigee() const { return perigee_; }
94 void setPerigee(double v) { perigee_ = v; }
95
96 double rcs() const { return rcs_; }
97 void setRcs(double v) { rcs_ = v; }
98
99 const std::string& orbitalStatusCode() const { return orbitalStatusCode_; }
100 void setOrbitalStatusCode(StringView v) { orbitalStatusCode_ = std::string(v); }
101
103 bool isDecayed() const { return !decayDate_.empty(); }
104
105private:
106 // -- STK 兼容字段 --
107 std::string commonName_{};
108 std::string mission_{};
109
110 // -- SATCAT 字段 --
111 std::string internationalDesignator_{};
112 int noradCatId_{0};
113 bool payloadFlag_{false};
114 std::string owner_{};
115 std::string launchDate_{};
116 std::string launchSite_{};
117 std::string decayDate_{};
118 double period_{0.0};
119 double inclination_{0.0};
120 double apogee_{0.0};
121 double perigee_{0.0};
122 double rcs_{std::numeric_limits<double>::quiet_NaN()};
123 std::string orbitalStatusCode_{};
124};
125
128AST_NAMESPACE_END
卫星数据库条目
定义 SatelliteDatabaseEntry.hpp:42
bool isDecayed() const
是否已衰减(有衰减日期)
定义 SatelliteDatabaseEntry.hpp:103