@rtzh/engine 0.0.11 → 0.0.13

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 (518) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +656 -518
  2. package/Build/Workers/{chunk-7QPQGSS3.js → chunk-2J26NSQJ.js} +5 -5
  3. package/Build/Workers/{chunk-23CHWHW6.js → chunk-2QUYHF2A.js} +4 -4
  4. package/Build/Workers/{chunk-F7IITURY.js → chunk-2ZWJOYYZ.js} +3 -3
  5. package/Build/Workers/{chunk-DLRIAMQF.js → chunk-3ENHMKKX.js} +2 -2
  6. package/Build/Workers/{chunk-DHWZGIOA.js → chunk-3J7LZYZG.js} +5 -5
  7. package/Build/Workers/{chunk-F4Q3VOCC.js → chunk-3KDCIRQI.js} +7 -7
  8. package/Build/Workers/{chunk-IVDXHQYL.js → chunk-3M6XQXJL.js} +5 -5
  9. package/Build/Workers/{chunk-K6PDZWHZ.js → chunk-3P5AO3U5.js} +5 -5
  10. package/Build/Workers/{chunk-3L7XBXFS.js → chunk-47CWFJX6.js} +5 -5
  11. package/Build/Workers/{chunk-FUFHIXPT.js → chunk-4DH5OOWE.js} +4 -4
  12. package/Build/Workers/{chunk-GDHDJK32.js → chunk-4G6JR2MZ.js} +10 -10
  13. package/Build/Workers/{chunk-EDFDPOY6.js → chunk-4VAD4BJM.js} +1 -1
  14. package/Build/Workers/{chunk-5WKGRIN6.js → chunk-4VMTI2WC.js} +6 -6
  15. package/Build/Workers/{chunk-5D3ECYS3.js → chunk-55JFCPW4.js} +4 -4
  16. package/Build/Workers/{chunk-3CD4WIF4.js → chunk-5CVGPIDD.js} +2 -2
  17. package/Build/Workers/{chunk-IXM65GBF.js → chunk-5DTY5JIA.js} +4 -4
  18. package/Build/Workers/{chunk-CTARL7CY.js → chunk-623LOZW5.js} +13 -13
  19. package/Build/Workers/{chunk-FYW5UQ24.js → chunk-6JO3MGIQ.js} +12 -12
  20. package/Build/Workers/{chunk-HAR6Y2HP.js → chunk-6SYRFK5R.js} +2 -2
  21. package/Build/Workers/{chunk-ATC2WXI4.js → chunk-6TITDWW4.js} +17 -17
  22. package/Build/Workers/{chunk-MJVNNURF.js → chunk-6WNAMM2J.js} +12 -12
  23. package/Build/Workers/{chunk-7EU3DIKZ.js → chunk-6ZPTOV5S.js} +18 -18
  24. package/Build/Workers/{chunk-QDNIPHD7.js → chunk-74FGX7I7.js} +12 -12
  25. package/Build/Workers/{chunk-KMZXZUA7.js → chunk-7DG7QQQ6.js} +5 -5
  26. package/Build/Workers/{chunk-4BJHO56J.js → chunk-7DUCNF2V.js} +6 -6
  27. package/Build/Workers/{chunk-I3VVEQQ6.js → chunk-7IJ6YJDR.js} +9 -9
  28. package/Build/Workers/{chunk-LSGHTNF5.js → chunk-A3KVKXRR.js} +13 -13
  29. package/Build/Workers/{chunk-6HB2DMC2.js → chunk-A3OQ66NS.js} +16 -16
  30. package/Build/Workers/{chunk-APOATHFZ.js → chunk-A44RSIOC.js} +4 -4
  31. package/Build/Workers/{chunk-5SVTAJRH.js → chunk-ADOJA3C4.js} +12 -12
  32. package/Build/Workers/{chunk-CGAHG2LR.js → chunk-ALHM5LNB.js} +2 -2
  33. package/Build/Workers/{chunk-DKJMD2HX.js → chunk-AM7WOPMS.js} +6 -6
  34. package/Build/Workers/{chunk-3ZDA3MBK.js → chunk-ASKKSAO2.js} +6 -6
  35. package/Build/Workers/{chunk-5UKR42KW.js → chunk-AUOSJ7RD.js} +14 -14
  36. package/Build/Workers/{chunk-6RUDXAFC.js → chunk-AUWAGN3U.js} +16 -16
  37. package/Build/Workers/{chunk-AEURJQ3B.js → chunk-B3SSRLUO.js} +2 -2
  38. package/Build/Workers/{chunk-ET7LWDHA.js → chunk-B7PKU4HH.js} +2 -2
  39. package/Build/Workers/{chunk-GPWELPVQ.js → chunk-B7SQOHFY.js} +7 -7
  40. package/Build/Workers/{chunk-4SZJ3KRD.js → chunk-BGIF6VMP.js} +3 -3
  41. package/Build/Workers/{chunk-72YPCD72.js → chunk-BHYR5M4Y.js} +17 -17
  42. package/Build/Workers/{chunk-243UEBJF.js → chunk-BIPYGVES.js} +10 -10
  43. package/Build/Workers/{chunk-4GPHI5UY.js → chunk-BLMLQN3N.js} +10 -10
  44. package/Build/Workers/{chunk-KGQGZ7PF.js → chunk-BLPBGSIN.js} +12 -12
  45. package/Build/Workers/{chunk-6BIU5AL4.js → chunk-BU5W4J4F.js} +10 -10
  46. package/Build/Workers/{chunk-2LMIHR6B.js → chunk-BVMMZTO2.js} +2 -2
  47. package/Build/Workers/{chunk-3SVEN5QG.js → chunk-C3DT73MC.js} +10 -10
  48. package/Build/Workers/{chunk-DVTKM7FF.js → chunk-CD2WSWPY.js} +4 -4
  49. package/Build/Workers/{chunk-HFCJLXTG.js → chunk-CHAPQYGD.js} +1 -1
  50. package/Build/Workers/{chunk-2UNHFFAZ.js → chunk-CXC4JSSY.js} +5 -5
  51. package/Build/Workers/{chunk-6MYDYE24.js → chunk-DB2NML4I.js} +1 -1
  52. package/Build/Workers/{chunk-32ZGDYJY.js → chunk-DKP3PVXJ.js} +18 -18
  53. package/Build/Workers/{chunk-CV5JLCHF.js → chunk-DLNCIAY5.js} +13 -13
  54. package/Build/Workers/{chunk-FD62YGTB.js → chunk-DMQ2K2CH.js} +7 -7
  55. package/Build/Workers/{chunk-J766O3PA.js → chunk-DN54YAFV.js} +4 -4
  56. package/Build/Workers/{chunk-7BQLJI3P.js → chunk-DQLCJMOH.js} +10 -10
  57. package/Build/Workers/{chunk-565HBO3F.js → chunk-DU24KQOE.js} +6 -6
  58. package/Build/Workers/{chunk-7AS3X42P.js → chunk-E3YEHNIJ.js} +10 -10
  59. package/Build/Workers/{chunk-45SKJP37.js → chunk-EAXGQLHV.js} +4 -4
  60. package/Build/Workers/{chunk-4NAHNN5G.js → chunk-ECYQUWGD.js} +10 -10
  61. package/Build/Workers/{chunk-FARHIBOA.js → chunk-EPAJ4UIR.js} +1 -1
  62. package/Build/Workers/{chunk-54AFUJNV.js → chunk-EUE3UD5F.js} +11 -11
  63. package/Build/Workers/{chunk-DAYNPAVN.js → chunk-EXMUTZB4.js} +2 -2
  64. package/Build/Workers/{chunk-CQB3KRGK.js → chunk-F2MK22SO.js} +7 -7
  65. package/Build/Workers/{chunk-IYAZCFAC.js → chunk-F4XSN4LN.js} +6 -6
  66. package/Build/Workers/{chunk-54LZ6OUD.js → chunk-F5SRLVVZ.js} +17 -17
  67. package/Build/Workers/{chunk-LGMONS4O.js → chunk-FAVFRMK5.js} +7 -7
  68. package/Build/Workers/{chunk-EWDHM5NC.js → chunk-FBSLGF4L.js} +1 -1
  69. package/Build/Workers/{chunk-IY53MZW2.js → chunk-FKKXVIQS.js} +2 -2
  70. package/Build/Workers/{chunk-FRUZKVBP.js → chunk-FNX2KJDD.js} +6 -6
  71. package/Build/Workers/{chunk-J2S3WMUZ.js → chunk-FPEAW6NQ.js} +6 -6
  72. package/Build/Workers/{chunk-ADQVXDEJ.js → chunk-FQBOVVHM.js} +16 -16
  73. package/Build/Workers/{chunk-CQ5PWUMS.js → chunk-GAZENUEZ.js} +1 -1
  74. package/Build/Workers/{chunk-7BOVULMD.js → chunk-GBB5VIA3.js} +2 -2
  75. package/Build/Workers/{chunk-7R74V5Z3.js → chunk-HTMJEEON.js} +8 -8
  76. package/Build/Workers/{chunk-B3FJJGCH.js → chunk-HTTTEW64.js} +4 -4
  77. package/Build/Workers/{chunk-I5JHYEIE.js → chunk-HZ4N44YJ.js} +8 -8
  78. package/Build/Workers/{chunk-IEEHNZ36.js → chunk-HZQONEX2.js} +8 -8
  79. package/Build/Workers/{chunk-5W4ISZGQ.js → chunk-I4CJV4A3.js} +14 -14
  80. package/Build/Workers/{chunk-OBQVOEPZ.js → chunk-IB22JEKK.js} +5 -5
  81. package/Build/Workers/{chunk-F6JVBOM5.js → chunk-IG64RWHT.js} +11 -11
  82. package/Build/Workers/{chunk-6AUSOZOL.js → chunk-IK5A56IF.js} +7 -7
  83. package/Build/Workers/{chunk-JUJONRWD.js → chunk-ILNFTW5Z.js} +11 -11
  84. package/Build/Workers/{chunk-7X6CLAD2.js → chunk-IMC7L6CL.js} +9 -9
  85. package/Build/Workers/{chunk-JRPAFYGJ.js → chunk-IPBVNANG.js} +17 -17
  86. package/Build/Workers/{chunk-6J63N735.js → chunk-IUIXI2XJ.js} +6 -6
  87. package/Build/Workers/{chunk-2ZXYLPPT.js → chunk-J3WRL2GC.js} +2 -2
  88. package/Build/Workers/{chunk-HKSICPYV.js → chunk-J6DW5QIM.js} +1 -1
  89. package/Build/Workers/{chunk-2ZR6KBRW.js → chunk-JCJRAI2M.js} +8 -8
  90. package/Build/Workers/{chunk-E7SFSMUX.js → chunk-JEFN4ZPU.js} +2 -2
  91. package/Build/Workers/{chunk-AMJRLIO3.js → chunk-JF6HRK66.js} +11 -11
  92. package/Build/Workers/{chunk-7KOMCIWI.js → chunk-JFOADEL2.js} +8 -8
  93. package/Build/Workers/{chunk-56MKFDJH.js → chunk-JNSU4PGT.js} +12 -12
  94. package/Build/Workers/{chunk-6ZF4QOFM.js → chunk-JPORXJB2.js} +6 -6
  95. package/Build/Workers/{chunk-6YSUD2OH.js → chunk-JTH56QYP.js} +7 -7
  96. package/Build/Workers/{chunk-G7PGTG3P.js → chunk-K5QIQSHR.js} +13 -13
  97. package/Build/Workers/{chunk-H33FCT5U.js → chunk-KN3RXSGH.js} +9 -9
  98. package/Build/Workers/{chunk-4SC4KVID.js → chunk-KTUWGLXR.js} +10 -10
  99. package/Build/Workers/{chunk-E3NHG3TR.js → chunk-KWI3TOQ3.js} +5 -5
  100. package/Build/Workers/{chunk-553BNJPP.js → chunk-L63MA7DS.js} +8 -8
  101. package/Build/Workers/{chunk-CXDJ7YNS.js → chunk-LBVC3PWG.js} +4 -4
  102. package/Build/Workers/{chunk-32GOIUYC.js → chunk-LKCPP73L.js} +5 -5
  103. package/Build/Workers/{chunk-6YT2LZ3Z.js → chunk-LKUMU7VD.js} +4 -4
  104. package/Build/Workers/{chunk-DPTYP7J3.js → chunk-LUA5G72O.js} +1 -1
  105. package/Build/Workers/{chunk-3NSMZ3XW.js → chunk-MBKDVX63.js} +17 -17
  106. package/Build/Workers/{chunk-GYIGOBV2.js → chunk-MSYP7LPX.js} +9 -9
  107. package/Build/Workers/{chunk-EJVGOIOW.js → chunk-MZWPVY6R.js} +7 -7
  108. package/Build/Workers/{chunk-7RAUHLDW.js → chunk-N557LIW2.js} +3 -3
  109. package/Build/Workers/{chunk-BQRZMSMM.js → chunk-NGTONEWG.js} +4 -4
  110. package/Build/Workers/{chunk-6F4HKBHD.js → chunk-NLAR3AKL.js} +6 -6
  111. package/Build/Workers/{chunk-4IXXMXPJ.js → chunk-ODIGZZ3R.js} +10 -10
  112. package/Build/Workers/{chunk-BIJHMMCD.js → chunk-OF3WIS5R.js} +4 -4
  113. package/Build/Workers/{chunk-EFHDO3L2.js → chunk-OHWONB5E.js} +4 -4
  114. package/Build/Workers/{chunk-EE4T7VKT.js → chunk-OTYYR4HA.js} +12 -12
  115. package/Build/Workers/{chunk-GCZNJHST.js → chunk-OVJADFWR.js} +5 -5
  116. package/Build/Workers/{chunk-MPHEIDPB.js → chunk-OWR6KGDV.js} +1 -1
  117. package/Build/Workers/{chunk-FNI64UKI.js → chunk-PEZ2F4AC.js} +5 -5
  118. package/Build/Workers/{chunk-5T4DXPEL.js → chunk-PJEU2YDM.js} +8 -8
  119. package/Build/Workers/{chunk-4GZLJPDW.js → chunk-PNJB4ARY.js} +8 -8
  120. package/Build/Workers/{chunk-2CZLDPAQ.js → chunk-PSGQHI7V.js} +2 -2
  121. package/Build/Workers/{chunk-37WPNI52.js → chunk-PTBF7YWH.js} +1 -1
  122. package/Build/Workers/{chunk-HHUKBKWS.js → chunk-Q2GNXOAO.js} +11 -11
  123. package/Build/Workers/{chunk-2Y2KA6PM.js → chunk-QCRUW3OJ.js} +13 -13
  124. package/Build/Workers/{chunk-4CQDMEZY.js → chunk-QG2AN7NK.js} +6 -6
  125. package/Build/Workers/{chunk-D3FNWB3Q.js → chunk-QICSE57I.js} +4 -4
  126. package/Build/Workers/{chunk-2VN5W6HA.js → chunk-QM26UZ4G.js} +5 -5
  127. package/Build/Workers/{chunk-4C4UR2S6.js → chunk-QMUEVSBY.js} +10 -10
  128. package/Build/Workers/{chunk-IRG63TBY.js → chunk-QNTU5YFH.js} +1 -1
  129. package/Build/Workers/{chunk-FHM3HFYM.js → chunk-RGAJSVVU.js} +10 -10
  130. package/Build/Workers/{chunk-6KA3AJM6.js → chunk-RJJMDQTR.js} +6 -6
  131. package/Build/Workers/{chunk-HBL3QZ2L.js → chunk-RLMDD7LI.js} +6 -6
  132. package/Build/Workers/{chunk-5L3PEFKO.js → chunk-RMYM65KX.js} +1 -1
  133. package/Build/Workers/{chunk-5VWFNSLF.js → chunk-RWZLJD75.js} +2 -2
  134. package/Build/Workers/{chunk-3JPA6GA3.js → chunk-S3QVNBQ2.js} +12 -12
  135. package/Build/Workers/{chunk-4UBPBH32.js → chunk-SCDH4DI7.js} +5 -5
  136. package/Build/Workers/{chunk-HC6DDPFU.js → chunk-SKWZGTC6.js} +7 -7
  137. package/Build/Workers/{chunk-GZMTBQM2.js → chunk-SL6RUOEJ.js} +4 -4
  138. package/Build/Workers/{chunk-763Q2YKY.js → chunk-SUTV4NUG.js} +14 -14
  139. package/Build/Workers/{chunk-J2CUNLQP.js → chunk-T3CBEYZZ.js} +9 -9
  140. package/Build/Workers/{chunk-4FEDW3WT.js → chunk-T6IEXU63.js} +8 -8
  141. package/Build/Workers/{chunk-FYZVCB32.js → chunk-TBIPO5CH.js} +1 -1
  142. package/Build/Workers/{chunk-74HENCNJ.js → chunk-TDP5NGTP.js} +6 -6
  143. package/Build/Workers/{chunk-KWFCDTXS.js → chunk-TDQUDFAH.js} +9 -9
  144. package/Build/Workers/{chunk-FCSN7XOU.js → chunk-TEAYSUTK.js} +1 -1
  145. package/Build/Workers/{chunk-O5QH7XD5.js → chunk-TSB4I6D6.js} +1 -1
  146. package/Build/Workers/{chunk-H2MM7FMU.js → chunk-TVCOYHIQ.js} +17 -17
  147. package/Build/Workers/{chunk-5DPCF65K.js → chunk-TVVFCSTW.js} +5 -5
  148. package/Build/Workers/{chunk-27JI7F7B.js → chunk-UCLPK6WA.js} +2 -2
  149. package/Build/Workers/{chunk-JM4TFRYQ.js → chunk-ULWGQGIU.js} +2 -2
  150. package/Build/Workers/{chunk-42I3QSKJ.js → chunk-UR5UUI2S.js} +1 -1
  151. package/Build/Workers/{chunk-HEKLTOOR.js → chunk-UTAFOZR6.js} +4 -4
  152. package/Build/Workers/{chunk-6TWMNB7Q.js → chunk-V4BLFYXZ.js} +6 -6
  153. package/Build/Workers/{chunk-6GNLKYQO.js → chunk-VH4ZDU2H.js} +6 -6
  154. package/Build/Workers/{chunk-3PWX65TL.js → chunk-VH6ZXWXV.js} +14 -14
  155. package/Build/Workers/{chunk-ASGXCLGL.js → chunk-VU5DFAMV.js} +4 -4
  156. package/Build/Workers/{chunk-MEFWVMG6.js → chunk-WAJ236EA.js} +11 -11
  157. package/Build/Workers/{chunk-AFZVC5JN.js → chunk-WDTR5ZPN.js} +12 -12
  158. package/Build/Workers/{chunk-3ZJ6X3BW.js → chunk-WJ74Z47X.js} +5 -5
  159. package/Build/Workers/{chunk-ET7K6FSD.js → chunk-WKYBYW6H.js} +14 -14
  160. package/Build/Workers/{chunk-54SSO7NS.js → chunk-WMSJG24O.js} +5 -5
  161. package/Build/Workers/{chunk-G6PDJHNG.js → chunk-WTKUVRNG.js} +7 -7
  162. package/Build/Workers/{chunk-3YO7HM5H.js → chunk-X7RJMQRF.js} +7 -7
  163. package/Build/Workers/{chunk-5UHIRI2A.js → chunk-XH535OLG.js} +2 -2
  164. package/Build/Workers/{chunk-MHEKNHOF.js → chunk-XMN6BU5T.js} +13 -13
  165. package/Build/Workers/{chunk-LVU4AZC6.js → chunk-XOKZRQNH.js} +7 -7
  166. package/Build/Workers/{chunk-73EGVDOC.js → chunk-Y6KZOXMR.js} +14 -14
  167. package/Build/Workers/{chunk-53AFSDGM.js → chunk-YF767F7T.js} +1 -1
  168. package/Build/Workers/{chunk-72Q33KL6.js → chunk-YGPS3DPM.js} +1 -1
  169. package/Build/Workers/{chunk-BCYABDWF.js → chunk-YLNURUBI.js} +18 -18
  170. package/Build/Workers/{chunk-5MCUZL44.js → chunk-YMGBVMJH.js} +6 -6
  171. package/Build/Workers/{chunk-ENIF6OQ5.js → chunk-ZESIYF5P.js} +5 -5
  172. package/Build/Workers/{chunk-BHTWF7UG.js → chunk-ZSDJVMQL.js} +2 -2
  173. package/Build/Workers/combineGeometry.js +24 -24
  174. package/Build/Workers/createBoxGeometry.js +18 -18
  175. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  176. package/Build/Workers/createCircleGeometry.js +26 -26
  177. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  178. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  179. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  180. package/Build/Workers/createCorridorGeometry.js +29 -29
  181. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  182. package/Build/Workers/createCylinderGeometry.js +20 -20
  183. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  184. package/Build/Workers/createEllipseGeometry.js +26 -26
  185. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  186. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  187. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  188. package/Build/Workers/createFrustumGeometry.js +18 -18
  189. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  190. package/Build/Workers/createGeometry.js +24 -24
  191. package/Build/Workers/createGroundPolylineGeometry.js +22 -22
  192. package/Build/Workers/createPlaneGeometry.js +16 -16
  193. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  194. package/Build/Workers/createPolygonGeometry.js +32 -32
  195. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  196. package/Build/Workers/createPolylineGeometry.js +25 -25
  197. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  198. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  199. package/Build/Workers/createRectangleGeometry.js +27 -27
  200. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  201. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  202. package/Build/Workers/createSphereGeometry.js +19 -19
  203. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  204. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  205. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  206. package/Build/Workers/createVectorTileGeometries.js +24 -24
  207. package/Build/Workers/createVectorTilePoints.js +13 -13
  208. package/Build/Workers/createVectorTilePolygons.js +22 -22
  209. package/Build/Workers/createVectorTilePolylines.js +14 -14
  210. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  211. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  212. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  213. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  214. package/Build/Workers/createWallGeometry.js +24 -24
  215. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  216. package/Build/Workers/decodeDraco.js +10 -10
  217. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  218. package/Build/Workers/decodeI3S.js +10 -10
  219. package/Build/Workers/gaussianSplatSorter.js +4 -4
  220. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  221. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  222. package/Build/Workers/transcodeKTX2.js +6 -6
  223. package/Build/Workers/transferTypedArrayTest.js +1 -1
  224. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  225. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  226. package/README.md +69 -69
  227. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -1
  228. package/Source/Scene/Model/CustomShader.js +26 -4
  229. package/Source/Scene/Model/CustomShaderPipelineStage.js +20 -5
  230. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +8 -0
  231. package/Source/Scene/Model/MaterialPipelineStage.js +919 -919
  232. package/Source/Scene/Model/ModelDrawCommand.js +58 -3
  233. package/Source/Shaders/Model/CPUStylingStageFS.glsl +3 -0
  234. package/Source/Shaders/Model/CPUStylingStageFS.js +3 -0
  235. package/Source/Shaders/Model/CPUStylingStageVS.glsl +3 -0
  236. package/Source/Shaders/Model/CPUStylingStageVS.js +3 -0
  237. package/Source/Shaders/Model/ModelFS.glsl +15 -0
  238. package/Source/Shaders/Model/ModelFS.js +15 -0
  239. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  240. package/index.d.ts +15 -1
  241. package/index.js +27 -27
  242. package/package.json +1 -1
  243. package/Build/Workers/chunk-2B7VLWK3.js +0 -58
  244. package/Build/Workers/chunk-2OWEFNS4.js +0 -97
  245. package/Build/Workers/chunk-2YAONTGQ.js +0 -476
  246. package/Build/Workers/chunk-324L25HV.js +0 -352
  247. package/Build/Workers/chunk-3EZBCDBK.js +0 -439
  248. package/Build/Workers/chunk-3QLIXW6V.js +0 -778
  249. package/Build/Workers/chunk-3WRJXCJS.js +0 -497
  250. package/Build/Workers/chunk-3WT5VKYM.js +0 -101
  251. package/Build/Workers/chunk-4DIL24GG.js +0 -1460
  252. package/Build/Workers/chunk-4DQ3ODGO.js +0 -629
  253. package/Build/Workers/chunk-52UUGJQ6.js +0 -288
  254. package/Build/Workers/chunk-5A4OWIAY.js +0 -511
  255. package/Build/Workers/chunk-5IOA3NCI.js +0 -8366
  256. package/Build/Workers/chunk-5RMI6LFO.js +0 -692
  257. package/Build/Workers/chunk-5VDZEVQX.js +0 -788
  258. package/Build/Workers/chunk-5WAMP6Z4.js +0 -299
  259. package/Build/Workers/chunk-5ZMMQ7HE.js +0 -37
  260. package/Build/Workers/chunk-64VDO4BW.js +0 -114
  261. package/Build/Workers/chunk-664SI23B.js +0 -368
  262. package/Build/Workers/chunk-6BNIWSFA.js +0 -940
  263. package/Build/Workers/chunk-7C2MOK27.js +0 -57
  264. package/Build/Workers/chunk-7EFYX4FL.js +0 -642
  265. package/Build/Workers/chunk-7MMYV5PM.js +0 -288
  266. package/Build/Workers/chunk-AVNHAFMV.js +0 -114
  267. package/Build/Workers/chunk-AWMYTHW4.js +0 -101
  268. package/Build/Workers/chunk-B5ZUBUPB.js +0 -398
  269. package/Build/Workers/chunk-BGG3BP2R.js +0 -280
  270. package/Build/Workers/chunk-BJHSYHOQ.js +0 -97
  271. package/Build/Workers/chunk-BLZILZWF.js +0 -2719
  272. package/Build/Workers/chunk-BM6ZG63T.js +0 -171
  273. package/Build/Workers/chunk-BYTLHM7N.js +0 -414
  274. package/Build/Workers/chunk-C3G2NDXM.js +0 -162
  275. package/Build/Workers/chunk-CCPKBCZD.js +0 -171
  276. package/Build/Workers/chunk-CMAG5O53.js +0 -1483
  277. package/Build/Workers/chunk-CR6BZUQC.js +0 -1443
  278. package/Build/Workers/chunk-DBM2NHJ5.js +0 -352
  279. package/Build/Workers/chunk-DIA4J2DB.js +0 -497
  280. package/Build/Workers/chunk-E5BSDIGY.js +0 -139
  281. package/Build/Workers/chunk-EDVAQGDJ.js +0 -2719
  282. package/Build/Workers/chunk-EPVJ5OOH.js +0 -8366
  283. package/Build/Workers/chunk-ERYOZBVC.js +0 -171
  284. package/Build/Workers/chunk-F2BQY3GT.js +0 -1317
  285. package/Build/Workers/chunk-FRF5LWIM.js +0 -299
  286. package/Build/Workers/chunk-FSYQE5XE.js +0 -55
  287. package/Build/Workers/chunk-FTHCZAWE.js +0 -44
  288. package/Build/Workers/chunk-FTXEOX64.js +0 -1067
  289. package/Build/Workers/chunk-G2KELS4I.js +0 -138
  290. package/Build/Workers/chunk-GAQXLBFJ.js +0 -1483
  291. package/Build/Workers/chunk-GCPD37SU.js +0 -1054
  292. package/Build/Workers/chunk-GEH53ULL.js +0 -299
  293. package/Build/Workers/chunk-GJFIEALZ.js +0 -387
  294. package/Build/Workers/chunk-GLA2PT5T.js +0 -476
  295. package/Build/Workers/chunk-GMOKUODV.js +0 -352
  296. package/Build/Workers/chunk-GNGGEDZK.js +0 -352
  297. package/Build/Workers/chunk-GNGZG6C6.js +0 -162
  298. package/Build/Workers/chunk-GWLEBUVI.js +0 -2058
  299. package/Build/Workers/chunk-H3BSU65R.js +0 -1067
  300. package/Build/Workers/chunk-HEFUSHA6.js +0 -3514
  301. package/Build/Workers/chunk-HHN2M3ES.js +0 -682
  302. package/Build/Workers/chunk-HKII76UV.js +0 -1800
  303. package/Build/Workers/chunk-HLIXASKN.js +0 -476
  304. package/Build/Workers/chunk-HM4MH5IG.js +0 -138
  305. package/Build/Workers/chunk-HWUHUN7Z.js +0 -387
  306. package/Build/Workers/chunk-I7LWED3Z.js +0 -101
  307. package/Build/Workers/chunk-IB2XQV6U.js +0 -101
  308. package/Build/Workers/chunk-IC2JHDCI.js +0 -114
  309. package/Build/Workers/chunk-IEBTKCMB.js +0 -497
  310. package/Build/Workers/chunk-IHOM6QXV.js +0 -439
  311. package/Build/Workers/chunk-IK4D64GY.js +0 -439
  312. package/Build/Workers/chunk-IKMU6YHA.js +0 -288
  313. package/Build/Workers/chunk-IYXLSOLF.js +0 -692
  314. package/Build/Workers/chunk-J4PNHKWO.js +0 -2719
  315. package/Build/Workers/chunk-JFLJS4QU.js +0 -1443
  316. package/Build/Workers/chunk-JJD7S2CV.js +0 -3514
  317. package/Build/Workers/chunk-JJWMDUOJ.js +0 -44
  318. package/Build/Workers/chunk-JNNIPGJU.js +0 -163
  319. package/Build/Workers/chunk-JOQFYJZ2.js +0 -692
  320. package/Build/Workers/chunk-JQ7IQ56G.js +0 -837
  321. package/Build/Workers/chunk-JWEZXKBE.js +0 -73
  322. package/Build/Workers/chunk-K2PUGKEO.js +0 -2058
  323. package/Build/Workers/chunk-KFOT2YV5.js +0 -138
  324. package/Build/Workers/chunk-KMJD5APO.js +0 -162
  325. package/Build/Workers/chunk-KOVKY3HB.js +0 -198
  326. package/Build/Workers/chunk-KQ4ET526.js +0 -163
  327. package/Build/Workers/chunk-KWX3CJFT.js +0 -198
  328. package/Build/Workers/chunk-L2QIVAZV.js +0 -3514
  329. package/Build/Workers/chunk-L33HPENB.js +0 -75
  330. package/Build/Workers/chunk-LENXRROQ.js +0 -398
  331. package/Build/Workers/chunk-LFQ63ZU4.js +0 -455
  332. package/Build/Workers/chunk-LHJDLAZT.js +0 -1483
  333. package/Build/Workers/chunk-LJHG4PJQ.js +0 -305
  334. package/Build/Workers/chunk-LNS36LUZ.js +0 -2058
  335. package/Build/Workers/chunk-LPJHTJDQ.js +0 -305
  336. package/Build/Workers/chunk-LRW2QXMW.js +0 -352
  337. package/Build/Workers/chunk-LUUEGFLT.js +0 -305
  338. package/Build/Workers/chunk-LW2VGHDM.js +0 -1800
  339. package/Build/Workers/chunk-LXM2ZC4V.js +0 -288
  340. package/Build/Workers/chunk-LXMLERGC.js +0 -1067
  341. package/Build/Workers/chunk-LXOUU2I5.js +0 -219
  342. package/Build/Workers/chunk-M7EEEKQE.js +0 -476
  343. package/Build/Workers/chunk-MB2ZJQR3.js +0 -55
  344. package/Build/Workers/chunk-MCJRXFRL.js +0 -102
  345. package/Build/Workers/chunk-MCNY7SPD.js +0 -139
  346. package/Build/Workers/chunk-MLL4AAXV.js +0 -1460
  347. package/Build/Workers/chunk-MPCZC3G6.js +0 -414
  348. package/Build/Workers/chunk-MRLJERN3.js +0 -114
  349. package/Build/Workers/chunk-MWN26ZEM.js +0 -280
  350. package/Build/Workers/chunk-MXKQUDTP.js +0 -55
  351. package/Build/Workers/chunk-NEF7XO5W.js +0 -940
  352. package/Build/Workers/chunk-NIWB6UMY.js +0 -198
  353. package/Build/Workers/chunk-NJEG7WRW.js +0 -387
  354. package/Build/Workers/chunk-NL7US44X.js +0 -171
  355. package/Build/Workers/chunk-NOJAQPXU.js +0 -102
  356. package/Build/Workers/chunk-NSRZZEHH.js +0 -455
  357. package/Build/Workers/chunk-NUMQ72QV.js +0 -55
  358. package/Build/Workers/chunk-NXZJKIYD.js +0 -97
  359. package/Build/Workers/chunk-O224ZEA5.js +0 -58
  360. package/Build/Workers/chunk-O4MZOV3C.js +0 -414
  361. package/Build/Workers/chunk-O5ICO3AS.js +0 -682
  362. package/Build/Workers/chunk-O6T3T3V3.js +0 -97
  363. package/Build/Workers/chunk-OAFZ26QL.js +0 -837
  364. package/Build/Workers/chunk-OBM2JYMG.js +0 -75
  365. package/Build/Workers/chunk-OC63Z35M.js +0 -280
  366. package/Build/Workers/chunk-OD7UYXFV.js +0 -352
  367. package/Build/Workers/chunk-ODZZZGXK.js +0 -219
  368. package/Build/Workers/chunk-OEAC5XUG.js +0 -73
  369. package/Build/Workers/chunk-OFTWEOW2.js +0 -1483
  370. package/Build/Workers/chunk-OIJH6LAY.js +0 -497
  371. package/Build/Workers/chunk-OJFVD5ZS.js +0 -778
  372. package/Build/Workers/chunk-OJNPKCEL.js +0 -73
  373. package/Build/Workers/chunk-OOIZ7CHP.js +0 -114
  374. package/Build/Workers/chunk-OQK27J4J.js +0 -139
  375. package/Build/Workers/chunk-OTDNJAYJ.js +0 -55
  376. package/Build/Workers/chunk-OX4DGIUJ.js +0 -788
  377. package/Build/Workers/chunk-PEEYBEL5.js +0 -2058
  378. package/Build/Workers/chunk-PEUDXOFI.js +0 -241
  379. package/Build/Workers/chunk-PGYA2CMO.js +0 -642
  380. package/Build/Workers/chunk-PKXFFIEZ.js +0 -57
  381. package/Build/Workers/chunk-PQLZOYZE.js +0 -642
  382. package/Build/Workers/chunk-PSDWIJMU.js +0 -219
  383. package/Build/Workers/chunk-PU44PXY2.js +0 -75
  384. package/Build/Workers/chunk-PW3GQAXA.js +0 -3514
  385. package/Build/Workers/chunk-Q2X2Z7JH.js +0 -241
  386. package/Build/Workers/chunk-Q2YRPH7V.js +0 -1067
  387. package/Build/Workers/chunk-Q36VXWGP.js +0 -57
  388. package/Build/Workers/chunk-Q4XPVYXJ.js +0 -476
  389. package/Build/Workers/chunk-QEGQDFX2.js +0 -1045
  390. package/Build/Workers/chunk-QFN5B75P.js +0 -1054
  391. package/Build/Workers/chunk-QGXE4VZ3.js +0 -55
  392. package/Build/Workers/chunk-QIEHP7O4.js +0 -280
  393. package/Build/Workers/chunk-QOLOPE4O.js +0 -1317
  394. package/Build/Workers/chunk-QY55DT53.js +0 -97
  395. package/Build/Workers/chunk-R2AFDOIY.js +0 -778
  396. package/Build/Workers/chunk-R3PTQZ6H.js +0 -44
  397. package/Build/Workers/chunk-R5U3MYPS.js +0 -198
  398. package/Build/Workers/chunk-RBLCJVK6.js +0 -73
  399. package/Build/Workers/chunk-RGD6RGTH.js +0 -138
  400. package/Build/Workers/chunk-RJ564LVX.js +0 -398
  401. package/Build/Workers/chunk-RJIH4MDC.js +0 -241
  402. package/Build/Workers/chunk-RJVB3K2X.js +0 -511
  403. package/Build/Workers/chunk-RNZ5L3W4.js +0 -387
  404. package/Build/Workers/chunk-RO7SDGOD.js +0 -352
  405. package/Build/Workers/chunk-RORZNBGJ.js +0 -299
  406. package/Build/Workers/chunk-RRBGLANL.js +0 -55
  407. package/Build/Workers/chunk-RT7PY6BH.js +0 -2719
  408. package/Build/Workers/chunk-RTJ6L5O4.js +0 -163
  409. package/Build/Workers/chunk-SAD42JSM.js +0 -102
  410. package/Build/Workers/chunk-SBR7MW44.js +0 -139
  411. package/Build/Workers/chunk-SCF2OVAZ.js +0 -219
  412. package/Build/Workers/chunk-SCNCHSTQ.js +0 -642
  413. package/Build/Workers/chunk-SFM3GNS2.js +0 -682
  414. package/Build/Workers/chunk-SG56ZOPD.js +0 -788
  415. package/Build/Workers/chunk-SHQEATE2.js +0 -1045
  416. package/Build/Workers/chunk-SJX7UJNW.js +0 -241
  417. package/Build/Workers/chunk-SKXE77AM.js +0 -139
  418. package/Build/Workers/chunk-SLYUIIFB.js +0 -455
  419. package/Build/Workers/chunk-SPL7JK6K.js +0 -1054
  420. package/Build/Workers/chunk-SPPYSEH2.js +0 -1460
  421. package/Build/Workers/chunk-SQSWONTJ.js +0 -241
  422. package/Build/Workers/chunk-SRLJWNU2.js +0 -368
  423. package/Build/Workers/chunk-SSE2O2SB.js +0 -1460
  424. package/Build/Workers/chunk-SX6GJD6B.js +0 -837
  425. package/Build/Workers/chunk-SXISWCV7.js +0 -58
  426. package/Build/Workers/chunk-SYCWSSRX.js +0 -1443
  427. package/Build/Workers/chunk-SZELHE7Q.js +0 -163
  428. package/Build/Workers/chunk-SZQC2TUH.js +0 -368
  429. package/Build/Workers/chunk-T4LDJBKR.js +0 -124
  430. package/Build/Workers/chunk-TAWVKT4B.js +0 -58
  431. package/Build/Workers/chunk-TBASKFFL.js +0 -124
  432. package/Build/Workers/chunk-TBEKWAR5.js +0 -73
  433. package/Build/Workers/chunk-TDGGEIZE.js +0 -398
  434. package/Build/Workers/chunk-TE277WT3.js +0 -280
  435. package/Build/Workers/chunk-TEZGNCXH.js +0 -8366
  436. package/Build/Workers/chunk-TFL2ZV77.js +0 -692
  437. package/Build/Workers/chunk-THWXTO7B.js +0 -57
  438. package/Build/Workers/chunk-TIQZUI5N.js +0 -44
  439. package/Build/Workers/chunk-TKJHRY4V.js +0 -511
  440. package/Build/Workers/chunk-TLXEQ5QY.js +0 -778
  441. package/Build/Workers/chunk-TQ63SH2Z.js +0 -352
  442. package/Build/Workers/chunk-TSNKYHSC.js +0 -305
  443. package/Build/Workers/chunk-TYQ7MNMK.js +0 -37
  444. package/Build/Workers/chunk-U267N6IJ.js +0 -299
  445. package/Build/Workers/chunk-U3VI26GL.js +0 -162
  446. package/Build/Workers/chunk-U77FLUQF.js +0 -368
  447. package/Build/Workers/chunk-UIMHSWDJ.js +0 -455
  448. package/Build/Workers/chunk-UIYQEJ5H.js +0 -1054
  449. package/Build/Workers/chunk-UJ72JOGF.js +0 -511
  450. package/Build/Workers/chunk-ULWO6TCN.js +0 -352
  451. package/Build/Workers/chunk-UO3AWZR3.js +0 -352
  452. package/Build/Workers/chunk-UQSQNTEF.js +0 -368
  453. package/Build/Workers/chunk-USWXYJRX.js +0 -1045
  454. package/Build/Workers/chunk-UTDSEOTC.js +0 -288
  455. package/Build/Workers/chunk-UTXXZ7XH.js +0 -940
  456. package/Build/Workers/chunk-UUKLWTJC.js +0 -2719
  457. package/Build/Workers/chunk-UY7I27VQ.js +0 -1800
  458. package/Build/Workers/chunk-UZXJSLDO.js +0 -3514
  459. package/Build/Workers/chunk-V2TRFTCU.js +0 -1317
  460. package/Build/Workers/chunk-V4I3IKAK.js +0 -1460
  461. package/Build/Workers/chunk-V7QHEF6O.js +0 -1317
  462. package/Build/Workers/chunk-VFC54WB7.js +0 -940
  463. package/Build/Workers/chunk-VG7NX64T.js +0 -37
  464. package/Build/Workers/chunk-VIMRGSM5.js +0 -256
  465. package/Build/Workers/chunk-VL4QTEZC.js +0 -138
  466. package/Build/Workers/chunk-VLB25GGE.js +0 -439
  467. package/Build/Workers/chunk-VP2OAU4C.js +0 -124
  468. package/Build/Workers/chunk-VVKDT4J7.js +0 -837
  469. package/Build/Workers/chunk-VXDOONLH.js +0 -162
  470. package/Build/Workers/chunk-W2EK42GB.js +0 -75
  471. package/Build/Workers/chunk-W2OMUTYA.js +0 -1800
  472. package/Build/Workers/chunk-W3LNGBJU.js +0 -44
  473. package/Build/Workers/chunk-W4DV7TAL.js +0 -8366
  474. package/Build/Workers/chunk-WDMHDACX.js +0 -1800
  475. package/Build/Workers/chunk-WF224D4A.js +0 -642
  476. package/Build/Workers/chunk-WFTPZ3ZX.js +0 -788
  477. package/Build/Workers/chunk-WHOEQFL4.js +0 -682
  478. package/Build/Workers/chunk-WLIQ26XU.js +0 -455
  479. package/Build/Workers/chunk-WOEPS2UA.js +0 -171
  480. package/Build/Workers/chunk-WWLWTSMV.js +0 -55
  481. package/Build/Workers/chunk-WX2ZANQC.js +0 -940
  482. package/Build/Workers/chunk-WZJEAPEP.js +0 -629
  483. package/Build/Workers/chunk-XEB4GEXW.js +0 -629
  484. package/Build/Workers/chunk-XFKTM6GN.js +0 -2058
  485. package/Build/Workers/chunk-XHGB5IOL.js +0 -1045
  486. package/Build/Workers/chunk-XHNWVOIJ.js +0 -219
  487. package/Build/Workers/chunk-XKBR7TJB.js +0 -398
  488. package/Build/Workers/chunk-XMIENZET.js +0 -256
  489. package/Build/Workers/chunk-XNKQLSHI.js +0 -629
  490. package/Build/Workers/chunk-XOXF37BU.js +0 -1317
  491. package/Build/Workers/chunk-XXD3TQVI.js +0 -837
  492. package/Build/Workers/chunk-XYRT4RDI.js +0 -1045
  493. package/Build/Workers/chunk-XZINQPR6.js +0 -124
  494. package/Build/Workers/chunk-XZN7KCY3.js +0 -1054
  495. package/Build/Workers/chunk-YC6PFDXQ.js +0 -8366
  496. package/Build/Workers/chunk-YCTK62TY.js +0 -1483
  497. package/Build/Workers/chunk-YFJB3US4.js +0 -102
  498. package/Build/Workers/chunk-YLKTSY65.js +0 -414
  499. package/Build/Workers/chunk-YLSZYTTO.js +0 -102
  500. package/Build/Workers/chunk-YMXATXRN.js +0 -57
  501. package/Build/Workers/chunk-YQXKIGXX.js +0 -414
  502. package/Build/Workers/chunk-YR3LX3PR.js +0 -497
  503. package/Build/Workers/chunk-YVRD2PO5.js +0 -124
  504. package/Build/Workers/chunk-YWPKCFKZ.js +0 -1443
  505. package/Build/Workers/chunk-YWSB7PZP.js +0 -511
  506. package/Build/Workers/chunk-Z24A5EMJ.js +0 -387
  507. package/Build/Workers/chunk-Z4IW5XUY.js +0 -788
  508. package/Build/Workers/chunk-Z5MHVJGN.js +0 -778
  509. package/Build/Workers/chunk-ZBRVFEGF.js +0 -256
  510. package/Build/Workers/chunk-ZCPCQJBX.js +0 -198
  511. package/Build/Workers/chunk-ZEEVOFG2.js +0 -256
  512. package/Build/Workers/chunk-ZFHCP7RN.js +0 -692
  513. package/Build/Workers/chunk-ZHHEFNHL.js +0 -37
  514. package/Build/Workers/chunk-ZI5GDNEV.js +0 -305
  515. package/Build/Workers/chunk-ZS7KQSEM.js +0 -439
  516. package/Build/Workers/chunk-ZVXETFPZ.js +0 -1067
  517. package/Build/Workers/chunk-ZXZTWDTN.js +0 -682
  518. package/Build/Workers/chunk-ZYTMDBCR.js +0 -1443
