Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management

Conflicts:
	include/openspace/scene/scenegraphnode.h
	src/engine/openspaceengine.cpp
	src/interaction/interactionhandler.cpp
	src/interaction/interactionmode.cpp
This commit is contained in:
Emil Axelsson
2017-07-18 10:54:41 +02:00
253 changed files with 9999 additions and 5219 deletions

View File

@@ -66,8 +66,8 @@
#include <openspace/openspace.h>
#include <openspace/engine/openspaceengine.h>
#include <openspace/engine/wrapper/windowwrapper.h>
#include <openspace/interaction/interactionhandler.h>
#include <openspace/interaction/interactionmode.h>
#include <openspace/interaction/navigationhandler.h>
#include <openspace/interaction/keyframenavigator.h>
#include <openspace/scene/scenegraphnode.h>
#include <openspace/scripting/script_helper.h>
#include <openspace/util/time.h>
@@ -580,14 +580,16 @@ void ParallelConnection::dataMessageReceived(const std::vector<char>& messageCon
datamessagestructures::CameraKeyframe kf(buffer);
kf._timestamp = calculateBufferedKeyframeTime(kf._timestamp);
OsEng.interactionHandler().removeKeyframesAfter(kf._timestamp);
interaction::KeyframeInteractionMode::CameraPose pose;
OsEng.navigationHandler().keyframeNavigator().removeKeyframesAfter(
kf._timestamp);
interaction::KeyframeNavigator::CameraPose pose;
pose.focusNode = kf._focusNode;
pose.position = kf._position;
pose.rotation = kf._rotation;
pose.followFocusNodeRotation = kf._followNodeRotation;
OsEng.interactionHandler().addKeyframe(kf._timestamp, pose);
OsEng.navigationHandler().keyframeNavigator().addKeyframe(
kf._timestamp, pose);
break;
}
case datamessagestructures::Type::TimeData: {
@@ -755,7 +757,7 @@ void ParallelConnection::connectionStatusMessageReceived(const std::vector<char>
setStatus(status);
OsEng.interactionHandler().clearKeyframes();
OsEng.navigationHandler().keyframeNavigator().clearKeyframes();
OsEng.timeManager().clearKeyframes();
}
@@ -1012,7 +1014,7 @@ void ParallelConnection::sendScript(std::string script) {
}
void ParallelConnection::resetTimeOffset() {
OsEng.interactionHandler().clearKeyframes();
OsEng.navigationHandler().keyframeNavigator().clearKeyframes();
OsEng.timeManager().clearKeyframes();
std::lock_guard<std::mutex> latencyLock(_latencyMutex);
_latencyDiffs.clear();
@@ -1082,21 +1084,21 @@ const std::string& ParallelConnection::hostName() {
}
void ParallelConnection::sendCameraKeyframe() {
SceneGraphNode* focusNode = OsEng.interactionHandler().focusNode();
SceneGraphNode* focusNode = OsEng.navigationHandler().focusNode();
if (!focusNode) {
return;
}
// Create a keyframe with current position and orientation of camera
datamessagestructures::CameraKeyframe kf;
kf._position = OsEng.interactionHandler().focusNodeToCameraVector();
kf._position = OsEng.navigationHandler().focusNodeToCameraVector();
kf._followNodeRotation = OsEng.interactionHandler().interactionMode()->followingNodeRotation();
kf._followNodeRotation = OsEng.navigationHandler().orbitalNavigator().followingNodeRotation();
if (kf._followNodeRotation) {
kf._position = glm::inverse(focusNode->worldRotationMatrix()) * kf._position;
kf._rotation = OsEng.interactionHandler().focusNodeToCameraRotation();
kf._rotation = OsEng.navigationHandler().focusNodeToCameraRotation();
} else {
kf._rotation = OsEng.interactionHandler().camera()->rotationQuaternion();
kf._rotation = OsEng.navigationHandler().camera()->rotationQuaternion();
}
kf._focusNode = focusNode->name();