Gui: fixed warning scan not found when uncompressing data. Don't disable Mem/UseOdomFeatures checkbox anymore in monitoring mode (ROS).

This commit is contained in:
matlabbe
2020-11-05 15:50:05 -05:00
parent d04b1a13be
commit e7a2f206a0
5 changed files with 8 additions and 10 deletions

View File

@@ -97,6 +97,7 @@ public:
float angleIncrement() const {return angleIncrement_;} float angleIncrement() const {return angleIncrement_;}
Transform localTransform() const {return localTransform_;} Transform localTransform() const {return localTransform_;}
bool empty() const {return data_.empty();}
bool isEmpty() const {return data_.empty();} bool isEmpty() const {return data_.empty();}
int size() const {return data_.cols;} int size() const {return data_.cols;}
int dataType() const {return data_.type();} int dataType() const {return data_.type();}

View File

@@ -4253,6 +4253,8 @@ Signature * Memory::createSignature(const SensorData & inputData, const Transfor
int preDecimation = 1; int preDecimation = 1;
std::vector<cv::Point3f> keypoints3D; std::vector<cv::Point3f> keypoints3D;
SensorData decimatedData; SensorData decimatedData;
UDEBUG("Received kpts=%d kpts3D=%d, descriptors=%d _useOdometryFeatures=%s",
(int)data.keypoints().size(), (int)data.keypoints3D().size(), data.descriptors().rows, _useOdometryFeatures?"true":"false");
if(!_useOdometryFeatures || if(!_useOdometryFeatures ||
data.keypoints().empty() || data.keypoints().empty() ||
(int)data.keypoints().size() != data.descriptors().rows || (int)data.keypoints().size() != data.descriptors().rows ||

View File

@@ -2603,7 +2603,7 @@ bool ExportCloudsDialog::getExportedClouds(
// texture mesh // texture mesh
UDEBUG("texture mapping=%d", _ui->checkBox_textureMapping->isEnabled() && _ui->checkBox_textureMapping->isChecked()?1:0); UDEBUG("texture mapping=%d", _ui->checkBox_textureMapping->isEnabled() && _ui->checkBox_textureMapping->isChecked()?1:0);
if(!has2dScans && _ui->checkBox_textureMapping->isEnabled() && _ui->checkBox_textureMapping->isChecked()) if(!has2dScans && !meshes.empty() && _ui->checkBox_textureMapping->isEnabled() && _ui->checkBox_textureMapping->isChecked())
{ {
_progressDialog->appendText(tr("Texturing...")); _progressDialog->appendText(tr("Texturing..."));
QApplication::processEvents(); QApplication::processEvents();

View File

@@ -1704,16 +1704,16 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
// make sure data are uncompressed // make sure data are uncompressed
// We don't need to uncompress images if we don't show them // We don't need to uncompress images if we don't show them
bool uncompressImages = bool uncompressImages = !signature.sensorData().imageCompressed().empty() && (
_ui->imageView_source->isVisible() || _ui->imageView_source->isVisible() ||
(_loopClosureViewer->isVisible() && (_loopClosureViewer->isVisible() &&
!signature.sensorData().depthOrRightCompressed().empty()) || !signature.sensorData().depthOrRightCompressed().empty()) ||
(_cloudViewer->isVisible() && (_cloudViewer->isVisible() &&
_preferencesDialog->isCloudsShown(0) && _preferencesDialog->isCloudsShown(0) &&
!signature.sensorData().depthOrRightCompressed().empty()); !signature.sensorData().depthOrRightCompressed().empty()));
bool uncompressScan = bool uncompressScan = !signature.sensorData().laserScanCompressed().isEmpty() && (
_loopClosureViewer->isVisible() || _loopClosureViewer->isVisible() ||
(_cloudViewer->isVisible() && _preferencesDialog->isScansShown(0)); (_cloudViewer->isVisible() && _preferencesDialog->isScansShown(0)));
cv::Mat tmpRgb, tmpDepth, tmpG, tmpO, tmpE; cv::Mat tmpRgb, tmpDepth, tmpG, tmpO, tmpE;
LaserScan tmpScan; LaserScan tmpScan;
signature.sensorData().uncompressData( signature.sensorData().uncompressData(

View File

@@ -3291,9 +3291,6 @@ void PreferencesDialog::showEvent ( QShowEvent * event )
_ui->groupBox_source0->setEnabled(false); _ui->groupBox_source0->setEnabled(false);
_ui->groupBox_odometry1->setEnabled(false); _ui->groupBox_odometry1->setEnabled(false);
_ui->checkBox_useOdomFeatures->setChecked(false);
_ui->checkBox_useOdomFeatures->setEnabled(false);
this->setWindowTitle(tr("Preferences [Monitoring mode]")); this->setWindowTitle(tr("Preferences [Monitoring mode]"));
} }
else else
@@ -3305,8 +3302,6 @@ void PreferencesDialog::showEvent ( QShowEvent * event )
_ui->groupBox_source0->setEnabled(true); _ui->groupBox_source0->setEnabled(true);
_ui->groupBox_odometry1->setEnabled(true); _ui->groupBox_odometry1->setEnabled(true);
_ui->checkBox_useOdomFeatures->setEnabled(true);
this->setWindowTitle(tr("Preferences")); this->setWindowTitle(tr("Preferences"));
} }