Vrui Tool Class Configuration File Settings Reference

List of Tool Classes

The following lists all core Vrui tool classes, in the same hierarchical order in which they appear in the tool selection menu. Each class is listed with its internal class name first, followed by the descriptive name shown in the tool selection menu.

Tool Class Settings Reference

SixDofLocatorTool

InputNumberFunction Description
Required Buttons1 Locate point at device position.

ScreenLocatorTool

InputNumberFunction Description
Required Buttons1 Locate point at projection of device position on closest screen.

Setting TagSetting Value TypeDefault ValueSetting Description
crosshairSizenumberuiSize*2.0 Size of the crosshairs indicating the tool's screen position, in physical coordinate units. If set to zero, no crosshairs will be drawn.

WaldoLocatorTool

InputNumberFunction Description
Required Buttons1 Locate point at device position; scale translations and rotations of device while active.

Setting TagSetting Value TypeDefault ValueSetting Description
linearScalenumber0.25 Scale factor between translations of the tool's device and the locator while active.
angularScalenumber0.25 Scale factor between rotations of the tool's device and the locator while active.

SixDofDraggingTool

InputNumberFunction Description
Required Buttons1 Drag from device position.

WaldoDraggingTool

InputNumberFunction Description
Required Buttons1 Drag from device position; scale translations and rotations of device while active.

Setting TagSetting Value TypeDefault ValueSetting Description
linearScalenumber0.25 Scale factor between translations of the tool's device and the dragger while active.
angularScalenumber0.25 Scale factor between rotations of the tool's device and the dragger while active.

MouseSurfaceNavigationTool

InputNumberFunction Description
Required Buttons2 1: Rotate around display center. Optionally: Interact with 3D GUI widgets.
2: If 1 not pressed: Pan along surface. Otherwise: Scale around display center.
Required Valuators1 Scale around display center.

Setting TagSetting Value TypeDefault ValueSetting Description
rotateFactornumberdisplaySize/4.0 Distance in physical coordinate units by which the mouse has to be moved in rotation mode to rotate the model by one radians.
scalingDirectionvector-upDirection Direction in physical coordinates along which the mouse has to slide to scale.
scaleFactornumberdisplaySize/4.0 Distance in physical coordinate units by which the mouse has to slide along the scaling direction in scaling mode to scale by a factor of e.
wheelScaleFactornumber0.5 Scale factor to apply for each tick of the mouse wheel.
throwThresholdnumberuiSize*2.0 Distance in physical coordinate units by which the mouse has to move while button 2 is released in panning mode to trigger throwing animation.
probeSizenumberuiSize Radius in physical coordinate units of the probe sphere used to lock the display center to the surface.
maxClimbnumberdisplaySize Maximum distance in physical coordinate units by which the probe sphere can climb when the display center is snapped to the surface.
fixAzimuthbooleanfalse Flag whether the current azimuth angle stays constant when the surface's local coordinate frame rotates.
showCompassbooleantrue Flag whether to draw the compass rose showing the 0° azimuth direction ("north").
compassPosvector(displaySize/2.0,displaySize/2.0, 0.0) Offset from interaction center to center of virtual compass, in interaction plane coordinates (x goes right, y goes up).
compassSizenumberuiSize*5.0 Radius of the displayed compass rose in physical coordinate units.
compassThicknessnumberuiSize*0.5 Thickness of the displayed compass rose's azimuth band in physical coordinate units.
showScreenCenterbooleantrue Flag whether to show crosshairs indicating the screen plane and the screen center while the tool is active.

FPSNavigationTool

InputNumberFunction Description
Required Buttons6 1: Toggle tool activation state.
2: Strafe left.
3: Strafe right.
4: Walk backwards.
5: Walk forward.
6: Jump

Setting TagSetting Value TypeDefault ValueSetting Description
activationTogglebooleantrue Flag whether the activation button acts as a toggle.
rotateFactorslist of exactly two numbers(displaySize/2, displaySize/2) Distance in physical coordinate units by which the input device has to be moved to rotate the model by one radians horizontally and vertically, respectively. A factor of 0.0 is a special case that completely disables rotation in that direction.
moveSpeedslist of exactly two numbers(200.0"/s, 200"/s) Movement speed in physical coordinate units per second.
fallAccelerationnumber9.81m/s2 Acceleration when falling towards the surface in physical coordinate units per second squared.
jumpVelocitynumber4.0m/s Instantaneous vertical velocity applied when the user requests to jump.
probeSizenumber12.0" Radius in physical coordinate units of the probe sphere used to lock the viewer's feet to the surface.
maxClimbnumber24.0" Maximum distance in physical coordinate units by which the probe sphere can climb when the viewer's feet are snapped to the surface.
azimuthStepnumber0.0° Discrete increment in azimuth angle in degrees during mouse rotation to fight motion sickness for HMD users.
fixAzimuthbooleanfalse Flag whether the current azimuth angle stays constant when the surface's local coordinate frame rotates.
levelOnExitbooleanfalse Flag whether to reset the tool's elevation to zero upon deactivation.
drawHudbooleantrue Flag whether to draw the six-axis navigation tool's heads-up display, indicating azimuth, elevation, and roll angles.
hudColorcolor(0.0, 1.0, 0.0) Color to draw the HUD.
hudDistnumberDistance from main viewer's head position to displayCenter Distance from the viewer's eye to the HUD plane in physical coordinate units.
hudRadiusnumberdisplaySize*0.5 Radius of the HUD physical coordinate units.
hudFontSizenumberuiSize*1.5 Font size for the HUD in physical coordinate units.

FiveAxisSurfaceNavigationTool

InputNumberFunction Description
Required Valuators5 1: Translate along local X axis (right/left).
2: Translate along local Y axis (forward/backwards).
3: Rotate around surface Z axis (yaw).
4: Rotate around surface X axis (pitch).
5: Scale.

