fixed gps fields missing in non-android build

This commit is contained in:
matlabbe
2017-09-21 21:28:39 -04:00
parent bfc393a090
commit ef4aff7d34
6 changed files with 185 additions and 128 deletions

View File

@@ -141,6 +141,7 @@ private:
QLabel * labelMapId,
QLabel * labelPose,
QLabel * labeCalib,
QLabel * labelGps,
bool updateConstraintView);
void updateStereo(const SensorData * data);
void updateWordsMatching();

View File

@@ -1019,7 +1019,8 @@ void DatabaseViewer::exportDatabase()
std::string label;
double stamp = 0;
std::vector<float> velocity;
if(dbDriver_->getNodeInfo(ids_[i], odomPose, mapId, weight, label, stamp, groundTruth, velocity))
std::vector<double> gps;
if(dbDriver_->getNodeInfo(ids_[i], odomPose, mapId, weight, label, stamp, groundTruth, velocity, gps))
{
if(frameRate == 0 ||
previousStamp == 0 ||
@@ -1324,7 +1325,8 @@ void DatabaseViewer::updateIds()
double s;
int mapId;
std::vector<float> v;
dbDriver_->getNodeInfo(ids_[i], p, mapId, w, l, s, g, v);
std::vector<double> gps;
dbDriver_->getNodeInfo(ids_[i], p, mapId, w, l, s, g, v, gps);
mapIds_.insert(std::make_pair(ids_[i], mapId));
if(i>0)
@@ -1794,7 +1796,8 @@ void DatabaseViewer::exportPoses(int format)
double stamp=0.0;
int mapId;
std::vector<float> v;
if(dbDriver_->getNodeInfo(iter->first, p, mapId, w, l, stamp, g, v))
std::vector<double> gps;
if(dbDriver_->getNodeInfo(iter->first, p, mapId, w, l, stamp, g, v, gps))
{
stamps.insert(std::make_pair(iter->first, stamp));
}
@@ -1986,7 +1989,8 @@ void DatabaseViewer::regenerateLocalMaps()
double stamp;
QString msg;
std::vector<float> velocity;
if(dbDriver_->getNodeInfo(data.id(), odomPose, mapId, weight, label, stamp, groundTruth, velocity))
std::vector<double> gps;
if(dbDriver_->getNodeInfo(data.id(), odomPose, mapId, weight, label, stamp, groundTruth, velocity, gps))
{
Signature s = data;
s.setPose(odomPose);
@@ -2063,7 +2067,8 @@ void DatabaseViewer::regenerateCurrentLocalMaps()
double stamp;
QString msg;
std::vector<float> velocity;
if(dbDriver_->getNodeInfo(data.id(), odomPose, mapId, weight, label, stamp, groundTruth, velocity))
std::vector<double> gps;
if(dbDriver_->getNodeInfo(data.id(), odomPose, mapId, weight, label, stamp, groundTruth, velocity, gps))
{
Signature s = data;
s.setPose(odomPose);
@@ -2367,6 +2372,7 @@ void DatabaseViewer::sliderAValueChanged(int value)
ui_->label_mapA,
ui_->label_poseA,
ui_->label_calibA,
ui_->label_gpsA,
true);
}
@@ -2384,6 +2390,7 @@ void DatabaseViewer::sliderBValueChanged(int value)
ui_->label_mapB,
ui_->label_poseB,
ui_->label_calibB,
ui_->label_gpsB,
true);
}
@@ -2399,6 +2406,7 @@ void DatabaseViewer::update(int value,
QLabel * labelMapId,
QLabel * labelPose,
QLabel * labelCalib,
QLabel * labelGps,
bool updateConstraintView)
{
UTimer timer;
@@ -2411,6 +2419,7 @@ void DatabaseViewer::update(int value,
labelPose->clear();
stamp->clear();
labelCalib->clear();
labelGps->clear();
QRectF rect;
if(value >= 0 && value < ids_.size())
{
@@ -2460,7 +2469,8 @@ void DatabaseViewer::update(int value,
std::string l;
double s;
std::vector<float> v;
dbDriver_->getNodeInfo(id, odomPose, mapId, w, l, s, g, v);
std::vector<double> gps;
dbDriver_->getNodeInfo(id, odomPose, mapId, w, l, s, g, v, gps);
weight->setNum(w);
label->setText(l.c_str());
@@ -2472,6 +2482,11 @@ void DatabaseViewer::update(int value,
stamp->setText(QString::number(s, 'f'));
stamp->setToolTip(QDateTime::fromMSecsSinceEpoch(s*1000.0).toString("dd.MM.yyyy hh:mm:ss.zzz"));
}
if(gps.size())
{
labelGps->setText(QString("stamp=%1 longitude=%2 latitude=%3 altitude=%4m error=%5m bearing=%6deg").arg(QString::number(gps[0], 'f')).arg(gps[1]).arg(gps[2]).arg(gps[3]).arg(gps[4]).arg(gps[5]));
labelGps->setToolTip(QDateTime::fromMSecsSinceEpoch(gps[0]*1000.0).toString("dd.MM.yyyy hh:mm:ss.zzz"));
}
if(data.cameraModels().size() || data.stereoCameraModel().isValidForProjection())
{
if(data.cameraModels().size())
@@ -3441,6 +3456,7 @@ void DatabaseViewer::updateConstraintView(
ui_->label_mapA,
ui_->label_poseA,
ui_->label_calibA,
ui_->label_gpsA,
false); // don't update constraints view!
this->update(idToIndex_.value(link.to()),
ui_->label_indexB,
@@ -3454,6 +3470,7 @@ void DatabaseViewer::updateConstraintView(
ui_->label_mapB,
ui_->label_poseB,
ui_->label_calibB,
ui_->label_gpsB,
false); // don't update constraints view!
}
@@ -3494,7 +3511,8 @@ void DatabaseViewer::updateConstraintView(
double s;
Transform p,g;
std::vector<float> v;
dbDriver_->getNodeInfo(link.from(), p, m, w, l, s, g, v);
std::vector<double> gps;
dbDriver_->getNodeInfo(link.from(), p, m, w, l, s, g, v, gps);
if(!p.isNull())
{
// keep just the z and roll/pitch rotation

View File

@@ -2089,7 +2089,8 @@ bool ExportCloudsDialog::getExportedClouds(
int m,w;
std::string l;
double s;
_dbDriver->getNodeInfo(jter->first, p, m, w, l, s, gt, velocity);
std::vector<double> gps;
_dbDriver->getNodeInfo(jter->first, p, m, w, l, s, gt, velocity, gps);
}
}
cv::Size imageSize = img.size();
@@ -2121,7 +2122,8 @@ bool ExportCloudsDialog::getExportedClouds(
int m,w;
std::string l;
double s;
_dbDriver->getNodeInfo(jter->first, p, m, w, l, s, gt, velocity);
std::vector<double> gps;
_dbDriver->getNodeInfo(jter->first, p, m, w, l, s, gt, velocity, gps);
}
}
}

View File

@@ -51,12 +51,87 @@
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>408</width>
<height>208</height>
<y>-24</y>
<width>393</width>
<height>232</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout" columnstretch="0,1">
<item row="5" column="1">
<widget class="QLabel" name="label_poseA">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_childrenA_2">
<property name="text">
<string>Children</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_parentsA">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_parentsA_2">
<property name="text">
<string>Parents</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_childrenA_12">
<property name="text">
<string>Pose</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_mapA">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_childrenA_10">
<property name="text">
<string>Map ID</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_childrenA_14">
<property name="text">
<string>Calib</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="label_calibA">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_childrenA">
<property name="text">
@@ -118,73 +193,15 @@
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_childrenA_10">
<item row="8" column="0">
<widget class="QLabel" name="label_childrenA_16">
<property name="text">
<string>Map ID</string>
<string>GPS</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_mapA">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_childrenA_12">
<property name="text">
<string>Pose</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_parentsA_2">
<property name="text">
<string>Parents</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_parentsA">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_childrenA_2">
<property name="text">
<string>Children</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="label_poseA">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_childrenA_14">
<property name="text">
<string>Calib</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="label_calibA">
<item row="8" column="1">
<widget class="QLabel" name="label_gpsA">
<property name="text">
<string/>
</property>
@@ -209,36 +226,12 @@
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>408</width>
<height>208</height>
<y>-24</y>
<width>393</width>
<height>232</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
<item row="0" column="1">
<widget class="QLabel" name="label_parentsB">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_parentsA_4">
<property name="text">
<string>Parents</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_childrenA_3">
<property name="text">
<string>Children</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_childrenB">
<property name="text">
@@ -266,6 +259,54 @@
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_weightB">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_childrenA_11">
<property name="text">
<string>Map ID</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_childrenA_13">
<property name="text">
<string>Pose</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_parentsB">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_parentsA_4">
<property name="text">
<string>Parents</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_childrenA_3">
<property name="text">
<string>Children</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_childrenA_7">
<property name="text">
@@ -290,23 +331,6 @@
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_weightB">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_childrenA_11">
<property name="text">
<string>Map ID</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_mapB">
<property name="text">
@@ -317,13 +341,6 @@
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_childrenA_13">
<property name="text">
<string>Pose</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="label_poseB">
<property name="text">
@@ -351,6 +368,23 @@
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_childrenA_17">
<property name="text">
<string>GPS</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLabel" name="label_gpsB">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>