🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
DTM2012.hpp
浏览该文件的文档.
1
21
22#pragma once
23
24#include "AstGlobal.h"
25#include "AstCore/AtmosphereBase.hpp"
26#include <memory>
27#include <string>
28
29// 前向声明:DTM_12 的系数类型(全局作用域,定义在 AstWeather/Atmosphere/DTM_12/DTM_12.h 中)
30struct pardtmtype;
31
32AST_NAMESPACE_BEGIN
33
43AST_CORE_API errc_t aLoadDTM2012Coefficients(const std::string& path, pardtmtype& pardtm);
44
49class AST_CORE_API DTM2012 final: public AtmosphereBase
50{
51public:
52 DTM2012(Frame* frame, BodyShape* bodyShape,
53 double f107Daily, double f107Average, double kp,
54 const std::string& coeffFilePath = "");
55 ~DTM2012() override;
56
61 double getDensity(const TimePoint& tp, const Vector3d& posInBodyFixed) const override;
62
64 bool isInitialized() const { return initialized_; }
65
66private:
67 double F107Daily_{0.0};
68 double F107Average_{0.0};
69 double kp_{0.0};
70 mutable bool initialized_{false};
71
73 struct Impl;
74 std::unique_ptr<Impl> impl_;
75};
76
79AST_NAMESPACE_END
定义 AtmosphereBase.hpp:34
double getDensity(const TimePoint &tp, const Vector3d &posInBodyFixed) const override=0
获取大气密度
天体形状基类
定义 BodyShape.hpp:33
DTM-2012大气模型
定义 DTM2012.hpp:50
bool isInitialized() const
检查系数文件是否加载成功
定义 DTM2012.hpp:64
坐标系类
定义 Frame.hpp:60
绝对时间点
定义 TimePoint.hpp:107
errc_t aLoadDTM2012Coefficients(const std::string &path, pardtmtype &pardtm)
从文件加载 DTM2012 系数
定义 DTM2012.cpp:63
定义 DTM_12.h:143