🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
HPOP.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/Constants.h"
25#include "AstUtil/ScopedPtr.hpp"
26#include "AstUtil/Object.hpp"
27#include "AstUtil/ObjectNamed.hpp"
28#include "AstCore/CelestialBody.hpp"
29#include "AstCore/StateMapper.hpp"
30#include <string>
31#include <vector>
32
33
34AST_NAMESPACE_BEGIN
35
41class HPOPEquation;
42class ODEIntegrator;
43class HPOPForceModel;
44
46class AST_CORE_API HPOP: public ObjectNamed
47{
48public:
49 AST_OBJECT(HPOP)
50
51 HPOP();
52 ~HPOP();
53public:
55 errc_t setForceModel(HPOPForceModel&& forcemodel);
56 errc_t setForceModel(const HPOPForceModel& forcemodel);
57
59 HPOPForceModel& forceModel();
60
61 void setSpacecraftParam(const SpacecraftParam& spacecraftParam);
62
64 const SpacecraftParam& spacecraftParam() const;
65
67 Frame* propagationFrame() const;
68
70 errc_t setPropagationFrame(Frame* frame);
71
73 void setIntegrator(ODEIntegrator* integrator);
74
76 ODEIntegrator* getIntegrator() const;
77
85 errc_t propagate(const TimePoint& startTime, TimePoint& targetTime, Vector3d& position, Vector3d& velocity);
86
88 errc_t initialize();
89
92 void addEventDetector(EventDetector* eventDetector);
93
95 void clearEventDetectors();
96protected:
97 HPOPEquation* equation() const;
98private:
99 mutable ScopedPtr<HPOPEquation> equation_;
100 mutable SharedPtr<ODEIntegrator> integrator_;
101 ScopedPtr<StateMapper> stateMapper_;
102};
103
104
107AST_NAMESPACE_END
事件检测基类 事件检测基类,用于检测事件是否发生。 参考orekit的EventDetector类
定义 EventDetector.hpp:39
坐标系类
定义 Frame.hpp:60
高精度轨道预报方程
定义 HPOPEquation.hpp:47
高精度轨道预报力模型
定义 HPOPForceModel.hpp:49
高精度轨道预报器
定义 HPOP.hpp:47
ODE 积分器
定义 ODEIntegrator.hpp:83
命名对象
定义 ObjectNamed.hpp:36
作用域指针类
定义 ScopedPtr.hpp:65
共享指针
定义 SharedPtr.hpp:33
航天器参数
定义 SpacecraftParam.hpp:34
绝对时间点
定义 TimePoint.hpp:107