IS3D::InspectMouseNav Class Reference

#include <InspectMouseNav.H>

Inherits IS3D::AnimObj.

List of all members.

Public Member Functions

 InspectMouseNav ()
virtual ~InspectMouseNav ()
void startRotate (EventRef e)
void rotateMove (EventRef e)
void spinDecision (EventRef e)
void spinningEnter (EventRef e)
void spinOff (EventRef e)
void panDollyMouseDown (EventRef e)
void checkMovementForPanOrDolly (EventRef e)
void panMove (EventRef e)
void dollyMove (EventRef e)
void plusX (EventRef e)
void minusX (EventRef e)
void plusY (EventRef e)
void minusY (EventRef e)
void plusZ (EventRef e)
void minusZ (EventRef e)
void scaleUp (EventRef e)
void scaleDown (EventRef e)
void animate ()

Protected Attributes

FsaRef _fsa
Sphere _boundingSphere
Vector3 _lastIntersectionPt
double _lastRotTime
double _rotAngularVel
Vector3 _rotAxis
Vector2 _initialClickPos
Vector2 _lastPos
Vector3 _hitPoint
double _amt

Detailed Description

Interaction that sets up scene navigation using a mouse with 2 buttons. The left button does a trackball rotate about the Origin of RoomSpace. If you have a high enough angular velocity when you release the left button, you will "throw" the scene and it will keep spinning. The right button does panning and zooming. If your initial movement is horizontal then the right button pans the scene, if the initial movement is vertical then it goes into dolly mode. If the initial click with the right button is on some piece of geometry in the scene then panning will occur in the Z=location of geometry plane. Otherwise, it occurs in the Z=0 plane. For dollying, the factor that controls how fast to dolly is adjusted so that the geometry clicked on will dolly right up to the filmplane when the mouse is brought all the way to the bottom of the screen.

Constructor & Destructor Documentation

IS3D::InspectMouseNav::InspectMouseNav (  ) 

virtual IS3D::InspectMouseNav::~InspectMouseNav (  )  [virtual]

Member Function Documentation

void IS3D::InspectMouseNav::startRotate ( EventRef  e  ) 

void IS3D::InspectMouseNav::rotateMove ( EventRef  e  ) 

void IS3D::InspectMouseNav::spinDecision ( EventRef  e  ) 

void IS3D::InspectMouseNav::spinningEnter ( EventRef  e  ) 

void IS3D::InspectMouseNav::spinOff ( EventRef  e  ) 

void IS3D::InspectMouseNav::panDollyMouseDown ( EventRef  e  ) 

void IS3D::InspectMouseNav::checkMovementForPanOrDolly ( EventRef  e  ) 

void IS3D::InspectMouseNav::panMove ( EventRef  e  ) 

void IS3D::InspectMouseNav::dollyMove ( EventRef  e  ) 

void IS3D::InspectMouseNav::plusX ( EventRef  e  ) 

void IS3D::InspectMouseNav::minusX ( EventRef  e  ) 

void IS3D::InspectMouseNav::plusY ( EventRef  e  ) 

void IS3D::InspectMouseNav::minusY ( EventRef  e  ) 

void IS3D::InspectMouseNav::plusZ ( EventRef  e  ) 

void IS3D::InspectMouseNav::minusZ ( EventRef  e  ) 

void IS3D::InspectMouseNav::scaleUp ( EventRef  e  ) 

void IS3D::InspectMouseNav::scaleDown ( EventRef  e  ) 

void IS3D::InspectMouseNav::animate (  )  [virtual]

Implements IS3D::AnimObj.

Member Data Documentation

Vector3 IS3D::InspectMouseNav::_rotAxis [protected]

Vector2 IS3D::InspectMouseNav::_lastPos [protected]

Vector3 IS3D::InspectMouseNav::_hitPoint [protected]

double IS3D::InspectMouseNav::_amt [protected]

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

Generated on Wed Jan 26 06:31:20 2011 for IS3D by  doxygen 1.5.6