mesh_conv::MC_trackball Class Reference

A container class to deal with a trackball. More...

Collaboration diagram for mesh_conv::MC_trackball:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MC_trackball ()
 ~MC_trackball ()
 classical destructor
const MC_quaternionquaternion () const
 get the current quaternion
MC_quaternionquaternion ()
 get the current quaternion
const MC_quaterniond_quaternion () const
 get the quaternion to apply
MC_quaterniond_quaternion ()
 get the quaternion to apply
double project_to_disc (const double &x, const double &y) const
 return the distance to disc for the 3D coordinate
MC_trackballset_2d_coords (const double &x0, const double &y0, const double &x1, const double &y1)
 given a set of 2d coords difference, return the corresponding quaternion
MC_trackballapply_rotation ()
 multiply d_q to current_q
MC_trackballno_motion ()
 Set d_q to 0.

Public Attributes

double disc_radius
 internal parameter of the disc radius

Private Attributes

MC_quaternion current_q
 the current quaternion
MC_quaternion d_q
 the quaternion to apply

Detailed Description

A container class to deal with a trackball.


Constructor & Destructor Documentation

mesh_conv::MC_trackball::MC_trackball (  ) 

initial constructor

References disc_radius.

mesh_conv::MC_trackball::~MC_trackball (  ) 

classical destructor


Member Function Documentation

MC_trackball & mesh_conv::MC_trackball::apply_rotation (  ) 

multiply d_q to current_q

References mesh_conv::MC_quaternion::conjugated(), current_q, and d_q.

Here is the call graph for this function:

MC_quaternion & mesh_conv::MC_trackball::d_quaternion (  ) 

get the quaternion to apply

References d_q.

const MC_quaternion & mesh_conv::MC_trackball::d_quaternion (  )  const

get the quaternion to apply

References d_q.

MC_trackball & mesh_conv::MC_trackball::no_motion (  ) 

Set d_q to 0.

References d_q.

double mesh_conv::MC_trackball::project_to_disc ( const double &  x,
const double &  y 
) const

return the distance to disc for the 3D coordinate

References disc_radius.

Referenced by set_2d_coords().

MC_quaternion & mesh_conv::MC_trackball::quaternion (  ) 

get the current quaternion

References current_q.

const MC_quaternion & mesh_conv::MC_trackball::quaternion (  )  const
MC_trackball & mesh_conv::MC_trackball::set_2d_coords ( const double &  x0,
const double &  y0,
const double &  x1,
const double &  y1 
)

given a set of 2d coords difference, return the corresponding quaternion

References mesh_conv::MC_v3d::cross(), d_q, disc_radius, mesh_conv::MC_v3d::norm(), and project_to_disc().

Here is the call graph for this function:


Member Data Documentation

the current quaternion

Referenced by apply_rotation(), and quaternion().

the quaternion to apply

Referenced by apply_rotation(), d_quaternion(), no_motion(), and set_2d_coords().

internal parameter of the disc radius

Referenced by MC_trackball(), project_to_disc(), and set_2d_coords().


The documentation for this class was generated from the following files:

Generated on Wed Nov 11 17:13:53 2009 by  doxygen 1.6.1