Direct Graphical Models  v.1.7.0
CameraControl.h
1 // Trackball camera control class
2 // Written by Sergey Kosov in 2016 for Project X
3 #pragma once
4 
5 #include "TrackballCamera.h"
6 #include "GLFW/glfw3.h"
7 
8 namespace DirectGraphicalModels { namespace vis
9 {
10  // ================================ Camera Control Class ===============================
17  {
18  public:
31  CCameraControl(GLFWwindow * window, float theta = 0.0f, float phi = -glm::pi<float>() / 2, float radius = 2.4f, float turnSpeed = 0.004f, float scrollSpeed = 0.33f, float panSpeed = 0.01f);
32  virtual ~CCameraControl(void) {}
33 
34 
35  private:
36  void mouseButtonCallback(int button, int action, int mods);
37  void cursorPosCallback(double x, double y);
38  void scrollCallback(double x, double y);
39 
40 
41  private:
43 
45  glm::vec2 m_mouseLastPos;
46 
47  float m_turnSpeed;
49  float m_panSpeed;
50  };
51 } }
void cursorPosCallback(double x, double y)
Trackball camera control class.
Definition: CameraControl.h:16
CCameraControl(GLFWwindow *window, float theta=0.0f, float phi=-glm::pi< float >()/2, float radius=2.4f, float turnSpeed=0.004f, float scrollSpeed=0.33f, float panSpeed=0.01f)
Constructor.
void mouseButtonCallback(int button, int action, int mods)