Producer::Trackball Class Reference

Inheritance diagram for Producer::Trackball:

Producer::Referenced List of all members.

Public Types

 UpdateNone
 UpdateRotation
 UpdatePan
 UpdateDistance
 Y_UP
 Z_UP
 RotateTranslate
 TranslateRotate
 FixedAxis
 Spherical
 ThrowNone
 ThrowRotation
 ThrowPan
 ThrowPanRotation
 ThrowDistance
 ThrowRotationDistance
 ThrowPanDistance
 ThrowRotationPanDistance
 DefaultOperationalMode
 InventorLike
 PerformerLike
enum  UpdateMode { UpdateNone, UpdateRotation, UpdatePan, UpdateDistance }
enum  Orientation { Y_UP, Z_UP }
enum  TransformOrder { RotateTranslate, TranslateRotate }
enum  RotationalMode { FixedAxis, Spherical }
enum  ThrowMode {
  ThrowNone, ThrowRotation, ThrowPan, ThrowPanRotation,
  ThrowDistance, ThrowRotationDistance, ThrowPanDistance, ThrowRotationPanDistance
}
enum  OperationalMode { DefaultOperationalMode, InventorLike, PerformerLike }

Public Member Functions

 Trackball (void)
void mapButtonState (unsigned int state, UpdateMode mode)
UpdateMode getMappedButtonState (unsigned int state) const
void setOrientation (Orientation mode)
Orientation getOrientation () const
void setComputeOrientation (bool flag)
bool getComputeOrientation ()
void setTransformOrder (TransformOrder mode)
TransformOrder getTransformOrder () const
void setRotationalMode (RotationalMode mode)
RotationalMode getRotationalMode () const
void setThrowMode (ThrowMode throw_mode)
ThrowMode getThrowMode () const
void addThrowMode (ThrowMode throw_mode)
void removeThrowMode (ThrowMode throw_mode)
void setThrowThreshold (float threshold)
void setOperationalMode (OperationalMode)
OperationalMode getOperationalMode () const
void setAutoScale (bool flag)
bool getAutoScale (void) const
void setScale (float scale)
float getScale (void) const
void setMinimumScale (float minScale)
float getMinimumScale (void)
void setRotScale (float scale)
float getRotScale (void) const
void setPanFOV (float panFov)
float getPanFOV (void) const
void setReference (void)
void setMinimumDistance (float dist)
void setDistance (float dist, bool do_update=true)
void resetDistance (bool do_update=true)
float getDistance () const
bool distanceHasChanged () const
void setTranslation (const Matrix tmat)
const MatrixgetTranslation () const
void setRotation (const Matrix rmat)
const MatrixgetRotation () const
void setScaleMatrix (const Matrix smat)
const MatrixgetScaleMatrix (void) const
void setMatrix (const Matrix mat)
void translate (float x, float y, float z, bool do_update=true)
void rotate (float rad, float x, float y, float z, bool do_update=true)
void scale (float sx, float sy, float sz, bool do_update=true)
virtual void input (float mx, float my, unsigned int mbutton, bool do_update=true)
void update (void)
void restart (float mx, float my)
void reset (bool do_update=true)
void enableRotation ()
void disableRotation ()
bool isRotationEnabled ()
void enablePanning ()
void disablePanning ()
bool isPanningEnabled ()
void enableDistancing ()
void disableDistancing ()
bool isDistancingEnabled ()
void enableAllTransforms ()
MatrixgetMatrix (void)
const MatrixgetMatrix (void) const

Protected Member Functions

 ~Trackball (void)
void updateScale ()

Protected Attributes

Matrix S
Matrix O
Matrix R
Matrix Rr
Matrix T
Matrix Tr
Matrix TX
float _distance
float _min_distance
bool _min_distance_is_set
float _lastx
float _lasty
float _dx
float _dy
float _distance_ref
Orientation _orientation
unsigned int _mbutton
bool _auto_scale
bool _minimum_scale_is_set
float _minimum_scale
float _scale
float _rscale
float _pan_fov
UpdateMode _update_mode
std::map< unsigned int, UpdateMode_buttonMap
ThrowMode _throw_mode
float _throwThreshold
TransformOrder _transform_order
RotationalMode _rotational_mode
OperationalMode _operational_mode
bool _distance_has_changed
bool _rotation
bool _panning
bool _distancing
bool _computeOrientation

