Last updated

API / geotoolkit3d / controller / TrackballController / TrackballController

Class: TrackballController

controller.TrackballController.TrackballController

A controller that emulates a 'Trackball' behavior.

This controller let the user manipulate the camera position using mouse or touch input.

This controller uses a 3D anchor point and will revolve around it (named lookAt).
This anchor point can be changed either by user action (double click/tap) or programmatically.

It will let the user rotate the camera on the 'horizontal' axis infinitely.
But it prevents the user from rotate the camera on the vertical axis more than 0-180 degrees.
So that the user cannot put the camera upside down.

This controller also support 'zooming' by moving the camera forward or backward.

To be used, it should be set on the Plot through the setOptions function.
Most of the behaviors can be configured either for speed or even to disable some actions through the setOptions.

See

Hierarchy

Table of contents

Constructors
Methods

Contents

Constructors

new TrackballController(options)

new TrackballController(options?)

Parameters

Name Type
Optional optionsOptions

Overrides

AbstractController.constructor

Methods

dispose

dispose(): void

Function to clean up the references from this tool.

Returns

void

Inherited from

AbstractController.dispose


getCamera

getCamera(): Camera

Gets this controler Camera

Returns

Camera

Inherited from

AbstractController.getCamera


getClassName

getClassName(): string

Returns

string

Inherited from

AbstractController.getClassName


getName

getName(): string

Returns the tool name.

Returns

string

The tool's name

Inherited from

AbstractController.getName


getOptions

getOptions(): OptionsOut

Get trackball controller options

Returns

OptionsOut

options

Overrides

AbstractController.getOptions


getPlot

getPlot(): Plot

Get the plot of this Tool.

Returns

Plot

Inherited from

AbstractController.getPlot


hasEventListener

hasEventListener(type, callback?): boolean

Check if a list of event listeners for this type contains this listener

Parameters

Name Type Description
typestringtype of event or property
Optional callbackFunctionto be called, if null, check if any callback is registered

Returns

boolean

Inherited from

AbstractController.hasEventListener


isArmed

isArmed(): boolean

Return if this tool is 'armed'.
The tool actions are disabled when not armed.
A tool can either be armed at all time, or only when a specific key is pressed. To set/unset the arming key, please see this tool option 'armingkey', via .setOptions().

Returns

boolean

Inherited from

AbstractController.isArmed


isDisposed

isDisposed(): boolean

Returns whether this object has been disposed

Returns

boolean

Inherited from

AbstractController.isDisposed


isSilent

isSilent(): boolean

Return true if the event dispatcher doesn't notify any events

Returns

boolean

Inherited from

AbstractController.isSilent


isTouchEvent

isTouchEvent(eventArgs): boolean

return true if the event is a touch event and false otherwise.

Parameters

Name Type Description
eventArgsEvent | EventArgscontains info of the event

Returns

boolean

Inherited from

AbstractController.isTouchEvent


notify

notify<E>(type, source, args?): TrackballController

Notify listeners

Type parameters

NameType
Eextends string

Parameters

Name Type Description
typeEevent types
sourceAbstractToolof the event
Optional argsEventMap[E]arguments of the event

Returns

TrackballController

this

Inherited from

AbstractController.notify


off

off<E>(type?, callback?): TrackballController

Detach listener on event. Calling .off() with no arguments removes all attached listeners. Calling .off(type) with no callback removes all attached listeners for specific type.

Type parameters

NameType
Eextends string

Parameters

Name Type Description
Optional typeEtype of the event
Optional callback(eventType: E, sender: TrackballController, args: EventMap[E]) => voidfunction to be called

Returns

TrackballController

this

Inherited from

AbstractController.off


on

on<E>(type, callback): TrackballController

Attach listener on event that will be called whenever the specified event is delivered to the target

If the callback function is already in the list of event listeners for this target, the function is not added a second time.

If a particular anonymous function is in the list of event listeners registered for a certain target, and then later in the code, an identical anonymous function is given in an "on" call, the second function will also be added to the list of event listeners for that target.

Type parameters

NameType
Eextends string

Parameters

Name Type Description
typeEtype of event or property
callback(eventType: E, sender: TrackballController, args: EventMap[E]) => voidto be called

Returns

TrackballController

this

Inherited from

AbstractController.on


onContext

onContext(event): void

Called when a 'context' event has occurred

