OpenWalnut  1.5.0dev
Public Member Functions | Private Member Functions | Private Attributes | List of all members
WGEZoomTrackballManipulator Class Reference

New OSG manipulator: TrackballManipulator with added mouse wheel zoom. More...

#include <WGEZoomTrackballManipulator.h>

+ Inheritance diagram for WGEZoomTrackballManipulator:
+ Collaboration diagram for WGEZoomTrackballManipulator:

Public Member Functions

 WGEZoomTrackballManipulator ()
 Default constructor. More...
 
virtual void setByMatrix (const osg::Matrixd &matrix)
 Set the position of the manipulator using a 4x4 matrix. More...
 
virtual osg::Matrixd getMatrix () const
 Get the position of the manipulator as 4x4 matrix. More...
 
virtual osg::Matrixd getMatrixWithoutZoom () const
 Get the manipulator only containing rotation and translation. More...
 
virtual osg::Matrixd getInverseMatrix () const
 Get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix. More...
 
virtual void home (double currentTime)
 Move the camera to the default position. More...
 
virtual bool handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 Handle events, return true if handled, false otherwise. More...
 
double getZoom () const
 Get zoom factor. More...
 
void setZoom (double zoom)
 Set zoom factor. More...
 
void setPaintMode (int mode)
 setter for paint mode when set to something different from 0, a left drag should move the scene More...
 
void setThrow (bool allowThrow=true)
 En-/Disables throwing. More...
 
bool getThrow () const
 Checks whether throwing is active. More...
 
virtual void computeHomePosition (const osg::Camera *camera, bool useBoundingBox)
 Computes the home position. More...
 
void fitToScreen (const osg::Camera *camera)
 Zooms and centers to fit screen. More...
 

Private Member Functions

bool zoom (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
 Handles events related to zooming. More...
 
virtual bool performMovementMiddleMouseButton (const double eventTimeDelta, const double dx, const double dy)
 Performs the middle mouse button click. More...
 

Private Attributes

double m_zoom
 Zoom factor. More...
 
bool m_allowThrow
 Do we want the auto-rotation thingy? More...
 
int m_paintMode
 paint mode More...
 
double m_radius
 The radius of the bounding sphere. More...
 

Detailed Description

New OSG manipulator: TrackballManipulator with added mouse wheel zoom.

Definition at line 36 of file WGEZoomTrackballManipulator.h.

Constructor & Destructor Documentation

◆ WGEZoomTrackballManipulator()

WGEZoomTrackballManipulator::WGEZoomTrackballManipulator ( )

Default constructor.

Definition at line 28 of file WGEZoomTrackballManipulator.cpp.

Member Function Documentation

◆ computeHomePosition()

void WGEZoomTrackballManipulator::computeHomePosition ( const osg::Camera *  camera,
bool  useBoundingBox 
)
virtual

Computes the home position.

Parameters
cameraThe camera from which to compute.
useBoundingBoxif boundingboxes should be used.

Definition at line 179 of file WGEZoomTrackballManipulator.cpp.

References WGEZoomTrackballNodeVisitor::getBoundingBox(), and m_radius.

Referenced by fitToScreen().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fitToScreen()

void WGEZoomTrackballManipulator::fitToScreen ( const osg::Camera *  camera)

Zooms and centers to fit screen.

Parameters
cameraThe camera to zoom.

Definition at line 215 of file WGEZoomTrackballManipulator.cpp.

References computeHomePosition(), m_radius, and m_zoom.

+ Here is the call graph for this function:

◆ getInverseMatrix()

osg::Matrixd WGEZoomTrackballManipulator::getInverseMatrix ( ) const
virtual

Get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix.

Returns
the inverse matrix

Definition at line 55 of file WGEZoomTrackballManipulator.cpp.

References m_zoom.

◆ getMatrix()

osg::Matrixd WGEZoomTrackballManipulator::getMatrix ( ) const
virtual

Get the position of the manipulator as 4x4 matrix.

Returns
the matrix representing the transformation

Definition at line 45 of file WGEZoomTrackballManipulator.cpp.

References m_zoom.

◆ getMatrixWithoutZoom()

osg::Matrixd WGEZoomTrackballManipulator::getMatrixWithoutZoom ( ) const
virtual

Get the manipulator only containing rotation and translation.

Returns
the matrix with translation and rotation.

Definition at line 50 of file WGEZoomTrackballManipulator.cpp.

◆ getThrow()

bool WGEZoomTrackballManipulator::getThrow ( ) const

Checks whether throwing is active.

Returns
true if active

Definition at line 174 of file WGEZoomTrackballManipulator.cpp.

References m_allowThrow.

◆ getZoom()

double WGEZoomTrackballManipulator::getZoom ( ) const
inline

Get zoom factor.

Returns
the current zoom factor

Definition at line 165 of file WGEZoomTrackballManipulator.h.

References m_zoom.

◆ handle()

bool WGEZoomTrackballManipulator::handle ( const osgGA::GUIEventAdapter &  ea,
osgGA::GUIActionAdapter &  us 
)
virtual

Handle events, return true if handled, false otherwise.

Parameters
eaEvent class for storing Keyboard, mouse and window events.
usInterface by which GUIEventHandlers may request actions of the GUI system
Returns
true if event was handled

Definition at line 124 of file WGEZoomTrackballManipulator.cpp.

References WGraphicsEngine::getGraphicsEngine(), home(), m_allowThrow, m_paintMode, and zoom().

+ Here is the call graph for this function:

◆ home()

void WGEZoomTrackballManipulator::home ( double  currentTime)
virtual

Move the camera to the default position.

May be ignored by manipulators if home functionality is not appropriate.

Parameters
currentTimeVariable specified in osg class but not used.

Definition at line 60 of file WGEZoomTrackballManipulator.cpp.

References m_zoom.

Referenced by handle().

+ Here is the caller graph for this function:

◆ performMovementMiddleMouseButton()

bool WGEZoomTrackballManipulator::performMovementMiddleMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
)
privatevirtual

