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.
Output Fields¶
Parameter Fields¶
Field Index¶
Border Size : Double |
Ignore Other Pointing Actions : Bool |
Inside border actions : String |
Mode : Enum |
Mouse is inside borders : Bool |
Outside border actions : String |
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.