🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
UiSTKEphemerisFileWriter.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/STKEphemerisFileWriter.hpp"
25#include "AstCore/TimeInterval.hpp"
26#include <QWidget>
27
28class QComboBox;
29class QRadioButton;
30
31AST_NAMESPACE_BEGIN
32
33class Point;
34class UiQuantity;
35class UiTimePoint;
36
49class AST_UICORE_API UiSTKEphemerisFileWriter : public QWidget
50{
51 Q_OBJECT
52public:
53 explicit UiSTKEphemerisFileWriter(QWidget* parent = nullptr);
56 UiSTKEphemerisFileWriter& operator=(const UiSTKEphemerisFileWriter&) = delete;
57
60 void setEphemeris(Point* ephemeris);
61
64 Point* getEphemeris() const;
65
68 STKEphemerisFileWriter::ECoordinate coordinate() const;
69
72 Body* centralBody() const;
73
76 TimeInterval interval() const;
77
80 double step() const;
81
85 errc_t exportTo(const QString& filepath);
86
87signals:
89 void ephemerisExported(const QString& filepath, errc_t err);
90
91private slots:
92 void onTimeModeChanged();
93 void onStepModeChanged();
94
95private:
96 void setupUi();
97 void populateBodies();
98 void updateTimeControls();
99 void updateStepControls();
100 void refreshFromEphemeris();
101
102 // —— 按界面当前状态配置底层写入器(就地配置,避免拷贝非拷贝类) ——
103 void configureWriter(STKEphemerisFileWriter& writer) const;
104
105 // ---- Details ----
106 QComboBox* coordinateCombo_ = nullptr;
107 QComboBox* centralBodyCombo_ = nullptr;
108
109 // ---- Time Period ----
110 QRadioButton* entireRadi_ = nullptr;
111 QRadioButton* specifyRadi_ = nullptr;
112 UiTimePoint* startEdit_ = nullptr;
113 UiTimePoint* stopEdit_ = nullptr;
114
115 // ---- Steps ----
116 QRadioButton* ephStepsRadi_ = nullptr;
117 QRadioButton* stepSizeRadi_ = nullptr;
118 UiQuantity* stepSizeEdit_ = nullptr;
119
120 Point* ephemeris_ = nullptr;
121};
122
129AST_UICORE_CAPI errc_t aUiExportSTKEphemeris(Point* ephemeris, QWidget* parent = nullptr);
130
131AST_NAMESPACE_END
天体
定义 CelestialBody.hpp:72
点抽象基类
定义 Point.hpp:42
STK星历文件写入器
定义 STKEphemerisFileWriter.hpp:48
ECoordinate
定义 STKEphemerisFileWriter.hpp:51
时间区间
定义 TimeInterval.hpp:64
数量输入框
定义 UiQuantity.hpp:41
STK 星历文件导出界面
定义 UiSTKEphemerisFileWriter.hpp:50
void ephemerisExported(const QString &filepath, errc_t err)
导出的星历文件发生错误或完成后发出
定义 UiTimePoint.hpp:36
errc_t aUiExportSTKEphemeris(Point *ephemeris, QWidget *parent)
弹出模态对话框导出 STK 星历文件
定义 UiSTKEphemerisFileWriter.cpp:376