From 9c64bb40c4fc66ed105bb441b39affe91b930331 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 27 六月 2024 15:14:01 +0800 Subject: [PATCH] feat:批量审核 --- src/views/screen/components/screen-map-three/experience/world/map.js | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/src/views/screen/components/screen-map-three/experience/world/map.js b/src/views/screen/components/screen-map-three/experience/world/map.js index fd648d6..1dd127f 100644 --- a/src/views/screen/components/screen-map-three/experience/world/map.js +++ b/src/views/screen/components/screen-map-three/experience/world/map.js @@ -271,4 +271,45 @@ ease: 'power1.out' }) } + + destroy() { + this.removeMouseEvent(); + this.disposeObject(); + this.removeObject(); + this.resetObject(); + } + + disposeObject() { + this.map.traverse((child) => { + if (child.material) { + // 鍙兘瀛樺湪鏉愯川涓烘暟缁勭殑鎯呭喌 + if (child.material instanceof Array) { + child.material.forEach((item) => item.dispose()); + } else { + child.material.dispose(); + if (child.material.map) { + child.material.map.dispose(); + } + } + } + if (child.geometry) { + child.geometry.dispose(); + child.geometry.attributes = null; // 杩欎簺灞炴�у寘鎷琾osition, normal, uv绛夌瓑 + } + child = null; + }); + this.topFaceMaterial.dispose(); + this.sideMaterial.dispose(); + } + + removeObject() { + this.scene.remove(this.map); + } + + resetObject() { + this.map = null; + this.provinceMeshList = null; + this.labelList = null; + this.textureLoader = null; + } } \ No newline at end of file -- Gitblit v1.8.0