QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
CameraSpec.h
Go to the documentation of this file.
1#pragma once
2
3#include "SettingsFact.h"
4
5class CameraSpec : public QObject
6{
7 Q_OBJECT
8
9public:
10 CameraSpec(const QString& settingsGroup, QObject* parent = nullptr);
11
12 const CameraSpec& operator=(const CameraSpec& other);
13
14 // These properties are persisted to Json
15 Q_PROPERTY(Fact* sensorWidth READ sensorWidth CONSTANT)
16 Q_PROPERTY(Fact* sensorHeight READ sensorHeight CONSTANT)
17 Q_PROPERTY(Fact* imageWidth READ imageWidth CONSTANT)
18 Q_PROPERTY(Fact* imageHeight READ imageHeight CONSTANT)
19 Q_PROPERTY(Fact* focalLength READ focalLength CONSTANT)
20 Q_PROPERTY(Fact* landscape READ landscape CONSTANT)
23
24 SettingsFact* sensorWidth (void) { return &_sensorWidthFact; }
25 SettingsFact* sensorHeight (void) { return &_sensorHeightFact; }
26 SettingsFact* imageWidth (void) { return &_imageWidthFact; }
27 SettingsFact* imageHeight (void) { return &_imageHeightFact; }
28 SettingsFact* focalLength (void) { return &_focalLengthFact; }
29 SettingsFact* landscape (void) { return &_landscapeFact; }
30 SettingsFact* fixedOrientation (void) { return &_fixedOrientationFact; }
31 SettingsFact* minTriggerInterval(void) { return &_minTriggerIntervalFact; }
32
33 bool dirty (void) const { return _dirty; }
34 void setDirty (bool dirty);
35
36 void save(QJsonObject& json) const;
37 bool load(const QJsonObject& json, QString& errorString);
38
39signals:
40 void dirtyChanged(bool dirty);
41
42private:
43 bool _dirty;
44
45 QMap<QString, FactMetaData*> _metaDataMap;
46
47 SettingsFact _sensorWidthFact;
48 SettingsFact _sensorHeightFact;
49 SettingsFact _imageWidthFact;
50 SettingsFact _imageHeightFact;
51 SettingsFact _focalLengthFact;
52 SettingsFact _landscapeFact;
53 SettingsFact _fixedOrientationFact;
54 SettingsFact _minTriggerIntervalFact;
55
56 static constexpr const char* _sensorWidthName = "SensorWidth";
57 static constexpr const char* _sensorHeightName = "SensorHeight";
58 static constexpr const char* _imageWidthName = "ImageWidth";
59 static constexpr const char* _imageHeightName = "ImageHeight";
60 static constexpr const char* _focalLengthName = "FocalLength";
61 static constexpr const char* _landscapeName = "Landscape";
62 static constexpr const char* _fixedOrientationName = "FixedOrientation";
63 static constexpr const char* _minTriggerIntervalName = "MinTriggerInterval";
64};
QString errorString
SettingsFact * minTriggerInterval(void)
Definition CameraSpec.h:31
SettingsFact * imageHeight(void)
Definition CameraSpec.h:27
SettingsFact * fixedOrientation(void)
Definition CameraSpec.h:30
Fact *sensorWidth READ sensorWidth CONSTANT(Fact *sensorHeight READ sensorHeight CONSTANT) 1(Fact *imageWidth READ imageWidth CONSTANT) 1(Fact *imageHeight READ imageHeight CONSTANT) 1(Fact *focalLength READ focalLength CONSTANT) 1(Fact *landscape READ landscape CONSTANT) 1(Fact *fixedOrientation READ fixedOrientation CONSTANT) 1(Fact *minTriggerInterval READ minTriggerInterval CONSTANT) SettingsFact *sensorWidth(void)
< Sensor size in millimeters
Definition CameraSpec.h:16
void save(QJsonObject &json) const
Definition CameraSpec.cc:44
bool dirty(void) const
Definition CameraSpec.h:33
const CameraSpec & operator=(const CameraSpec &other)
Definition CameraSpec.cc:22
SettingsFact * focalLength(void)
Definition CameraSpec.h:28
void setDirty(bool dirty)
Definition CameraSpec.cc:36
SettingsFact * sensorHeight(void)
Definition CameraSpec.h:25
void dirtyChanged(bool dirty)
SettingsFact * imageWidth(void)
Definition CameraSpec.h:26
bool load(const QJsonObject &json, QString &errorString)
Definition CameraSpec.cc:56
SettingsFact * landscape(void)
Definition CameraSpec.h:29
A Fact is used to hold a single value within the system.
Definition Fact.h:19
A SettingsFact is Fact which holds a QSettings value.