Setting TagSetting Value TypeDefault ValueSetting Description
translateFactorslist of two numbers(displaySize, displaySize) Maximum translation speeds along X and Y axes, respectively, in physical coordinate units/s.
rotateFactorslist of two numbers(180.0°/s, 180.0°/s) Maximum rotation speeds in yaw and pitch, respectively, in degree/s.
zoomFactornumber1.0 Unitless zoom factor in 1/s. This is the natural logarithm of the zoom factor achieved when the zoom axis is held at its maximal value for one second.
probeSizenumberuiSize Radius in physical coordinate units of the probe sphere used to lock the display center to the surface.
maxClimbnumberdisplaySize Maximum distance in physical coordinate units by which the probe sphere can climb when the display center is snapped to the surface.
fixAzimuthbooleanfalse Flag whether the current azimuth angle stays constant when the surface's local coordinate frame rotates.
showCompassbooleantrue Flag whether to draw the compass rose showing the 0° azimuth direction ("north").
compassSizenumberuiSize*5.0 Radius of the displayed compass rose in physical coordinate units.
compassThicknessnumberuiSize*0.5 Thickness of the displayed compass rose's azimuth band in physical coordinate units.
showScreenCenterbooleantrue Flag whether to show crosshairs indicating the screen plane and the screen center while the tool is active.

SixAxisSurfaceNavigationTool

InputNumberFunction Description
Required Buttons1 1: Tool activation state.
Required Valuators6 1: Translate along local X axis (right/left).
2: Translate along local Y axis (forward/backwards).
3: Translate along local Z axis (up/down).
4: Rotate around surface Z axis (yaw).
5: Rotate around surface X axis (pitch).
6: Rotate around surface Y axis (roll).

Setting TagSetting Value TypeDefault ValueSetting Description
activationTogglebooleantrue Flag whether the activation button acts as a toggle.
translateFactorslist of three numbers(displaySize, displaySize, displaySize) Maximum translation speeds along X, Y, and Z axes, respectively, in physical coordinate units/s.
rotateFactorslist of three numbers(180.0°/s, 180.0°/s, 180.0°/s) Maximum rotation speeds in yaw, pitch, and roll, respectively, in degree/s.
canRollbooleantrue Flag whether the navigation tool allows rolling away from level orientation.
bankTurnsbooleanfalse Flag whether the navigation tool links roll angle to the current yaw angular velocity.
bankFactornumber60.0 Maximum banking angle during banking turns in degrees.
levelSpeedpositive number5.0 Relative speed at which the navigation tool attains a given roll angle.
canFlybooleantrue Flag whether the navigation tool allows flying above the surface.
probeSizenumber1.5m Radius in physical coordinate units of the probe sphere used to lock the viewer's feet to the surface.
maxClimbnumber1.5m Maximum distance in physical coordinate units by which the probe sphere can climb when the viewer's feet are snapped to the surface.
fixAzimuthbooleanfalse Flag whether the current azimuth angle stays constant when the surface's local coordinate frame rotates.
drawHudbooleantrue Flag whether to draw the six-axis navigation tool's heads-up display, indicating azimuth, elevation, and roll angles.
hudColorcolor(0.0, 1.0, 0.0) Color to draw the HUD.
hudDistnumberDistance from main viewer's head position to displayCenter Distance from the viewer's eye to the HUD plane in physical coordinate units.
hudRadiusnumberdisplaySize Radius of the HUD physical coordinate units.
hudFontSizenumberuiSize*1.5 Font size for the HUD in physical coordinate units.

HelicopterNavigationTool

InputNumberFunction Description
Required Buttons3 1: Tool activation state.
2: Forward thrust.
3: Reverse thrust.
Required Valuators6 1: Cyclic pitch control.
2: Cyclic roll control.
3: Rudder yaw control.
4: Collective control.
5: Viewing yaw.
6: Viewing pitch.

Setting TagSetting Value TypeDefault ValueSetting Description
activationTogglebooleantrue Flag whether the activation button acts as a toggle.
rotateFactorslist of three numbers(-60.0°/s, -60.0°/s, 45.0°/s) Maximum rotation speeds in roll, pitch, and yaw, respectively, in degree/s.
gnumber9.81m/s2 Gravity acceleration in physical coordinate units per second squared.
collectiveMinnumber0.0m/s2 Minimum collective acceleration.
collectiveMaxnumberg*1.5 Maximum collective acceleration.
thrustnumberg*1.0 Forward thrust acceleration.
brakenumberg*0.5 Reverse thrust acceleration.
dragCoefficientsvector(0.3, 0.1, 0.3) Drag coefficient tensor in helicopter's local coordinate system.
viewAngleFactorslist of two numbers(35.0°, -25.0°) Yaw and pitch viewing angles in degrees when the respective valuators are at their maximum values.
probeSizenumber1.5m Radius in physical coordinate units of the probe sphere used to lock the viewer's feet to the surface.
maxClimbnumber1.5m Maximum distance in physical coordinate units by which the probe sphere can climb when the viewer's feet are snapped to the surface.
drawHudbooleantrue Flag whether to draw the helicopter tool's heads-up display, indicating azimuth, elevation, and roll angles and relative flight path.
hudColorcolor(0.0, 1.0, 0.0) Color to draw the HUD.
hudDistnumberDistance from main viewer's head position to displayCenter Distance from the viewer's eye to the HUD plane in physical coordinate units.
hudRadiusnumberdisplaySize Radius of the HUD physical coordinate units.
hudFontSizenumberuiSize*1.5 Font size for the HUD in physical coordinate units.

WalkSurfaceNavigationTool

InputNumberFunction Description
Required Buttons1 Toggle tool's activation state.
Optional Valuators1 Fire a "jetpack" thruster along the ray direction of the device associated with the valuator.

