18 #if defined( _MSC_VER )
19 # pragma warning( push )
20 # pragma warning( disable : 4127 )
21 #elif defined( __clang__ )
23 #elif defined( __GNUC__ )
24 # if ( 10 <= __GNUC__ ) && ( 201703L < __cplusplus )
25 # pragma GCC diagnostic push
26 # pragma GCC diagnostic ignored "-Wvolatile"
30 #include <glm/glm.hpp>
32 #if defined( _MSC_VER )
33 # pragma warning( pop )
34 #elif defined( __clang__ )
36 #elif defined( __GNUC__ )
37 # if ( 10 <= __GNUC__ ) && ( 201703L < __cplusplus )
38 # pragma GCC diagnostic pop
94 void setLookat(
const glm::vec3 & cameraPosition,
const glm::vec3 & centerPosition,
const glm::vec3 & upVector );
100 void wheel(
int value );
103 void dolly( glm::vec2
const & delta );
105 void orbit( glm::vec2
const & delta,
bool invert =
false );
106 void pan( glm::vec2
const & delta );
107 double projectOntoTBSphere(
const glm::vec2 & p );
108 void trackball( glm::ivec2
const & position );
112 glm::vec3 m_cameraPosition = glm::vec3( 10, 10, 10 );
113 glm::vec3 m_centerPosition = glm::vec3( 0, 0, 0 );
114 glm::vec3 m_upVector = glm::vec3( 0, 1, 0 );
116 glm::mat4 m_matrix = glm::mat4( 1 );
118 glm::u32vec2 m_windowSize = glm::u32vec2( 1, 1 );
120 float m_speed = 30.0f;
121 glm::ivec2 m_mousePosition = glm::ivec2( 0, 0 );
Action mouseMove(glm::ivec2 const &position, MouseButton mouseButton, ModifierFlags &modifiers)
void setMousePosition(glm::ivec2 const &position)
glm::mat4 const & getMatrix() const
glm::vec3 const & getCameraPosition() const
void setLookat(const glm::vec3 &cameraPosition, const glm::vec3 ¢erPosition, const glm::vec3 &upVector)
glm::vec3 const & getUpVector() const
void setWindowSize(glm::ivec2 const &size)
glm::u32vec2 const & getWindowSize() const
void setSpeed(float speed)
glm::ivec2 const & getMousePosition() const
glm::vec3 const & getCenterPosition() const