cee::vis::CameraInputHandlerZoom Class Reference

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

Public Member Functions

 CameraInputHandlerZoom (bool updateEyePositionOnSetRotationPoint=true)
 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...
 
virtual void setRotationPoint (const Vec3d &rotationPoint)
 Sets the rotation point. 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...
 
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 Ceetron style Zoom Navigation. More...
 
virtual NavigationType wheelNavigationType () const
 Returns ZOOM. 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::CameraInputHandlerZoom:
cee::vis::CameraInputHandler cee::RefCountedObject

Detailed Description

Camera input handler implementing standard Ceetron style Zoom navigation.

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

Constructor & Destructor Documentation

cee::vis::CameraInputHandlerZoom::CameraInputHandlerZoom ( bool  updateEyePositionOnSetRotationPoint = true)

Creates the Ceetron Zoom Navigation handler.

If updateEyePositionOnSetRotationPoint is set to true, the eye position will be updated to keep the distance from eye -> rotation point if we're doing zoom navigation to avoid distorted views.

Member Function Documentation

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

Implements Ceetron style Zoom Navigation.

Implements cee::vis::CameraInputHandler.

void cee::vis::CameraInputHandlerZoom::setRotationPoint ( const Vec3d rotationPoint)
virtual

Sets the rotation point.

If updateEyePositionOnSetRotationPoint was set to true in the constructor, the eye point will be updated to keep the distance from the rotation point.

Reimplemented from cee::vis::CameraInputHandler.

void cee::vis::CameraInputHandlerZoom::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::CameraInputHandlerZoom::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::CameraInputHandlerZoom::wheelNavigationType ( ) const
protectedvirtual

Returns ZOOM.

Reimplemented from cee::vis::CameraInputHandler.