API / geotoolkit3d / controller / TrackballController / 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
- AbstractGestureTool for input device support.
- Plot for more details
↳
TrackballController
Constructors
Methods
Constructors
• new TrackballController(options?)
| Name | Type |
|---|---|
Optional options | Options |
AbstractController.constructor
Methods
▸ dispose(): void
Function to clean up the references from this tool.
void
▸ getCamera(): Camera
Gets this controler Camera
Camera
▸ getClassName(): string
string
AbstractController.getClassName
▸ getName(): string
Returns the tool name.
string
The tool's name
▸ getOptions(): OptionsOut
Get trackball controller options
options
▸ getPlot(): Plot
Get the plot of this Tool.
▸ hasEventListener(type, callback?): boolean
Check if a list of event listeners for this type contains this listener
| Name | Type | Description |
|---|---|---|
type | string | type of event or property |
Optional callback | Function | to be called, if null, check if any callback is registered |
boolean
AbstractController.hasEventListener
▸ 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().
boolean
▸ isDisposed(): boolean
Returns whether this object has been disposed
boolean
▸ isSilent(): boolean
Return true if the event dispatcher doesn't notify any events
boolean
▸ isTouchEvent(eventArgs): boolean
return true if the event is a touch event and false otherwise.
| Name | Type | Description |
|---|---|---|
eventArgs | Event | EventArgs | contains info of the event |
boolean
AbstractController.isTouchEvent
▸ notify<E>(type, source, args?): TrackballController
Notify listeners
| Name | Type |
|---|---|
E | extends string |
| Name | Type | Description |
|---|---|---|
type | E | event types |
source | AbstractTool | of the event |
Optional args | EventMap[E] | arguments of the event |
this
▸ 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.
| Name | Type |
|---|---|
E | extends string |
| Name | Type | Description |
|---|---|---|
Optional type | E | type of the event |
Optional callback | (eventType: E, sender: TrackballController, args: EventMap[E]) => void | function to be called |
this
▸ 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.
| Name | Type |
|---|---|
E | extends string |
| Name | Type | Description |
|---|---|---|
type | E | type of event or property |
callback | (eventType: E, sender: TrackballController, args: EventMap[E]) => void | to be called |
this
▸ onContext(event): void
Called when a 'context' event has occurred
| Name | Type | Description |
|---|---|---|
event | PointerEvent | the native event with plot coordinates added |
void
▸ onCursorMove(event): void
Called when a 'onCursorMove' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onCursorMove
▸ onDoubleClick(event): void
Called when a 'doubleclick' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onDoubleClick
▸ onDoubleTap(event): void
Called when a 'onDoubleTap' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onDoubleTap
▸ onDrag(event): void
Called when a 'onDrag' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
▸ onDragEnd(event): void
Called when a 'onDragEnd' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
▸ onDragStart(event): void
Called when a 'onDragStart' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onDragStart
▸ onKey(event): void
Called when a 'onKey' event has occurred
| Name | Type | Description |
|---|---|---|
event | KeyboardEvent | the native event with plot coordinates added |
void
▸ onKeyDown(event): void
Called when a 'keydown' event has occurred
| Name | Type | Description |
|---|---|---|
event | KeyboardEvent | the native event with plot coordinates added |
void
▸ onKeyEnd(event): void
Called when a 'onKeyEnd' event has occurred
| Name | Type | Description |
|---|---|---|
event | KeyboardEvent | the native event with plot coordinates added |
void
▸ onKeyStart(event): void
Called when a 'onKeyStart' event has occurred
| Name | Type | Description |
|---|---|---|
event | KeyboardEvent | the native event with plot coordinates added |
void
▸ onKeyUp(event): void
Called when a 'keyup' event has occurred
| Name | Type | Description |
|---|---|---|
event | KeyboardEvent | the native event with plot coordinates added |
void
▸ onMouseDown(event): void
Called when a 'mousedown' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onMouseDown
▸ onMouseMove(event): void
Called when a 'mousemove' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onMouseMove
▸ onMouseOut(event): void
Called when a 'mouseout' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
▸ onMouseUp(event): void
Called when a 'mouseup' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
▸ onMouseWheel(event): void
Called when a 'mousewheel' event has occurred
| Name | Type | Description |
|---|---|---|
event | WheelEvent | the native event with plot coordinates added |
void
AbstractController.onMouseWheel
▸ onPinch(event): void
Called when a 'onPinch' event has occurred
| Name | Type | Description |
|---|---|---|
event | MovePointerEvent | the native event with plot coordinates added |
void
▸ onPinchEnd(event): void
Called when a 'onPinchEnd' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
▸ onPinchStart(event): void
Called when a 'onPinchStart' event has occurred
| Name | Type | Description |
|---|---|---|
event | MovePointerEvent | the native event with plot coordinates added |
void
AbstractController.onPinchStart
▸ onSlide(event): void
Called when a 'onSlide' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
▸ onSlideEnd(event): void
Called when a 'onSlideEnd' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
▸ onSlideStart(event): void
Called when a 'onSlideStart' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onSlideStart
▸ onTap(event): void
Called when a 'onTap' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
▸ onTouchEnd(event): void
Called when a 'touchend' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
▸ onTouchMove(event): void
Called when a 'touchmove' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onTouchMove
▸ onTouchStart(event): void
Called when a 'touchstart' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onTouchStart
▸ onVisibilityChanged(event): void
Called when a 'onVisibilityChanged' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onVisibilityChanged
▸ onVisibilityGained(event): void
Called when a 'onVisibilityGained' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onVisibilityGained
▸ onVisibilityLost(event): void
Called when a 'onVisibilityLost' event has occurred
| Name | Type | Description |
|---|---|---|
event | CustomPointerEvent | the native event with plot coordinates added |
void
AbstractController.onVisibilityLost
▸ setOptions(options?): TrackballController
Set trackball controller options
| Name | Type |
|---|---|
Optional options | Options |
this
▸ setSilent(bool): TrackballController
Set silent mode
| Name | Type | Description |
|---|---|---|
bool | boolean | flag to enable silent mode |
this
▸ setup(deviceSupport): TrackballController
This function allows tools to bind their events to the device support
| Name | Type | Description |
|---|---|---|
deviceSupport | AbstractDeviceSupport | the type of device we are attaching to |
▸ Static getClassName(): string
string