[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit3d](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d) / [tool](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool) / [cursor](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#cursor) / [CursorTool](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool.cursor.cursortool) / CursorTool

# Class: CursorTool

[cursor](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#cursor).[CursorTool](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool.cursor.cursortool).CursorTool

A tool providing cursor representation in 3D.<br>
This tool will listen to cursor events and notify the internal cursor representation.<br>

## Hierarchy

- [`AbstractGestureTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool)
↳ **`CursorTool`**


## Table of contents

Constructors
- [new CursorTool(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool.md#new cursortool(options))


Methods
| [addMoveListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#addmovelistener) | [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#dispose) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#getclassname) |
|  --- | --- | --- |
| [getCursor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#getcursor) | [getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#getname) | [getOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#getoptions) |
| [getPlot](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#getplot) | [hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#haseventlistener) | [isArmed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#isarmed) |
| [isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#isdisposed) | [isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#issilent) | [isTouchEvent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#istouchevent) |
| [moveCursor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#movecursor) | [notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#notify) | [off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#off) |
| [on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#on) | [onContext](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#oncontext) | [onCursorMove](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#oncursormove) |
| [onDoubleClick](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#ondoubleclick) | [onDoubleTap](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#ondoubletap) | [onDrag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#ondrag) |
| [onDragEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#ondragend) | [onDragStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#ondragstart) | [onKey](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onkey) |
| [onKeyDown](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onkeydown) | [onKeyEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onkeyend) | [onKeyStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onkeystart) |
| [onKeyUp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onkeyup) | [onMouseDown](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onmousedown) | [onMouseMove](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onmousemove) |
| [onMouseOut](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onmouseout) | [onMouseUp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onmouseup) | [onMouseWheel](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onmousewheel) |
| [onPinch](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onpinch) | [onPinchEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onpinchend) | [onPinchStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onpinchstart) |
| [onSlide](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onslide) | [onSlideEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onslideend) | [onSlideStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onslidestart) |
| [onTap](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#ontap) | [onTouchEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#ontouchend) | [onTouchMove](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#ontouchmove) |
| [onTouchStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#ontouchstart) | [onVisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onvisibilitychanged) | [onVisibilityGained](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onvisibilitygained) |
| [onVisibilityLost](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#onvisibilitylost) | [removeMoveListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#removemovelistener) | [setOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#setoptions) |
| [setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#setsilent) | [setup](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#setup) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool#getclassname-1) |


## Contents

Constructors
#### new CursorTool(options)

• **new CursorTool**(`options`)

CursorTool constructor.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool.cursor.cursortool#cursortool#options) | See geotoolkit3d.tool.AbstractGestureTool for inherited options |


#### Overrides

AbstractGestureTool.constructor

Methods
#### addMoveListener

▸ **addMoveListener**(`callback`): [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

Adds a listener that will be triggered each time this tool 'move' occurs.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `callback` | [`ListenerFunction`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool.cursor.cursortool#cursortool#listenerfunction) | The function that will be called |


#### Returns

[`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

this

#### dispose

▸ **dispose**(): `void`

Function to clean up the references from this tool.

#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#dispose)

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#getclassname)

#### getCursor

▸ **getCursor**(): [`AbstractCursor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.abstractcursor.abstractcursor)

Returns the cursor updating on mouse move

#### Returns

[`AbstractCursor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.abstractcursor.abstractcursor)

#### getName

▸ **getName**(): `string`

Returns the tool name.

#### Returns

`string`

The tool's name

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#getname)

#### getOptions

▸ **getOptions**(): `Required`<[`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool.cursor.cursortool#cursortool#options)&gt;

Get abstract gesture tool options

#### Returns

`Required`<[`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool.cursor.cursortool#cursortool#options)&gt;

options

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[getOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#getoptions)

#### getPlot

▸ **getPlot**(): [`Plot`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.plot.plot)

Get the plot of this Tool.

#### Returns

[`Plot`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.plot.plot)

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[getPlot](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#getplot)

#### hasEventListener

▸ **hasEventListener**(`type`, `callback?`): `boolean`

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

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `string` | type of event or property |
| `Optional` `callback` | `Function` | to be called, if null, check if any callback is registered |


#### Returns

`boolean`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#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

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[isArmed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#isarmed)

#### isDisposed

▸ **isDisposed**(): `boolean`

Returns whether this object has been disposed

#### Returns

`boolean`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#isdisposed)

#### isSilent

▸ **isSilent**(): `boolean`

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

#### Returns

`boolean`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#issilent)

#### isTouchEvent

▸ **isTouchEvent**(`eventArgs`): `boolean`

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

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventArgs` | `Event` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | contains info of the event |


#### Returns

`boolean`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[isTouchEvent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#istouchevent)

#### moveCursor

▸ **moveCursor**(`position`): `void`

Moves the cursor at the given position.<br>
This does not fire an event.<br>

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `position` | `Vector3` | The new position or null to hide the cursor |


#### Returns

`void`

#### notify

▸ **notify**<`E`&gt;(`type`, `source`, `args?`): [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

Notify listeners

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | event types |
| `source` | [`AbstractTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstracttool.abstracttool) | of the event |
| `Optional` `args` | [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#eventmap)[`E`] | arguments of the event |


#### Returns

[`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

this

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#notify)

#### off

▸ **off**<`E`&gt;(`type?`, `callback?`): [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

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

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `type` | `E` | type of the event |
| `Optional` `callback` | (`eventType`: `E`, `sender`: [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#eventmap)[`E`]) => `void` | function to be called |


#### Returns

[`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

this

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#off)

#### on

▸ **on**<`E`&gt;(`type`, `callback`): [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

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

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | type of event or property |
| `callback` | (`eventType`: `E`, `sender`: [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#eventmap)[`E`]) => `void` | to be called |


#### Returns

[`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

this

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#on)

#### onContext

▸ **onContext**(`event`): `void`

Called when a 'context' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | `PointerEvent` | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onContext](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#oncontext)

#### onCursorMove

▸ **onCursorMove**(`event`): `void`

Called when a 'onCursorMove' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onCursorMove](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#oncursormove)

#### onDoubleClick

▸ **onDoubleClick**(`event`): `void`

Called when a 'doubleclick' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onDoubleClick](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#ondoubleclick)

#### onDoubleTap

▸ **onDoubleTap**(`event`): `void`

Called when a 'onDoubleTap' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onDoubleTap](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#ondoubletap)

#### onDrag

▸ **onDrag**(`event`): `void`

Called when a 'onDrag' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onDrag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#ondrag)

#### onDragEnd

▸ **onDragEnd**(`event`): `void`

Called when a 'onDragEnd' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onDragEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#ondragend)

#### onDragStart

▸ **onDragStart**(`event`): `void`

Called when a 'onDragStart' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onDragStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#ondragstart)

#### onKey

▸ **onKey**(`event`): `void`

Called when a 'onKey' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | `KeyboardEvent` | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onKey](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onkey)

#### onKeyDown

▸ **onKeyDown**(`event`): `void`

Called when a 'keydown' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | `KeyboardEvent` | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onKeyDown](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onkeydown)

#### onKeyEnd

▸ **onKeyEnd**(`event`): `void`

Called when a 'onKeyEnd' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | `KeyboardEvent` | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onKeyEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onkeyend)

#### onKeyStart

▸ **onKeyStart**(`event`): `void`

Called when a 'onKeyStart' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | `KeyboardEvent` | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onKeyStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onkeystart)

#### onKeyUp

▸ **onKeyUp**(`event`): `void`

Called when a 'keyup' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | `KeyboardEvent` | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onKeyUp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onkeyup)

#### onMouseDown

▸ **onMouseDown**(`event`): `void`

Called when a 'mousedown' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onMouseDown](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onmousedown)

#### onMouseMove

▸ **onMouseMove**(`event`): `void`

Called when a 'mousemove' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onMouseMove](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onmousemove)

#### onMouseOut

▸ **onMouseOut**(`event`): `void`

Called when a 'mouseout' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onMouseOut](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onmouseout)

#### onMouseUp

▸ **onMouseUp**(`event`): `void`

Called when a 'mouseup' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onMouseUp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onmouseup)

#### onMouseWheel

▸ **onMouseWheel**(`event`): `void`

Called when a 'mousewheel' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | `WheelEvent` | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onMouseWheel](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onmousewheel)

#### onPinch

▸ **onPinch**(`event`): `void`

Called when a 'onPinch' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`MovePointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractgesturetool#movepointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onPinch](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onpinch)

#### onPinchEnd

▸ **onPinchEnd**(`event`): `void`

Called when a 'onPinchEnd' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onPinchEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onpinchend)

#### onPinchStart

▸ **onPinchStart**(`event`): `void`

Called when a 'onPinchStart' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`MovePointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractgesturetool#movepointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onPinchStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onpinchstart)

#### onSlide

▸ **onSlide**(`event`): `void`

Called when a 'onSlide' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onSlide](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onslide)

#### onSlideEnd

▸ **onSlideEnd**(`event`): `void`

Called when a 'onSlideEnd' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onSlideEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onslideend)

#### onSlideStart

▸ **onSlideStart**(`event`): `void`

Called when a 'onSlideStart' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onSlideStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onslidestart)

#### onTap

▸ **onTap**(`event`): `void`

Called when a 'onTap' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onTap](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#ontap)

#### onTouchEnd

▸ **onTouchEnd**(`event`): `void`

Called when a 'touchend' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onTouchEnd](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#ontouchend)

#### onTouchMove

▸ **onTouchMove**(`event`): `void`

Called when a 'touchmove' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onTouchMove](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#ontouchmove)

#### onTouchStart

▸ **onTouchStart**(`event`): `void`

Called when a 'touchstart' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onTouchStart](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#ontouchstart)

#### onVisibilityChanged

▸ **onVisibilityChanged**(`event`): `void`

Called when a 'onVisibilityChanged' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onVisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onvisibilitychanged)

#### onVisibilityGained

▸ **onVisibilityGained**(`event`): `void`

Called when a 'onVisibilityGained' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onVisibilityGained](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onvisibilitygained)

#### onVisibilityLost

▸ **onVisibilityLost**(`event`): `void`

Called when a 'onVisibilityLost' event has occurred

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `event` | [`CustomPointerEvent`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool#abstractdevicesupport#custompointerevent) | the native event with plot coordinates added |


#### Returns

`void`

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[onVisibilityLost](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#onvisibilitylost)

#### removeMoveListener

▸ **removeMoveListener**(`callback`): [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

Removes a listener

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `callback` | [`ListenerFunction`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool.cursor.cursortool#cursortool#listenerfunction) | The listener callback |


#### Returns

[`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

this

#### setOptions

▸ **setOptions**(`options`): [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

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  | Description  |
|  --- | --- | --- |
| `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.tool.cursor.cursortool#cursortool#options) | The options |


#### Returns

[`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

this

#### Overrides

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[setOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#setoptions)

#### setSilent

▸ **setSilent**(`bool`): [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

Set silent mode

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `bool` | `boolean` | flag to enable silent mode |


#### Returns

[`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

this

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#setsilent)

#### setup

▸ **setup**(`deviceSupport`): [`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

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

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `deviceSupport` | [`AbstractDeviceSupport`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.devicesupport.abstractdevicesupport.abstractdevicesupport) | the type of device we are attaching to |


#### Returns

[`CursorTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.cursor.cursortool.cursortool)

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[setup](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#setup)

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractGestureTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.tool.abstractgesturetool.abstractgesturetool#getclassname-1)