Skip to content
Last updated

API / geotoolkit3d / controller / FirstPersonController / FirstPersonController

Class: FirstPersonController

controller.FirstPersonController.FirstPersonController

A controller that emulates an 'Orbit' behavior.<br> <br> This controller let the user manipulate the camera position using mouse or touch input.<br> <br> This controller uses a 3D anchor point and will revolve around it (named lookAt).<br> This anchor point can be changed either by user action (double click/tap) or programmatically.<br> <br> It will let the user rotate the camera on the 'horizontal' axis infinitely.<br> But it prevents the user from rotate the camera on the vertical axis more than 0-180 degrees.<br> So that the user cannot put the camera upside down.<br> <br> This controller also support 'zooming' by moving the camera forward or backward.<br> <br> To be used, it should be set on the Plot through the setOptions function. <br> Most of the behaviors can be configured either for speed or even to disable some actions through the setOptions. <br>

See

Hierarchy

Table of contents

Constructors
  • [new FirstPersonController(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit3d.controller.firstpersoncontroller.firstpersoncontroller.md#new firstpersoncontroller(options))
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'.<br> The tool actions are disabled when not armed.<br> 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&gt;(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&gt;(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&gt;(type, callback): FirstPersonController

Attach listener on event that will be called whenever the specified event is delivered to the target <p> If the callback function is already in the list of event listeners for this target, the function is not added a second time. </p> <p> 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. </p>

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

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