🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
SunSynchronousOrbitDesigner.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "BaseOrbitDesigner.hpp"
25
26AST_NAMESPACE_BEGIN
27
35class AST_CORE_API SunSynchronousOrbitDesigner final: public BaseOrbitDesigner
36{
37public:
38 enum EGeometryDefinition
39 {
40 eAltitude = 0,
41 eInclination = 1,
42 };
43 enum ENodeDefinition
44 {
45 eAscendingNode = 0,
46 eDescendingNode = 1,
47 };
51 errc_t getOrbitState(ModOrbElem &orbElem) const override;
52
54 EGeometryDefinition getGeometryDefinition() const { return geometryDefinition_; }
56 void setGeometryDefinition(EGeometryDefinition def) { geometryDefinition_ = def; }
58 ENodeDefinition getNodeDefinition() const { return nodeDefinition_; }
60 void setNodeDefinition(ENodeDefinition def) { nodeDefinition_ = def; }
61
63 double calcInclination(double alt) const;
65 double calcInclination() const;
67 double calcAltitude(double inc) const;
69 double calcAltitude() const;
70
72 double getInclination() const;
73
75 void setInclination(double inc);
76
78 double getAltitude() const;
79
81 void setAltitude(double alt);
82
83 double getLocalTimeOfAscendingNode() const { return localTimeOfAscendingNode_; }
84 void setLocalTimeOfAscendingNode(double t) { localTimeOfAscendingNode_ = t; }
85private:
86 EGeometryDefinition geometryDefinition_{eAltitude};
87 ENodeDefinition nodeDefinition_{eAscendingNode};
88 double inclination_{0};
89 double altitude_{0};
90 double localTimeOfAscendingNode_{0};
91 double localTimeOfDescendingNode_{0};
92};
93
94
97AST_NAMESPACE_END
轨道设计器基类
定义 BaseOrbitDesigner.hpp:62
errc_t getOrbitState(CartState &cartState) const
获取轨道状态
定义 BaseOrbitDesigner.cpp:43
天体
定义 CelestialBody.hpp:52
修正轨道根数
定义 OrbitElement.hpp:127
太阳同步轨道设计器
定义 SunSynchronousOrbitDesigner.hpp:36
EGeometryDefinition getGeometryDefinition() const
获取几何定义方式
定义 SunSynchronousOrbitDesigner.hpp:54
void setNodeDefinition(ENodeDefinition def)
设置升交点定义方式
定义 SunSynchronousOrbitDesigner.hpp:60
ENodeDefinition getNodeDefinition() const
获取升交点定义方式
定义 SunSynchronousOrbitDesigner.hpp:58
void setGeometryDefinition(EGeometryDefinition def)
设置几何定义方式
定义 SunSynchronousOrbitDesigner.hpp:56