11#include <QGraphicsScene>
12#include <QGraphicsItem>
19class FramingAssistant;
25class MosaicTilesManager;
26class MosaicTilesScene;
28class FramingAssistant :
public QDialog
31 Q_PROPERTY(
double focalLength MEMBER m_FocalLength)
34 Q_PROPERTY(QSize cameraSize MEMBER m_CameraSize)
35 Q_PROPERTY(QSizeF pixelSize MEMBER m_PixelSize)
39 static FramingAssistant *Instance();
42 Ui::FramingAssistant* ui {
nullptr };
44 void setCenter(
const SkyPoint &value);
45 QString getJobsDir()
const;
46 void syncModelToGUI();
47 void syncGUIToModel();
58 QList <Job> getJobs()
const;
61 virtual void showEvent(QShowEvent *)
override;
62 virtual void resizeEvent(QResizeEvent *)
override;
65 bool isScopeInfoValid()
const;
68 double getTargetWFOV()
const;
71 double getTargetHFOV()
const;
74 double getTargetMosaicW()
const;
77 double getTargetMosaicH()
const;
85 void updateTargetFOVFromGrid();
86 void updateGridFromTargetFOV();
87 void constructMosaic();
89 void updateTargetFOV();
90 void saveJobsDirectory();
92 void fetchINDIInformation();
93 void rewordStepEvery(
int v);
98 ~FramingAssistant()
override;
100 static FramingAssistant *_FramingAssistant;
102 SkyPoint m_CenterPoint;
103 QImage *m_skyChart {
nullptr };
106 QGraphicsPixmapItem *m_SkyPixmapItem {
nullptr };
108 MosaicTilesManager *m_MosaicTilesManager {
nullptr };
110 double pixelsPerArcminRA { 0 }, pixelsPerArcminDE { 0 };
111 double renderedWFOV { 0 }, renderedHFOV { 0 };
112 double premosaicZoomFactor { 0 };
115 QGraphicsScene m_TilesScene;
117 bool m_RememberAltAzOption {
false}, m_RememberShowGround {
false};
119 QTimer *updateTimer {
nullptr };
122 double m_FocalLength {0};
124 QSizeF m_PixelSize, m_cameraFOV, m_MosaicFOV;
125 QSize m_GridSize {1,1};
126 double m_Overlap {10}, m_Rotation {0};
The Ekos scheduler is a simple scheduler class to orchestrate automated multi object observation jobs...
Ekos is an advanced Astrophotography tool for Linux.