@flyfish-group/file-viewer3 1.0.26 → 2.0.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 (359) hide show
  1. package/README.en.md +3 -388
  2. package/README.md +3 -364
  3. package/dist/file-viewer3.css +1 -2
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +2 -0
  6. package/package.json +22 -126
  7. package/dist/components/3MFLoader.js +0 -527
  8. package/dist/components/AMFLoader.js +0 -188
  9. package/dist/components/ArchiveViewer.js +0 -526
  10. package/dist/components/AudioViewer.js +0 -66
  11. package/dist/components/CadViewer.js +0 -9040
  12. package/dist/components/CodeViewer.js +0 -151
  13. package/dist/components/ColladaLoader.js +0 -2282
  14. package/dist/components/DrawingViewer.js +0 -295
  15. package/dist/components/EdaViewer.js +0 -630
  16. package/dist/components/EmailViewer.js +0 -276
  17. package/dist/components/EpubViewer.js +0 -172
  18. package/dist/components/FBXLoader.js +0 -1574
  19. package/dist/components/GLTFLoader.js +0 -1383
  20. package/dist/components/ImageViewer.js +0 -1519
  21. package/dist/components/KMZLoader.js +0 -45
  22. package/dist/components/MarkdownViewer.js +0 -1476
  23. package/dist/components/ModelViewer.js +0 -797
  24. package/dist/components/OBJLoader.js +0 -287
  25. package/dist/components/OfdViewer.js +0 -133
  26. package/dist/components/PCDLoader.js +0 -141
  27. package/dist/components/PLYLoader.js +0 -305
  28. package/dist/components/PdfView.js +0 -27667
  29. package/dist/components/PptxRender.js +0 -11217
  30. package/dist/components/STLLoader.js +0 -83
  31. package/dist/components/TDSLoader.js +0 -228
  32. package/dist/components/TypstViewer.js +0 -1697
  33. package/dist/components/USDLoader.js +0 -2526
  34. package/dist/components/UmdViewer.js +0 -1873
  35. package/dist/components/VRMLLoader.js +0 -6422
  36. package/dist/components/VTKLoader.js +0 -337
  37. package/dist/components/XYZLoader.js +0 -30
  38. package/dist/components/XlsxTable.js +0 -7879
  39. package/dist/components/__vite-browser-external.js +0 -7
  40. package/dist/components/_plugin-vue_export-helper.js +0 -8
  41. package/dist/components/ar-SA-G6X2FPQ2.js +0 -523
  42. package/dist/components/arc.js +0 -79
  43. package/dist/components/architecture-7EHR7CIX.js +0 -3
  44. package/dist/components/architectureDiagram-3BPJPVTR.js +0 -4096
  45. package/dist/components/archive.js +0 -24
  46. package/dist/components/asyncToGenerator.js +0 -29
  47. package/dist/components/audio.js +0 -19
  48. package/dist/components/az-AZ-76LH7QW2.js +0 -523
  49. package/dist/components/bash.js +0 -169
  50. package/dist/components/bg-BG-XCXSNQG7.js +0 -523
  51. package/dist/components/blockDiagram-GPEHLZMM.js +0 -3357
  52. package/dist/components/bn-BD-2XOGV67Q.js +0 -523
  53. package/dist/components/c4Diagram-AAUBKEIU.js +0 -2957
  54. package/dist/components/ca-ES-6MX7JW3Y.js +0 -523
  55. package/dist/components/cad.js +0 -23
  56. package/dist/components/cfb.js +0 -1174
  57. package/dist/components/channel.js +0 -5
  58. package/dist/components/chunk-2J33WTMH.js +0 -26
  59. package/dist/components/chunk-3OPIFGDE.js +0 -4167
  60. package/dist/components/chunk-4BX2VUAB.js +0 -19
  61. package/dist/components/chunk-55IACEB6.js +0 -9
  62. package/dist/components/chunk-5ZQYHXKU.js +0 -669
  63. package/dist/components/chunk-6U3AYISY.js +0 -624
  64. package/dist/components/chunk-727SXJPM.js +0 -3356
  65. package/dist/components/chunk-AGHRB4JF.js +0 -324
  66. package/dist/components/chunk-AQP2D5EJ.js +0 -2055
  67. package/dist/components/chunk-BSJP7CBP.js +0 -83
  68. package/dist/components/chunk-CSCIHK7Q.js +0 -3500
  69. package/dist/components/chunk-EIO257PC.js +0 -1836
  70. package/dist/components/chunk-FMBD7UC4.js +0 -5
  71. package/dist/components/chunk-K2UTITRG.js +0 -17627
  72. package/dist/components/chunk-KSCS5N6A.js +0 -572
  73. package/dist/components/chunk-L5ZTLDWV.js +0 -40
  74. package/dist/components/chunk-LZXEDZCA.js +0 -60
  75. package/dist/components/chunk-ND2GUHAM.js +0 -61
  76. package/dist/components/chunk-NNHCCRGN.js +0 -20425
  77. package/dist/components/chunk-NZK2D7GU.js +0 -68
  78. package/dist/components/chunk-O5CBEL6O.js +0 -1894
  79. package/dist/components/chunk-QZHKN3VN.js +0 -12
  80. package/dist/components/chunk-SRAX5OIU.js +0 -22
  81. package/dist/components/chunk-WU5MYG2G.js +0 -14
  82. package/dist/components/chunk-XPW4576I.js +0 -1146
  83. package/dist/components/chunk-Z3N5DIM6.js +0 -59
  84. package/dist/components/chunk-ZUYEQ4TG.js +0 -22
  85. package/dist/components/chunk.js +0 -23
  86. package/dist/components/classDiagram-4FO5ZUOK.js +0 -29
  87. package/dist/components/classDiagram-v2-Q7XG4LA2.js +0 -29
  88. package/dist/components/compiler.js +0 -2
  89. package/dist/components/core.js +0 -845
  90. package/dist/components/cose-bilkent-S5V4N54A.js +0 -2268
  91. package/dist/components/cpp.js +0 -225
  92. package/dist/components/cs-CZ-2BRQDIVT.js +0 -523
  93. package/dist/components/csharp.js +0 -260
  94. package/dist/components/css.js +0 -140
  95. package/dist/components/cytoscape.esm.js +0 -18114
  96. package/dist/components/da-DK-5WZEPLOC.js +0 -523
  97. package/dist/components/dagre-BM42HDAG.js +0 -325
  98. package/dist/components/dagre.js +0 -1936
  99. package/dist/components/de-DE-XR44H4JA.js +0 -523
  100. package/dist/components/defaultLocale.js +0 -201
  101. package/dist/components/defineProperty.js +0 -50
  102. package/dist/components/diagram-2AECGRRQ.js +0 -229
  103. package/dist/components/diagram-5GNKFQAL.js +0 -108
  104. package/dist/components/diagram-KO2AKTUF.js +0 -443
  105. package/dist/components/diagram-LMA3HP47.js +0 -139
  106. package/dist/components/diagram-OG6HWLK6.js +0 -541
  107. package/dist/components/diff.js +0 -39
  108. package/dist/components/directory-open-01563666.js +0 -26
  109. package/dist/components/directory-open-4ed118d0.js +0 -83
  110. package/dist/components/dist.js +0 -50
  111. package/dist/components/dist2.js +0 -3291
  112. package/dist/components/dist3.js +0 -1593
  113. package/dist/components/documentSearch.js +0 -378
  114. package/dist/components/docx-preview.js +0 -3113
  115. package/dist/components/drawing.js +0 -19
  116. package/dist/components/ebook.js +0 -16
  117. package/dist/components/eda.js +0 -20
  118. package/dist/components/el-GR-BZB4AONW.js +0 -523
  119. package/dist/components/email.js +0 -21
  120. package/dist/components/en-B4ZKOASM.js +0 -3
  121. package/dist/components/erDiagram-TEJ5UH35.js +0 -1719
  122. package/dist/components/es-ES-U4NZUMDT.js +0 -523
  123. package/dist/components/eu-ES-A7QVB2H4.js +0 -523
  124. package/dist/components/eventmodeling-FCH6USID.js +0 -3
  125. package/dist/components/fa-IR-HGAKTJCU.js +0 -523
  126. package/dist/components/fflate.module.js +0 -323
  127. package/dist/components/fi-FI-Z5N7JZ37.js +0 -523
  128. package/dist/components/file-open-002ab408.js +0 -38
  129. package/dist/components/file-open-7c801643.js +0 -24
  130. package/dist/components/file-save-3189631c.js +0 -40
  131. package/dist/components/file-save-745eba88.js +0 -36
  132. package/dist/components/flowDiagram-I6XJVG4X.js +0 -4181
  133. package/dist/components/fr-FR-RHASNOE6.js +0 -523
  134. package/dist/components/ganttDiagram-6RSMTGT7.js +0 -2182
  135. package/dist/components/gitGraph-WXDBUCRP.js +0 -3
  136. package/dist/components/gitGraphDiagram-PVQCEYII.js +0 -788
  137. package/dist/components/gl-ES-HMX3MZ6V.js +0 -523
  138. package/dist/components/global-compiler.js +0 -23
  139. package/dist/components/global-renderer.js +0 -23
  140. package/dist/components/go.js +0 -140
  141. package/dist/components/graphlib.js +0 -1267
  142. package/dist/components/he-IL-6SHJWFNN.js +0 -523
  143. package/dist/components/hi-IN-IWLTKZ5I.js +0 -523
  144. package/dist/components/hu-HU-A5ZG7DT2.js +0 -523
  145. package/dist/components/id-ID-SAP4L64H.js +0 -523
  146. package/dist/components/image-GAAHSSAO.js +0 -3
  147. package/dist/components/image-blob-reduce.esm.js +0 -1429
  148. package/dist/components/image.js +0 -17
  149. package/dist/components/info-J43DQDTF.js +0 -3
  150. package/dist/components/infoDiagram-5YYISTIA.js +0 -26
  151. package/dist/components/ini.js +0 -88
  152. package/dist/components/init.js +0 -15
  153. package/dist/components/ishikawaDiagram-YF4QCWOH.js +0 -718
  154. package/dist/components/it-IT-JPQ66NNP.js +0 -523
  155. package/dist/components/ja-JP-DBVTYXUO.js +0 -523
  156. package/dist/components/java.js +0 -169
  157. package/dist/components/javascript.js +0 -436
  158. package/dist/components/journeyDiagram-JHISSGLW.js +0 -885
  159. package/dist/components/json.js +0 -36
  160. package/dist/components/jszip.min.js +0 -3033
  161. package/dist/components/kaa-6HZHGXH3.js +0 -523
  162. package/dist/components/kab-KAB-ZGHBKWFO.js +0 -523
  163. package/dist/components/kanban-definition-UN3LZRKU.js +0 -986
  164. package/dist/components/katex.js +0 -21979
  165. package/dist/components/kk-KZ-P5N5QNE5.js +0 -523
  166. package/dist/components/km-KH-HSX4SM5Z.js +0 -523
  167. package/dist/components/ko-KR-MTYHY66A.js +0 -523
  168. package/dist/components/ku-TR-6OUDTVRD.js +0 -523
  169. package/dist/components/lib.js +0 -4877
  170. package/dist/components/libarchive.js +0 -360
  171. package/dist/components/linear.js +0 -289
  172. package/dist/components/lt-LT-XHIRWOB4.js +0 -523
  173. package/dist/components/lv-LV-5QDEKY6T.js +0 -523
  174. package/dist/components/markdown.js +0 -181
  175. package/dist/components/md.js +0 -17
  176. package/dist/components/mermaid-parser.core.js +0 -328
  177. package/dist/components/mindmap-definition-RKZ34NQL.js +0 -1016
  178. package/dist/components/model.js +0 -21
  179. package/dist/components/mp4.js +0 -12
  180. package/dist/components/mr-IN-CRQNXWMA.js +0 -523
  181. package/dist/components/my-MM-5M5IBNSE.js +0 -523
  182. package/dist/components/nb-NO-T6EIAALU.js +0 -523
  183. package/dist/components/nestedRender.js +0 -158
  184. package/dist/components/nl-NL-IS3SIHDZ.js +0 -523
  185. package/dist/components/nn-NO-6E72VCQL.js +0 -523
  186. package/dist/components/objectSpread2.js +0 -29
  187. package/dist/components/objectWithoutProperties.js +0 -28
  188. package/dist/components/oc-FR-POXYY2M6.js +0 -523
  189. package/dist/components/ofd.js +0 -5261
  190. package/dist/components/ofd2.js +0 -16
  191. package/dist/components/ordinal.js +0 -65
  192. package/dist/components/pa-IN-N4M65BXN.js +0 -523
  193. package/dist/components/packet-YPE3B663.js +0 -3
  194. package/dist/components/pdf.js +0 -24
  195. package/dist/components/percentages-BXMCSKIN.js +0 -3
  196. package/dist/components/php.js +0 -294
  197. package/dist/components/pica.js +0 -1009
  198. package/dist/components/pie-LRSECV5Y.js +0 -3
  199. package/dist/components/pie.js +0 -47
  200. package/dist/components/pieDiagram-4H26LBE5.js +0 -130
  201. package/dist/components/pl-PL-T2D74RX3.js +0 -523
  202. package/dist/components/postal-mime.js +0 -3146
  203. package/dist/components/pptx.js +0 -15
  204. package/dist/components/printLayout.js +0 -42
  205. package/dist/components/prod.js +0 -21770
  206. package/dist/components/pt-BR-5N22H2LF.js +0 -523
  207. package/dist/components/pt-PT-UZXXM6DQ.js +0 -523
  208. package/dist/components/python.js +0 -238
  209. package/dist/components/quadrantDiagram-W4KKPZXB.js +0 -1988
  210. package/dist/components/radar-GUYGQ44K.js +0 -3
  211. package/dist/components/renderer.js +0 -2
  212. package/dist/components/requirementDiagram-4Y6WPE33.js +0 -2230
  213. package/dist/components/ro-RO-JPDTUUEW.js +0 -523
  214. package/dist/components/rough.esm.js +0 -1355
  215. package/dist/components/roundRect.js +0 -90
  216. package/dist/components/ru-RU-B4JR7IUQ.js +0 -523
  217. package/dist/components/rust.js +0 -169
  218. package/dist/components/sankeyDiagram-5OEKKPKP.js +0 -972
  219. package/dist/components/sequenceDiagram-3UESZ5HK.js +0 -4255
  220. package/dist/components/shared.js +0 -175
  221. package/dist/components/shared2.js +0 -4
  222. package/dist/components/si-LK-N5RQ5JYF.js +0 -523
  223. package/dist/components/sk-SK-C5VTKIMK.js +0 -523
  224. package/dist/components/sl-SI-NN7IZMDC.js +0 -523
  225. package/dist/components/sourceLoading.js +0 -134
  226. package/dist/components/sql.js +0 -118
  227. package/dist/components/src.js +0 -2664
  228. package/dist/components/src2.js +0 -10722
  229. package/dist/components/stateDiagram-AJRCARHV.js +0 -217
  230. package/dist/components/stateDiagram-v2-BHNVJYJU.js +0 -27
  231. package/dist/components/subset-shared.chunk.js +0 -3
  232. package/dist/components/subset-worker.chunk.js +0 -21
  233. package/dist/components/sv-SE-XGPEYMSR.js +0 -523
  234. package/dist/components/ta-IN-2NMHFXQM.js +0 -523
  235. package/dist/components/text.js +0 -20
  236. package/dist/components/th-TH-HPSO5L25.js +0 -523
  237. package/dist/components/three.module.js +0 -13134
  238. package/dist/components/time.js +0 -910
  239. package/dist/components/timeline-definition-PNZ67QCA.js +0 -1084
  240. package/dist/components/tr-TR-DEFEU3FU.js +0 -523
  241. package/dist/components/treeView-BLDUP644.js +0 -3
  242. package/dist/components/treemap-LRROVOQU.js +0 -3
  243. package/dist/components/typescript.js +0 -521
  244. package/dist/components/typst.js +0 -25
  245. package/dist/components/uk-UA-QMV73CPH.js +0 -523
  246. package/dist/components/umd.js +0 -16
  247. package/dist/components/use.js +0 -422
  248. package/dist/components/util.js +0 -49
  249. package/dist/components/vennDiagram-CIIHVFJN.js +0 -1880
  250. package/dist/components/vi-VN-M7AON7JQ.js +0 -523
  251. package/dist/components/viewerZoom.js +0 -92
  252. package/dist/components/wardley-L42UT6IY.js +0 -3
  253. package/dist/components/wardleyDiagram-YWT4CUSO.js +0 -656
  254. package/dist/components/wasm-pack-shim.js +0 -1711
  255. package/dist/components/wasm-pack-shim2.js +0 -934
  256. package/dist/components/wasm.js +0 -97
  257. package/dist/components/word.js +0 -3055
  258. package/dist/components/worker-ref.js +0 -16
  259. package/dist/components/xlsx.js +0 -21
  260. package/dist/components/xml.js +0 -166
  261. package/dist/components/xychartDiagram-2RQKCTM6.js +0 -2015
  262. package/dist/components/yaml.js +0 -144
  263. package/dist/components/zh-CN-LNUGB5OW.js +0 -523
  264. package/dist/components/zh-HK-E62DVLB3.js +0 -523
  265. package/dist/components/zh-TW-RAJ6MFWO.js +0 -523
  266. package/dist/index.mjs +0 -3293
  267. package/dist/src/App.vue.d.ts +0 -3
  268. package/dist/src/compare/CompareApp.vue.d.ts +0 -3
  269. package/dist/src/compare/main.d.ts +0 -0
  270. package/dist/src/compare/useSynchronizedScroll.d.ts +0 -7
  271. package/dist/src/components/HelloWorld.vue.d.ts +0 -3
  272. package/dist/src/components/utils.d.ts +0 -4
  273. package/dist/src/main.d.ts +0 -0
  274. package/dist/src/package/common/printCapability.d.ts +0 -27
  275. package/dist/src/package/common/printLayout.d.ts +0 -16
  276. package/dist/src/package/common/sourceLoading.d.ts +0 -10
  277. package/dist/src/package/common/type.d.ts +0 -544
  278. package/dist/src/package/common/util.d.ts +0 -5
  279. package/dist/src/package/common/worker-ref.d.ts +0 -12
  280. package/dist/src/package/components/FileViewer/FileViewer.vue.d.ts +0 -75
  281. package/dist/src/package/components/FileViewer/exportDocumentTemplate.d.ts +0 -9
  282. package/dist/src/package/components/FileViewer/hooks/useViewerDocumentFeatures.d.ts +0 -29
  283. package/dist/src/package/components/FileViewer/hooks/useViewerExport.d.ts +0 -21
  284. package/dist/src/package/components/FileViewer/hooks/useViewerWatermark.d.ts +0 -8
  285. package/dist/src/package/components/FileViewer/hooks/useViewerZoom.d.ts +0 -34
  286. package/dist/src/package/components/FileViewer/index.d.ts +0 -2
  287. package/dist/src/package/components/FileViewer/util.d.ts +0 -3
  288. package/dist/src/package/index.d.ts +0 -22
  289. package/dist/src/package/use/documentLocation.d.ts +0 -15
  290. package/dist/src/package/use/documentSearch.d.ts +0 -234
  291. package/dist/src/package/use/index.d.ts +0 -5
  292. package/dist/src/package/use/loading.d.ts +0 -33
  293. package/dist/src/package/use/viewerZoom.d.ts +0 -42
  294. package/dist/src/package/use/worker.d.ts +0 -24
  295. package/dist/src/package/vendors/archive/ArchiveViewer.vue.d.ts +0 -9
  296. package/dist/src/package/vendors/archive/cache.d.ts +0 -10
  297. package/dist/src/package/vendors/archive/fallback.d.ts +0 -9
  298. package/dist/src/package/vendors/archive/index.d.ts +0 -3
  299. package/dist/src/package/vendors/archive/shared.d.ts +0 -24
  300. package/dist/src/package/vendors/audio/AudioViewer.vue.d.ts +0 -7
  301. package/dist/src/package/vendors/audio/index.d.ts +0 -7
  302. package/dist/src/package/vendors/cad/CadViewer.vue.d.ts +0 -9
  303. package/dist/src/package/vendors/cad/index.d.ts +0 -8
  304. package/dist/src/package/vendors/drawing/DrawingViewer.vue.d.ts +0 -15
  305. package/dist/src/package/vendors/drawing/index.d.ts +0 -7
  306. package/dist/src/package/vendors/ebook/EpubViewer.vue.d.ts +0 -6
  307. package/dist/src/package/vendors/ebook/index.d.ts +0 -7
  308. package/dist/src/package/vendors/eda/EdaViewer.vue.d.ts +0 -8
  309. package/dist/src/package/vendors/eda/index.d.ts +0 -2
  310. package/dist/src/package/vendors/eda/parser.d.ts +0 -77
  311. package/dist/src/package/vendors/email/EmailViewer.vue.d.ts +0 -10
  312. package/dist/src/package/vendors/email/index.d.ts +0 -2
  313. package/dist/src/package/vendors/image/ImageViewer.vue.d.ts +0 -6
  314. package/dist/src/package/vendors/image/index.d.ts +0 -4
  315. package/dist/src/package/vendors/md/MarkdownViewer.vue.d.ts +0 -6
  316. package/dist/src/package/vendors/md/index.d.ts +0 -4
  317. package/dist/src/package/vendors/model/ModelViewer.vue.d.ts +0 -8
  318. package/dist/src/package/vendors/model/index.d.ts +0 -3
  319. package/dist/src/package/vendors/model/shared.d.ts +0 -1
  320. package/dist/src/package/vendors/mp4/index.d.ts +0 -4
  321. package/dist/src/package/vendors/nestedRender.d.ts +0 -10
  322. package/dist/src/package/vendors/ofd/OfdViewer.vue.d.ts +0 -6
  323. package/dist/src/package/vendors/ofd/index.d.ts +0 -7
  324. package/dist/src/package/vendors/pdf/PdfView.vue.d.ts +0 -10
  325. package/dist/src/package/vendors/pdf/index.d.ts +0 -2
  326. package/dist/src/package/vendors/pdf/worker/index.d.ts +0 -4
  327. package/dist/src/package/vendors/pdf/worker/pdf.worker.d.ts +0 -0
  328. package/dist/src/package/vendors/pptx/PptxRender.vue.d.ts +0 -9
  329. package/dist/src/package/vendors/pptx/index.d.ts +0 -6
  330. package/dist/src/package/vendors/pptx/options.d.ts +0 -39
  331. package/dist/src/package/vendors/pptx/support/chart.d.ts +0 -4
  332. package/dist/src/package/vendors/pptx/worker/index.d.ts +0 -4
  333. package/dist/src/package/vendors/renders.d.ts +0 -3
  334. package/dist/src/package/vendors/text/CodeViewer.vue.d.ts +0 -7
  335. package/dist/src/package/vendors/text/index.d.ts +0 -10
  336. package/dist/src/package/vendors/typst/TypstViewer.vue.d.ts +0 -15
  337. package/dist/src/package/vendors/typst/index.d.ts +0 -8
  338. package/dist/src/package/vendors/umd/UmdViewer.vue.d.ts +0 -6
  339. package/dist/src/package/vendors/umd/index.d.ts +0 -7
  340. package/dist/src/package/vendors/umd/parser.d.ts +0 -30
  341. package/dist/src/package/vendors/word/doc.d.ts +0 -5
  342. package/dist/src/package/vendors/word/docx.d.ts +0 -5
  343. package/dist/src/package/vendors/word/docx.worker.d.ts +0 -1
  344. package/dist/src/package/vendors/word/index.d.ts +0 -3
  345. package/dist/src/package/vendors/xlsx/XlsxTable.state.d.ts +0 -80
  346. package/dist/src/package/vendors/xlsx/XlsxTable.view.d.ts +0 -25
  347. package/dist/src/package/vendors/xlsx/XlsxTable.vue.d.ts +0 -6
  348. package/dist/src/package/vendors/xlsx/index.d.ts +0 -6
  349. package/dist/src/package/vendors/xlsx/util.d.ts +0 -3
  350. package/dist/src/package/vendors/xlsx/worker/index.d.ts +0 -4
  351. package/dist/src/package/vendors/xlsx/worker/sheetjs/SheetJsModel.d.ts +0 -73
  352. package/dist/src/package/vendors/xlsx/worker/sheetjs/color.d.ts +0 -2
  353. package/dist/src/package/vendors/xlsx/worker/sheetjs/index.d.ts +0 -4
  354. package/dist/src/package/vendors/xlsx/worker/sheetjs/sheet.worker.d.ts +0 -1
  355. package/dist/style.css +0 -1
  356. package/dist/wasm/cad/dwfv-render.wasm +0 -0
  357. package/dist/wasm/cad/dwg-worker.js +0 -24
  358. package/dist/wasm/cad/libredwg-web.js +0 -15
  359. package/dist/wasm/cad/libredwg-web.wasm +0 -0
