@babylonjs/viewer 7.25.1-alpha → 7.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/configuration/configuration.d.ts +107 -0
  2. package/configuration/configuration.js +16 -0
  3. package/configuration/configuration.js.map +1 -0
  4. package/configuration/configurationCompatibility.d.ts +8 -0
  5. package/configuration/configurationCompatibility.js +66 -0
  6. package/configuration/configurationCompatibility.js.map +1 -0
  7. package/configuration/configurationContainer.d.ts +10 -0
  8. package/configuration/configurationContainer.js +10 -0
  9. package/configuration/configurationContainer.js.map +1 -0
  10. package/configuration/globals.d.ts +6 -0
  11. package/configuration/globals.js +18 -0
  12. package/configuration/globals.js.map +1 -0
  13. package/configuration/index.d.ts +2 -0
  14. package/configuration/index.js +4 -0
  15. package/configuration/index.js.map +1 -0
  16. package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
  17. package/configuration/interfaces/cameraConfiguration.js +2 -0
  18. package/configuration/interfaces/cameraConfiguration.js.map +1 -0
  19. package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
  20. package/configuration/interfaces/colorGradingConfiguration.js +2 -0
  21. package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
  22. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
  23. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
  24. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
  25. package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
  26. package/configuration/interfaces/environmentMapConfiguration.js +2 -0
  27. package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
  28. package/configuration/interfaces/groundConfiguration.d.ts +24 -0
  29. package/configuration/interfaces/groundConfiguration.js +2 -0
  30. package/configuration/interfaces/groundConfiguration.js.map +1 -0
  31. package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
  32. package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
  33. package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
  34. package/configuration/interfaces/index.d.ts +15 -0
  35. package/configuration/interfaces/index.js +16 -0
  36. package/configuration/interfaces/index.js.map +1 -0
  37. package/configuration/interfaces/lightConfiguration.d.ts +60 -0
  38. package/configuration/interfaces/lightConfiguration.js +2 -0
  39. package/configuration/interfaces/lightConfiguration.js.map +1 -0
  40. package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
  41. package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
  42. package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
  43. package/configuration/interfaces/modelConfiguration.d.ts +65 -0
  44. package/configuration/interfaces/modelConfiguration.js +2 -0
  45. package/configuration/interfaces/modelConfiguration.js.map +1 -0
  46. package/configuration/interfaces/observersConfiguration.d.ts +5 -0
  47. package/configuration/interfaces/observersConfiguration.js +2 -0
  48. package/configuration/interfaces/observersConfiguration.js.map +1 -0
  49. package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
  50. package/configuration/interfaces/sceneConfiguration.js +2 -0
  51. package/configuration/interfaces/sceneConfiguration.js.map +1 -0
  52. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
  53. package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
  54. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
  55. package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
  56. package/configuration/interfaces/skyboxConfiguration.js +2 -0
  57. package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
  58. package/configuration/interfaces/templateConfiguration.d.ts +67 -0
  59. package/configuration/interfaces/templateConfiguration.js +2 -0
  60. package/configuration/interfaces/templateConfiguration.js.map +1 -0
  61. package/configuration/interfaces/vrConfiguration.d.ts +16 -0
  62. package/configuration/interfaces/vrConfiguration.js +2 -0
  63. package/configuration/interfaces/vrConfiguration.js.map +1 -0
  64. package/configuration/loader.d.ts +4 -0
  65. package/configuration/loader.js +17 -0
  66. package/configuration/loader.js.map +1 -0
  67. package/configuration/mappers.d.ts +43 -0
  68. package/configuration/mappers.js +192 -0
  69. package/configuration/mappers.js.map +1 -0
  70. package/configuration/renderOnlyLoader.d.ts +33 -0
  71. package/configuration/renderOnlyLoader.js +162 -0
  72. package/configuration/renderOnlyLoader.js.map +1 -0
  73. package/configuration/types/default.d.ts +6 -0
  74. package/configuration/types/default.js +121 -0
  75. package/configuration/types/default.js.map +1 -0
  76. package/configuration/types/environmentMap.d.ts +5 -0
  77. package/configuration/types/environmentMap.js +14 -0
  78. package/configuration/types/environmentMap.js.map +1 -0
  79. package/configuration/types/extended.d.ts +6 -0
  80. package/configuration/types/extended.js +317 -0
  81. package/configuration/types/extended.js.map +1 -0
  82. package/configuration/types/index.d.ts +14 -0
  83. package/configuration/types/index.js +51 -0
  84. package/configuration/types/index.js.map +1 -0
  85. package/configuration/types/minimal.d.ts +6 -0
  86. package/configuration/types/minimal.js +43 -0
  87. package/configuration/types/minimal.js.map +1 -0
  88. package/configuration/types/renderOnlyDefault.d.ts +30 -0
  89. package/configuration/types/renderOnlyDefault.js +31 -0
  90. package/configuration/types/renderOnlyDefault.js.map +1 -0
  91. package/configuration/types/shadowLight.d.ts +9 -0
  92. package/configuration/types/shadowLight.js +64 -0
  93. package/configuration/types/shadowLight.js.map +1 -0
  94. package/helper/index.d.ts +29 -0
  95. package/helper/index.js +66 -0
  96. package/helper/index.js.map +1 -0
  97. package/index.d.ts +30 -0
  98. package/index.js +46 -0
  99. package/index.js.map +1 -0
  100. package/initializer.d.ts +11 -0
  101. package/initializer.js +35 -0
  102. package/initializer.js.map +1 -0
  103. package/interfaces.d.ts +5 -0
  104. package/interfaces.js +7 -0
  105. package/interfaces.js.map +1 -0
  106. package/labs/environmentSerializer.d.ts +126 -0
  107. package/labs/environmentSerializer.js +191 -0
  108. package/labs/environmentSerializer.js.map +1 -0
  109. package/labs/texture.d.ts +183 -0
  110. package/labs/texture.js +350 -0
  111. package/labs/texture.js.map +1 -0
  112. package/labs/viewerLabs.d.ts +51 -0
  113. package/labs/viewerLabs.js +134 -0
  114. package/labs/viewerLabs.js.map +1 -0
  115. package/loader/modelLoader.d.ts +56 -0
  116. package/loader/modelLoader.js +199 -0
  117. package/loader/modelLoader.js.map +1 -0
  118. package/loader/plugins/applyMaterialConfig.d.ts +12 -0
  119. package/loader/plugins/applyMaterialConfig.js +16 -0
  120. package/loader/plugins/applyMaterialConfig.js.map +1 -0
  121. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
  122. package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
  123. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
  124. package/loader/plugins/index.d.ts +19 -0
  125. package/loader/plugins/index.js +44 -0
  126. package/loader/plugins/index.js.map +1 -0
  127. package/loader/plugins/loaderPlugin.d.ts +24 -0
  128. package/loader/plugins/loaderPlugin.js +2 -0
  129. package/loader/plugins/loaderPlugin.js.map +1 -0
  130. package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
  131. package/loader/plugins/msftLodLoaderPlugin.js +21 -0
  132. package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
  133. package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
  134. package/loader/plugins/telemetryLoaderPlugin.js +36 -0
  135. package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
  136. package/managers/observablesManager.d.ts +66 -0
  137. package/managers/observablesManager.js +35 -0
  138. package/managers/observablesManager.js.map +1 -0
  139. package/managers/sceneManager.d.ts +245 -0
  140. package/managers/sceneManager.js +1375 -0
  141. package/managers/sceneManager.js.map +1 -0
  142. package/managers/telemetryManager.d.ts +78 -0
  143. package/managers/telemetryManager.js +117 -0
  144. package/managers/telemetryManager.js.map +1 -0
  145. package/model/modelAnimation.d.ts +215 -0
  146. package/model/modelAnimation.js +237 -0
  147. package/model/modelAnimation.js.map +1 -0
  148. package/model/viewerModel.d.ts +233 -0
  149. package/model/viewerModel.js +673 -0
  150. package/model/viewerModel.js.map +1 -0
  151. package/optimizer/custom/extended.d.ts +13 -0
  152. package/optimizer/custom/extended.js +101 -0
  153. package/optimizer/custom/extended.js.map +1 -0
  154. package/optimizer/custom/index.d.ts +9 -0
  155. package/optimizer/custom/index.js +26 -0
  156. package/optimizer/custom/index.js.map +1 -0
  157. package/package.json +27 -17
  158. package/readme.md +21 -35
  159. package/renderOnlyIndex.d.ts +11 -0
  160. package/renderOnlyIndex.js +18 -0
  161. package/renderOnlyIndex.js.map +1 -0
  162. package/templating/eventManager.d.ts +35 -0
  163. package/templating/eventManager.js +66 -0
  164. package/templating/eventManager.js.map +1 -0
  165. package/templating/plugins/hdButtonPlugin.d.ts +9 -0
  166. package/templating/plugins/hdButtonPlugin.js +21 -0
  167. package/templating/plugins/hdButtonPlugin.js.map +1 -0
  168. package/templating/plugins/printButton.d.ts +9 -0
  169. package/templating/plugins/printButton.js +40 -0
  170. package/templating/plugins/printButton.js.map +1 -0
  171. package/templating/templateManager.d.ts +197 -0
  172. package/templating/templateManager.js +561 -0
  173. package/templating/templateManager.js.map +1 -0
  174. package/templating/viewerTemplatePlugin.d.ts +21 -0
  175. package/templating/viewerTemplatePlugin.js +69 -0
  176. package/templating/viewerTemplatePlugin.js.map +1 -0
  177. package/viewer/defaultViewer.d.ts +130 -0
  178. package/viewer/defaultViewer.js +675 -0
  179. package/viewer/defaultViewer.js.map +1 -0
  180. package/viewer/renderOnlyViewer.d.ts +9 -0
  181. package/viewer/renderOnlyViewer.js +46 -0
  182. package/viewer/renderOnlyViewer.js.map +1 -0
  183. package/viewer/viewer.d.ts +258 -0
  184. package/viewer/viewer.js +783 -0
  185. package/viewer/viewer.js.map +1 -0
  186. package/viewer/viewerManager.d.ts +58 -0
  187. package/viewer/viewerManager.js +91 -0
  188. package/viewer/viewerManager.js.map +1 -0
  189. package/viewer/viewerWithTemplate.d.ts +9 -0
  190. package/viewer/viewerWithTemplate.js +20 -0
  191. package/viewer/viewerWithTemplate.js.map +1 -0
  192. package/dist/babylon-viewer.esm.js +0 -2
  193. package/dist/babylon-viewer.esm.js.map +0 -1
  194. package/dist/babylon-viewer.esm.min.js +0 -2
  195. package/dist/babylon-viewer.esm.min.js.map +0 -1
  196. package/dist/chunks/EXT_lights_image_based-DVT9d5PE.esm.min.js +0 -2
  197. package/dist/chunks/EXT_lights_image_based-DVT9d5PE.esm.min.js.map +0 -1
  198. package/dist/chunks/EXT_lights_image_based-XqDzs68T.esm.js +0 -170
  199. package/dist/chunks/EXT_lights_image_based-XqDzs68T.esm.js.map +0 -1
  200. package/dist/chunks/EXT_mesh_gpu_instancing-BDdwYyny.esm.min.js +0 -2
  201. package/dist/chunks/EXT_mesh_gpu_instancing-BDdwYyny.esm.min.js.map +0 -1
  202. package/dist/chunks/EXT_mesh_gpu_instancing-DhR2UOBn.esm.js +0 -86
  203. package/dist/chunks/EXT_mesh_gpu_instancing-DhR2UOBn.esm.js.map +0 -1
  204. package/dist/chunks/EXT_meshopt_compression-BqFzh0gY.esm.js +0 -134
  205. package/dist/chunks/EXT_meshopt_compression-BqFzh0gY.esm.js.map +0 -1
  206. package/dist/chunks/EXT_meshopt_compression-SfXDvdUM.esm.min.js +0 -2
  207. package/dist/chunks/EXT_meshopt_compression-SfXDvdUM.esm.min.js.map +0 -1
  208. package/dist/chunks/EXT_texture_avif-JBIGyeRc.esm.js +0 -44
  209. package/dist/chunks/EXT_texture_avif-JBIGyeRc.esm.js.map +0 -1
  210. package/dist/chunks/EXT_texture_avif-q1TkH_G9.esm.min.js +0 -2
  211. package/dist/chunks/EXT_texture_avif-q1TkH_G9.esm.min.js.map +0 -1
  212. package/dist/chunks/EXT_texture_webp-B1s3FiRS.esm.js +0 -43
  213. package/dist/chunks/EXT_texture_webp-B1s3FiRS.esm.js.map +0 -1
  214. package/dist/chunks/EXT_texture_webp-BCI9KAUl.esm.min.js +0 -2
  215. package/dist/chunks/EXT_texture_webp-BCI9KAUl.esm.min.js.map +0 -1
  216. package/dist/chunks/ExtrasAsMetadata-BOD2FG8I.esm.min.js +0 -2
  217. package/dist/chunks/ExtrasAsMetadata-BOD2FG8I.esm.min.js.map +0 -1
  218. package/dist/chunks/ExtrasAsMetadata-ByiJUaSt.esm.js +0 -64
  219. package/dist/chunks/ExtrasAsMetadata-ByiJUaSt.esm.js.map +0 -1
  220. package/dist/chunks/KHR_animation_pointer-CNYMXY_w.esm.js +0 -343
  221. package/dist/chunks/KHR_animation_pointer-CNYMXY_w.esm.js.map +0 -1
  222. package/dist/chunks/KHR_animation_pointer-CnLRV_yl.esm.min.js +0 -2
  223. package/dist/chunks/KHR_animation_pointer-CnLRV_yl.esm.min.js.map +0 -1
  224. package/dist/chunks/KHR_draco_mesh_compression-AZ2o_aLj.esm.min.js +0 -2
  225. package/dist/chunks/KHR_draco_mesh_compression-AZ2o_aLj.esm.min.js.map +0 -1
  226. package/dist/chunks/KHR_draco_mesh_compression-DFY2Ctvm.esm.js +0 -610
  227. package/dist/chunks/KHR_draco_mesh_compression-DFY2Ctvm.esm.js.map +0 -1
  228. package/dist/chunks/KHR_interactivity-3PDcMKr_.esm.js +0 -4033
  229. package/dist/chunks/KHR_interactivity-3PDcMKr_.esm.js.map +0 -1
  230. package/dist/chunks/KHR_interactivity-C-cfOaao.esm.min.js +0 -2
  231. package/dist/chunks/KHR_interactivity-C-cfOaao.esm.min.js.map +0 -1
  232. package/dist/chunks/KHR_lights_punctual-DdpvJMDV.esm.js +0 -1253
  233. package/dist/chunks/KHR_lights_punctual-DdpvJMDV.esm.js.map +0 -1
  234. package/dist/chunks/KHR_lights_punctual-fnDFOclN.esm.min.js +0 -2
  235. package/dist/chunks/KHR_lights_punctual-fnDFOclN.esm.min.js.map +0 -1
  236. package/dist/chunks/KHR_materials_anisotropy-Cb6X0k3m.esm.min.js +0 -2
  237. package/dist/chunks/KHR_materials_anisotropy-Cb6X0k3m.esm.min.js.map +0 -1
  238. package/dist/chunks/KHR_materials_anisotropy-gNrsYmJY.esm.js +0 -64
  239. package/dist/chunks/KHR_materials_anisotropy-gNrsYmJY.esm.js.map +0 -1
  240. package/dist/chunks/KHR_materials_clearcoat-U2HUz3WB.esm.js +0 -96
  241. package/dist/chunks/KHR_materials_clearcoat-U2HUz3WB.esm.js.map +0 -1
  242. package/dist/chunks/KHR_materials_clearcoat-joUz7tSd.esm.min.js +0 -2
  243. package/dist/chunks/KHR_materials_clearcoat-joUz7tSd.esm.min.js.map +0 -1
  244. package/dist/chunks/KHR_materials_diffuse_transmission-Cm1IFxmL.esm.min.js +0 -2
  245. package/dist/chunks/KHR_materials_diffuse_transmission-Cm1IFxmL.esm.min.js.map +0 -1
  246. package/dist/chunks/KHR_materials_diffuse_transmission-Cn5gk-q_.esm.js +0 -97
  247. package/dist/chunks/KHR_materials_diffuse_transmission-Cn5gk-q_.esm.js.map +0 -1
  248. package/dist/chunks/KHR_materials_dispersion-Cpc2ME1B.esm.js +0 -62
  249. package/dist/chunks/KHR_materials_dispersion-Cpc2ME1B.esm.js.map +0 -1
  250. package/dist/chunks/KHR_materials_dispersion-Cv7zIL7j.esm.min.js +0 -2
  251. package/dist/chunks/KHR_materials_dispersion-Cv7zIL7j.esm.min.js.map +0 -1
  252. package/dist/chunks/KHR_materials_emissive_strength-BYxJ1Qaz.esm.js +0 -55
  253. package/dist/chunks/KHR_materials_emissive_strength-BYxJ1Qaz.esm.js.map +0 -1
  254. package/dist/chunks/KHR_materials_emissive_strength-DBEC-Pfr.esm.min.js +0 -2
  255. package/dist/chunks/KHR_materials_emissive_strength-DBEC-Pfr.esm.min.js.map +0 -1
  256. package/dist/chunks/KHR_materials_ior-B4HgptNe.esm.min.js +0 -2
  257. package/dist/chunks/KHR_materials_ior-B4HgptNe.esm.min.js.map +0 -1
  258. package/dist/chunks/KHR_materials_ior-CDtowU9f.esm.js +0 -64
  259. package/dist/chunks/KHR_materials_ior-CDtowU9f.esm.js.map +0 -1
  260. package/dist/chunks/KHR_materials_iridescence-CgkruUTk.esm.min.js +0 -2
  261. package/dist/chunks/KHR_materials_iridescence-CgkruUTk.esm.min.js.map +0 -1
  262. package/dist/chunks/KHR_materials_iridescence-CqmvyPW8.esm.js +0 -72
  263. package/dist/chunks/KHR_materials_iridescence-CqmvyPW8.esm.js.map +0 -1
  264. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BQV0asO5.esm.js +0 -81
  265. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BQV0asO5.esm.js.map +0 -1
  266. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Bv4SCrwb.esm.min.js +0 -2
  267. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Bv4SCrwb.esm.min.js.map +0 -1
  268. package/dist/chunks/KHR_materials_sheen-BQM2Rjmq.esm.js +0 -85
  269. package/dist/chunks/KHR_materials_sheen-BQM2Rjmq.esm.js.map +0 -1
  270. package/dist/chunks/KHR_materials_sheen-DV5CnbK2.esm.min.js +0 -2
  271. package/dist/chunks/KHR_materials_sheen-DV5CnbK2.esm.min.js.map +0 -1
  272. package/dist/chunks/KHR_materials_specular-4xCkE2rV.esm.js +0 -75
  273. package/dist/chunks/KHR_materials_specular-4xCkE2rV.esm.js.map +0 -1
  274. package/dist/chunks/KHR_materials_specular-CoAFRAcm.esm.min.js +0 -2
  275. package/dist/chunks/KHR_materials_specular-CoAFRAcm.esm.min.js.map +0 -1
  276. package/dist/chunks/KHR_materials_transmission-DUGtSvRL.esm.js +0 -307
  277. package/dist/chunks/KHR_materials_transmission-DUGtSvRL.esm.js.map +0 -1
  278. package/dist/chunks/KHR_materials_transmission-dc1ndoxL.esm.min.js +0 -2
  279. package/dist/chunks/KHR_materials_transmission-dc1ndoxL.esm.min.js.map +0 -1
  280. package/dist/chunks/KHR_materials_unlit-BNXbHdvw.esm.js +0 -74
  281. package/dist/chunks/KHR_materials_unlit-BNXbHdvw.esm.js.map +0 -1
  282. package/dist/chunks/KHR_materials_unlit-D9MVjMTN.esm.min.js +0 -2
  283. package/dist/chunks/KHR_materials_unlit-D9MVjMTN.esm.min.js.map +0 -1
  284. package/dist/chunks/KHR_materials_variants-CBW9J72v.esm.min.js +0 -2
  285. package/dist/chunks/KHR_materials_variants-CBW9J72v.esm.min.js.map +0 -1
  286. package/dist/chunks/KHR_materials_variants-Dkur-XMA.esm.js +0 -238
  287. package/dist/chunks/KHR_materials_variants-Dkur-XMA.esm.js.map +0 -1
  288. package/dist/chunks/KHR_materials_volume-BSWwp0PI.esm.js +0 -87
  289. package/dist/chunks/KHR_materials_volume-BSWwp0PI.esm.js.map +0 -1
  290. package/dist/chunks/KHR_materials_volume-uEEN0xx9.esm.min.js +0 -2
  291. package/dist/chunks/KHR_materials_volume-uEEN0xx9.esm.min.js.map +0 -1
  292. package/dist/chunks/KHR_mesh_quantization--7YAD1i9.esm.js +0 -26
  293. package/dist/chunks/KHR_mesh_quantization--7YAD1i9.esm.js.map +0 -1
  294. package/dist/chunks/KHR_mesh_quantization-D48i0ooq.esm.min.js +0 -2
  295. package/dist/chunks/KHR_mesh_quantization-D48i0ooq.esm.min.js.map +0 -1
  296. package/dist/chunks/KHR_texture_basisu-CJHQOtEz.esm.min.js +0 -2
  297. package/dist/chunks/KHR_texture_basisu-CJHQOtEz.esm.min.js.map +0 -1
  298. package/dist/chunks/KHR_texture_basisu-CZJ-szw2.esm.js +0 -43
  299. package/dist/chunks/KHR_texture_basisu-CZJ-szw2.esm.js.map +0 -1
  300. package/dist/chunks/KHR_texture_transform-CCGZOtJG.esm.js +0 -63
  301. package/dist/chunks/KHR_texture_transform-CCGZOtJG.esm.js.map +0 -1
  302. package/dist/chunks/KHR_texture_transform-Cz_tYWj9.esm.min.js +0 -2
  303. package/dist/chunks/KHR_texture_transform-Cz_tYWj9.esm.min.js.map +0 -1
  304. package/dist/chunks/KHR_xmp_json_ld-BWhXh4yX.esm.min.js +0 -2
  305. package/dist/chunks/KHR_xmp_json_ld-BWhXh4yX.esm.min.js.map +0 -1
  306. package/dist/chunks/KHR_xmp_json_ld-D8vGUblu.esm.js +0 -51
  307. package/dist/chunks/KHR_xmp_json_ld-D8vGUblu.esm.js.map +0 -1
  308. package/dist/chunks/MSFT_audio_emitter-CABqee9Z.esm.min.js +0 -2
  309. package/dist/chunks/MSFT_audio_emitter-CABqee9Z.esm.min.js.map +0 -1
  310. package/dist/chunks/MSFT_audio_emitter-CupxtNMJ.esm.js +0 -2236
  311. package/dist/chunks/MSFT_audio_emitter-CupxtNMJ.esm.js.map +0 -1
  312. package/dist/chunks/MSFT_lod-BZ6xhN71.esm.min.js +0 -2
  313. package/dist/chunks/MSFT_lod-BZ6xhN71.esm.min.js.map +0 -1
  314. package/dist/chunks/MSFT_lod-D6-TVSnT.esm.js +0 -337
  315. package/dist/chunks/MSFT_lod-D6-TVSnT.esm.js.map +0 -1
  316. package/dist/chunks/MSFT_minecraftMesh-DXKcYd7c.esm.js +0 -46
  317. package/dist/chunks/MSFT_minecraftMesh-DXKcYd7c.esm.js.map +0 -1
  318. package/dist/chunks/MSFT_minecraftMesh-jQGuk0z2.esm.min.js +0 -2
  319. package/dist/chunks/MSFT_minecraftMesh-jQGuk0z2.esm.min.js.map +0 -1
  320. package/dist/chunks/MSFT_sRGBFactors-CMIEJuDa.esm.min.js +0 -2
  321. package/dist/chunks/MSFT_sRGBFactors-CMIEJuDa.esm.min.js.map +0 -1
  322. package/dist/chunks/MSFT_sRGBFactors-D1di9DYd.esm.js +0 -47
  323. package/dist/chunks/MSFT_sRGBFactors-D1di9DYd.esm.js.map +0 -1
  324. package/dist/chunks/assetContainer-B4RZAzKO.esm.min.js +0 -2
  325. package/dist/chunks/assetContainer-B4RZAzKO.esm.min.js.map +0 -1
  326. package/dist/chunks/assetContainer-B_DdybqS.esm.js +0 -1598
  327. package/dist/chunks/assetContainer-B_DdybqS.esm.js.map +0 -1
  328. package/dist/chunks/audioEngine-BNEDnVbO.esm.min.js +0 -2
  329. package/dist/chunks/audioEngine-BNEDnVbO.esm.min.js.map +0 -1
  330. package/dist/chunks/audioEngine-CICNJdfP.esm.js +0 -305
  331. package/dist/chunks/audioEngine-CICNJdfP.esm.js.map +0 -1
  332. package/dist/chunks/basisTextureLoader-B_8qIBcv.esm.js +0 -600
  333. package/dist/chunks/basisTextureLoader-B_8qIBcv.esm.js.map +0 -1
  334. package/dist/chunks/basisTextureLoader-qwPrmlI1.esm.min.js +0 -2
  335. package/dist/chunks/basisTextureLoader-qwPrmlI1.esm.min.js.map +0 -1
  336. package/dist/chunks/ddsTextureLoader-Caj9Cn2g.esm.min.js +0 -2
  337. package/dist/chunks/ddsTextureLoader-Caj9Cn2g.esm.min.js.map +0 -1
  338. package/dist/chunks/ddsTextureLoader-Dtde5Y_E.esm.js +0 -87
  339. package/dist/chunks/ddsTextureLoader-Dtde5Y_E.esm.js.map +0 -1
  340. package/dist/chunks/default.fragment-3-A6Ds5q.esm.js +0 -456
  341. package/dist/chunks/default.fragment-3-A6Ds5q.esm.js.map +0 -1
  342. package/dist/chunks/default.fragment-CK_5aPIO.esm.js +0 -515
  343. package/dist/chunks/default.fragment-CK_5aPIO.esm.js.map +0 -1
  344. package/dist/chunks/default.fragment-CW6M2CvG.esm.min.js +0 -2
  345. package/dist/chunks/default.fragment-CW6M2CvG.esm.min.js.map +0 -1
  346. package/dist/chunks/default.fragment-D8IeeUuR.esm.min.js +0 -2
  347. package/dist/chunks/default.fragment-D8IeeUuR.esm.min.js.map +0 -1
  348. package/dist/chunks/default.vertex-BnmEG9Z3.esm.js +0 -178
  349. package/dist/chunks/default.vertex-BnmEG9Z3.esm.js.map +0 -1
  350. package/dist/chunks/default.vertex-CByxmCU_.esm.min.js +0 -2
  351. package/dist/chunks/default.vertex-CByxmCU_.esm.min.js.map +0 -1
  352. package/dist/chunks/default.vertex-CKXtUMTv.esm.min.js +0 -2
  353. package/dist/chunks/default.vertex-CKXtUMTv.esm.min.js.map +0 -1
  354. package/dist/chunks/default.vertex-D5kQBg6V.esm.js +0 -199
  355. package/dist/chunks/default.vertex-D5kQBg6V.esm.js.map +0 -1
  356. package/dist/chunks/defaultUboDeclaration-AgU83OaK.esm.min.js +0 -2
  357. package/dist/chunks/defaultUboDeclaration-AgU83OaK.esm.min.js.map +0 -1
  358. package/dist/chunks/defaultUboDeclaration-BTsCVlsd.esm.min.js +0 -2
  359. package/dist/chunks/defaultUboDeclaration-BTsCVlsd.esm.min.js.map +0 -1
  360. package/dist/chunks/defaultUboDeclaration-bGo0gkae.esm.js +0 -15
  361. package/dist/chunks/defaultUboDeclaration-bGo0gkae.esm.js.map +0 -1
  362. package/dist/chunks/defaultUboDeclaration-pi1Tffi-.esm.js +0 -13
  363. package/dist/chunks/defaultUboDeclaration-pi1Tffi-.esm.js.map +0 -1
  364. package/dist/chunks/engine-DDK673Fr.esm.js +0 -1613
  365. package/dist/chunks/engine-DDK673Fr.esm.js.map +0 -1
  366. package/dist/chunks/engine-DdeN2F9N.esm.min.js +0 -2
  367. package/dist/chunks/engine-DdeN2F9N.esm.min.js.map +0 -1
  368. package/dist/chunks/envTextureLoader-B_We3UAe.esm.min.js +0 -2
  369. package/dist/chunks/envTextureLoader-B_We3UAe.esm.min.js.map +0 -1
  370. package/dist/chunks/envTextureLoader-DeYk_D-u.esm.js +0 -63
  371. package/dist/chunks/envTextureLoader-DeYk_D-u.esm.js.map +0 -1
  372. package/dist/chunks/environmentTextureTools-DT_BQR6L.esm.min.js +0 -2
  373. package/dist/chunks/environmentTextureTools-DT_BQR6L.esm.min.js.map +0 -1
  374. package/dist/chunks/environmentTextureTools-DZ4GOzAY.esm.js +0 -381
  375. package/dist/chunks/environmentTextureTools-DZ4GOzAY.esm.js.map +0 -1
  376. package/dist/chunks/exrTextureLoader-BPFaquLu.esm.min.js +0 -2
  377. package/dist/chunks/exrTextureLoader-BPFaquLu.esm.min.js.map +0 -1
  378. package/dist/chunks/exrTextureLoader-DFfYDSvx.esm.js +0 -1682
  379. package/dist/chunks/exrTextureLoader-DFfYDSvx.esm.js.map +0 -1
  380. package/dist/chunks/fogFragment-ChBeVMbL.esm.min.js +0 -2
  381. package/dist/chunks/fogFragment-ChBeVMbL.esm.min.js.map +0 -1
  382. package/dist/chunks/fogFragment-CnlQ05Rn.esm.js +0 -102
  383. package/dist/chunks/fogFragment-CnlQ05Rn.esm.js.map +0 -1
  384. package/dist/chunks/glTFLoader-CfuuZdCb.esm.js +0 -7552
  385. package/dist/chunks/glTFLoader-CfuuZdCb.esm.js.map +0 -1
  386. package/dist/chunks/glTFLoader-DOyVt9PU.esm.min.js +0 -2
  387. package/dist/chunks/glTFLoader-DOyVt9PU.esm.min.js.map +0 -1
  388. package/dist/chunks/glTFLoaderAnimation-28_L-pzh.esm.js +0 -77
  389. package/dist/chunks/glTFLoaderAnimation-28_L-pzh.esm.js.map +0 -1
  390. package/dist/chunks/glTFLoaderAnimation-Cueukaay.esm.min.js +0 -2
  391. package/dist/chunks/glTFLoaderAnimation-Cueukaay.esm.min.js.map +0 -1
  392. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  393. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  394. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  395. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  396. package/dist/chunks/harmonicsFunctions-5m2TqpP7.esm.js +0 -34
  397. package/dist/chunks/harmonicsFunctions-5m2TqpP7.esm.js.map +0 -1
  398. package/dist/chunks/harmonicsFunctions-CZvW5nS2.esm.min.js +0 -2
  399. package/dist/chunks/harmonicsFunctions-CZvW5nS2.esm.min.js.map +0 -1
  400. package/dist/chunks/harmonicsFunctions-FoyoVJjx.esm.js +0 -35
  401. package/dist/chunks/harmonicsFunctions-FoyoVJjx.esm.js.map +0 -1
  402. package/dist/chunks/harmonicsFunctions-LPFcAay5.esm.min.js +0 -2
  403. package/dist/chunks/harmonicsFunctions-LPFcAay5.esm.min.js.map +0 -1
  404. package/dist/chunks/hdrTextureLoader-BF58jeD4.esm.min.js +0 -2
  405. package/dist/chunks/hdrTextureLoader-BF58jeD4.esm.min.js.map +0 -1
  406. package/dist/chunks/hdrTextureLoader-CnAlxQ46.esm.js +0 -252
  407. package/dist/chunks/hdrTextureLoader-CnAlxQ46.esm.js.map +0 -1
  408. package/dist/chunks/helperFunctions-BHi3ZDnH.esm.js +0 -80
  409. package/dist/chunks/helperFunctions-BHi3ZDnH.esm.js.map +0 -1
  410. package/dist/chunks/helperFunctions-D9QX7d8q.esm.min.js +0 -2
  411. package/dist/chunks/helperFunctions-D9QX7d8q.esm.min.js.map +0 -1
  412. package/dist/chunks/helperFunctions-bapbKVVS.esm.js +0 -108
  413. package/dist/chunks/helperFunctions-bapbKVVS.esm.js.map +0 -1
  414. package/dist/chunks/helperFunctions-hh2B4qDl.esm.min.js +0 -2
  415. package/dist/chunks/helperFunctions-hh2B4qDl.esm.min.js.map +0 -1
  416. package/dist/chunks/index-4QQveomY.esm.js +0 -79813
  417. package/dist/chunks/index-4QQveomY.esm.js.map +0 -1
  418. package/dist/chunks/index-D5606AHu.esm.min.js +0 -57
  419. package/dist/chunks/index-D5606AHu.esm.min.js.map +0 -1
  420. package/dist/chunks/ktxTextureLoader-CxAMFjnh.esm.js +0 -814
  421. package/dist/chunks/ktxTextureLoader-CxAMFjnh.esm.js.map +0 -1
  422. package/dist/chunks/ktxTextureLoader-s0dUXnt8.esm.min.js +0 -2
  423. package/dist/chunks/ktxTextureLoader-s0dUXnt8.esm.min.js.map +0 -1
  424. package/dist/chunks/logDepthDeclaration-BcnqcXJe.esm.js +0 -35
  425. package/dist/chunks/logDepthDeclaration-BcnqcXJe.esm.js.map +0 -1
  426. package/dist/chunks/logDepthDeclaration-CvXtMvcM.esm.js +0 -42
  427. package/dist/chunks/logDepthDeclaration-CvXtMvcM.esm.js.map +0 -1
  428. package/dist/chunks/logDepthDeclaration-cPWsL3PG.esm.min.js +0 -2
  429. package/dist/chunks/logDepthDeclaration-cPWsL3PG.esm.min.js.map +0 -1
  430. package/dist/chunks/logDepthDeclaration-unowpoZK.esm.min.js +0 -2
  431. package/dist/chunks/logDepthDeclaration-unowpoZK.esm.min.js.map +0 -1
  432. package/dist/chunks/logDepthVertex-BrvDYbCP.esm.min.js +0 -2
  433. package/dist/chunks/logDepthVertex-BrvDYbCP.esm.min.js.map +0 -1
  434. package/dist/chunks/logDepthVertex-CUUB4BTI.esm.js +0 -605
  435. package/dist/chunks/logDepthVertex-CUUB4BTI.esm.js.map +0 -1
  436. package/dist/chunks/logDepthVertex-DaNvEIGn.esm.min.js +0 -2
  437. package/dist/chunks/logDepthVertex-DaNvEIGn.esm.min.js.map +0 -1
  438. package/dist/chunks/logDepthVertex-foN2jGvJ.esm.js +0 -77
  439. package/dist/chunks/logDepthVertex-foN2jGvJ.esm.js.map +0 -1
  440. package/dist/chunks/mainUVVaryingDeclaration-DHTqc_aH.esm.js +0 -11
  441. package/dist/chunks/mainUVVaryingDeclaration-DHTqc_aH.esm.js.map +0 -1
  442. package/dist/chunks/mainUVVaryingDeclaration-PFUWfv7o.esm.min.js +0 -2
  443. package/dist/chunks/mainUVVaryingDeclaration-PFUWfv7o.esm.min.js.map +0 -1
  444. package/dist/chunks/objFileLoader-B-uLP26U.esm.min.js +0 -2
  445. package/dist/chunks/objFileLoader-B-uLP26U.esm.min.js.map +0 -1
  446. package/dist/chunks/objFileLoader-Bl2Pzv0o.esm.js +0 -1280
  447. package/dist/chunks/objFileLoader-Bl2Pzv0o.esm.js.map +0 -1
  448. package/dist/chunks/oitFragment-CZShr04f.esm.min.js +0 -2
  449. package/dist/chunks/oitFragment-CZShr04f.esm.min.js.map +0 -1
  450. package/dist/chunks/oitFragment-D3c3Lp9a.esm.js +0 -1210
  451. package/dist/chunks/oitFragment-D3c3Lp9a.esm.js.map +0 -1
  452. package/dist/chunks/oitFragment-D6uOdl_0.esm.min.js +0 -2
  453. package/dist/chunks/oitFragment-D6uOdl_0.esm.min.js.map +0 -1
  454. package/dist/chunks/oitFragment-E27tpA6b.esm.js +0 -1166
  455. package/dist/chunks/oitFragment-E27tpA6b.esm.js.map +0 -1
  456. package/dist/chunks/pass.fragment-CGX8gTNY.esm.js +0 -15
  457. package/dist/chunks/pass.fragment-CGX8gTNY.esm.js.map +0 -1
  458. package/dist/chunks/pass.fragment-DKqeYsmS.esm.min.js +0 -2
  459. package/dist/chunks/pass.fragment-DKqeYsmS.esm.min.js.map +0 -1
  460. package/dist/chunks/pbr.fragment-5XRl6pKm.esm.min.js +0 -2
  461. package/dist/chunks/pbr.fragment-5XRl6pKm.esm.min.js.map +0 -1
  462. package/dist/chunks/pbr.fragment-Cfsv9tFG.esm.js +0 -3172
  463. package/dist/chunks/pbr.fragment-Cfsv9tFG.esm.js.map +0 -1
  464. package/dist/chunks/pbr.fragment-DGBodARG.esm.min.js +0 -2
  465. package/dist/chunks/pbr.fragment-DGBodARG.esm.min.js.map +0 -1
  466. package/dist/chunks/pbr.fragment-IMDXwBnG.esm.js +0 -3228
  467. package/dist/chunks/pbr.fragment-IMDXwBnG.esm.js.map +0 -1
  468. package/dist/chunks/pbr.vertex-B3JKAxfl.esm.min.js +0 -2
  469. package/dist/chunks/pbr.vertex-B3JKAxfl.esm.min.js.map +0 -1
  470. package/dist/chunks/pbr.vertex-CZIasM0q.esm.js +0 -335
  471. package/dist/chunks/pbr.vertex-CZIasM0q.esm.js.map +0 -1
  472. package/dist/chunks/pbr.vertex-CjU0MUM9.esm.min.js +0 -2
  473. package/dist/chunks/pbr.vertex-CjU0MUM9.esm.min.js.map +0 -1
  474. package/dist/chunks/pbr.vertex-h6JyEpaS.esm.js +0 -208
  475. package/dist/chunks/pbr.vertex-h6JyEpaS.esm.js.map +0 -1
  476. package/dist/chunks/postprocess.vertex-B0ei94Dw.esm.min.js +0 -2
  477. package/dist/chunks/postprocess.vertex-B0ei94Dw.esm.min.js.map +0 -1
  478. package/dist/chunks/postprocess.vertex-r5NscKzh.esm.js +0 -20
  479. package/dist/chunks/postprocess.vertex-r5NscKzh.esm.js.map +0 -1
  480. package/dist/chunks/rawTexture-Bmw0auoS.esm.min.js +0 -2
  481. package/dist/chunks/rawTexture-Bmw0auoS.esm.min.js.map +0 -1
  482. package/dist/chunks/rawTexture-CpYqstLv.esm.js +0 -562
  483. package/dist/chunks/rawTexture-CpYqstLv.esm.js.map +0 -1
  484. package/dist/chunks/rgbdDecode.fragment-BBOPxYJO.esm.min.js +0 -2
  485. package/dist/chunks/rgbdDecode.fragment-BBOPxYJO.esm.min.js.map +0 -1
  486. package/dist/chunks/rgbdDecode.fragment-C1mQs3ed.esm.js +0 -17
  487. package/dist/chunks/rgbdDecode.fragment-C1mQs3ed.esm.js.map +0 -1
  488. package/dist/chunks/rgbdDecode.fragment-CaqsSeIW.esm.min.js +0 -2
  489. package/dist/chunks/rgbdDecode.fragment-CaqsSeIW.esm.min.js.map +0 -1
  490. package/dist/chunks/rgbdDecode.fragment-MPQ7knvL.esm.js +0 -17
  491. package/dist/chunks/rgbdDecode.fragment-MPQ7knvL.esm.js.map +0 -1
  492. package/dist/chunks/rgbdEncode.fragment-6EdQiINi.esm.min.js +0 -2
  493. package/dist/chunks/rgbdEncode.fragment-6EdQiINi.esm.min.js.map +0 -1
  494. package/dist/chunks/rgbdEncode.fragment-C-msuzIz.esm.min.js +0 -2
  495. package/dist/chunks/rgbdEncode.fragment-C-msuzIz.esm.min.js.map +0 -1
  496. package/dist/chunks/rgbdEncode.fragment-Wd9cTDxy.esm.js +0 -17
  497. package/dist/chunks/rgbdEncode.fragment-Wd9cTDxy.esm.js.map +0 -1
  498. package/dist/chunks/rgbdEncode.fragment-X-RqQAkc.esm.js +0 -17
  499. package/dist/chunks/rgbdEncode.fragment-X-RqQAkc.esm.js.map +0 -1
  500. package/dist/chunks/splatFileLoader-DQ9jOQE9.esm.min.js +0 -2
  501. package/dist/chunks/splatFileLoader-DQ9jOQE9.esm.min.js.map +0 -1
  502. package/dist/chunks/splatFileLoader-hdSfXVdE.esm.js +0 -3154
  503. package/dist/chunks/splatFileLoader-hdSfXVdE.esm.js.map +0 -1
  504. package/dist/chunks/standardMaterial-Cq-J9fif.esm.min.js +0 -2
  505. package/dist/chunks/standardMaterial-Cq-J9fif.esm.min.js.map +0 -1
  506. package/dist/chunks/standardMaterial-GIGkmsd2.esm.js +0 -1809
  507. package/dist/chunks/standardMaterial-GIGkmsd2.esm.js.map +0 -1
  508. package/dist/chunks/stlFileLoader--AN8pgtb.esm.min.js +0 -2
  509. package/dist/chunks/stlFileLoader--AN8pgtb.esm.min.js.map +0 -1
  510. package/dist/chunks/stlFileLoader-BjJ0Yz5v.esm.js +0 -237
  511. package/dist/chunks/stlFileLoader-BjJ0Yz5v.esm.js.map +0 -1
  512. package/dist/chunks/tgaTextureLoader-B3gQ-Dwh.esm.min.js +0 -2
  513. package/dist/chunks/tgaTextureLoader-B3gQ-Dwh.esm.min.js.map +0 -1
  514. package/dist/chunks/tgaTextureLoader-BmEYbSF8.esm.js +0 -349
  515. package/dist/chunks/tgaTextureLoader-BmEYbSF8.esm.js.map +0 -1
  516. package/dist/chunks/thinInstanceMesh-DLE1cPa9.esm.js +0 -314
  517. package/dist/chunks/thinInstanceMesh-DLE1cPa9.esm.js.map +0 -1
  518. package/dist/chunks/thinInstanceMesh-DgJgeFTD.esm.min.js +0 -2
  519. package/dist/chunks/thinInstanceMesh-DgJgeFTD.esm.min.js.map +0 -1
  520. package/dist/chunks/vertexColorMixing-Dn7oXj03.esm.js +0 -528
  521. package/dist/chunks/vertexColorMixing-Dn7oXj03.esm.js.map +0 -1
  522. package/dist/chunks/vertexColorMixing-cD_XcjBD.esm.min.js +0 -2
  523. package/dist/chunks/vertexColorMixing-cD_XcjBD.esm.min.js.map +0 -1
  524. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  525. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  526. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  527. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  528. package/lib/index.d.ts +0 -275
  529. package/lib/index.js +0 -942
  530. package/lib/index.js.map +0 -1
