Rtabmap::parseParameters(): Re-using old parameters (if not updated) when graph optimization approach is re-created.

This commit is contained in:
matlabbe
2016-01-04 11:48:48 -05:00
parent b578fc732e
commit 9b6d662aaf

View File

@@ -434,7 +434,7 @@ void Rtabmap::parseParameters(const ParametersMap & parameters)
_graphOptimizer = 0; _graphOptimizer = 0;
} }
_graphOptimizer = Optimizer::create(optimizerType, parameters); _graphOptimizer = Optimizer::create(optimizerType, _parameters);
} }
else if(_graphOptimizer) else if(_graphOptimizer)
{ {
@@ -459,7 +459,7 @@ void Rtabmap::parseParameters(const ParametersMap & parameters)
} }
if(!_epipolarGeometry && vhStrategy == kVhEpipolar) if(!_epipolarGeometry && vhStrategy == kVhEpipolar)
{ {
_epipolarGeometry = new EpipolarGeometry(parameters); _epipolarGeometry = new EpipolarGeometry(_parameters);
} }
else if(_epipolarGeometry && vhStrategy == kVhNone) else if(_epipolarGeometry && vhStrategy == kVhNone)
{ {
@@ -474,17 +474,12 @@ void Rtabmap::parseParameters(const ParametersMap & parameters)
// Bayes filter, create one if not exists // Bayes filter, create one if not exists
if(!_bayesFilter) if(!_bayesFilter)
{ {
_bayesFilter = new BayesFilter(parameters); _bayesFilter = new BayesFilter(_parameters);
} }
else else
{ {
_bayesFilter->parseParameters(parameters); _bayesFilter->parseParameters(parameters);
} }
for(ParametersMap::const_iterator iter = parameters.begin(); iter!=parameters.end(); ++iter)
{
uInsert(_parameters, ParametersPair(iter->first, iter->second));
}
} }
int Rtabmap::getLastLocationId() const int Rtabmap::getLastLocationId() const