fix defaultorderingfunc

release/4.3a0
Kartik Arcot 2023-01-21 12:32:25 -08:00
parent 9e466345b6
commit e4e43d5d16
5 changed files with 10 additions and 9 deletions

View File

@ -70,8 +70,8 @@ template<> struct EliminationTraits<DiscreteFactorGraph>
/// The default ordering generation function
static Ordering DefaultOrderingFunc(
const FactorGraphType& graph,
const VariableIndex& variableIndex) {
return Ordering::Colamd(variableIndex);
std::optional<std::reference_wrapper<const VariableIndex>> variableIndex) {
return Ordering::Colamd((*variableIndex).get());
}
};

View File

@ -27,6 +27,7 @@
#include <gtsam/linear/GaussianFactor.h>
#include <gtsam/linear/VectorValues.h>
#include <functional>
#include <optional>
namespace gtsam {
@ -87,7 +88,7 @@ struct EliminationTraits<HybridGaussianFactorGraph> {
/// The default ordering generation function
static Ordering DefaultOrderingFunc(
const FactorGraphType& graph,
const VariableIndex&) {
std::optional<std::reference_wrapper<const VariableIndex>>) {
return HybridOrdering(graph);
}
};

View File

@ -52,7 +52,7 @@ namespace gtsam {
return eliminateSequential(computedOrdering, function, variableIndex);
} else {
Ordering computedOrdering = EliminationTraitsType::DefaultOrderingFunc(
asDerived(), (*variableIndex).get());
asDerived(), *variableIndex);
return eliminateSequential(computedOrdering, function, variableIndex);
}
}
@ -115,7 +115,7 @@ namespace gtsam {
return eliminateMultifrontal(computedOrdering, function, variableIndex);
} else {
Ordering computedOrdering = EliminationTraitsType::DefaultOrderingFunc(
asDerived(), (*variableIndex).get());
asDerived(), *variableIndex);
return eliminateMultifrontal(computedOrdering, function, variableIndex);
}
}

View File

@ -58,8 +58,8 @@ namespace gtsam {
/// The default ordering generation function
static Ordering DefaultOrderingFunc(
const FactorGraphType& graph,
const VariableIndex& variableIndex) {
return Ordering::Colamd(variableIndex);
std::optional<std::reference_wrapper<const VariableIndex>> variableIndex) {
return Ordering::Colamd((*variableIndex).get());
}
};

View File

@ -49,8 +49,8 @@ namespace gtsam {
/// The default ordering generation function
static Ordering DefaultOrderingFunc(
const FactorGraphType& graph,
const VariableIndex& variableIndex) {
return Ordering::Colamd(variableIndex);
std::optional<std::reference_wrapper<const VariableIndex>> variableIndex) {
return Ordering::Colamd((*variableIndex).get());
}
};