Skip to content

Commit

Permalink
Fix lookup of gn_var in viewer
Browse files Browse the repository at this point in the history
  • Loading branch information
RainerKuemmerle committed Jul 7, 2024
1 parent 37f1ca2 commit 5bd40f8
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 9 deletions.
15 changes: 8 additions & 7 deletions g2o/apps/g2o_viewer/main_window.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
#include "g2o/core/robust_kernel.h"
#include "g2o/core/robust_kernel_factory.h"
#include "g2o/core/sparse_optimizer.h"
#include "g2o/stuff/logger.h"
#include "properties_widget.h"
#include "viewer_properties_widget.h"

Expand Down Expand Up @@ -170,21 +171,21 @@ void MainWindow::updateDisplayedSolvers() {
const g2o::OptimizationAlgorithmFactory::CreatorList& knownSolvers =
g2o::OptimizationAlgorithmFactory::instance()->creatorList();

bool varFound = false;
std::string varType;
std::string varName;
for (const auto& knownSolver : knownSolvers) {
const g2o::OptimizationAlgorithmProperty& sp = knownSolver->property();
G2O_DEBUG("Available Solver {}", sp.name);
if (sp.name == "gn_var" || sp.name == "gn_var_cholmod") {
varType = sp.type;
varFound = true;
G2O_INFO("Found variable solver {}", sp.name);
varName = sp.name;
break;
}
}

if (varFound) {
if (!varName.empty()) {
for (const auto& knownSolver : knownSolvers) {
const g2o::OptimizationAlgorithmProperty& sp = knownSolver->property();
if (sp.type == varType) {
if (sp.name == varName) {
coOptimizer->addItem(QString::fromStdString(sp.name));
knownSolvers_.push_back(sp);
}
Expand All @@ -196,7 +197,7 @@ void MainWindow::updateDisplayedSolvers() {

for (const auto& knownSolver : knownSolvers) {
const g2o::OptimizationAlgorithmProperty& sp = knownSolver->property();
if (varFound && varType == sp.type) continue;
if (!varName.empty() && varName == sp.type) continue;
solverLookUp[sp.type].push_back(sp);
}

Expand Down
3 changes: 2 additions & 1 deletion g2o/apps/g2o_viewer/properties_widget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@
#include "properties_widget.h"

#include "g2o/core/optimization_algorithm.h"
#include "g2o/stuff/logger.h"
#include "g2o/stuff/property.h"

PropertiesWidget::PropertiesWidget(QWidget* parent)
: AbstractPropertiesWidget(parent) {
std::cerr << "Created Prop widget\n";
G2O_TRACE("Created Prop widget for solver");
}

void PropertiesWidget::setSolver(
Expand Down
5 changes: 4 additions & 1 deletion g2o/apps/g2o_viewer/viewer_properties_widget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include "viewer_properties_widget.h"

#include "g2o/core/hyper_graph_action.h"
#include "g2o/stuff/logger.h"
#include "g2o_qglviewer.h"

#ifdef __GNUC__
Expand Down Expand Up @@ -60,7 +61,9 @@ std::string demangleName(const std::string& fullPropName) {
} // namespace

ViewerPropertiesWidget::ViewerPropertiesWidget(QWidget* parent)
: AbstractPropertiesWidget(parent) {}
: AbstractPropertiesWidget(parent) {
G2O_TRACE("Created Prop widget for drawing options");
}

void ViewerPropertiesWidget::applyProperties() {
AbstractPropertiesWidget::applyProperties();
Expand Down

0 comments on commit 5bd40f8

Please sign in to comment.