🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
Propagate.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "MissionCommand.hpp"
25#include "Segment.hpp"
26#include "AstCore/HPOP.hpp"
27#include "AstCore/EventDetector.hpp"
28
29
30AST_NAMESPACE_BEGIN
31
38class AST_CORE_API Propagate: public Segment
39{
40public:
41 AST_OBJECT(Propagate)
42 Propagate() = default;
43 ~Propagate() = default;
44public:
45 errc_t execute() override;
46public:
47 HPOP* propagator() const { return propagator_.get(); }
48 void setPropagator(HPOP* propagator) { propagator_ = propagator; }
49 EventDetector* getEventDetector(StringView name) const;
50 void setEventDetectors(const std::vector<SharedPtr<EventDetector>>& eventDetectors) { eventDetectors_ = eventDetectors; }
51PROPERTIES:
52 double minPropTime() const { return minPropTime_; }
53 void setMinPropTime(double minPropTime) { minPropTime_ = minPropTime; }
54
55 double maxPropTime() const { return maxPropTime_; }
56 void setMaxPropTime(double maxPropTime) { maxPropTime_ = maxPropTime; }
57
58 bool useMaxPropTime() const { return useMaxPropTime_; }
59 void setUseMaxPropTime(bool useMaxPropTime) { useMaxPropTime_ = useMaxPropTime; }
60
61 bool useMaxPropTimeWarn() const { return useMaxPropTimeWarn_; }
62 void setUseMaxPropTimeWarn(bool useMaxPropTimeWarn) { useMaxPropTimeWarn_ = useMaxPropTimeWarn; }
63
64 bool overrideMaxPropTime() const { return overrideMaxPropTime_; }
65 void setOverrideMaxPropTime(bool overrideMaxPropTime) { overrideMaxPropTime_ = overrideMaxPropTime; }
66private:
67 WeakPtr<HPOP> propagator_;
68 std::vector<SharedPtr<EventDetector>> eventDetectors_;
69 double minPropTime_{0};
70 double maxPropTime_{8640000};
71 bool useMaxPropTime_{true};
72 bool useMaxPropTimeWarn_{true};
73 bool overrideMaxPropTime_{true};
74};
75
76
77
78
81AST_NAMESPACE_END
事件检测基类 事件检测基类,用于检测事件是否发生。 参考orekit的EventDetector类
定义 EventDetector.hpp:38
高精度轨道预报器
定义 HPOP.hpp:46
预报段,用于建模任务序列(MissionCommand)中的轨道预报
定义 Propagate.hpp:39
轨道段(虚基类),用于描述任务序列中的轨道段,例如初始状态段、轨道机动段、轨道预报段等
定义 Segment.hpp:44
virtual errc_t execute() override=0
执行任务
共享指针
定义 SharedPtr.hpp:33
弱引用指针
定义 WeakPtr.hpp:35