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);
});