Call Ordering::Create to make sure Metis is executed when asked (was a bug!)

release/4.3a0
dellaert 2015-02-13 17:17:11 +01:00
parent 56456a2396
commit 0be63753bc
3 changed files with 7 additions and 12 deletions

View File

@ -95,8 +95,8 @@ void DoglegOptimizer::iterate(void) {
/* ************************************************************************* */
DoglegParams DoglegOptimizer::ensureHasOrdering(DoglegParams params, const NonlinearFactorGraph& graph) const {
if(!params.ordering)
params.ordering = Ordering::colamd(graph);
if (!params.ordering)
params.ordering = Ordering::Create(params.orderingType, graph);
return params;
}

View File

@ -46,10 +46,9 @@ void GaussNewtonOptimizer::iterate() {
/* ************************************************************************* */
GaussNewtonParams GaussNewtonOptimizer::ensureHasOrdering(
GaussNewtonParams params, const NonlinearFactorGraph& graph) const
{
if(!params.ordering)
params.ordering = Ordering::colamd(graph);
GaussNewtonParams params, const NonlinearFactorGraph& graph) const {
if (!params.ordering)
params.ordering = Ordering::Create(params.orderingType, graph);
return params;
}

View File

@ -344,12 +344,8 @@ void LevenbergMarquardtOptimizer::iterate() {
/* ************************************************************************* */
LevenbergMarquardtParams LevenbergMarquardtOptimizer::ensureHasOrdering(
LevenbergMarquardtParams params, const NonlinearFactorGraph& graph) const {
if (!params.ordering){
if (params.orderingType == Ordering::METIS)
params.ordering = Ordering::metis(graph);
else
params.ordering = Ordering::colamd(graph);
}
if (!params.ordering)
params.ordering = Ordering::Create(params.orderingType, graph);
return params;
}