Перейти к основному содержанию

Class: ControllerExtensionBase

Около 3 мин

Class: ControllerExtensionBase

Base class for any controller extension for render manager. Controller extensions can manage renderer camera and provide way for user actions. For example, rotating, zoom, walkthrough, panoramic moving and so on.

Hierarchy

Constructors

constructor

new ControllerExtensionBase(viewerName, controllerDesc, controllerIcon): ControllerExtensionBase

Parameters

NameTypeDescription
viewerNamestringOwner viewer name.
controllerDescstringMode description or name. Also you can use locale key.
controllerIconstringController icon name. Icon name will be used by viewer Toolbar UI component for displaying controllers dropdown menu.

Returns

ControllerExtensionBase

Overrides

ExtensionBase.constructor

Properties

controllerDesc

Readonly controllerDesc: string

Controller description or name.


controllerIcon

Readonly controllerIcon: string

Controller icon name. Icon name will be used by viewer Toolbar UI component for displaying mode buttons.


getName

getName: () => string

Get unique extension name.

Type declaration

▸ (): string

Get unique extension name.

Returns

string

Inherited from

ExtensionBase.getName


helpDesc

Readonly helpDesc: string

Optional description for placing on HelpToolbar.

Inherited from

ExtensionBase.helpDesc


helpIcon

Readonly helpIcon: string

Optional icon for placing on HelpToolbar.

Inherited from

ExtensionBase.helpIcon


hideToolbar

hideToolbar: boolean

Is extension need to hide toolbar or not.

Inherited from

ExtensionBase.hideToolbar


isUpdated

isUpdated: boolean

Is controller updated or not.


state

state: any

Any extension data which can be stored in browser local storage and restored after (any extension settings, buttons state and so one). State will be saved in local storage with 'tangl-ext-extensionName' key.

Inherited from

ExtensionBase.state


type

Readonly type: string

Extension type (ext, mode, control)

Overrides

ExtensionBase.type


viewerName

Readonly viewerName: string

Owner viewer name.

Inherited from

ExtensionBase.viewerName


getName

Static getName: () => string

Get unique extension name.

Type declaration

▸ (): string

Get unique extension name.

Returns

string

Inherited from

ExtensionBase.getName

Methods

getRenderManager

getRenderManager(): RenderManager

Get current RenderManager instance.

Returns

RenderManager

Inherited from

ExtensionBase.getRenderManager


getTargetClone

getTargetClone(): Vector3

Get camera target point clone.

Returns

Vector3


restoreState

restoreState(): void

Restore extension state from the local storage.

Returns

void

Inherited from

ExtensionBase.restoreState


saveState

saveState(): void

Save extension state in the local storage.

Returns

void

Inherited from

ExtensionBase.saveState


setRestoreStateHandler

setRestoreStateHandler(handler): void

Sets external hook handler for restoring extension state in the local storage.

Parameters

NameTypeDescription
handlerFunctionhandler hook function.

Returns

void

Inherited from

ExtensionBase.setRestoreStateHandler


setSaveStateHandler

setSaveStateHandler(handler): void

Sets external hook handler for storing extension state in the local storage.

Parameters

NameTypeDescription
handlerFunctionhandler hook function.

Returns

void

Inherited from

ExtensionBase.setSaveStateHandler

Hooks

added

added(): void

Hook when extension is added to ExtensionManager. Called by ExtensionManager.addExtension().

Returns

void

Inherited from

ExtensionBase.added


cameraModeChanged

cameraModeChanged(perspective): boolean

Hook when RenderManager wants change camera mode. Called by ThreeManager.animate().

Parameters

NameTypeDescription
perspectivebooleancamera mode state for applying (perspective or orthogonal).

Returns

boolean

Allow RenderManager change camera mode or not.


commandChanged

commandChanged(newCommand): void

Hook when current extension command is changed or finished. Called by ExtensionManager.setCurrentCommandExtension().

Parameters

NameType
newCommandExtensionBase

Returns

void

Inherited from

ExtensionBase.commandChanged


dedicatedToolbarRender

dedicatedToolbarRender(container): void

Render function for rendering dedicated toolbar content.

Parameters

NameTypeDescription
containerHTMLElementParent DOM container.

Returns

void

Inherited from

ExtensionBase.dedicatedToolbarRender


deleted

deleted(): void

Hook when extension is deleted from ExtensionManager. Called by ExtensionManager.clear().

Returns

void

Inherited from

ExtensionBase.deleted


selected

selected(): void

Hook when extension is activated (selected as current controller). Called by ExtensionManager.selectControllerExtension().

Returns

void


sharedToolbarRender

sharedToolbarRender(container): void

Render function for rendering shared toolbar content.

Parameters

NameTypeDescription
containerHTMLElementParent DOM container.

Returns

void

Inherited from

ExtensionBase.sharedToolbarRender


uiRender

uiRender(container): void

Render function for rendering additional UI above viewer canvas.

Parameters

NameTypeDescription
containerHTMLElementParent DOM container.

Returns

void

Inherited from

ExtensionBase.uiRender


unselected

unselected(): void

Hook when extension is deactivated. Called by ExtensionManager.selectControllerExtension()

Returns

void


updated

updated(delta): void

Hook when controller extension needs updating and transforming camera for next renderer frame. Called by ThreeManager.animate().

Parameters

NameTypeDescription
deltanumberTime delta between last frame and new frame.

Returns

void