🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
TLEDatabase.hpp
浏览该文件的文档.
1
21
22#pragma once
23
24#include "AstGlobal.h"
25#include "Database.hpp"
26#include "AstCore/TLE.hpp"
27#include "AstUtil/StringView.hpp"
28#include <string>
29#include <vector>
30
31AST_NAMESPACE_BEGIN
32
38class TLEDatabaseQuery;
39
46class AST_CORE_API TLEDatabase : public Database
47{
48public:
49 using Entry = TLE;
50 using EntryList = std::vector<TLE>;
51
53 explicit TLEDatabase(StringView filePath);
54 ~TLEDatabase() override;
55
56 // -- 加载 --
57 errc_t load(StringView filePath);
58 errc_t reload();
59 bool isLoaded() const { return loaded_; }
60
61 // -- 查询 --
62 const EntryList& getEntries() const { return tles_; }
63 EntryList getEntries(const TLEDatabaseQuery& query) const;
64 size_t size() const { return tles_.size(); }
65
66 const std::string& filePath() const { return filePath_; }
67
68private:
70 errc_t loadTleFile(StringView filePath);
71
72private:
73 std::string filePath_{};
74 std::vector<TLE> tles_{};
75 bool loaded_{false};
76};
77
80AST_NAMESPACE_END
数据库抽象基类
数据库抽象基类
定义 Database.hpp:36
TLE 数据库查询条件
定义 TLEDatabaseQuery.hpp:43
TLE 数据库
定义 TLEDatabase.hpp:47
两行根数(TLE)
定义 TLE.hpp:52