Setting TagSetting Value TypeDefault ValueSetting Description
centerOnActivationbooleanfalse Flag whether the tool's center point is set to the viewer's foot position when the tool is activated.
centerPointpointdisplayCenter Center point of the movement circle in physical coordinate system. Is projected to environment's floor plane before activation.
moveSpeednumberdisplaySize/s Maximum walking speed in physical coordinate units per second if the viewer stepped outside the outer movement circle.
innerRadiusnumberdisplaySize*0.5 Radius of the inner movement circle. Movement speed is set to zero when the viewer is inside.
outerRadiusnumberdisplaySize*0.75 Radius of the outer movement circle. Movement speed varies linearly between zero and the maximum walking speed as the viewer moves from the inner circle to the outer circle.
centerViewDirectionvectorforwardDirection Direction of the center line of the rotation cone. Is projected to environment's floor plane before activation.
rotateSpeednumber120.0°/s Maximum rotation speed in degrees per second if the viewer looks outside the outer rotation angle.
innerAnglenumber30.0° Inner rotation angle. Rotation speed is set to zero while the view direction is inside.
outerAnglenumber120.0° Outer rotation angle. Rotation speed varies linearly between zero and maximum rotation speed as the viewer looks from the inner rotation angle to the outer rotation angle.
fallAccelerationnumber9.81m/s2 Acceleration when falling towards the surface in physical coordinate units per second squared.
jetpackAccelerationnumberfallAcceleration*1.5 Maximum acceleration of virtual jetpack in physical coordinate units per second squared.
probeSizenumber12.0" Radius in physical coordinate units of the probe sphere used to lock the viewer's feet to the surface.
maxClimbnumber24.0" Maximum distance in physical coordinate units by which the probe sphere can climb when the viewer's feet are snapped to the surface.
fixAzimuthbooleanfalse Flag whether the current azimuth angle stays constant when the surface's local coordinate frame rotates.
drawMovementCirclesbooleantrue Flag whether to draw the movement circles and the rotation cone while the tool is active.
movementCircleColorcolor(0.0, 1.0, 0.0) Line color with which to draw the movement circles and rotation cone.
drawHudbooleantrue Flag whether to draw the heads-up display indicating the current azimuth angle.
hudFontSizenumberuiSize*2.0 Size of heads-up display's font in physical coordinate units.

ValuatorWalkSurfaceNavigationTool

InputNumberFunction Description
Required Buttons1 Toggle tool's activation state.
Required Valuators2 1: Move along local X axis (right/left).
2: Move along local Y axis (forward/backwards).
Optional Valuators2 Rotate around the local Z axis (up direction). Fire a "jetpack" thruster along the ray direction of the device associated with the valuator.

Setting TagSetting Value TypeDefault ValueSetting Description
activationTogglebooleantrue Flag whether the tool's activation button acts as a toggle button.
centerOnActivationbooleanfalse Flag whether the tool's center point is set to the viewer's foot position when the tool is activated.
centerPointpointdisplayCenter Center point of the movement circle in physical coordinate system. Is projected to environment's floor plane before activation.
moveSpeednumberdisplaySize/s Maximum walking speed in physical coordinate units per second if the viewer stepped outside the outer movement circle.
innerRadiusnumberdisplaySize*0.5 Radius of the inner movement circle. Movement speed is set to zero when the viewer is inside.
outerRadiusnumberdisplaySize*0.75 Radius of the outer movement circle. Movement speed varies linearly between zero and the maximum walking speed as the viewer moves from the inner circle to the outer circle.
valuatorMoveSpeedlist of two numbersmoveSpeed Maximum walking speed in physical coordinate units per second for X and Y axis valuators.
valuatorViewFollowFactornumber1.0 Blending factor in the range [0, 1] such that valuator movement is relative to the fixed forward direction (0) or the current view direction (1).
centerViewDirectionvectorforwardDirection Direction of the center line of the rotation cone. Is projected to environment's floor plane before activation.
rotateSpeednumber120.0°/s Maximum rotation speed in degrees per second if the viewer looks outside the outer rotation angle.
innerAnglenumber30.0° Inner rotation angle. Rotation speed is set to zero while the view direction is inside.
outerAnglenumber120.0° Outer rotation angle. Rotation speed varies linearly between zero and maximum rotation speed as the viewer looks from the inner rotation angle to the outer rotation angle.
valuatorSnapRotateboolfalse Flag to enable snap rotation, where pushing the rotation valuator all the way left or right rotates instantaneously by the valuatorRotateSpeed angle.
valuatorRotateSpeednumberrotateSpeed Maximum rotation speed in degrees per second when using the rotation valuator if valuatorSnapRotate is false, or instantaneous rotation angle in degrees if valuatorSnapRotate is true.
fallAccelerationnumber9.81m/s2 Acceleration when falling towards the surface in physical coordinate units per second squared.
jetpackAccelerationnumberfallAcceleration*1.5 Maximum acceleration of virtual jetpack in physical coordinate units per second squared.
probeSizenumber12.0" Radius in physical coordinate units of the probe sphere used to lock the viewer's feet to the surface.
maxClimbnumber24.0" Maximum distance in physical coordinate units by which the probe sphere can climb when the viewer's feet are snapped to the surface.
fixAzimuthbooleanfalse Flag whether the current azimuth angle stays constant when the surface's local coordinate frame rotates.
drawMovementCirclesbooleantrue Flag whether to draw the movement circles and the rotation cone while the tool is active.
movementCircleColorcolor(0.0, 1.0, 0.0) Line color with which to draw the movement circles and rotation cone.
drawHudbooleantrue Flag whether to draw the heads-up display indicating the current azimuth angle.
hudRadiusnumberdisplaySize*2.0 Radius of heads-up display in physical coordinate units.
hudFontSizenumberuiSize*2.0 Size of heads-up display's font in physical coordinate units.

MouseNavigationTool

InputNumberFunction Description
Required Buttons3 1: Rotate around screen center. Optional: Interact with 3D GUI widgets.
2: If 1 not pressed: Pan in screen plane. Otherwise: Scale around display center, or dolly in or out of screen plane.
3: Switch between scaling and dollying.
Required Valuators1 Scale around display center, or dolly in or out of screen plane.

