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

getMouseScrollDebounceByPass

getPicker

getPreventDefaultOnPointerDown

getPreventDefaultOnPointerUp

getRecognizeGestures

getStillUpdateRate

getView

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

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

isAnimating

isPointerLocked

keyDownEvent

ArgumentTypeRequiredDescription
argsYes

keyPressEvent

ArgumentTypeRequiredDescription
argsYes

keyUpEvent

ArgumentTypeRequiredDescription
argsYes

leftButtonPressEvent

ArgumentTypeRequiredDescription
argsYes

leftButtonReleaseEvent

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.

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.

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

setMouseScrollDebounceByPass

Allow system to bypass scrolling debounce. This function must be called to allow the debounce to be bypassed

ArgumentTypeRequiredDescription
mouseScrollDebounceByPassYes

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

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

updateGamepads

ArgumentTypeRequiredDescription
displayIdNumberYesThe ID of the display.