@@ -1,2282 +0,0 @@
1
- import { $ as e, Bt as t, C as n, Ct as r, Dt as i, E as a, Et as o, F as s, Ft as c, Ht as l, I as u, K as d, Lt as f, Mt as p, Ot as m, R as h, Tt as g, U as _, V as v, Z as y, b, bt as x, et as S, f as C, ft as w, ht as T, m as E, n as D, nt as O, o as k, p as A, pt as j, q as M, r as N, rt as P, tt as F, u as I, w as L, wt as R, x as z, yt as B, z as V, zt as H } from "./three.module.js";
2
- //#region node_modules/.pnpm/three@0.184.0/node_modules/three/examples/jsm/loaders/TGALoader.js
3
- var U = class extends b {
4
- constructor(e) {
5
- super(e);
6
- }
7
- parse(e) {
8
- function t(e) {
9
- switch (e.image_type) {
10
- case d:
11
- case m:
12
- if (e.colormap_length > 256 || e.colormap_size !== 24 || e.colormap_type !== 1) throw Error("THREE.TGALoader: Invalid type colormap data for indexed type.");
13
- break;
14
- case f:
15
- case p:
16
- case h:
17
- case g:
18
- if (e.colormap_type) throw Error("THREE.TGALoader: Invalid type colormap data for colormap type.");
19
- break;
20
- case u: throw Error("THREE.TGALoader: No data.");
21
- default: throw Error("THREE.TGALoader: Invalid type " + e.image_type);
22
- }
23
- if (e.width <= 0 || e.height <= 0) throw Error("THREE.TGALoader: Invalid image size.");
24
- if (e.pixel_size !== 8 && e.pixel_size !== 16 && e.pixel_size !== 24 && e.pixel_size !== 32) throw Error("THREE.TGALoader: Invalid pixel size " + e.pixel_size);
25
- }
26
- function n(e, t, n, r, i) {
27
- let a, o, s = n.pixel_size >> 3, c = n.width * n.height * s;
28
- if (t && (o = i.subarray(r, r += n.colormap_length * (n.colormap_size >> 3))), e) {
29
- a = new Uint8Array(c);
30
- let e, t, n, o = 0, l = new Uint8Array(s);
31
- for (; o < c;) if (e = i[r++], t = (e & 127) + 1, e & 128) {
32
- for (n = 0; n < s; ++n) l[n] = i[r++];
33
- for (n = 0; n < t; ++n) a.set(l, o + n * s);
34
- o += s * t;
35
- } else {
36
- for (t *= s, n = 0; n < t; ++n) a[o + n] = i[r++];
37
- o += t;
38
- }
39
- } else a = i.subarray(r, r += t ? n.width * n.height : c);
40
- return {
41
- pixel_data: a,
42
- palettes: o
43
- };
44
- }
45
- function r(e, t, n, r, i, a, o, s, c) {
46
- let l = c, u, d = 0, f, p, m = E.width;
47
- for (p = t; p !== r; p += n) for (f = i; f !== o; f += a, d++) u = s[d], e[(f + m * p) * 4 + 3] = 255, e[(f + m * p) * 4 + 2] = l[u * 3 + 0], e[(f + m * p) * 4 + 1] = l[u * 3 + 1], e[(f + m * p) * 4 + 0] = l[u * 3 + 2];
48
- return e;
49
- }
50
- function i(e, t, n, r, i, a, o, s) {
51
- let c, l = 0, u, d, f = E.width;
52
- for (d = t; d !== r; d += n) for (u = i; u !== o; u += a, l += 2) c = s[l + 0] + (s[l + 1] << 8), e[(u + f * d) * 4 + 0] = (c & 31744) >> 7, e[(u + f * d) * 4 + 1] = (c & 992) >> 2, e[(u + f * d) * 4 + 2] = (c & 31) << 3, e[(u + f * d) * 4 + 3] = c & 32768 ? 0 : 255;
53
- return e;
54
- }
55
- function a(e, t, n, r, i, a, o, s) {
56
- let c = 0, l, u, d = E.width;
57
- for (u = t; u !== r; u += n) for (l = i; l !== o; l += a, c += 3) e[(l + d * u) * 4 + 3] = 255, e[(l + d * u) * 4 + 2] = s[c + 0], e[(l + d * u) * 4 + 1] = s[c + 1], e[(l + d * u) * 4 + 0] = s[c + 2];
58
- return e;
59
- }
60
- function o(e, t, n, r, i, a, o, s) {
61
- let c = 0, l, u, d = E.width;
62
- for (u = t; u !== r; u += n) for (l = i; l !== o; l += a, c += 4) e[(l + d * u) * 4 + 2] = s[c + 0], e[(l + d * u) * 4 + 1] = s[c + 1], e[(l + d * u) * 4 + 0] = s[c + 2], e[(l + d * u) * 4 + 3] = s[c + 3];
63
- return e;
64
- }
65
- function s(e, t, n, r, i, a, o, s) {
66
- let c, l = 0, u, d, f = E.width;
67
- for (d = t; d !== r; d += n) for (u = i; u !== o; u += a, l++) c = s[l], e[(u + f * d) * 4 + 0] = c, e[(u + f * d) * 4 + 1] = c, e[(u + f * d) * 4 + 2] = c, e[(u + f * d) * 4 + 3] = 255;
68
- return e;
69
- }
70
- function c(e, t, n, r, i, a, o, s) {
71
- let c = 0, l, u, d = E.width;
72
- for (u = t; u !== r; u += n) for (l = i; l !== o; l += a, c += 2) e[(l + d * u) * 4 + 0] = s[c + 0], e[(l + d * u) * 4 + 1] = s[c + 0], e[(l + d * u) * 4 + 2] = s[c + 0], e[(l + d * u) * 4 + 3] = s[c + 1];
73
- return e;
74
- }
75
- function l(e, t, n, l, u) {
76
- let d, f, p, m, h, g;
77
- switch ((E.flags & v) >> y) {
78
- default:
79
- case S:
80
- d = 0, p = 1, h = t, f = 0, m = 1, g = n;
81
- break;
82
- case b:
83
- d = 0, p = 1, h = t, f = n - 1, m = -1, g = -1;
84
- break;
85
- case C:
86
- d = t - 1, p = -1, h = -1, f = 0, m = 1, g = n;
87
- break;
88
- case x:
89
- d = t - 1, p = -1, h = -1, f = n - 1, m = -1, g = -1;
90
- break;
91
- }
92
- if (k) switch (E.pixel_size) {
93
- case 8:
94
- s(e, f, m, g, d, p, h, l);
95
- break;
96
- case 16:
97
- c(e, f, m, g, d, p, h, l);
98
- break;
99
- default: throw Error("THREE.TGALoader: Format not supported.");
100
- }
101
- else switch (E.pixel_size) {
102
- case 8:
103
- r(e, f, m, g, d, p, h, l, u);
104
- break;
105
- case 16:
106
- i(e, f, m, g, d, p, h, l);
107
- break;
108
- case 24:
109
- a(e, f, m, g, d, p, h, l);
110
- break;
111
- case 32:
112
- o(e, f, m, g, d, p, h, l);
113
- break;
114
- default: throw Error("THREE.TGALoader: Format not supported.");
115
- }
116
- return e;
117
- }
118
- let u = 0, d = 1, f = 2, p = 3, m = 9, h = 10, g = 11, v = 48, y = 4, b = 0, x = 1, S = 2, C = 3;
119
- if (e.length < 19) throw Error("THREE.TGALoader: Not enough data to contain header.");
120
- let w = 0, T = new Uint8Array(e), E = {
121
- id_length: T[w++],
122
- colormap_type: T[w++],
123
- image_type: T[w++],
124
- colormap_index: T[w++] | T[w++] << 8,
125
- colormap_length: T[w++] | T[w++] << 8,
126
- colormap_size: T[w++],
127
- origin: [T[w++] | T[w++] << 8, T[w++] | T[w++] << 8],
128
- width: T[w++] | T[w++] << 8,
129
- height: T[w++] | T[w++] << 8,
130
- pixel_size: T[w++],
131
- flags: T[w++]
132
- };
133
- if (t(E), E.id_length + w > e.length) throw Error("THREE.TGALoader: No data.");
134
- w += E.id_length;
135
- let D = !1, O = !1, k = !1;
136
- switch (E.image_type) {
137
- case 9:
138
- D = !0, O = !0;
139
- break;
140
- case 1:
141
- O = !0;
142
- break;
143
- case 10:
144
- D = !0;
145
- break;
146
- case 2: break;
147
- case 11:
148
- D = !0, k = !0;
149
- break;
150
- case 3:
151
- k = !0;
152
- break;
153
- }
154
- let A = new Uint8Array(E.width * E.height * 4), j = n(D, O, E, w, T);
155
- return l(A, E.width, E.height, j.pixel_data, j.palettes), {
156
- data: A,
157
- width: E.width,
158
- height: E.height,
159
- flipY: !0,
160
- generateMipmaps: !0,
161
- minFilter: _
162
- };
163
- }
164
- };
165
- //#endregion
166
- //#region node_modules/.pnpm/three@0.184.0/node_modules/three/examples/jsm/loaders/collada/ColladaParser.js
167
- function W(e, t) {
168
- let n = [], r = e.childNodes;
169
- for (let e = 0, i = r.length; e < i; e++) {
170
- let i = r[e];
171
- i.nodeName === t && n.push(i);
172
- }
173
- return n;
174
- }
175
- function G(e) {
176
- return e.length === 0 ? [] : e.trim().split(/\s+/);
177
- }
178
- function K(e) {
179
- return e.length === 0 ? [] : e.trim().split(/\s+/).map(parseFloat);
180
- }
181
- function q(e) {
182
- return e.length === 0 ? [] : e.trim().split(/\s+/).map((e) => parseInt(e));
183
- }
184
- function J(e) {
185
- return e.substring(1);
186
- }
187
- var Y = class {
188
- constructor() {
189
- this.count = 0;
190
- }
191
- generateId() {
192
- return "three_default_" + this.count++;
193
- }
194
- parse(e) {
195
- if (e.length === 0) return null;
196
- let t = new DOMParser().parseFromString(e, "application/xml"), n = W(t, "COLLADA")[0], r = t.getElementsByTagName("parsererror")[0];
197
- if (r !== void 0) {
198
- let e = W(r, "div")[0], t;
199
- return t = e ? e.textContent : this.parserErrorToText(r), console.error("THREE.ColladaLoader: Failed to parse collada file.\n", t), null;
200
- }
201
- let i = n.getAttribute("version");
202
- console.debug("THREE.ColladaLoader: File version", i);
203
- let a = this.parseAsset(W(n, "asset")[0]), o = {
204
- animations: {},
205
- clips: {},
206
- controllers: {},
207
- images: {},
208
- effects: {},
209
- materials: {},
210
- cameras: {},
211
- lights: {},
212
- geometries: {},
213
- nodes: {},
214
- visualScenes: {},
215
- kinematicsModels: {},
216
- physicsModels: {},
217
- kinematicsScenes: {},
218
- joints: {}
219
- };
220
- return this.library = o, this.collada = n, this.parseLibrary(n, "library_animations", "animation", this.parseAnimation.bind(this)), this.parseLibrary(n, "library_animation_clips", "animation_clip", this.parseAnimationClip.bind(this)), this.parseLibrary(n, "library_controllers", "controller", this.parseController.bind(this)), this.parseLibrary(n, "library_images", "image", this.parseImage.bind(this)), this.parseLibrary(n, "library_effects", "effect", this.parseEffect.bind(this)), this.parseLibrary(n, "library_materials", "material", this.parseMaterial.bind(this)), this.parseLibrary(n, "library_cameras", "camera", this.parseCamera.bind(this)), this.parseLibrary(n, "library_lights", "light", this.parseLight.bind(this)), this.parseLibrary(n, "library_geometries", "geometry", this.parseGeometry.bind(this)), this.parseLibrary(n, "library_nodes", "node", this.parseNode.bind(this)), this.parseLibrary(n, "library_visual_scenes", "visual_scene", this.parseVisualScene.bind(this)), this.parseLibrary(n, "library_joints", "joint", this.parseLibraryJoint.bind(this)), this.parseLibrary(n, "library_kinematics_models", "kinematics_model", this.parseKinematicsModel.bind(this)), this.parseLibrary(n, "library_physics_models", "physics_model", this.parsePhysicsModel.bind(this)), this.parseLibrary(n, "scene", "instance_kinematics_scene", this.parseKinematicsScene.bind(this)), {
221
- library: o,
222
- asset: a,
223
- collada: n
224
- };
225
- }
226
- parserErrorToText(e) {
227
- let t = [], n = [e];
228
- for (; n.length;) {
229
- let e = n.shift();
230
- e.nodeType === Node.TEXT_NODE ? t.push(e.textContent) : (t.push("\n"), n.push(...e.childNodes));
231
- }
232
- return t.join("").trim();
233
- }
234
- parseAsset(e) {
235
- return {
236
- unit: this.parseAssetUnit(W(e, "unit")[0]),
237
- upAxis: this.parseAssetUpAxis(W(e, "up_axis")[0])
238
- };
239
- }
240
- parseAssetUnit(e) {
241
- return e !== void 0 && e.hasAttribute("meter") === !0 ? parseFloat(e.getAttribute("meter")) : 1;
242
- }
243
- parseAssetUpAxis(e) {
244
- return e === void 0 ? "Y_UP" : e.textContent;
245
- }
246
- parseLibrary(e, t, n, r) {
247
- let i = W(e, t)[0];
248
- if (i !== void 0) {
249
- let e = W(i, n);
250
- for (let t = 0; t < e.length; t++) r(e[t]);
251
- }
252
- }
253
- parseAnimation(e) {
254
- let t = {
255
- sources: {},
256
- samplers: {},
257
- channels: {}
258
- }, n = !1;
259
- for (let r = 0, i = e.childNodes.length; r < i; r++) {
260
- let i = e.childNodes[r];
261
- if (i.nodeType !== 1) continue;
262
- let a;
263
- switch (i.nodeName) {
264
- case "source":
265
- a = i.getAttribute("id"), t.sources[a] = this.parseSource(i);
266
- break;
267
- case "sampler":
268
- a = i.getAttribute("id"), t.samplers[a] = this.parseAnimationSampler(i);
269
- break;
270
- case "channel":
271
- a = i.getAttribute("target"), t.channels[a] = this.parseAnimationChannel(i);
272
- break;
273
- case "animation":
274
- this.parseAnimation(i), n = !0;
275
- break;
276
- default:
277
- }
278
- }
279
- n === !1 && (this.library.animations[e.getAttribute("id") || y.generateUUID()] = t);
280
- }
281
- parseAnimationSampler(e) {
282
- let t = { inputs: {} };
283
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
284
- let r = e.childNodes[n];
285
- if (r.nodeType === 1) switch (r.nodeName) {
286
- case "input":
287
- let e = J(r.getAttribute("source")), n = r.getAttribute("semantic");
288
- t.inputs[n] = e;
289
- break;
290
- }
291
- }
292
- return t;
293
- }
294
- parseAnimationChannel(e) {
295
- let t = {}, n = e.getAttribute("target").split("/"), r = n.shift(), i = n.shift(), a = i.indexOf("(") !== -1, o = i.indexOf(".") !== -1;
296
- if (o) n = i.split("."), i = n.shift(), t.member = n.shift();
297
- else if (a) {
298
- let e = i.split("(");
299
- i = e.shift();
300
- for (let t = 0; t < e.length; t++) e[t] = parseInt(e[t].replace(/\)/, ""));
301
- t.indices = e;
302
- }
303
- return t.id = r, t.sid = i, t.arraySyntax = a, t.memberSyntax = o, t.sampler = J(e.getAttribute("source")), t;
304
- }
305
- parseAnimationClip(e) {
306
- let t = {
307
- name: e.getAttribute("id") || "default",
308
- start: parseFloat(e.getAttribute("start") || 0),
309
- end: parseFloat(e.getAttribute("end") || 0),
310
- animations: []
311
- };
312
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
313
- let r = e.childNodes[n];
314
- if (r.nodeType === 1) switch (r.nodeName) {
315
- case "instance_animation":
316
- t.animations.push(J(r.getAttribute("url")));
317
- break;
318
- }
319
- }
320
- this.library.clips[e.getAttribute("id")] = t;
321
- }
322
- parseController(e) {
323
- let t = {};
324
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
325
- let r = e.childNodes[n];
326
- if (r.nodeType === 1) switch (r.nodeName) {
327
- case "skin":
328
- t.id = J(r.getAttribute("source")), t.skin = this.parseSkin(r);
329
- break;
330
- case "morph":
331
- t.id = J(r.getAttribute("source")), console.warn("THREE.ColladaLoader: Morph target animation not supported yet.");
332
- break;
333
- }
334
- }
335
- this.library.controllers[e.getAttribute("id")] = t;
336
- }
337
- parseSkin(e) {
338
- let t = { sources: {} };
339
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
340
- let r = e.childNodes[n];
341
- if (r.nodeType === 1) switch (r.nodeName) {
342
- case "bind_shape_matrix":
343
- t.bindShapeMatrix = K(r.textContent);
344
- break;
345
- case "source":
346
- let e = r.getAttribute("id");
347
- t.sources[e] = this.parseSource(r);
348
- break;
349
- case "joints":
350
- t.joints = this.parseJoints(r);
351
- break;
352
- case "vertex_weights":
353
- t.vertexWeights = this.parseVertexWeights(r);
354
- break;
355
- }
356
- }
357
- return t;
358
- }
359
- parseJoints(e) {
360
- let t = { inputs: {} };
361
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
362
- let r = e.childNodes[n];
363
- if (r.nodeType === 1) switch (r.nodeName) {
364
- case "input":
365
- let e = r.getAttribute("semantic"), n = J(r.getAttribute("source"));
366
- t.inputs[e] = n;
367
- break;
368
- }
369
- }
370
- return t;
371
- }
372
- parseVertexWeights(e) {
373
- let t = { inputs: {} };
374
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
375
- let r = e.childNodes[n];
376
- if (r.nodeType === 1) switch (r.nodeName) {
377
- case "input":
378
- let e = r.getAttribute("semantic"), n = J(r.getAttribute("source")), i = parseInt(r.getAttribute("offset"));
379
- t.inputs[e] = {
380
- id: n,
381
- offset: i
382
- };
383
- break;
384
- case "vcount":
385
- t.vcount = q(r.textContent);
386
- break;
387
- case "v":
388
- t.v = q(r.textContent);
389
- break;
390
- }
391
- }
392
- return t;
393
- }
394
- parseImage(e) {
395
- let t = { init_from: W(e, "init_from")[0].textContent };
396
- this.library.images[e.getAttribute("id")] = t;
397
- }
398
- parseEffect(e) {
399
- let t = {};
400
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
401
- let r = e.childNodes[n];
402
- if (r.nodeType === 1) switch (r.nodeName) {
403
- case "profile_COMMON":
404
- t.profile = this.parseEffectProfileCOMMON(r);
405
- break;
406
- }
407
- }
408
- this.library.effects[e.getAttribute("id")] = t;
409
- }
410
- parseEffectProfileCOMMON(e) {
411
- let t = {
412
- surfaces: {},
413
- samplers: {}
414
- };
415
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
416
- let r = e.childNodes[n];
417
- if (r.nodeType === 1) switch (r.nodeName) {
418
- case "newparam":
419
- this.parseEffectNewparam(r, t);
420
- break;
421
- case "technique":
422
- t.technique = this.parseEffectTechnique(r);
423
- break;
424
- case "extra":
425
- t.extra = this.parseEffectExtra(r);
426
- break;
427
- }
428
- }
429
- return t;
430
- }
431
- parseEffectNewparam(e, t) {
432
- let n = e.getAttribute("sid");
433
- for (let r = 0, i = e.childNodes.length; r < i; r++) {
434
- let i = e.childNodes[r];
435
- if (i.nodeType === 1) switch (i.nodeName) {
436
- case "surface":
437
- t.surfaces[n] = this.parseEffectSurface(i);
438
- break;
439
- case "sampler2D":
440
- t.samplers[n] = this.parseEffectSampler(i);
441
- break;
442
- }
443
- }
444
- }
445
- parseEffectSurface(e) {
446
- let t = {};
447
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
448
- let r = e.childNodes[n];
449
- if (r.nodeType === 1) switch (r.nodeName) {
450
- case "init_from":
451
- t.init_from = r.textContent;
452
- break;
453
- }
454
- }
455
- return t;
456
- }
457
- parseEffectSampler(e) {
458
- let t = {};
459
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
460
- let r = e.childNodes[n];
461
- if (r.nodeType === 1) switch (r.nodeName) {
462
- case "source":
463
- t.source = r.textContent;
464
- break;
465
- }
466
- }
467
- return t;
468
- }
469
- parseEffectTechnique(e) {
470
- let t = {};
471
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
472
- let r = e.childNodes[n];
473
- if (r.nodeType === 1) switch (r.nodeName) {
474
- case "constant":
475
- case "lambert":
476
- case "blinn":
477
- case "phong":
478
- t.type = r.nodeName, t.parameters = this.parseEffectParameters(r);
479
- break;
480
- case "extra":
481
- t.extra = this.parseEffectExtra(r);
482
- break;
483
- }
484
- }
485
- return t;
486
- }
487
- parseEffectParameters(e) {
488
- let t = {};
489
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
490
- let r = e.childNodes[n];
491
- if (r.nodeType === 1) switch (r.nodeName) {
492
- case "emission":
493
- case "diffuse":
494
- case "specular":
495
- case "bump":
496
- case "ambient":
497
- case "shininess":
498
- case "transparency":
499
- t[r.nodeName] = this.parseEffectParameter(r);
500
- break;
501
- case "transparent":
502
- t[r.nodeName] = {
503
- opaque: r.hasAttribute("opaque") ? r.getAttribute("opaque") : "A_ONE",
504
- data: this.parseEffectParameter(r)
505
- };
506
- break;
507
- }
508
- }
509
- return t;
510
- }
511
- parseEffectParameter(e) {
512
- let t = {};
513
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
514
- let r = e.childNodes[n];
515
- if (r.nodeType === 1) switch (r.nodeName) {
516
- case "color":
517
- t[r.nodeName] = K(r.textContent);
518
- break;
519
- case "float":
520
- t[r.nodeName] = parseFloat(r.textContent);
521
- break;
522
- case "texture":
523
- t[r.nodeName] = {
524
- id: r.getAttribute("texture"),
525
- extra: this.parseEffectParameterTexture(r)
526
- };
527
- break;
528
- }
529
- }
530
- return t;
531
- }
532
- parseEffectParameterTexture(e) {
533
- let t = { technique: {} };
534
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
535
- let r = e.childNodes[n];
536
- if (r.nodeType === 1) switch (r.nodeName) {
537
- case "extra":
538
- this.parseEffectParameterTextureExtra(r, t);
539
- break;
540
- }
541
- }
542
- return t;
543
- }
544
- parseEffectParameterTextureExtra(e, t) {
545
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
546
- let r = e.childNodes[n];
547
- if (r.nodeType === 1) switch (r.nodeName) {
548
- case "technique":
549
- this.parseEffectParameterTextureExtraTechnique(r, t);
550
- break;
551
- }
552
- }
553
- }
554
- parseEffectParameterTextureExtraTechnique(e, t) {
555
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
556
- let r = e.childNodes[n];
557
- if (r.nodeType === 1) switch (r.nodeName) {
558
- case "repeatU":
559
- case "repeatV":
560
- case "offsetU":
561
- case "offsetV":
562
- t.technique[r.nodeName] = parseFloat(r.textContent);
563
- break;
564
- case "wrapU":
565
- case "wrapV":
566
- r.textContent.toUpperCase() === "TRUE" ? t.technique[r.nodeName] = 1 : r.textContent.toUpperCase() === "FALSE" ? t.technique[r.nodeName] = 0 : t.technique[r.nodeName] = parseInt(r.textContent);
567
- break;
568
- case "bump":
569
- t[r.nodeName] = this.parseEffectExtraTechniqueBump(r);
570
- break;
571
- }
572
- }
573
- }
574
- parseEffectExtra(e) {
575
- let t = {};
576
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
577
- let r = e.childNodes[n];
578
- if (r.nodeType === 1) switch (r.nodeName) {
579
- case "technique":
580
- t.technique = this.parseEffectExtraTechnique(r);
581
- break;
582
- }
583
- }
584
- return t;
585
- }
586
- parseEffectExtraTechnique(e) {
587
- let t = {};
588
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
589
- let r = e.childNodes[n];
590
- if (r.nodeType === 1) switch (r.nodeName) {
591
- case "double_sided":
592
- t[r.nodeName] = parseInt(r.textContent);
593
- break;
594
- case "bump":
595
- t[r.nodeName] = this.parseEffectExtraTechniqueBump(r);
596
- break;
597
- }
598
- }
599
- return t;
600
- }
601
- parseEffectExtraTechniqueBump(e) {
602
- let t = {};
603
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
604
- let r = e.childNodes[n];
605
- if (r.nodeType === 1) switch (r.nodeName) {
606
- case "texture":
607
- t[r.nodeName] = {
608
- id: r.getAttribute("texture"),
609
- texcoord: r.getAttribute("texcoord"),
610
- extra: this.parseEffectParameterTexture(r)
611
- };
612
- break;
613
- }
614
- }
615
- return t;
616
- }
617
- parseMaterial(e) {
618
- let t = { name: e.getAttribute("name") };
619
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
620
- let r = e.childNodes[n];
621
- if (r.nodeType === 1) switch (r.nodeName) {
622
- case "instance_effect":
623
- t.url = J(r.getAttribute("url"));
624
- break;
625
- }
626
- }
627
- this.library.materials[e.getAttribute("id")] = t;
628
- }
629
- parseCamera(e) {
630
- let t = { name: e.getAttribute("name") };
631
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
632
- let r = e.childNodes[n];
633
- if (r.nodeType === 1) switch (r.nodeName) {
634
- case "optics":
635
- t.optics = this.parseCameraOptics(r);
636
- break;
637
- }
638
- }
639
- this.library.cameras[e.getAttribute("id")] = t;
640
- }
641
- parseCameraOptics(e) {
642
- for (let t = 0; t < e.childNodes.length; t++) {
643
- let n = e.childNodes[t];
644
- switch (n.nodeName) {
645
- case "technique_common": return this.parseCameraTechnique(n);
646
- }
647
- }
648
- return {};
649
- }
650
- parseCameraTechnique(e) {
651
- let t = {};
652
- for (let n = 0; n < e.childNodes.length; n++) {
653
- let r = e.childNodes[n];
654
- switch (r.nodeName) {
655
- case "perspective":
656
- case "orthographic":
657
- t.technique = r.nodeName, t.parameters = this.parseCameraParameters(r);
658
- break;
659
- }
660
- }
661
- return t;
662
- }
663
- parseCameraParameters(e) {
664
- let t = {};
665
- for (let n = 0; n < e.childNodes.length; n++) {
666
- let r = e.childNodes[n];
667
- switch (r.nodeName) {
668
- case "xfov":
669
- case "yfov":
670
- case "xmag":
671
- case "ymag":
672
- case "znear":
673
- case "zfar":
674
- case "aspect_ratio":
675
- t[r.nodeName] = parseFloat(r.textContent);
676
- break;
677
- }
678
- }
679
- return t;
680
- }
681
- parseLight(e) {
682
- let t = {};
683
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
684
- let r = e.childNodes[n];
685
- if (r.nodeType === 1) switch (r.nodeName) {
686
- case "technique_common":
687
- t = this.parseLightTechnique(r);
688
- break;
689
- }
690
- }
691
- this.library.lights[e.getAttribute("id")] = t;
692
- }
693
- parseLightTechnique(e) {
694
- let t = {};
695
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
696
- let r = e.childNodes[n];
697
- if (r.nodeType === 1) switch (r.nodeName) {
698
- case "directional":
699
- case "point":
700
- case "spot":
701
- case "ambient":
702
- t.technique = r.nodeName, t.parameters = this.parseLightParameters(r);
703
- break;
704
- }
705
- }
706
- return t;
707
- }
708
- parseLightParameters(e) {
709
- let t = {};
710
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
711
- let r = e.childNodes[n];
712
- if (r.nodeType === 1) switch (r.nodeName) {
713
- case "color":
714
- let e = K(r.textContent);
715
- t.color = new A().fromArray(e), E.colorSpaceToWorking(t.color, R);
716
- break;
717
- case "falloff_angle":
718
- t.falloffAngle = parseFloat(r.textContent);
719
- break;
720
- case "quadratic_attenuation":
721
- let n = parseFloat(r.textContent);
722
- t.distance = n ? Math.sqrt(1 / n) : 0;
723
- break;
724
- }
725
- }
726
- return t;
727
- }
728
- parseGeometry(e) {
729
- let t = {
730
- name: e.getAttribute("name"),
731
- sources: {},
732
- vertices: {},
733
- primitives: []
734
- }, n = W(e, "mesh")[0];
735
- if (n !== void 0) {
736
- for (let e = 0; e < n.childNodes.length; e++) {
737
- let r = n.childNodes[e];
738
- if (r.nodeType !== 1) continue;
739
- let i = r.getAttribute("id");
740
- switch (r.nodeName) {
741
- case "source":
742
- t.sources[i] = this.parseSource(r);
743
- break;
744
- case "vertices":
745
- t.vertices = this.parseGeometryVertices(r);
746
- break;
747
- case "polygons":
748
- case "lines":
749
- case "linestrips":
750
- case "polylist":
751
- case "triangles":
752
- t.primitives.push(this.parseGeometryPrimitive(r));
753
- break;
754
- default:
755
- }
756
- }
757
- this.library.geometries[e.getAttribute("id")] = t;
758
- }
759
- }
760
- parseSource(e) {
761
- let t = {
762
- array: [],
763
- stride: 3
764
- };
765
- for (let n = 0; n < e.childNodes.length; n++) {
766
- let r = e.childNodes[n];
767
- if (r.nodeType === 1) switch (r.nodeName) {
768
- case "float_array":
769
- t.array = K(r.textContent);
770
- break;
771
- case "Name_array":
772
- t.array = G(r.textContent);
773
- break;
774
- case "technique_common":
775
- let e = W(r, "accessor")[0];
776
- e !== void 0 && (t.stride = parseInt(e.getAttribute("stride")));
777
- break;
778
- }
779
- }
780
- return t;
781
- }
782
- parseGeometryVertices(e) {
783
- let t = {};
784
- for (let n = 0; n < e.childNodes.length; n++) {
785
- let r = e.childNodes[n];
786
- r.nodeType === 1 && (t[r.getAttribute("semantic")] = J(r.getAttribute("source")));
787
- }
788
- return t;
789
- }
790
- parseGeometryPrimitive(e) {
791
- let t = {
792
- type: e.nodeName,
793
- material: e.getAttribute("material"),
794
- count: parseInt(e.getAttribute("count")),
795
- inputs: {},
796
- stride: 0,
797
- hasUV: !1
798
- };
799
- for (let n = 0, r = e.childNodes.length; n < r; n++) {
800
- let r = e.childNodes[n];
801
- if (r.nodeType === 1) switch (r.nodeName) {
802
- case "input":
803
- let e = J(r.getAttribute("source")), n = r.getAttribute("semantic"), i = parseInt(r.getAttribute("offset")), a = parseInt(r.getAttribute("set")), o = a > 0 ? n + a : n;
804
- t.inputs[o] = {
805
- id: e,
806
- offset: i
807
- }, t.stride = Math.max(t.stride, i + 1), n === "TEXCOORD" && (t.hasUV = !0);
808
- break;
809
- case "vcount":
810
- t.vcount = q(r.textContent);
811
- break;
812
- case "p":
813
- t.p = q(r.textContent);
814
- break;
815
- }
816
- }
817
- return t.type === "polygons" && (t.vcount = [t.p.length / t.stride]), t;
818
- }
819
- parseLibraryJoint(e) {
820
- this.library.joints[e.getAttribute("id")] = this.parseKinematicsJoint(e);
821
- }
822
- parseKinematicsModel(e) {
823
- let t = {
824
- name: e.getAttribute("name") || "",
825
- joints: {},
826
- links: []
827
- };
828
- for (let n = 0; n < e.childNodes.length; n++) {
829
- let r = e.childNodes[n];
830
- if (r.nodeType === 1) switch (r.nodeName) {
831
- case "technique_common":
832
- this.parseKinematicsTechniqueCommon(r, t);
833
- break;
834
- }
835
- }
836
- this.library.kinematicsModels[e.getAttribute("id")] = t;
837
- }
838
- parseKinematicsTechniqueCommon(e, t) {
839
- for (let n = 0; n < e.childNodes.length; n++) {
840
- let r = e.childNodes[n];
841
- if (r.nodeType === 1) switch (r.nodeName) {
842
- case "joint":
843
- t.joints[r.getAttribute("sid")] = this.parseKinematicsJoint(r);
844
- break;
845
- case "instance_joint":
846
- t.joints[r.getAttribute("sid")] = this.library.joints[J(r.getAttribute("url"))];
847
- break;
848
- case "link":
849
- t.links.push(this.parseKinematicsLink(r));
850
- break;
851
- }
852
- }
853
- }
854
- parseKinematicsJoint(e) {
855
- let t;
856
- for (let n = 0; n < e.childNodes.length; n++) {
857
- let r = e.childNodes[n];
858
- if (r.nodeType === 1) switch (r.nodeName) {
859
- case "prismatic":
860
- case "revolute":
861
- t = this.parseKinematicsJointParameter(r);
862
- break;
863
- }
864
- }
865
- return t;
866
- }
867
- parseKinematicsJointParameter(e) {
868
- let n = {
869
- sid: e.getAttribute("sid"),
870
- name: e.getAttribute("name") || "",
871
- axis: new t(),
872
- limits: {
873
- min: 0,
874
- max: 0
875
- },
876
- type: e.nodeName,
877
- static: !1,
878
- zeroPosition: 0,
879
- middlePosition: 0
880
- };
881
- for (let t = 0; t < e.childNodes.length; t++) {
882
- let r = e.childNodes[t];
883
- if (r.nodeType === 1) switch (r.nodeName) {
884
- case "axis":
885
- let e = K(r.textContent);
886
- n.axis.fromArray(e);
887
- break;
888
- case "limits":
889
- let t = r.getElementsByTagName("max")[0], i = r.getElementsByTagName("min")[0];
890
- n.limits.max = parseFloat(t.textContent), n.limits.min = parseFloat(i.textContent);
891
- break;
892
- }
893
- }
894
- return n.limits.min >= n.limits.max && (n.static = !0), n.middlePosition = (n.limits.min + n.limits.max) / 2, n;
895
- }
896
- parseKinematicsLink(e) {
897
- let t = {
898
- sid: e.getAttribute("sid"),
899
- name: e.getAttribute("name") || "",
900
- attachments: [],
901
- transforms: []
902
- };
903
- for (let n = 0; n < e.childNodes.length; n++) {
904
- let r = e.childNodes[n];
905
- if (r.nodeType === 1) switch (r.nodeName) {
906
- case "attachment_full":
907
- t.attachments.push(this.parseKinematicsAttachment(r));
908
- break;
909
- case "matrix":
910
- case "translate":
911
- case "rotate":
912
- t.transforms.push(this.parseKinematicsTransform(r));
913
- break;
914
- }
915
- }
916
- return t;
917
- }
918
- parseKinematicsAttachment(e) {
919
- let t = {
920
- joint: e.getAttribute("joint").split("/").pop(),
921
- transforms: [],
922
- links: []
923
- };
924
- for (let n = 0; n < e.childNodes.length; n++) {
925
- let r = e.childNodes[n];
926
- if (r.nodeType === 1) switch (r.nodeName) {
927
- case "link":
928
- t.links.push(this.parseKinematicsLink(r));
929
- break;
930
- case "matrix":
931
- case "translate":
932
- case "rotate":
933
- t.transforms.push(this.parseKinematicsTransform(r));
934
- break;
935
- }
936
- }
937
- return t;
938
- }
939
- parseKinematicsTransform(n) {
940
- let r = { type: n.nodeName }, i = K(n.textContent);
941
- switch (r.type) {
942
- case "matrix":
943
- r.obj = new e(), r.obj.fromArray(i).transpose();
944
- break;
945
- case "translate":
946
- r.obj = new t(), r.obj.fromArray(i);
947
- break;
948
- case "rotate":
949
- r.obj = new t(), r.obj.fromArray(i), r.angle = y.degToRad(i[3]);
950
- break;
951
- }
952
- return r;
953
- }
954
- parsePhysicsModel(e) {
955
- let t = {
956
- name: e.getAttribute("name") || "",
957
- rigidBodies: {}
958
- };
959
- for (let n = 0; n < e.childNodes.length; n++) {
960
- let r = e.childNodes[n];
961
- if (r.nodeType === 1) switch (r.nodeName) {
962
- case "rigid_body":
963
- t.rigidBodies[r.getAttribute("name")] = {}, this.parsePhysicsRigidBody(r, t.rigidBodies[r.getAttribute("name")]);
964
- break;
965
- }
966
- }
967
- this.library.physicsModels[e.getAttribute("id")] = t;
968
- }
969
- parsePhysicsRigidBody(e, t) {
970
- for (let n = 0; n < e.childNodes.length; n++) {
971
- let r = e.childNodes[n];
972
- if (r.nodeType === 1) switch (r.nodeName) {
973
- case "technique_common":
974
- this.parsePhysicsTechniqueCommon(r, t);
975
- break;
976
- }
977
- }
978
- }
979
- parsePhysicsTechniqueCommon(e, t) {
980
- for (let n = 0; n < e.childNodes.length; n++) {
981
- let r = e.childNodes[n];
982
- if (r.nodeType === 1) switch (r.nodeName) {
983
- case "inertia":
984
- t.inertia = K(r.textContent);
985
- break;
986
- case "mass":
987
- t.mass = K(r.textContent)[0];
988
- break;
989
- }
990
- }
991
- }
992
- parseKinematicsScene(e) {
993
- let t = { bindJointAxis: [] };
994
- for (let n = 0; n < e.childNodes.length; n++) {
995
- let r = e.childNodes[n];
996
- if (r.nodeType === 1) switch (r.nodeName) {
997
- case "bind_joint_axis":
998
- t.bindJointAxis.push(this.parseKinematicsBindJointAxis(r));
999
- break;
1000
- }
1001
- }
1002
- this.library.kinematicsScenes[J(e.getAttribute("url"))] = t;
1003
- }
1004
- parseKinematicsBindJointAxis(e) {
1005
- let t = { target: e.getAttribute("target").split("/").pop() };
1006
- for (let n = 0; n < e.childNodes.length; n++) {
1007
- let r = e.childNodes[n];
1008
- if (r.nodeType === 1) switch (r.nodeName) {
1009
- case "axis":
1010
- t.axis = r.getElementsByTagName("param")[0].textContent;
1011
- let e = t.axis.split("inst_").pop().split("axis")[0];
1012
- t.jointIndex = e.substring(0, e.length - 1);
1013
- break;
1014
- }
1015
- }
1016
- return t;
1017
- }
1018
- prepareNodes(e) {
1019
- let t = e.getElementsByTagName("node");
1020
- for (let e = 0; e < t.length; e++) {
1021
- let n = t[e];
1022
- n.hasAttribute("id") === !1 && n.setAttribute("id", this.generateId());
1023
- }
1024
- }
1025
- parseNode(n) {
1026
- let r = new e(), i = new t(), a = {
1027
- name: n.getAttribute("name") || "",
1028
- type: n.getAttribute("type"),
1029
- id: n.getAttribute("id"),
1030
- sid: n.getAttribute("sid"),
1031
- matrix: new e(),
1032
- nodes: [],
1033
- instanceCameras: [],
1034
- instanceControllers: [],
1035
- instanceLights: [],
1036
- instanceGeometries: [],
1037
- instanceNodes: [],
1038
- transforms: {},
1039
- transformData: {},
1040
- transformOrder: []
1041
- };
1042
- for (let e = 0; e < n.childNodes.length; e++) {
1043
- let t = n.childNodes[e];
1044
- if (t.nodeType !== 1) continue;
1045
- let o;
1046
- switch (t.nodeName) {
1047
- case "node":
1048
- a.nodes.push(t.getAttribute("id")), this.parseNode(t);
1049
- break;
1050
- case "instance_camera":
1051
- a.instanceCameras.push(J(t.getAttribute("url")));
1052
- break;
1053
- case "instance_controller":
1054
- a.instanceControllers.push(this.parseNodeInstance(t));
1055
- break;
1056
- case "instance_light":
1057
- a.instanceLights.push(J(t.getAttribute("url")));
1058
- break;
1059
- case "instance_geometry":
1060
- a.instanceGeometries.push(this.parseNodeInstance(t));
1061
- break;
1062
- case "instance_node":
1063
- a.instanceNodes.push(J(t.getAttribute("url")));
1064
- break;
1065
- case "matrix":
1066
- o = K(t.textContent), a.matrix.multiply(r.fromArray(o).transpose());
1067
- {
1068
- let e = t.getAttribute("sid");
1069
- a.transforms[e] = t.nodeName, a.transformData[e] = {
1070
- type: "matrix",
1071
- array: o
1072
- }, a.transformOrder.push(e);
1073
- }
1074
- break;
1075
- case "translate":
1076
- o = K(t.textContent), i.fromArray(o), a.matrix.multiply(r.makeTranslation(i.x, i.y, i.z));
1077
- {
1078
- let e = t.getAttribute("sid");
1079
- a.transforms[e] = t.nodeName, a.transformData[e] = {
1080
- type: "translate",
1081
- x: o[0],
1082
- y: o[1],
1083
- z: o[2]
1084
- }, a.transformOrder.push(e);
1085
- }
1086
- break;
1087
- case "rotate":
1088
- o = K(t.textContent);
1089
- {
1090
- let e = y.degToRad(o[3]);
1091
- a.matrix.multiply(r.makeRotationAxis(i.fromArray(o), e));
1092
- let n = t.getAttribute("sid");
1093
- a.transforms[n] = t.nodeName, a.transformData[n] = {
1094
- type: "rotate",
1095
- axis: [
1096
- o[0],
1097
- o[1],
1098
- o[2]
1099
- ],
1100
- angle: o[3]
1101
- }, a.transformOrder.push(n);
1102
- }
1103
- break;
1104
- case "scale":
1105
- o = K(t.textContent), a.matrix.scale(i.fromArray(o));
1106
- {
1107
- let e = t.getAttribute("sid");
1108
- a.transforms[e] = t.nodeName, a.transformData[e] = {
1109
- type: "scale",
1110
- x: o[0],
1111
- y: o[1],
1112
- z: o[2]
1113
- }, a.transformOrder.push(e);
1114
- }
1115
- break;
1116
- case "extra": break;
1117
- default:
1118
- }
1119
- }
1120
- return this.hasNode(a.id) ? console.warn("THREE.ColladaLoader: There is already a node with ID %s. Exclude current node from further processing.", a.id) : this.library.nodes[a.id] = a, a;
1121
- }
1122
- parseNodeInstance(e) {
1123
- let t = {
1124
- id: J(e.getAttribute("url")),
1125
- materials: {},
1126
- skeletons: []
1127
- };
1128
- for (let n = 0; n < e.childNodes.length; n++) {
1129
- let r = e.childNodes[n];
1130
- switch (r.nodeName) {
1131
- case "bind_material":
1132
- let e = r.getElementsByTagName("instance_material");
1133
- for (let n = 0; n < e.length; n++) {
1134
- let r = e[n], i = r.getAttribute("symbol"), a = r.getAttribute("target");
1135
- t.materials[i] = J(a);
1136
- }
1137
- break;
1138
- case "skeleton":
1139
- t.skeletons.push(J(r.textContent));
1140
- break;
1141
- default: break;
1142
- }
1143
- }
1144
- return t;
1145
- }
1146
- parseVisualScene(e) {
1147
- let t = {
1148
- name: e.getAttribute("name"),
1149
- children: []
1150
- };
1151
- this.prepareNodes(e);
1152
- let n = W(e, "node");
1153
- for (let e = 0; e < n.length; e++) t.children.push(this.parseNode(n[e]));
1154
- this.library.visualScenes[e.getAttribute("id")] = t;
1155
- }
1156
- hasNode(e) {
1157
- return this.library.nodes[e] !== void 0;
1158
- }
1159
- }, X = class {
1160
- constructor(n, r, i, a) {
1161
- this.library = n, this.collada = r, this.textureLoader = i, this.tgaLoader = a, this.tempColor = new A(), this.animations = [], this.kinematics = {}, this.position = new t(), this.scale = new t(), this.quaternion = new B(), this.matrix = new e(), this.deferredPivotAnimations = {}, this.transformNodes = {};
1162
- }
1163
- compose() {
1164
- let e = this.library;
1165
- this.buildLibrary(e.animations, this.buildAnimation.bind(this)), this.buildLibrary(e.clips, this.buildAnimationClip.bind(this)), this.buildLibrary(e.controllers, this.buildController.bind(this)), this.buildLibrary(e.images, this.buildImage.bind(this)), this.buildLibrary(e.effects, this.buildEffect.bind(this)), this.buildLibrary(e.materials, this.buildMaterial.bind(this)), this.buildLibrary(e.cameras, this.buildCamera.bind(this)), this.buildLibrary(e.lights, this.buildLight.bind(this)), this.buildLibrary(e.geometries, this.buildGeometry.bind(this)), this.buildLibrary(e.visualScenes, this.buildVisualScene.bind(this)), this.setupAnimations(), this.setupKinematics();
1166
- let t = this.parseScene(W(this.collada, "scene")[0]);
1167
- return t.animations = this.animations, {
1168
- scene: t,
1169
- animations: this.animations,
1170
- kinematics: this.kinematics
1171
- };
1172
- }
1173
- buildLibrary(e, t) {
1174
- for (let n in e) {
1175
- let r = e[n];
1176
- r.build = t(e[n]);
1177
- }
1178
- }
1179
- getBuild(e, t) {
1180
- return e.build === void 0 && (e.build = t(e)), e.build;
1181
- }
1182
- isEmpty(e) {
1183
- return Object.keys(e).length === 0;
1184
- }
1185
- buildAnimation(e) {
1186
- let t = [], n = e.channels, r = e.samplers, i = e.sources, a = this.aggregateAnimationChannels(n, r, i);
1187
- for (let e in a) {
1188
- let n = this.library.nodes[e];
1189
- if (!n) continue;
1190
- let r = a[e];
1191
- if (this.hasPivotTransforms(n)) this.collectDeferredPivotAnimation(e, r);
1192
- else {
1193
- let i = this.getNode(e), a = !1;
1194
- for (let e in r) {
1195
- let o = n.transforms[e], s = n.transformData[e], c = r[e];
1196
- switch (o) {
1197
- case "matrix":
1198
- this.buildMatrixTracks(i, c, n, t);
1199
- break;
1200
- case "translate":
1201
- this.buildTranslateTrack(i, c, s, t);
1202
- break;
1203
- case "rotate":
1204
- a || (this.buildRotateTrack(i, e, c, s, n, t), a = !0);
1205
- break;
1206
- case "scale":
1207
- this.buildScaleTrack(i, c, s, t);
1208
- break;
1209
- }
1210
- }
1211
- }
1212
- }
1213
- return t;
1214
- }
1215
- collectDeferredPivotAnimation(e, t) {
1216
- this.deferredPivotAnimations[e] || (this.deferredPivotAnimations[e] = {});
1217
- let n = this.deferredPivotAnimations[e];
1218
- for (let e in t) {
1219
- n[e] || (n[e] = {});
1220
- for (let r in t[e]) n[e][r] = t[e][r];
1221
- }
1222
- }
1223
- hasPivotTransforms(e) {
1224
- for (let t of [
1225
- "rotatePivot",
1226
- "rotatePivotInverse",
1227
- "rotatePivotTranslation",
1228
- "scalePivot",
1229
- "scalePivotInverse",
1230
- "scalePivotTranslation"
1231
- ]) if (e.transforms[t] !== void 0) return !0;
1232
- return !1;
1233
- }
1234
- getAnimation(e) {
1235
- return this.getBuild(this.library.animations[e], this.buildAnimation.bind(this));
1236
- }
1237
- aggregateAnimationChannels(e, t, n) {
1238
- let r = {};
1239
- for (let i in e) {
1240
- if (!e.hasOwnProperty(i)) continue;
1241
- let a = e[i], o = t[a.sampler], s = o.inputs.INPUT, c = o.inputs.OUTPUT, l = n[s], u = n[c], d = o.inputs.INTERPOLATION, f = o.inputs.IN_TANGENT, p = o.inputs.OUT_TANGENT, m = d ? n[d] : null, h = f ? n[f] : null, g = p ? n[p] : null, _ = a.id, v = a.sid, y = a.member || "default";
1242
- r[_] || (r[_] = {}), r[_][v] || (r[_][v] = {}), r[_][v][y] = {
1243
- times: l.array,
1244
- values: u.array,
1245
- stride: u.stride,
1246
- arraySyntax: a.arraySyntax,
1247
- indices: a.indices,
1248
- interpolation: m ? m.array : null,
1249
- inTangent: h ? h.array : null,
1250
- outTangent: g ? g.array : null,
1251
- inTangentStride: h ? h.stride : 0,
1252
- outTangentStride: g ? g.stride : 0
1253
- };
1254
- }
1255
- return r;
1256
- }
1257
- buildMatrixTracks(e, t, n, r) {
1258
- let i = n.matrix.clone().transpose(), a = {};
1259
- for (let e in t) {
1260
- let n = t[e], r = n.times, i = n.values, o = n.stride;
1261
- for (let e = 0, t = r.length; e < t; e++) {
1262
- let t = r[e], s = e * o;
1263
- if (a[t] === void 0 && (a[t] = {}), n.arraySyntax === !0) {
1264
- let e = i[s], r = n.indices[0] + 4 * n.indices[1];
1265
- a[t][r] = e;
1266
- } else for (let e = 0; e < o; e++) a[t][e] = i[s + e];
1267
- }
1268
- }
1269
- let o = this.prepareAnimationData(a, i), s = {
1270
- name: e.uuid,
1271
- keyframes: o
1272
- };
1273
- this.createKeyframeTracks(s, r);
1274
- }
1275
- buildTranslateTrack(e, t, n, r) {
1276
- if (t.default && t.default.stride === 3) {
1277
- let n = t.default, i = Array.from(n.times), a = Array.from(n.values), o = new l(e.uuid + ".position", i, a), s = this.getInterpolationInfo(t);
1278
- this.applyInterpolation(o, s, t), r.push(o);
1279
- return;
1280
- }
1281
- let i = this.getTimesForAllAxes(t);
1282
- if (i.length === 0) return;
1283
- let a = [], o = this.getInterpolationInfo(t);
1284
- for (let e = 0; e < i.length; e++) {
1285
- let r = i[e], o = this.getValueAtTime(t.X, r, n.x), s = this.getValueAtTime(t.Y, r, n.y), c = this.getValueAtTime(t.Z, r, n.z);
1286
- a.push(o, s, c);
1287
- }
1288
- let s = new l(e.uuid + ".position", i, a);
1289
- this.applyInterpolation(s, o), r.push(s);
1290
- }
1291
- buildRotateTrack(e, n, r, i, a, o) {
1292
- let s = r.ANGLE || r.default;
1293
- if (!s) return;
1294
- let c = Array.from(s.times);
1295
- if (c.length === 0) return;
1296
- let l = [];
1297
- for (let e of a.transformOrder) if (a.transforms[e] === "rotate") {
1298
- let n = a.transformData[e];
1299
- l.push({
1300
- sid: e,
1301
- axis: new t(n.axis[0], n.axis[1], n.axis[2]),
1302
- defaultAngle: n.angle
1303
- });
1304
- }
1305
- let u = new B(), d = new B(), f = new B(), p = [], m = this.getInterpolationInfo(r);
1306
- for (let e = 0; e < c.length; e++) {
1307
- let t = c[e];
1308
- u.identity();
1309
- for (let e of l) {
1310
- let r;
1311
- r = e.sid === n ? this.getValueAtTime(s, t, e.defaultAngle) : e.defaultAngle;
1312
- let i = y.degToRad(r);
1313
- f.setFromAxisAngle(e.axis, i), u.multiply(f);
1314
- }
1315
- e > 0 && d.dot(u) < 0 && (u.x = -u.x, u.y = -u.y, u.z = -u.z, u.w = -u.w), d.copy(u), p.push(u.x, u.y, u.z, u.w);
1316
- }
1317
- let h = new x(e.uuid + ".quaternion", c, p);
1318
- this.applyInterpolation(h, m), o.push(h);
1319
- }
1320
- buildScaleTrack(e, t, n, r) {
1321
- if (t.default && t.default.stride === 3) {
1322
- let n = t.default, i = Array.from(n.times), a = Array.from(n.values), o = new l(e.uuid + ".scale", i, a), s = this.getInterpolationInfo(t);
1323
- this.applyInterpolation(o, s, t), r.push(o);
1324
- return;
1325
- }
1326
- let i = this.getTimesForAllAxes(t);
1327
- if (i.length === 0) return;
1328
- let a = [], o = this.getInterpolationInfo(t);
1329
- for (let e = 0; e < i.length; e++) {
1330
- let r = i[e], o = this.getValueAtTime(t.X, r, n.x), s = this.getValueAtTime(t.Y, r, n.y), c = this.getValueAtTime(t.Z, r, n.z);
1331
- a.push(o, s, c);
1332
- }
1333
- let s = new l(e.uuid + ".scale", i, a);
1334
- this.applyInterpolation(s, o), r.push(s);
1335
- }
1336
- getTimesForAllAxes(e) {
1337
- let t = [];
1338
- return e.X && (t = t.concat(Array.from(e.X.times))), e.Y && (t = t.concat(Array.from(e.Y.times))), e.Z && (t = t.concat(Array.from(e.Z.times))), e.ANGLE && (t = t.concat(Array.from(e.ANGLE.times))), e.default && (t = t.concat(Array.from(e.default.times))), t = [...new Set(t)].sort((e, t) => e - t), t;
1339
- }
1340
- getValueAtTime(e, t, n) {
1341
- if (!e) return n;
1342
- let r = e.times, i = e.values, a = e.interpolation;
1343
- for (let n = 0; n < r.length; n++) {
1344
- if (r[n] === t) return i[n];
1345
- if (r[n] > t) {
1346
- if (n === 0) return i[0];
1347
- let o = n - 1, s = n, c = r[o], l = r[s], u = i[o], d = i[s], f = a ? a[o] : "LINEAR";
1348
- return f === "STEP" ? u : f === "BEZIER" && e.inTangent && e.outTangent ? this.evaluateBezierComponent(e, o, s, c, l, t) : u + (t - c) / (l - c) * (d - u);
1349
- }
1350
- }
1351
- return i[i.length - 1];
1352
- }
1353
- evaluateBezierComponent(e, t, n, r, i, a) {
1354
- let o = e.values, s = e.inTangent, c = e.outTangent, l = e.inTangentStride || 1, u = o[t], d = o[n], f, p, m, h;
1355
- l === 2 ? (f = c[t * 2], p = c[t * 2 + 1], m = s[n * 2], h = s[n * 2 + 1]) : (f = r + (i - r) / 3, p = c[t], m = i - (i - r) / 3, h = s[n]);
1356
- let g = (a - r) / (i - r);
1357
- for (let e = 0; e < 8; e++) {
1358
- let e = g * g, t = e * g, n = 1 - g, o = n * n, s = o * n * r + 3 * o * g * f + 3 * n * e * m + t * i, c = 3 * o * (f - r) + 6 * n * g * (m - f) + 3 * e * (i - m);
1359
- if (Math.abs(c) < 1e-10) break;
1360
- let l = s - a;
1361
- if (Math.abs(l) < 1e-10) break;
1362
- g -= l / c, g = Math.max(0, Math.min(1, g));
1363
- }
1364
- let _ = g * g, v = _ * g, y = 1 - g, b = y * y;
1365
- return b * y * u + 3 * b * g * p + 3 * y * _ * h + v * d;
1366
- }
1367
- getInterpolationInfo(e) {
1368
- let t = [
1369
- "X",
1370
- "Y",
1371
- "Z",
1372
- "ANGLE",
1373
- "default"
1374
- ], n = null, r = !0;
1375
- for (let i of t) {
1376
- let t = e[i];
1377
- if (!t || !t.interpolation) continue;
1378
- let a = t.interpolation;
1379
- for (let e = 0; e < a.length; e++) {
1380
- let t = a[e];
1381
- n === null ? n = t : t !== n && (r = !1);
1382
- }
1383
- }
1384
- return {
1385
- type: n || "LINEAR",
1386
- uniform: r
1387
- };
1388
- }
1389
- applyInterpolation(e, t, n = null) {
1390
- if (t.type === "STEP" && t.uniform) e.setInterpolation(u);
1391
- else if (t.type === "BEZIER" && t.uniform && n) {
1392
- let t = n.default;
1393
- t && t.inTangent && t.outTangent && (e.setInterpolation(s), e.settings = {
1394
- inTangents: new Float32Array(t.inTangent),
1395
- outTangents: new Float32Array(t.outTangent)
1396
- });
1397
- }
1398
- }
1399
- prepareAnimationData(e, t) {
1400
- let n = [];
1401
- for (let t in e) n.push({
1402
- time: parseFloat(t),
1403
- value: e[t]
1404
- });
1405
- n.sort((e, t) => e.time - t.time);
1406
- for (let e = 0; e < 16; e++) this.transformAnimationData(n, e, t.elements[e]);
1407
- return n;
1408
- }
1409
- createKeyframeTracks(e, t) {
1410
- let n = e.keyframes, r = e.name, i = [], a = [], o = [], s = [], c = this.position, u = this.quaternion, d = this.scale, f = this.matrix;
1411
- for (let e = 0, t = n.length; e < t; e++) {
1412
- let t = n[e], r = t.time, l = t.value;
1413
- f.fromArray(l).transpose(), f.decompose(c, u, d), i.push(r), a.push(c.x, c.y, c.z), o.push(u.x, u.y, u.z, u.w), s.push(d.x, d.y, d.z);
1414
- }
1415
- return a.length > 0 && t.push(new l(r + ".position", i, a)), o.length > 0 && t.push(new x(r + ".quaternion", i, o)), s.length > 0 && t.push(new l(r + ".scale", i, s)), t;
1416
- }
1417
- transformAnimationData(e, t, n) {
1418
- let r, i = !0, a, o;
1419
- for (a = 0, o = e.length; a < o; a++) r = e[a], r.value[t] === void 0 ? r.value[t] = null : i = !1;
1420
- if (i === !0) for (a = 0, o = e.length; a < o; a++) r = e[a], r.value[t] = n;
1421
- else this.createMissingKeyframes(e, t);
1422
- }
1423
- createMissingKeyframes(e, t) {
1424
- let n, r;
1425
- for (let i = 0, a = e.length; i < a; i++) {
1426
- let a = e[i];
1427
- if (a.value[t] === null) {
1428
- if (n = this.getPrev(e, i, t), r = this.getNext(e, i, t), n === null) {
1429
- a.value[t] = r.value[t];
1430
- continue;
1431
- }
1432
- if (r === null) {
1433
- a.value[t] = n.value[t];
1434
- continue;
1435
- }
1436
- this.interpolate(a, n, r, t);
1437
- }
1438
- }
1439
- }
1440
- getPrev(e, t, n) {
1441
- for (; t >= 0;) {
1442
- let r = e[t];
1443
- if (r.value[n] !== null) return r;
1444
- t--;
1445
- }
1446
- return null;
1447
- }
1448
- getNext(e, t, n) {
1449
- for (; t < e.length;) {
1450
- let r = e[t];
1451
- if (r.value[n] !== null) return r;
1452
- t++;
1453
- }
1454
- return null;
1455
- }
1456
- interpolate(e, t, n, r) {
1457
- if (n.time - t.time === 0) {
1458
- e.value[r] = t.value[r];
1459
- return;
1460
- }
1461
- e.value[r] = (e.time - t.time) * (n.value[r] - t.value[r]) / (n.time - t.time) + t.value[r];
1462
- }
1463
- buildAnimationClip(e) {
1464
- let t = [], n = e.name, r = e.end - e.start || -1, i = e.animations;
1465
- for (let e = 0, n = i.length; e < n; e++) {
1466
- let n = this.getAnimation(i[e]);
1467
- for (let e = 0, r = n.length; e < r; e++) t.push(n[e]);
1468
- }
1469
- return new N(n, r, t);
1470
- }
1471
- getAnimationClip(e) {
1472
- return this.getBuild(this.library.clips[e], this.buildAnimationClip.bind(this));
1473
- }
1474
- buildController(e) {
1475
- let t = { id: e.id }, n = this.library.geometries[t.id];
1476
- return e.skin !== void 0 && (t.skin = this.buildSkin(e.skin), n.sources.skinIndices = t.skin.indices, n.sources.skinWeights = t.skin.weights), t;
1477
- }
1478
- buildSkin(t) {
1479
- let n = {
1480
- joints: [],
1481
- indices: {
1482
- array: [],
1483
- stride: 4
1484
- },
1485
- weights: {
1486
- array: [],
1487
- stride: 4
1488
- }
1489
- }, r = t.sources, i = t.vertexWeights, a = i.vcount, o = i.v, s = i.inputs.JOINT.offset, c = i.inputs.WEIGHT.offset, l = t.sources[t.joints.inputs.JOINT], u = t.sources[t.joints.inputs.INV_BIND_MATRIX], d = r[i.inputs.WEIGHT.id].array, f = 0, p, m, h;
1490
- for (p = 0, h = a.length; p < h; p++) {
1491
- let e = a[p], t = [];
1492
- for (m = 0; m < e; m++) {
1493
- let e = o[f + s], n = d[o[f + c]];
1494
- t.push({
1495
- index: e,
1496
- weight: n
1497
- }), f += 2;
1498
- }
1499
- for (t.sort(g), m = 0; m < 4; m++) {
1500
- let e = t[m];
1501
- e === void 0 ? (n.indices.array.push(0), n.weights.array.push(0)) : (n.indices.array.push(e.index), n.weights.array.push(e.weight));
1502
- }
1503
- }
1504
- for (t.bindShapeMatrix ? n.bindMatrix = new e().fromArray(t.bindShapeMatrix).transpose() : n.bindMatrix = new e().identity(), p = 0, h = l.array.length; p < h; p++) {
1505
- let t = l.array[p], r = new e().fromArray(u.array, p * u.stride).transpose();
1506
- n.joints.push({
1507
- name: t,
1508
- boneInverse: r
1509
- });
1510
- }
1511
- return n;
1512
- function g(e, t) {
1513
- return t.weight - e.weight;
1514
- }
1515
- }
1516
- getController(e) {
1517
- return this.getBuild(this.library.controllers[e], this.buildController.bind(this));
1518
- }
1519
- buildImage(e) {
1520
- return e.build === void 0 ? e.init_from : e.build;
1521
- }
1522
- getImage(e) {
1523
- let t = this.library.images[e];
1524
- return t === void 0 ? (console.warn("THREE.ColladaLoader: Couldn't find image with ID:", e), null) : this.getBuild(t, this.buildImage.bind(this));
1525
- }
1526
- buildEffect(e) {
1527
- return e;
1528
- }
1529
- getEffect(e) {
1530
- return this.getBuild(this.library.effects[e], this.buildEffect.bind(this));
1531
- }
1532
- getTextureLoader(e) {
1533
- let t, n = e.slice((e.lastIndexOf(".") - 1 >>> 0) + 2);
1534
- switch (n = n.toLowerCase(), n) {
1535
- case "tga":
1536
- t = this.tgaLoader;
1537
- break;
1538
- default: t = this.textureLoader;
1539
- }
1540
- return t;
1541
- }
1542
- buildMaterial(e) {
1543
- let t = this.getEffect(e.url), n = t.profile.technique, i;
1544
- switch (n.type) {
1545
- case "phong":
1546
- case "blinn":
1547
- i = new P();
1548
- break;
1549
- case "lambert":
1550
- i = new O();
1551
- break;
1552
- default:
1553
- i = new F();
1554
- break;
1555
- }
1556
- i.name = e.name || "";
1557
- let a = this;
1558
- function o(e, n = null) {
1559
- let i = t.profile.samplers[e.id], o = null;
1560
- if (i !== void 0) {
1561
- let e = t.profile.surfaces[i.source];
1562
- o = a.getImage(e.init_from);
1563
- } else console.warn("THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530)."), o = a.getImage(e.id);
1564
- if (o !== null) {
1565
- let t = a.getTextureLoader(o);
1566
- if (t !== void 0) {
1567
- let i = t.load(o), s = e.extra;
1568
- if (s !== void 0 && s.technique !== void 0 && a.isEmpty(s.technique) === !1) {
1569
- let e = s.technique;
1570
- i.wrapS = e.wrapU ? r : C, i.wrapT = e.wrapV ? r : C, i.offset.set(e.offsetU || 0, e.offsetV || 0), i.repeat.set(e.repeatU || 1, e.repeatV || 1);
1571
- } else i.wrapS = r, i.wrapT = r;
1572
- return n !== null && (i.colorSpace = n), i;
1573
- } else return console.warn("THREE.ColladaLoader: Loader for texture %s not found.", o), null;
1574
- } else return console.warn("THREE.ColladaLoader: Couldn't create texture with ID:", e.id), null;
1575
- }
1576
- let s = n.parameters;
1577
- for (let e in s) {
1578
- let t = s[e];
1579
- switch (e) {
1580
- case "diffuse":
1581
- t.color && i.color.fromArray(t.color), t.texture && (i.map = o(t.texture, R));
1582
- break;
1583
- case "specular":
1584
- t.color && i.specular && i.specular.fromArray(t.color), t.texture && (i.specularMap = o(t.texture));
1585
- break;
1586
- case "bump":
1587
- t.texture && (i.normalMap = o(t.texture));
1588
- break;
1589
- case "ambient":
1590
- t.texture && (i.lightMap = o(t.texture, R));
1591
- break;
1592
- case "shininess":
1593
- t.float && i.shininess && (i.shininess = t.float);
1594
- break;
1595
- case "emission":
1596
- t.color && i.emissive && i.emissive.fromArray(t.color), t.texture && (i.emissiveMap = o(t.texture, R));
1597
- break;
1598
- }
1599
- }
1600
- E.colorSpaceToWorking(i.color, R), i.specular && E.colorSpaceToWorking(i.specular, R), i.emissive && E.colorSpaceToWorking(i.emissive, R);
1601
- let c = s.transparent, l = s.transparency;
1602
- if (l === void 0 && c && (l = { float: 1 }), c === void 0 && l && (c = {
1603
- opaque: "A_ONE",
1604
- data: { color: [
1605
- 1,
1606
- 1,
1607
- 1,
1608
- 1
1609
- ] }
1610
- }), c && l) if (c.data.texture) i.transparent = !0;
1611
- else {
1612
- let e = c.data.color;
1613
- switch (c.opaque) {
1614
- case "A_ONE":
1615
- i.opacity = e[3] * l.float;
1616
- break;
1617
- case "RGB_ZERO":
1618
- i.opacity = 1 - e[0] * l.float;
1619
- break;
1620
- case "A_ZERO":
1621
- i.opacity = 1 - e[3] * l.float;
1622
- break;
1623
- case "RGB_ONE":
1624
- i.opacity = e[0] * l.float;
1625
- break;
1626
- default: console.warn("THREE.ColladaLoader: Invalid opaque type \"%s\" of transparent tag.", c.opaque);
1627
- }
1628
- i.opacity < 1 && (i.transparent = !0);
1629
- }
1630
- if (n.extra !== void 0 && n.extra.technique !== void 0) {
1631
- let e = n.extra.technique;
1632
- for (let t in e) {
1633
- let n = e[t];
1634
- switch (t) {
1635
- case "double_sided":
1636
- i.side = n === 1 ? 2 : 0;
1637
- break;
1638
- case "bump":
1639
- i.normalMap = o(n.texture), i.normalScale = new H(1, 1);
1640
- break;
1641
- }
1642
- }
1643
- }
1644
- return i;
1645
- }
1646
- getMaterial(e) {
1647
- return this.getBuild(this.library.materials[e], this.buildMaterial.bind(this));
1648
- }
1649
- buildCamera(e) {
1650
- let t;
1651
- switch (e.optics.technique) {
1652
- case "perspective":
1653
- t = new j(e.optics.parameters.yfov, e.optics.parameters.aspect_ratio, e.optics.parameters.znear, e.optics.parameters.zfar);
1654
- break;
1655
- case "orthographic":
1656
- let n = e.optics.parameters.ymag, r = e.optics.parameters.xmag, i = e.optics.parameters.aspect_ratio;
1657
- r = r === void 0 ? n * i : r, n = n === void 0 ? r / i : n, r *= .5, n *= .5, t = new w(-r, r, n, -n, e.optics.parameters.znear, e.optics.parameters.zfar);
1658
- break;
1659
- default:
1660
- t = new j();
1661
- break;
1662
- }
1663
- return t.name = e.name || "", t;
1664
- }
1665
- getCamera(e) {
1666
- let t = this.library.cameras[e];
1667
- return t === void 0 ? (console.warn("THREE.ColladaLoader: Couldn't find camera with ID:", e), null) : this.getBuild(t, this.buildCamera.bind(this));
1668
- }
1669
- buildLight(e) {
1670
- let t;
1671
- switch (e.technique) {
1672
- case "directional":
1673
- t = new z();
1674
- break;
1675
- case "point":
1676
- t = new T();
1677
- break;
1678
- case "spot":
1679
- t = new p();
1680
- break;
1681
- case "ambient":
1682
- t = new D();
1683
- break;
1684
- }
1685
- return e.parameters.color && t.color.copy(e.parameters.color), e.parameters.distance && (t.distance = e.parameters.distance), e.parameters.falloffAngle && (t.angle = y.degToRad(e.parameters.falloffAngle)), t;
1686
- }
1687
- getLight(e) {
1688
- let t = this.library.lights[e];
1689
- return t === void 0 ? (console.warn("THREE.ColladaLoader: Couldn't find light with ID:", e), null) : this.getBuild(t, this.buildLight.bind(this));
1690
- }
1691
- groupPrimitives(e) {
1692
- let t = {};
1693
- for (let n = 0; n < e.length; n++) {
1694
- let r = e[n];
1695
- t[r.type] === void 0 && (t[r.type] = []), t[r.type].push(r);
1696
- }
1697
- return t;
1698
- }
1699
- checkUVCoordinates(e) {
1700
- let t = 0;
1701
- for (let n = 0, r = e.length; n < r; n++) e[n].hasUV === !0 && t++;
1702
- t > 0 && t < e.length && (e.uvsNeedsFix = !0);
1703
- }
1704
- buildGeometry(e) {
1705
- let t = {}, n = e.sources, r = e.vertices, i = e.primitives;
1706
- if (i.length === 0) return {};
1707
- let a = this.groupPrimitives(i);
1708
- for (let e in a) {
1709
- let i = a[e];
1710
- this.checkUVCoordinates(i), t[e] = this.buildGeometryType(i, n, r);
1711
- }
1712
- return t;
1713
- }
1714
- buildGeometryType(e, t, n) {
1715
- let r = {}, i = {
1716
- array: [],
1717
- stride: 0
1718
- }, a = {
1719
- array: [],
1720
- stride: 0
1721
- }, o = {
1722
- array: [],
1723
- stride: 0
1724
- }, s = {
1725
- array: [],
1726
- stride: 0
1727
- }, c = {
1728
- array: [],
1729
- stride: 0
1730
- }, l = {
1731
- array: [],
1732
- stride: 4
1733
- }, u = {
1734
- array: [],
1735
- stride: 4
1736
- }, d = new I(), f = [], p = 0;
1737
- for (let r = 0; r < e.length; r++) {
1738
- let m = e[r], h = m.inputs, g = 0;
1739
- switch (m.type) {
1740
- case "lines":
1741
- case "linestrips":
1742
- g = m.count * 2;
1743
- break;
1744
- case "triangles":
1745
- g = m.count * 3;
1746
- break;
1747
- case "polygons":
1748
- case "polylist":
1749
- for (let e = 0; e < m.count; e++) {
1750
- let t = m.vcount[e];
1751
- switch (t) {
1752
- case 3:
1753
- g += 3;
1754
- break;
1755
- case 4:
1756
- g += 6;
1757
- break;
1758
- default:
1759
- g += (t - 2) * 3;
1760
- break;
1761
- }
1762
- }
1763
- break;
1764
- default: console.warn("THREE.ColladaLoader: Unknown primitive type:", m.type);
1765
- }
1766
- d.addGroup(p, g, r), p += g, m.material && f.push(m.material);
1767
- for (let r in h) {
1768
- let d = h[r];
1769
- switch (r) {
1770
- case "VERTEX":
1771
- for (let r in n) {
1772
- let f = n[r];
1773
- switch (r) {
1774
- case "POSITION":
1775
- let n = i.array.length;
1776
- if (this.buildGeometryData(m, t[f], d.offset, i.array), i.stride = t[f].stride, t.skinWeights && t.skinIndices && (this.buildGeometryData(m, t.skinIndices, d.offset, l.array), this.buildGeometryData(m, t.skinWeights, d.offset, u.array)), m.hasUV === !1 && e.uvsNeedsFix === !0) {
1777
- let e = (i.array.length - n) / i.stride;
1778
- for (let t = 0; t < e; t++) o.array.push(0, 0);
1779
- }
1780
- break;
1781
- case "NORMAL":
1782
- this.buildGeometryData(m, t[f], d.offset, a.array), a.stride = t[f].stride;
1783
- break;
1784
- case "COLOR":
1785
- this.buildGeometryData(m, t[f], d.offset, c.array), c.stride = t[f].stride;
1786
- break;
1787
- case "TEXCOORD":
1788
- this.buildGeometryData(m, t[f], d.offset, o.array), o.stride = t[f].stride;
1789
- break;
1790
- case "TEXCOORD1":
1791
- this.buildGeometryData(m, t[f], d.offset, s.array), o.stride = t[f].stride;
1792
- break;
1793
- default: console.warn("THREE.ColladaLoader: Semantic \"%s\" not handled in geometry build process.", r);
1794
- }
1795
- }
1796
- break;
1797
- case "NORMAL":
1798
- this.buildGeometryData(m, t[d.id], d.offset, a.array), a.stride = t[d.id].stride;
1799
- break;
1800
- case "COLOR":
1801
- this.buildGeometryData(m, t[d.id], d.offset, c.array, !0), c.stride = t[d.id].stride;
1802
- break;
1803
- case "TEXCOORD":
1804
- this.buildGeometryData(m, t[d.id], d.offset, o.array), o.stride = t[d.id].stride;
1805
- break;
1806
- case "TEXCOORD1":
1807
- this.buildGeometryData(m, t[d.id], d.offset, s.array), s.stride = t[d.id].stride;
1808
- break;
1809
- }
1810
- }
1811
- }
1812
- return i.array.length > 0 && d.setAttribute("position", new L(i.array, i.stride)), a.array.length > 0 && d.setAttribute("normal", new L(a.array, a.stride)), c.array.length > 0 && d.setAttribute("color", new L(c.array, c.stride)), o.array.length > 0 && d.setAttribute("uv", new L(o.array, o.stride)), s.array.length > 0 && d.setAttribute("uv1", new L(s.array, s.stride)), l.array.length > 0 && d.setAttribute("skinIndex", new L(l.array, l.stride)), u.array.length > 0 && d.setAttribute("skinWeight", new L(u.array, u.stride)), r.data = d, r.type = e[0].type, r.materialKeys = f, r;
1813
- }
1814
- buildGeometryData(e, n, r, i, a = !1) {
1815
- let s = e.p, c = e.stride, l = e.vcount, u = this.tempColor;
1816
- function d(e) {
1817
- let t = s[e + r] * m, n = t + m;
1818
- for (; t < n; t++) i.push(p[t]);
1819
- if (a) {
1820
- let e = i.length - m - 1;
1821
- u.setRGB(i[e + 0], i[e + 1], i[e + 2], R), i[e + 0] = u.r, i[e + 1] = u.g, i[e + 2] = u.b;
1822
- }
1823
- }
1824
- let p = n.array, m = n.stride;
1825
- if (e.vcount !== void 0) {
1826
- let e = 0;
1827
- for (let n = 0, r = l.length; n < r; n++) {
1828
- let r = l[n];
1829
- if (r === 4) {
1830
- let t = e + c * 0, n = e + c * 1, r = e + c * 2, i = e + c * 3;
1831
- d(t), d(n), d(i), d(n), d(r), d(i);
1832
- } else if (r === 3) {
1833
- let t = e + c * 0, n = e + c * 1, r = e + c * 2;
1834
- d(t), d(n), d(r);
1835
- } else if (r > 4) {
1836
- let n = [];
1837
- for (let i = 0; i < r; i++) {
1838
- let r = s[e + c * i] * m, a = p[r], o = p[r + 1], l = p[r + 2];
1839
- n.push(new t(a, o, l));
1840
- }
1841
- let i = new t(), a = new f();
1842
- a.a = n[0], a.b = n[1], a.c = n[2], a.getNormal(i);
1843
- let l = [];
1844
- if (Math.abs(i.x) > Math.abs(i.y) && Math.abs(i.x) > Math.abs(i.z)) for (let e = 0; e < r; e++) l.push(new H(n[e].y, n[e].z));
1845
- else if (Math.abs(i.y) > Math.abs(i.z)) for (let e = 0; e < r; e++) l.push(new H(n[e].x, n[e].z));
1846
- else for (let e = 0; e < r; e++) l.push(new H(n[e].x, n[e].y));
1847
- let u = o.isClockWise(l);
1848
- u === !0 && l.reverse();
1849
- let h = o.triangulateShape(l, []);
1850
- for (let t = 0; t < h.length; t++) {
1851
- let n = h[t], i, a, o;
1852
- u === !1 ? (i = n[0], a = n[1], o = n[2]) : (i = r - 1 - n[0], a = r - 1 - n[2], o = r - 1 - n[1]);
1853
- let s = e + c * i, l = e + c * a, f = e + c * o;
1854
- d(s), d(l), d(f);
1855
- }
1856
- }
1857
- e += c * r;
1858
- }
1859
- } else for (let e = 0, t = s.length; e < t; e += c) d(e);
1860
- }
1861
- getGeometry(e) {
1862
- return this.getBuild(this.library.geometries[e], this.buildGeometry.bind(this));
1863
- }
1864
- buildKinematicsModel(e) {
1865
- return e.build === void 0 ? e : e.build;
1866
- }
1867
- getKinematicsModel(e) {
1868
- return this.getBuild(this.library.kinematicsModels[e], this.buildKinematicsModel.bind(this));
1869
- }
1870
- buildKinematicsScene(e) {
1871
- return e.build === void 0 ? e : e.build;
1872
- }
1873
- getKinematicsScene(e) {
1874
- return this.getBuild(this.library.kinematicsScenes[e], this.buildKinematicsScene.bind(this));
1875
- }
1876
- setupKinematics() {
1877
- let t = Object.keys(this.library.kinematicsModels)[0], n = Object.keys(this.library.kinematicsScenes)[0], r = Object.keys(this.library.visualScenes)[0];
1878
- if (t === void 0 || n === void 0) return;
1879
- let i = this.getKinematicsModel(t), a = this.getKinematicsScene(n), o = this.getVisualScene(r), s = a.bindJointAxis, c = {}, l = this.collada, u = this;
1880
- for (let e = 0, t = s.length; e < t; e++) {
1881
- let t = s[e], n = l.querySelector("[sid=\"" + t.target + "\"]");
1882
- if (n) {
1883
- let e = n.parentElement;
1884
- d(t.jointIndex, e);
1885
- }
1886
- }
1887
- function d(e, t) {
1888
- let n = t.getAttribute("name"), r = i.joints[e], a = u.buildTransformList(t);
1889
- o.traverse(function(t) {
1890
- t.name === n && (c[e] = {
1891
- object: t,
1892
- transforms: a,
1893
- joint: r,
1894
- position: r.zeroPosition
1895
- });
1896
- });
1897
- }
1898
- let f = new e(), p = this.matrix;
1899
- this.kinematics = {
1900
- joints: i && i.joints,
1901
- getJointValue: function(e) {
1902
- let t = c[e];
1903
- if (t) return t.position;
1904
- console.warn("THREE.ColladaLoader: Joint " + e + " doesn't exist.");
1905
- },
1906
- setJointValue: function(e, t) {
1907
- let n = c[e];
1908
- if (n) {
1909
- let r = n.joint;
1910
- if (t > r.limits.max || t < r.limits.min) console.warn("THREE.ColladaLoader: Joint " + e + " value " + t + " outside of limits (min: " + r.limits.min + ", max: " + r.limits.max + ").");
1911
- else if (r.static) console.warn("THREE.ColladaLoader: Joint " + e + " is static.");
1912
- else {
1913
- let i = n.object, a = r.axis, o = n.transforms;
1914
- p.identity();
1915
- for (let n = 0; n < o.length; n++) {
1916
- let i = o[n];
1917
- if (i.sid && i.sid.indexOf(e) !== -1) switch (r.type) {
1918
- case "revolute":
1919
- p.multiply(f.makeRotationAxis(a, y.degToRad(t)));
1920
- break;
1921
- case "prismatic":
1922
- p.multiply(f.makeTranslation(a.x * t, a.y * t, a.z * t));
1923
- break;
1924
- default:
1925
- console.warn("THREE.ColladaLoader: Unknown joint type: " + r.type);
1926
- break;
1927
- }
1928
- else switch (i.type) {
1929
- case "matrix":
1930
- p.multiply(i.obj);
1931
- break;
1932
- case "translate":
1933
- p.multiply(f.makeTranslation(i.obj.x, i.obj.y, i.obj.z));
1934
- break;
1935
- case "scale":
1936
- p.scale(i.obj);
1937
- break;
1938
- case "rotate":
1939
- p.multiply(f.makeRotationAxis(i.obj, i.angle));
1940
- break;
1941
- }
1942
- }
1943
- i.matrix.copy(p), i.matrix.decompose(i.position, i.quaternion, i.scale), c[e].position = t;
1944
- }
1945
- } else console.warn("THREE.ColladaLoader: Joint " + e + " does not exist.");
1946
- }
1947
- };
1948
- }
1949
- buildTransformList(n) {
1950
- let r = [], i = this.collada.querySelector("[id=\"" + n.id + "\"]");
1951
- for (let n = 0; n < i.childNodes.length; n++) {
1952
- let a = i.childNodes[n];
1953
- if (a.nodeType !== 1) continue;
1954
- let o, s;
1955
- switch (a.nodeName) {
1956
- case "matrix":
1957
- o = K(a.textContent);
1958
- let n = new e().fromArray(o).transpose();
1959
- r.push({
1960
- sid: a.getAttribute("sid"),
1961
- type: a.nodeName,
1962
- obj: n
1963
- });
1964
- break;
1965
- case "translate":
1966
- case "scale":
1967
- o = K(a.textContent), s = new t().fromArray(o), r.push({
1968
- sid: a.getAttribute("sid"),
1969
- type: a.nodeName,
1970
- obj: s
1971
- });
1972
- break;
1973
- case "rotate":
1974
- o = K(a.textContent), s = new t().fromArray(o);
1975
- let i = y.degToRad(o[3]);
1976
- r.push({
1977
- sid: a.getAttribute("sid"),
1978
- type: a.nodeName,
1979
- obj: s,
1980
- angle: i
1981
- });
1982
- break;
1983
- }
1984
- }
1985
- return r;
1986
- }
1987
- buildSkeleton(e, t) {
1988
- let n = [], r = [], a, o, s;
1989
- for (a = 0; a < e.length; a++) {
1990
- let r = e[a], i;
1991
- if (this.hasNode(r)) i = this.getNode(r), this.buildBoneHierarchy(i, t, n);
1992
- else if (this.hasVisualScene(r)) {
1993
- let e = this.library.visualScenes[r].children;
1994
- for (let r = 0; r < e.length; r++) {
1995
- let i = e[r];
1996
- if (i.type === "JOINT") {
1997
- let e = this.getNode(i.id);
1998
- this.buildBoneHierarchy(e, t, n);
1999
- }
2000
- }
2001
- } else console.error("THREE.ColladaLoader: Unable to find root bone of skeleton with ID:", r);
2002
- }
2003
- for (a = 0; a < t.length; a++) for (o = 0; o < n.length; o++) if (s = n[o], s.bone.name === t[a].name) {
2004
- r[a] = s, s.processed = !0;
2005
- break;
2006
- }
2007
- for (a = 0; a < n.length; a++) s = n[a], s.processed === !1 && (r.push(s), s.processed = !0);
2008
- let c = [], l = [];
2009
- for (a = 0; a < r.length; a++) s = r[a], c.push(s.bone), l.push(s.boneInverse);
2010
- return new i(c, l);
2011
- }
2012
- buildBoneHierarchy(t, n, r) {
2013
- t.traverse(function(t) {
2014
- if (t.isBone === !0) {
2015
- let i;
2016
- for (let e = 0; e < n.length; e++) {
2017
- let r = n[e];
2018
- if (r.name === t.name) {
2019
- i = r.boneInverse;
2020
- break;
2021
- }
2022
- }
2023
- i === void 0 && (i = new e()), r.push({
2024
- bone: t,
2025
- boneInverse: i,
2026
- processed: !1
2027
- });
2028
- }
2029
- });
2030
- }
2031
- buildNode(e) {
2032
- let t = [], n = e.matrix, r = e.nodes, i = e.type, o = e.instanceCameras, s = e.instanceControllers, c = e.instanceLights, l = e.instanceGeometries, u = e.instanceNodes;
2033
- for (let e = 0, n = r.length; e < n; e++) t.push(this.getNode(r[e]));
2034
- for (let e = 0, n = o.length; e < n; e++) {
2035
- let n = this.getCamera(o[e]);
2036
- n !== null && t.push(n.clone());
2037
- }
2038
- for (let e = 0, n = s.length; e < n; e++) {
2039
- let n = s[e], r = this.getController(n.id), i = this.getGeometry(r.id), a = this.buildObjects(i, n.materials), o = n.skeletons, c = r.skin.joints, l = this.buildSkeleton(o, c);
2040
- for (let e = 0, n = a.length; e < n; e++) {
2041
- let n = a[e];
2042
- n.isSkinnedMesh && (n.bind(l, r.skin.bindMatrix), n.normalizeSkinWeights()), t.push(n);
2043
- }
2044
- }
2045
- for (let e = 0, n = c.length; e < n; e++) {
2046
- let n = this.getLight(c[e]);
2047
- n !== null && t.push(n.clone());
2048
- }
2049
- for (let e = 0, n = l.length; e < n; e++) {
2050
- let n = l[e], r = this.getGeometry(n.id), i = this.buildObjects(r, n.materials);
2051
- for (let e = 0, n = i.length; e < n; e++) t.push(i[e]);
2052
- }
2053
- for (let e = 0, n = u.length; e < n; e++) t.push(this.getNode(u[e]).clone());
2054
- let d;
2055
- if (r.length === 0 && t.length === 1) d = t[0];
2056
- else {
2057
- d = i === "JOINT" ? new k() : new a();
2058
- for (let e = 0; e < t.length; e++) d.add(t[e]);
2059
- }
2060
- return d.name = i === "JOINT" ? e.sid : e.name, i !== "JOINT" && this.hasPivotTransforms(e) ? this.wrapWithTransformHierarchy(d, e) : (d.matrix.copy(n), d.matrix.decompose(d.position, d.quaternion, d.scale), d);
2061
- }
2062
- wrapWithTransformHierarchy(n, r) {
2063
- let i = r.id;
2064
- this.transformNodes[i] = {};
2065
- let o = r.transformOrder, s = r.transformData, c = new a();
2066
- c.name = r.name;
2067
- let l = c;
2068
- for (let n = 0; n < o.length; n++) {
2069
- let c = o[n], u = s[c], d = new a();
2070
- switch (d.name = r.name + "_" + c, u.type) {
2071
- case "translate":
2072
- d.position.set(u.x, u.y, u.z);
2073
- break;
2074
- case "rotate": {
2075
- let e = new t(u.axis[0], u.axis[1], u.axis[2]), n = y.degToRad(u.angle);
2076
- d.quaternion.setFromAxisAngle(e, n), d.userData.rotationAxis = e;
2077
- break;
2078
- }
2079
- case "scale":
2080
- d.scale.set(u.x, u.y, u.z);
2081
- break;
2082
- case "matrix":
2083
- new e().fromArray(u.array).transpose().decompose(d.position, d.quaternion, d.scale);
2084
- break;
2085
- }
2086
- this.transformNodes[i][c] = d, l.add(d), l = d;
2087
- }
2088
- return l.add(n), c;
2089
- }
2090
- resolveMaterialBinding(e, t) {
2091
- let n = [];
2092
- for (let r = 0, i = e.length; r < i; r++) {
2093
- let i = t[e[r]];
2094
- i === void 0 ? (console.warn("THREE.ColladaLoader: Material with key %s not found. Apply fallback material.", e[r]), n.push(this.fallbackMaterial)) : n.push(this.getMaterial(i));
2095
- }
2096
- return n;
2097
- }
2098
- get fallbackMaterial() {
2099
- return this._fallbackMaterial === void 0 && (this._fallbackMaterial = new F({
2100
- name: d.DEFAULT_MATERIAL_NAME,
2101
- color: 16711935
2102
- })), this._fallbackMaterial;
2103
- }
2104
- buildObjects(e, t) {
2105
- let n = [];
2106
- for (let r in e) {
2107
- let i = e[r], a = this.resolveMaterialBinding(i.materialKeys, t);
2108
- if (a.length === 0 && (r === "lines" || r === "linestrips" ? a.push(new V()) : a.push(new P())), r === "lines" || r === "linestrips") for (let e = 0, t = a.length; e < t; e++) {
2109
- let t = a[e];
2110
- if (t.isMeshPhongMaterial === !0 || t.isMeshLambertMaterial === !0) {
2111
- let n = new V();
2112
- n.color.copy(t.color), n.opacity = t.opacity, n.transparent = t.transparent, a[e] = n;
2113
- }
2114
- }
2115
- let o = i.data.attributes.skinIndex !== void 0, s = a.length === 1 ? a[0] : a, c;
2116
- switch (r) {
2117
- case "lines":
2118
- c = new v(i.data, s);
2119
- break;
2120
- case "linestrips":
2121
- c = new h(i.data, s);
2122
- break;
2123
- case "triangles":
2124
- case "polygons":
2125
- case "polylist":
2126
- c = o ? new m(i.data, s) : new S(i.data, s);
2127
- break;
2128
- }
2129
- n.push(c);
2130
- }
2131
- return n;
2132
- }
2133
- hasNode(e) {
2134
- return this.library.nodes[e] !== void 0;
2135
- }
2136
- getNode(e) {
2137
- return this.getBuild(this.library.nodes[e], this.buildNode.bind(this));
2138
- }
2139
- buildVisualScene(e) {
2140
- let t = new a();
2141
- t.name = e.name;
2142
- let n = e.children;
2143
- for (let e = 0; e < n.length; e++) {
2144
- let r = n[e];
2145
- t.add(this.getNode(r.id));
2146
- }
2147
- return t;
2148
- }
2149
- hasVisualScene(e) {
2150
- return this.library.visualScenes[e] !== void 0;
2151
- }
2152
- getVisualScene(e) {
2153
- return this.getBuild(this.library.visualScenes[e], this.buildVisualScene.bind(this));
2154
- }
2155
- parseScene(e) {
2156
- let t = W(e, "instance_visual_scene")[0];
2157
- return this.getVisualScene(this.parseId(t.getAttribute("url")));
2158
- }
2159
- parseId(e) {
2160
- return e.substring(1);
2161
- }
2162
- setupAnimations() {
2163
- let e = this.library.clips;
2164
- if (this.isEmpty(e) === !0) {
2165
- if (this.isEmpty(this.library.animations) === !1) {
2166
- let e = [];
2167
- for (let t in this.library.animations) {
2168
- let n = this.getAnimation(t);
2169
- for (let t = 0, r = n.length; t < r; t++) e.push(n[t]);
2170
- }
2171
- this.buildDeferredPivotAnimationTracks(e), this.animations.push(new N("default", -1, e));
2172
- }
2173
- } else for (let t in e) this.animations.push(this.getAnimationClip(t));
2174
- }
2175
- buildDeferredPivotAnimationTracks(e) {
2176
- for (let t in this.deferredPivotAnimations) {
2177
- let n = this.library.nodes[t];
2178
- if (!n) continue;
2179
- let r = this.deferredPivotAnimations[t];
2180
- this.buildTransformHierarchyTracks(t, r, n, e);
2181
- }
2182
- }
2183
- buildTransformHierarchyTracks(e, t, n, r) {
2184
- let i = this.transformNodes[e];
2185
- if (!i) {
2186
- console.warn("THREE.ColladaLoader: Transform hierarchy not found for node:", e);
2187
- return;
2188
- }
2189
- for (let e in t) {
2190
- let a = i[e];
2191
- if (!a) continue;
2192
- let o = n.transforms[e], s = n.transformData[e], c = t[e];
2193
- switch (o) {
2194
- case "translate":
2195
- this.buildHierarchyTranslateTrack(a, c, s, r);
2196
- break;
2197
- case "rotate":
2198
- this.buildHierarchyRotateTrack(a, c, s, r);
2199
- break;
2200
- case "scale":
2201
- this.buildHierarchyScaleTrack(a, c, s, r);
2202
- break;
2203
- }
2204
- }
2205
- }
2206
- buildHierarchyTranslateTrack(e, t, n, r) {
2207
- if (t.default && t.default.stride === 3) {
2208
- let n = t.default, i = new l(e.uuid + ".position", Array.from(n.times), Array.from(n.values)), a = this.getInterpolationInfo(t);
2209
- this.applyInterpolation(i, a, t), r.push(i);
2210
- return;
2211
- }
2212
- let i = this.getTimesForAllAxes(t);
2213
- if (i.length === 0) return;
2214
- let a = [], o = this.getInterpolationInfo(t);
2215
- for (let e = 0; e < i.length; e++) {
2216
- let r = i[e], o = this.getValueAtTime(t.X, r, n.x), s = this.getValueAtTime(t.Y, r, n.y), c = this.getValueAtTime(t.Z, r, n.z);
2217
- a.push(o, s, c);
2218
- }
2219
- let s = new l(e.uuid + ".position", i, a);
2220
- this.applyInterpolation(s, o), r.push(s);
2221
- }
2222
- buildHierarchyRotateTrack(e, n, r, i) {
2223
- let a = n.ANGLE || n.default;
2224
- if (!a) return;
2225
- let o = Array.from(a.times);
2226
- if (o.length === 0) return;
2227
- let s = e.userData.rotationAxis || new t(r.axis[0], r.axis[1], r.axis[2]), c = new B(), l = new B(), u = [], d = this.getInterpolationInfo(n);
2228
- for (let e = 0; e < o.length; e++) {
2229
- let t = o[e], n = this.getValueAtTime(a, t, r.angle), i = y.degToRad(n);
2230
- c.setFromAxisAngle(s, i), e > 0 && l.dot(c) < 0 && (c.x = -c.x, c.y = -c.y, c.z = -c.z, c.w = -c.w), l.copy(c), u.push(c.x, c.y, c.z, c.w);
2231
- }
2232
- let f = new x(e.uuid + ".quaternion", o, u);
2233
- this.applyInterpolation(f, d), i.push(f);
2234
- }
2235
- buildHierarchyScaleTrack(e, t, n, r) {
2236
- if (t.default && t.default.stride === 3) {
2237
- let n = t.default, i = new l(e.uuid + ".scale", Array.from(n.times), Array.from(n.values)), a = this.getInterpolationInfo(t);
2238
- this.applyInterpolation(i, a, t), r.push(i);
2239
- return;
2240
- }
2241
- let i = this.getTimesForAllAxes(t);
2242
- if (i.length === 0) return;
2243
- let a = [], o = this.getInterpolationInfo(t);
2244
- for (let e = 0; e < i.length; e++) {
2245
- let r = i[e], o = this.getValueAtTime(t.X, r, n.x), s = this.getValueAtTime(t.Y, r, n.y), c = this.getValueAtTime(t.Z, r, n.z);
2246
- a.push(o, s, c);
2247
- }
2248
- let s = new l(e.uuid + ".scale", i, a);
2249
- this.applyInterpolation(s, o), r.push(s);
2250
- }
2251
- }, Z = class extends d {
2252
- load(e, t, r, i) {
2253
- let a = this, o = a.path === "" ? M.extractUrlBase(e) : a.path, s = new n(a.manager);
2254
- s.setPath(a.path), s.setRequestHeader(a.requestHeader), s.setWithCredentials(a.withCredentials), s.load(e, function(n) {
2255
- try {
2256
- t(a.parse(n, o));
2257
- } catch (t) {
2258
- i ? i(t) : console.error(t), a.manager.itemError(e);
2259
- }
2260
- }, r, i);
2261
- }
2262
- parse(e, t) {
2263
- if (e.length === 0) return { scene: new g() };
2264
- let n = new Y().parse(e);
2265
- if (n === null) return null;
2266
- let { library: r, asset: i, collada: a } = n, o = new c(this.manager);
2267
- o.setPath(this.resourcePath || t).setCrossOrigin(this.crossOrigin);
2268
- let s;
2269
- U && (s = new U(this.manager), s.setPath(this.resourcePath || t));
2270
- let { scene: l, animations: u, kinematics: d } = new X(r, a, o, s).compose();
2271
- return l.animations = u, i.upAxis === "Z_UP" && (console.warn("THREE.ColladaLoader: You are loading an asset with a Z-UP coordinate system. The loader just rotates the asset to transform it into Y-UP. The vertex data are not converted, see #24289."), l.rotation.set(-Math.PI / 2, 0, 0)), l.scale.multiplyScalar(i.unit), {
2272
- get animations() {
2273
- return console.warn("THREE.ColladaLoader: Please access animations over scene.animations now."), u;
2274
- },
2275
- kinematics: d,
2276
- library: r,
2277
- scene: l
2278
- };
2279
- }
2280
- };
2281
- //#endregion
2282
- export { Z as ColladaLoader };