Kstars

mosaicplanner.h
1/*
2 SPDX-FileCopyrightText: 2022 Jasem Mutlaq <mutlaqja@ikarustech.com>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include <QDialog>
10
11class QQuickView;
12class QQuickItem;
13class QQmlContext;
14
15namespace Ekos
16{
17
18class MosaicPlanner : public QWidget
19{
21 Q_PROPERTY(double focalLength MEMBER m_FocalLength NOTIFY focalLengthChanged)
22 Q_PROPERTY(QSize cameraSize MEMBER m_CameraSize NOTIFY cameraSizeChanged)
23 Q_PROPERTY(QSizeF pixelSize MEMBER m_PixelSize NOTIFY pixelSizeChanged)
24 Q_PROPERTY(QSize gridSize MEMBER m_GridSize NOTIFY gridSizeChanged)
25 Q_PROPERTY(double overlap MEMBER m_Overlap NOTIFY overlapChanged)
26
27 public:
28 MosaicPlanner(QWidget *parent = nullptr);
29 ~MosaicPlanner() override;
30
31 // Return Camera Field of View in arcminutes
32 Q_INVOKABLE QSizeF cameraFOV() const
33 {
34 return m_cameraFOV;
35 }
36 // Return Mosaic Field of View in arcminutes
37 Q_INVOKABLE QSizeF mosaicFOV() const
38 {
39 return m_MosaicFOV;
40 }
41
42 public:
43
44 protected:
45
46 signals:
47 void focalLengthChanged();
48 void cameraSizeChanged();
49 void pixelSizeChanged();
50 void gridSizeChanged();
51 void overlapChanged();
52
53 private:
54
55 QQuickView *m_BaseView = nullptr;
56 QQuickItem *m_BaseObj = nullptr;
57 QQmlContext *m_Ctxt = nullptr;
58
59 double m_FocalLength {0};
60 QSize m_CameraSize;
61 QSizeF m_PixelSize, m_cameraFOV {60.1, 44.5}, m_MosaicFOV;
62 QSize m_GridSize {1,1};
63 double m_Overlap {10};
64};
65}
Ekos is an advanced Astrophotography tool for Linux.
Definition align.cpp:79
Q_INVOKABLEQ_INVOKABLE
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri May 17 2024 11:48:26 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.