🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
JacchiaRoberts.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/AtmosphereBase.hpp"
25#include "AstCore/SunPosition.hpp"
26
27
28AST_NAMESPACE_BEGIN
29
36class AST_CORE_API JacchiaRoberts final: public AtmosphereBase
37{
38public:
39 JacchiaRoberts(Frame* frame, BodyShape* bodyShape, CelestialBody* sun, double f107Daily, double f107Average, double kp);
40
41 JacchiaRoberts(const JacchiaRoberts&) = delete;
42 JacchiaRoberts& operator=(const JacchiaRoberts&) = delete;
43
44 double getDensity(const TimePoint& tp, const Vector3d& posInBodyFixed) const override;
45
46 void setSunPosition(ESunPosition sunPosition){sunPosition_ = sunPosition;}
47 ESunPosition getSunPosition() const {return sunPosition_;}
48private:
49 CelestialBody* sun_{nullptr};
50 double F107Daily_{0.0};
51 double F107Average_{0.0};
52 double kp_{0};
53 ESunPosition sunPosition_{ESunPosition::eTrue};
54};
55
58AST_NAMESPACE_END
定义 AtmosphereBase.hpp:34
double getDensity(const TimePoint &tp, const Vector3d &posInBodyFixed) const override=0
获取大气密度
天体形状基类
定义 BodyShape.hpp:33
天体
定义 CelestialBody.hpp:72
坐标系抽象基类
定义 Frame.hpp:62
Jacchia Roberts大气模型
定义 JacchiaRoberts.hpp:37
绝对时间点
定义 TimePoint.hpp:108
ESunPosition
太阳位置
定义 SunPosition.hpp:35