Fixed clouds not generated when calling "Download clouds" after "Download graph". Updated DetailedProgressDialog

This commit is contained in:
matlabbe
2015-07-23 16:14:31 -04:00
parent d340c7fa1c
commit 90c1e3942f
3 changed files with 8 additions and 13 deletions

View File

@@ -42,8 +42,7 @@ namespace rtabmap {
DetailedProgressDialog::DetailedProgressDialog(QWidget *parent, Qt::WindowFlags flags) : DetailedProgressDialog::DetailedProgressDialog(QWidget *parent, Qt::WindowFlags flags) :
QDialog(parent, flags), QDialog(parent, flags),
_autoClose(false), _delayedClosingTime(1)
_delayedClosingTime(0)
{ {
_text = new QLabel(this); _text = new QLabel(this);
_text->setWordWrap(true); _text->setWordWrap(true);
@@ -55,7 +54,7 @@ DetailedProgressDialog::DetailedProgressDialog(QWidget *parent, Qt::WindowFlags
_closeButton = new QPushButton(this); _closeButton = new QPushButton(this);
_closeButton->setText("Close"); _closeButton->setText("Close");
_closeWhenDoneCheckBox = new QCheckBox(this); _closeWhenDoneCheckBox = new QCheckBox(this);
_closeWhenDoneCheckBox->setChecked(false); _closeWhenDoneCheckBox->setChecked(true);
_closeWhenDoneCheckBox->setText("Close when done."); _closeWhenDoneCheckBox->setText("Close when done.");
_endMessage = "Finished!"; _endMessage = "Finished!";
this->clear(); this->clear();
@@ -90,6 +89,7 @@ void DetailedProgressDialog::appendText(const QString & text, const QColor & col
_detailedText->append(html); _detailedText->append(html);
_detailedText->ensureCursorVisible(); _detailedText->ensureCursorVisible();
_detailedText->horizontalScrollBar()->setSliderPosition(0); _detailedText->horizontalScrollBar()->setSliderPosition(0);
_detailedText->verticalScrollBar()->setSliderPosition(_detailedText->verticalScrollBar()->maximum());
} }
void DetailedProgressDialog::setValue(int value) void DetailedProgressDialog::setValue(int value)
{ {
@@ -146,6 +146,7 @@ void DetailedProgressDialog::closeEvent(QCloseEvent *event)
if(_progressBar->value() == _progressBar->maximum()) if(_progressBar->value() == _progressBar->maximum())
{ {
event->accept(); event->accept();
_closeWhenDoneCheckBox->setChecked(true);
} }
else else
{ {

View File

@@ -68,7 +68,6 @@ private:
QPushButton * _closeButton; QPushButton * _closeButton;
QCheckBox * _closeWhenDoneCheckBox; QCheckBox * _closeWhenDoneCheckBox;
QString _endMessage; QString _endMessage;
bool _autoClose;
int _delayedClosingTime; // sec int _delayedClosingTime; // sec
}; };

View File

@@ -1913,7 +1913,6 @@ void MainWindow::processRtabmapEventInit(int status, const QString & info)
{ {
if((RtabmapEventInit::Status)status == RtabmapEventInit::kInitializing) if((RtabmapEventInit::Status)status == RtabmapEventInit::kInitializing)
{ {
_initProgressDialog->setAutoClose(true, 1);
_initProgressDialog->resetProgress(); _initProgressDialog->resetProgress();
_initProgressDialog->show(); _initProgressDialog->show();
this->changeState(MainWindow::kInitializing); this->changeState(MainWindow::kInitializing);
@@ -1925,7 +1924,6 @@ void MainWindow::processRtabmapEventInit(int status, const QString & info)
} }
else if((RtabmapEventInit::Status)status == RtabmapEventInit::kClosing) else if((RtabmapEventInit::Status)status == RtabmapEventInit::kClosing)
{ {
_initProgressDialog->setAutoClose(true, 1);
_initProgressDialog->resetProgress(); _initProgressDialog->resetProgress();
_initProgressDialog->show(); _initProgressDialog->show();
if(_state!=kApplicationClosing) if(_state!=kApplicationClosing)
@@ -2061,7 +2059,8 @@ void MainWindow::processRtabmapEvent3DMap(const rtabmap::RtabmapEvent3DMap & eve
++iter) ++iter)
{ {
mapIds.insert(std::make_pair(iter->first, iter->second.mapId())); mapIds.insert(std::make_pair(iter->first, iter->second.mapId()));
if(!_cachedSignatures.contains(iter->first)) if(!_cachedSignatures.contains(iter->first) ||
(_cachedSignatures.value(iter->first).sensorData().imageCompressed().empty() && !iter->second.sensorData().imageCompressed().empty()))
{ {
_cachedSignatures.insert(iter->first, iter->second); _cachedSignatures.insert(iter->first, iter->second);
++addedSignatures; ++addedSignatures;
@@ -3853,7 +3852,7 @@ void MainWindow::downloadAllClouds()
items.append("Global map not optimized"); items.append("Global map not optimized");
bool ok; bool ok;
QString item = QInputDialog::getItem(this, tr("Parameters"), tr("Options:"), items, 2, false, &ok); QString item = QInputDialog::getItem(this, tr("Download map"), tr("Options:"), items, 2, false, &ok);
if(ok) if(ok)
{ {
bool optimized=false, global=false; bool optimized=false, global=false;
@@ -3880,7 +3879,6 @@ void MainWindow::downloadAllClouds()
} }
UINFO("Download clouds..."); UINFO("Download clouds...");
_initProgressDialog->setAutoClose(true, 1);
_initProgressDialog->resetProgress(); _initProgressDialog->resetProgress();
_initProgressDialog->show(); _initProgressDialog->show();
_initProgressDialog->appendText(tr("Downloading the map (global=%1 ,optimized=%2)...") _initProgressDialog->appendText(tr("Downloading the map (global=%1 ,optimized=%2)...")
@@ -3905,7 +3903,7 @@ void MainWindow::downloadPoseGraph()
items.append("Global map not optimized"); items.append("Global map not optimized");
bool ok; bool ok;
QString item = QInputDialog::getItem(this, tr("Parameters"), tr("Options:"), items, 2, false, &ok); QString item = QInputDialog::getItem(this, tr("Download graph"), tr("Options:"), items, 2, false, &ok);
if(ok) if(ok)
{ {
bool optimized=false, global=false; bool optimized=false, global=false;
@@ -3932,7 +3930,6 @@ void MainWindow::downloadPoseGraph()
} }
UINFO("Download the graph..."); UINFO("Download the graph...");
_initProgressDialog->setAutoClose(true, 1);
_initProgressDialog->resetProgress(); _initProgressDialog->resetProgress();
_initProgressDialog->show(); _initProgressDialog->show();
_initProgressDialog->appendText(tr("Downloading the graph (global=%1 ,optimized=%2)...") _initProgressDialog->appendText(tr("Downloading the graph (global=%1 ,optimized=%2)...")
@@ -4341,7 +4338,6 @@ bool MainWindow::getExportedScans(std::map<int, pcl::PointCloud<pcl::PointXYZ>::
pcl::PointCloud<pcl::PointXYZ>::Ptr assembledScans(new pcl::PointCloud<pcl::PointXYZ>()); pcl::PointCloud<pcl::PointXYZ>::Ptr assembledScans(new pcl::PointCloud<pcl::PointXYZ>());
std::map<int, Transform> poses = _ui->widget_mapVisibility->getVisiblePoses(); std::map<int, Transform> poses = _ui->widget_mapVisibility->getVisiblePoses();
_initProgressDialog->setAutoClose(true, 1);
_initProgressDialog->resetProgress(); _initProgressDialog->resetProgress();
_initProgressDialog->show(); _initProgressDialog->show();
_initProgressDialog->setMaximumSteps(int(poses.size())*(assemble?1:2)+1); _initProgressDialog->setMaximumSteps(int(poses.size())*(assemble?1:2)+1);
@@ -4508,7 +4504,6 @@ bool MainWindow::getExportedClouds(
{ {
std::map<int, Transform> poses = _ui->widget_mapVisibility->getVisiblePoses(); std::map<int, Transform> poses = _ui->widget_mapVisibility->getVisiblePoses();
_initProgressDialog->setAutoClose(true, 1);
_initProgressDialog->resetProgress(); _initProgressDialog->resetProgress();
_initProgressDialog->show(); _initProgressDialog->show();
int mul = _exportDialog->getMesh()&&!_exportDialog->getGenerate()?3:_exportDialog->getMLS()&&!_exportDialog->getGenerate()?2:1; int mul = _exportDialog->getMesh()&&!_exportDialog->getGenerate()?3:_exportDialog->getMLS()&&!_exportDialog->getGenerate()?2:1;