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::UpdateMode

Enumerator:
UpdateNone 
UpdateRotation 
UpdatePan 
UpdateDistance 

enum Producer::Trackball::Orientation

Enumerator:
Y_UP 
Z_UP 

enum Producer::Trackball::TransformOrder

Enumerator:
RotateTranslate 
TranslateRotate 

enum Producer::Trackball::RotationalMode

Enumerator:
FixedAxis 
Spherical 

enum Producer::Trackball::ThrowMode

Enumerator:
ThrowNone 
ThrowRotation 
ThrowPan 
ThrowPanRotation 
ThrowDistance 
ThrowRotationDistance 
ThrowPanDistance 
ThrowRotationPanDistance 

enum Producer::Trackball::OperationalMode

Enumerator:
DefaultOperationalMode 
InventorLike 
PerformerLike 


Constructor & Destructor Documentation

Producer::Trackball::Trackball ( void   ) 

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


Member Function Documentation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void Producer::Trackball::setOperationalMode ( OperationalMode   ) 

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

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

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

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

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

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

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

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

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

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

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

void Producer::Trackball::setReference ( void   ) 

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

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

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

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

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

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

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

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

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

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

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

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

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

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 
)

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

void Producer::Trackball::update ( void   ) 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Member Data Documentation

Matrix Producer::Trackball::S [protected]

Matrix Producer::Trackball::O [protected]

Matrix Producer::Trackball::R [protected]

Matrix Producer::Trackball::Rr [protected]

Matrix Producer::Trackball::T [protected]

Matrix Producer::Trackball::Tr [protected]

Matrix Producer::Trackball::TX [protected]

float Producer::Trackball::_distance [protected]

float Producer::Trackball::_min_distance [protected]

bool Producer::Trackball::_min_distance_is_set [protected]

float Producer::Trackball::_lastx [protected]

float Producer::Trackball::_lasty [protected]

float Producer::Trackball::_dx [protected]

float Producer::Trackball::_dy [protected]

float Producer::Trackball::_distance_ref [protected]

Orientation Producer::Trackball::_orientation [protected]

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

bool Producer::Trackball::_auto_scale [protected]

bool Producer::Trackball::_minimum_scale_is_set [protected]

float Producer::Trackball::_minimum_scale [protected]

float Producer::Trackball::_scale [protected]

float Producer::Trackball::_rscale [protected]

float Producer::Trackball::_pan_fov [protected]

UpdateMode Producer::Trackball::_update_mode [protected]

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

ThrowMode Producer::Trackball::_throw_mode [protected]

float Producer::Trackball::_throwThreshold [protected]

TransformOrder Producer::Trackball::_transform_order [protected]

RotationalMode Producer::Trackball::_rotational_mode [protected]

OperationalMode Producer::Trackball::_operational_mode [protected]

bool Producer::Trackball::_distance_has_changed [protected]

bool Producer::Trackball::_rotation [protected]

bool Producer::Trackball::_panning [protected]

bool Producer::Trackball::_distancing [protected]

bool Producer::Trackball::_computeOrientation [protected]


The documentation for this class was generated from the following file:
Generated on Thu Sep 27 06:07:21 2007 for Producer by  doxygen 1.5.2