@babylonjs/viewer
Version:
The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.
3 lines (2 loc) • 1.19 kB
JavaScript
import{bo as i,bp as e}from"./index-BPURObVq.esm.min.js";import{A as s}from"./objectModelMapping-ClgDmo5Q.esm.min.js";import"./spotLight.pure-5s2DDDIt.esm.min.js";const o="KHR_node_visibility";class n{constructor(i){this.name=o,this._loader=i,this.enabled=i.isExtensionUsed(o)}onReady(){if(!this._loader)return;const i=this._loader.gltf.nodes;if(i)for(const e of i){const i=e._babylonTransformNode;i&&(i.inheritVisibility=!0,e.extensions&&e.extensions.KHR_node_visibility&&!1===e.extensions.KHR_node_visibility.visible&&(i.isVisible=!1))}}dispose(){delete this._loader}}let t=!1;function r(){t||(t=!0,s("/nodes/{}/extensions/KHR_node_visibility/visible",{get:i=>{const e=i._babylonTransformNode;return!e||void 0===e.isVisible||e.isVisible},set:(i,e)=>{e._primitiveBabylonMeshes?.forEach(i=>{i.inheritVisibility=!0}),e._babylonTransformNode&&(e._babylonTransformNode.isVisible=i),e._primitiveBabylonMeshes?.forEach(e=>{e.isVisible=i})},getTarget:i=>i._babylonTransformNode,getPropertyName:[()=>"isVisible"],type:"boolean"}),i(o),e(o,!0,i=>new n(i)))}r();export{n as KHR_node_visibility,r as RegisterKHR_node_visibility};
//# sourceMappingURL=KHR_node_visibility-PKJkFlre.esm.min.js.map