GUI: custom aspect ratio, option to save auto screenshots in RAM, default views updated (reseting 3D map camera position and hiding the status bar)

This commit is contained in:
matlabbe
2015-09-04 13:46:37 -04:00
parent 3bd9dd6a53
commit f912023a30
7 changed files with 154 additions and 63 deletions

View File

@@ -889,6 +889,37 @@ void CloudViewer::clearTrajectory()
this->update();
}
void CloudViewer::resetCamera()
{
_lastCameraOrientation= _lastCameraPose = cv::Vec3f(0,0,0);
if((_aFollowCamera->isChecked() || _aLockCamera->isChecked()) && !_lastPose.isNull())
{
// reset relative to last current pose
if(_aLockViewZ->isChecked())
{
_visualizer->setCameraPosition(
_lastPose.x()-1, _lastPose.y(), _lastPose.z(),
_lastPose.x(), _lastPose.y(), _lastPose.z(),
0, 0, 1);
}
else
{
_visualizer->setCameraPosition(
_lastPose.x()-1, _lastPose.y(), _lastPose.z(),
_lastPose.x(), _lastPose.y(), _lastPose.z(),
_lastPose.r31(), _lastPose.r32(), _lastPose.r33());
}
}
else
{
_visualizer->setCameraPosition(
-1, 0, 0,
0, 0, 0,
0, 0, 1);
}
this->update();
}
void CloudViewer::removeAllClouds()
{
_addedClouds.clear();
@@ -1506,33 +1537,7 @@ void CloudViewer::handleAction(QAction * a)
}
else if(a == _aResetCamera)
{
_lastCameraOrientation= _lastCameraPose = cv::Vec3f(0,0,0);
if((_aFollowCamera->isChecked() || _aLockCamera->isChecked()) && !_lastPose.isNull())
{
// reset relative to last current pose
if(_aLockViewZ->isChecked())
{
_visualizer->setCameraPosition(
_lastPose.x()-1, _lastPose.y(), _lastPose.z(),
_lastPose.x(), _lastPose.y(), _lastPose.z(),
0, 0, 1);
}
else
{
_visualizer->setCameraPosition(
_lastPose.x()-1, _lastPose.y(), _lastPose.z(),
_lastPose.x(), _lastPose.y(), _lastPose.z(),
_lastPose.r31(), _lastPose.r32(), _lastPose.r33());
}
}
else
{
_visualizer->setCameraPosition(
-1, 0, 0,
0, 0, 0,
0, 0, 1);
}
this->update();
this->resetCamera();
}
else if(a == _aShowGrid)
{