0.16.1: Added LaserScan class with new "format" field to distinguish easier between all kind of laser scans (XYZ, XYZRGB, XYZI, XYZNormal...)

This commit is contained in:
matlabbe
2018-02-16 19:20:54 -05:00
parent bfb3a58c01
commit d24097f73d
49 changed files with 2097 additions and 998 deletions

View File

@@ -302,10 +302,10 @@ void OdometryViewer::processData(const rtabmap::OdometryEvent & odom)
if(scanShown_->isChecked())
{
// scan local map
if(!odom.info().localScanMap.empty())
if(!odom.info().localScanMap.isEmpty())
{
pcl::PointCloud<pcl::PointNormal>::Ptr cloud;
cloud = util3d::laserScanToPointCloudNormal(odom.info().localScanMap);
cloud = util3d::laserScanToPointCloudNormal(odom.info().localScanMap, odom.info().localScanMap.localTransform());
if(!cloudView_->addCloud("scanMapOdom", cloud, Transform::getIdentity(), Qt::blue))
{
UERROR("Adding scanMapOdom to viewer failed!");
@@ -317,12 +317,12 @@ void OdometryViewer::processData(const rtabmap::OdometryEvent & odom)
}
}
// scan cloud
if(!odom.data().laserScanRaw().empty())
if(!odom.data().laserScanRaw().isEmpty())
{
cv::Mat scan = odom.data().laserScanRaw();
LaserScan scan = odom.data().laserScanRaw();
pcl::PointCloud<pcl::PointNormal>::Ptr cloud;
cloud = util3d::laserScanToPointCloudNormal(scan, odom.pose());
cloud = util3d::laserScanToPointCloudNormal(scan, odom.pose() * scan.localTransform());
if(!cloudView_->addCloud("scanOdom", cloud, Transform::getIdentity(), Qt::magenta))
{