UNPKG

@vuemap/vue-amap-extra

Version:

@vuemap/vue-amap扩展库,包含threejs相关图层

1 lines 1.98 kB
{"version":3,"file":"threeUtil.mjs","sources":["../../../utils/threeUtil.js"],"sourcesContent":["export function clearScene(scene) {\r\n scene.traverse(child => {\r\n clearGroup(child);\r\n });\r\n}\r\n\r\nexport function clearGroup(group) {\r\n const clearCache = (mesh) => {\r\n if (mesh.geometry) {\r\n mesh.geometry.dispose(); // 删除几何体\r\n }\r\n if (mesh.material && mesh.material.dispose) {\r\n mesh.material.dispose(); // 删除材质\r\n }\r\n if (mesh.material.texture && mesh.material.texture.dispose) {\r\n mesh.material.texture.dispose();\r\n }\r\n };\r\n const removeObj = (item) => {\r\n let array = item.children.filter((x) => x);\r\n array.forEach(v => {\r\n if (v.children.length) {\r\n removeObj(v);\r\n } else {\r\n if (v.isMesh) {\r\n clearCache(v);\r\n }\r\n }\r\n });\r\n array = null;\r\n };\r\n removeObj(group);\r\n}\r\n"],"names":[],"mappings":"AAAO,SAAS,WAAW,KAAO,EAAA;AAChC,EAAA,KAAA,CAAM,SAAS,CAAS,KAAA,KAAA;AACtB,IAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,GACjB,CAAA,CAAA;AACH,CAAA;AAEO,SAAS,WAAW,KAAO,EAAA;AAChC,EAAM,MAAA,UAAA,GAAa,CAAC,IAAS,KAAA;AAC3B,IAAA,IAAI,KAAK,QAAU,EAAA;AACjB,MAAA,IAAA,CAAK,SAAS,OAAQ,EAAA,CAAA;AAAA,KACxB;AACA,IAAA,IAAI,IAAK,CAAA,QAAA,IAAY,IAAK,CAAA,QAAA,CAAS,OAAS,EAAA;AAC1C,MAAA,IAAA,CAAK,SAAS,OAAQ,EAAA,CAAA;AAAA,KACxB;AACA,IAAA,IAAI,KAAK,QAAS,CAAA,OAAA,IAAW,IAAK,CAAA,QAAA,CAAS,QAAQ,OAAS,EAAA;AAC1D,MAAK,IAAA,CAAA,QAAA,CAAS,QAAQ,OAAQ,EAAA,CAAA;AAAA,KAChC;AAAA,GACF,CAAA;AACA,EAAM,MAAA,SAAA,GAAY,CAAC,IAAS,KAAA;AAC1B,IAAA,IAAI,QAAQ,IAAK,CAAA,QAAA,CAAS,MAAO,CAAA,CAAC,MAAM,CAAC,CAAA,CAAA;AACzC,IAAA,KAAA,CAAM,QAAQ,CAAK,CAAA,KAAA;AACjB,MAAI,IAAA,CAAA,CAAE,SAAS,MAAQ,EAAA;AACrB,QAAA,SAAA,CAAU,CAAC,CAAA,CAAA;AAAA,OACN,MAAA;AACL,QAAA,IAAI,EAAE,MAAQ,EAAA;AACZ,UAAA,UAAA,CAAW,CAAC,CAAA,CAAA;AAAA,SACd;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAQ,KAAA,GAAA,IAAA,CAAA;AAAA,GACV,CAAA;AACA,EAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AACjB;;;;"}