Last updated

API / geotoolkit3d / controller / FirstPersonController / FirstPersonController

Class: FirstPersonController

controller.FirstPersonController.FirstPersonController

A controller that emulates an 'Orbit' 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 FirstPersonController(options)

new FirstPersonController(options?)

Parameters

Name Type
Optional optionsOptions

Overrides

OrbitController.constructor

Methods

dispose

dispose(): void

Function to clean up the references from this tool.

Returns

void

Inherited from

OrbitController.dispose


getCamera

getCamera(): Camera

Gets this controler Camera

Returns

Camera

Inherited from

OrbitController.getCamera


getClassName

getClassName(): string

Returns

string

Inherited from

OrbitController.getClassName


getName

getName(): string

Returns the tool name.

Returns

string

The tool's name

Inherited from

OrbitController.getName


getOptions

getOptions(): OptionsOut

Get first person controller options

Returns

OptionsOut

options

Overrides

OrbitController.getOptions


getPlot

getPlot(): Plot

Get the plot of this Tool.

Returns

Plot

Inherited from

OrbitController.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

OrbitController.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

OrbitController.isArmed


isDisposed

isDisposed(): boolean

Returns whether this object has been disposed

Returns

boolean

Inherited from

OrbitController.isDisposed


isSilent

isSilent(): boolean

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

Returns

boolean

Inherited from

OrbitController.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

OrbitController.isTouchEvent


notify

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

Notify listeners

Type parameters

NameType
Eextends string

Parameters

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

Returns

FirstPersonController

this

Inherited from

OrbitController.notify


off

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

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: FirstPersonController, args: EventMap[E]) => voidfunction to be called

Returns

FirstPersonController

this

Inherited from

OrbitController.off


on

on<E>(type, callback): FirstPersonController

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: FirstPersonController, args: EventMap[E]) => voidto be called

Returns

FirstPersonController

this

Inherited from

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.onDoubleTap


onDrag

onDrag(event): void

Called when a 'onDrag' event has occurred

Parameters

Name Type Description
eventPointerEvent & CustomEvent & EventArgsthe native event with plot coordinates added

Returns

void

Overrides

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

Inherited from

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.onPinchStart


onSlide

onSlide(event): void

Called when a 'onSlide' event has occurred

Parameters

Name Type Description
eventPointerEvent & CustomEvent & EventArgsthe native event with plot coordinates added

Returns

void

Overrides

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.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

OrbitController.onVisibilityLost


setOptions

setOptions(options?): FirstPersonController

Set options, the given json will be merged with the object's state so that only the given options will be changed.

Parameters

Name Type
Optional optionsOptions

Returns

FirstPersonController

this

Overrides

OrbitController.setOptions


setSilent

setSilent(bool): FirstPersonController

Set silent mode

Parameters

Name Type Description
boolbooleanflag to enable silent mode

Returns

FirstPersonController

this

Inherited from

OrbitController.setSilent


setup

setup(deviceSupport): FirstPersonController

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

FirstPersonController

Inherited from

OrbitController.setup


getClassName

Static getClassName(): string

Returns

string

Inherited from

OrbitController.getClassName