Setting TagSetting Value TypeDefault ValueSetting Description
rotatePlaneOffsetnumberdisplaySize/4.0 The mouse navigation tool uses an offset plane formula to calculate the rotation axis based on the mouse position and mouse motion in screen coordinates. If the plane offset is zero, any mouse movement will rotate around the screen's z axis (roll); a large plane offset will favor rotation around the screen's x and y axes (yaw and pitch, respectively).
rotateFactornumberdisplaySize/4.0 Distance in physical coordinate units by which the mouse pointer has to move on screen to rotate the view by one radians.
invertDollybooleanfalse Flag whether to invert the scaling/dolly switch. If false, pressing buttons 1 and 2 together or rolling the mouse wheel will scale around the display center, while additionally pressing button 3 will dolly in or out of the screen plane. If true, the roles of scaling and dollying are reversed.
dollyCenterbooleantrue Flag whether to dolly around the display center, or the input device position at the time dollying started.
scaleCenterbooleantrue Flag whether to scale around the display center, or the input device position at the time scaling started.
dollyingDirectionvector-upDirection Direction in physical coordinates along which the mouse has to slide to dolly in or out of the screen plane.
scalingDirectionvector-upDirection Direction in physical coordinates along which the mouse has to slide to scale.
dollyFactornumber1.0 Distance in physical coordinate units by which the mouse has to slide along the dollying direction to dolly in or out by one physical coordinate unit.
scaleFactornumberdisplaySize/4.0 Distance in physical coordinate units by which the mouse has to slide along the scaling direction to scale by a factor of e.
wheelDollyFactornumber-displaySize Dollying distance in physical coordinate units to apply for each tick of the mouse wheel.
wheelScaleFactornumber0.5 Scale factor to apply for each tick of the mouse wheel.
spinThresholdnumberuiSize Distance in physical coordinate units by which the mouse has to move while button 1 is released in rotation mode to trigger spinning animation.
showScreenCenterbooleantrue Flag whether to show crosshairs indicating the screen plane and the screen center while the tool is active.

MouseDialogNavigationTool

InputNumberFunction Description
Required Buttons1 Rotate around screen center, or pan in screen plane, or scale around the display center, or dolly in or out of the screen plane.

Setting TagSetting Value TypeDefault ValueSetting Description
rotatePlaneOffsetnumber3.0" The mouse navigation tool uses an offset plane formula to calculate the rotation axis based on the mouse position and mouse motion in screen coordinates. If the plane offset is zero, any mouse movement will rotate around the screen's z axis (roll); a large plane offset will favor rotation around the screen's x and y axes (yaw and pitch, respectively).
rotateFactornumber3.0" Distance in physical coordinate units by which the mouse pointer has to move on screen to rotate the view by one radians.
dollyCenterbooleantrue Flag whether to dolly around the display center, or the input device position at the time dollying started.
scaleCenterbooleantrue Flag whether to scale around the display center, or the input device position at the time scaling started.
dollyingDirectionvector(0.0, -1.0, 0.0) Direction in physical coordinates along which the mouse has to slide to dolly in or out of the screen plane.
scalingDirectionvector(0.0, -1.0, 0.0) Direction in physical coordinates along which the mouse has to slide to scale.
dollyFactornumber1.0 Distance in physical coordinate units by which the mouse has to slide along the dollying direction to dolly in or out by one physical coordinate unit.
scaleFactornumber3.0" Distance in physical coordinate units by which the mouse has to slide along the scaling direction to scale by a factor of e.
spinThresholdnumberuiSize*2.0 Distance in physical coordinate units by which the mouse has to move while button 1 is released in rotation mode to trigger spinning animation.

SixAxisNavigationTool

InputNumberFunction Description
Required Valuators7 1: Translate along vector 0
2: Translate along vector 1
3: Translate along vector 2
4: Rotate around axis 0
5: Rotate around axis 1
6: Rotate around axis 2
7: Zoom

Setting TagSetting Value TypeDefault ValueSetting Description
translateFactornumberdisplaySize/3.0 Linear velocity factor in physical coordinate units per second by which the three translation vectors will be multiplied.
translationVectorslist of vectors((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)) List of exactly three unitless translation vectors in physical space. Each vector will be multiplied by the translateFactor to calculate the final physical-space translation vectors.
rotateFactornumber180.0°/s Angular velocity factor in degrees per second by which the three scaled rotation axes will be multiplied.
scaledRotationAxeslist of vectors((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)) List of exactly three unitless scaled rotation axes in physical space. Each axis will be multiplied by the rotateFactor to calculate the final physical-space scaled rotation axes.
zoomFactornumber1.0 Unitless zoom factor in 1/s. This is the natural logarithm of the zoom factor achieved when the zoom axis is held at its maximal value for one second.
navigationCenterpointdisplayCenter Center point for rotation and zooming navigation.
invertNavigationbooleanfalse Switches between camera-in-hand navigation mode (if false) and world-in-hand navigation mode (if true).
showNavigationCenterbooleantrue Flag whether to show crosshairs indicating the center of navigation while the tool is active.

SixDofNavigationTool

InputNumberFunction Description
Required Buttons1 Grab space at device position.

ScaleNavigationTool

InputNumberFunction Description
Required Buttons1 Scale around initial device position.

Setting TagSetting Value TypeDefault ValueSetting Description
scaleDirectionvector(0.0, 1.0, 0.0) Direction of scaling line in device's local coordinate system.
scaleFactornumber-8.0" Distance in physical coordinate units by which the device has to slide along the scaling line to scale by a factor of e.

TrackballNavigationTool

InputNumberFunction Description
Required Buttons1 Grab virtual trackball and rotate.

Setting TagSetting Value TypeDefault ValueSetting Description
rotateFactornumber1.0 Number of degrees by which the model rotates if the virtual trackball is rotated by one degree.

ValuatorScalingNavigationTool

InputNumberFunction Description
Required Valuators1 1: Scale around device's initial position.

Setting TagSetting Value TypeDefault ValueSetting Description
valuatorThresholdnumber0.25 Minimum absolute valuator value at which the tool becomes active.
scalingFactornumber0.25/s Maximum change in scale per second, if valuator is held at maximum absolute value.

WandNavigationTool

InputNumberFunction Description
Required Buttons2 1: Grab space.
2: If 1 already pressed: Scale around device position. Otherwise: Forwarded button.

Setting TagSetting Value TypeDefault ValueSetting Description
scaleFactornumber-8.0" Distance in physical coordinate units by which the device has to slide along the scaling line to scale by a factor of e.

SixDofWithScaleNavigationTool

InputNumberFunction Description
Required Buttons2 1: If device is away from second device: Grab space. Otherwise: Scale around second device position.
2: Forwarded button.