Parameters

Name Type Description
eventPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onContext


onCursorMove

onCursorMove(event): void

Called when a 'onCursorMove' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onCursorMove


onDoubleClick

onDoubleClick(event): void

Called when a 'doubleclick' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onDoubleClick


onDoubleTap

onDoubleTap(event): void

Called when a 'onDoubleTap' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onDoubleTap


onDrag

onDrag(event): void

Called when a 'onDrag' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onDrag


onDragEnd

onDragEnd(event): void

Called when a 'onDragEnd' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onDragEnd


onDragStart

onDragStart(event): void

Called when a 'onDragStart' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onDragStart


onKey

onKey(event): void

Called when a 'onKey' event has occurred

Parameters

Name Type Description
eventKeyboardEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onKey


onKeyDown

onKeyDown(event): void

Called when a 'keydown' event has occurred

Parameters

Name Type Description
eventKeyboardEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onKeyDown


onKeyEnd

onKeyEnd(event): void

Called when a 'onKeyEnd' event has occurred

Parameters

Name Type Description
eventKeyboardEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onKeyEnd


onKeyStart

onKeyStart(event): void

Called when a 'onKeyStart' event has occurred

Parameters

Name Type Description
eventKeyboardEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onKeyStart


onKeyUp

onKeyUp(event): void

Called when a 'keyup' event has occurred

Parameters

Name Type Description
eventKeyboardEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onKeyUp


onMouseDown

onMouseDown(event): void

Called when a 'mousedown' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onMouseDown


onMouseMove

onMouseMove(event): void

Called when a 'mousemove' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onMouseMove


onMouseOut

onMouseOut(event): void

Called when a 'mouseout' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onMouseOut


onMouseUp

onMouseUp(event): void

Called when a 'mouseup' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onMouseUp


onMouseWheel

onMouseWheel(event): void

Called when a 'mousewheel' event has occurred

Parameters

Name Type Description
eventWheelEventthe native event with plot coordinates added

Returns

void

Overrides

AbstractController.onMouseWheel


onPinch

onPinch(event): void

Called when a 'onPinch' event has occurred

Parameters

Name Type Description
eventMovePointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onPinch


onPinchEnd

onPinchEnd(event): void

Called when a 'onPinchEnd' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onPinchEnd


onPinchStart

onPinchStart(event): void

Called when a 'onPinchStart' event has occurred

Parameters

Name Type Description
eventMovePointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onPinchStart


onSlide

onSlide(event): void

Called when a 'onSlide' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onSlide


onSlideEnd

onSlideEnd(event): void

Called when a 'onSlideEnd' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onSlideEnd


onSlideStart

onSlideStart(event): void

Called when a 'onSlideStart' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onSlideStart


onTap

onTap(event): void

Called when a 'onTap' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onTap


onTouchEnd

onTouchEnd(event): void

Called when a 'touchend' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onTouchEnd


onTouchMove

onTouchMove(event): void

Called when a 'touchmove' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onTouchMove


onTouchStart

onTouchStart(event): void

Called when a 'touchstart' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onTouchStart


onVisibilityChanged

onVisibilityChanged(event): void

Called when a 'onVisibilityChanged' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onVisibilityChanged


onVisibilityGained

onVisibilityGained(event): void

Called when a 'onVisibilityGained' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onVisibilityGained


onVisibilityLost

onVisibilityLost(event): void

Called when a 'onVisibilityLost' event has occurred

Parameters

Name Type Description
eventCustomPointerEventthe native event with plot coordinates added

Returns

void

Inherited from

AbstractController.onVisibilityLost


setOptions

setOptions(options?): TrackballController

Set trackball controller options

Parameters

Name Type
Optional optionsOptions

Returns

TrackballController

this

Overrides

AbstractController.setOptions


setSilent

setSilent(bool): TrackballController

Set silent mode

Parameters

Name Type Description
boolbooleanflag to enable silent mode

Returns

TrackballController

this

Inherited from

AbstractController.setSilent


setup

setup(deviceSupport): TrackballController

This function allows tools to bind their events to the device support

Parameters

Name Type Description
deviceSupportAbstractDeviceSupportthe type of device we are attaching to

Returns

TrackballController

Inherited from

AbstractController.setup


getClassName

Static getClassName(): string

Returns

string

Inherited from

AbstractController.getClassName