SoPointingActionSwitcher

MacroModule
genre Fields
author MeVis Medical Solutions AG
package MeVisLab/Standard
definition helpers.def
see also SoInteractionMapping
keywords managed, interaction, mapping, override, pointing, action, border, area, zone

Purpose

The SoPointingActionSwitcher will switch or add button combinations for managed pointing actions in a scene, depending on the current cursor position.

Usage

Set Outside border actions and Inside border actions depending on your required mouse button combinations. The syntax is the same as for SoInteractionMapping. The Border Size should be okay for most uses.

Tips

This module only handles pointing actions. You should probably only switch actions that react on the left mouse button, and only if you set a distinguishable cursor shape, so that the user gets immediate feedback what interaction he will get for the left mouse button. For this reason this module does not try to switch command (key) actions.

Windows

Default Panel

../../../Modules/Macros/Helpers/mhelp/Images/Screenshots/SoPointingActionSwitcher._default.png

Output Fields

self

name: self, type: SoNode

Connect this field to your scene in front of the nodes providing the managed interactions that are to be overriden.

Parameter Fields

Visible Fields

Mode

name: mode, type: Enum, default: rectangularFrame

Defines the mode of operation.

Values:

Title Name Description
rectangular Frame rectangularFrame A rectangular frame is used for selecting the active area. The size of the outer region (as part of the whole viewer size from each side) is defined through parameter borderSize. E.g. 0.2. means 20% of the viewer width/height on each side.
eliptical Frame elipticalFrame An eliptical area inside the viewer is used for selecting the active area. The borderSize parameter defines the radius of the inner circle of the viewer as a reference, e.g. a border value of 0.5 will use the full inner circle/ellipse to define the inner area.
horizontal Split horizontalSplit A horizontal split is used to define the acitve area. The parameter borderSize defines the relative size of the upper screen area as inside.
vertical Split verticalSplit A vertical split is used to define the active area. The parameter borderSize defines the relative size of the left part of the screen as inside.

Border Size

name: borderSize, type: Double, default: 0.2, minimum: 0, maximum: 0.5

Size of the outer region. Exact meaning depends on the current mode.

Outside border actions

name: outerActions, type: String

Contains the interaction override string for when the mouse cursor is outside the center area. The syntax is the same as for SoInteractionMapping.

Inside border actions

name: innerActions, type: String

Contains the interaction override string for when the mouse cursor is inside the center area. The syntax is the same as for SoInteractionMapping.

Mouse is inside borders

name: isInside, type: Bool, persistent: no

This field is set to true if the mouse cursor is inside the viewer area specified with Border Size, otherwise false.

Ignore Other Pointing Actions

name: ignoreOtherPointingActions, type: Bool, default: FALSE

If this is set, all actions not mentioned above are ignored completely.