WimaServiceAreaData.cc 2.87 KB
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
1 2
#include "WimaServiceAreaData.h"

3 4
const char *WimaServiceAreaData::typeString = "WimaServiceAreaData";

Valentin Platzgummer's avatar
Valentin Platzgummer committed
5 6 7 8 9 10 11

WimaServiceAreaData::WimaServiceAreaData(QObject *parent)
    : WimaAreaData(parent)
{

}

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
WimaServiceAreaData::WimaServiceAreaData(const WimaServiceAreaData &other, QObject *parent)
    :   WimaAreaData (parent)
{
    *this = other;
}

WimaServiceAreaData::WimaServiceAreaData(const WimaServiceArea &other, QObject *parent)
    :   WimaAreaData (parent)
{
    *this = other;
}

WimaServiceAreaData &WimaServiceAreaData::operator=(const WimaServiceAreaData &otherData)
{
    WimaAreaData::operator=(otherData);
    setLandPosition(otherData.landPosition());
    setTakeOffPosition(otherData.takeOffPosition());

    return *this;
}

WimaServiceAreaData &WimaServiceAreaData::operator=(const WimaServiceArea &otherArea)
Valentin Platzgummer's avatar
Valentin Platzgummer committed
34
{
35 36 37
    WimaAreaData::operator=(otherArea);
    setLandPosition(otherArea.landPosition());
    setTakeOffPosition(otherArea.takeOffPosition());
Valentin Platzgummer's avatar
Valentin Platzgummer committed
38

39
    return *this;
Valentin Platzgummer's avatar
Valentin Platzgummer committed
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
}

/*!
 * \fn const QGeoCoordinate &WimaServiceAreaData::takeOffPosition() const
 * Returns a constant reference to the takeOffPosition.
 *
 */
const QGeoCoordinate &WimaServiceAreaData::takeOffPosition() const
{
    return _takeOffPosition;
}

/*!
 * \fn const QGeoCoordinate &WimaServiceAreaData::landOffPosition() const
 * Returns a constant reference to the landOffPosition.
 *
 */
57
const QGeoCoordinate &WimaServiceAreaData::landPosition() const
Valentin Platzgummer's avatar
Valentin Platzgummer committed
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
{
    return _landPosition;
}

/*!
 * \fn void WimaServiceAreaData::setTakeOffPosition(const QGeoCoordinate &newCoordinate)
 * Sets the takeoff position to the \a newCoordinate and emits the takeOffPositionChanged() signal,
 * if newCoordinate differs from the member value.
 *
 */
void WimaServiceAreaData::setTakeOffPosition(const QGeoCoordinate &newCoordinate)
{
    if (_takeOffPosition != newCoordinate) {
        _takeOffPosition = newCoordinate;

        emit takeOffPositionChanged(_takeOffPosition);
    }
}

/*!
 * \fn void WimaServiceAreaData::setLandOffPosition(const QGeoCoordinate &newCoordinate)
 * Sets the land position to the \a newCoordinate and emits the landOffPositionChanged() signal,
 * if newCoordinate differs from the member value.
 *
 */
83
void WimaServiceAreaData::setLandPosition(const QGeoCoordinate &newCoordinate)
Valentin Platzgummer's avatar
Valentin Platzgummer committed
84 85 86 87
{
    if (_landPosition != newCoordinate) {
        _landPosition = newCoordinate;

88
        emit landPositionChanged(_landPosition);
Valentin Platzgummer's avatar
Valentin Platzgummer committed
89 90 91 92 93 94 95 96 97 98 99 100 101
    }
}

/*!
 * \class WimaAreaData::WimaServiceAreaData
 * \brief Class to store and exchange data of a \c WimaServiceArea Object.
 * Class to store and exchange data of a \c WimaServiceArea Object. In contrast to \c WimaServiceArea this class
 * does not provied any interface to a grafical user interface, neiter it uses the QGC Fact System.
 * It is designed to exchange data between the \c WimaPlaner and the \c WimaController class. And it
 * is the derived from WimaAreaData.
 *
 * \sa WimaServiceArea, WimaAreaData
 */