From 35347e004e7611de7c005f45834713cc2bc11061 Mon Sep 17 00:00:00 2001 From: xiefan <1789784602@qq.com> Date: Thu, 2 Apr 2020 17:24:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=9D=BF=E6=9D=90=E9=80=89?= =?UTF-8?q?=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Utils.ts | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/Utils.ts b/src/Utils.ts index d4ea5c9..69a6c0c 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -11,13 +11,6 @@ function dispose(m: Object3D) m.children.forEach(o => dispose(o)); } - -let blockMeshs: Mesh[]; -let dataRelations: { - blockMeshMap: Map, - meshBlockMap: Map -}; - export function LoadBoard(view: Viewer, data: any[], clear: boolean = true) { if (clear) @@ -30,9 +23,6 @@ export function LoadBoard(view: Viewer, data: any[], clear: boolean = true) //加板 let { meshs, edgesa, relations } = createTemplateBoard(data); - blockMeshs = meshs; - dataRelations = relations; - //加标注 let dims = DrawDimension(meshs); @@ -43,17 +33,26 @@ export function LoadBoard(view: Viewer, data: any[], clear: boolean = true) view.ViewToSwiso(); view.ZoomAll(); view.Zoom(1.1); + + return relations; } -export function SelectBlock(dataID: number) +export function SelectBlock(view: Viewer, blockMeshMap: Map, dataID: number) { - if (dataRelations.blockMeshMap.has(dataID)) + if (blockMeshMap.has(dataID)) { - let meshId = dataRelations.blockMeshMap.get(dataID); - let mesh = blockMeshs.find(i => i.id == meshId); - if (mesh) + let meshId = blockMeshMap.get(dataID); + view.m_Scene.children.forEach(obj => { - mesh.material = selectMaterial; - } + if (obj instanceof Mesh) + { + if (obj.id == meshId) + { + obj.material = selectMaterial; + view.m_bNeedUpdate = true; + } + } + + }) } }