Skip to content

RenderWindowInteractor ​

Introduction ​

vtkRenderWindowInteractor provides an interaction mechanism for mouse/key/time events. It handles routing of mouse/key/timer messages to vtkInteractorObserver and its subclasses. vtkRenderWindowInteractor also provides controls for picking, rendering frame rate.

vtkRenderWindowInteractor serves to hold user preferences and route messages to vtkInteractorStyle. Callbacks are available for many events. Platform specific subclasses should provide methods for manipulating timers, TerminateApp, and an event loop if required via

Initialize/Start/Enable/Disable.

Caveats ​

vtkRenderWindowInteractor routes events through VTK’s command/observer design pattern. That is, when vtkRenderWindowInteractor (actually, one of its subclasses) sees an event, it translates it into a VTK event using the InvokeEvent() method. Afterward, any vtkInteractorObservers registered for that event are expected to respond appropriately.

Methods ​

animationEvent ​

ArgumentTypeRequiredDescription
argsYes

button3DEvent ​

Triggers the 'Button3D' event.

ArgumentTypeRequiredDescription
argsYes

cancelAnimation ​

ArgumentTypeRequiredDescription
requestorYes
skipWarningBooleanNo

delete ​

Stop animating if the renderWindowInteractor is deleted.

disable ​

enable ​

Enable/Disable interactions. By default interactors are enabled when initialized. Initialize() must be called prior to enabling/disabling interaction. These methods are used when a window/widget is being shared by multiple renderers and interactors. This allows a "modal" display where one interactor is active when its data is to be displayed and all other interactors associated with the widget are disabled when their data is not displayed.

endAnimationEvent ​

ArgumentTypeRequiredDescription
argsYes

endInteractionEvent ​

ArgumentTypeRequiredDescription
argsYes

endMouseMoveEvent ​

ArgumentTypeRequiredDescription
argsYes

endMouseWheelEvent ​

ArgumentTypeRequiredDescription
argsYes

endPanEvent ​

ArgumentTypeRequiredDescription
argsYes

endPinchEvent ​

ArgumentTypeRequiredDescription
argsYes

endPointerLockEvent ​

ArgumentTypeRequiredDescription
argsYes

endRotateEvent ​

ArgumentTypeRequiredDescription
argsYes

exitPointerLock ​

extend ​

Method use to decorate a given object (publicAPI+model) with vtkRenderWindowInteractor characteristics.

ArgumentTypeRequiredDescription
publicAPIYesobject on which methods will be bounds (public)
modelYesobject on which data structure will be bounds (protected)
initialValuesIRenderWindowInteractorInitialValuesNo(default: {})

findPokedRenderer ​

ArgumentTypeRequiredDescription
xNumberYes
yNumberYes

getContainer ​

getCurrentRenderer ​

getDesiredUpdateRate ​

getEnableRender ​

getEnabled ​

getFirstRenderer ​

getInitialized ​

getInteractorStyle ​

getLastFrameTime ​

getLightFollowCamera ​

getLongTapDistance ​

getLongTapDuration ​

getMouseWheelSpinYBuffering ​

getPicker ​

getPreventDefaultOnPointerDown ​

getPreventDefaultOnPointerUp ​

getRecognizeGestures ​

getStillUpdateRate ​

getView ​

getWheelEndDebounceDelay ​

handleAnimation ​

handleKeyDown ​

ArgumentTypeRequiredDescription
eventKeyboardEventYes

handleKeyPress ​

ArgumentTypeRequiredDescription
eventKeyboardEventYes

handleKeyUp ​

ArgumentTypeRequiredDescription
eventKeyboardEventYes

handleMouseDown ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handleMouseMove ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handleMouseUp ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handlePointerCancel ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handlePointerDown ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handlePointerEnter ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handlePointerLeave ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handlePointerLockChange ​

handlePointerMove ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handlePointerUp ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handleTouchEnd ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handleTouchMove ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handleTouchStart ​

ArgumentTypeRequiredDescription
eventPointerEventYes

handleVisibilityChange ​

handleWheel ​

ArgumentTypeRequiredDescription
eventMouseEventYes

initialize ​


