Commit 20319cba authored by tecnosapiens's avatar tecnosapiens

draw camera orientation over mouse pad in SLugsPadCameraControl

parent 6bd785b5
......@@ -463,9 +463,9 @@ void SlugsPIDControl::changeColor_GREEN_Pitch2dT_groupBox()
//create the packet
pidMessage.target = activeUAS->getUASID();
pidMessage.idx = 8;
pidMessage.pVal = ui->dR_P_set->text().toFloat();
pidMessage.iVal = ui->dR_I_set->text().toFloat();
pidMessage.dVal = ui->dR_D_set->text().toFloat();
pidMessage.pVal = ui->P2dT_FF_set->text().toFloat();
pidMessage.iVal = 0;//ui->dR_I_set->text().toFloat();
pidMessage.dVal = 0;//ui->dR_D_set->text().toFloat();
mavlink_message_t msg;
......@@ -532,6 +532,7 @@ void SlugsPIDControl::receivePidValues(int systemId, const mavlink_pid_t &pidVal
break;
case 8:
ui->P2dT_FF_get->setText(QString::number(pidValues.pVal));
break;
default:
......
......@@ -281,10 +281,10 @@ private:
mavlink_slugs_action_t actionSlugs;
QTimer* refreshTimerSet; ///< The main timer, controls the update view
QTimer* refreshTimerGet; ///< The main timer, controls the update view
QTimer* refreshTimerGet; ///< The main timer, controls the update view
int counterRefreshSet;
int counterRefreshGet;
QMutex valuesMutex;
QMutex valuesMutex;
};
#endif // SLUGSPIDCONTROL_H
......@@ -121,13 +121,6 @@
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="recepcion_label">
<property name="text">
<string>Recepcion</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_5">
<property name="orientation">
......@@ -956,6 +949,13 @@
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="recepcion_label">
<property name="text">
<string>Recepcion</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
......
......@@ -13,6 +13,9 @@ SlugsPadCameraControl::SlugsPadCameraControl(QWidget *parent) :
ui->setupUi(this);
x1= 0;
y1 = 0;
bearingPad = 0;
distancePad = 0;
directionPad = "no";
}
......@@ -53,6 +56,9 @@ void SlugsPadCameraControl::mouseReleaseEvent(QMouseEvent *event)
//emit mouseReleaseCoord(event->x(),event->y());
//getDeltaPositionPad(event->x(), event->y());
xFin = event->x();
yFin = event->y();
}
......@@ -73,6 +79,13 @@ void SlugsPadCameraControl::paintEvent(QPaintEvent *pe)
painter.drawLine(QPoint(ui->frame->geometry().topLeft().x(),ui->frame->height()/2),
QPoint(ui->frame->geometry().bottomRight().x(),ui->frame->height()/2));
painter.setPen(Qt::white);
//QPointF coordTemp = getPointBy_BearingDistance(ui->frame->width()/2,ui->frame->height()/2,bearingPad,distancePad);
painter.drawLine(QPoint(ui->frame->width()/2,ui->frame->height()/2),
QPoint(xFin,yFin));
// painter.drawLine(QPoint());
//painter.drawLines(padLines);
......@@ -172,8 +185,15 @@ void SlugsPadCameraControl::getDeltaPositionPad(int x2, int y2)
}
bearingPad = bearing;
distancePad = dist;
directionPad = dir;
emit changeCursorPosition(bearing, dist, dir);
update();
}
double SlugsPadCameraControl::getDistPixel(int x1, int y1, int x2, int y2)
......@@ -245,3 +265,17 @@ QPointF SlugsPadCameraControl::ObtenerMarcacionDistanciaPixel(double lon1, doubl
}
QPointF SlugsPadCameraControl::getPointBy_BearingDistance(double lat1, double lon1, double rumbo, double distancia)
{
double lon2 = 0;
double lat2 = 0;
double rad= M_PI/180;
rumbo = rumbo*rad;
lon2=(lon1 + ((distancia/60) * (sin(rumbo))));
lat2=(lat1 + ((distancia/60) * (cos(rumbo))));
return QPointF(lon2,lat2);
}
......@@ -21,6 +21,8 @@ public slots:
void getDeltaPositionPad(int x, int y);
double getDistPixel(int x1, int y1, int x2, int y2);
QPointF ObtenerMarcacionDistanciaPixel(double lon1, double lat1, double lon2, double lat2);
QPointF getPointBy_BearingDistance(double lat1, double lon1, double rumbo, double distancia);
signals:
......@@ -37,11 +39,17 @@ protected:
void mouseMoveEvent(QMouseEvent* event);
void paintEvent(QPaintEvent *pe);
private:
Ui::SlugsPadCameraControl *ui;
bool dragging;
int x1;
int y1;
int xFin;
int yFin;
double bearingPad;
double distancePad;
QString directionPad;
};
......
......@@ -41,41 +41,41 @@ SlugsVideoCamControl::~SlugsVideoCamControl()
delete ui;
}
void SlugsVideoCamControl::mouseMoveEvent(QMouseEvent *event)
{
Q_UNUSED(event);
//void SlugsVideoCamControl::mouseMoveEvent(QMouseEvent *event)
//{
// Q_UNUSED(event);
}
//}
void SlugsVideoCamControl::mousePressEvent(QMouseEvent *evnt)
{
Q_UNUSED(evnt);
//void SlugsVideoCamControl::mousePressEvent(QMouseEvent *evnt)
//{
// Q_UNUSED(evnt);
}
//}
void SlugsVideoCamControl::mouseReleaseEvent(QMouseEvent *evnt)
{
Q_UNUSED(evnt);
//void SlugsVideoCamControl::mouseReleaseEvent(QMouseEvent *evnt)
//{
// Q_UNUSED(evnt);
}
//}
void SlugsVideoCamControl::mousePadMoveEvent(int x, int y)
{
//void SlugsVideoCamControl::mousePadMoveEvent(int x, int y)
//{
}
//}
void SlugsVideoCamControl::mousePadPressEvent(int x, int y)
{
//void SlugsVideoCamControl::mousePadPressEvent(int x, int y)
//{
}
//}
void SlugsVideoCamControl::mousePadReleaseEvent(int x, int y)
{
//void SlugsVideoCamControl::mousePadReleaseEvent(int x, int y)
//{
}
//}
void SlugsVideoCamControl::changeViewCamBorderAtMapStatus(bool status)
{
......
......@@ -27,22 +27,43 @@ public:
~SlugsVideoCamControl();
public slots:
/**
* @brief status = true: emit signal to draw a border cam over the map
*/
void changeViewCamBorderAtMapStatus(bool status);
void getDeltaPositionPad(double dir, double dist, QString dirText);
void mousePadPressEvent(int x, int y);
void mousePadReleaseEvent(int x, int y);
void mousePadMoveEvent(int x, int y);
/**
* @brief show the values of mousepad on ui (labels) and emit a changeCamPosition(signal)
* with values:
* bearing and distance from mouse over the pad
* dirText: direction of mouse movement in text format (up, right,right up,right down,
* left, left up, left down, down)
*/
void getDeltaPositionPad(double bearing, double distance, QString dirText);
// /**
// * @brief
// */
// void mousePadPressEvent(int x, int y);
// void mousePadReleaseEvent(int x, int y);
// void mousePadMoveEvent(int x, int y);
signals:
void changeCamPosition(double dist, double dir, QString textDir);
/**
* @brief emit values from mousepad:
* bearing and distance from mouse over the pad
* dirText: direction of mouse movement in text format (up, right,right up,right down,
* left, left up, left down, down)
*/
void changeCamPosition(double distance, double bearing, QString textDir);
/**
* @brief emit signal to draw a border cam over the map if status is true
*/
void viewCamBorderAtMap(bool status);
protected:
void mousePressEvent(QMouseEvent* event);
void mouseReleaseEvent(QMouseEvent* event);
void mouseMoveEvent(QMouseEvent* event);
// void mousePressEvent(QMouseEvent* event);
// void mouseReleaseEvent(QMouseEvent* event);
// void mouseMoveEvent(QMouseEvent* event);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment