Skip to content

@simversus/yjvis


@simversus/yjvis / control / Interactor

Class: Interactor ​

Defined in: control/Interactor.ts:132

Interactor类中坐标系在原点在左上角, 即CSS坐标系, WebGPU的屏幕像素坐标系

Extends ​

  • BaseObject

Constructors ​

Constructor ​

new Interactor(dom?): Interactor

Defined in: control/Interactor.ts:199

Parameters ​

dom? ​

HTMLElement

Returns ​

Interactor

Overrides ​

BaseObject.constructor

Properties ​

classHierarchy ​

classHierarchy: ClassEnum[]

Defined in: core/baseObject.ts:19

继承链

Inherited from ​

BaseObject.classHierarchy


curPos ​

curPos: Number2

Defined in: control/Interactor.ts:141

记录移动时的坐标


downDelta ​

downDelta: Number2

Defined in: control/Interactor.ts:150

cuePos - downPos 正值表示向下, 负值表示向上


downPos ​

downPos: Number2

Defined in: control/Interactor.ts:138


isPicking ​

isPicking: boolean = false

Defined in: control/Interactor.ts:133


isWidgetControling ​

isWidgetControling: boolean = false

Defined in: control/Interactor.ts:135


label? ​

optional label: string

Defined in: core/baseObject.ts:27

自定义标识

Inherited from ​

BaseObject.label


moveDelta ​

moveDelta: Number2

Defined in: control/Interactor.ts:155


preDownDelta ​

preDownDelta: Number2

Defined in: control/Interactor.ts:152


upPos ​

upPos: Number2

Defined in: control/Interactor.ts:144


userData ​

userData: object = {}

Defined in: core/baseObject.ts:23

用户自定义数据

Inherited from ​

BaseObject.userData


uuid ​

uuid: string

Defined in: core/baseObject.ts:15

唯一标识符

Inherited from ​

BaseObject.uuid


wheelDelta ​

wheelDelta: Number2

Defined in: control/Interactor.ts:156


zoomFactor ​

zoomFactor: number = 0

Defined in: control/Interactor.ts:157

Accessors ​

domElement ​

Get Signature ​

get domElement(): HTMLElement

Defined in: control/Interactor.ts:185

Returns ​

HTMLElement


domHeight ​

Get Signature ​

get domHeight(): number

Defined in: control/Interactor.ts:193

Returns ​

number


domWidth ​

Get Signature ​

get domWidth(): number

Defined in: control/Interactor.ts:189

Returns ​

number


mtime ​

Get Signature ​

get mtime(): number

Defined in: core/baseObject.ts:56

获取对象的最后修改时间戳

Returns ​

number

Inherited from ​

BaseObject.mtime

Methods ​

_bindEvents() ​

_bindEvents(): void

Defined in: control/Interactor.ts:221

Returns ​

void


_calcInteractorData() ​

_calcInteractorData(e, op): InteractorData

Defined in: control/Interactor.ts:509

Parameters ​

e ​

Event | PointerEvent | KeyboardEvent | WheelEvent

op ​

InteractorBindOption

Returns ​

InteractorData


_execCB() ​

_execCB(op, e): void

Defined in: control/Interactor.ts:475

Parameters ​

op ​

InteractorBindOption

e ​

Event | PointerEvent | KeyboardEvent | WheelEvent

Returns ​

void


addEventListener() ​

addEventListener(type, cb): void

Defined in: core/baseObject.ts:105

添加事件监听器

Parameters ​

type ​

string

事件类型字符串

cb ​

Function

事件触发时的回调函数

Returns ​

void

Inherited from ​

BaseObject.addEventListener


bind() ​

bind(op): () => InteractorBindOption[]

Defined in: control/Interactor.ts:446

Parameters ​

op ​

InteractorBindOption

Returns ​

(): InteractorBindOption[]

Returns ​

InteractorBindOption[]


binds() ​

binds(ops): () => void

Defined in: control/Interactor.ts:462

Parameters ​

ops ​

InteractorBindOption[]

Returns ​

(): void

Returns ​

void


changed() ​

changed(): void

Defined in: core/baseObject.ts:72

标记对象为已修改 更新修改时间戳并触发所有注册的变更回调

Returns ​

void

Inherited from ​

BaseObject.changed


dispatchEvent() ​

dispatchEvent(event): void

Defined in: core/baseObject.ts:126

分发事件 触发所有注册了该事件类型的监听器

Parameters ​

event ​

事件对象,包含 type 和可选的 data

data? ​

any

type ​

string

Returns ​

void

Inherited from ​

BaseObject.dispatchEvent


dispose() ​

dispose(): void

Defined in: core/baseObject.ts:80

销毁该对象 分发 dispose 事件,通知监听者对象即将被销毁

Returns ​

void

Inherited from ​

BaseObject.dispose


getLogicCoordByPointer() ​

getLogicCoordByPointer(e): Number2

Defined in: control/Interactor.ts:583

左上角为原点

Parameters ​

e ​

PointerEvent

Returns ​

Number2


getNdc2DByPointer() ​

getNdc2DByPointer(e): Number2

Defined in: control/Interactor.ts:531

Parameters ​

e ​

PointerEvent

Returns ​

Number2


getNormalizedCoordByPointer() ​

getNormalizedCoordByPointer(e): Number2

Defined in: control/Interactor.ts:538

Parameters ​

e ​

PointerEvent

Returns ​

Number2


getNormalizedCoordOnScreen() ​

getNormalizedCoordOnScreen(): void

Defined in: control/Interactor.ts:197

Returns ​

void


is() ​

is(t): boolean

Defined in: core/baseObject.ts:65

检查对象是否属于指定的类类型

Parameters ​

t ​

ClassEnum

类类型枚举值

Returns ​

boolean

如果对象是该类型或继承自该类型,则返回 true

Inherited from ​

BaseObject.is


onceInteractorCb() ​

onceInteractorCb(op, e): void

Defined in: control/Interactor.ts:592

仅触发一次的事件绑定

Parameters ​

op ​

InteractorBindOption

InteractorBindOption

e ​

Event | PointerEvent | KeyboardEvent | WheelEvent

Returns ​

void


onChanged() ​

onChanged(cb): () => void

Defined in: core/baseObject.ts:90

注册对象变更回调 当对象发生改变(调用 changed 方法)时触发

Parameters ​

cb ​

Function

回调函数

Returns ​

取消注册该回调的函数

(): void

Returns ​

void

Inherited from ​

BaseObject.onChanged


pixel2Mouse() ​

pixel2Mouse(pixel, renderArea): number[]

Defined in: control/Interactor.ts:574

Convert local pixel coordinates to scene coordinates. Local pixel is in CSS pixels. renderArea is in device pixels. Output is in CSS pixels.

Parameters ​

pixel ​

Number2

Local pixel [x, y], top-left origin.

renderArea ​

Number4

[startX, startY, width, height] in device pixels.

Returns ​

number[]

[x, y] in CSS pixels.


pixel2ndc2D() ​

pixel2ndc2D(pixel, renderArea): Number2

Defined in: control/Interactor.ts:551

将局部 CSS 像素坐标转换为 NDC 坐标。 renderArea 输入单位为物理像素,因此内部会先把局部像素乘以 DPR。

Parameters ​

pixel ​

Number2

局部 CSS 像素坐标

renderArea ​

Number4

[startX, startY, width, height],单位为物理像素

Returns ​

Number2


pixel2norm() ​

pixel2norm(pixel, renderArea): Number2

Defined in: control/Interactor.ts:561

将局部 CSS 像素坐标归一化到 [0, 1]。 renderArea 的宽高是物理像素,因此局部坐标需要先乘 DPR。

Parameters ​

pixel ​

Number2

renderArea ​

Number4

Returns ​

Number2


release() ​

release(): void

Defined in: control/Interactor.ts:217

Returns ​

void


removeEventListener() ​

removeEventListener(type, cb): void

Defined in: core/baseObject.ts:116

移除事件监听器

Parameters ​

type ​

string

事件类型字符串

cb ​

Function

要移除的回调函数

Returns ​

void

Inherited from ​

BaseObject.removeEventListener


setDom() ​

setDom(dom): void

Defined in: control/Interactor.ts:210

设置手势监听的元素 一个场景只能存在一个DOM, 会将之前监听的DOM移除

Parameters ​

dom ​

HTMLElement

Returns ​

void