Newer
Older
#pragma once
#include <QObject>
#include "QGeoCoordinate"
Valentin Platzgummer
committed
#include "WimaArea.h"
class WimaAreaData : public QObject // Abstract class for all WimaAreaData derived objects
Valentin Platzgummer
committed
Q_PROPERTY(const QVariantList path READ path NOTIFY pathChanged)
Q_PROPERTY(QString type READ type CONSTANT)
Valentin Platzgummer
committed
WimaAreaData(QObject *parent = nullptr);
//WimaAreaData(const WimaAreaData &other, QObject *parent = nullptr);
//WimaAreaData(const WimaArea &other, QObject *parent = nullptr);
WimaAreaData& operator=(const WimaAreaData& otherData) = delete; // avoid slicing
Valentin Platzgummer
committed
double maxAltitude() const;
QVariantList path() const;
QGeoCoordinate center() const;
QList<QGeoCoordinate> coordinateList() const;
bool containsCoordinate(const QGeoCoordinate &coordinate) const;
Valentin Platzgummer
committed
signals:
void maxAltitudeChanged (double maxAltitude);
void pathChanged (const QVariantList& coordinateList);
public slots:
void setMaxAltitude(double maxAltitude);
Valentin Platzgummer
committed
void setPath(const QList<QGeoCoordinate> &coordinateList);
void setPath(const QVariantList &coordinateList);
void setCenter(const QGeoCoordinate ¢er);
protected:
void assign(const WimaAreaData &other);
void assign(const WimaArea &other);
Valentin Platzgummer
committed
// Member Functions
// Member Variables
Valentin Platzgummer
committed
double _maxAltitude;
QVariantList _path;