Setting TagSetting Value TypeDefault ValueSetting Description
scaleDeviceDistancenumber4.0" Maximum distance between the two devices at which tool goes into scaling mode when activated.
deviceScaleDirectionvector(0.0, 1.0, 0.0) Direction of scaling line in second device's local coordinate system.
scaleFactornumber8.0" Distance in physical coordinate units by which the device has to slide along the scaling line to scale by a factor of e.

TwoHandedNavigationTool

InputNumberFunction Description
Required Buttons2 1 or 2: By itself: Grab space. Otherwise: Scale around other device's position.

MultiDeviceNavigationTool

InputNumberFunction Description
Required Buttons1 Grab space.
Optional Buttons>=0 Grab space.

Setting TagSetting Value TypeDefault ValueSetting Description
translationFactornumber1.0 Number of units by which the model translates if the centroid of the currently active devices moves by one unit.
minRotationScalingDistancenumberpointPickDistance Minimum separation distance between two active devices to allow rotation and scaling.
rotationFactornumber1.0 Number of degrees by which the model translates if the currently active devices rotate around their centroid by one degree.
scalingFactornumber1.0 Ratio between the factor by which the model is scaled to the factor by which the configuration of currently active devices is scaled.

FlyNavigationTool

InputNumberFunction Description
Required Buttons1 Fly in device-relative direction.

Setting TagSetting Value TypeDefault ValueSetting Description
flyDirectionvector(0.0, 1.0, 0.0) Unit vector defining the flying direction in device's local coordinate system.
flyFactornumberdisplaySize*0.5/s Flying speed in physical coordinate units per second.

ValuatorFlyNavigationTool

InputNumberFunction Description
Required Valuators1 Fly in device-relative direction.

Setting TagSetting Value TypeDefault ValueSetting Description
valuatorThresholdnumber0.25 Minimum absolute valuator value at which the tool becomes active.
flyDirectionvector(0.0, 1.0, 0.0) Unit vector defining the flying direction in device's local coordinate system.
flyFactornumberdisplaySize*0.5/s Flying speed in physical coordinate units per second, if valuator is at maximum absolute value.

ValuatorTurnNavigationTool

InputNumberFunction Description
Required Buttons1 Fly in device-relative direction.
Required Valuators2 1: Rotate around first axis.
2: Rotate around second axis.

Setting TagSetting Value TypeDefault ValueSetting Description
valuatorThresholdnumber0.25 Minimum absolute valuator value at which the tool becomes active.
flyDirectionvector(0.0, 1.0, 0.0) Unit vector defining the flying direction in device's local coordinate system.
flyFactornumberdisplaySize*0.5/s Flying speed in physical coordinate units per second.
rotationAxis0vector(0.0, 0.0, 1.0) Unit vector defining rotation axis for first valuator in device's local coordinate system.
rotationAxis1vector(1.0, 0.0, 0.0) Unit vector defining rotation axis for second valuator in device's local coordinate system.
rotationCenterpoint(0.0, 0.0, 0.0) Center of rotation for both axes in device's local coordinate system.
rotationFactornumber90.0°/s Rotation speed in degrees per second, if the respective valuator is at maximum absolute value.

ValuatorFlyTurnNavigationTool

InputNumberFunction Description
Required Valuators2 1: Fly in device-relative direction.
2: Rotate around axis.

Setting TagSetting Value TypeDefault ValueSetting Description
valuatorThresholdnumber0.25 Minimum absolute valuator value at which the tool becomes active.
valuatorExponentnumber1.0 Exponent applied to absolute valuator value to enable non-linear behavior.
superAccelerationFactornumber1.1/s While the first valuator is held at its maximal absolute value, the flying speed increases by this factor every second.
flyDirectionDeviceCoordinatesbooleantrue Flag whether the fly direction is defined in the device's local coordinate system (true) or in physical coordinates (false).
flyDirectionvector(0.0, 1.0, 0.0) Unit vector defining the flying direction for the first valuator in device's local coordinate system, or in physical coordinate system.
flyFactornumberdisplaySize*2.0/s Maximum flying speed in physical coordinate units per second if first valuator is held a maximum absolute value, and without superacceleration.
rotationAxisDeviceCoordinatesbooleantrue Flag whether the rotation axis is defined in the device's local coordinate system (true) or in physical coordinates (false).
rotationAxisvector(0.0, 0.0, 1.0) Unit vector defining rotation axis for the second valuator in device's local coordinate system, or in physical coordinate system.
rotationCenterDeviceCoordinatesbooleantrue Flag whether the center of rotation is defined in the device's local coordinate system (true) or in physical coordinates (false).
rotationCenterpoint(0.0, 0.0, 0.0) Center of rotation for second valuator in device's local coordinate system, or in physical coordinate system.
rotationFactornumber90.0°/s Rotation speed in degrees per second, if the respective valuator is at maximum absolute value.

WalkNavigationTool

InputNumberFunction Description
Required Buttons1 Toggle tool's activation state.

Setting TagSetting Value TypeDefault ValueSetting Description
centerOnActivationbooleanfalse Flag whether the tool's center point is set to the viewer's foot position when the tool is activated.
centerPointpointdisplayCenter Center point of the movement circle in physical coordinate system. Is projected to environment's floor plane before activation.
moveSpeednumberdisplaySize/s Maximum walking speed in physical coordinate units per second if the viewer stepped outside the outer movement circle.
innerRadiusnumberdisplaySize*0.5 Radius of the inner movement circle. Movement speed is set to zero when the viewer is inside.
outerRadiusnumberdisplaySize*0.75 Radius of the outer movement circle. Movement speed varies linearly between zero and the maximum walking speed as the viewer moves from the inner circle to the outer circle.
centerViewDirectionvectorforwardDirection Direction of the center line of the rotation cone. Is projected to environment's floor plane before activation.
rotateSpeednumber120.0°/s Maximum rotation speed in degrees per second if the viewer looks outside the outer rotation angle.
innerAnglenumber30.0° Inner rotation angle. Rotation speed is set to zero while the view direction is inside.
outerAnglenumber120.0° Outer rotation angle. Rotation speed varies linearly between zero and maximum rotation speed as the viewer looks from the inner rotation angle to the outer rotation angle.
drawMovementCirclesbooleantrue Flag whether to draw the movement circles and the rotation cone while the tool is active.
movementCircleColorcolor(0.0, 1.0, 0.0) Line color with which to draw the movement circles and rotation cone.

