Skip to content
MapWidget.cc 39.7 KiB
Newer Older
lm's avatar
lm committed
        Q_UNUSED(uas);
        // Clear the previous WP track
lm's avatar
lm committed
        //mc->layer("Waypoints")->clearGeometries();
        wps.clear();
        foreach (Point* p, wpIcons) {
lm's avatar
lm committed
            mc->layer("Waypoints")->removeGeometry(p);
        }
        wpIcons.clear();
lm's avatar
lm committed
        // Get bounding box of this object BEFORE deleting the content
        QRect box = waypointPath->boundingBox().toRect();
lm's avatar
lm committed
        // Delete the content
        waypointPath->points().clear();
pixhawk's avatar
pixhawk committed

lm's avatar
lm committed
        //delete waypointPath;
        //waypointPath = new
        //mc->layer("Waypoints")->addGeometry(waypointPath);
        //wpIndex.clear();
        if (isVisible()) mc->updateRequest(box);//(waypointPath->boundingBox().toRect());
        if(createPath->isChecked()) {
lm's avatar
lm committed
            createPath->click();
        }
    }
pixhawk's avatar
pixhawk committed

pixhawk's avatar
pixhawk committed
    Q_UNUSED(uas);
lm's avatar
lm committed
        mc->layer("Tracking")->clearGeometries();
        foreach (qmapcontrol::LineString* ls, uasTrails) {
lm's avatar
lm committed
            QPen* linepen = ls->pen();
            delete ls;
            qmapcontrol::LineString* lsNew = new qmapcontrol::LineString(QList<qmapcontrol::Point*>(), "", linepen);
            mc->layer("Tracking")->addGeometry(lsNew);
        }
        // FIXME update this with update request only for bounding box of trails
        if (isVisible()) mc->updateRequestNew();//(QRect(0, 0, width(), height()));
lm's avatar
lm committed
void MapWidget::updateCameraPosition(double radio, double bearing, QString dir)
lm's avatar
lm committed
    Q_UNUSED(dir);
    Q_UNUSED(bearing);
lm's avatar
lm committed
        // FIXME Mariano
        //camPoints.clear();
        QPointF currentPos = mc->currentCoordinate();
        //    QPointF actualPos = getPointxBearing_Range(currentPos.y(),currentPos.x(),bearing,distance);
lm's avatar
lm committed
        //    qmapcontrol::Point* tempPoint1 = new qmapcontrol::Point(currentPos.x(), currentPos.y(),"inicial",qmapcontrol::Point::Middle);
        //    qmapcontrol::Point* tempPoint2 = new qmapcontrol::Point(actualPos.x(), actualPos.y(),"final",qmapcontrol::Point::Middle);
lm's avatar
lm committed
        //    camPoints.append(tempPoint1);
        //    camPoints.append(tempPoint2);
lm's avatar
lm committed
        //    camLine->setPoints(camPoints);
lm's avatar
lm committed
        QPen* camBorderPen = new QPen(QColor(255,0,0));
        camBorderPen->setWidth(2);
lm's avatar
lm committed
        //radio = mc->currentZoom()
        if(drawCamBorder) {
lm's avatar
lm committed
            //clear camera borders
            mc->layer("Camera")->clearGeometries();
lm's avatar
lm committed
            //create a camera borders
            qmapcontrol::CirclePoint* camBorder = new qmapcontrol::CirclePoint(currentPos.x(), currentPos.y(), radio, "camBorder", qmapcontrol::Point::Middle, camBorderPen);

            //camBorder->setCoordinate(currentPos);

            mc->layer("Camera")->addGeometry(camBorder);
            // mc->layer("Camera")->addGeometry(camLine);
            if (isVisible()) mc->updateRequestNew();

lm's avatar
lm committed
            //clear camera borders
            mc->layer("Camera")->clearGeometries();
            if (isVisible()) mc->updateRequestNew();

        }
lm's avatar
lm committed
void MapWidget::drawBorderCamAtMap(bool status)
lm's avatar
lm committed
    drawCamBorder = status;
    updateCameraPosition(20,0,"no");
lm's avatar
lm committed
}

QPointF MapWidget::getPointxBearing_Range(double lat1, double lon1, double bearing, double distance)
{
    QPointF temp;
lm's avatar
lm committed
    double rad = M_PI/180;
lm's avatar
lm committed
    bearing = bearing*rad;
    temp.setX((lon1 + ((distance/60) * (sin(bearing)))));
    temp.setY((lat1 + ((distance/60) * (cos(bearing)))));

    return temp;
lm's avatar
lm committed