@vuemap/vue-amap-extra
Version:
@vuemap/vue-amap扩展库,包含threejs相关图层
36 lines (34 loc) • 787 B
JavaScript
function clearScene(scene) {
scene.traverse((child) => {
clearGroup(child);
});
}
function clearGroup(group) {
const clearCache = (mesh) => {
if (mesh.geometry) {
mesh.geometry.dispose();
}
if (mesh.material && mesh.material.dispose) {
mesh.material.dispose();
}
if (mesh.material.texture && mesh.material.texture.dispose) {
mesh.material.texture.dispose();
}
};
const removeObj = (item) => {
let array = item.children.filter((x) => x);
array.forEach((v) => {
if (v.children.length) {
removeObj(v);
} else {
if (v.isMesh) {
clearCache(v);
}
}
});
array = null;
};
removeObj(group);
}
export { clearGroup, clearScene };
//# sourceMappingURL=threeUtil.mjs.map