1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-03-15 07:29:15 +01:00

GCS/OPMap- Fixes bad coordinate calculation on home drag.

This commit is contained in:
PT_Dreamer 2012-06-28 20:17:16 +01:00
parent ee81296872
commit 70bdbf49c3
3 changed files with 34 additions and 28 deletions

View File

@ -273,22 +273,21 @@ WayPointItem::WayPointItem(MapGraphicItem *map, bool magicwaypoint):reached(fals
void WayPointItem::setRelativeCoord(distBearingAltitude value)
{
qDebug()<<"AKI0"<<value.altitudeRelative<<relativeCoord.altitudeRelative;
if(value.altitudeRelative==relativeCoord.altitudeRelative
&& value.bearing==relativeCoord.bearing && value.distance==relativeCoord.distance)
if(value.altitudeRelative-relativeCoord.altitudeRelative<0.0001
&& value.bearing-relativeCoord.bearing<0.0001 && value.distance==relativeCoord.distance)
return;
qDebug()<<"AKI1"<<value.altitudeRelative<<relativeCoord.altitudeRelative;
relativeCoord=value;
relativeCoord=value;
if(myHome)
{
coord=map->Projection()->translate(myHome->Coord(),relativeCoord.distance,relativeCoord.bearing);
SetAltitude(myHome->Altitude()+relativeCoord.altitudeRelative);
coord=map->Projection()->translate(myHome->Coord(),relativeCoord.distance,relativeCoord.bearing);
SetAltitude(myHome->Altitude()+relativeCoord.altitudeRelative);
}
RefreshPos();
RefreshToolTip();
emit WPValuesChanged(this);
this->update();
}
void WayPointItem::SetCoord(const internals::PointLatLng &value)
{
if(Coord()==value)
@ -412,6 +411,7 @@ WayPointItem::WayPointItem(MapGraphicItem *map, bool magicwaypoint):reached(fals
emit WPValuesChanged(this);
}
}
void WayPointItem::WPRenumbered(const int &oldnumber, const int &newnumber, WayPointItem *waypoint)
{
if (waypoint!=this)

View File

@ -58,7 +58,7 @@ opmap_edit_waypoint_dialog::opmap_edit_waypoint_dialog(QWidget *parent,QAbstract
mapper->addMapping(ui->checkBoxRelative,flightDataModel::ISRELATIVE);
mapper->addMapping(ui->doubleSpinBoxBearing,flightDataModel::BEARELATIVE);
mapper->addMapping(ui->doubleSpinBoxVelocity,flightDataModel::VELOCITY);
mapper->addMapping(ui->spinBoxDistance,flightDataModel::DISRELATIVE);
mapper->addMapping(ui->doubleSpinBoxDistance,flightDataModel::DISRELATIVE);
mapper->addMapping(ui->doubleSpinBoxRelativeAltitude,flightDataModel::ALTITUDERELATIVE);
mapper->addMapping(ui->cbMode,flightDataModel::MODE);
mapper->addMapping(ui->dsb_modeParam1,flightDataModel::MODE_PARAMS0);

View File

@ -13,7 +13,7 @@
<x>0</x>
<y>0</y>
<width>606</width>
<height>387</height>
<height>420</height>
</rect>
</property>
<property name="sizePolicy">
@ -111,7 +111,7 @@
</sizepolicy>
</property>
<property name="decimals">
<number>7</number>
<number>5</number>
</property>
<property name="minimum">
<double>-90.000000000000000</double>
@ -124,7 +124,7 @@
<item row="3" column="2">
<widget class="QDoubleSpinBox" name="doubleSpinBoxLongitude">
<property name="decimals">
<number>7</number>
<number>5</number>
</property>
<property name="minimum">
<double>-180.000000000000000</double>
@ -164,13 +164,6 @@
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QSpinBox" name="spinBoxDistance">
<property name="maximum">
<number>999999999</number>
</property>
</widget>
</item>
<item row="6" column="3">
<widget class="QLabel" name="lbDistanceMeters">
<property name="text">
@ -197,6 +190,9 @@
</item>
<item row="7" column="2">
<widget class="QDoubleSpinBox" name="doubleSpinBoxBearing">
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>360.000000000000000</double>
</property>
@ -281,16 +277,6 @@
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QDoubleSpinBox" name="doubleSpinBoxAltitude">
<property name="minimum">
<double>-5000.000000000000000</double>
</property>
<property name="maximum">
<double>5000.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="3">
<widget class="QLabel" name="label_6">
<property name="text">
@ -318,6 +304,26 @@
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QDoubleSpinBox" name="doubleSpinBoxDistance">
<property name="decimals">
<number>0</number>
</property>
<property name="maximum">
<double>999999999.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QDoubleSpinBox" name="doubleSpinBoxAltitude">
<property name="minimum">
<double>-5000.000000000000000</double>
</property>
<property name="maximum">
<double>5000.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
</layout>