🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
UiStateKeplerian.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "UiState.hpp"
25#include "AstGUI/UiTimePoint.hpp"
26#include "AstGUI/UiQuantity.hpp"
27#include <QVBoxLayout>
28#include <QHBoxLayout>
29#include <QLabel>
30#include <QComboBox>
31
32AST_NAMESPACE_BEGIN
33
39class StateKeplerian;
40
41class AST_GUI_API UiStateKeplerian : public UiState
42{
43 Q_OBJECT
44public:
45 UiStateKeplerian(Object* object, QWidget *parent = nullptr);
46 UiStateKeplerian(QWidget *parent = nullptr);
47 ~UiStateKeplerian() = default;
48
49 StateKeplerian* getStateKeplerian() const;
50 void setStateKeplerian(StateKeplerian* state);
51 void refreshUi();
52 // void apply();
53 // void applyTo(StateKeplerian* state);
54protected:
55 void onSizeTypeChanged();
56 void onSizeParamChanged();
57 void onShapeTypeChanged();
58 void onShapeParamChanged();
59 void onOrientationTypeChanged();
60 void onOrientationParamChanged();
61 void onPositionTypeChanged();
62 void onPositionParamChanged();
63 void onEpochChanged();
64 void onFrameChanged();
65 void onIncChanged();
66 void onArgPeriChanged();
67protected:
68 void refreshSizeType();
69 void refreshSizeParam();
70 void refreshShapeType();
71 void refreshShapeParam();
72 void refreshOrientationType();
73 void refreshOrientationParam();
74 void refreshPositionType();
75 void refreshPositionParam();
76 void refreshEpoch();
77 void refreshFrame();
78 void refreshInc();
79 void refreshArgPeri();
80
81signals:
82 void stateKeplerianChanged(StateKeplerian* state);
83private:
84 // 轨道历元
85 UiTimePoint* epochEdit_{nullptr};
86 // 坐标系
87 QComboBox* frameCombo_{nullptr};
88 // 轨道大小
89 QHBoxLayout* sizeLayout_{nullptr};
90 QLabel* sizeLabel_{nullptr};
91 QComboBox* sizeTypeCombo_{nullptr};
92 UiQuantity* sizeEdit_{nullptr};
93 // 轨道形状
94 QHBoxLayout* shapeLayout_{nullptr};
95 QLabel* shapeLabel_{nullptr};
96 QComboBox* shapeTypeCombo_{nullptr};
97 UiQuantity* shapeEdit_{nullptr};
98 // 倾角
99 QHBoxLayout* incLayout_{nullptr};
100 QLabel* incLabel_{nullptr};
101 UiQuantity* incEdit_{nullptr};
102 // 轨道面方向
103 QHBoxLayout* orientationLayout_{nullptr};
104 QLabel* orientationLabel_{nullptr};
105 QComboBox* orientationTypeCombo_{nullptr};
106 UiQuantity* orientationEdit_{nullptr};
107 // 近地点幅角
108 QHBoxLayout* argPeriLayout_{nullptr};
109 QLabel* argPeriLabel_{nullptr};
110 UiQuantity* argPeriEdit_{nullptr};
111 // 轨道位置
112 QHBoxLayout* positionLayout_{nullptr};
113 QLabel* positionLabel_{nullptr};
114 QComboBox* positionTypeCombo_{nullptr};
115 UiQuantity* positionEdit_{nullptr};
116};
117
120AST_NAMESPACE_END
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:81
开普勒轨道根数状态
定义 StateKeplerian.hpp:86
数量输入框
定义 UiQuantity.hpp:43
定义 UiStateKeplerian.hpp:42
定义 UiState.hpp:36
定义 UiTimePoint.hpp:35