#include "SlugsPadCameraControl.h" #include "ui_SlugsPadCameraControl.h" SlugsPadCameraControl::SlugsPadCameraControl(QWidget *parent) : QWidget(parent), ui(new Ui::SlugsPadCameraControl), dragging(0) { ui->setupUi(this); x1= 0; y1 = 0; motion = NONE; } SlugsPadCameraControl::~SlugsPadCameraControl() { delete ui; } void SlugsPadCameraControl::activeUasSet(UASInterface *uas) { if(uas) { this->activeUAS= uas; } } void SlugsPadCameraControl::mouseMoveEvent(QMouseEvent *event) { Q_UNUSED(event); if(dragging) { getDeltaPositionPad(event->x(), event->y()); } } void SlugsPadCameraControl::mousePressEvent(QMouseEvent *event) { if(!dragging) { dragging = true; x1 = event->x(); y1 = event->y(); } } void SlugsPadCameraControl::mouseReleaseEvent(QMouseEvent *event) { if(dragging) { dragging = false; getDeltaPositionPad(event->x(), event->y()); xFin = event->x(); yFin = event->y(); } } void SlugsPadCameraControl::getDeltaPositionPad(int x2, int y2) { QPointF localMeasures = ObtenerMarcacionDistanciaPixel(y1,x1,y2,x2); if(localMeasures.y()>10) { QString dir = "nd"; double bearing = localMeasures.x(); bearing = bearing +90; if(bearing>= 360) { bearing = bearing - 360; } if(bearing >337.5 || bearing <=22.5) { motion= UP; movePad = QPoint(0, 1); dir = "UP"; } else if(bearing >22.5 && bearing <=67.5) { motion= RIGHT_UP; movePad = QPoint(1, 1); dir = "RIGHT UP"; } else if(bearing >67.5 && bearing <=112.5) { motion= RIGHT; movePad = QPoint(1, 0); dir = "RIGHT"; } else if(bearing >112.5 && bearing <= 157.5) { motion= RIGHT_DOWN; movePad = QPoint(1, -1); dir = "RIGHT DOWN"; } else if(bearing >157.5 && bearing <=202.5) { motion= DOWN; movePad = QPoint(0, -1); dir = "DOWN"; } else if(bearing >202.5 && bearing <=247.5) { motion= LEFT_DOWN; movePad = QPoint(-1, -1); dir = "LEFT DOWN"; } else if(bearing >247.5 && bearing <=292.5) { motion= LEFT; movePad = QPoint(-1, 0); dir = "LEFT"; } else if(bearing >292.5 && bearing <=337.5) { motion= LEFT_UP; movePad = QPoint(-1, 1); dir = "LEFT UP"; } emit changeMotionCamera(motion); ui->lbPixel->setText(QString::number(localMeasures.y())); ui->lbDirection->setText(dir); //qDebug()<