interactionEvent ​

ArgumentTypeRequiredDescription
argsYes

invokeAnimation ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeButton3D ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeEndAnimation ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeEndInteractionEvent ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeEndMouseMove ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeEndMouseWheel ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeEndPan ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeEndPinch ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeEndPointerLock ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeEndRotate ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeInteractionEvent ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeKeyDown ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeKeyPress ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeKeyUp ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeLeftButtonPress ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeLeftButtonRelease ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeLongTap ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeMiddleButtonPress ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeMiddleButtonRelease ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeMouseEnter ​

invokeMouseLeave ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeMouseMove ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeMouseWheel ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeMove3D ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokePan ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokePinch ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokePointerEnter ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokePointerLeave ​

invokeRenderEvent ​

invokeRightButtonPress ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeRightButtonRelease ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeRotate ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeStartAnimation ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeStartInteractionEvent ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeStartMouseMove ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeStartMouseWheel ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeStartPan ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeStartPinch ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeStartPointerLock ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeStartRotate ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

invokeTap ​

ArgumentTypeRequiredDescription
callDataIRenderWindowInteractorEventYes

isAnimating ​

isPointerLocked ​

keyDownEvent ​

ArgumentTypeRequiredDescription
argsYes

keyPressEvent ​

ArgumentTypeRequiredDescription
argsYes

keyUpEvent ​

ArgumentTypeRequiredDescription
argsYes

leftButtonPressEvent ​

ArgumentTypeRequiredDescription
argsYes

leftButtonReleaseEvent ​

ArgumentTypeRequiredDescription
argsYes

longTapEvent ​

ArgumentTypeRequiredDescription
argsYes

middleButtonPressEvent ​

ArgumentTypeRequiredDescription
argsYes

middleButtonReleaseEvent ​

ArgumentTypeRequiredDescription
argsYes

mouseEnterEvent ​

ArgumentTypeRequiredDescription
argsYes

mouseLeaveEvent ​

ArgumentTypeRequiredDescription
argsYes

mouseMoveEvent ​

ArgumentTypeRequiredDescription
argsYes

mouseWheelEvent ​

ArgumentTypeRequiredDescription
argsYes

move3DEvent ​

Triggers the 'Move3D' event.

ArgumentTypeRequiredDescription
eventPayloadYes

newInstance ​

Method use to create a new instance of vtkRenderWindowInteractor

onAnimation ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onButton3D ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onEndAnimation ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onEndInteractionEvent ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onEndMouseMove ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onEndMouseWheel ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onEndPan ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onEndPinch ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onEndPointerLock ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onEndRotate ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onInteractionEvent ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onKeyDown ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onKeyPress ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onKeyUp ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onLeftButtonPress ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onLeftButtonRelease ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onLongTap ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onMiddleButtonPress ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onMiddleButtonRelease ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onMouseEnter ​

ArgumentTypeRequiredDescription
cbYesThe callback to be called

onMouseLeave ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onMouseMove ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onMouseWheel ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onMove3D ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onPan ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onPinch ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onPointerEnter ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onPointerLeave ​

ArgumentTypeRequiredDescription
cbYesThe callback to be called

onRenderEvent ​

ArgumentTypeRequiredDescription
cbFunctionYesThe callback to be called.
priorityNumberNoThe priority of the event.

onRightButtonPress ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onRightButtonRelease ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onRotate ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onStartAnimation ​

ArgumentTypeRequiredDescription
cbYesThe callback to be called

onStartInteractionEvent ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onStartMouseMove ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onStartMouseWheel ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onStartPan ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onStartPinch ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onStartPointerLock ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onStartRotate ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

onTap ​

ArgumentTypeRequiredDescription
cbInteractorEventCallbackYesThe callback to be called.
priorityNumberNoThe priority of the event.

panEvent ​

ArgumentTypeRequiredDescription
argsYes

pinchEvent ​

ArgumentTypeRequiredDescription
argsYes

recognizeGesture ​

we know we are in multitouch now, so start recognizing

ArgumentTypeRequiredDescription
eventYes
positionsYes

render ​

