SparrowRenderer/scenecontroller.cpp

45 lines
836 B
C++

#include "scenecontroller.h"
#include "scene.h"
#include "camera.h"
void SceneController::setScene(Scene* myScene)
{
scene = myScene;
camera = scene->getCamera();
}
void SceneController::mouseMove(int dx, int dy)
{
switch(grabbed)
{
case 1:
camera->rotate(glm::vec2(dx*3.14f/180, dy*3.14f/180));
break;
case 2:
camera->translate(glm::vec3(dx*0.01f, dy*0.01f, 0));
camera->lookAt(glm::vec3(0, 0, 0));
break;
default:
break;
}
}
void SceneController::mouseEvent(int button, bool state)
{
switch (button) {
case Qt::LeftButton:
grabbed += state ? 1 : -1;
break;
case Qt::RightButton:
grabbed += state ? 2 : -2;
break;
default:
break;
}
}
void SceneController::keyEvent(int key, bool state)
{
}