mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 09:30:25 +08:00
cloudFromDisparity(): adjusting decimation if not valid with current image size. Standalone: ask user to set other parameters to default if some were set on command line.
This commit is contained in:
@@ -131,7 +131,7 @@ public:
|
||||
|
||||
rtabmap::ParametersMap getAllParameters() const;
|
||||
std::string getParameter(const std::string & key) const;
|
||||
void updateParameters(const ParametersMap & parameters);
|
||||
void updateParameters(const ParametersMap & parameters, bool setOtherParametersToDefault = false);
|
||||
|
||||
//General panel
|
||||
int getGeneralLoggerLevel() const;
|
||||
|
||||
@@ -4081,7 +4081,13 @@ void MainWindow::updateParameters(const ParametersMap & parameters)
|
||||
_ui->widget_console->appendMsg(msg);
|
||||
UWARN(msg.toStdString().c_str());
|
||||
}
|
||||
_preferencesDialog->updateParameters(parameters);
|
||||
QMessageBox::StandardButton button = QMessageBox::question(this,
|
||||
tr("Parameters"),
|
||||
tr("Some parameters have been set on command line, do you "
|
||||
"want to set all other RTAB-Map's parameters to default?"),
|
||||
QMessageBox::Yes | QMessageBox::No,
|
||||
QMessageBox::No);
|
||||
_preferencesDialog->updateParameters(parameters, button==QMessageBox::Yes);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2889,7 +2889,7 @@ std::string PreferencesDialog::getParameter(const std::string & key) const
|
||||
return _parameters.at(key);
|
||||
}
|
||||
|
||||
void PreferencesDialog::updateParameters(const ParametersMap & parameters)
|
||||
void PreferencesDialog::updateParameters(const ParametersMap & parameters, bool setOtherParametersToDefault)
|
||||
{
|
||||
if(parameters.size())
|
||||
{
|
||||
@@ -2897,6 +2897,19 @@ void PreferencesDialog::updateParameters(const ParametersMap & parameters)
|
||||
{
|
||||
this->setParameter(iter->first, iter->second);
|
||||
}
|
||||
if(setOtherParametersToDefault)
|
||||
{
|
||||
for(ParametersMap::const_iterator iter=Parameters::getDefaultParameters().begin();
|
||||
iter!=Parameters::getDefaultParameters().end();
|
||||
++iter)
|
||||
{
|
||||
if(parameters.find(iter->first) == parameters.end() &&
|
||||
iter->first.compare(Parameters::kRtabmapWorkingDirectory())!=0)
|
||||
{
|
||||
this->setParameter(iter->first, iter->second);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!this->isVisible())
|
||||
{
|
||||
this->writeSettings(getTmpIniFilePath());
|
||||
|
||||
Reference in New Issue
Block a user