only render if we are not animating. If we are animating then renders will happen naturally anyhow and we definitely do not want extra renders as the make the apparent interaction rate slower.

requestAnimation ​

ArgumentTypeRequiredDescription
requestorYes

requestPointerLock ​

returnFromVRAnimation ​

rightButtonPressEvent ​

ArgumentTypeRequiredDescription
argsYes

rightButtonReleaseEvent ​

ArgumentTypeRequiredDescription
argsYes

rotateEvent ​

ArgumentTypeRequiredDescription
argsYes

setContainer ​

Add an HTMLElement as the new container for the interactor. All events will be bound to this new container.

container will gain the tabIndex=0 attribute to catch keyboard events. container must have focus (manually via click or tab, or programmatically via .focus()) to receive keypress events Outline on focus can be customized with CSS :focus pseudo-class.

Any old container will be removed along with its listeners.

setCurrentRenderer ​

Manually sets the current renderer.

ArgumentTypeRequiredDescription
renvtkRendererYes

setDesiredUpdateRate ​

Set the desired update rate.

ArgumentTypeRequiredDescription
desiredUpdateRateYes

setInteractorStyle ​

External switching between joystick/trackball/new? modes.

ArgumentTypeRequiredDescription
styleYes

setLightFollowCamera ​

Turn on/off the automatic repositioning of lights as the camera moves.

ArgumentTypeRequiredDescription
lightFollowCameraYes

setLongTapDistance ​

Set the maximum distance (in pixels) a press may move before the long-press is canceled.

ArgumentTypeRequiredDescription
longTapDistanceYes

setLongTapDuration ​

Set the minimum duration (in ms) of a press for a long-press.

ArgumentTypeRequiredDescription
longTapDurationYes

setMouseWheelSpinYBuffering ​

When enabled, fractional spinY deltas from high-frequency wheel events (e.g. trackpads) are accumulated and only dispatched once they add up to a full step, instead of firing a mouseWheelEvent for every wheel tick.

ArgumentTypeRequiredDescription
mouseWheelSpinYBufferingYes

setPicker ​

Set the object used to perform pick operations.

ArgumentTypeRequiredDescription
pickerYes

setPreventDefaultOnPointerDown ​

Set whether preventDefault is called on pointer down.

ArgumentTypeRequiredDescription
preventDefaultBooleanYes

setPreventDefaultOnPointerUp ​

Set whether preventDefault is called on pointer up.

If pointerup occurs without a preceeding pointerdown, then this does nothing.

ArgumentTypeRequiredDescription
preventDefaultBooleanYes

setRecognizeGestures ​

ArgumentTypeRequiredDescription
recognizeGesturesYes

setRenderWindow ​

Set/Get the rendering window being controlled by this object.

ArgumentTypeRequiredDescription
arenYes

setStillUpdateRate ​

Set the desired update rate when movement has stopped.

ArgumentTypeRequiredDescription
stillUpdateRateYes

setView ​

ArgumentTypeRequiredDescription
valYes

setWheelEndDebounceDelay ​

Set the delay (in ms) after the last wheel event before the wheel-end event is fired.

ArgumentTypeRequiredDescription
wheelEndDebounceDelayYes

start ​

Start the event loop. This is provided so that you do not have to implement your own event loop. You still can use your own event loop if you want.

startAnimationEvent ​

ArgumentTypeRequiredDescription
argsYes

startEventLoop ​

startInteractionEvent ​

ArgumentTypeRequiredDescription
argsYes

startMouseMoveEvent ​

ArgumentTypeRequiredDescription
argsYes

startMouseWheelEvent ​

ArgumentTypeRequiredDescription
argsYes

startPanEvent ​

ArgumentTypeRequiredDescription
argsYes

startPinchEvent ​

ArgumentTypeRequiredDescription
argsYes

startPointerLockEvent ​

ArgumentTypeRequiredDescription
argsYes

startRotateEvent ​

ArgumentTypeRequiredDescription
argsYes

switchToVRAnimation ​

tapEvent ​

ArgumentTypeRequiredDescription
argsYes

updateGamepads ​

ArgumentTypeRequiredDescription
displayIdNumberYesThe ID of the display.