Member Enumeration Documentation

enum Producer::Trackball::OperationalMode

Enumerator:
DefaultOperationalMode 
InventorLike 
PerformerLike 

enum Producer::Trackball::Orientation

Enumerator:
Y_UP 
Z_UP 

enum Producer::Trackball::RotationalMode

Enumerator:
FixedAxis 
Spherical 

enum Producer::Trackball::ThrowMode

Enumerator:
ThrowNone 
ThrowRotation 
ThrowPan 
ThrowPanRotation 
ThrowDistance 
ThrowRotationDistance 
ThrowPanDistance 
ThrowRotationPanDistance 

enum Producer::Trackball::TransformOrder

Enumerator:
RotateTranslate 
TranslateRotate 

enum Producer::Trackball::UpdateMode

Enumerator:
UpdateNone 
UpdateRotation 
UpdatePan 
UpdateDistance 


Constructor & Destructor Documentation

Producer::Trackball::Trackball ( void   ) 

Producer::Trackball::~Trackball ( void   )  [inline, protected]


Member Function Documentation

void Producer::Trackball::addThrowMode ( ThrowMode  throw_mode  )  [inline]

void Producer::Trackball::disableDistancing (  )  [inline]

void Producer::Trackball::disablePanning (  )  [inline]

void Producer::Trackball::disableRotation (  )  [inline]

bool Producer::Trackball::distanceHasChanged (  )  const [inline]

void Producer::Trackball::enableAllTransforms (  )  [inline]

void Producer::Trackball::enableDistancing (  )  [inline]

void Producer::Trackball::enablePanning (  )  [inline]

void Producer::Trackball::enableRotation (  )  [inline]

bool Producer::Trackball::getAutoScale ( void   )  const [inline]

bool Producer::Trackball::getComputeOrientation (  )  [inline]

float Producer::Trackball::getDistance (  )  const [inline]

UpdateMode Producer::Trackball::getMappedButtonState ( unsigned int  state  )  const [inline]

const Matrix& Producer::Trackball::getMatrix ( void   )  const

Matrix& Producer::Trackball::getMatrix ( void   ) 

float Producer::Trackball::getMinimumScale ( void   )  [inline]

OperationalMode Producer::Trackball::getOperationalMode (  )  const [inline]

Orientation Producer::Trackball::getOrientation (  )  const [inline]

float Producer::Trackball::getPanFOV ( void   )  const [inline]

const Matrix& Producer::Trackball::getRotation (  )  const [inline]

RotationalMode Producer::Trackball::getRotationalMode (  )  const [inline]

float Producer::Trackball::getRotScale ( void   )  const [inline]

float Producer::Trackball::getScale ( void   )  const [inline]

const Matrix& Producer::Trackball::getScaleMatrix ( void   )  const [inline]

ThrowMode Producer::Trackball::getThrowMode (  )  const [inline]

TransformOrder Producer::Trackball::getTransformOrder (  )  const [inline]

const Matrix& Producer::Trackball::getTranslation (  )  const [inline]

virtual void Producer::Trackball::input ( float  mx,
float  my,
unsigned int  mbutton,
bool  do_update = true 
) [virtual]

bool Producer::Trackball::isDistancingEnabled (  )  [inline]

bool Producer::Trackball::isPanningEnabled (  )  [inline]

bool Producer::Trackball::isRotationEnabled (  )  [inline]

void Producer::Trackball::mapButtonState ( unsigned int  state,
UpdateMode  mode 
) [inline]

void Producer::Trackball::removeThrowMode ( ThrowMode  throw_mode  )  [inline]

void Producer::Trackball::reset ( bool  do_update = true  ) 

void Producer::Trackball::resetDistance ( bool  do_update = true  ) 

void Producer::Trackball::restart ( float  mx,
float  my 
)

