Introduce engine modes to handle Camera path and session recording transitions

* Clarifies which system is control over time and camera at what time
* Fixes #1845
* Prevent invalid switching between session recoring and camera path playback
* Some cleanup, mosly of SessionRecording and NavigationHandler. Also, remove ExternInteraction and some other unused/nonexisting functions
This commit is contained in:
Emma Broman
2022-01-26 11:00:54 +01:00
parent 6bc7d36920
commit 91b0581d39
22 changed files with 355 additions and 378 deletions
+6
View File
@@ -24,6 +24,7 @@
#include <openspace/camera/camera.h>
#include <openspace/camera/camerapose.h>
#include <sstream>
namespace openspace {
@@ -43,6 +44,11 @@ Camera::Camera(const Camera& o)
, _cachedLookupVector(o._cachedLookupVector)
{}
void Camera::setPose(CameraPose pose) {
setPositionVec3(std::move(pose.position));
setRotation(std::move(pose.rotation));
}
void Camera::setPositionVec3(glm::dvec3 pos) {
if (!glm::any(glm::isnan(pos))) {
std::lock_guard _lock(_mutex);