Twin

Twin 表示孪生体。

属性

.type: String

孪生体的类型。只读。

.twinId: String

孪生体的 ID。只读。

.layerId: String

孪生体所在 layer 的 ID。只读。

.delegate: String

THREE 原生 Object3d 对象。

.uuid: String

THREE 原生 Object3d 对象的 uuid。

.name: String

挛生体的名称

.visible: boolean

挛生体是否显示

.position: DT.Vector3

挛生体的位置。

.rotation: DT.Euler

挛生体的旋转,以弧度来表示。

.scale: DT.Vector3

挛生体的缩放。

.castShadow: boolean

挛生体是否被渲染到阴影贴图中。默认值为 false。

.receiveShadow: boolean

挛生体是否接收阴影。默认值为 false。

方法

.lookAt(vector: DT.Vector3): Void

旋转挛生体使其在世界空间中面朝一个点。

.getProperties(): Object

返回孪生体的属性

.getAttributes(): Object

返回孪生体的拓展属性

.getProperty(name: string): any

通过属性名查询孪生体的属性

.setProperty(name: string, value: any): Void

通过属性名修改孪生体的属性

.getObjects(): DT.Mesh[]

获取该孪生体下的所有子 mesh

.getObjectById(id: number): DT.Object3D | undefined

id —— 标识该对象实例的唯一数字。

从该孪生体开始,搜索该孪生体及其子级,返回第一个带有匹配 id 的子对象。

.getObjectByName(name: string): DT.Object3D | undefined

从该孪生体开始,搜索该孪生体及其子级,返回第一个带有匹配 name 的子对象。

.getObjectByProperty(name: string, value: any): DT.Object3D | undefined

从该孪生体开始,搜索该孪生体及其子级,返回第一个给定的属性中包含有匹配的值的子对象。

.addTips(element: HTMLElement): THREE.CSS2DObject

给挛生体添加基于 HTML 的标签。

.removeTips(tips: THREE.CSS2DObject): Void

移除挛生体的 HTML 的标签。

.clone(): Promise<Twin>

克隆一个新的挛生体

.getSize(): Object

获取挛生体的大小

.destroy(): Void

销毁孪生体。

.on(event: String, handler: Function, context?:Any): Void 绑定孪生世界事件的监听处理器。

.off(event: String, handler: Function): Void

解绑孪生世界事件的监听处理器。

.trigger(event: String): Void

触发绑定的孪生世界事件。

事件

目前支持的事件如下:

事件 说明
DT.MouseEventType.CLICK 当鼠标点击场景时触发
DT.MouseEventType.DB_CLICK 当鼠标双击场景时触发
DT.MouseEventType.MOUSE_DOWN 当鼠标摁下时触发
DT.MouseEventType.MOUSE_UP 当鼠标抬起时触发
DT.MouseEventType.MOUSE_MOVE 当鼠标移动时触发
DT.MouseEventType.RIGHT_CLICK 当鼠标右击时触发

示例代码:

//监听twin单击事件

 twin.on(DT.TwinEventType.DB_CLICK, (e) => {
    console.log("TwinEventType", e);
 });