ComeHitherNavigationTool

InputNumberFunction Description
Required Buttons1 Move device's position to display center, and its pointing direction to the forward direction. If pressed again during animation, jump immediately to final position and orientation.

Setting TagSetting Value TypeDefault ValueSetting Description
linearSnapThresholdnumberdisplaySize*0.25 Maximum translation distance in physical coordinate units for which the tool will skip animation and jump directly to the final position.
angularSnapThresholdnumber15.0° Maximum rotation angle in degrees for which the tool will skip animation and jump directly to the final orientation.
maxLinearVelocitynumberdisplaySize*5.0/s Maximum linear velocity in physical coordinate units per second during animation.
maxAngularVelocitynumber90.0°/s Maximum angular velocity in degrees per second during animation.

ForceJumpNavigationTool

InputNumberFunction Description
Required Buttons1 Jump to the position of the input device, using a fancy forward flip.

Setting TagSetting Value TypeDefault ValueSetting Description
gravitynumber9.81m/s2 Gravity acceleration in physical coordinate units per second squared.
jumpTimenumber1.0s Time to complete the jump to the input device's position in seconds.

ViewpointFileNavigationTool

InputNumberFunction Description
Required Buttons1 Toggle tool's activation state. When the tool is deactivated during animation, it will resume animation at the interrupted point when re-activated.

Setting TagSetting Value TypeDefault ValueSetting Description
viewpointFileNamestring"" Name of the viewpoint or curve file to load when a tool of this class is created. If the file name is left empty, a newly-instantiated tool will open a file selection dialog to load a file interactively.
If the specified or selected file name has extension ".views", the tool will read a sequence of animation keyframes, and calculate an interpolating cubic animation spline on-the-fly. If the specified or selected file name has extension ".curve", the tool will read a sequence of cubic Hermite spline sections and play them back exactly as specified.
showKeyframesbooleantrue Flag whether to show a representation of the next keyframe during animation. Keyframes are drawn as two lines: a green line indicating the keyframe's "forward" direction, and a red line indicating its "up" direction. The intersection point of the two lines is the keyframe's display center, and the lengths of the lines indicate the keyframe's display size.
pauseFileNamestring"ViewpointFileNavigation.pauses" If a file of this name exists when a tool of this class is created, the newly-instantiated tool will read a list of time stamps (in seconds) from it. The tool will automatically pause playback when reaching any of the time stamps, and can be re-activated by pressing the activation button.
autostartbooleanfalse Flag whether the tool will start animating immediately after construction.
showGuibooleantrue Flag whether the tool will display a dialog window to control playback position and speed.

MouseTool

InputNumberFunction Description
Optional Buttons>=0 Forwarded to virtual input device.
Optional Valuators>=0 Forwarded to virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
rayOffsetnumberuiSize*2.0 Distance in physical coordinate units by which to move back the start position of intersection rays.
crosshairSizenumber0.0" Size of crosshairs in physical coordinate units to indicate the position of the virtual input device in the screen plane. If left at 0.0", no crosshairs will be drawn.

ScreenMouseTool

InputNumberFunction Description
Optional Buttons>=0 Forwarded to virtual input device.
Required Valuators2 Move the input device along the screen's X and Y axes, respectively.
Optional Valuators>=0 Forwarded to virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
screenNamestringName of main screen Name of screen to contain the input device.
deadZonenumber0.1 Size of "dead zone" around assigned valuators' zero value in terms of 2D vector lengh.
exponentnumber1.0 Exponent for non-linear scaling of valuator values in terms of 2D vector length.
velocityFactorslist of exactly 2 numbersWidth and height of selected screen per second, respectively. Conversion factor from valuator values to physical coordinate units per second.

ToggleButtonTool

InputNumberFunction Description
Optional Buttons>=0 Button to be converted into a toggle button.

ButtonToValuatorTool

Setting TagSetting Value TypeDefault ValueSetting Description
onRisingEdgebooleantrue If true, the state of a virtual button is toggled when the real button changes state from released to pressed; if false, the other way.
InputNumberFunction Description
Required Buttons1 Set the simulated valuator to value +1.0.
Optional Buttons>=0 Set the simulated valuator to value -1.0.

ValuatorToButtonTool

InputNumberFunction Description
Required Valuators1 Simulate two buttons; one pressed when valuator is positive, one pressed when valuator is negative.
Optional Valuators>=0 Simulate two buttons; one pressed when valuator is positive, one pressed when valuator is negative.

TouchpadButtonsTool

InputNumberFunction Description
Required Buttons1 Press the simulated button corresponding to the current touchpad contact.
Required Valuators2 X and Y axis of 2D touchpad coordinate system determining which simulated button is pressed when the touchpad is clicked.

Setting TagSetting Value TypeDefault ValueSetting Description
numButtonsinteger4 Number of simulated buttons arranged around the touchpad's perimeter. The first button is always centered around the touchpad's positive Y axis.
centerRadiusnumber0.5 Radius of the central area around which the simulated buttons are arranged.
useCenterButtonbooleanfalse Flag whether clicking the touchpad's central area simulates an additional button. If false, touchpad clicks inside the center area will be ignored.

TwoRayTransformTool

InputNumberFunction Description
Optional Buttons>=0 Forwarded to virtual input device.
Optional Valuators>=0 Forwarded to virtual input device.

SixAxisTransformTool

