0.14.3: exposed all gui widgets to public API. CloudViewer: fixed camera orientation reset

This commit is contained in:
matlabbe
2017-10-20 12:09:34 +02:00
parent b3149a2b55
commit e40a7d6681
47 changed files with 863 additions and 943 deletions

View File

@@ -1638,17 +1638,18 @@ void CloudViewer::resetCamera()
if((_aFollowCamera->isChecked() || _aLockCamera->isChecked()) && !_lastPose.isNull())
{
// reset relative to last current pose
cv::Point3f pt = util3d::transformPoint(cv::Point3f(_lastPose.x(), _lastPose.y(), _lastPose.z()), _lastPose.rotation()*Transform(-1, 0, 0));
if(_aLockViewZ->isChecked())
{
_visualizer->setCameraPosition(
_lastPose.x()-1, _lastPose.y(), _lastPose.z(),
pt.x, pt.y, pt.z,
_lastPose.x(), _lastPose.y(), _lastPose.z(),
0, 0, 1);
}
else
{
_visualizer->setCameraPosition(
_lastPose.x()-1, _lastPose.y(), _lastPose.z(),
pt.x, pt.y, pt.z,
_lastPose.x(), _lastPose.y(), _lastPose.z(),
_lastPose.r31(), _lastPose.r32(), _lastPose.r33());
}