Performs the middle mouse button click.

Parameters
eventTimeDeltaThe delta time of the event
dxThe delta x of the mouse.
dyThe delta y of the mouse.
Returns
true It was performed.
false It was not performed.

Definition at line 255 of file WGEZoomTrackballManipulator.cpp.

References m_zoom.

◆ setByMatrix()

void WGEZoomTrackballManipulator::setByMatrix ( const osg::Matrixd &  matrix)
virtual

Set the position of the manipulator using a 4x4 matrix.

Parameters
matrixposition of the manipulator

Definition at line 37 of file WGEZoomTrackballManipulator.cpp.

References m_zoom.

◆ setPaintMode()

void WGEZoomTrackballManipulator::setPaintMode ( int  mode)

setter for paint mode when set to something different from 0, a left drag should move the scene

Parameters
modethe mode

Definition at line 164 of file WGEZoomTrackballManipulator.cpp.

References m_paintMode.

◆ setThrow()

void WGEZoomTrackballManipulator::setThrow ( bool  allowThrow = true)

En-/Disables throwing.

Parameters
allowThrowif true, throwing is enabled.

Definition at line 169 of file WGEZoomTrackballManipulator.cpp.

References m_allowThrow.

Referenced by WGEViewer::updateThrowing().

+ Here is the caller graph for this function:

◆ setZoom()

void WGEZoomTrackballManipulator::setZoom ( double  zoom)
inline

Set zoom factor.

Parameters
zoomthe zoom factor to be set.

Definition at line 170 of file WGEZoomTrackballManipulator.h.

References m_zoom, and zoom().

+ Here is the call graph for this function:

◆ zoom()

bool WGEZoomTrackballManipulator::zoom ( const osgGA::GUIEventAdapter &  ea,
osgGA::GUIActionAdapter &  us 
)
private

Handles events related to zooming.

Parameters
eaEvent class for storing Keyboard, mouse and window events.
usInterface by which GUIEventHandlers may request actions of the GUI system
Returns
true if event was handled

Definition at line 66 of file WGEZoomTrackballManipulator.cpp.

References m_zoom.

Referenced by handle(), and setZoom().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_allowThrow

bool WGEZoomTrackballManipulator::m_allowThrow
private

Do we want the auto-rotation thingy?

Definition at line 158 of file WGEZoomTrackballManipulator.h.

Referenced by getThrow(), handle(), and setThrow().

◆ m_paintMode

int WGEZoomTrackballManipulator::m_paintMode
private

paint mode

Definition at line 160 of file WGEZoomTrackballManipulator.h.

Referenced by handle(), and setPaintMode().

◆ m_radius

double WGEZoomTrackballManipulator::m_radius
private

The radius of the bounding sphere.

Definition at line 162 of file WGEZoomTrackballManipulator.h.

Referenced by computeHomePosition(), and fitToScreen().

◆ m_zoom

double WGEZoomTrackballManipulator::m_zoom
private

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