Fixed a couple problems in converted ConcurrentIncrementalFilter and ConcurrentIncrementalSmoother

release/4.3a0
Richard Roberts 2013-08-16 21:16:06 +00:00
parent da1c3549a9
commit 192962d96f
2 changed files with 5 additions and 5 deletions

View File

@ -204,7 +204,7 @@ void ConcurrentIncrementalFilter::synchronize(const NonlinearFactorGraph& smooth
// Calculate the summarized factor on just the new separator keys // Calculate the summarized factor on just the new separator keys
NonlinearFactorGraph currentSmootherSummarization = internal::calculateMarginalFactors(graph, values, newSeparatorKeys, NonlinearFactorGraph currentSmootherSummarization = internal::calculateMarginalFactors(graph, values, newSeparatorKeys,
isam2_.params().factorization == ISAM2Params::CHOLESKY ? EliminateCholesky : EliminateQR); isam2_.params().getEliminationFunction());
// Remove the old factors on the separator and insert the new ones // Remove the old factors on the separator and insert the new ones
FastVector<size_t> removeFactors(currentSmootherSummarizationSlots_.begin(), currentSmootherSummarizationSlots_.end()); FastVector<size_t> removeFactors(currentSmootherSummarizationSlots_.begin(), currentSmootherSummarizationSlots_.end());
@ -329,7 +329,7 @@ void ConcurrentIncrementalFilter::updateShortcut(const NonlinearFactorGraph& rem
values.insert(isam2_.getLinearizationPoint()); values.insert(isam2_.getLinearizationPoint());
// Calculate the summarized factor on the shortcut keys // Calculate the summarized factor on the shortcut keys
smootherShortcut_ = internal::calculateMarginalFactors(graph, values, shortcutKeys, smootherShortcut_ = internal::calculateMarginalFactors(graph, values, shortcutKeys,
isam2_.params().factorization == ISAM2Params::CHOLESKY ? EliminateCholesky : EliminateQR); isam2_.params().getEliminationFunction());
} }
/* ************************************************************************* */ /* ************************************************************************* */
@ -402,7 +402,7 @@ NonlinearFactorGraph ConcurrentIncrementalFilter::calculateFilterSummarization()
// Calculate the marginal factors on the separator // Calculate the marginal factors on the separator
NonlinearFactorGraph filterSummarization = internal::calculateMarginalFactors(graph, isam2_.getLinearizationPoint(), separatorKeys, NonlinearFactorGraph filterSummarization = internal::calculateMarginalFactors(graph, isam2_.getLinearizationPoint(), separatorKeys,
isam2_.params().factorization == ISAM2Params::CHOLESKY ? EliminateCholesky : EliminateQR); isam2_.params().getEliminationFunction());
return filterSummarization; return filterSummarization;
} }

View File

@ -177,7 +177,7 @@ void ConcurrentIncrementalSmoother::updateSmootherSummarization() {
// Find all cliques that contain any separator variables // Find all cliques that contain any separator variables
std::set<ISAM2Clique::shared_ptr> separatorCliques; std::set<ISAM2Clique::shared_ptr> separatorCliques;
BOOST_FOREACH(Key key, separatorKeys) { BOOST_FOREACH(Key key, separatorValues_.keys()) {
ISAM2Clique::shared_ptr clique = isam2_[key]; ISAM2Clique::shared_ptr clique = isam2_[key];
separatorCliques.insert( clique ); separatorCliques.insert( clique );
} }
@ -241,7 +241,7 @@ void ConcurrentIncrementalSmoother::updateSmootherSummarization() {
// Calculate the marginal factors on the separator // Calculate the marginal factors on the separator
smootherSummarization_ = internal::calculateMarginalFactors(graph, isam2_.getLinearizationPoint(), separatorKeys, smootherSummarization_ = internal::calculateMarginalFactors(graph, isam2_.getLinearizationPoint(), separatorKeys,
isam2_.params().factorization == ISAM2Params::CHOLESKY ? EliminateCholesky : EliminateQR); isam2_.params().getEliminationFunction());
} }
/* ************************************************************************* */ /* ************************************************************************* */