cee::vis::CameraInputHandlerWalk Class Reference

Camera input handler implementing standard Ceetron style Walk navigation. More...

Public Member Functions

 CameraInputHandlerWalk ()
 Creates the Ceetron Zoom Navigation handler. More...
 
virtual void wheelEvent (const WheelEvent &theWheelEvent)
 Processes the mouse wheel event. More...
 
virtual void wheelEvent (const WheelEvent &theWheelEvent, const cee::Vec3d &pos)
 Processes the mouse wheel event. More...
 
void setMinimumTargetDistance (double minDistance)
 Specifies the minimum distance used in computing walk navigation. More...
 
- Public Member Functions inherited from cee::vis::CameraInputHandler
 CameraInputHandler ()
 Constructs a camera manipulation handler connected to the given camera. More...
 
virtual void mousePressEvent (MouseButton buttonPressed, const MouseEvent &mouseEvent)
 Processes the mouse press event. More...
 
virtual bool mouseMoveEvent (const MouseEvent &mouseEvent)
 Processes the mouse move event. Returns true if a redraw of the screen is needed. More...
 
virtual void mouseReleaseEvent (MouseButton buttonReleased, const MouseEvent &mouseEvent)
 Processes the mouse press event. More...
 
Vec3d rotationPoint () const
 Returns the current rotation point. More...
 
virtual void setRotationPoint (const Vec3d &rotationPoint)
 Sets the navigation rotation point to rotationPoint. More...
 
double rotationSensitivity () const
 Returns the current rotation sensitivity. More...
 
void setRotationSensitivity (double sensitivity)
 Sets the current rotation sensitivity. More...
 
double rollSensitivity () const
 Returns the current roll sensitivity. More...
 
void setRollSensitivity (double sensitivity)
 Sets the current roll sensitivity. More...
 
double walkSensitivity () const
 Returns the current walk sensitivity. More...
 
void setWalkSensitivity (double sensitivity)
 Sets the current walk sensitivity. More...
 
NavigationType activeNavigation () const
 Returns the active navigation type. More...
 
void startNavigation (NavigationType navigationType, int x, int y)
 Starts navigation with the given type and x,y position. More...
 
bool updateNavigation (int x, int y)
 Updates the current navigation based on the x,y coordinate. More...
 
void endNavigation ()
 Ends the current navigation. More...
 
virtual bool reverseZoom () const
 Returns true in derived classes to reverse the zoom direction. More...
 
- Public Member Functions inherited from cee::RefCountedObject
void addRef () const
 Increments the reference count for this object. More...
 
void release () const
 Decrements the reference count for this object. More...
 
int refCount () const
 Returns the reference count for this object. More...
 
void setRefCountZero () const
 Sets the ref count to zero, but DOES NOT delete the object. More...
 

Protected Member Functions

virtual NavigationType navigationTypeFromInputState (MouseButtons mouseButtons, KeyboardModifiers keyboardModifiers) const
 Implements of Ceetron style Walk Navigation. More...
 
virtual NavigationType wheelNavigationType () const
 Returns WALK. More...
 
- Protected Member Functions inherited from cee::vis::CameraInputHandler
Cameracamera ()
 Returns the host camera. More...
 
void setMinimumWalkTargetDistance (double distance)
 Sets the minimum distance for the walk calculation with respect to the rotation point. More...
 

Additional Inherited Members

- Public Types inherited from cee::vis::CameraInputHandler
enum  NavigationType {
  NONE, PAN, WALK, ZOOM,
  ROTATE, ROLL
}
 Navigation types. More...
 
Inheritance diagram for cee::vis::CameraInputHandlerWalk:
cee::vis::CameraInputHandler cee::RefCountedObject

Detailed Description

Camera input handler implementing standard Ceetron style Walk navigation.

  • Left button: Pan
  • Right button: Rotate
  • Middle button or Left+Right: Walk

Constructor & Destructor Documentation

cee::vis::CameraInputHandlerWalk::CameraInputHandlerWalk ( )

Creates the Ceetron Zoom Navigation handler.

Member Function Documentation

CameraInputHandler::NavigationType cee::vis::CameraInputHandlerWalk::navigationTypeFromInputState ( MouseButtons  mouseButtons,
KeyboardModifiers  keyboardModifiers 
) const
protectedvirtual

Implements of Ceetron style Walk Navigation.

Implements cee::vis::CameraInputHandler.

void cee::vis::CameraInputHandlerWalk::setMinimumTargetDistance ( double  minDistance)

Specifies the minimum distance used in computing walk navigation.

This value is used as a minimum distance to the rotation point to prevent a complete slowdown when getting close to the rotation point.

void cee::vis::CameraInputHandlerWalk::wheelEvent ( const WheelEvent theWheelEvent)
virtual

Processes the mouse wheel event.

This is typically called from the viewer (platform dependent class derived from cee::vis::Viewer) based on mouse input.

Reimplemented from cee::vis::CameraInputHandler.

void cee::vis::CameraInputHandlerWalk::wheelEvent ( const WheelEvent theWheelEvent,
const cee::Vec3d position 
)
virtual

Processes the mouse wheel event.

This is typically called from the viewer (platform dependent class derived from cee::vis::Viewer) based on mouse input.

This wheel event also takes a position position which is used for the 'zoom to cursor' feature. For normal zoom, use the ordinary wheelEvent() function.

Reimplemented from cee::vis::CameraInputHandler.

CameraInputHandler::NavigationType cee::vis::CameraInputHandlerWalk::wheelNavigationType ( ) const
protectedvirtual

Returns WALK.

Reimplemented from cee::vis::CameraInputHandler.