diff --git a/guilib/src/DatabaseViewer.cpp b/guilib/src/DatabaseViewer.cpp index 1c27335217..640bdc96de 100644 --- a/guilib/src/DatabaseViewer.cpp +++ b/guilib/src/DatabaseViewer.cpp @@ -443,6 +443,7 @@ DatabaseViewer::DatabaseViewer(const QString & ini, QWidget * parent) : connect(ui_->graphicsView_B, SIGNAL(configChanged()), this, SLOT(configModified())); connect(ui_->comboBox_logger_level, SIGNAL(currentIndexChanged(int)), this, SLOT(configModified())); connect(ui_->actionVertical_Layout, SIGNAL(toggled(bool)), this, SLOT(configModified())); + connect(ui_->actionConcise_Layout, SIGNAL(toggled(bool)), this, SLOT(configModified())); connect(ui_->checkBox_alignPosesWithGPS, SIGNAL(stateChanged(int)), this, SLOT(updateGraphView())); connect(ui_->checkBox_alignPosesWithGroundTruth, SIGNAL(stateChanged(int)), this, SLOT(updateGraphView())); connect(ui_->checkBox_alignScansCloudsWithGroundTruth, SIGNAL(stateChanged(int)), this, SLOT(updateGraphView())); @@ -543,6 +544,27 @@ void DatabaseViewer::showCloseButton(bool visible) void DatabaseViewer::configModified() { + if(ui_->actionConcise_Layout->isChecked()) + { + ui_->graphicsView_B->setVisible(false); + ui_->scrollArea->setVisible(false); + ui_->scrollArea_2->setVisible(false); + ui_->spinBox_indexB->setVisible(false); + ui_->widget_imageControls_B->setVisible(false); + ui_->widget_graphControl->setVisible(false); + ui_->graphicsView_A->clearLines(); + ui_->graphicsView_B->clearLines(); + } + else + { + ui_->graphicsView_B->setVisible(true); + ui_->scrollArea->setVisible(true); + ui_->scrollArea_2->setVisible(true); + ui_->spinBox_indexB->setVisible(true); + ui_->widget_imageControls_B->setVisible(true); + ui_->widget_graphControl->setVisible(true); + } + this->setWindowModified(true); } @@ -582,6 +604,7 @@ void DatabaseViewer::readSettings() ui_->comboBox_logger_level->setCurrentIndex(settings.value("loggerLevel", ui_->comboBox_logger_level->currentIndex()).toInt()); ui_->actionVertical_Layout->setChecked(settings.value("verticalLayout", ui_->actionVertical_Layout->isChecked()).toBool()); + ui_->actionConcise_Layout->setChecked(settings.value("conciseLayout", ui_->actionConcise_Layout->isChecked()).toBool()); ui_->checkBox_ignoreIntermediateNodes->setChecked(settings.value("ignoreIntermediateNodes", ui_->checkBox_ignoreIntermediateNodes->isChecked()).toBool()); ui_->checkBox_timeStats->setChecked(settings.value("timeStats", ui_->checkBox_timeStats->isChecked()).toBool()); @@ -672,6 +695,7 @@ void DatabaseViewer::writeSettings() settings.setValue("loggerLevel", ui_->comboBox_logger_level->currentIndex()); settings.setValue("verticalLayout", ui_->actionVertical_Layout->isChecked()); + settings.setValue("conciseLayout", ui_->actionConcise_Layout->isChecked()); settings.setValue("ignoreIntermediateNodes", ui_->checkBox_ignoreIntermediateNodes->isChecked()); settings.setValue("timeStats", ui_->checkBox_timeStats->isChecked()); @@ -4573,11 +4597,11 @@ void DatabaseViewer::graphNodeSelected(int id) if(id>0 && idToIndex_.contains(id)) { static bool updateA = true; - if(updateA) + if(updateA || ui_->actionConcise_Layout->isChecked()) ui_->horizontalSlider_A->setValue(idToIndex_.value(id)); else ui_->horizontalSlider_B->setValue(idToIndex_.value(id)); - updateA = !updateA; + updateA = !updateA || ui_->actionConcise_Layout->isChecked(); } } @@ -5915,6 +5939,10 @@ void DatabaseViewer::updateStereo(const SensorData * data) void DatabaseViewer::updateWordsMatching(const std::vector & inliers) { + if(ui_->actionConcise_Layout->isChecked()) { + return; + } + int from = ids_.at(ui_->horizontalSlider_A->value()); int to = ids_.at(ui_->horizontalSlider_B->value()); if(from && to) diff --git a/guilib/src/ui/DatabaseViewer.ui b/guilib/src/ui/DatabaseViewer.ui index c968958d23..e75e73fd67 100644 --- a/guilib/src/ui/DatabaseViewer.ui +++ b/guilib/src/ui/DatabaseViewer.ui @@ -776,69 +776,71 @@ - - - 12 - - - 12 - - - 12 - - - 12 - - - + + + + 12 + + + 12 + + + 12 + + + 12 + - - - Index : - - + + + + + Index : + + + + + + + Id : + + + + - - - Id : - - + + + + + false + + + + + + + idB + + + + - - - - - - - false + + + Qt::ClickFocus - - - - - - idB + + Qt::Horizontal - + + QSlider::TicksAbove + + - - - - - - Qt::ClickFocus - - - Qt::Horizontal - - - QSlider::TicksAbove - - - - + + @@ -936,6 +938,7 @@ View + @@ -1221,348 +1224,354 @@ - Qt::Horizontal - - - - 0 - 20 - - - - - - - - - - - - Graph view - - - 1 - - - - - - - - - - - - 0.0 deg - - - - - - - Qt::ClickFocus - - - -1799 - - - 1800 - - - 0 - - - Qt::Horizontal - - - QSlider::TicksAbove - - - 100 - - - - - - - <html><head/><body><p>The rotation will be applied temporary to optimized global graph. To save it to database, do File-&gt;&quot;Regenerate optimized 2D map...&quot;.</p></body></html> - - - Apply Rotation - - - - - - - - - - - # - - - - - - - Qt::ClickFocus - - - Qt::Horizontal - - - QSlider::TicksAbove - - - - - - - QComboBox::AdjustToContents - - - - Global Iterative - - - - - Global Full - - - - - Local Optimized - - - - - - - - - - - - Align poses with ground truth - - - true - - - - - - - - - - false - - - - - - - - - Root - - - - - - - Span to all maps - - - true - - - - - - - WM - - - - - - - - - Time grid (s) - - - - - - - RMSE (m) - - - - - - - - - - true - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Align scans/clouds with ground truth - - - true - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - <html><head/><body><p>N: Neighbor</p><p>NM: Neighbor Merged</p><p>G: Global</p><p>LS: Local by Space (Proximity)</p><p>LT: Local by Time (Proximity)</p><p>U: User</p><p>P: Prior</p><p>LM: Landmark</p><p>GR: Gravity</p></body></html> - - - Links (N, NM, G, LS, LT, U, P, LM, GR) - - - - - - - Path length (m) - - - - - - - Poses - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Ignore intermediate nodes - - - true - - - - - - - Time optimization (s) - - - - - - - - - - true - - - - - - - Align poses with GPS - - - true - - - - - - - + Qt::Horizontal - - true + + + 0 + 20 + - + + + + Graph view + + + 1 + + + + + + + + + + + + + + + 0.0 deg + + + + + + + Qt::ClickFocus + + + -1799 + + + 1800 + + + 0 + + + Qt::Horizontal + + + QSlider::TicksAbove + + + 100 + + + + + + + <html><head/><body><p>The rotation will be applied temporary to optimized global graph. To save it to database, do File-&gt;&quot;Regenerate optimized 2D map...&quot;.</p></body></html> + + + Apply Rotation + + + + + + + + + + + # + + + + + + + Qt::ClickFocus + + + Qt::Horizontal + + + QSlider::TicksAbove + + + + + + + QComboBox::AdjustToContents + + + + Global Iterative + + + + + Global Full + + + + + Local Optimized + + + + + + + + + + + + Align poses with ground truth + + + true + + + + + + + + + + false + + + + + + + + + Root + + + + + + + Span to all maps + + + true + + + + + + + WM + + + + + + + + + Time grid (s) + + + + + + + RMSE (m) + + + + + + + + + + true + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Align scans/clouds with ground truth + + + true + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + <html><head/><body><p>N: Neighbor</p><p>NM: Neighbor Merged</p><p>G: Global</p><p>LS: Local by Space (Proximity)</p><p>LT: Local by Time (Proximity)</p><p>U: User</p><p>P: Prior</p><p>LM: Landmark</p><p>GR: Gravity</p></body></html> + + + Links (N, NM, G, LS, LT, U, P, LM, GR) + + + + + + + Path length (m) + + + + + + + Poses + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Ignore intermediate nodes + + + true + + + + + + + Time optimization (s) + + + + + + + + + + true + + + + + + + Align poses with GPS + + + true + + + + + + + + + + true + + + + + + + + + + + false @@ -3272,6 +3281,17 @@ Vertical Layout + + + true + + + false + + + Concise Layout + + Restore default GUI settings