23 # define TRACKBALL_HPP
28 #include "../lib3d/quaternion.hpp"
float & radius()
get the disc radius
Definition: trackball.cpp:86
const quaternion & quat() const
get the current quaternion
Definition: trackball.cpp:80
void apply_rotation()
multiply d_q to current_q
Definition: trackball.cpp:74
void no_motion()
Set d_q to 0.
Definition: trackball.cpp:76
float disc_radius
internal parameter of the disc radius
Definition: trackball.hpp:105
const quaternion & d_quat() const
get the quaternion to apply
Definition: trackball.cpp:83
Quaternion class.
Definition: quaternion.hpp:31
quaternion d_q
the quaternion to apply
Definition: trackball.hpp:102
A container class to deal with a trackball, use ArcBall paradigm.
Definition: trackball.hpp:34
quaternion current_q
the current quaternion
Definition: trackball.hpp:100
double project_to_disc(float x, float y) const
return the distance to disc for the 3D coordinate
Definition: trackball.cpp:35
void set_2d_coords(float x0, float y0, float x1, float y1)
given a set of 2d coords difference, return the corresponding quaternion
Definition: trackball.cpp:44
trackball()
Definition: trackball.cpp:28