WimaPolygon.cc 1.24 KB
Newer Older
1 2 3
#include "WimaPolygon.h"

WimaPolygon::WimaPolygon(QObject *parent) :
4
    QObject                 (parent)
5
  ,_maxAltitude             (30)
6
  ,_vehicle                 (parent)
7
  ,_polygon                 (new QGCMapPolygon(this))
8 9
  ,_subPolygons             (new QmlObjectListModel(this))
  ,_subPolylines            (new QmlObjectListModel(this))
10 11 12
{
}

13 14 15 16 17 18 19
WimaPolygon::WimaPolygon(QGCMapPolygon *other, QObject *parent):
    WimaPolygon(parent)
{
    *_polygon = *other;
}


20 21 22 23
void WimaPolygon::setMaxAltitude(double alt)
{
    if(alt > 0 && alt != _maxAltitude){
        _maxAltitude = alt;
24
        emit maxAltitudeChanged();
25 26 27 28 29 30
    }
}


void WimaPolygon::setVehicle(Vehicle *vehicle)
{
31 32
    if(_vehicle.vehicle() != vehicle){
        _vehicle.setVehicle(vehicle);
33
        emit vehicleChanged();
34 35 36
    }
}

37 38 39 40 41 42 43
void WimaPolygon::setIsCurrentPolygon(bool isCurrentPolygon)
{
    _isCurrentPolygon = isCurrentPolygon;
    emit isCurrentPolygonChanged();
}

QList<QGCMapPolygon*>* WimaPolygon::splitPolygonArea(int numberOfFractions)
44 45
{
    if(numberOfFractions > 0){
46
        QGCMapPolygon* poly = new QGCMapPolygon(this->polygon(), this);
47 48 49
        QList<QGCMapPolygon*>* list = new QList<QGCMapPolygon*>();
        list->append(poly);
        return list;
50 51 52 53 54
    }
    return nullptr;
}