🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
AtmosphereBase.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "Atmosphere.hpp"
25
26AST_NAMESPACE_BEGIN
27
33class AST_CORE_API AtmosphereBase: public Atmosphere
34{
35public:
36 AtmosphereBase(Frame* frame, BodyShape* bodyShape);
37 ~AtmosphereBase() override = default;
38
43 double getDensity(const TimePoint& tp, const Vector3d& posInBodyFixed) const override = 0;
44
46 Frame* getFrame() const override{return frame_;}
47public:
49 bool useApproximateAltitude() const {return useApproximateAltitude_;}
50
52 void setUseApproximateAltitude(bool useApproximateAltitude) {useApproximateAltitude_ = useApproximateAltitude;}
53
59 void getGeodetic(const Vector3d& posInBodyFixed, double& latitude, double& longitude, double& altitude) const;
60
64 double getAltitude(const Vector3d& posInBodyFixed) const;
65protected:
66 Frame* frame_{nullptr};
67 BodyShape* bodyShape_{nullptr};
68 bool useApproximateAltitude_{false};
69};
70
73AST_NAMESPACE_END
定义 AtmosphereBase.hpp:34
Frame * getFrame() const override
获取大气模型的参考坐标系
定义 AtmosphereBase.hpp:46
bool useApproximateAltitude() const
是否使用近似高度计算
定义 AtmosphereBase.hpp:49
void setUseApproximateAltitude(bool useApproximateAltitude)
设置是否使用近似高度计算
定义 AtmosphereBase.hpp:52
double getDensity(const TimePoint &tp, const Vector3d &posInBodyFixed) const override=0
获取大气密度
大气模型基类
定义 Atmosphere.hpp:48
天体形状基类
定义 BodyShape.hpp:33
坐标系类
定义 Frame.hpp:60
绝对时间点
定义 TimePoint.hpp:107