Producer::Trackball Class Reference

Inheritance diagram for Producer::Trackball:

Producer::Referenced List of all members.

Public Types

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 Wed Nov 29 06:19:31 2006 for Producer by  doxygen 1.4.6