API achange (0.11.8): computeNormals returns only pcl::Normal cloud, not pcl::PointNormal or pcl::PointXYZRGBNormal types. MainWindow: Normals are not kept in cache to save RAM. ProgressDialog: check if auto-close is still checked when close() slot is called.

This commit is contained in:
matlabbe
2016-06-12 13:51:49 -04:00
parent 9f296c67b2
commit cb7c76889d
19 changed files with 342 additions and 287 deletions
+8 -3
View File
@@ -1629,7 +1629,9 @@ void DatabaseViewer::view3DLaserScans()
}
int normalK = uStr2Int(ui_->parameters_toolbox->getParameters().at(Parameters::kIcpPointToPlaneNormalNeighbors()));
pcl::PointCloud<pcl::PointNormal>::Ptr cloudNormals = util3d::computeNormals(cloud, normalK);
pcl::PointCloud<pcl::Normal>::Ptr normals = util3d::computeNormals(cloud, normalK);
pcl::PointCloud<pcl::PointNormal>::Ptr cloudNormals(new pcl::PointCloud<pcl::PointNormal>);
pcl::concatenateFields(*cloud, *normals, *cloudNormals);
viewer->addCloud(uFormat("cloud%d", iter->first), cloudNormals, pose, color);
@@ -3457,8 +3459,11 @@ void DatabaseViewer::sliderIterationsValueChanged(int value)
iter->second.type() == rtabmap::Link::kNeighborMerged)
{
Eigen::Vector3f vA, vB;
poseA.getTranslation(vA[0], vA[1], vA[2]);
poseB.getTranslation(vB[0], vB[1], vB[2]);
float x,y,z;
poseA.getTranslation(x,y,z);
vA[0] = x; vA[1] = y; vA[2] = z;
poseB.getTranslation(x,y,z);
vB[0] = x; vB[1] = y; vB[2] = z;
length += (vB - vA).norm();
}
}