🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
SimpleOrbitDesigner.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "BaseOrbitDesigner.hpp"
25
26AST_NAMESPACE_BEGIN
27
34class AST_CORE_API SimpleOrbitDesigner final: public BaseOrbitDesigner
35{
36public:
39 ~SimpleOrbitDesigner() = default;
40public:
41 using BaseOrbitDesigner::getOrbitState;
42
43 errc_t getOrbitState(ModOrbElem &orbElem) const override;
44
46 double getSemimajorAxis() const { return semimajorAxis_; }
48 double getEccentricity() const { return eccentricity_; }
50 double getInclination() const { return inclination_; }
52 double getRightAscensionOfAscendingNode() const { return rightAscensionOfAscendingNode_; }
54 double getArgumentOfPeriapsis() const { return argumentOfPeriapsis_; }
56 double getTrueAnomaly() const { return trueAnomaly_; }
57
59 void setSemimajorAxis(double semimajorAxis) { semimajorAxis_ = semimajorAxis; }
61 void setEccentricity(double eccentricity) { eccentricity_ = eccentricity; }
63 void setInclination(double inclination) { inclination_ = inclination; }
65 void setRightAscensionOfAscendingNode(double rightAscensionOfAscendingNode) { rightAscensionOfAscendingNode_ = rightAscensionOfAscendingNode; }
67 void setArgumentOfPeriapsis(double argumentOfPeriapsis) { argumentOfPeriapsis_ = argumentOfPeriapsis; }
69 void setTrueAnomaly(double trueAnomaly) { trueAnomaly_ = trueAnomaly; }
70protected:
71 double semimajorAxis_{0.0};
72 double eccentricity_{0.0};
73 double inclination_{0.0};
74 double rightAscensionOfAscendingNode_{0.0};
75 double argumentOfPeriapsis_{0.0};
76 double trueAnomaly_{0.0};
77};
78
81AST_NAMESPACE_END
轨道设计器基类
定义 BaseOrbitDesigner.hpp:62
errc_t getOrbitState(CartState &cartState) const
获取轨道状态
定义 BaseOrbitDesigner.cpp:43
天体
定义 CelestialBody.hpp:52
修正轨道根数
定义 OrbitElement.hpp:127
基础轨道设计器
定义 SimpleOrbitDesigner.hpp:35
double getEccentricity() const
获取偏心率
定义 SimpleOrbitDesigner.hpp:48
void setArgumentOfPeriapsis(double argumentOfPeriapsis)
设置近点幅角
定义 SimpleOrbitDesigner.hpp:67
double getTrueAnomaly() const
获取真近点角
定义 SimpleOrbitDesigner.hpp:56
double getInclination() const
获取倾角
定义 SimpleOrbitDesigner.hpp:50
void setTrueAnomaly(double trueAnomaly)
设置真近点角
定义 SimpleOrbitDesigner.hpp:69
void setSemimajorAxis(double semimajorAxis)
设置半长轴
定义 SimpleOrbitDesigner.hpp:59
double getArgumentOfPeriapsis() const
获取近点幅角
定义 SimpleOrbitDesigner.hpp:54
void setRightAscensionOfAscendingNode(double rightAscensionOfAscendingNode)
设置升交点赤经
定义 SimpleOrbitDesigner.hpp:65
double getRightAscensionOfAscendingNode() const
获取升交点赤经
定义 SimpleOrbitDesigner.hpp:52
double getSemimajorAxis() const
获取半长轴
定义 SimpleOrbitDesigner.hpp:46
void setInclination(double inclination)
设置倾角
定义 SimpleOrbitDesigner.hpp:63
void setEccentricity(double eccentricity)
设置偏心率
定义 SimpleOrbitDesigner.hpp:61