Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

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 (float minScale)
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 Matrix & getTranslation () const
void setRotation (const Matrix rmat)
const Matrix & getRotation () const
void setScaleMatrix (const Matrix smat)
const Matrix & getScaleMatrix (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 ()
Matrix & getMatrix (void)
const Matrix & getMatrix (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
 

Enumeration values:
DefaultOperationalMode 
InventorLike 
PerformerLike 

enum Producer::Trackball::Orientation
 

Enumeration values:
Y_UP 
Z_UP 

enum Producer::Trackball::RotationalMode
 

Enumeration values:
FixedAxis 
Spherical 

enum Producer::Trackball::ThrowMode
 

Enumeration values:
ThrowNone 
ThrowRotation 
ThrowPan 
ThrowPanRotation 
ThrowDistance 
ThrowRotationDistance 
ThrowPanDistance 
ThrowRotationPanDistance 

enum Producer::Trackball::TransformOrder
 

Enumeration values:
RotateTranslate 
TranslateRotate 

enum Producer::Trackball::UpdateMode
 

Enumeration values:
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 (  float  minScale  )  [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 Fri May 13 15:16:09 2005 for producer by  doxygen 1.4.2