🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
STKEphemerisFileWriter.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
25#include "AstCore/TimeInterval.hpp"
26#include "AstCore/CelestialBody.hpp"
27
28
29AST_NAMESPACE_BEGIN
30
42AST_CORE_API errc_t aSaveSTKEphemeris(StringView filepath, Ephemeris& ephemeris, const TimeInterval& interval = TimeInterval::Whole(), double step = 60);
43
44
47class AST_CORE_API STKEphemerisFileWriter final: public EphemerisFileWriter
48{
49public:
51 {
52 eAuto = -1,
57 };
58
59 STKEphemerisFileWriter() = default;
60 ~STKEphemerisFileWriter() = default;
61 A_DISABLE_COPY(STKEphemerisFileWriter)
62
63 errc_t write(StringView filename, const Ephemeris& ephemeris) const override;
64public:
65 const TimeInterval& interval() const{return interval_;}
66 void setInterval(TimeInterval interval){interval_ = interval;}
67 double step() const{return step_;}
68 void setStep(double step){step_ = step;}
69 Body* body() const{return body_;}
70 void setBody(Body* body){body_ = body;}
71 ECoordinate coordinate() const{return coordinate_;}
72 void setCoordinate(ECoordinate coordinate){coordinate_ = coordinate;}
73private:
74 TimeInterval interval_{TimeInterval::Whole()};
75 double step_{};
76 Body* body_{nullptr};
77 ECoordinate coordinate_{eAuto};
78};
79
80
83AST_NAMESPACE_END
星历文件写入器 参考了Orekit的EphemerisFileWriter的接口名称和设计
定义 EphemerisFileWriter.hpp:37
virtual errc_t write(StringView filename, const Ephemeris &ephemeris) const =0
写入星历文件
点抽象基类
定义 Point.hpp:42
STK星历文件写入器
定义 STKEphemerisFileWriter.hpp:48
ECoordinate
定义 STKEphemerisFileWriter.hpp:51
@ eInertial
惯性坐标系
定义 STKEphemerisFileWriter.hpp:55
@ eICRF
ICRF坐标系
定义 STKEphemerisFileWriter.hpp:53
@ eFixed
固定坐标系
定义 STKEphemerisFileWriter.hpp:56
@ eJ2000
J2000坐标系
定义 STKEphemerisFileWriter.hpp:54
时间区间
定义 TimeInterval.hpp:64
static TimeInterval Whole()
时间区间全集({-∞, +∞})
定义 TimeInterval.hpp:80
errc_t aSaveSTKEphemeris(StringView filepath, Ephemeris &ephemeris, const TimeInterval &interval, double step)
保存STK星历文件
定义 STKEphemerisFileWriter.cpp:289