MeVisLab Toolbox Reference
|
SoMouseGrabber is a general facility to grab mouse events and to map mouse movement to x/y values. More...
#include <SoMouseGrabber.h>
Public Member Functions | |
SoMouseGrabber () | |
Constructor. | |
void | onChanged (SoField *field) |
Called when field on changed. | |
void | handleEvent (SoHandleEventAction *action) override |
handle event is reimplemented to handle the mouse events (The events are not consumed, so that following modules in the scene graph can handle them.) | |
void | GLRender (SoGLRenderAction *) override |
GLRender dummy implementation. | |
bool | affectsState () const override |
this node does not affect the state, so return false! | |
Public Member Functions inherited from SoInteractionNode | |
SoInteractionNode () | |
Constructor. | |
~SoInteractionNode () override | |
void | handleEvent (SoHandleEventAction *action) override |
Handles the mouse and keyboard events. | |
Public Member Functions inherited from SoInteractionProviderNode | |
SoInteractionProviderNode () | |
Default constructor. | |
~SoInteractionProviderNode () override | |
Destructor. | |
std::string | getID () const override |
Returns the id string for identifying the provider (and its actions) - this is usually the name of the scene node. | |
void | objRef () override |
Memory management by reference counting; must be implemented in derived classes. | |
void | objUnref () override |
Public Member Functions inherited from SoInteractionOwner | |
SoInteractionOwner () | |
Default constructor. | |
~SoInteractionOwner () override | |
The destructor will destroy all interactions created with this object as owner. | |
std::list< SoInteraction * > | getInteractions (SoState *state) override |
Returns the list of all interactions of this provider. | |
void | pointerPosition (SoState *state, const SoPointerPosition &pos) override |
Same as below, with additional SoState argument. Be defaults simply calls the below version. | |
void | pointerLeftWindow (SoState *state) override |
Same as below, with additional SoState argument. Be defaults simply calls the below version. | |
void | addListener (SoInteractionOwnerListenerInterface *listener) |
Add a listener object that is notified of changes in the interaction list. | |
void | removeListener (SoInteractionOwnerListenerInterface *listener) |
Remove a listener object that was notified of changes in the interaction list. | |
Public Member Functions inherited from SoInteractionProvider | |
SoInteractionProvider () | |
Default constructor. | |
virtual | ~SoInteractionProvider () |
template<class T > | |
std::list< T * > | getInteractionsOfType (SoState *state) |
Returns list of interactions of a specific type: | |
virtual std::list< SoCommandAction * > | getCommandActions (SoState *state) |
virtual std::list< SoPointingAction * > | getPointingActions (SoState *state) |
virtual std::list< SoOffsetAction * > | getOffsetActions (SoState *state) |
Public Member Functions inherited from SoInteractionHandler | |
SoInteractionHandler (SoInteractionProvider *provider) | |
virtual | ~SoInteractionHandler () |
virtual void | handleEventForInteraction (SoHandleEventAction *action) |
Handles the mouse and keyboard events and send them to interaction nodes. | |
Static Public Member Functions | |
static void | initClass () |
inventor type system | |
Static Public Member Functions inherited from SoInteractionNode | |
static void | initClass () |
Initializes this class. | |
static SoInteractionProvider * | getInteractionProvider (SoNode *node) |
Static Public Member Functions inherited from SoInteractionProviderNode | |
static void | initClass () |
Initializes this class. | |
Static Public Member Functions inherited from SoInteractionProvider | |
static void | registerInteractionProviderNode (SoType type, GetProviderFunc func) |
Register a function to obtain a SoInteractionProvider from a SoNode. | |
static SoInteractionProvider * | getInteractionProvider (SoNode *node) |
Get a SoInteractionProvider from a SoNode if registered, else NULL. | |
Public Attributes | |
SoSFBool | on |
Fields. | |
SoSFBool | useManagedInteraction |
If this is on, use managed interaction actions to modify x/y values. | |
SoSFBool | normalized |
if true x and y are set to [xmin,xmax] relative to the viewport | |
SoSFBool | clamp |
clamps the output to [min,max] in noramlized mode | |
SoSFFloat | x |
x value that is changed by mouse movements | |
SoSFFloat | y |
y value that is changed by mouse movements | |
SoSFFloat | absX |
SoSFFloat | absY |
SoSFBool | cursorPresent |
this is set to true if the cursor is inside the viewing area | |
SoSFFloat | xmin |
min value for the x field | |
SoSFFloat | xmax |
max value for the x field | |
SoSFFloat | ymin |
min value for the y field | |
SoSFFloat | ymax |
max value for the y field | |
SoSFBool | flipX |
flip the mouse movement to x mapping | |
SoSFBool | flipY |
flip the mouse movement to y mapping | |
SoSFBool | swapXY |
flip the mouse movement to xy mapping (mouse x -> field y, mouse y -> field x) | |
SoSFFloat | sensitivity |
set the sensitivity of the mouse movement to x/y mapping, a value of 1 means that 400 pixel mouse movement interpolate between min and max value | |
SoSFEnum | button1 |
button mask for button1 | |
SoSFEnum | button2 |
button mask for button2 | |
SoSFEnum | button3 |
button mask for button3 | |
SoSFEnum | shift |
mask for shift key | |
SoSFEnum | ctrl |
mask for shift ctrl | |
SoSFEnum | alt |
mask for shift alt, the alt key will not work in SoFullViewer derived classes because those viewers handle the alt key themselves | |
SoSFEnum | cursorShape |
shape of mouse cursor when this grabber is active | |
SoSFBool | shiftPressed |
Output Fields that are changed when the state changes. | |
SoSFBool | ctrlPressed |
SoSFBool | altPressed |
SoSFBool | button1Pressed |
SoSFBool | button2Pressed |
SoSFBool | button3Pressed |
SoSFTrigger | button1DoubleClicked |
SoSFTrigger | button2DoubleClicked |
SoSFTrigger | button3DoubleClicked |
SoSFTrigger | released |
emitted when the mask was valid and switches to invalid again | |
SoSFBool | maskValid |
gives the state of the mask, which calculated by the current mousebuttons and modifier key compared to the button1,button2,button3,ctrl,shift,alt settings. | |
SoSFBool | setEventHandled |
Set events that depend on the button mask handled if they are indeed handled by this extension. | |
SoSFBool | setWheelEventHandled |
Set wheel events handled. | |
SoSFFloat | wheel |
SoSFFloat | wheelMin |
min value for wheel | |
SoSFFloat | wheelMax |
max value for wheel | |
SoSFFloat | wheelStep |
step value that is added/subtracted onto wheel on wheel events | |
SoSFTrigger | wheelUp |
tells when the wheel was turned up | |
SoSFTrigger | wheelDown |
tells when the wheel was turned down | |
SoSFBool | wheelOverflow |
if it to true, the wheel value is wrapped around when reaching min/max values | |
Public Attributes inherited from SoInteractionProviderNode | |
SoSFString | instanceName |
Defines interface field to store the instance name. | |
SoSFString | interactionProviderID |
This field overrides the instanceName as providerID if specified. | |
Protected Member Functions | |
~SoMouseGrabber () override | |
Protected Member Functions inherited from SoInteractionOwner | |
virtual void | pointerPosition (const SoPointerPosition &) |
Override this if you always need to be informed of the current mouse cursor position. | |
virtual void | pointerLeftWindow () |
This is called when the mouse cursor leaves the window. | |
bool | hasInteractions () const |
Returns whether there are any actions defined by this owner. | |
template<class T > | |
bool | hasInteractionsOfType () const |
Same as above, but asking for a specific type of interaction. | |
void | addPointingAction (SoPointingAction *) |
void | addCommandAction (SoCommandAction *) |
void | addOffsetAction (SoOffsetAction *) |
Protected Member Functions inherited from SoInteractionHandler | |
bool | handleKeyPress (SoState *state, const SoPointerPosition &location, int modifiers, SoKeyboardEvent::Key nKey) |
Handles key press by checking for commands actions with matching key shortcuts and executing (one of) them. | |
virtual bool | augmentLocation (SoPointerPosition &, bool) |
This method can be overridden to provide further position information to SoPointingActions - e.g. | |
void | buttonMaskChanged (SoState *state, const SoPointerPosition &location, int buttonMask) |
Called if the button mask changed since the last input event. | |
void | modifierMaskChanged (SoState *state, const SoPointerPosition &location, int modifierMask) |
Called if the modifier mask changed since the last input event. | |
void | locationChanged (SoState *state, const SoPointerPosition &location, bool force=false, bool renderRefresh=false) |
Called if the pointer location changed since the last input event. | |
bool | wheelRotated (SoState *state, const SoPointerPosition &location, int modifierMask, SoMouseWheelEvent::Orientation orientation, short rotation) |
Called when the mouse wheel is rotated. | |
void | handlePointerLeftWindow (SoState *state) |
Called if the pointer left the scene widget. | |
SoInteractionCoordinator * | getCoordinator () |
Access method, returns the interaction coordinator during event handling. | |
SoPointingAction * | getLocalCurrentPointingAction () |
virtual bool | isEnabled (SoPointingAction *action, int currentMask) |
This method returns true if the pointing action should be enabled for the given modifier/button mask. | |
virtual bool | isValidStartingLocation (const SoPointerPosition &location) |
This method returns whether the current location is valid for starting a pointing action. | |
bool | canSelectPointingAction () |
void | selectTargetPointingAction (SoState *state, const SoPointerPosition &location, int mask) |
bool | trySwitchGlobalPointingAction (SoState *state, const SoPointerPosition &location, int buttonMask, int modifierMask) |
Tries to switch from one global pointing action to another during a drag. | |
int | getCurrentButtonMask () |
int | getCurrentModifierMask () |
Returns the currently active button modifier. | |
SoPointerPosition | getCurrentPointerLocation () |
Returns the current position of the mouse cursor. | |
bool | isCurrentPointerLocationValid () |
Returns whether the current mouse cursor position is valid. | |
Friends | |
class | SoMouseGrabberPointingAction |
Additional Inherited Members | |
Public Types inherited from SoInteractionProvider | |
typedef SoInteractionProvider *(* | GetProviderFunc) (SoNode *) |
SoMouseGrabber is a general facility to grab mouse events and to map mouse movement to x/y values.
The default values of the module are:
Definition at line 71 of file SoMouseGrabber.h.
SoMouseGrabber::SoMouseGrabber | ( | ) |
Constructor.
|
overrideprotected |
|
inlineoverride |
this node does not affect the state, so return false!
Definition at line 204 of file SoMouseGrabber.h.
|
inlineoverride |
GLRender dummy implementation.
Definition at line 201 of file SoMouseGrabber.h.
|
override |
handle event is reimplemented to handle the mouse events (The events are not consumed, so that following modules in the scene graph can handle them.)
Definition at line 210 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::absX |
Definition at line 101 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::absY |
Definition at line 102 of file SoMouseGrabber.h.
SoSFEnum SoMouseGrabber::alt |
mask for shift alt, the alt key will not work in SoFullViewer derived classes because those viewers handle the alt key themselves
Definition at line 138 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::altPressed |
Definition at line 149 of file SoMouseGrabber.h.
SoSFEnum SoMouseGrabber::button1 |
button mask for button1
Definition at line 127 of file SoMouseGrabber.h.
SoSFTrigger SoMouseGrabber::button1DoubleClicked |
Definition at line 154 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::button1Pressed |
Definition at line 150 of file SoMouseGrabber.h.
SoSFEnum SoMouseGrabber::button2 |
button mask for button2
Definition at line 129 of file SoMouseGrabber.h.
SoSFTrigger SoMouseGrabber::button2DoubleClicked |
Definition at line 155 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::button2Pressed |
Definition at line 151 of file SoMouseGrabber.h.
SoSFEnum SoMouseGrabber::button3 |
button mask for button3
Definition at line 131 of file SoMouseGrabber.h.
SoSFTrigger SoMouseGrabber::button3DoubleClicked |
Definition at line 156 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::button3Pressed |
Definition at line 152 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::clamp |
clamps the output to [min,max] in noramlized mode
Definition at line 94 of file SoMouseGrabber.h.
SoSFEnum SoMouseGrabber::ctrl |
mask for shift ctrl
Definition at line 135 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::ctrlPressed |
Definition at line 148 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::cursorPresent |
this is set to true if the cursor is inside the viewing area
Definition at line 105 of file SoMouseGrabber.h.
SoSFEnum SoMouseGrabber::cursorShape |
shape of mouse cursor when this grabber is active
Definition at line 141 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::flipX |
flip the mouse movement to x mapping
Definition at line 117 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::flipY |
flip the mouse movement to y mapping
Definition at line 119 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::maskValid |
gives the state of the mask, which calculated by the current mousebuttons and modifier key compared to the button1,button2,button3,ctrl,shift,alt settings.
Definition at line 163 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::normalized |
if true x and y are set to [xmin,xmax] relative to the viewport
Definition at line 92 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::on |
SoSFTrigger SoMouseGrabber::released |
emitted when the mask was valid and switches to invalid again
Definition at line 159 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::sensitivity |
set the sensitivity of the mouse movement to x/y mapping, a value of 1 means that 400 pixel mouse movement interpolate between min and max value
Definition at line 124 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::setEventHandled |
Set events that depend on the button mask handled if they are indeed handled by this extension.
Definition at line 166 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::setWheelEventHandled |
Set wheel events handled.
Definition at line 169 of file SoMouseGrabber.h.
SoSFEnum SoMouseGrabber::shift |
mask for shift key
Definition at line 133 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::shiftPressed |
Output Fields that are changed when the state changes.
Definition at line 147 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::swapXY |
flip the mouse movement to xy mapping (mouse x -> field y, mouse y -> field x)
Definition at line 121 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::useManagedInteraction |
If this is on, use managed interaction actions to modify x/y values.
Definition at line 89 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::wheel |
MouseWheel related fields current value that is updated on wheel events
Definition at line 175 of file SoMouseGrabber.h.
SoSFTrigger SoMouseGrabber::wheelDown |
tells when the wheel was turned down
Definition at line 186 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::wheelMax |
max value for wheel
Definition at line 179 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::wheelMin |
min value for wheel
Definition at line 177 of file SoMouseGrabber.h.
SoSFBool SoMouseGrabber::wheelOverflow |
if it to true, the wheel value is wrapped around when reaching min/max values
Definition at line 189 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::wheelStep |
step value that is added/subtracted onto wheel on wheel events
Definition at line 181 of file SoMouseGrabber.h.
SoSFTrigger SoMouseGrabber::wheelUp |
tells when the wheel was turned up
Definition at line 184 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::x |
x value that is changed by mouse movements
Definition at line 97 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::xmax |
max value for the x
field
Definition at line 110 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::xmin |
min value for the x
field
Definition at line 108 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::y |
y value that is changed by mouse movements
Definition at line 99 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::ymax |
max value for the y
field
Definition at line 114 of file SoMouseGrabber.h.
SoSFFloat SoMouseGrabber::ymin |
min value for the y
field
Definition at line 112 of file SoMouseGrabber.h.