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
rotateFactornumber3.0" Distance in physical coordinate units by which the mouse has to be moved in rotation mode to rotate the model by one radians.
screenScalingDirectionvector(0.0, -1.0, 0.0) Direction in screen coordinates along which the mouse has to slide to scale in scaling mode.
scaleFactornumber3.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").
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.
interactWithWidgetsbooleantrue Flag whether the tool's first button interacts with 3D GUI widgets if pressed over a displayed widget.

FPSNavigationTool

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

Setting TagSetting Value TypeDefault ValueSetting Description
rotateFactornumber12.0" Distance in physical coordinate units by which the mouse has to be moved to rotate the model by one radians.
moveSpeednumber120.0"/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.
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.
showHudbooleantrue Flag whether to draw the heads-up display indicating the current aziumth.
levelOnExitbooleanfalse Flag whether to reset the tool's elevation to zero upon deactivation.

SixAxisSurfaceNavigationTool

InputNumberFunction Description
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
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.
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.
hudRadiusnumberfrontplaneDist*1.25 Distance from the viewer's eye to the HUD plane in physical coordinate units.
hudFontSizenumberuiSize*1.5 Font size for the HUD in physical coordinate units.

HelicopterNavigationTool

InputNumberFunction Description
Required Buttons3 1: Toggle 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
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.
hudRadiusnumberfrontplaneDist*1.25 Distance from the viewer's eye to the HUD plane in 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.
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.

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
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.
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.
screenDollyingDirectionvector(0.0, -1.0, 0.0) Direction in screen coordinates along which the mouse has to slide to dolly in or out of the screen plane.
screenScalingDirectionvector(0.0, -1.0, 0.0) Direction in screen 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.
wheelDollyFactornumber-12.0" 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.
interactWithWidgetsbooleantrue Flag whether the tool's first button interacts with 3D GUI widgets if pressed over a displayed widget.

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.
screenDollyingDirectionvector(0.0, -1.0, 0.0) Direction in screen coordinates along which the mouse has to slide to dolly in or out of the screen plane.
screenScalingDirectionvector(0.0, -1.0, 0.0) Direction in screen 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.
interactWithWidgetsbooleantrue Flag whether the tool's first button interacts with 3D GUI widgets if pressed over a displayed widget.

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.
minRotationScalingDistancenumber1.0" 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.

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.

ButtonToValuatorTool

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.

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.
resetFeaturesbooleanfalse Flag whether buttons and valuators reset to their default values when the tool shifts away from their plane.

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 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
rotateFactornumber3.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
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.
foregroundColorcolorComplement of backgroundColorForeground and text color for the QuikWrite panel.

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

NopTool

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