{"ast":null,"code":"import { GLTFLoader } from \"../glTFLoader.js\";\nconst NAME = \"ExtrasAsMetadata\";\n/**\n * Store glTF extras (if present) in BJS objects' metadata\n */\nexport class ExtrasAsMetadata {\n _assignExtras(babylonObject, gltfProp) {\n if (gltfProp.extras && Object.keys(gltfProp.extras).length > 0) {\n const metadata = babylonObject.metadata = babylonObject.metadata || {};\n const gltf = metadata.gltf = metadata.gltf || {};\n gltf.extras = gltfProp.extras;\n }\n }\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines whether this extension is enabled.\n */\n this.enabled = true;\n this._loader = loader;\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadNodeAsync(context, node, assign) {\n return this._loader.loadNodeAsync(context, node, babylonTransformNode => {\n this._assignExtras(babylonTransformNode, node);\n assign(babylonTransformNode);\n });\n }\n /**\n * @internal\n */\n loadCameraAsync(context, camera, assign) {\n return this._loader.loadCameraAsync(context, camera, babylonCamera => {\n this._assignExtras(babylonCamera, camera);\n assign(babylonCamera);\n });\n }\n /**\n * @internal\n */\n createMaterial(context, material, babylonDrawMode) {\n const babylonMaterial = this._loader.createMaterial(context, material, babylonDrawMode);\n this._assignExtras(babylonMaterial, material);\n return babylonMaterial;\n }\n}\nGLTFLoader.RegisterExtension(NAME, loader => new ExtrasAsMetadata(loader));","map":{"version":3,"names":["GLTFLoader","NAME","ExtrasAsMetadata","_assignExtras","babylonObject","gltfProp","extras","Object","keys","length","metadata","gltf","constructor","loader","name","enabled","_loader","dispose","loadNodeAsync","context","node","assign","babylonTransformNode","loadCameraAsync","camera","babylonCamera","createMaterial","material","babylonDrawMode","babylonMaterial","RegisterExtension"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/loaders/glTF/2.0/Extensions/ExtrasAsMetadata.js"],"sourcesContent":["import { GLTFLoader } from \"../glTFLoader.js\";\nconst NAME = \"ExtrasAsMetadata\";\n/**\n * Store glTF extras (if present) in BJS objects' metadata\n */\nexport class ExtrasAsMetadata {\n _assignExtras(babylonObject, gltfProp) {\n if (gltfProp.extras && Object.keys(gltfProp.extras).length > 0) {\n const metadata = (babylonObject.metadata = babylonObject.metadata || {});\n const gltf = (metadata.gltf = metadata.gltf || {});\n gltf.extras = gltfProp.extras;\n }\n }\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines whether this extension is enabled.\n */\n this.enabled = true;\n this._loader = loader;\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadNodeAsync(context, node, assign) {\n return this._loader.loadNodeAsync(context, node, (babylonTransformNode) => {\n this._assignExtras(babylonTransformNode, node);\n assign(babylonTransformNode);\n });\n }\n /**\n * @internal\n */\n loadCameraAsync(context, camera, assign) {\n return this._loader.loadCameraAsync(context, camera, (babylonCamera) => {\n this._assignExtras(babylonCamera, camera);\n assign(babylonCamera);\n });\n }\n /**\n * @internal\n */\n createMaterial(context, material, babylonDrawMode) {\n const babylonMaterial = this._loader.createMaterial(context, material, babylonDrawMode);\n this._assignExtras(babylonMaterial, material);\n return babylonMaterial;\n }\n}\nGLTFLoader.RegisterExtension(NAME, (loader) => new ExtrasAsMetadata(loader));\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,MAAMC,IAAI,GAAG,kBAAkB;AAC/B;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,CAAC;EAC1BC,aAAaA,CAACC,aAAa,EAAEC,QAAQ,EAAE;IACnC,IAAIA,QAAQ,CAACC,MAAM,IAAIC,MAAM,CAACC,IAAI,CAACH,QAAQ,CAACC,MAAM,CAAC,CAACG,MAAM,GAAG,CAAC,EAAE;MAC5D,MAAMC,QAAQ,GAAIN,aAAa,CAACM,QAAQ,GAAGN,aAAa,CAACM,QAAQ,IAAI,CAAC,CAAE;MACxE,MAAMC,IAAI,GAAID,QAAQ,CAACC,IAAI,GAAGD,QAAQ,CAACC,IAAI,IAAI,CAAC,CAAE;MAClDA,IAAI,CAACL,MAAM,GAAGD,QAAQ,CAACC,MAAM;IACjC;EACJ;EACA;AACJ;AACA;EACIM,WAAWA,CAACC,MAAM,EAAE;IAChB;AACR;AACA;IACQ,IAAI,CAACC,IAAI,GAAGb,IAAI;IAChB;AACR;AACA;IACQ,IAAI,CAACc,OAAO,GAAG,IAAI;IACnB,IAAI,CAACC,OAAO,GAAGH,MAAM;EACzB;EACA;EACAI,OAAOA,CAAA,EAAG;IACN,IAAI,CAACD,OAAO,GAAG,IAAI;EACvB;EACA;AACJ;AACA;EACIE,aAAaA,CAACC,OAAO,EAAEC,IAAI,EAAEC,MAAM,EAAE;IACjC,OAAO,IAAI,CAACL,OAAO,CAACE,aAAa,CAACC,OAAO,EAAEC,IAAI,EAAGE,oBAAoB,IAAK;MACvE,IAAI,CAACnB,aAAa,CAACmB,oBAAoB,EAAEF,IAAI,CAAC;MAC9CC,MAAM,CAACC,oBAAoB,CAAC;IAChC,CAAC,CAAC;EACN;EACA;AACJ;AACA;EACIC,eAAeA,CAACJ,OAAO,EAAEK,MAAM,EAAEH,MAAM,EAAE;IACrC,OAAO,IAAI,CAACL,OAAO,CAACO,eAAe,CAACJ,OAAO,EAAEK,MAAM,EAAGC,aAAa,IAAK;MACpE,IAAI,CAACtB,aAAa,CAACsB,aAAa,EAAED,MAAM,CAAC;MACzCH,MAAM,CAACI,aAAa,CAAC;IACzB,CAAC,CAAC;EACN;EACA;AACJ;AACA;EACIC,cAAcA,CAACP,OAAO,EAAEQ,QAAQ,EAAEC,eAAe,EAAE;IAC/C,MAAMC,eAAe,GAAG,IAAI,CAACb,OAAO,CAACU,cAAc,CAACP,OAAO,EAAEQ,QAAQ,EAAEC,eAAe,CAAC;IACvF,IAAI,CAACzB,aAAa,CAAC0B,eAAe,EAAEF,QAAQ,CAAC;IAC7C,OAAOE,eAAe;EAC1B;AACJ;AACA7B,UAAU,CAAC8B,iBAAiB,CAAC7B,IAAI,EAAGY,MAAM,IAAK,IAAIX,gBAAgB,CAACW,MAAM,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}