@@ -1,2058 +0,0 @@
1
- /**
2
- * @license
3
- * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 0.0.10
5
- *
6
- * Copyright 2011-2022 Cesium Contributors
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- *
20
- * Columbus View (Pat. Pend.)
21
- *
22
- * Portions licensed separately.
23
- * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24
- */
25
-
26
- import {
27
- RuntimeError_default
28
- } from "./chunk-SXISWCV7.js";
29
- import {
30
- Cartesian3_default,
31
- Frozen_default,
32
- Matrix3_default
33
- } from "./chunk-YWPKCFKZ.js";
34
- import {
35
- Math_default
36
- } from "./chunk-F7IITURY.js";
37
- import {
38
- Check_default,
39
- DeveloperError_default
40
- } from "./chunk-JNNIPGJU.js";
41
- import {
42
- defined_default
43
- } from "./chunk-DPTYP7J3.js";
44
-
45
- // packages/engine/Source/Core/Cartesian4.js
46
- function Cartesian4(x, y, z, w) {
47
- this.x = x ?? 0;
48
- this.y = y ?? 0;
49
- this.z = z ?? 0;
50
- this.w = w ?? 0;
51
- }
52
- Cartesian4.fromElements = function(x, y, z, w, result) {
53
- if (!defined_default(result)) {
54
- return new Cartesian4(x, y, z, w);
55
- }
56
- result.x = x;
57
- result.y = y;
58
- result.z = z;
59
- result.w = w;
60
- return result;
61
- };
62
- Cartesian4.fromColor = function(color, result) {
63
- Check_default.typeOf.object("color", color);
64
- if (!defined_default(result)) {
65
- return new Cartesian4(color.red, color.green, color.blue, color.alpha);
66
- }
67
- result.x = color.red;
68
- result.y = color.green;
69
- result.z = color.blue;
70
- result.w = color.alpha;
71
- return result;
72
- };
73
- Cartesian4.clone = function(cartesian, result) {
74
- if (!defined_default(cartesian)) {
75
- return void 0;
76
- }
77
- if (!defined_default(result)) {
78
- return new Cartesian4(cartesian.x, cartesian.y, cartesian.z, cartesian.w);
79
- }
80
- result.x = cartesian.x;
81
- result.y = cartesian.y;
82
- result.z = cartesian.z;
83
- result.w = cartesian.w;
84
- return result;
85
- };
86
- Cartesian4.packedLength = 4;
87
- Cartesian4.pack = function(value, array, startingIndex) {
88
- Check_default.typeOf.object("value", value);
89
- Check_default.defined("array", array);
90
- startingIndex = startingIndex ?? 0;
91
- array[startingIndex++] = value.x;
92
- array[startingIndex++] = value.y;
93
- array[startingIndex++] = value.z;
94
- array[startingIndex] = value.w;
95
- return array;
96
- };
97
- Cartesian4.unpack = function(array, startingIndex, result) {
98
- Check_default.defined("array", array);
99
- startingIndex = startingIndex ?? 0;
100
- if (!defined_default(result)) {
101
- result = new Cartesian4();
102
- }
103
- result.x = array[startingIndex++];
104
- result.y = array[startingIndex++];
105
- result.z = array[startingIndex++];
106
- result.w = array[startingIndex];
107
- return result;
108
- };
109
- Cartesian4.packArray = function(array, result) {
110
- Check_default.defined("array", array);
111
- const length = array.length;
112
- const resultLength = length * 4;
113
- if (!defined_default(result)) {
114
- result = new Array(resultLength);
115
- } else if (!Array.isArray(result) && result.length !== resultLength) {
116
- throw new DeveloperError_default(
117
- "If result is a typed array, it must have exactly array.length * 4 elements"
118
- );
119
- } else if (result.length !== resultLength) {
120
- result.length = resultLength;
121
- }
122
- for (let i = 0; i < length; ++i) {
123
- Cartesian4.pack(array[i], result, i * 4);
124
- }
125
- return result;
126
- };
127
- Cartesian4.unpackArray = function(array, result) {
128
- Check_default.defined("array", array);
129
- Check_default.typeOf.number.greaterThanOrEquals("array.length", array.length, 4);
130
- if (array.length % 4 !== 0) {
131
- throw new DeveloperError_default("array length must be a multiple of 4.");
132
- }
133
- const length = array.length;
134
- if (!defined_default(result)) {
135
- result = new Array(length / 4);
136
- } else {
137
- result.length = length / 4;
138
- }
139
- for (let i = 0; i < length; i += 4) {
140
- const index = i / 4;
141
- result[index] = Cartesian4.unpack(array, i, result[index]);
142
- }
143
- return result;
144
- };
145
- Cartesian4.fromArray = Cartesian4.unpack;
146
- Cartesian4.maximumComponent = function(cartesian) {
147
- Check_default.typeOf.object("cartesian", cartesian);
148
- return Math.max(cartesian.x, cartesian.y, cartesian.z, cartesian.w);
149
- };
150
- Cartesian4.minimumComponent = function(cartesian) {
151
- Check_default.typeOf.object("cartesian", cartesian);
152
- return Math.min(cartesian.x, cartesian.y, cartesian.z, cartesian.w);
153
- };
154
- Cartesian4.minimumByComponent = function(first, second, result) {
155
- Check_default.typeOf.object("first", first);
156
- Check_default.typeOf.object("second", second);
157
- Check_default.typeOf.object("result", result);
158
- result.x = Math.min(first.x, second.x);
159
- result.y = Math.min(first.y, second.y);
160
- result.z = Math.min(first.z, second.z);
161
- result.w = Math.min(first.w, second.w);
162
- return result;
163
- };
164
- Cartesian4.maximumByComponent = function(first, second, result) {
165
- Check_default.typeOf.object("first", first);
166
- Check_default.typeOf.object("second", second);
167
- Check_default.typeOf.object("result", result);
168
- result.x = Math.max(first.x, second.x);
169
- result.y = Math.max(first.y, second.y);
170
- result.z = Math.max(first.z, second.z);
171
- result.w = Math.max(first.w, second.w);
172
- return result;
173
- };
174
- Cartesian4.clamp = function(value, min, max, result) {
175
- Check_default.typeOf.object("value", value);
176
- Check_default.typeOf.object("min", min);
177
- Check_default.typeOf.object("max", max);
178
- Check_default.typeOf.object("result", result);
179
- const x = Math_default.clamp(value.x, min.x, max.x);
180
- const y = Math_default.clamp(value.y, min.y, max.y);
181
- const z = Math_default.clamp(value.z, min.z, max.z);
182
- const w = Math_default.clamp(value.w, min.w, max.w);
183
- result.x = x;
184
- result.y = y;
185
- result.z = z;
186
- result.w = w;
187
- return result;
188
- };
189
- Cartesian4.magnitudeSquared = function(cartesian) {
190
- Check_default.typeOf.object("cartesian", cartesian);
191
- return cartesian.x * cartesian.x + cartesian.y * cartesian.y + cartesian.z * cartesian.z + cartesian.w * cartesian.w;
192
- };
193
- Cartesian4.magnitude = function(cartesian) {
194
- return Math.sqrt(Cartesian4.magnitudeSquared(cartesian));
195
- };
196
- var distanceScratch = new Cartesian4();
197
- Cartesian4.distance = function(left, right) {
198
- Check_default.typeOf.object("left", left);
199
- Check_default.typeOf.object("right", right);
200
- Cartesian4.subtract(left, right, distanceScratch);
201
- return Cartesian4.magnitude(distanceScratch);
202
- };
203
- Cartesian4.distanceSquared = function(left, right) {
204
- Check_default.typeOf.object("left", left);
205
- Check_default.typeOf.object("right", right);
206
- Cartesian4.subtract(left, right, distanceScratch);
207
- return Cartesian4.magnitudeSquared(distanceScratch);
208
- };
209
- Cartesian4.normalize = function(cartesian, result) {
210
- Check_default.typeOf.object("cartesian", cartesian);
211
- Check_default.typeOf.object("result", result);
212
- const magnitude = Cartesian4.magnitude(cartesian);
213
- result.x = cartesian.x / magnitude;
214
- result.y = cartesian.y / magnitude;
215
- result.z = cartesian.z / magnitude;
216
- result.w = cartesian.w / magnitude;
217
- if (isNaN(result.x) || isNaN(result.y) || isNaN(result.z) || isNaN(result.w)) {
218
- throw new DeveloperError_default("normalized result is not a number");
219
- }
220
- return result;
221
- };
222
- Cartesian4.dot = function(left, right) {
223
- Check_default.typeOf.object("left", left);
224
- Check_default.typeOf.object("right", right);
225
- return left.x * right.x + left.y * right.y + left.z * right.z + left.w * right.w;
226
- };
227
- Cartesian4.multiplyComponents = function(left, right, result) {
228
- Check_default.typeOf.object("left", left);
229
- Check_default.typeOf.object("right", right);
230
- Check_default.typeOf.object("result", result);
231
- result.x = left.x * right.x;
232
- result.y = left.y * right.y;
233
- result.z = left.z * right.z;
234
- result.w = left.w * right.w;
235
- return result;
236
- };
237
- Cartesian4.divideComponents = function(left, right, result) {
238
- Check_default.typeOf.object("left", left);
239
- Check_default.typeOf.object("right", right);
240
- Check_default.typeOf.object("result", result);
241
- result.x = left.x / right.x;
242
- result.y = left.y / right.y;
243
- result.z = left.z / right.z;
244
- result.w = left.w / right.w;
245
- return result;
246
- };
247
- Cartesian4.add = function(left, right, result) {
248
- Check_default.typeOf.object("left", left);
249
- Check_default.typeOf.object("right", right);
250
- Check_default.typeOf.object("result", result);
251
- result.x = left.x + right.x;
252
- result.y = left.y + right.y;
253
- result.z = left.z + right.z;
254
- result.w = left.w + right.w;
255
- return result;
256
- };
257
- Cartesian4.subtract = function(left, right, result) {
258
- Check_default.typeOf.object("left", left);
259
- Check_default.typeOf.object("right", right);
260
- Check_default.typeOf.object("result", result);
261
- result.x = left.x - right.x;
262
- result.y = left.y - right.y;
263
- result.z = left.z - right.z;
264
- result.w = left.w - right.w;
265
- return result;
266
- };
267
- Cartesian4.multiplyByScalar = function(cartesian, scalar, result) {
268
- Check_default.typeOf.object("cartesian", cartesian);
269
- Check_default.typeOf.number("scalar", scalar);
270
- Check_default.typeOf.object("result", result);
271
- result.x = cartesian.x * scalar;
272
- result.y = cartesian.y * scalar;
273
- result.z = cartesian.z * scalar;
274
- result.w = cartesian.w * scalar;
275
- return result;
276
- };
277
- Cartesian4.divideByScalar = function(cartesian, scalar, result) {
278
- Check_default.typeOf.object("cartesian", cartesian);
279
- Check_default.typeOf.number("scalar", scalar);
280
- Check_default.typeOf.object("result", result);
281
- result.x = cartesian.x / scalar;
282
- result.y = cartesian.y / scalar;
283
- result.z = cartesian.z / scalar;
284
- result.w = cartesian.w / scalar;
285
- return result;
286
- };
287
- Cartesian4.negate = function(cartesian, result) {
288
- Check_default.typeOf.object("cartesian", cartesian);
289
- Check_default.typeOf.object("result", result);
290
- result.x = -cartesian.x;
291
- result.y = -cartesian.y;
292
- result.z = -cartesian.z;
293
- result.w = -cartesian.w;
294
- return result;
295
- };
296
- Cartesian4.abs = function(cartesian, result) {
297
- Check_default.typeOf.object("cartesian", cartesian);
298
- Check_default.typeOf.object("result", result);
299
- result.x = Math.abs(cartesian.x);
300
- result.y = Math.abs(cartesian.y);
301
- result.z = Math.abs(cartesian.z);
302
- result.w = Math.abs(cartesian.w);
303
- return result;
304
- };
305
- var lerpScratch = new Cartesian4();
306
- Cartesian4.lerp = function(start, end, t, result) {
307
- Check_default.typeOf.object("start", start);
308
- Check_default.typeOf.object("end", end);
309
- Check_default.typeOf.number("t", t);
310
- Check_default.typeOf.object("result", result);
311
- Cartesian4.multiplyByScalar(end, t, lerpScratch);
312
- result = Cartesian4.multiplyByScalar(start, 1 - t, result);
313
- return Cartesian4.add(lerpScratch, result, result);
314
- };
315
- var mostOrthogonalAxisScratch = new Cartesian4();
316
- Cartesian4.mostOrthogonalAxis = function(cartesian, result) {
317
- Check_default.typeOf.object("cartesian", cartesian);
318
- Check_default.typeOf.object("result", result);
319
- const f = Cartesian4.normalize(cartesian, mostOrthogonalAxisScratch);
320
- Cartesian4.abs(f, f);
321
- if (f.x <= f.y) {
322
- if (f.x <= f.z) {
323
- if (f.x <= f.w) {
324
- result = Cartesian4.clone(Cartesian4.UNIT_X, result);
325
- } else {
326
- result = Cartesian4.clone(Cartesian4.UNIT_W, result);
327
- }
328
- } else if (f.z <= f.w) {
329
- result = Cartesian4.clone(Cartesian4.UNIT_Z, result);
330
- } else {
331
- result = Cartesian4.clone(Cartesian4.UNIT_W, result);
332
- }
333
- } else if (f.y <= f.z) {
334
- if (f.y <= f.w) {
335
- result = Cartesian4.clone(Cartesian4.UNIT_Y, result);
336
- } else {
337
- result = Cartesian4.clone(Cartesian4.UNIT_W, result);
338
- }
339
- } else if (f.z <= f.w) {
340
- result = Cartesian4.clone(Cartesian4.UNIT_Z, result);
341
- } else {
342
- result = Cartesian4.clone(Cartesian4.UNIT_W, result);
343
- }
344
- return result;
345
- };
346
- Cartesian4.equals = function(left, right) {
347
- return left === right || defined_default(left) && defined_default(right) && left.x === right.x && left.y === right.y && left.z === right.z && left.w === right.w;
348
- };
349
- Cartesian4.equalsArray = function(cartesian, array, offset) {
350
- return cartesian.x === array[offset] && cartesian.y === array[offset + 1] && cartesian.z === array[offset + 2] && cartesian.w === array[offset + 3];
351
- };
352
- Cartesian4.equalsEpsilon = function(left, right, relativeEpsilon, absoluteEpsilon) {
353
- return left === right || defined_default(left) && defined_default(right) && Math_default.equalsEpsilon(
354
- left.x,
355
- right.x,
356
- relativeEpsilon,
357
- absoluteEpsilon
358
- ) && Math_default.equalsEpsilon(
359
- left.y,
360
- right.y,
361
- relativeEpsilon,
362
- absoluteEpsilon
363
- ) && Math_default.equalsEpsilon(
364
- left.z,
365
- right.z,
366
- relativeEpsilon,
367
- absoluteEpsilon
368
- ) && Math_default.equalsEpsilon(
369
- left.w,
370
- right.w,
371
- relativeEpsilon,
372
- absoluteEpsilon
373
- );
374
- };
375
- Cartesian4.ZERO = Object.freeze(new Cartesian4(0, 0, 0, 0));
376
- Cartesian4.ONE = Object.freeze(new Cartesian4(1, 1, 1, 1));
377
- Cartesian4.UNIT_X = Object.freeze(new Cartesian4(1, 0, 0, 0));
378
- Cartesian4.UNIT_Y = Object.freeze(new Cartesian4(0, 1, 0, 0));
379
- Cartesian4.UNIT_Z = Object.freeze(new Cartesian4(0, 0, 1, 0));
380
- Cartesian4.UNIT_W = Object.freeze(new Cartesian4(0, 0, 0, 1));
381
- Cartesian4.prototype.clone = function(result) {
382
- return Cartesian4.clone(this, result);
383
- };
384
- Cartesian4.prototype.equals = function(right) {
385
- return Cartesian4.equals(this, right);
386
- };
387
- Cartesian4.prototype.equalsEpsilon = function(right, relativeEpsilon, absoluteEpsilon) {
388
- return Cartesian4.equalsEpsilon(
389
- this,
390
- right,
391
- relativeEpsilon,
392
- absoluteEpsilon
393
- );
394
- };
395
- Cartesian4.prototype.toString = function() {
396
- return `(${this.x}, ${this.y}, ${this.z}, ${this.w})`;
397
- };
398
- var scratchF32Array = new Float32Array(1);
399
- var scratchU8Array = new Uint8Array(scratchF32Array.buffer);
400
- var testU32 = new Uint32Array([287454020]);
401
- var testU8 = new Uint8Array(testU32.buffer);
402
- var littleEndian = testU8[0] === 68;
403
- Cartesian4.packFloat = function(value, result) {
404
- Check_default.typeOf.number("value", value);
405
- if (!defined_default(result)) {
406
- result = new Cartesian4();
407
- }
408
- scratchF32Array[0] = value;
409
- if (littleEndian) {
410
- result.x = scratchU8Array[0];
411
- result.y = scratchU8Array[1];
412
- result.z = scratchU8Array[2];
413
- result.w = scratchU8Array[3];
414
- } else {
415
- result.x = scratchU8Array[3];
416
- result.y = scratchU8Array[2];
417
- result.z = scratchU8Array[1];
418
- result.w = scratchU8Array[0];
419
- }
420
- return result;
421
- };
422
- Cartesian4.unpackFloat = function(packedFloat) {
423
- Check_default.typeOf.object("packedFloat", packedFloat);
424
- if (littleEndian) {
425
- scratchU8Array[0] = packedFloat.x;
426
- scratchU8Array[1] = packedFloat.y;
427
- scratchU8Array[2] = packedFloat.z;
428
- scratchU8Array[3] = packedFloat.w;
429
- } else {
430
- scratchU8Array[0] = packedFloat.w;
431
- scratchU8Array[1] = packedFloat.z;
432
- scratchU8Array[2] = packedFloat.y;
433
- scratchU8Array[3] = packedFloat.x;
434
- }
435
- return scratchF32Array[0];
436
- };
437
- var Cartesian4_default = Cartesian4;
438
-
439
- // packages/engine/Source/Core/Matrix4.js
440
- function Matrix4(column0Row0, column1Row0, column2Row0, column3Row0, column0Row1, column1Row1, column2Row1, column3Row1, column0Row2, column1Row2, column2Row2, column3Row2, column0Row3, column1Row3, column2Row3, column3Row3) {
441
- this[0] = column0Row0 ?? 0;
442
- this[1] = column0Row1 ?? 0;
443
- this[2] = column0Row2 ?? 0;
444
- this[3] = column0Row3 ?? 0;
445
- this[4] = column1Row0 ?? 0;
446
- this[5] = column1Row1 ?? 0;
447
- this[6] = column1Row2 ?? 0;
448
- this[7] = column1Row3 ?? 0;
449
- this[8] = column2Row0 ?? 0;
450
- this[9] = column2Row1 ?? 0;
451
- this[10] = column2Row2 ?? 0;
452
- this[11] = column2Row3 ?? 0;
453
- this[12] = column3Row0 ?? 0;
454
- this[13] = column3Row1 ?? 0;
455
- this[14] = column3Row2 ?? 0;
456
- this[15] = column3Row3 ?? 0;
457
- }
458
- Matrix4.packedLength = 16;
459
- Matrix4.pack = function(value, array, startingIndex) {
460
- Check_default.typeOf.object("value", value);
461
- Check_default.defined("array", array);
462
- startingIndex = startingIndex ?? 0;
463
- array[startingIndex++] = value[0];
464
- array[startingIndex++] = value[1];
465
- array[startingIndex++] = value[2];
466
- array[startingIndex++] = value[3];
467
- array[startingIndex++] = value[4];
468
- array[startingIndex++] = value[5];
469
- array[startingIndex++] = value[6];
470
- array[startingIndex++] = value[7];
471
- array[startingIndex++] = value[8];
472
- array[startingIndex++] = value[9];
473
- array[startingIndex++] = value[10];
474
- array[startingIndex++] = value[11];
475
- array[startingIndex++] = value[12];
476
- array[startingIndex++] = value[13];
477
- array[startingIndex++] = value[14];
478
- array[startingIndex] = value[15];
479
- return array;
480
- };
481
- Matrix4.unpack = function(array, startingIndex, result) {
482
- Check_default.defined("array", array);
483
- startingIndex = startingIndex ?? 0;
484
- if (!defined_default(result)) {
485
- result = new Matrix4();
486
- }
487
- result[0] = array[startingIndex++];
488
- result[1] = array[startingIndex++];
489
- result[2] = array[startingIndex++];
490
- result[3] = array[startingIndex++];
491
- result[4] = array[startingIndex++];
492
- result[5] = array[startingIndex++];
493
- result[6] = array[startingIndex++];
494
- result[7] = array[startingIndex++];
495
- result[8] = array[startingIndex++];
496
- result[9] = array[startingIndex++];
497
- result[10] = array[startingIndex++];
498
- result[11] = array[startingIndex++];
499
- result[12] = array[startingIndex++];
500
- result[13] = array[startingIndex++];
501
- result[14] = array[startingIndex++];
502
- result[15] = array[startingIndex];
503
- return result;
504
- };
505
- Matrix4.packArray = function(array, result) {
506
- Check_default.defined("array", array);
507
- const length = array.length;
508
- const resultLength = length * 16;
509
- if (!defined_default(result)) {
510
- result = new Array(resultLength);
511
- } else if (!Array.isArray(result) && result.length !== resultLength) {
512
- throw new DeveloperError_default(
513
- "If result is a typed array, it must have exactly array.length * 16 elements"
514
- );
515
- } else if (result.length !== resultLength) {
516
- result.length = resultLength;
517
- }
518
- for (let i = 0; i < length; ++i) {
519
- Matrix4.pack(array[i], result, i * 16);
520
- }
521
- return result;
522
- };
523
- Matrix4.unpackArray = function(array, result) {
524
- Check_default.defined("array", array);
525
- Check_default.typeOf.number.greaterThanOrEquals("array.length", array.length, 16);
526
- if (array.length % 16 !== 0) {
527
- throw new DeveloperError_default("array length must be a multiple of 16.");
528
- }
529
- const length = array.length;
530
- if (!defined_default(result)) {
531
- result = new Array(length / 16);
532
- } else {
533
- result.length = length / 16;
534
- }
535
- for (let i = 0; i < length; i += 16) {
536
- const index = i / 16;
537
- result[index] = Matrix4.unpack(array, i, result[index]);
538
- }
539
- return result;
540
- };
541
- Matrix4.clone = function(matrix, result) {
542
- if (!defined_default(matrix)) {
543
- return void 0;
544
- }
545
- if (!defined_default(result)) {
546
- return new Matrix4(
547
- matrix[0],
548
- matrix[4],
549
- matrix[8],
550
- matrix[12],
551
- matrix[1],
552
- matrix[5],
553
- matrix[9],
554
- matrix[13],
555
- matrix[2],
556
- matrix[6],
557
- matrix[10],
558
- matrix[14],
559
- matrix[3],
560
- matrix[7],
561
- matrix[11],
562
- matrix[15]
563
- );
564
- }
565
- result[0] = matrix[0];
566
- result[1] = matrix[1];
567
- result[2] = matrix[2];
568
- result[3] = matrix[3];
569
- result[4] = matrix[4];
570
- result[5] = matrix[5];
571
- result[6] = matrix[6];
572
- result[7] = matrix[7];
573
- result[8] = matrix[8];
574
- result[9] = matrix[9];
575
- result[10] = matrix[10];
576
- result[11] = matrix[11];
577
- result[12] = matrix[12];
578
- result[13] = matrix[13];
579
- result[14] = matrix[14];
580
- result[15] = matrix[15];
581
- return result;
582
- };
583
- Matrix4.fromArray = Matrix4.unpack;
584
- Matrix4.fromColumnMajorArray = function(values, result) {
585
- Check_default.defined("values", values);
586
- return Matrix4.clone(values, result);
587
- };
588
- Matrix4.fromRowMajorArray = function(values, result) {
589
- Check_default.defined("values", values);
590
- if (!defined_default(result)) {
591
- return new Matrix4(
592
- values[0],
593
- values[1],
594
- values[2],
595
- values[3],
596
- values[4],
597
- values[5],
598
- values[6],
599
- values[7],
600
- values[8],
601
- values[9],
602
- values[10],
603
- values[11],
604
- values[12],
605
- values[13],
606
- values[14],
607
- values[15]
608
- );
609
- }
610
- result[0] = values[0];
611
- result[1] = values[4];
612
- result[2] = values[8];
613
- result[3] = values[12];
614
- result[4] = values[1];
615
- result[5] = values[5];
616
- result[6] = values[9];
617
- result[7] = values[13];
618
- result[8] = values[2];
619
- result[9] = values[6];
620
- result[10] = values[10];
621
- result[11] = values[14];
622
- result[12] = values[3];
623
- result[13] = values[7];
624
- result[14] = values[11];
625
- result[15] = values[15];
626
- return result;
627
- };
628
- Matrix4.fromRotationTranslation = function(rotation, translation, result) {
629
- Check_default.typeOf.object("rotation", rotation);
630
- translation = translation ?? Cartesian3_default.ZERO;
631
- if (!defined_default(result)) {
632
- return new Matrix4(
633
- rotation[0],
634
- rotation[3],
635
- rotation[6],
636
- translation.x,
637
- rotation[1],
638
- rotation[4],
639
- rotation[7],
640
- translation.y,
641
- rotation[2],
642
- rotation[5],
643
- rotation[8],
644
- translation.z,
645
- 0,
646
- 0,
647
- 0,
648
- 1
649
- );
650
- }
651
- result[0] = rotation[0];
652
- result[1] = rotation[1];
653
- result[2] = rotation[2];
654
- result[3] = 0;
655
- result[4] = rotation[3];
656
- result[5] = rotation[4];
657
- result[6] = rotation[5];
658
- result[7] = 0;
659
- result[8] = rotation[6];
660
- result[9] = rotation[7];
661
- result[10] = rotation[8];
662
- result[11] = 0;
663
- result[12] = translation.x;
664
- result[13] = translation.y;
665
- result[14] = translation.z;
666
- result[15] = 1;
667
- return result;
668
- };
669
- Matrix4.fromTranslationQuaternionRotationScale = function(translation, rotation, scale, result) {
670
- Check_default.typeOf.object("translation", translation);
671
- Check_default.typeOf.object("rotation", rotation);
672
- Check_default.typeOf.object("scale", scale);
673
- if (!defined_default(result)) {
674
- result = new Matrix4();
675
- }
676
- const scaleX = scale.x;
677
- const scaleY = scale.y;
678
- const scaleZ = scale.z;
679
- const x2 = rotation.x * rotation.x;
680
- const xy = rotation.x * rotation.y;
681
- const xz = rotation.x * rotation.z;
682
- const xw = rotation.x * rotation.w;
683
- const y2 = rotation.y * rotation.y;
684
- const yz = rotation.y * rotation.z;
685
- const yw = rotation.y * rotation.w;
686
- const z2 = rotation.z * rotation.z;
687
- const zw = rotation.z * rotation.w;
688
- const w2 = rotation.w * rotation.w;
689
- const m00 = x2 - y2 - z2 + w2;
690
- const m01 = 2 * (xy - zw);
691
- const m02 = 2 * (xz + yw);
692
- const m10 = 2 * (xy + zw);
693
- const m11 = -x2 + y2 - z2 + w2;
694
- const m12 = 2 * (yz - xw);
695
- const m20 = 2 * (xz - yw);
696
- const m21 = 2 * (yz + xw);
697
- const m22 = -x2 - y2 + z2 + w2;
698
- result[0] = m00 * scaleX;
699
- result[1] = m10 * scaleX;
700
- result[2] = m20 * scaleX;
701
- result[3] = 0;
702
- result[4] = m01 * scaleY;
703
- result[5] = m11 * scaleY;
704
- result[6] = m21 * scaleY;
705
- result[7] = 0;
706
- result[8] = m02 * scaleZ;
707
- result[9] = m12 * scaleZ;
708
- result[10] = m22 * scaleZ;
709
- result[11] = 0;
710
- result[12] = translation.x;
711
- result[13] = translation.y;
712
- result[14] = translation.z;
713
- result[15] = 1;
714
- return result;
715
- };
716
- Matrix4.fromTranslationRotationScale = function(translationRotationScale, result) {
717
- Check_default.typeOf.object("translationRotationScale", translationRotationScale);
718
- return Matrix4.fromTranslationQuaternionRotationScale(
719
- translationRotationScale.translation,
720
- translationRotationScale.rotation,
721
- translationRotationScale.scale,
722
- result
723
- );
724
- };
725
- Matrix4.fromTranslation = function(translation, result) {
726
- Check_default.typeOf.object("translation", translation);
727
- return Matrix4.fromRotationTranslation(Matrix3_default.IDENTITY, translation, result);
728
- };
729
- Matrix4.fromScale = function(scale, result) {
730
- Check_default.typeOf.object("scale", scale);
731
- if (!defined_default(result)) {
732
- return new Matrix4(
733
- scale.x,
734
- 0,
735
- 0,
736
- 0,
737
- 0,
738
- scale.y,
739
- 0,
740
- 0,
741
- 0,
742
- 0,
743
- scale.z,
744
- 0,
745
- 0,
746
- 0,
747
- 0,
748
- 1
749
- );
750
- }
751
- result[0] = scale.x;
752
- result[1] = 0;
753
- result[2] = 0;
754
- result[3] = 0;
755
- result[4] = 0;
756
- result[5] = scale.y;
757
- result[6] = 0;
758
- result[7] = 0;
759
- result[8] = 0;
760
- result[9] = 0;
761
- result[10] = scale.z;
762
- result[11] = 0;
763
- result[12] = 0;
764
- result[13] = 0;
765
- result[14] = 0;
766
- result[15] = 1;
767
- return result;
768
- };
769
- Matrix4.fromUniformScale = function(scale, result) {
770
- Check_default.typeOf.number("scale", scale);
771
- if (!defined_default(result)) {
772
- return new Matrix4(
773
- scale,
774
- 0,
775
- 0,
776
- 0,
777
- 0,
778
- scale,
779
- 0,
780
- 0,
781
- 0,
782
- 0,
783
- scale,
784
- 0,
785
- 0,
786
- 0,
787
- 0,
788
- 1
789
- );
790
- }
791
- result[0] = scale;
792
- result[1] = 0;
793
- result[2] = 0;
794
- result[3] = 0;
795
- result[4] = 0;
796
- result[5] = scale;
797
- result[6] = 0;
798
- result[7] = 0;
799
- result[8] = 0;
800
- result[9] = 0;
801
- result[10] = scale;
802
- result[11] = 0;
803
- result[12] = 0;
804
- result[13] = 0;
805
- result[14] = 0;
806
- result[15] = 1;
807
- return result;
808
- };
809
- Matrix4.fromRotation = function(rotation, result) {
810
- Check_default.typeOf.object("rotation", rotation);
811
- if (!defined_default(result)) {
812
- result = new Matrix4();
813
- }
814
- result[0] = rotation[0];
815
- result[1] = rotation[1];
816
- result[2] = rotation[2];
817
- result[3] = 0;
818
- result[4] = rotation[3];
819
- result[5] = rotation[4];
820
- result[6] = rotation[5];
821
- result[7] = 0;
822
- result[8] = rotation[6];
823
- result[9] = rotation[7];
824
- result[10] = rotation[8];
825
- result[11] = 0;
826
- result[12] = 0;
827
- result[13] = 0;
828
- result[14] = 0;
829
- result[15] = 1;
830
- return result;
831
- };
832
- var fromCameraF = new Cartesian3_default();
833
- var fromCameraR = new Cartesian3_default();
834
- var fromCameraU = new Cartesian3_default();
835
- Matrix4.fromCamera = function(camera, result) {
836
- Check_default.typeOf.object("camera", camera);
837
- const position = camera.position;
838
- const direction = camera.direction;
839
- const up = camera.up;
840
- Check_default.typeOf.object("camera.position", position);
841
- Check_default.typeOf.object("camera.direction", direction);
842
- Check_default.typeOf.object("camera.up", up);
843
- Cartesian3_default.normalize(direction, fromCameraF);
844
- Cartesian3_default.normalize(
845
- Cartesian3_default.cross(fromCameraF, up, fromCameraR),
846
- fromCameraR
847
- );
848
- Cartesian3_default.normalize(
849
- Cartesian3_default.cross(fromCameraR, fromCameraF, fromCameraU),
850
- fromCameraU
851
- );
852
- const sX = fromCameraR.x;
853
- const sY = fromCameraR.y;
854
- const sZ = fromCameraR.z;
855
- const fX = fromCameraF.x;
856
- const fY = fromCameraF.y;
857
- const fZ = fromCameraF.z;
858
- const uX = fromCameraU.x;
859
- const uY = fromCameraU.y;
860
- const uZ = fromCameraU.z;
861
- const positionX = position.x;
862
- const positionY = position.y;
863
- const positionZ = position.z;
864
- const t0 = sX * -positionX + sY * -positionY + sZ * -positionZ;
865
- const t1 = uX * -positionX + uY * -positionY + uZ * -positionZ;
866
- const t2 = fX * positionX + fY * positionY + fZ * positionZ;
867
- if (!defined_default(result)) {
868
- return new Matrix4(
869
- sX,
870
- sY,
871
- sZ,
872
- t0,
873
- uX,
874
- uY,
875
- uZ,
876
- t1,
877
- -fX,
878
- -fY,
879
- -fZ,
880
- t2,
881
- 0,
882
- 0,
883
- 0,
884
- 1
885
- );
886
- }
887
- result[0] = sX;
888
- result[1] = uX;
889
- result[2] = -fX;
890
- result[3] = 0;
891
- result[4] = sY;
892
- result[5] = uY;
893
- result[6] = -fY;
894
- result[7] = 0;
895
- result[8] = sZ;
896
- result[9] = uZ;
897
- result[10] = -fZ;
898
- result[11] = 0;
899
- result[12] = t0;
900
- result[13] = t1;
901
- result[14] = t2;
902
- result[15] = 1;
903
- return result;
904
- };
905
- Matrix4.computePerspectiveFieldOfView = function(fovY, aspectRatio, near, far, result) {
906
- Check_default.typeOf.number.greaterThan("fovY", fovY, 0);
907
- Check_default.typeOf.number.lessThan("fovY", fovY, Math.PI);
908
- Check_default.typeOf.number.greaterThan("near", near, 0);
909
- Check_default.typeOf.number.greaterThan("far", far, 0);
910
- Check_default.typeOf.object("result", result);
911
- const bottom = Math.tan(fovY * 0.5);
912
- const column1Row1 = 1 / bottom;
913
- const column0Row0 = column1Row1 / aspectRatio;
914
- const column2Row2 = (far + near) / (near - far);
915
- const column3Row2 = 2 * far * near / (near - far);
916
- result[0] = column0Row0;
917
- result[1] = 0;
918
- result[2] = 0;
919
- result[3] = 0;
920
- result[4] = 0;
921
- result[5] = column1Row1;
922
- result[6] = 0;
923
- result[7] = 0;
924
- result[8] = 0;
925
- result[9] = 0;
926
- result[10] = column2Row2;
927
- result[11] = -1;
928
- result[12] = 0;
929
- result[13] = 0;
930
- result[14] = column3Row2;
931
- result[15] = 0;
932
- return result;
933
- };
934
- Matrix4.computeOrthographicOffCenter = function(left, right, bottom, top, near, far, result) {
935
- Check_default.typeOf.number("left", left);
936
- Check_default.typeOf.number("right", right);
937
- Check_default.typeOf.number("bottom", bottom);
938
- Check_default.typeOf.number("top", top);
939
- Check_default.typeOf.number("near", near);
940
- Check_default.typeOf.number("far", far);
941
- Check_default.typeOf.object("result", result);
942
- let a = 1 / (right - left);
943
- let b = 1 / (top - bottom);
944
- let c = 1 / (far - near);
945
- const tx = -(right + left) * a;
946
- const ty = -(top + bottom) * b;
947
- const tz = -(far + near) * c;
948
- a *= 2;
949
- b *= 2;
950
- c *= -2;
951
- result[0] = a;
952
- result[1] = 0;
953
- result[2] = 0;
954
- result[3] = 0;
955
- result[4] = 0;
956
- result[5] = b;
957
- result[6] = 0;
958
- result[7] = 0;
959
- result[8] = 0;
960
- result[9] = 0;
961
- result[10] = c;
962
- result[11] = 0;
963
- result[12] = tx;
964
- result[13] = ty;
965
- result[14] = tz;
966
- result[15] = 1;
967
- return result;
968
- };
969
- Matrix4.computePerspectiveOffCenter = function(left, right, bottom, top, near, far, result) {
970
- Check_default.typeOf.number("left", left);
971
- Check_default.typeOf.number("right", right);
972
- Check_default.typeOf.number("bottom", bottom);
973
- Check_default.typeOf.number("top", top);
974
- Check_default.typeOf.number("near", near);
975
- Check_default.typeOf.number("far", far);
976
- Check_default.typeOf.object("result", result);
977
- const column0Row0 = 2 * near / (right - left);
978
- const column1Row1 = 2 * near / (top - bottom);
979
- const column2Row0 = (right + left) / (right - left);
980
- const column2Row1 = (top + bottom) / (top - bottom);
981
- const column2Row2 = -(far + near) / (far - near);
982
- const column2Row3 = -1;
983
- const column3Row2 = -2 * far * near / (far - near);
984
- result[0] = column0Row0;
985
- result[1] = 0;
986
- result[2] = 0;
987
- result[3] = 0;
988
- result[4] = 0;
989
- result[5] = column1Row1;
990
- result[6] = 0;
991
- result[7] = 0;
992
- result[8] = column2Row0;
993
- result[9] = column2Row1;
994
- result[10] = column2Row2;
995
- result[11] = column2Row3;
996
- result[12] = 0;
997
- result[13] = 0;
998
- result[14] = column3Row2;
999
- result[15] = 0;
1000
- return result;
1001
- };
1002
- Matrix4.computeInfinitePerspectiveOffCenter = function(left, right, bottom, top, near, result) {
1003
- Check_default.typeOf.number("left", left);
1004
- Check_default.typeOf.number("right", right);
1005
- Check_default.typeOf.number("bottom", bottom);
1006
- Check_default.typeOf.number("top", top);
1007
- Check_default.typeOf.number("near", near);
1008
- Check_default.typeOf.object("result", result);
1009
- const column0Row0 = 2 * near / (right - left);
1010
- const column1Row1 = 2 * near / (top - bottom);
1011
- const column2Row0 = (right + left) / (right - left);
1012
- const column2Row1 = (top + bottom) / (top - bottom);
1013
- const column2Row2 = -1;
1014
- const column2Row3 = -1;
1015
- const column3Row2 = -2 * near;
1016
- result[0] = column0Row0;
1017
- result[1] = 0;
1018
- result[2] = 0;
1019
- result[3] = 0;
1020
- result[4] = 0;
1021
- result[5] = column1Row1;
1022
- result[6] = 0;
1023
- result[7] = 0;
1024
- result[8] = column2Row0;
1025
- result[9] = column2Row1;
1026
- result[10] = column2Row2;
1027
- result[11] = column2Row3;
1028
- result[12] = 0;
1029
- result[13] = 0;
1030
- result[14] = column3Row2;
1031
- result[15] = 0;
1032
- return result;
1033
- };
1034
- Matrix4.computeViewportTransformation = function(viewport, nearDepthRange, farDepthRange, result) {
1035
- if (!defined_default(result)) {
1036
- result = new Matrix4();
1037
- }
1038
- viewport = viewport ?? Frozen_default.EMPTY_OBJECT;
1039
- const x = viewport.x ?? 0;
1040
- const y = viewport.y ?? 0;
1041
- const width = viewport.width ?? 0;
1042
- const height = viewport.height ?? 0;
1043
- nearDepthRange = nearDepthRange ?? 0;
1044
- farDepthRange = farDepthRange ?? 1;
1045
- const halfWidth = width * 0.5;
1046
- const halfHeight = height * 0.5;
1047
- const halfDepth = (farDepthRange - nearDepthRange) * 0.5;
1048
- const column0Row0 = halfWidth;
1049
- const column1Row1 = halfHeight;
1050
- const column2Row2 = halfDepth;
1051
- const column3Row0 = x + halfWidth;
1052
- const column3Row1 = y + halfHeight;
1053
- const column3Row2 = nearDepthRange + halfDepth;
1054
- const column3Row3 = 1;
1055
- result[0] = column0Row0;
1056
- result[1] = 0;
1057
- result[2] = 0;
1058
- result[3] = 0;
1059
- result[4] = 0;
1060
- result[5] = column1Row1;
1061
- result[6] = 0;
1062
- result[7] = 0;
1063
- result[8] = 0;
1064
- result[9] = 0;
1065
- result[10] = column2Row2;
1066
- result[11] = 0;
1067
- result[12] = column3Row0;
1068
- result[13] = column3Row1;
1069
- result[14] = column3Row2;
1070
- result[15] = column3Row3;
1071
- return result;
1072
- };
1073
- Matrix4.computeView = function(position, direction, up, right, result) {
1074
- Check_default.typeOf.object("position", position);
1075
- Check_default.typeOf.object("direction", direction);
1076
- Check_default.typeOf.object("up", up);
1077
- Check_default.typeOf.object("right", right);
1078
- Check_default.typeOf.object("result", result);
1079
- result[0] = right.x;
1080
- result[1] = up.x;
1081
- result[2] = -direction.x;
1082
- result[3] = 0;
1083
- result[4] = right.y;
1084
- result[5] = up.y;
1085
- result[6] = -direction.y;
1086
- result[7] = 0;
1087
- result[8] = right.z;
1088
- result[9] = up.z;
1089
- result[10] = -direction.z;
1090
- result[11] = 0;
1091
- result[12] = -Cartesian3_default.dot(right, position);
1092
- result[13] = -Cartesian3_default.dot(up, position);
1093
- result[14] = Cartesian3_default.dot(direction, position);
1094
- result[15] = 1;
1095
- return result;
1096
- };
1097
- Matrix4.toArray = function(matrix, result) {
1098
- Check_default.typeOf.object("matrix", matrix);
1099
- if (!defined_default(result)) {
1100
- return [
1101
- matrix[0],
1102
- matrix[1],
1103
- matrix[2],
1104
- matrix[3],
1105
- matrix[4],
1106
- matrix[5],
1107
- matrix[6],
1108
- matrix[7],
1109
- matrix[8],
1110
- matrix[9],
1111
- matrix[10],
1112
- matrix[11],
1113
- matrix[12],
1114
- matrix[13],
1115
- matrix[14],
1116
- matrix[15]
1117
- ];
1118
- }
1119
- result[0] = matrix[0];
1120
- result[1] = matrix[1];
1121
- result[2] = matrix[2];
1122
- result[3] = matrix[3];
1123
- result[4] = matrix[4];
1124
- result[5] = matrix[5];
1125
- result[6] = matrix[6];
1126
- result[7] = matrix[7];
1127
- result[8] = matrix[8];
1128
- result[9] = matrix[9];
1129
- result[10] = matrix[10];
1130
- result[11] = matrix[11];
1131
- result[12] = matrix[12];
1132
- result[13] = matrix[13];
1133
- result[14] = matrix[14];
1134
- result[15] = matrix[15];
1135
- return result;
1136
- };
1137
- Matrix4.getElementIndex = function(column, row) {
1138
- Check_default.typeOf.number.greaterThanOrEquals("row", row, 0);
1139
- Check_default.typeOf.number.lessThanOrEquals("row", row, 3);
1140
- Check_default.typeOf.number.greaterThanOrEquals("column", column, 0);
1141
- Check_default.typeOf.number.lessThanOrEquals("column", column, 3);
1142
- return column * 4 + row;
1143
- };
1144
- Matrix4.getColumn = function(matrix, index, result) {
1145
- Check_default.typeOf.object("matrix", matrix);
1146
- Check_default.typeOf.number.greaterThanOrEquals("index", index, 0);
1147
- Check_default.typeOf.number.lessThanOrEquals("index", index, 3);
1148
- Check_default.typeOf.object("result", result);
1149
- const startIndex = index * 4;
1150
- const x = matrix[startIndex];
1151
- const y = matrix[startIndex + 1];
1152
- const z = matrix[startIndex + 2];
1153
- const w = matrix[startIndex + 3];
1154
- result.x = x;
1155
- result.y = y;
1156
- result.z = z;
1157
- result.w = w;
1158
- return result;
1159
- };
1160
- Matrix4.setColumn = function(matrix, index, cartesian, result) {
1161
- Check_default.typeOf.object("matrix", matrix);
1162
- Check_default.typeOf.number.greaterThanOrEquals("index", index, 0);
1163
- Check_default.typeOf.number.lessThanOrEquals("index", index, 3);
1164
- Check_default.typeOf.object("cartesian", cartesian);
1165
- Check_default.typeOf.object("result", result);
1166
- result = Matrix4.clone(matrix, result);
1167
- const startIndex = index * 4;
1168
- result[startIndex] = cartesian.x;
1169
- result[startIndex + 1] = cartesian.y;
1170
- result[startIndex + 2] = cartesian.z;
1171
- result[startIndex + 3] = cartesian.w;
1172
- return result;
1173
- };
1174
- Matrix4.getRow = function(matrix, index, result) {
1175
- Check_default.typeOf.object("matrix", matrix);
1176
- Check_default.typeOf.number.greaterThanOrEquals("index", index, 0);
1177
- Check_default.typeOf.number.lessThanOrEquals("index", index, 3);
1178
- Check_default.typeOf.object("result", result);
1179
- const x = matrix[index];
1180
- const y = matrix[index + 4];
1181
- const z = matrix[index + 8];
1182
- const w = matrix[index + 12];
1183
- result.x = x;
1184
- result.y = y;
1185
- result.z = z;
1186
- result.w = w;
1187
- return result;
1188
- };
1189
- Matrix4.setRow = function(matrix, index, cartesian, result) {
1190
- Check_default.typeOf.object("matrix", matrix);
1191
- Check_default.typeOf.number.greaterThanOrEquals("index", index, 0);
1192
- Check_default.typeOf.number.lessThanOrEquals("index", index, 3);
1193
- Check_default.typeOf.object("cartesian", cartesian);
1194
- Check_default.typeOf.object("result", result);
1195
- result = Matrix4.clone(matrix, result);
1196
- result[index] = cartesian.x;
1197
- result[index + 4] = cartesian.y;
1198
- result[index + 8] = cartesian.z;
1199
- result[index + 12] = cartesian.w;
1200
- return result;
1201
- };
1202
- Matrix4.setTranslation = function(matrix, translation, result) {
1203
- Check_default.typeOf.object("matrix", matrix);
1204
- Check_default.typeOf.object("translation", translation);
1205
- Check_default.typeOf.object("result", result);
1206
- result[0] = matrix[0];
1207
- result[1] = matrix[1];
1208
- result[2] = matrix[2];
1209
- result[3] = matrix[3];
1210
- result[4] = matrix[4];
1211
- result[5] = matrix[5];
1212
- result[6] = matrix[6];
1213
- result[7] = matrix[7];
1214
- result[8] = matrix[8];
1215
- result[9] = matrix[9];
1216
- result[10] = matrix[10];
1217
- result[11] = matrix[11];
1218
- result[12] = translation.x;
1219
- result[13] = translation.y;
1220
- result[14] = translation.z;
1221
- result[15] = matrix[15];
1222
- return result;
1223
- };
1224
- var scaleScratch1 = new Cartesian3_default();
1225
- Matrix4.setScale = function(matrix, scale, result) {
1226
- Check_default.typeOf.object("matrix", matrix);
1227
- Check_default.typeOf.object("scale", scale);
1228
- Check_default.typeOf.object("result", result);
1229
- const existingScale = Matrix4.getScale(matrix, scaleScratch1);
1230
- const scaleRatioX = scale.x / existingScale.x;
1231
- const scaleRatioY = scale.y / existingScale.y;
1232
- const scaleRatioZ = scale.z / existingScale.z;
1233
- result[0] = matrix[0] * scaleRatioX;
1234
- result[1] = matrix[1] * scaleRatioX;
1235
- result[2] = matrix[2] * scaleRatioX;
1236
- result[3] = matrix[3];
1237
- result[4] = matrix[4] * scaleRatioY;
1238
- result[5] = matrix[5] * scaleRatioY;
1239
- result[6] = matrix[6] * scaleRatioY;
1240
- result[7] = matrix[7];
1241
- result[8] = matrix[8] * scaleRatioZ;
1242
- result[9] = matrix[9] * scaleRatioZ;
1243
- result[10] = matrix[10] * scaleRatioZ;
1244
- result[11] = matrix[11];
1245
- result[12] = matrix[12];
1246
- result[13] = matrix[13];
1247
- result[14] = matrix[14];
1248
- result[15] = matrix[15];
1249
- return result;
1250
- };
1251
- var scaleScratch2 = new Cartesian3_default();
1252
- Matrix4.setUniformScale = function(matrix, scale, result) {
1253
- Check_default.typeOf.object("matrix", matrix);
1254
- Check_default.typeOf.number("scale", scale);
1255
- Check_default.typeOf.object("result", result);
1256
- const existingScale = Matrix4.getScale(matrix, scaleScratch2);
1257
- const scaleRatioX = scale / existingScale.x;
1258
- const scaleRatioY = scale / existingScale.y;
1259
- const scaleRatioZ = scale / existingScale.z;
1260
- result[0] = matrix[0] * scaleRatioX;
1261
- result[1] = matrix[1] * scaleRatioX;
1262
- result[2] = matrix[2] * scaleRatioX;
1263
- result[3] = matrix[3];
1264
- result[4] = matrix[4] * scaleRatioY;
1265
- result[5] = matrix[5] * scaleRatioY;
1266
- result[6] = matrix[6] * scaleRatioY;
1267
- result[7] = matrix[7];
1268
- result[8] = matrix[8] * scaleRatioZ;
1269
- result[9] = matrix[9] * scaleRatioZ;
1270
- result[10] = matrix[10] * scaleRatioZ;
1271
- result[11] = matrix[11];
1272
- result[12] = matrix[12];
1273
- result[13] = matrix[13];
1274
- result[14] = matrix[14];
1275
- result[15] = matrix[15];
1276
- return result;
1277
- };
1278
- var scratchColumn = new Cartesian3_default();
1279
- Matrix4.getScale = function(matrix, result) {
1280
- Check_default.typeOf.object("matrix", matrix);
1281
- Check_default.typeOf.object("result", result);
1282
- result.x = Cartesian3_default.magnitude(
1283
- Cartesian3_default.fromElements(matrix[0], matrix[1], matrix[2], scratchColumn)
1284
- );
1285
- result.y = Cartesian3_default.magnitude(
1286
- Cartesian3_default.fromElements(matrix[4], matrix[5], matrix[6], scratchColumn)
1287
- );
1288
- result.z = Cartesian3_default.magnitude(
1289
- Cartesian3_default.fromElements(matrix[8], matrix[9], matrix[10], scratchColumn)
1290
- );
1291
- return result;
1292
- };
1293
- var scaleScratch3 = new Cartesian3_default();
1294
- Matrix4.getMaximumScale = function(matrix) {
1295
- Matrix4.getScale(matrix, scaleScratch3);
1296
- return Cartesian3_default.maximumComponent(scaleScratch3);
1297
- };
1298
- var scaleScratch4 = new Cartesian3_default();
1299
- Matrix4.setRotation = function(matrix, rotation, result) {
1300
- Check_default.typeOf.object("matrix", matrix);
1301
- Check_default.typeOf.object("result", result);
1302
- const scale = Matrix4.getScale(matrix, scaleScratch4);
1303
- result[0] = rotation[0] * scale.x;
1304
- result[1] = rotation[1] * scale.x;
1305
- result[2] = rotation[2] * scale.x;
1306
- result[3] = matrix[3];
1307
- result[4] = rotation[3] * scale.y;
1308
- result[5] = rotation[4] * scale.y;
1309
- result[6] = rotation[5] * scale.y;
1310
- result[7] = matrix[7];
1311
- result[8] = rotation[6] * scale.z;
1312
- result[9] = rotation[7] * scale.z;
1313
- result[10] = rotation[8] * scale.z;
1314
- result[11] = matrix[11];
1315
- result[12] = matrix[12];
1316
- result[13] = matrix[13];
1317
- result[14] = matrix[14];
1318
- result[15] = matrix[15];
1319
- return result;
1320
- };
1321
- var scaleScratch5 = new Cartesian3_default();
1322
- Matrix4.getRotation = function(matrix, result) {
1323
- Check_default.typeOf.object("matrix", matrix);
1324
- Check_default.typeOf.object("result", result);
1325
- const scale = Matrix4.getScale(matrix, scaleScratch5);
1326
- result[0] = matrix[0] / scale.x;
1327
- result[1] = matrix[1] / scale.x;
1328
- result[2] = matrix[2] / scale.x;
1329
- result[3] = matrix[4] / scale.y;
1330
- result[4] = matrix[5] / scale.y;
1331
- result[5] = matrix[6] / scale.y;
1332
- result[6] = matrix[8] / scale.z;
1333
- result[7] = matrix[9] / scale.z;
1334
- result[8] = matrix[10] / scale.z;
1335
- return result;
1336
- };
1337
- Matrix4.multiply = function(left, right, result) {
1338
- Check_default.typeOf.object("left", left);
1339
- Check_default.typeOf.object("right", right);
1340
- Check_default.typeOf.object("result", result);
1341
- const left0 = left[0];
1342
- const left1 = left[1];
1343
- const left2 = left[2];
1344
- const left3 = left[3];
1345
- const left4 = left[4];
1346
- const left5 = left[5];
1347
- const left6 = left[6];
1348
- const left7 = left[7];
1349
- const left8 = left[8];
1350
- const left9 = left[9];
1351
- const left10 = left[10];
1352
- const left11 = left[11];
1353
- const left12 = left[12];
1354
- const left13 = left[13];
1355
- const left14 = left[14];
1356
- const left15 = left[15];
1357
- const right0 = right[0];
1358
- const right1 = right[1];
1359
- const right2 = right[2];
1360
- const right3 = right[3];
1361
- const right4 = right[4];
1362
- const right5 = right[5];
1363
- const right6 = right[6];
1364
- const right7 = right[7];
1365
- const right8 = right[8];
1366
- const right9 = right[9];
1367
- const right10 = right[10];
1368
- const right11 = right[11];
1369
- const right12 = right[12];
1370
- const right13 = right[13];
1371
- const right14 = right[14];
1372
- const right15 = right[15];
1373
- const column0Row0 = left0 * right0 + left4 * right1 + left8 * right2 + left12 * right3;
1374
- const column0Row1 = left1 * right0 + left5 * right1 + left9 * right2 + left13 * right3;
1375
- const column0Row2 = left2 * right0 + left6 * right1 + left10 * right2 + left14 * right3;
1376
- const column0Row3 = left3 * right0 + left7 * right1 + left11 * right2 + left15 * right3;
1377
- const column1Row0 = left0 * right4 + left4 * right5 + left8 * right6 + left12 * right7;
1378
- const column1Row1 = left1 * right4 + left5 * right5 + left9 * right6 + left13 * right7;
1379
- const column1Row2 = left2 * right4 + left6 * right5 + left10 * right6 + left14 * right7;
1380
- const column1Row3 = left3 * right4 + left7 * right5 + left11 * right6 + left15 * right7;
1381
- const column2Row0 = left0 * right8 + left4 * right9 + left8 * right10 + left12 * right11;
1382
- const column2Row1 = left1 * right8 + left5 * right9 + left9 * right10 + left13 * right11;
1383
- const column2Row2 = left2 * right8 + left6 * right9 + left10 * right10 + left14 * right11;
1384
- const column2Row3 = left3 * right8 + left7 * right9 + left11 * right10 + left15 * right11;
1385
- const column3Row0 = left0 * right12 + left4 * right13 + left8 * right14 + left12 * right15;
1386
- const column3Row1 = left1 * right12 + left5 * right13 + left9 * right14 + left13 * right15;
1387
- const column3Row2 = left2 * right12 + left6 * right13 + left10 * right14 + left14 * right15;
1388
- const column3Row3 = left3 * right12 + left7 * right13 + left11 * right14 + left15 * right15;
1389
- result[0] = column0Row0;
1390
- result[1] = column0Row1;
1391
- result[2] = column0Row2;
1392
- result[3] = column0Row3;
1393
- result[4] = column1Row0;
1394
- result[5] = column1Row1;
1395
- result[6] = column1Row2;
1396
- result[7] = column1Row3;
1397
- result[8] = column2Row0;
1398
- result[9] = column2Row1;
1399
- result[10] = column2Row2;
1400
- result[11] = column2Row3;
1401
- result[12] = column3Row0;
1402
- result[13] = column3Row1;
1403
- result[14] = column3Row2;
1404
- result[15] = column3Row3;
1405
- return result;
1406
- };
1407
- Matrix4.add = function(left, right, result) {
1408
- Check_default.typeOf.object("left", left);
1409
- Check_default.typeOf.object("right", right);
1410
- Check_default.typeOf.object("result", result);
1411
- result[0] = left[0] + right[0];
1412
- result[1] = left[1] + right[1];
1413
- result[2] = left[2] + right[2];
1414
- result[3] = left[3] + right[3];
1415
- result[4] = left[4] + right[4];
1416
- result[5] = left[5] + right[5];
1417
- result[6] = left[6] + right[6];
1418
- result[7] = left[7] + right[7];
1419
- result[8] = left[8] + right[8];
1420
- result[9] = left[9] + right[9];
1421
- result[10] = left[10] + right[10];
1422
- result[11] = left[11] + right[11];
1423
- result[12] = left[12] + right[12];
1424
- result[13] = left[13] + right[13];
1425
- result[14] = left[14] + right[14];
1426
- result[15] = left[15] + right[15];
1427
- return result;
1428
- };
1429
- Matrix4.subtract = function(left, right, result) {
1430
- Check_default.typeOf.object("left", left);
1431
- Check_default.typeOf.object("right", right);
1432
- Check_default.typeOf.object("result", result);
1433
- result[0] = left[0] - right[0];
1434
- result[1] = left[1] - right[1];
1435
- result[2] = left[2] - right[2];
1436
- result[3] = left[3] - right[3];
1437
- result[4] = left[4] - right[4];
1438
- result[5] = left[5] - right[5];
1439
- result[6] = left[6] - right[6];
1440
- result[7] = left[7] - right[7];
1441
- result[8] = left[8] - right[8];
1442
- result[9] = left[9] - right[9];
1443
- result[10] = left[10] - right[10];
1444
- result[11] = left[11] - right[11];
1445
- result[12] = left[12] - right[12];
1446
- result[13] = left[13] - right[13];
1447
- result[14] = left[14] - right[14];
1448
- result[15] = left[15] - right[15];
1449
- return result;
1450
- };
1451
- Matrix4.multiplyTransformation = function(left, right, result) {
1452
- Check_default.typeOf.object("left", left);
1453
- Check_default.typeOf.object("right", right);
1454
- Check_default.typeOf.object("result", result);
1455
- const left0 = left[0];
1456
- const left1 = left[1];
1457
- const left2 = left[2];
1458
- const left4 = left[4];
1459
- const left5 = left[5];
1460
- const left6 = left[6];
1461
- const left8 = left[8];
1462
- const left9 = left[9];
1463
- const left10 = left[10];
1464
- const left12 = left[12];
1465
- const left13 = left[13];
1466
- const left14 = left[14];
1467
- const right0 = right[0];
1468
- const right1 = right[1];
1469
- const right2 = right[2];
1470
- const right4 = right[4];
1471
- const right5 = right[5];
1472
- const right6 = right[6];
1473
- const right8 = right[8];
1474
- const right9 = right[9];
1475
- const right10 = right[10];
1476
- const right12 = right[12];
1477
- const right13 = right[13];
1478
- const right14 = right[14];
1479
- const column0Row0 = left0 * right0 + left4 * right1 + left8 * right2;
1480
- const column0Row1 = left1 * right0 + left5 * right1 + left9 * right2;
1481
- const column0Row2 = left2 * right0 + left6 * right1 + left10 * right2;
1482
- const column1Row0 = left0 * right4 + left4 * right5 + left8 * right6;
1483
- const column1Row1 = left1 * right4 + left5 * right5 + left9 * right6;
1484
- const column1Row2 = left2 * right4 + left6 * right5 + left10 * right6;
1485
- const column2Row0 = left0 * right8 + left4 * right9 + left8 * right10;
1486
- const column2Row1 = left1 * right8 + left5 * right9 + left9 * right10;
1487
- const column2Row2 = left2 * right8 + left6 * right9 + left10 * right10;
1488
- const column3Row0 = left0 * right12 + left4 * right13 + left8 * right14 + left12;
1489
- const column3Row1 = left1 * right12 + left5 * right13 + left9 * right14 + left13;
1490
- const column3Row2 = left2 * right12 + left6 * right13 + left10 * right14 + left14;
1491
- result[0] = column0Row0;
1492
- result[1] = column0Row1;
1493
- result[2] = column0Row2;
1494
- result[3] = 0;
1495
- result[4] = column1Row0;
1496
- result[5] = column1Row1;
1497
- result[6] = column1Row2;
1498
- result[7] = 0;
1499
- result[8] = column2Row0;
1500
- result[9] = column2Row1;
1501
- result[10] = column2Row2;
1502
- result[11] = 0;
1503
- result[12] = column3Row0;
1504
- result[13] = column3Row1;
1505
- result[14] = column3Row2;
1506
- result[15] = 1;
1507
- return result;
1508
- };
1509
- Matrix4.multiplyByMatrix3 = function(matrix, rotation, result) {
1510
- Check_default.typeOf.object("matrix", matrix);
1511
- Check_default.typeOf.object("rotation", rotation);
1512
- Check_default.typeOf.object("result", result);
1513
- const left0 = matrix[0];
1514
- const left1 = matrix[1];
1515
- const left2 = matrix[2];
1516
- const left4 = matrix[4];
1517
- const left5 = matrix[5];
1518
- const left6 = matrix[6];
1519
- const left8 = matrix[8];
1520
- const left9 = matrix[9];
1521
- const left10 = matrix[10];
1522
- const right0 = rotation[0];
1523
- const right1 = rotation[1];
1524
- const right2 = rotation[2];
1525
- const right4 = rotation[3];
1526
- const right5 = rotation[4];
1527
- const right6 = rotation[5];
1528
- const right8 = rotation[6];
1529
- const right9 = rotation[7];
1530
- const right10 = rotation[8];
1531
- const column0Row0 = left0 * right0 + left4 * right1 + left8 * right2;
1532
- const column0Row1 = left1 * right0 + left5 * right1 + left9 * right2;
1533
- const column0Row2 = left2 * right0 + left6 * right1 + left10 * right2;
1534
- const column1Row0 = left0 * right4 + left4 * right5 + left8 * right6;
1535
- const column1Row1 = left1 * right4 + left5 * right5 + left9 * right6;
1536
- const column1Row2 = left2 * right4 + left6 * right5 + left10 * right6;
1537
- const column2Row0 = left0 * right8 + left4 * right9 + left8 * right10;
1538
- const column2Row1 = left1 * right8 + left5 * right9 + left9 * right10;
1539
- const column2Row2 = left2 * right8 + left6 * right9 + left10 * right10;
1540
- result[0] = column0Row0;
1541
- result[1] = column0Row1;
1542
- result[2] = column0Row2;
1543
- result[3] = 0;
1544
- result[4] = column1Row0;
1545
- result[5] = column1Row1;
1546
- result[6] = column1Row2;
1547
- result[7] = 0;
1548
- result[8] = column2Row0;
1549
- result[9] = column2Row1;
1550
- result[10] = column2Row2;
1551
- result[11] = 0;
1552
- result[12] = matrix[12];
1553
- result[13] = matrix[13];
1554
- result[14] = matrix[14];
1555
- result[15] = matrix[15];
1556
- return result;
1557
- };
1558
- Matrix4.multiplyByTranslation = function(matrix, translation, result) {
1559
- Check_default.typeOf.object("matrix", matrix);
1560
- Check_default.typeOf.object("translation", translation);
1561
- Check_default.typeOf.object("result", result);
1562
- const x = translation.x;
1563
- const y = translation.y;
1564
- const z = translation.z;
1565
- const tx = x * matrix[0] + y * matrix[4] + z * matrix[8] + matrix[12];
1566
- const ty = x * matrix[1] + y * matrix[5] + z * matrix[9] + matrix[13];
1567
- const tz = x * matrix[2] + y * matrix[6] + z * matrix[10] + matrix[14];
1568
- result[0] = matrix[0];
1569
- result[1] = matrix[1];
1570
- result[2] = matrix[2];
1571
- result[3] = matrix[3];
1572
- result[4] = matrix[4];
1573
- result[5] = matrix[5];
1574
- result[6] = matrix[6];
1575
- result[7] = matrix[7];
1576
- result[8] = matrix[8];
1577
- result[9] = matrix[9];
1578
- result[10] = matrix[10];
1579
- result[11] = matrix[11];
1580
- result[12] = tx;
1581
- result[13] = ty;
1582
- result[14] = tz;
1583
- result[15] = matrix[15];
1584
- return result;
1585
- };
1586
- Matrix4.multiplyByScale = function(matrix, scale, result) {
1587
- Check_default.typeOf.object("matrix", matrix);
1588
- Check_default.typeOf.object("scale", scale);
1589
- Check_default.typeOf.object("result", result);
1590
- const scaleX = scale.x;
1591
- const scaleY = scale.y;
1592
- const scaleZ = scale.z;
1593
- if (scaleX === 1 && scaleY === 1 && scaleZ === 1) {
1594
- return Matrix4.clone(matrix, result);
1595
- }
1596
- result[0] = scaleX * matrix[0];
1597
- result[1] = scaleX * matrix[1];
1598
- result[2] = scaleX * matrix[2];
1599
- result[3] = matrix[3];
1600
- result[4] = scaleY * matrix[4];
1601
- result[5] = scaleY * matrix[5];
1602
- result[6] = scaleY * matrix[6];
1603
- result[7] = matrix[7];
1604
- result[8] = scaleZ * matrix[8];
1605
- result[9] = scaleZ * matrix[9];
1606
- result[10] = scaleZ * matrix[10];
1607
- result[11] = matrix[11];
1608
- result[12] = matrix[12];
1609
- result[13] = matrix[13];
1610
- result[14] = matrix[14];
1611
- result[15] = matrix[15];
1612
- return result;
1613
- };
1614
- Matrix4.multiplyByUniformScale = function(matrix, scale, result) {
1615
- Check_default.typeOf.object("matrix", matrix);
1616
- Check_default.typeOf.number("scale", scale);
1617
- Check_default.typeOf.object("result", result);
1618
- result[0] = matrix[0] * scale;
1619
- result[1] = matrix[1] * scale;
1620
- result[2] = matrix[2] * scale;
1621
- result[3] = matrix[3];
1622
- result[4] = matrix[4] * scale;
1623
- result[5] = matrix[5] * scale;
1624
- result[6] = matrix[6] * scale;
1625
- result[7] = matrix[7];
1626
- result[8] = matrix[8] * scale;
1627
- result[9] = matrix[9] * scale;
1628
- result[10] = matrix[10] * scale;
1629
- result[11] = matrix[11];
1630
- result[12] = matrix[12];
1631
- result[13] = matrix[13];
1632
- result[14] = matrix[14];
1633
- result[15] = matrix[15];
1634
- return result;
1635
- };
1636
- Matrix4.multiplyByVector = function(matrix, cartesian, result) {
1637
- Check_default.typeOf.object("matrix", matrix);
1638
- Check_default.typeOf.object("cartesian", cartesian);
1639
- Check_default.typeOf.object("result", result);
1640
- const vX = cartesian.x;
1641
- const vY = cartesian.y;
1642
- const vZ = cartesian.z;
1643
- const vW = cartesian.w;
1644
- const x = matrix[0] * vX + matrix[4] * vY + matrix[8] * vZ + matrix[12] * vW;
1645
- const y = matrix[1] * vX + matrix[5] * vY + matrix[9] * vZ + matrix[13] * vW;
1646
- const z = matrix[2] * vX + matrix[6] * vY + matrix[10] * vZ + matrix[14] * vW;
1647
- const w = matrix[3] * vX + matrix[7] * vY + matrix[11] * vZ + matrix[15] * vW;
1648
- result.x = x;
1649
- result.y = y;
1650
- result.z = z;
1651
- result.w = w;
1652
- return result;
1653
- };
1654
- Matrix4.multiplyByPointAsVector = function(matrix, cartesian, result) {
1655
- Check_default.typeOf.object("matrix", matrix);
1656
- Check_default.typeOf.object("cartesian", cartesian);
1657
- Check_default.typeOf.object("result", result);
1658
- const vX = cartesian.x;
1659
- const vY = cartesian.y;
1660
- const vZ = cartesian.z;
1661
- const x = matrix[0] * vX + matrix[4] * vY + matrix[8] * vZ;
1662
- const y = matrix[1] * vX + matrix[5] * vY + matrix[9] * vZ;
1663
- const z = matrix[2] * vX + matrix[6] * vY + matrix[10] * vZ;
1664
- result.x = x;
1665
- result.y = y;
1666
- result.z = z;
1667
- return result;
1668
- };
1669
- Matrix4.multiplyByPoint = function(matrix, cartesian, result) {
1670
- Check_default.typeOf.object("matrix", matrix);
1671
- Check_default.typeOf.object("cartesian", cartesian);
1672
- Check_default.typeOf.object("result", result);
1673
- const vX = cartesian.x;
1674
- const vY = cartesian.y;
1675
- const vZ = cartesian.z;
1676
- const x = matrix[0] * vX + matrix[4] * vY + matrix[8] * vZ + matrix[12];
1677
- const y = matrix[1] * vX + matrix[5] * vY + matrix[9] * vZ + matrix[13];
1678
- const z = matrix[2] * vX + matrix[6] * vY + matrix[10] * vZ + matrix[14];
1679
- result.x = x;
1680
- result.y = y;
1681
- result.z = z;
1682
- return result;
1683
- };
1684
- Matrix4.multiplyByScalar = function(matrix, scalar, result) {
1685
- Check_default.typeOf.object("matrix", matrix);
1686
- Check_default.typeOf.number("scalar", scalar);
1687
- Check_default.typeOf.object("result", result);
1688
- result[0] = matrix[0] * scalar;
1689
- result[1] = matrix[1] * scalar;
1690
- result[2] = matrix[2] * scalar;
1691
- result[3] = matrix[3] * scalar;
1692
- result[4] = matrix[4] * scalar;
1693
- result[5] = matrix[5] * scalar;
1694
- result[6] = matrix[6] * scalar;
1695
- result[7] = matrix[7] * scalar;
1696
- result[8] = matrix[8] * scalar;
1697
- result[9] = matrix[9] * scalar;
1698
- result[10] = matrix[10] * scalar;
1699
- result[11] = matrix[11] * scalar;
1700
- result[12] = matrix[12] * scalar;
1701
- result[13] = matrix[13] * scalar;
1702
- result[14] = matrix[14] * scalar;
1703
- result[15] = matrix[15] * scalar;
1704
- return result;
1705
- };
1706
- Matrix4.negate = function(matrix, result) {
1707
- Check_default.typeOf.object("matrix", matrix);
1708
- Check_default.typeOf.object("result", result);
1709
- result[0] = -matrix[0];
1710
- result[1] = -matrix[1];
1711
- result[2] = -matrix[2];
1712
- result[3] = -matrix[3];
1713
- result[4] = -matrix[4];
1714
- result[5] = -matrix[5];
1715
- result[6] = -matrix[6];
1716
- result[7] = -matrix[7];
1717
- result[8] = -matrix[8];
1718
- result[9] = -matrix[9];
1719
- result[10] = -matrix[10];
1720
- result[11] = -matrix[11];
1721
- result[12] = -matrix[12];
1722
- result[13] = -matrix[13];
1723
- result[14] = -matrix[14];
1724
- result[15] = -matrix[15];
1725
- return result;
1726
- };
1727
- Matrix4.transpose = function(matrix, result) {
1728
- Check_default.typeOf.object("matrix", matrix);
1729
- Check_default.typeOf.object("result", result);
1730
- const matrix1 = matrix[1];
1731
- const matrix2 = matrix[2];
1732
- const matrix3 = matrix[3];
1733
- const matrix6 = matrix[6];
1734
- const matrix7 = matrix[7];
1735
- const matrix11 = matrix[11];
1736
- result[0] = matrix[0];
1737
- result[1] = matrix[4];
1738
- result[2] = matrix[8];
1739
- result[3] = matrix[12];
1740
- result[4] = matrix1;
1741
- result[5] = matrix[5];
1742
- result[6] = matrix[9];
1743
- result[7] = matrix[13];
1744
- result[8] = matrix2;
1745
- result[9] = matrix6;
1746
- result[10] = matrix[10];
1747
- result[11] = matrix[14];
1748
- result[12] = matrix3;
1749
- result[13] = matrix7;
1750
- result[14] = matrix11;
1751
- result[15] = matrix[15];
1752
- return result;
1753
- };
1754
- Matrix4.abs = function(matrix, result) {
1755
- Check_default.typeOf.object("matrix", matrix);
1756
- Check_default.typeOf.object("result", result);
1757
- result[0] = Math.abs(matrix[0]);
1758
- result[1] = Math.abs(matrix[1]);
1759
- result[2] = Math.abs(matrix[2]);
1760
- result[3] = Math.abs(matrix[3]);
1761
- result[4] = Math.abs(matrix[4]);
1762
- result[5] = Math.abs(matrix[5]);
1763
- result[6] = Math.abs(matrix[6]);
1764
- result[7] = Math.abs(matrix[7]);
1765
- result[8] = Math.abs(matrix[8]);
1766
- result[9] = Math.abs(matrix[9]);
1767
- result[10] = Math.abs(matrix[10]);
1768
- result[11] = Math.abs(matrix[11]);
1769
- result[12] = Math.abs(matrix[12]);
1770
- result[13] = Math.abs(matrix[13]);
1771
- result[14] = Math.abs(matrix[14]);
1772
- result[15] = Math.abs(matrix[15]);
1773
- return result;
1774
- };
1775
- Matrix4.equals = function(left, right) {
1776
- return left === right || defined_default(left) && defined_default(right) && // Translation
1777
- left[12] === right[12] && left[13] === right[13] && left[14] === right[14] && // Rotation/scale
1778
- left[0] === right[0] && left[1] === right[1] && left[2] === right[2] && left[4] === right[4] && left[5] === right[5] && left[6] === right[6] && left[8] === right[8] && left[9] === right[9] && left[10] === right[10] && // Bottom row
1779
- left[3] === right[3] && left[7] === right[7] && left[11] === right[11] && left[15] === right[15];
1780
- };
1781
- Matrix4.equalsEpsilon = function(left, right, epsilon) {
1782
- epsilon = epsilon ?? 0;
1783
- return left === right || defined_default(left) && defined_default(right) && Math.abs(left[0] - right[0]) <= epsilon && Math.abs(left[1] - right[1]) <= epsilon && Math.abs(left[2] - right[2]) <= epsilon && Math.abs(left[3] - right[3]) <= epsilon && Math.abs(left[4] - right[4]) <= epsilon && Math.abs(left[5] - right[5]) <= epsilon && Math.abs(left[6] - right[6]) <= epsilon && Math.abs(left[7] - right[7]) <= epsilon && Math.abs(left[8] - right[8]) <= epsilon && Math.abs(left[9] - right[9]) <= epsilon && Math.abs(left[10] - right[10]) <= epsilon && Math.abs(left[11] - right[11]) <= epsilon && Math.abs(left[12] - right[12]) <= epsilon && Math.abs(left[13] - right[13]) <= epsilon && Math.abs(left[14] - right[14]) <= epsilon && Math.abs(left[15] - right[15]) <= epsilon;
1784
- };
1785
- Matrix4.getTranslation = function(matrix, result) {
1786
- Check_default.typeOf.object("matrix", matrix);
1787
- Check_default.typeOf.object("result", result);
1788
- result.x = matrix[12];
1789
- result.y = matrix[13];
1790
- result.z = matrix[14];
1791
- return result;
1792
- };
1793
- Matrix4.getMatrix3 = function(matrix, result) {
1794
- Check_default.typeOf.object("matrix", matrix);
1795
- Check_default.typeOf.object("result", result);
1796
- result[0] = matrix[0];
1797
- result[1] = matrix[1];
1798
- result[2] = matrix[2];
1799
- result[3] = matrix[4];
1800
- result[4] = matrix[5];
1801
- result[5] = matrix[6];
1802
- result[6] = matrix[8];
1803
- result[7] = matrix[9];
1804
- result[8] = matrix[10];
1805
- return result;
1806
- };
1807
- var scratchInverseRotation = new Matrix3_default();
1808
- var scratchMatrix3Zero = new Matrix3_default();
1809
- var scratchBottomRow = new Cartesian4_default();
1810
- var scratchExpectedBottomRow = new Cartesian4_default(0, 0, 0, 1);
1811
- Matrix4.inverse = function(matrix, result) {
1812
- Check_default.typeOf.object("matrix", matrix);
1813
- Check_default.typeOf.object("result", result);
1814
- const src0 = matrix[0];
1815
- const src1 = matrix[4];
1816
- const src2 = matrix[8];
1817
- const src3 = matrix[12];
1818
- const src4 = matrix[1];
1819
- const src5 = matrix[5];
1820
- const src6 = matrix[9];
1821
- const src7 = matrix[13];
1822
- const src8 = matrix[2];
1823
- const src9 = matrix[6];
1824
- const src10 = matrix[10];
1825
- const src11 = matrix[14];
1826
- const src12 = matrix[3];
1827
- const src13 = matrix[7];
1828
- const src14 = matrix[11];
1829
- const src15 = matrix[15];
1830
- let tmp0 = src10 * src15;
1831
- let tmp1 = src11 * src14;
1832
- let tmp2 = src9 * src15;
1833
- let tmp3 = src11 * src13;
1834
- let tmp4 = src9 * src14;
1835
- let tmp5 = src10 * src13;
1836
- let tmp6 = src8 * src15;
1837
- let tmp7 = src11 * src12;
1838
- let tmp8 = src8 * src14;
1839
- let tmp9 = src10 * src12;
1840
- let tmp10 = src8 * src13;
1841
- let tmp11 = src9 * src12;
1842
- const dst0 = tmp0 * src5 + tmp3 * src6 + tmp4 * src7 - (tmp1 * src5 + tmp2 * src6 + tmp5 * src7);
1843
- const dst1 = tmp1 * src4 + tmp6 * src6 + tmp9 * src7 - (tmp0 * src4 + tmp7 * src6 + tmp8 * src7);
1844
- const dst2 = tmp2 * src4 + tmp7 * src5 + tmp10 * src7 - (tmp3 * src4 + tmp6 * src5 + tmp11 * src7);
1845
- const dst3 = tmp5 * src4 + tmp8 * src5 + tmp11 * src6 - (tmp4 * src4 + tmp9 * src5 + tmp10 * src6);
1846
- const dst4 = tmp1 * src1 + tmp2 * src2 + tmp5 * src3 - (tmp0 * src1 + tmp3 * src2 + tmp4 * src3);
1847
- const dst5 = tmp0 * src0 + tmp7 * src2 + tmp8 * src3 - (tmp1 * src0 + tmp6 * src2 + tmp9 * src3);
1848
- const dst6 = tmp3 * src0 + tmp6 * src1 + tmp11 * src3 - (tmp2 * src0 + tmp7 * src1 + tmp10 * src3);
1849
- const dst7 = tmp4 * src0 + tmp9 * src1 + tmp10 * src2 - (tmp5 * src0 + tmp8 * src1 + tmp11 * src2);
1850
- tmp0 = src2 * src7;
1851
- tmp1 = src3 * src6;
1852
- tmp2 = src1 * src7;
1853
- tmp3 = src3 * src5;
1854
- tmp4 = src1 * src6;
1855
- tmp5 = src2 * src5;
1856
- tmp6 = src0 * src7;
1857
- tmp7 = src3 * src4;
1858
- tmp8 = src0 * src6;
1859
- tmp9 = src2 * src4;
1860
- tmp10 = src0 * src5;
1861
- tmp11 = src1 * src4;
1862
- const dst8 = tmp0 * src13 + tmp3 * src14 + tmp4 * src15 - (tmp1 * src13 + tmp2 * src14 + tmp5 * src15);
1863
- const dst9 = tmp1 * src12 + tmp6 * src14 + tmp9 * src15 - (tmp0 * src12 + tmp7 * src14 + tmp8 * src15);
1864
- const dst10 = tmp2 * src12 + tmp7 * src13 + tmp10 * src15 - (tmp3 * src12 + tmp6 * src13 + tmp11 * src15);
1865
- const dst11 = tmp5 * src12 + tmp8 * src13 + tmp11 * src14 - (tmp4 * src12 + tmp9 * src13 + tmp10 * src14);
1866
- const dst12 = tmp2 * src10 + tmp5 * src11 + tmp1 * src9 - (tmp4 * src11 + tmp0 * src9 + tmp3 * src10);
1867
- const dst13 = tmp8 * src11 + tmp0 * src8 + tmp7 * src10 - (tmp6 * src10 + tmp9 * src11 + tmp1 * src8);
1868
- const dst14 = tmp6 * src9 + tmp11 * src11 + tmp3 * src8 - (tmp10 * src11 + tmp2 * src8 + tmp7 * src9);
1869
- const dst15 = tmp10 * src10 + tmp4 * src8 + tmp9 * src9 - (tmp8 * src9 + tmp11 * src10 + tmp5 * src8);
1870
- let det = src0 * dst0 + src1 * dst1 + src2 * dst2 + src3 * dst3;
1871
- if (Math.abs(det) < Math_default.EPSILON21) {
1872
- if (Matrix3_default.equalsEpsilon(
1873
- Matrix4.getMatrix3(matrix, scratchInverseRotation),
1874
- scratchMatrix3Zero,
1875
- Math_default.EPSILON7
1876
- ) && Cartesian4_default.equals(
1877
- Matrix4.getRow(matrix, 3, scratchBottomRow),
1878
- scratchExpectedBottomRow
1879
- )) {
1880
- result[0] = 0;
1881
- result[1] = 0;
1882
- result[2] = 0;
1883
- result[3] = 0;
1884
- result[4] = 0;
1885
- result[5] = 0;
1886
- result[6] = 0;
1887
- result[7] = 0;
1888
- result[8] = 0;
1889
- result[9] = 0;
1890
- result[10] = 0;
1891
- result[11] = 0;
1892
- result[12] = -matrix[12];
1893
- result[13] = -matrix[13];
1894
- result[14] = -matrix[14];
1895
- result[15] = 1;
1896
- return result;
1897
- }
1898
- throw new RuntimeError_default(
1899
- "matrix is not invertible because its determinate is zero."
1900
- );
1901
- }
1902
- det = 1 / det;
1903
- result[0] = dst0 * det;
1904
- result[1] = dst1 * det;
1905
- result[2] = dst2 * det;
1906
- result[3] = dst3 * det;
1907
- result[4] = dst4 * det;
1908
- result[5] = dst5 * det;
1909
- result[6] = dst6 * det;
1910
- result[7] = dst7 * det;
1911
- result[8] = dst8 * det;
1912
- result[9] = dst9 * det;
1913
- result[10] = dst10 * det;
1914
- result[11] = dst11 * det;
1915
- result[12] = dst12 * det;
1916
- result[13] = dst13 * det;
1917
- result[14] = dst14 * det;
1918
- result[15] = dst15 * det;
1919
- return result;
1920
- };
1921
- Matrix4.inverseTransformation = function(matrix, result) {
1922
- Check_default.typeOf.object("matrix", matrix);
1923
- Check_default.typeOf.object("result", result);
1924
- const matrix0 = matrix[0];
1925
- const matrix1 = matrix[1];
1926
- const matrix2 = matrix[2];
1927
- const matrix4 = matrix[4];
1928
- const matrix5 = matrix[5];
1929
- const matrix6 = matrix[6];
1930
- const matrix8 = matrix[8];
1931
- const matrix9 = matrix[9];
1932
- const matrix10 = matrix[10];
1933
- const vX = matrix[12];
1934
- const vY = matrix[13];
1935
- const vZ = matrix[14];
1936
- const x = -matrix0 * vX - matrix1 * vY - matrix2 * vZ;
1937
- const y = -matrix4 * vX - matrix5 * vY - matrix6 * vZ;
1938
- const z = -matrix8 * vX - matrix9 * vY - matrix10 * vZ;
1939
- result[0] = matrix0;
1940
- result[1] = matrix4;
1941
- result[2] = matrix8;
1942
- result[3] = 0;
1943
- result[4] = matrix1;
1944
- result[5] = matrix5;
1945
- result[6] = matrix9;
1946
- result[7] = 0;
1947
- result[8] = matrix2;
1948
- result[9] = matrix6;
1949
- result[10] = matrix10;
1950
- result[11] = 0;
1951
- result[12] = x;
1952
- result[13] = y;
1953
- result[14] = z;
1954
- result[15] = 1;
1955
- return result;
1956
- };
1957
- var scratchTransposeMatrix = new Matrix4();
1958
- Matrix4.inverseTranspose = function(matrix, result) {
1959
- Check_default.typeOf.object("matrix", matrix);
1960
- Check_default.typeOf.object("result", result);
1961
- return Matrix4.inverse(
1962
- Matrix4.transpose(matrix, scratchTransposeMatrix),
1963
- result
1964
- );
1965
- };
1966
- Matrix4.IDENTITY = Object.freeze(
1967
- new Matrix4(
1968
- 1,
1969
- 0,
1970
- 0,
1971
- 0,
1972
- 0,
1973
- 1,
1974
- 0,
1975
- 0,
1976
- 0,
1977
- 0,
1978
- 1,
1979
- 0,
1980
- 0,
1981
- 0,
1982
- 0,
1983
- 1
1984
- )
1985
- );
1986
- Matrix4.ZERO = Object.freeze(
1987
- new Matrix4(
1988
- 0,
1989
- 0,
1990
- 0,
1991
- 0,
1992
- 0,
1993
- 0,
1994
- 0,
1995
- 0,
1996
- 0,
1997
- 0,
1998
- 0,
1999
- 0,
2000
- 0,
2001
- 0,
2002
- 0,
2003
- 0
2004
- )
2005
- );
2006
- Matrix4.COLUMN0ROW0 = 0;
2007
- Matrix4.COLUMN0ROW1 = 1;
2008
- Matrix4.COLUMN0ROW2 = 2;
2009
- Matrix4.COLUMN0ROW3 = 3;
2010
- Matrix4.COLUMN1ROW0 = 4;
2011
- Matrix4.COLUMN1ROW1 = 5;
2012
- Matrix4.COLUMN1ROW2 = 6;
2013
- Matrix4.COLUMN1ROW3 = 7;
2014
- Matrix4.COLUMN2ROW0 = 8;
2015
- Matrix4.COLUMN2ROW1 = 9;
2016
- Matrix4.COLUMN2ROW2 = 10;
2017
- Matrix4.COLUMN2ROW3 = 11;
2018
- Matrix4.COLUMN3ROW0 = 12;
2019
- Matrix4.COLUMN3ROW1 = 13;
2020
- Matrix4.COLUMN3ROW2 = 14;
2021
- Matrix4.COLUMN3ROW3 = 15;
2022
- Object.defineProperties(Matrix4.prototype, {
2023
- /**
2024
- * Gets the number of items in the collection.
2025
- * @memberof Matrix4.prototype
2026
- *
2027
- * @type {number}
2028
- */
2029
- length: {
2030
- get: function() {
2031
- return Matrix4.packedLength;
2032
- }
2033
- }
2034
- });
2035
- Matrix4.prototype.clone = function(result) {
2036
- return Matrix4.clone(this, result);
2037
- };
2038
- Matrix4.prototype.equals = function(right) {
2039
- return Matrix4.equals(this, right);
2040
- };
2041
- Matrix4.equalsArray = function(matrix, array, offset) {
2042
- return matrix[0] === array[offset] && matrix[1] === array[offset + 1] && matrix[2] === array[offset + 2] && matrix[3] === array[offset + 3] && matrix[4] === array[offset + 4] && matrix[5] === array[offset + 5] && matrix[6] === array[offset + 6] && matrix[7] === array[offset + 7] && matrix[8] === array[offset + 8] && matrix[9] === array[offset + 9] && matrix[10] === array[offset + 10] && matrix[11] === array[offset + 11] && matrix[12] === array[offset + 12] && matrix[13] === array[offset + 13] && matrix[14] === array[offset + 14] && matrix[15] === array[offset + 15];
2043
- };
2044
- Matrix4.prototype.equalsEpsilon = function(right, epsilon) {
2045
- return Matrix4.equalsEpsilon(this, right, epsilon);
2046
- };
2047
- Matrix4.prototype.toString = function() {
2048
- return `(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]})
2049
- (${this[1]}, ${this[5]}, ${this[9]}, ${this[13]})
2050
- (${this[2]}, ${this[6]}, ${this[10]}, ${this[14]})
2051
- (${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`;
2052
- };
2053
- var Matrix4_default = Matrix4;
2054
-
2055
- export {
2056
- Cartesian4_default,
2057
- Matrix4_default
2058
- };