Skip to content
WimaServiceAreaData.cc 3.11 KiB
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
#include "WimaServiceAreaData.h"

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

Valentin Platzgummer's avatar
Valentin Platzgummer committed

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

}

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)
{
    this->assign(otherData);

    return *this;
}

WimaServiceAreaData &WimaServiceAreaData::operator=(const WimaServiceArea &otherArea)
Valentin Platzgummer's avatar
Valentin Platzgummer committed
{
    this->assign(otherArea);
Valentin Platzgummer's avatar
Valentin Platzgummer committed

Valentin Platzgummer's avatar
Valentin Platzgummer committed
}

/*!
 * \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.
 *
 */
const QGeoCoordinate &WimaServiceAreaData::landPosition() const
Valentin Platzgummer's avatar
Valentin Platzgummer committed
{
    return _landPosition;
}

QString WimaServiceAreaData::type() const
{
    return this->typeString;
}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
/*!
 * \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.
 *
 */
void WimaServiceAreaData::setLandPosition(const QGeoCoordinate &newCoordinate)
Valentin Platzgummer's avatar
Valentin Platzgummer committed
{
    if (_landPosition != newCoordinate) {
        _landPosition = newCoordinate;

Valentin Platzgummer's avatar
Valentin Platzgummer committed
    }
}

void WimaServiceAreaData::assign(const WimaServiceAreaData &other)
{
    WimaAreaData::assign(other);
    setLandPosition(other.landPosition());
    setTakeOffPosition(other.takeOffPosition());
}

void WimaServiceAreaData::assign(const WimaServiceArea &other)
{
    WimaAreaData::assign(other);
    setLandPosition(other.landPosition());
    setTakeOffPosition(other.takeOffPosition());
}

Valentin Platzgummer's avatar
Valentin Platzgummer committed
/*!
 * \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
 */