util3d: Refactored laserScanFromPointCloud() functions to return LaserScan with correct format instead of cv::Mat.

This commit is contained in:
matlabbe
2021-02-07 17:27:55 -05:00
parent c42a4e3d7e
commit 481a140f84
14 changed files with 464 additions and 182 deletions

View File

@@ -3384,7 +3384,7 @@ void DatabaseViewer::updateOptimizedMesh()
this->viewOptimizedMesh();
}
else if(clouds.size())
{
{
dbDriver_->saveOptimizedPoses(optimizedPoses, lastlocalizationPose);
dbDriver_->saveOptimizedMesh(util3d::laserScanFromPointCloud(*clouds.at(0)).data());
QMessageBox::information(this, tr("Update Optimized PointCloud"), tr("Updated!"));
@@ -3597,7 +3597,7 @@ void DatabaseViewer::regenerateLocalMaps()
{
const Transform & t = s.sensorData().stereoCameraModel().localTransform();
viewpoint = cv::Point3f(t.x(), t.y(), t.z());
}
}
grid.createLocalMap(util3d::laserScanFromPointCloud(*cloud), s.getPose(), ground, obstacles, empty, viewpoint);
}
@@ -3720,7 +3720,7 @@ void DatabaseViewer::regenerateCurrentLocalMaps()
{
const Transform & t = s.sensorData().stereoCameraModel().localTransform();
viewpoint = cv::Point3f(t.x(), t.y(), t.z());
}
}
grid.createLocalMap(util3d::laserScanFromPointCloud(*cloud), s.getPose(), ground, obstacles, empty, viewpoint);
}
@@ -7246,7 +7246,7 @@ void DatabaseViewer::refineConstraint(int from, int to, bool silent)
UWARN("Laser scan not found for signature %d", iter->first);
}
}
}
}
LaserScan assembledScan;
if(assembledToNormalClouds->size())
@@ -7283,7 +7283,7 @@ void DatabaseViewer::refineConstraint(int from, int to, bool silent)
// scans are in base frame but for 2d scans, set the height so that correspondences matching works
assembledData.setLaserScan(LaserScan(
assembledScan,
fromScan.maxPoints()?fromScan.maxPoints():maxPoints,
fromScan.maxPoints()?fromScan.maxPoints():maxPoints,
fromScan.rangeMax(),
assembledScan.format(),
fromScan.is2d()?Transform(0,0,fromScan.localTransform().z(),0,0,0):Transform::getIdentity()));