🛰️航天仿真算法库 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
39 AtmosphereBase(const AtmosphereBase&) = delete;
40 AtmosphereBase& operator=(const AtmosphereBase&) = delete;
41
46 double getDensity(const TimePoint& tp, const Vector3d& posInBodyFixed) const override = 0;
47
49 Frame* getFrame() const override{return frame_;}
50public:
52 bool useApproximateAltitude() const {return useApproximateAltitude_;}
53
55 void setUseApproximateAltitude(bool useApproximateAltitude) {useApproximateAltitude_ = useApproximateAltitude;}
56
62 void getGeodetic(const Vector3d& posInBodyFixed, double& latitude, double& longitude, double& altitude) const;
63
67 double getAltitude(const Vector3d& posInBodyFixed) const;
68protected:
69 Frame* frame_{nullptr};
70 BodyShape* bodyShape_{nullptr};
71 bool useApproximateAltitude_{false};
72};
73
76AST_NAMESPACE_END
定义 AtmosphereBase.hpp:34
Frame * getFrame() const override
获取大气模型的参考坐标系
定义 AtmosphereBase.hpp:49
bool useApproximateAltitude() const
是否使用近似高度计算
定义 AtmosphereBase.hpp:52
void setUseApproximateAltitude(bool useApproximateAltitude)
设置是否使用近似高度计算
定义 AtmosphereBase.hpp:55
double getDensity(const TimePoint &tp, const Vector3d &posInBodyFixed) const override=0
获取大气密度
大气模型基类
定义 Atmosphere.hpp:48
天体形状基类
定义 BodyShape.hpp:33
坐标系抽象基类
定义 Frame.hpp:62
绝对时间点
定义 TimePoint.hpp:108