@@ -0,0 +1,675 @@
1
+ import { __awaiter, __extends, __generator } from "@babylonjs/core/tslib.es6.js";
2
+ import { TemplateManager } from "../templating/templateManager.js";
3
+ import { FilesInput } from "@babylonjs/core/Misc/filesInput.js";
4
+ import { SpotLight } from "@babylonjs/core/Lights/spotLight.js";
5
+ import { Vector3 } from "@babylonjs/core/Maths/math.js";
6
+ import { AbstractViewerWithTemplate } from "./viewerWithTemplate.js";
7
+ import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial.js";
8
+ import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
9
+ // eslint-disable-next-line import/no-internal-modules
10
+ import { extendClassWithConfig } from "../helper/index.js";
11
+ import { AnimationState } from "../model/modelAnimation.js";
12
+ import { HDButtonPlugin } from "../templating/plugins/hdButtonPlugin.js";
13
+ import { PrintButtonPlugin } from "../templating/plugins/printButton.js";
14
+ import { Logger } from "@babylonjs/core/Misc/logger.js";
15
+ import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent.js";
16
+ /**
17
+ * The Default viewer is the default implementation of the AbstractViewer.
18
+ * It uses the templating system to render a new canvas and controls.
19
+ */
20
+ var DefaultViewer = /** @class */ (function (_super) {
21
+ __extends(DefaultViewer, _super);
22
+ /**
23
+ * Create a new default viewer
24
+ * @param containerElement the element in which the templates will be rendered
25
+ * @param initialConfiguration the initial configuration. Defaults to extending the default configuration
26
+ */
27
+ function DefaultViewer(containerElement, initialConfiguration) {
28
+ if (initialConfiguration === void 0) { initialConfiguration = { extends: "default" }; }
29
+ var _this = _super.call(this, containerElement, initialConfiguration) || this;
30
+ _this.containerElement = containerElement;
31
+ _this._registeredPlugins = [];
32
+ _this._handlePointerClick = function (event) {
33
+ var pointerDown = event.event;
34
+ if (pointerDown.button !== 0) {
35
+ return;
36
+ }
37
+ var element = event.event.target;
38
+ if (!element) {
39
+ return;
40
+ }
41
+ var parentClasses = element.parentElement.classList;
42
+ var elementClasses = element.classList;
43
+ var elementName = "";
44
+ for (var i = 0; i < elementClasses.length; ++i) {
45
+ var className = elementClasses[i];
46
+ if (className.indexOf("-button") !== -1 || className.indexOf("-wrapper") !== -1) {
47
+ elementName = className;
48
+ break;
49
+ }
50
+ }
51
+ switch (elementName) {
52
+ case "speed-button":
53
+ case "types-button":
54
+ if (parentClasses.contains("open")) {
55
+ parentClasses.remove("open");
56
+ }
57
+ else {
58
+ parentClasses.add("open");
59
+ }
60
+ break;
61
+ case "play-pause-button":
62
+ _this._togglePlayPause();
63
+ break;
64
+ case "label-option-button": {
65
+ var value = element.dataset["value"];
66
+ var label = element.querySelector("span.animation-label");
67
+ if (label && value) {
68
+ _this._updateAnimationType({ value: value.trim(), label: label.innerHTML });
69
+ }
70
+ break;
71
+ }
72
+ case "speed-option-button": {
73
+ if (!_this._currentAnimation) {
74
+ return;
75
+ }
76
+ var speed = element.dataset["value"];
77
+ if (speed) {
78
+ _this._updateAnimationSpeed(speed);
79
+ }
80
+ break;
81
+ }
82
+ case "progress-wrapper":
83
+ _this._resumePlay = !_this._isAnimationPaused;
84
+ if (_this._resumePlay) {
85
+ _this._togglePlayPause(true);
86
+ }
87
+ break;
88
+ case "fullscreen-button":
89
+ _this.toggleFullscreen();
90
+ break;
91
+ case "vr-button":
92
+ _this.toggleVR();
93
+ break;
94
+ default:
95
+ return;
96
+ }
97
+ };
98
+ /**
99
+ * Plays or Pauses animation
100
+ * @param noUiUpdate
101
+ */
102
+ _this._togglePlayPause = function (noUiUpdate) {
103
+ if (!_this._currentAnimation) {
104
+ return;
105
+ }
106
+ if (_this._isAnimationPaused) {
107
+ _this._currentAnimation.restart();
108
+ }
109
+ else {
110
+ _this._currentAnimation.pause();
111
+ }
112
+ _this._isAnimationPaused = !_this._isAnimationPaused;
113
+ if (noUiUpdate) {
114
+ return;
115
+ }
116
+ var navbar = _this.templateManager.getTemplate("navBar");
117
+ if (!navbar) {
118
+ return;
119
+ }
120
+ navbar.updateParams({
121
+ paused: _this._isAnimationPaused,
122
+ });
123
+ };
124
+ /**
125
+ * Control progress bar position based on animation current frame
126
+ */
127
+ _this._updateProgressBar = function () {
128
+ var navbar = _this.templateManager.getTemplate("navBar");
129
+ if (!navbar) {
130
+ return;
131
+ }
132
+ var progressSlider = navbar.parent.querySelector("input.progress-wrapper");
133
+ if (progressSlider && _this._currentAnimation) {
134
+ var progress = (_this._currentAnimation.currentFrame / _this._currentAnimation.frames) * 100;
135
+ var currentValue = progressSlider.valueAsNumber;
136
+ if (Math.abs(currentValue - progress) > 0.5) {
137
+ // Only move if greater than a 1% change
138
+ progressSlider.value = "" + progress;
139
+ }
140
+ if (_this._currentAnimation.state === AnimationState.PLAYING) {
141
+ if (_this.sceneManager.camera.autoRotationBehavior && !_this._oldIdleRotationValue) {
142
+ _this._oldIdleRotationValue = _this.sceneManager.camera.autoRotationBehavior.idleRotationSpeed;
143
+ _this.sceneManager.camera.autoRotationBehavior.idleRotationSpeed = 0;
144
+ }
145
+ }
146
+ else {
147
+ if (_this.sceneManager.camera.autoRotationBehavior && _this._oldIdleRotationValue) {
148
+ _this.sceneManager.camera.autoRotationBehavior.idleRotationSpeed = _this._oldIdleRotationValue;
149
+ _this._oldIdleRotationValue = 0;
150
+ }
151
+ }
152
+ }
153
+ };
154
+ /**
155
+ * Update Current Animation Speed
156
+ * @param speed
157
+ * @param paramsObject
158
+ */
159
+ _this._updateAnimationSpeed = function (speed, paramsObject) {
160
+ var navbar = _this.templateManager.getTemplate("navBar");
161
+ if (!navbar) {
162
+ return;
163
+ }
164
+ if (speed && _this._currentAnimation) {
165
+ _this._currentAnimation.speedRatio = parseFloat(speed);
166
+ if (!_this._isAnimationPaused) {
167
+ _this._currentAnimation.restart();
168
+ }
169
+ if (paramsObject) {
170
+ paramsObject.selectedSpeed = speed + "x";
171
+ }
172
+ else {
173
+ navbar.updateParams({
174
+ selectedSpeed: speed + "x",
175
+ });
176
+ }
177
+ }
178
+ };
179
+ /**
180
+ * Update Current Animation Type
181
+ * @param data
182
+ * @param data.label
183
+ * @param data.value
184
+ * @param paramsObject
185
+ */
186
+ _this._updateAnimationType = function (data, paramsObject) {
187
+ var navbar = _this.templateManager.getTemplate("navBar");
188
+ if (!navbar) {
189
+ return;
190
+ }
191
+ if (data) {
192
+ _this._currentAnimation = _this.sceneManager.models[0].setCurrentAnimationByName(data.value);
193
+ }
194
+ if (paramsObject) {
195
+ paramsObject.selectedAnimation = _this._animationList.indexOf(data.value) + 1;
196
+ paramsObject.selectedAnimationName = data.label;
197
+ }
198
+ else {
199
+ navbar.updateParams({
200
+ selectedAnimation: _this._animationList.indexOf(data.value) + 1,
201
+ selectedAnimationName: data.label,
202
+ });
203
+ }
204
+ _this._updateAnimationSpeed("1.0", paramsObject);
205
+ };
206
+ /**
207
+ * Toggle fullscreen of the entire viewer
208
+ */
209
+ _this.toggleFullscreen = function () {
210
+ var viewerTemplate = _this.templateManager.getTemplate("viewer");
211
+ var viewerElement = viewerTemplate && viewerTemplate.parent;
212
+ var fullscreenElement = _this.fullscreenElement || viewerElement;
213
+ if (fullscreenElement) {
214
+ var currentElement = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;
215
+ if (!currentElement) {
216
+ var requestFullScreen = fullscreenElement.requestFullscreen ||
217
+ fullscreenElement.webkitRequestFullscreen ||
218
+ fullscreenElement.msRequestFullscreen ||
219
+ fullscreenElement.mozRequestFullScreen;
220
+ requestFullScreen.call(fullscreenElement);
221
+ if (viewerElement) {
222
+ viewerElement.classList.add("in-fullscreen");
223
+ }
224
+ }
225
+ else {
226
+ var exitFullscreen = document.exitFullscreen || document.webkitExitFullscreen || document.msExitFullscreen || document.mozCancelFullScreen;
227
+ exitFullscreen.call(document);
228
+ if (viewerElement) {
229
+ viewerElement.classList.remove("in-fullscreen");
230
+ }
231
+ }
232
+ }
233
+ };
234
+ _this._onModelLoaded = function (model) {
235
+ _this._configureTemplate(model);
236
+ // with a short timeout, making sure everything is there already.
237
+ var hideLoadingDelay = 20;
238
+ if (_this.configuration.lab && _this.configuration.lab.hideLoadingDelay !== undefined) {
239
+ hideLoadingDelay = _this.configuration.lab.hideLoadingDelay;
240
+ }
241
+ setTimeout(function () {
242
+ _this.sceneManager.scene.executeWhenReady(function () {
243
+ _this.hideLoadingScreen();
244
+ });
245
+ }, hideLoadingDelay);
246
+ return;
247
+ };
248
+ _this.onModelLoadedObservable.add(_this._onModelLoaded);
249
+ _this.onModelRemovedObservable.add(function () {
250
+ _this._configureTemplate();
251
+ });
252
+ _this.onEngineInitObservable.add(function () {
253
+ _this.sceneManager.onLightsConfiguredObservable.add(function () {
254
+ _this._configureLights();
255
+ });
256
+ _this.sceneManager.setDefaultMaterial = function (sceneConfig) {
257
+ var conf = sceneConfig.defaultMaterial;
258
+ if (!conf) {
259
+ return;
260
+ }
261
+ if ((conf.materialType === "standard" && this.scene.defaultMaterial.getClassName() !== "StandardMaterial") ||
262
+ (conf.materialType === "pbr" && this.scene.defaultMaterial.getClassName() !== "PBRMaterial")) {
263
+ this.scene.defaultMaterial.dispose();
264
+ if (conf.materialType === "standard") {
265
+ this.scene.defaultMaterial = new StandardMaterial("defaultMaterial", this.scene);
266
+ }
267
+ else {
268
+ this.scene.defaultMaterial = new PBRMaterial("defaultMaterial", this.scene);
269
+ }
270
+ }
271
+ extendClassWithConfig(this.scene.defaultMaterial, conf);
272
+ };
273
+ if (!_this.sceneManager.models.length) {
274
+ _this.hideLoadingScreen();
275
+ }
276
+ });
277
+ return _this;
278
+ }
279
+ DefaultViewer.prototype.registerTemplatePlugin = function (plugin) {
280
+ var _this = this;
281
+ //validate
282
+ if (!plugin.templateName) {
283
+ throw new Error("No template name provided");
284
+ }
285
+ this._registeredPlugins.push(plugin);
286
+ var template = this.templateManager.getTemplate(plugin.templateName);
287
+ if (!template) {
288
+ throw new Error("Template ".concat(plugin.templateName, " not found"));
289
+ }
290
+ if (plugin.addHTMLTemplate) {
291
+ template.onHTMLRendered.add(function (tmpl) {
292
+ plugin.addHTMLTemplate(tmpl);
293
+ });
294
+ template.redraw();
295
+ }
296
+ if (plugin.eventsToAttach) {
297
+ plugin.eventsToAttach.forEach(function (eventName) {
298
+ plugin.onEvent &&
299
+ _this.templateManager.eventManager.registerCallback(plugin.templateName, function (event) {
300
+ if (plugin.onEvent && plugin.interactionPredicate(event)) {
301
+ plugin.onEvent(event);
302
+ }
303
+ }, eventName);
304
+ });
305
+ }
306
+ };
307
+ /**
308
+ * This will be executed when the templates initialize.
309
+ * @returns a promise that will be resolved when the templates are loaded
310
+ */
311
+ DefaultViewer.prototype._onTemplatesLoaded = function () {
312
+ var _this = this;
313
+ this.showLoadingScreen();
314
+ // navbar
315
+ this._initNavbar();
316
+ // close overlay button
317
+ var template = this.templateManager.getTemplate("overlay");
318
+ if (template) {
319
+ var closeButton = template.parent.querySelector(".close-button");
320
+ if (closeButton) {
321
+ closeButton.addEventListener("pointerdown", function () {
322
+ _this.hideOverlayScreen();
323
+ });
324
+ }
325
+ }
326
+ if (this.configuration.templates && this.configuration.templates.viewer) {
327
+ if (this.configuration.templates.viewer.params && this.configuration.templates.viewer.params.enableDragAndDrop) {
328
+ this.onSceneInitObservable.addOnce(function () {
329
+ var filesInput = new FilesInput(_this.engine, _this.sceneManager.scene, function () { }, function () { }, function () { }, function () { }, function () { }, function (file) {
330
+ _this.loadModel(file);
331
+ }, function () { });
332
+ filesInput.monitorElementForDragNDrop(_this.templateManager.getCanvas());
333
+ });
334
+ }
335
+ }
336
+ return _super.prototype._onTemplatesLoaded.call(this);
337
+ };
338
+ DefaultViewer.prototype._initNavbar = function () {
339
+ var _this = this;
340
+ var navbar = this.templateManager.getTemplate("navBar");
341
+ if (navbar) {
342
+ this.onFrameRenderedObservable.add(this._updateProgressBar);
343
+ this.templateManager.eventManager.registerCallback("navBar", this._handlePointerClick, "click");
344
+ // an example how to trigger the help button. publiclly available
345
+ this.templateManager.eventManager.registerCallback("navBar", function () {
346
+ // do your thing
347
+ }, "pointerdown", ".help-button");
348
+ this.templateManager.eventManager.registerCallback("navBar", function (event) {
349
+ var evt = event.event;
350
+ var element = evt.target;
351
+ if (!_this._currentAnimation) {
352
+ return;
353
+ }
354
+ var gotoFrame = (+element.value / 100) * _this._currentAnimation.frames;
355
+ if (isNaN(gotoFrame)) {
356
+ return;
357
+ }
358
+ _this._currentAnimation.goToFrame(gotoFrame);
359
+ }, "input");
360
+ this.templateManager.eventManager.registerCallback("navBar", function () {
361
+ if (_this._resumePlay) {
362
+ _this._togglePlayPause(true);
363
+ }
364
+ _this._resumePlay = false;
365
+ }, "pointerup", ".progress-wrapper");
366
+ if (window.devicePixelRatio === 1 && navbar.configuration.params && !navbar.configuration.params.hideHdButton) {
367
+ navbar.updateParams({
368
+ hideHdButton: true,
369
+ });
370
+ }
371
+ this.registerTemplatePlugin(new HDButtonPlugin(this));
372
+ this.registerTemplatePlugin(new PrintButtonPlugin(this));
373
+ }
374
+ };
375
+ DefaultViewer.prototype._initVR = function () {
376
+ var _this = this;
377
+ if (this.sceneManager.vrHelper) {
378
+ // due to the way the experience helper is exisintg VR, this must be added.
379
+ this.sceneManager.vrHelper.onExitingVR.add(function () {
380
+ var viewerTemplate = _this.templateManager.getTemplate("viewer");
381
+ var viewerElement = viewerTemplate && viewerTemplate.parent;
382
+ if (viewerElement) {
383
+ viewerElement.classList.remove("in-vr");
384
+ }
385
+ });
386
+ }
387
+ _super.prototype._initVR.call(this);
388
+ };
389
+ /**
390
+ * Preparing the container element to present the viewer
391
+ */
392
+ DefaultViewer.prototype._prepareContainerElement = function () {
393
+ var htmlElement = this.containerElement;
394
+ if (htmlElement.style) {
395
+ htmlElement.style.position = "relative";
396
+ htmlElement.style.height = "100%";
397
+ htmlElement.style.display = "flex";
398
+ }
399
+ };
400
+ /**
401
+ * This function will configure the templates and update them after a model was loaded
402
+ * It is mainly responsible to changing the title and subtitle etc'.
403
+ * @param model the model to be used to configure the templates by
404
+ */
405
+ DefaultViewer.prototype._configureTemplate = function (model) {
406
+ var navbar = this.templateManager.getTemplate("navBar");
407
+ if (!navbar) {
408
+ return;
409
+ }
410
+ var newParams = navbar.configuration.params || {};
411
+ if (!model) {
412
+ newParams.animations = null;
413
+ }
414
+ else {
415
+ var animationNames = model.getAnimationNames();
416
+ newParams.animations = animationNames.map(function (a) {
417
+ return { label: a, value: a };
418
+ });
419
+ if (animationNames.length) {
420
+ this._isAnimationPaused = (model.configuration.animation && !model.configuration.animation.autoStart) || !model.configuration.animation;
421
+ this._animationList = animationNames;
422
+ newParams.paused = this._isAnimationPaused;
423
+ var animationIndex = 0;
424
+ if (model.configuration.animation && typeof model.configuration.animation.autoStart === "string") {
425
+ animationIndex = animationNames.indexOf(model.configuration.animation.autoStart);
426
+ if (animationIndex === -1) {
427
+ animationIndex = 0;
428
+ }
429
+ }
430
+ this._updateAnimationType(newParams.animations[animationIndex], newParams);
431
+ }
432
+ else {
433
+ newParams.animations = null;
434
+ }
435
+ if (model.configuration.thumbnail) {
436
+ newParams.logoImage = model.configuration.thumbnail;
437
+ }
438
+ }
439
+ navbar.updateParams(newParams, false);
440
+ };
441
+ /**
442
+ * This will load a new model to the default viewer
443
+ * overriding the AbstractViewer's loadModel.
444
+ * The scene will automatically be cleared of the old models, if exist.
445
+ * @param model the configuration object (or URL) to load.
446
+ * @returns a promise that will be resolved when the model is loaded
447
+ */
448
+ DefaultViewer.prototype.loadModel = function (model) {
449
+ return __awaiter(this, void 0, void 0, function () {
450
+ var error_1;
451
+ return __generator(this, function (_a) {
452
+ switch (_a.label) {
453
+ case 0:
454
+ if (!model) {
455
+ model = this.configuration.model;
456
+ }
457
+ this.showLoadingScreen();
458
+ _a.label = 1;
459
+ case 1:
460
+ _a.trys.push([1, 3, , 5]);
461
+ return [4 /*yield*/, _super.prototype.loadModel.call(this, model, true)];
462
+ case 2: return [2 /*return*/, _a.sent()];
463
+ case 3:
464
+ error_1 = _a.sent();
465
+ Logger.Log(error_1);
466
+ this.hideLoadingScreen();
467
+ this.showOverlayScreen("error");
468
+ return [4 /*yield*/, Promise.reject(error_1)];
469
+ case 4: return [2 /*return*/, _a.sent()];
470
+ case 5: return [2 /*return*/];
471
+ }
472
+ });
473
+ });
474
+ };
475
+ /**
476
+ * Show the overlay and the defined sub-screen.
477
+ * Mainly used for help and errors
478
+ * @param subScreen the name of the subScreen. Those can be defined in the configuration object
479
+ * @returns a promise that will be resolved when the overlay is shown
480
+ */
481
+ DefaultViewer.prototype.showOverlayScreen = function (subScreen) {
482
+ var _this = this;
483
+ var template = this.templateManager.getTemplate("overlay");
484
+ if (!template) {
485
+ return Promise.resolve("Overlay template not found");
486
+ }
487
+ return template.show(function (template) {
488
+ var canvasRect = _this.containerElement.getBoundingClientRect();
489
+ template.parent.style.display = "flex";
490
+ template.parent.style.width = canvasRect.width + "px";
491
+ template.parent.style.height = canvasRect.height + "px";
492
+ template.parent.style.opacity = "1";
493
+ var subTemplate = _this.templateManager.getTemplate(subScreen);
494
+ if (!subTemplate) {
495
+ return Promise.reject(subScreen + " template not found");
496
+ }
497
+ return subTemplate.show(function (template) {
498
+ template.parent.style.display = "flex";
499
+ return Promise.resolve(template);
500
+ });
501
+ });
502
+ };
503
+ /**
504
+ * Hide the overlay screen.
505
+ * @returns a promise that will be resolved when the overlay is hidden
506
+ */
507
+ DefaultViewer.prototype.hideOverlayScreen = function () {
508
+ var template = this.templateManager.getTemplate("overlay");
509
+ if (!template) {
510
+ return Promise.resolve("Overlay template not found");
511
+ }
512
+ return template.hide(function (template) {
513
+ template.parent.style.opacity = "0";
514
+ var onTransitionEnd = function () {
515
+ template.parent.removeEventListener("transitionend", onTransitionEnd);
516
+ template.parent.style.display = "none";
517
+ };
518
+ template.parent.addEventListener("transitionend", onTransitionEnd);
519
+ var overlays = template.parent.querySelectorAll(".overlay");
520
+ if (overlays) {
521
+ for (var i = 0; i < overlays.length; ++i) {
522
+ var htmlElement = overlays.item(i);
523
+ htmlElement.style.display = "none";
524
+ }
525
+ }
526
+ return Promise.resolve(template);
527
+ });
528
+ };
529
+ /**
530
+ * show the viewer (in case it was hidden)
531
+ *
532
+ * @param visibilityFunction an optional function to execute in order to show the container
533
+ * @returns a promise that will be resolved when the viewer is shown
534
+ */
535
+ DefaultViewer.prototype.show = function (visibilityFunction) {
536
+ var template = this.templateManager.getTemplate("main");
537
+ //not possible, but yet:
538
+ if (!template) {
539
+ return Promise.reject("Main template not found");
540
+ }
541
+ return template.show(visibilityFunction);
542
+ };
543
+ /**
544
+ * hide the viewer (in case it is visible)
545
+ *
546
+ * @param visibilityFunction an optional function to execute in order to hide the container
547
+ * @returns a promise that will be resolved when the viewer is hidden
548
+ */
549
+ DefaultViewer.prototype.hide = function (visibilityFunction) {
550
+ var template = this.templateManager.getTemplate("main");
551
+ //not possible, but yet:
552
+ if (!template) {
553
+ return Promise.reject("Main template not found");
554
+ }
555
+ return template.hide(visibilityFunction);
556
+ };
557
+ /**
558
+ * Show the loading screen.
559
+ * The loading screen can be configured using the configuration object
560
+ * @returns a promise that will be resolved when the loading screen is shown
561
+ */
562
+ DefaultViewer.prototype.showLoadingScreen = function () {
563
+ var _this = this;
564
+ var template = this.templateManager.getTemplate("loadingScreen");
565
+ if (!template) {
566
+ return Promise.resolve("Loading Screen template not found");
567
+ }
568
+ return template.show(function (template) {
569
+ var canvasRect = _this.containerElement.getBoundingClientRect();
570
+ // var canvasPositioning = window.getComputedStyle(this.containerElement).position;
571
+ template.parent.style.display = "flex";
572
+ template.parent.style.width = canvasRect.width + "px";
573
+ template.parent.style.height = canvasRect.height + "px";
574
+ template.parent.style.opacity = "1";
575
+ // from the configuration!!!
576
+ var color = "black";
577
+ if (_this.configuration.templates && _this.configuration.templates.loadingScreen) {
578
+ color = (_this.configuration.templates.loadingScreen.params && _this.configuration.templates.loadingScreen.params.backgroundColor) || color;
579
+ }
580
+ template.parent.style.backgroundColor = color;
581
+ return Promise.resolve(template);
582
+ });
583
+ };
584
+ /**
585
+ * Hide the loading screen
586
+ * @returns a promise that will be resolved when the loading screen is hidden
587
+ */
588
+ DefaultViewer.prototype.hideLoadingScreen = function () {
589
+ var template = this.templateManager.getTemplate("loadingScreen");
590
+ if (!template) {
591
+ return Promise.resolve("Loading Screen template not found");
592
+ }
593
+ return template.hide(function (template) {
594
+ template.parent.style.opacity = "0";
595
+ var onTransitionEnd = function () {
596
+ template.parent.removeEventListener("transitionend", onTransitionEnd);
597
+ template.parent.style.display = "none";
598
+ };
599
+ template.parent.addEventListener("transitionend", onTransitionEnd);
600
+ return Promise.resolve(template);
601
+ });
602
+ };
603
+ DefaultViewer.prototype.dispose = function () {
604
+ this.templateManager.dispose();
605
+ _super.prototype.dispose.call(this);
606
+ };
607
+ DefaultViewer.prototype._onConfigurationLoaded = function (configuration) {
608
+ var _this = this;
609
+ _super.prototype._onConfigurationLoaded.call(this, configuration);
610
+ this.templateManager = new TemplateManager(this.containerElement);
611
+ // initialize the templates
612
+ var templateConfiguration = this.configuration.templates || {};
613
+ this.templateManager.initTemplate(templateConfiguration);
614
+ // when done, execute onTemplatesLoaded()
615
+ this.templateManager.onAllLoaded.add(function () {
616
+ var canvas = _this.templateManager.getCanvas();
617
+ if (canvas) {
618
+ _this._canvas = canvas;
619
+ }
620
+ _this._onTemplateLoaded();
621
+ });
622
+ };
623
+ /**
624
+ * An extension of the light configuration of the abstract viewer.
625
+ */
626
+ DefaultViewer.prototype._configureLights = function () {
627
+ var _this = this;
628
+ // labs feature - flashlight
629
+ if (this.configuration.lab && this.configuration.lab.flashlight) {
630
+ var lightTarget_1;
631
+ var angle = 0.5;
632
+ var exponent = Math.PI / 2;
633
+ if (typeof this.configuration.lab.flashlight === "object") {
634
+ exponent = this.configuration.lab.flashlight.exponent || exponent;
635
+ angle = this.configuration.lab.flashlight.angle || angle;
636
+ }
637
+ var flashlight_1 = new SpotLight("flashlight", Vector3.Zero(), Vector3.Zero(), exponent, angle, this.sceneManager.scene);
638
+ if (typeof this.configuration.lab.flashlight === "object") {
639
+ flashlight_1.intensity = this.configuration.lab.flashlight.intensity || flashlight_1.intensity;
640
+ if (this.configuration.lab.flashlight.diffuse) {
641
+ flashlight_1.diffuse.r = this.configuration.lab.flashlight.diffuse.r;
642
+ flashlight_1.diffuse.g = this.configuration.lab.flashlight.diffuse.g;
643
+ flashlight_1.diffuse.b = this.configuration.lab.flashlight.diffuse.b;
644
+ }
645
+ if (this.configuration.lab.flashlight.specular) {
646
+ flashlight_1.specular.r = this.configuration.lab.flashlight.specular.r;
647
+ flashlight_1.specular.g = this.configuration.lab.flashlight.specular.g;
648
+ flashlight_1.specular.b = this.configuration.lab.flashlight.specular.b;
649
+ }
650
+ }
651
+ this.sceneManager.scene.constantlyUpdateMeshUnderPointer = true;
652
+ this.sceneManager.scene.onPointerObservable.add(function (eventData) {
653
+ if (eventData.type === 4 && eventData.pickInfo) {
654
+ lightTarget_1 = eventData.pickInfo.pickedPoint;
655
+ }
656
+ else {
657
+ lightTarget_1 = undefined;
658
+ }
659
+ });
660
+ var updateFlashlightFunction = function () {
661
+ if (_this.sceneManager.camera && flashlight_1) {
662
+ flashlight_1.position.copyFrom(_this.sceneManager.camera.position);
663
+ if (lightTarget_1) {
664
+ lightTarget_1.subtractToRef(flashlight_1.position, flashlight_1.direction);
665
+ }
666
+ }
667
+ };
668
+ this.sceneManager.scene.registerBeforeRender(updateFlashlightFunction);
669
+ this._registeredOnBeforeRenderFunctions.push(updateFlashlightFunction);
670
+ }
671
+ };
672
+ return DefaultViewer;
673
+ }(AbstractViewerWithTemplate));
674
+ export { DefaultViewer };
675
+ //# sourceMappingURL=defaultViewer.js.map