InputNumberFunction Description
Required Buttons1 Reset the virtual input device to its home position.
Optional Buttons>=0 Forwarded to virtual input device.
Required Valuators6 1: Translate along vector 0
2: Translate along vector 1
3: Translate along vector 2
4: Rotate around axis 0
5: Rotate around axis 1
6: Rotate around axis 2
Optional Valuators>=0 Forwarded to virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
homePositionpointdisplayCenter Home position for the tool's virtual input device. Newly-instantiated tools position their virtual devices at the home position, and pressing the home button will return the virtual input device to the home position.
translateFactornumberdisplaySize/3.0 Linear velocity factor in physical coordinate units per second by which the three translation vectors will be multiplied.
translationVectorslist of vectors((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)) List of exactly three unitless translation vectors in physical space. Each vector will be multiplied by the translateFactor to calculate the final physical-space translation vectors.
rotateFactornumber180.0°/s Angular velocity factor in degrees per second by which the three scaled rotation axes will be multiplied.
scaledRotationAxeslist of vectors((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)) List of exactly three unitless scaled rotation axes in physical space. Each axis will be multiplied by the rotateFactor to calculate the final physical-space scaled rotation axes.
deviceGlyphTypeglyph typeCone Type of glyph used to draw a 3D representation of the virtual input device in the Vrui display environment.
deviceGlyphMaterialmaterial{AmbientDiffuse=(0.5, 0.5, 0.5); Specular=(1.0, 1.0, 1.0); Shininess=25.0;} Material properties to render the virtual input device's glyph.

EyeRayTool

InputNumberFunction Description
Optional Buttons>=0 Forwarded to virtual input device.
Optional Valuators>=0 Forwarded to virtual input device.

OffsetTool

InputNumberFunction Description
Optional Buttons>=0 Forwarded to virtual input device.
Optional Valuators>=0 Forwarded to virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
offsettracker statetranslate (0.0, displaySize*0.5, 0.0) Offset transformation from source input device to transformed input device, in source device's local coordinate system.

WaldoTool

InputNumberFunction Description
Optional Buttons>=0 Forwarded to virtual input device.
Optional Valuators>=0 Forwarded to virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
linearScalenumber0.25 Scale factor between translations of the tool's source device and the transformed device while active.
angularScalenumber0.25 Scale factor between rotations of the tool's tool's source device and the transformed device while active.

ClutchTool

InputNumberFunction Description
Required Buttons1 Disengage source input device from transformed input device.
Optional Buttons>=0 Forwarded to virtual input device.
Optional Valuators>=0 Forwarded to virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
clutchButtonToggleFlagbooleanfalse Flag whether the clutch button acts as a toggle.

ShiftButtonTool

InputNumberFunction Description
Required Buttons1 Shift between button/valuator planes.
Optional Buttons>=0 Forwarded to virtual input device.
Optional Valuators>=0 Forwarded to virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
togglebooleanfalse Flag whether the shift button acts as a toggle.
forwardShiftButtonbooleanfalse Flag whether the shift button itself is forwarded to both button planes, reflecting the status of the currently active plane.
resetFeaturesbooleanfalse Flag whether buttons and valuators reset to their default values when the tool shifts away from their plane.

MultiShiftButtonTool

InputNumberFunction Description
Required Buttons1 First radio button.
Optional Buttons>=0 Additional radio buttons or forwarded to virtual input device, depending on number of configured button/valuator planes.
Optional Valuators>=0 Forwarded to virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
numPlanesinteger2 Number of button/valuator planes and radio buttons.
forwardRadioButtonsbooleanfalse Flag whether the radio buttons themselves are forwarded to their respective button planes, reflecting the status of the currently active plane.
resetFeaturesbooleanfalse Flag whether buttons and valuators reset to their default values when the tool shifts away from their plane.
initialPlaneinteger0 Index of button/valuator plane activated when a tool is created.

RevolverTool

InputNumberFunction Description
Required Buttons1 Cycle revolver chamber.
Optional Buttons>=0 Forwarded to virtual input device.
Optional Valuators>=0 Forwarded to virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
numChambersinteger6 Number of chambers on the revolver. Each chamber contains copies of all optional forwarded buttons and valuators.

UserInterfaceTool

Setting TagSetting Value TypeDefault ValueSetting Description
useEyeRaybooleanfalse Flag whether all classes derived from UserInterfaceTool use a ray from the main viewer's head position to the device position as interaction ray instead of the device's own ray direction.
rayOffsetnumberuiSize*2.0 Distance in physical coordinate units by which to move back the start position of interaction rays when not using eye rays.
drawRaybooleantrue if useEyeRay is false; true otherwise Flag whether all classes derived from UserInterfaceTool draw the interaction ray when active.
rayWidthnumber3.0 Cosmetic line width to draw the interaction ray in pixels.
rayColorcolor(1.0, 0.0, 0.0) Color with which to draw the interaction ray.

RayMenuTool

InputNumberFunction Description
Required Buttons1 Pop up and interact with menu.

Setting TagSetting Value TypeDefault ValueSetting Description
initialMenuOffsetnumber6.0" Distance in physical coordinate units along device's interaction ray from device's position to menu pop-up position.
interactWithWidgetsbooleanfalse Flag whether the tool's button interacts with 3D GUI widgets if pressed over a displayed widget.

RayScreenMenuTool

InputNumberFunction Description
Required Buttons1 Pop up and interact with menu.

Setting TagSetting Value TypeDefault ValueSetting Description
interactWithWidgetsbooleanfalse Flag whether the tool's button interacts with 3D GUI widgets if pressed over a displayed widget.

PanelMenuTool

InputNumberFunction Description
Required Buttons1 Forwarded button.

RayInputDeviceTool

InputNumberFunction Description
Required Buttons1 Grab virtual input device.
Optional Buttons>=0 Forwarded to grabbed virtual input device.
Optional Valuators>=0 Forwarded to grabbed virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
rotateFactornumberdisplaySize/4.0 Distance in physical coordinate units by which a virtual input device's edge has to be dragged to rotate by one radians.

ButtonInputDeviceTool

InputNumberFunction Description
Required Buttons8 1: Switch control to the next virtual input device.
2: Switch between translation and rotation modes.
3: Translate along -X or rotate around -Z.
4: Translate along +X or rotate around +Z.
5: Translate along -Y or rotate around -Y.
6: Translate along +Y or rotate around +Y.
7: Translate along -Z or rotate around -X.
8: Translate along +Z or rotate around +X.
Optional Buttons>=0 Forwarded to currently controlled virtual input device.
Optional Valuators>=0 Forwarded to currently controlled virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
translateFactornumber4.0"/sSpeed in physical coordinate units by which the controlled virtual input device moves if a translate button is pressed.
rotateFactornumber60.0°/sAngular speed by which the controlled virtual input device rotates if a rotate button is pressed.

