46 lines
857 B
C++
46 lines
857 B
C++
#include "scenecontroller.h"
|
|
#include "scene.h"
|
|
#include "camera.h"
|
|
#include <QObject>
|
|
|
|
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)
|
|
{
|
|
|
|
}
|