void Producer::Trackball::rotate ( float  rad,
float  x,
float  y,
float  z,
bool  do_update = true 
)

void Producer::Trackball::scale ( float  sx,
float  sy,
float  sz,
bool  do_update = true 
)

void Producer::Trackball::setAutoScale ( bool  flag  )  [inline]

void Producer::Trackball::setComputeOrientation ( bool  flag  )  [inline]

void Producer::Trackball::setDistance ( float  dist,
bool  do_update = true 
)

void Producer::Trackball::setMatrix ( const Matrix  mat  ) 

void Producer::Trackball::setMinimumDistance ( float  dist  ) 

void Producer::Trackball::setMinimumScale ( float  minScale  ) 

void Producer::Trackball::setOperationalMode ( OperationalMode   ) 

void Producer::Trackball::setOrientation ( Orientation  mode  ) 

void Producer::Trackball::setPanFOV ( float  panFov  )  [inline]

void Producer::Trackball::setReference ( void   ) 

void Producer::Trackball::setRotation ( const Matrix  rmat  )  [inline]

void Producer::Trackball::setRotationalMode ( RotationalMode  mode  )  [inline]

void Producer::Trackball::setRotScale ( float  scale  )  [inline]

void Producer::Trackball::setScale ( float  scale  ) 

void Producer::Trackball::setScaleMatrix ( const Matrix  smat  )  [inline]

void Producer::Trackball::setThrowMode ( ThrowMode  throw_mode  )  [inline]

void Producer::Trackball::setThrowThreshold ( float  threshold  )  [inline]

void Producer::Trackball::setTransformOrder ( TransformOrder  mode  )  [inline]

void Producer::Trackball::setTranslation ( const Matrix  tmat  )  [inline]

void Producer::Trackball::translate ( float  x,
float  y,
float  z,
bool  do_update = true 
)

void Producer::Trackball::update ( void   ) 

void Producer::Trackball::updateScale (  )  [protected]


Member Data Documentation

bool Producer::Trackball::_auto_scale [protected]

std::map<unsigned int, UpdateMode> Producer::Trackball::_buttonMap [protected]

bool Producer::Trackball::_computeOrientation [protected]

float Producer::Trackball::_distance [protected]

bool Producer::Trackball::_distance_has_changed [protected]

float Producer::Trackball::_distance_ref [protected]

bool Producer::Trackball::_distancing [protected]

float Producer::Trackball::_dx [protected]

float Producer::Trackball::_dy [protected]

float Producer::Trackball::_lastx [protected]

float Producer::Trackball::_lasty [protected]

unsigned int Producer::Trackball::_mbutton [protected]

float Producer::Trackball::_min_distance [protected]

bool Producer::Trackball::_min_distance_is_set [protected]

float Producer::Trackball::_minimum_scale [protected]

bool Producer::Trackball::_minimum_scale_is_set [protected]

OperationalMode Producer::Trackball::_operational_mode [protected]

Orientation Producer::Trackball::_orientation [protected]

float Producer::Trackball::_pan_fov [protected]

bool Producer::Trackball::_panning [protected]

bool Producer::Trackball::_rotation [protected]

RotationalMode Producer::Trackball::_rotational_mode [protected]

float Producer::Trackball::_rscale [protected]

float Producer::Trackball::_scale [protected]

ThrowMode Producer::Trackball::_throw_mode [protected]

float Producer::Trackball::_throwThreshold [protected]

TransformOrder Producer::Trackball::_transform_order [protected]

UpdateMode Producer::Trackball::_update_mode [protected]

Matrix Producer::Trackball::O [protected]

Matrix Producer::Trackball::R [protected]

Matrix Producer::Trackball::Rr [protected]

Matrix Producer::Trackball::S [protected]

Matrix Producer::Trackball::T [protected]

Matrix Producer::Trackball::Tr [protected]

Matrix Producer::Trackball::TX [protected]


The documentation for this class was generated from the following file:
Generated on Thu Oct 5 01:45:25 2006 for Producer by  doxygen 1.4.7