From 989ea63acb505a8ab0e31db3903d6e45eb01deab Mon Sep 17 00:00:00 2001 From: matlabbe Date: Mon, 8 Sep 2014 20:53:18 +0000 Subject: [PATCH] ros: MapCloudDisplay::downloadMap() creating/buffering also clouds of nodes not in the current map git-svn-id: http://rtabmap.googlecode.com/svn/trunk/ros-pkg@1673 f169173b-cf89-36c8-b27e-44dbe73f0c83 --- src/rviz/MapCloudDisplay.cpp | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/src/rviz/MapCloudDisplay.cpp b/src/rviz/MapCloudDisplay.cpp index 75303c50..bb670c2a 100644 --- a/src/rviz/MapCloudDisplay.cpp +++ b/src/rviz/MapCloudDisplay.cpp @@ -249,7 +249,6 @@ void MapCloudDisplay::processMapData(const rtabmap::MapData& map) float depthFy = 0.0f; float depthCx = 0.0f; float depthCy = 0.0f; - rtabmap::Transform pose; for(unsigned int i=0; i 0.0f && depthFy > 0.0f && depthCx >= 0.0f && depthCy >= 0.0f && !pose.isNull()) + if(!image.empty() && !depth.empty() && depthFx > 0.0f && depthFy > 0.0f && depthCx >= 0.0f && depthCy >= 0.0f) { pcl::PointCloud::Ptr cloud = util3d::cloudFromDepthRGB(image, depth, depthCx, depthCy, depthFx, depthFy, cloud_decimation_->getInt()); @@ -329,7 +320,7 @@ void MapCloudDisplay::processMapData(const rtabmap::MapData& map) CloudInfoPtr info(new CloudInfo); info->message_ = cloudMsg; - info->pose_ = pose; + info->pose_ = rtabmap::Transform::getIdentity(); info->id_ = id; if (transformCloud(info, true)) @@ -526,11 +517,11 @@ void MapCloudDisplay::downloadMap() } else { - messageBox->setText(tr("Creating all clouds (%1 nodes downloaded)...").arg(getMapSrv.response.data.poses.size())); + messageBox->setText(tr("Creating all clouds (%1 poses and %2 clouds downloaded)...").arg(getMapSrv.response.data.poses.size()).arg(getMapSrv.response.data.depths.size())); QApplication::processEvents(); this->reset(); processMapData(getMapSrv.response.data); - messageBox->setText(tr("Creating all clouds (%1 nodes downloaded)... done!").arg(getMapSrv.response.data.poses.size())); + messageBox->setText(tr("Creating all clouds (%1 poses and %2 clouds downloaded)... done!").arg(getMapSrv.response.data.poses.size()).arg(getMapSrv.response.data.depths.size())); QTimer::singleShot(1000, messageBox, SLOT(close())); }