🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
RepeatingOrbitDesigner.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "BaseOrbitDesigner.hpp"
25
26AST_NAMESPACE_BEGIN
27
34class AST_CORE_API RepeatingOrbitDesigner final: public BaseOrbitDesigner
35{
36public:
37 enum EPositionType
38 {
39 eAltitude,
40 eRevsPerDay
41 };
44 ~RepeatingOrbitDesigner() = default;
45
46 using BaseOrbitDesigner::getOrbitState;
47 errc_t getOrbitState(ModOrbElem &orbElem) const override;
48
49 EPositionType getPositionType() const { return positionType_; }
50 void setPositionType(EPositionType type) { positionType_ = type; }
51
52 double getApproxAltitude() const { return approxAltitude_; }
53 errc_t setApproxAltitude(double alt);
54
55 double getApproxRevsPerDay() const { return approxRevsPerDay_; }
56 errc_t setApproxRevsPerDay(double revsPerDay);
57
58 double getInclination() const { return inclination_; }
59 void setInclination(double inc) { inclination_ = inc; }
60
61 int getNumberOfRevsRepeat() const { return numberOfRevsRepeat_; }
62 void setNumberOfRevsRepeat(int revs) { numberOfRevsRepeat_ = revs; }
63
64 double getLongitudeOfAscendingNode() const { return longitudeOfAscendingNode_; }
65 void setLongitudeOfAscendingNode(double lon) { longitudeOfAscendingNode_ = lon; }
66protected:
67 EPositionType positionType_{eAltitude};
68 double approxAltitude_{0};
69 double approxRevsPerDay_{0};
70 double inclination_{0};
71 int numberOfRevsRepeat_{0};
72 double longitudeOfAscendingNode_{0};
73};
74
77AST_NAMESPACE_END
轨道设计器基类
定义 BaseOrbitDesigner.hpp:62
errc_t getOrbitState(CartState &cartState) const
获取轨道状态
定义 BaseOrbitDesigner.cpp:43
天体
定义 CelestialBody.hpp:52
修正轨道根数
定义 OrbitElement.hpp:127
回归轨道设计器
定义 RepeatingOrbitDesigner.hpp:35