SixAxisInputDeviceTool

InputNumberFunction Description
Required Buttons1 Grab virtual input device based on ray selection.
Optional Buttons>=0 Forwarded to grabbed virtual input device.
Required Valuators6 1: Translate along vector 0
2: Translate along vector 1
3: Translate along vector 2
4: Rotate around axis 0
5: Rotate around axis 1
6: Rotate around axis 2
Optional Valuators>=0 Forwarded to grabbed virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
selectButtonTogglebooleantrueFlag whether the grab button acts as a toggle.
translateFactornumberdisplaySize/3.0 Linear velocity factor in physical coordinate units per second by which the three translation vectors will be multiplied.
translationVectorslist of vectors((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)) List of exactly three unitless translation vectors in physical space. Each vector will be multiplied by the translateFactor to calculate the final physical-space translation vectors.
rotateFactornumber180.0°/s Angular velocity factor in degrees per second by which the three scaled rotation axes will be multiplied.
scaledRotationAxeslist of vectors((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)) List of exactly three unitless scaled rotation axes in physical space. Each axis will be multiplied by the rotateFactor to calculate the final physical-space scaled rotation axes.

SixDofInputDeviceTool

InputNumberFunction Description
Required Buttons1 Grab virtual input device.
Optional Buttons>=0 Forwarded to grabbed virtual input device.
Optional Valuators>=0 Forwarded to grabbed virtual input device.

Setting TagSetting Value TypeDefault ValueSetting Description
selectButtonTogglebooleanfalseFlag whether the grab button acts as a toggle.

PlaneSnapInputDeviceTool

InputNumberFunction Description
Required Buttons1 Grab virtual input device or select plane points.

Setting TagSetting Value TypeDefault ValueSetting Description
markerSizenumberuiSize Size of the markers indicating the tool's currently selected plane points, in physical coordinate units. If set to zero, no markers will be drawn.

WidgetTool

InputNumberFunction Description
Required Buttons1 Interact with GUI widgets.

ScrollTool

InputNumberFunction Description
Required Valuators1 Scroll in GUI widgets.

DaisyWheelTool

InputNumberFunction Description
Required Buttons1 Select in daisy wheel.

Setting TagSetting Value TypeDefault ValueSetting Description

QuikWriteTool

InputNumberFunction Description
Required Buttons1 Pop up and interact with QuikWrite panel.

Setting TagSetting Value TypeDefault ValueSetting Description
deviceNamestring(not set) If present, specifies the name of an input device to be used for interaction instead of the device bound to the first button slot. Added as a hack to support gaze-directed writing.
squareSizenumberuiFontTextHeight*10.0Overall side length of QuikWrite panel.
initialSquareDistnumber3.0"Initial distance in physical coordinate units along device's selection ray when popping up the QuikWrite panel.
backgroundColorcolorbackgroundColorBackground color for the QuikWrite panel.
foregroundColorcolorforegroundColorForeground and text color for the QuikWrite panel.
drawPointbooleanfalseFlag whether to draw the current interaction point while the tool is active.
pointColorcolorComplement of backgroundColorColor to draw the intersection point.
pointSizenumber3.0Size to draw the intersection point in pixels.

LaserpointerTool

InputNumberFunction Description
Required Buttons1 Activate laser pointer.

Setting TagSetting Value TypeDefault ValueSetting Description
rayLengthnumberdisplaySize*5.0Length of the laser pointer ray in physical coordinate units.
rayLineWidthnumber3.0Cosmetic line width in pixels with which to draw the laser pointer ray.
rayColorcolor(1.0, 0.0, 0.0)Color with which to draw the laser pointer ray.

FlashlightTool

InputNumberFunction Description
Required Buttons
Optional Buttons
Required Valuators
Optional Valuators

Setting TagSetting Value TypeDefault ValueSetting Description

ClipPlaneTool

InputNumberFunction Description
Required Buttons
Optional Buttons
Required Valuators
Optional Valuators

Setting TagSetting Value TypeDefault ValueSetting Description

JediTool

InputNumberFunction Description
Required Buttons
Optional Buttons
Required Valuators
Optional Valuators

Setting TagSetting Value TypeDefault ValueSetting Description

MeasurementTool

InputNumberFunction Description
Required Buttons
Optional Buttons
Required Valuators
Optional Valuators

Setting TagSetting Value TypeDefault ValueSetting Description

SketchingTool

InputNumberFunction Description
Required Buttons
Optional Buttons
Required Valuators
Optional Valuators

Setting TagSetting Value TypeDefault ValueSetting Description

AnnotationTool

InputNumberFunction Description
Required Buttons
Optional Buttons
Required Valuators
Optional Valuators

Setting TagSetting Value TypeDefault ValueSetting Description

ViewpointSaverTool

InputNumberFunction Description
Required Buttons
Optional Buttons
Required Valuators
Optional Valuators

Setting TagSetting Value TypeDefault ValueSetting Description

CurveEditorTool

InputNumberFunction Description
Required Buttons
Optional Buttons
Required Valuators
Optional Valuators

Setting TagSetting Value TypeDefault ValueSetting Description

ScreenshotTool

InputNumberFunction Description
Required Buttons
Optional Buttons
Required Valuators
Optional Valuators

Setting TagSetting Value TypeDefault ValueSetting Description

WiggleScreenshotTool

InputNumberFunction Description
Required Buttons1 Take wiggle screenshot.

Setting TagSetting Value TypeDefault ValueSetting Description
screenshotFileNamestringWiggleScreenshotTool.png (if PNG support is built into Images library) or WiggleScreenshotTool.ppmBase name for screenshot file names. Index of animation frame will be inserted before the file name extension.
windowIndexinteger0Index of the Vrui window from which to record screenshots.
numFramesinteger10Number of animation frames for the left-to-right and right-to-left sweeps.
angleIncrementnumber2.5°Rotation angle increment between subsequent animation frames in degrees.

NopTool

InputNumberFunction Description
Optional Buttons>=0 Ignored buttons.
Optional Valuators>=0 Ignored valuators.