@arcgis/core 4.33.0-next.20250507 → 4.33.0-next.20250509

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 (499) hide show
  1. package/WebLinkChart.js +1 -1
  2. package/applications/SceneViewer/sceneViewerUtils.d.ts +2 -0
  3. package/applications/SceneViewer/sceneViewerUtils.js +1 -1
  4. package/arcade/batchExec.js +5 -0
  5. package/arcade/featureset/support/RecentlyUsedCache.js +1 -1
  6. package/arcade/functions/aiServices.js +1 -1
  7. package/arcade.js +1 -1
  8. package/assets/components/assets/input-time-picker/t9n/messages.ar.json +1 -1
  9. package/assets/components/assets/input-time-picker/t9n/messages.bg.json +1 -1
  10. package/assets/components/assets/input-time-picker/t9n/messages.bs.json +1 -1
  11. package/assets/components/assets/input-time-picker/t9n/messages.ca.json +1 -1
  12. package/assets/components/assets/input-time-picker/t9n/messages.cs.json +1 -1
  13. package/assets/components/assets/input-time-picker/t9n/messages.da.json +1 -1
  14. package/assets/components/assets/input-time-picker/t9n/messages.de.json +1 -1
  15. package/assets/components/assets/input-time-picker/t9n/messages.el.json +1 -1
  16. package/assets/components/assets/input-time-picker/t9n/messages.en.json +1 -1
  17. package/assets/components/assets/input-time-picker/t9n/messages.es.json +1 -1
  18. package/assets/components/assets/input-time-picker/t9n/messages.et.json +1 -1
  19. package/assets/components/assets/input-time-picker/t9n/messages.fi.json +1 -1
  20. package/assets/components/assets/input-time-picker/t9n/messages.fr.json +1 -1
  21. package/assets/components/assets/input-time-picker/t9n/messages.he.json +1 -1
  22. package/assets/components/assets/input-time-picker/t9n/messages.hr.json +1 -1
  23. package/assets/components/assets/input-time-picker/t9n/messages.hu.json +1 -1
  24. package/assets/components/assets/input-time-picker/t9n/messages.id.json +1 -1
  25. package/assets/components/assets/input-time-picker/t9n/messages.it.json +1 -1
  26. package/assets/components/assets/input-time-picker/t9n/messages.ja.json +1 -1
  27. package/assets/components/assets/input-time-picker/t9n/messages.json +1 -1
  28. package/assets/components/assets/input-time-picker/t9n/messages.ko.json +1 -1
  29. package/assets/components/assets/input-time-picker/t9n/messages.lt.json +1 -1
  30. package/assets/components/assets/input-time-picker/t9n/messages.lv.json +1 -1
  31. package/assets/components/assets/input-time-picker/t9n/messages.nl.json +1 -1
  32. package/assets/components/assets/input-time-picker/t9n/messages.no.json +1 -1
  33. package/assets/components/assets/input-time-picker/t9n/messages.pl.json +1 -1
  34. package/assets/components/assets/input-time-picker/t9n/messages.pt-BR.json +1 -1
  35. package/assets/components/assets/input-time-picker/t9n/messages.pt-PT.json +1 -1
  36. package/assets/components/assets/input-time-picker/t9n/messages.ro.json +1 -1
  37. package/assets/components/assets/input-time-picker/t9n/messages.ru.json +1 -1
  38. package/assets/components/assets/input-time-picker/t9n/messages.sk.json +1 -1
  39. package/assets/components/assets/input-time-picker/t9n/messages.sl.json +1 -1
  40. package/assets/components/assets/input-time-picker/t9n/messages.sr.json +1 -1
  41. package/assets/components/assets/input-time-picker/t9n/messages.sv.json +1 -1
  42. package/assets/components/assets/input-time-picker/t9n/messages.th.json +1 -1
  43. package/assets/components/assets/input-time-picker/t9n/messages.tr.json +1 -1
  44. package/assets/components/assets/input-time-picker/t9n/messages.uk.json +1 -1
  45. package/assets/components/assets/input-time-picker/t9n/messages.vi.json +1 -1
  46. package/assets/components/assets/input-time-picker/t9n/messages.zh-CN.json +1 -1
  47. package/assets/components/assets/input-time-picker/t9n/messages.zh-HK.json +1 -1
  48. package/assets/components/assets/input-time-picker/t9n/messages.zh-TW.json +1 -1
  49. package/assets/esri/core/workers/RemoteClient.js +1 -1
  50. package/assets/esri/core/workers/chunks/029a118e6dfb3f544a5c.js +1 -0
  51. package/assets/esri/core/workers/chunks/0516bd18334d3af6c555.js +1 -0
  52. package/assets/esri/core/workers/chunks/0766ecb677d667e5fb83.js +2 -0
  53. package/assets/esri/core/workers/chunks/{543eb46b55cacd6e1dbc.js.LICENSE.txt → 0766ecb677d667e5fb83.js.LICENSE.txt} +1 -1
  54. package/assets/esri/core/workers/chunks/{c607d618b64d3accecc4.js → 0aca29f7156b2b412f2e.js} +1 -1
  55. package/assets/esri/core/workers/chunks/0bbb38f59f37c51c72f0.js +1 -0
  56. package/assets/esri/core/workers/chunks/10e6dffa57aa1a626708.js +1 -0
  57. package/assets/esri/core/workers/chunks/1abd026ed12c863e1d94.js +1 -0
  58. package/assets/esri/core/workers/chunks/1c6542315390037053a6.js +1 -0
  59. package/assets/esri/core/workers/chunks/218a66d53f7cf4f285aa.js +2 -0
  60. package/assets/esri/core/workers/chunks/{d8dc922f7466300b668f.js.LICENSE.txt → 218a66d53f7cf4f285aa.js.LICENSE.txt} +2 -2
  61. package/assets/esri/core/workers/chunks/243dc74ec62891ba1ef7.js +1 -0
  62. package/assets/esri/core/workers/chunks/{7cd32b10ed0e18e44ef2.js → 2b01e3bce78541620a86.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{f74b5659b6496a5c4c0c.js → 2e0af748eba93f3ea6cb.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{cd81df932b87583b7e4c.js → 306e262f148b3057b11b.js} +1 -1
  65. package/assets/esri/core/workers/chunks/352b7dcd1633e0c98194.js +1 -0
  66. package/assets/esri/core/workers/chunks/3596540ef49e5330ceb2.js +2 -0
  67. package/assets/esri/core/workers/chunks/{7b4523ab392966624d97.js.LICENSE.txt → 3596540ef49e5330ceb2.js.LICENSE.txt} +1 -7
  68. package/assets/esri/core/workers/chunks/391b1c3e736a62befbaf.js +1 -0
  69. package/assets/esri/core/workers/chunks/{cbec01223d51cdb9ee79.js → 3c45603af279ad7fed8c.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{a22c88b0a525e602dce0.js → 3d0e09ef78dc2fd6957a.js} +1 -1
  71. package/assets/esri/core/workers/chunks/40e556a0645af8658658.js +1 -0
  72. package/assets/esri/core/workers/chunks/4402336db7210cd583e0.js +1 -0
  73. package/assets/esri/core/workers/chunks/46104db7f77952bb6c12.js +1 -0
  74. package/assets/esri/core/workers/chunks/{5383dc4814b0ba42e871.js → 47cd99ab3ed11a931084.js} +1 -1
  75. package/assets/esri/core/workers/chunks/47f64a340b5d56bf9e59.js +1 -0
  76. package/assets/esri/core/workers/chunks/49f0e53b3c9ba8451442.js +1 -0
  77. package/assets/esri/core/workers/chunks/4feb774f123da26e9f2a.js +1 -0
  78. package/assets/esri/core/workers/chunks/515e3295495d0958db7e.js +1 -0
  79. package/assets/esri/core/workers/chunks/{ee1d104e2bcc5d808fa4.js → 5228fc7fcdf57f44781e.js} +1 -1
  80. package/assets/esri/core/workers/chunks/5371df31553626528c69.js +1 -0
  81. package/assets/esri/core/workers/chunks/54f4a1131f99468db076.js +1 -0
  82. package/assets/esri/core/workers/chunks/{49c968e91c3c48aaa110.js → 5583d18032ed8bc17c74.js} +1 -1
  83. package/assets/esri/core/workers/chunks/5ddf463c85c33428e807.js +1 -0
  84. package/assets/esri/core/workers/chunks/5e7f35bf1aab93cb1c52.js +1 -0
  85. package/assets/esri/core/workers/chunks/61c74a733718d667b071.js +1 -0
  86. package/assets/esri/core/workers/chunks/{69f7fe6c58e4931597f6.js → 631205dc4d73d49ec9ed.js} +1 -1
  87. package/assets/esri/core/workers/chunks/{875a0e2d023094c8e15e.js → 66e79aa02b3aa12b3778.js} +1 -1
  88. package/assets/esri/core/workers/chunks/{a5a43d54684747561aa9.js → 6b42bcfbb60432e3ed1f.js} +1 -1
  89. package/assets/esri/core/workers/chunks/6e12900a9f4c3c9941ec.js +1 -0
  90. package/assets/esri/core/workers/chunks/6e5d8a6b29c06a27998c.js +1 -0
  91. package/assets/esri/core/workers/chunks/6eabced7123a65d47292.js +1 -0
  92. package/assets/esri/core/workers/chunks/6f506303017903b9a06f.js +1 -0
  93. package/assets/esri/core/workers/chunks/6f6bf67a7960b7e9b03e.js +1 -0
  94. package/assets/esri/core/workers/chunks/{52a3d0e041717da7697e.js → 736cb9f74bf050b70f4c.js} +1 -1
  95. package/assets/esri/core/workers/chunks/7c49a8877bd744daa3d5.js +1 -0
  96. package/assets/esri/core/workers/chunks/7e8f78b96d43c224c7b6.js +1 -0
  97. package/assets/esri/core/workers/chunks/7ed9a9c33a08ebba5570.js +346 -0
  98. package/assets/esri/core/workers/chunks/83fcc6f770ad084b8ab9.js +1 -0
  99. package/assets/esri/core/workers/chunks/85efb318cda7260221ae.js +1 -0
  100. package/assets/esri/core/workers/chunks/86138c297095af1ac604.js +1 -0
  101. package/assets/esri/core/workers/chunks/8a87c181b85d0b86b9bb.js.LICENSE.txt +1 -1
  102. package/assets/esri/core/workers/chunks/8b74b609de4f70e1a75c.js +1 -0
  103. package/assets/esri/core/workers/chunks/90ae15ce22a49bd84876.js +2 -0
  104. package/assets/esri/core/workers/chunks/{ac9c6779771ec855da79.js.LICENSE.txt → 90ae15ce22a49bd84876.js.LICENSE.txt} +3 -3
  105. package/assets/esri/core/workers/chunks/90f93091fe088875f80f.js +1 -0
  106. package/assets/esri/core/workers/chunks/91a02ee91f61cf841111.js +1 -0
  107. package/assets/esri/core/workers/chunks/93cc26e5636040fdc0b8.js +1 -0
  108. package/assets/esri/core/workers/chunks/9ca480eb8b2312381ccf.js +1 -0
  109. package/assets/esri/core/workers/chunks/{77c7b7c4426c2b1a5b42.js → 9fc35ec8185beba96715.js} +1 -1
  110. package/assets/esri/core/workers/chunks/a0d2bd5d4ed3c90f6b1c.js +1 -0
  111. package/assets/esri/core/workers/chunks/{4f627eb62caee760215a.js → a1f27c4f4b5ef3e359f7.js} +1 -1
  112. package/assets/esri/core/workers/chunks/a31658f544ac6e1801d6.js +1 -0
  113. package/assets/esri/core/workers/chunks/{3a205f87f100832ef9f5.js → a5e746e10239a3bfe237.js} +1 -1
  114. package/assets/esri/core/workers/chunks/a6bcae413e62cd879b46.js +1 -0
  115. package/assets/esri/core/workers/chunks/a73c6b4bc5baf440f85a.js +1 -0
  116. package/assets/esri/core/workers/chunks/{59d4c41172e921922cac.js → a8b42d8c0b76c234c09f.js} +100 -62
  117. package/assets/esri/core/workers/chunks/{3a517393619af3639b83.js → ad9bcd9dae45cdf90cbb.js} +1 -1
  118. package/assets/esri/core/workers/chunks/{e46c05ef7272c7f1f70c.js → b1035bf4a016b1199236.js} +1 -1
  119. package/assets/esri/core/workers/chunks/b4f38fe9cc948a39ad87.js +2 -0
  120. package/assets/esri/core/workers/chunks/{ce9de24cb96b56d20562.js.LICENSE.txt → b4f38fe9cc948a39ad87.js.LICENSE.txt} +1 -1
  121. package/assets/esri/core/workers/chunks/b5d68d8460b7c15001dd.js +1 -0
  122. package/assets/esri/core/workers/chunks/b816b608f31954128246.js +1 -0
  123. package/assets/esri/core/workers/chunks/bd7b54db7fd278b15500.js +1 -0
  124. package/assets/esri/core/workers/chunks/c1175477dfcdee90a453.js +1 -0
  125. package/assets/esri/core/workers/chunks/{85d87cd1bf7eecd54100.js → c16e0da7a19310c71e8b.js} +1 -1
  126. package/assets/esri/core/workers/chunks/c17c269cc30e7e1d0bfb.js +1 -0
  127. package/assets/esri/core/workers/chunks/c28d4717ed588c0d8bf1.js +1 -0
  128. package/assets/esri/core/workers/chunks/c2f925167a43f63289a7.js +1 -0
  129. package/assets/esri/core/workers/chunks/c9ab067b07d1eab974d1.js +1 -0
  130. package/assets/esri/core/workers/chunks/cb80b7ddc9acf625d754.js +1 -0
  131. package/assets/esri/core/workers/chunks/{812d8554144ef5a7cd4b.js → cd4fb107489594c57438.js} +1 -1
  132. package/assets/esri/core/workers/chunks/cd5c380196db7fb55242.js +1 -0
  133. package/assets/esri/core/workers/chunks/d22f91bc16a7641bcbef.js +1 -0
  134. package/assets/esri/core/workers/chunks/d7b640f7a181bd26c7c7.js +1 -0
  135. package/assets/esri/core/workers/chunks/d874d24568b1acedebc4.js +1 -0
  136. package/assets/esri/core/workers/chunks/{2bdbf678d4f013543dbb.js → d971571a957de70d5a8d.js} +1 -1
  137. package/assets/esri/core/workers/chunks/dc3a6beb3028009b3c23.js +1 -0
  138. package/assets/esri/core/workers/chunks/e0dc8794343c2a949ffb.js +2 -0
  139. package/assets/esri/core/workers/chunks/{670a66617249f2d15a62.js.LICENSE.txt → e0dc8794343c2a949ffb.js.LICENSE.txt} +1 -1
  140. package/assets/esri/core/workers/chunks/e3c1aea34ece8336dae1.js +1 -0
  141. package/assets/esri/core/workers/chunks/e483d2f169e51a361742.js +1 -0
  142. package/assets/esri/core/workers/chunks/e662c86b8bafc5512d3d.js +1 -0
  143. package/assets/esri/core/workers/chunks/e697dd4508f02dcfe329.js +1 -0
  144. package/assets/esri/core/workers/chunks/{a50cb1fc8c4c585c0e11.js → ec8e8048b3df2c92008d.js} +1 -1
  145. package/assets/esri/core/workers/chunks/ed6d0fea159dea638c2f.js +1 -0
  146. package/assets/esri/core/workers/chunks/f7ab3511f6627f467796.js +1 -0
  147. package/assets/esri/core/workers/chunks/f98689562017583f73ee.js +1 -0
  148. package/assets/esri/core/workers/chunks/fb2e28e6a87956267d1c.js +66 -0
  149. package/assets/esri/core/workers/chunks/fbcd94f60f92257a7303.js +2 -0
  150. package/assets/esri/core/workers/chunks/{c2594024d72133d3ed7b.js.LICENSE.txt → fbcd94f60f92257a7303.js.LICENSE.txt} +1 -1
  151. package/assets/esri/core/workers/chunks/fda48126f67e80034404.js +1 -0
  152. package/assets/esri/themes/base/widgets/_Daylight.scss +0 -4
  153. package/assets/esri/themes/base/widgets/_FeatureTable.scss +1 -0
  154. package/assets/esri/themes/base/widgets/_ShadowCast.scss +27 -28
  155. package/assets/esri/themes/dark/main.css +1 -1
  156. package/assets/esri/themes/light/main.css +1 -1
  157. package/assets/esri/themes/light/view.css +1 -1
  158. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast.json +1 -1
  159. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ar.json +1 -1
  160. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_bg.json +1 -1
  161. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_bs.json +1 -1
  162. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ca.json +1 -1
  163. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_cs.json +1 -1
  164. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_da.json +1 -1
  165. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_de.json +1 -1
  166. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_el.json +1 -1
  167. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_es.json +1 -1
  168. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_et.json +1 -1
  169. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_fi.json +1 -1
  170. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_fr.json +1 -1
  171. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_he.json +1 -1
  172. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_hr.json +1 -1
  173. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_hu.json +1 -1
  174. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_id.json +1 -1
  175. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_it.json +1 -1
  176. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ja.json +1 -1
  177. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ko.json +1 -1
  178. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_lt.json +1 -1
  179. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_lv.json +1 -1
  180. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_nl.json +1 -1
  181. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_no.json +1 -1
  182. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pl.json +1 -1
  183. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pt-BR.json +1 -1
  184. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pt-PT.json +1 -1
  185. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ro.json +1 -1
  186. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ru.json +1 -1
  187. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sk.json +1 -1
  188. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sl.json +1 -1
  189. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sr.json +1 -1
  190. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sv.json +1 -1
  191. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_th.json +1 -1
  192. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_tr.json +1 -1
  193. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_uk.json +1 -1
  194. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_vi.json +1 -1
  195. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-CN.json +1 -1
  196. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-HK.json +1 -1
  197. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-TW.json +1 -1
  198. package/chunks/HUDMaterial.glsl.js +1 -1
  199. package/chunks/Laserlines.glsl.js +2 -2
  200. package/chunks/aiServices.js +1 -1
  201. package/chunks/boundedPlane.js +1 -1
  202. package/chunks/cameraUtilsSpherical.js +1 -1
  203. package/chunks/vec32.js +1 -1
  204. package/core/libs/gl-matrix-2/math/mat4.js +1 -1
  205. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  206. package/core/mapCollectionUtils.js +1 -1
  207. package/core/perspectiveUtils.js +1 -1
  208. package/geometry/support/axisAngleDegrees.js +1 -1
  209. package/geometry/support/curves/bezierCurveUtils.js +1 -1
  210. package/geometry/support/curves/circleUtils.js +1 -1
  211. package/geometry/support/curves/curveExtent.js +5 -0
  212. package/geometry/support/curves/curveLength.js +5 -0
  213. package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
  214. package/geometry/support/curves/ellipticArc4Utils.js +1 -1
  215. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  216. package/geometry/support/curves/mathUtils.js +1 -1
  217. package/geometry/support/curves/splitCurveAtPoint.js +1 -1
  218. package/geometry/support/frustum.js +1 -1
  219. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  220. package/geometry/support/meshUtils/primitives.js +1 -1
  221. package/geometry/support/meshUtils/projection.js +1 -1
  222. package/geometry/support/meshUtils/rotate.js +1 -1
  223. package/geometry/support/meshUtils/scale.js +1 -1
  224. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  225. package/geometry/support/meshVertexSpaceUtils.js +1 -1
  226. package/geometry/support/plane.js +1 -1
  227. package/interfaces.d.ts +111 -6
  228. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  229. package/layers/KnowledgeGraphLayer.js +1 -1
  230. package/layers/LinkChartLayer.js +1 -1
  231. package/layers/MapImageLayer.js +1 -1
  232. package/layers/VoxelWasmPerSceneView.js +1 -1
  233. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  234. package/layers/graphics/sources/MemorySource.js +1 -1
  235. package/layers/mixins/SublayersOwner.js +1 -1
  236. package/layers/support/Sublayer.js +1 -1
  237. package/layers/video/VideoCameraSensorModel.js +1 -1
  238. package/layers/voxel/VoxelVolume.js +1 -1
  239. package/layers/voxel/voxelPlaneUtils.js +1 -1
  240. package/package.json +1 -1
  241. package/rest/print.js +1 -1
  242. package/rest/support/JobInfo.js +1 -1
  243. package/rest/support/TranslateContent.js +1 -1
  244. package/rest/support/TranslateParameters.js +1 -1
  245. package/rest/support/TranslateResult.js +1 -1
  246. package/support/loadArcade.js +1 -1
  247. package/support/revision.js +1 -1
  248. package/symbols/cim/cimAnalyzer.js +1 -1
  249. package/views/2d/engine/webgl/AFeatureTile.js +1 -1
  250. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js +1 -1
  251. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  252. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
  253. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
  254. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
  255. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  256. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
  257. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  258. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  259. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
  260. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  261. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  262. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  263. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  264. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  265. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  266. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  267. package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
  268. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  269. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  270. package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
  271. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  272. package/views/3d/analysis/Viewshed/ViewshedVisualization.js +1 -1
  273. package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
  274. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  275. package/views/3d/animation/pointToPoint/Camera.js +1 -1
  276. package/views/3d/camera/constraintUtils/distance.js +1 -1
  277. package/views/3d/camera/intersectionUtils.js +1 -1
  278. package/views/3d/interactive/Manipulator3D.js +1 -1
  279. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  280. package/views/3d/interactive/editingTools/reshape/edgeOffsetUtils.js +1 -1
  281. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  282. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  283. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  284. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  285. package/views/3d/layers/I3SMeshView3D.js +1 -1
  286. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  287. package/views/3d/layers/PointCloudWorker.js +1 -1
  288. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  289. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  290. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  291. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  292. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  293. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  294. package/views/3d/layers/graphics/Labeler.js +1 -1
  295. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  296. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  297. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  298. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  299. package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
  300. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  301. package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
  302. package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
  303. package/views/3d/layers/i3s/I3SIntersectionHandler.js +1 -1
  304. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  305. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  306. package/views/3d/layers/i3s/Intersector.js +1 -1
  307. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  308. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  309. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  310. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  311. package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
  312. package/views/3d/state/Frustum.js +1 -1
  313. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  314. package/views/3d/state/controllers/InteractiveController.js +1 -1
  315. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  316. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  317. package/views/3d/state/controllers/PointToPointAnimationController.js +1 -1
  318. package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
  319. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  320. package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
  321. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  322. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  323. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  324. package/views/3d/support/hitTest.js +1 -1
  325. package/views/3d/support/orientedBoundingBox.js +1 -1
  326. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  327. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  328. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  329. package/views/3d/support/viewpointUtils.js +1 -1
  330. package/views/3d/terrain/Intersector.js +1 -1
  331. package/views/3d/terrain/OverlayManager.js +1 -1
  332. package/views/3d/terrain/TerrainRenderer.js +1 -1
  333. package/views/3d/terrain/TerrainSurface.js +1 -1
  334. package/views/3d/webgl/ManagedDepthTexture.js +1 -1
  335. package/views/3d/webgl/RenderCamera.js +1 -1
  336. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  337. package/views/3d/webgl-engine/collections/Component/ElevationAgnosticBVH.js +1 -1
  338. package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
  339. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  340. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  341. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  342. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  343. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  344. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  345. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  346. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  347. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechniqueConfiguration.js +1 -1
  348. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
  349. package/views/3d/webgl-engine/lib/HUDIntersectorResult.js +5 -0
  350. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  351. package/views/3d/webgl-engine/lib/IntersectorInterfaces.js +1 -1
  352. package/views/3d/webgl-engine/lib/IntersectorResult.js +5 -0
  353. package/views/3d/webgl-engine/lib/IntersectorTarget.js +1 -1
  354. package/views/3d/webgl-engine/lib/IntersectorType.js +5 -0
  355. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  356. package/views/3d/webgl-engine/lib/Material.js +1 -1
  357. package/views/3d/webgl-engine/lib/Normals.js +1 -1
  358. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  359. package/views/3d/webgl-engine/lib/ObjectIntersectorResult.js +5 -0
  360. package/views/3d/webgl-engine/lib/ObjectTarget.js +5 -0
  361. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  362. package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
  363. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  364. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  365. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  366. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  367. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  368. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  369. package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
  370. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  371. package/views/3d/webgl-engine/lib/lodRendering/Intersector.js +1 -1
  372. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  373. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  374. package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
  375. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  376. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  377. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  378. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  379. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  380. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  381. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  382. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  383. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  384. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  385. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  386. package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
  387. package/views/3d/webgl-engine/materials/pbrUtils.js +1 -1
  388. package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
  389. package/views/FocusArea.js +1 -1
  390. package/views/FocusAreaOutline.js +5 -0
  391. package/views/FocusAreaOutlineItem.js +5 -0
  392. package/views/FocusAreas.js +1 -1
  393. package/views/FocusAreasUtils.js +5 -0
  394. package/views/FocusAreasView.js +5 -0
  395. package/views/SceneView.js +1 -1
  396. package/views/analysis/DimensionAnalysisView.js +1 -1
  397. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  398. package/views/interactive/ToolIntersector.js +1 -1
  399. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  400. package/views/interactive/sketch/constraints.js +1 -1
  401. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  402. package/views/interactive/snapping/hints/IntersectionSnappingHint.js +1 -1
  403. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  404. package/views/interactive/snapping/hints/ParallelSnappingHint.js +1 -1
  405. package/views/interactive/snapping/hints/PointSnappingHint.js +1 -1
  406. package/views/interactive/snapping/hints/RightAngleSnappingHint.js +1 -1
  407. package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
  408. package/views/layers/DimensionLayerView.js +1 -1
  409. package/views/support/angularMeasurementUtils.js +1 -1
  410. package/views/support/geometry3dUtils.js +1 -1
  411. package/widgets/BasemapLayerList.js +1 -1
  412. package/widgets/BatchAttributeForm.js +1 -1
  413. package/widgets/Daylight/DaylightViewModel.js +1 -1
  414. package/widgets/Daylight/css.js +1 -1
  415. package/widgets/Daylight.js +1 -1
  416. package/widgets/ElevationProfile/ElevationProfileLineView.js +1 -1
  417. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationSettings.js +1 -1
  418. package/widgets/FeatureForm.js +1 -1
  419. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  420. package/widgets/FeatureTable.js +1 -1
  421. package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
  422. package/widgets/ShadowCast/css.js +1 -1
  423. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  424. package/widgets/UtilityNetworkTrace.js +1 -1
  425. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  426. package/widgets/VideoPlayer/components/MetadataSection.js +1 -1
  427. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  428. package/widgets/support/FilterBuilder.js +1 -1
  429. package/widgets/support/SketchTooltipControls.js +1 -1
  430. package/widgets/support/SnappingControls.js +1 -1
  431. package/assets/esri/core/workers/chunks/00e49ed684cc167c4481.js +0 -1
  432. package/assets/esri/core/workers/chunks/02e1332e91393ee985e8.js +0 -1
  433. package/assets/esri/core/workers/chunks/0366d46c78aa3b4a0523.js +0 -1
  434. package/assets/esri/core/workers/chunks/076a205298026e926d70.js +0 -1
  435. package/assets/esri/core/workers/chunks/07adf428f5fdba5c7cdf.js +0 -1
  436. package/assets/esri/core/workers/chunks/0c338364cb55afdbd580.js +0 -1
  437. package/assets/esri/core/workers/chunks/1349d4ea29fbf41e22bc.js +0 -1
  438. package/assets/esri/core/workers/chunks/2934fd7ec0c07371c4fe.js +0 -1
  439. package/assets/esri/core/workers/chunks/2a72f272051721767ca1.js +0 -319
  440. package/assets/esri/core/workers/chunks/2a9f206c23f69045d3f2.js +0 -1
  441. package/assets/esri/core/workers/chunks/2ac2c9cb88a7d1249b56.js +0 -1
  442. package/assets/esri/core/workers/chunks/2ad47c0ba1680f7d5e03.js +0 -1
  443. package/assets/esri/core/workers/chunks/2b3aa568356f4b70afe8.js +0 -1
  444. package/assets/esri/core/workers/chunks/2da01fe20200b6d74851.js +0 -1
  445. package/assets/esri/core/workers/chunks/35002d23c5b9f37c6331.js +0 -1
  446. package/assets/esri/core/workers/chunks/35b138f6d0687c5bee4f.js +0 -1
  447. package/assets/esri/core/workers/chunks/45d64b72b7e93e9c64d7.js +0 -1
  448. package/assets/esri/core/workers/chunks/4957450197305498d327.js +0 -1
  449. package/assets/esri/core/workers/chunks/4b63f36189730396721b.js +0 -1
  450. package/assets/esri/core/workers/chunks/543eb46b55cacd6e1dbc.js +0 -2
  451. package/assets/esri/core/workers/chunks/55def679b9f1c7c4d4d3.js +0 -1
  452. package/assets/esri/core/workers/chunks/598fade09fa4da759ac2.js +0 -1
  453. package/assets/esri/core/workers/chunks/60f7cd05e88701f43d3f.js +0 -1
  454. package/assets/esri/core/workers/chunks/6118144588af9cd8e49b.js +0 -1
  455. package/assets/esri/core/workers/chunks/62c5030557595c9a7c37.js +0 -1
  456. package/assets/esri/core/workers/chunks/62d1e6e7d8685ffc152f.js +0 -1
  457. package/assets/esri/core/workers/chunks/670a66617249f2d15a62.js +0 -2
  458. package/assets/esri/core/workers/chunks/687a11f49772bf5e1f5a.js +0 -1
  459. package/assets/esri/core/workers/chunks/6b554b42e16ad32b433d.js +0 -1
  460. package/assets/esri/core/workers/chunks/6fc39a58f3011291c602.js +0 -1
  461. package/assets/esri/core/workers/chunks/7978b66cdfe078960ddd.js +0 -1
  462. package/assets/esri/core/workers/chunks/7b4523ab392966624d97.js +0 -2
  463. package/assets/esri/core/workers/chunks/7c2ec96749972e0b8a13.js +0 -1
  464. package/assets/esri/core/workers/chunks/7fa70851868f80eaccfc.js +0 -1
  465. package/assets/esri/core/workers/chunks/8d09cc782dae1dcfc6c4.js +0 -1
  466. package/assets/esri/core/workers/chunks/8ec0a762ec73d1f91fce.js +0 -1
  467. package/assets/esri/core/workers/chunks/919673d958045ab94c95.js +0 -1
  468. package/assets/esri/core/workers/chunks/9321e3244ccb1ee9985a.js +0 -1
  469. package/assets/esri/core/workers/chunks/97a4f8504e76c877893b.js +0 -1
  470. package/assets/esri/core/workers/chunks/9cac00d4bfac14aaae12.js +0 -1
  471. package/assets/esri/core/workers/chunks/a1278a1c4a913c671989.js +0 -1
  472. package/assets/esri/core/workers/chunks/a2452958b0ced28fc1e5.js +0 -1
  473. package/assets/esri/core/workers/chunks/ac9c6779771ec855da79.js +0 -2
  474. package/assets/esri/core/workers/chunks/aed72cbac8d463b1d2e0.js +0 -1
  475. package/assets/esri/core/workers/chunks/af44ba2ee6c7670ddcc1.js +0 -1
  476. package/assets/esri/core/workers/chunks/b2f1d1721a9dd88a1adf.js +0 -1
  477. package/assets/esri/core/workers/chunks/b52a738ca2b5c39f8e15.js +0 -1
  478. package/assets/esri/core/workers/chunks/b60504e6326464a512df.js +0 -1
  479. package/assets/esri/core/workers/chunks/b79e8d1e3f2c214549b7.js +0 -1
  480. package/assets/esri/core/workers/chunks/ba4aafa8dfa76006c3e7.js +0 -1
  481. package/assets/esri/core/workers/chunks/bbcc5c5ef7cb92c2e213.js +0 -39
  482. package/assets/esri/core/workers/chunks/bbff052a991a2dc36960.js +0 -1
  483. package/assets/esri/core/workers/chunks/bceb837623aa79fcfbed.js +0 -1
  484. package/assets/esri/core/workers/chunks/bf190d672dcbaedc1a41.js +0 -1
  485. package/assets/esri/core/workers/chunks/bfd39cd1d83291ba014b.js +0 -1
  486. package/assets/esri/core/workers/chunks/c255c9279815359fdce5.js +0 -1
  487. package/assets/esri/core/workers/chunks/c2594024d72133d3ed7b.js +0 -2
  488. package/assets/esri/core/workers/chunks/ca8c631172902c6623fa.js +0 -1
  489. package/assets/esri/core/workers/chunks/ce9de24cb96b56d20562.js +0 -2
  490. package/assets/esri/core/workers/chunks/cf008faa999e8d07116f.js +0 -1
  491. package/assets/esri/core/workers/chunks/d8dc922f7466300b668f.js +0 -2
  492. package/assets/esri/core/workers/chunks/dbf6011dd7933f02d41d.js +0 -66
  493. package/assets/esri/core/workers/chunks/dcb9ab790e694328d02c.js +0 -1
  494. package/assets/esri/core/workers/chunks/e4e9dd635bdef18d0bd5.js +0 -1
  495. package/assets/esri/core/workers/chunks/e69f2e3c2d5e71fbb42f.js +0 -1
  496. package/assets/esri/core/workers/chunks/e93222c65bd28203ddf7.js +0 -1
  497. package/assets/esri/core/workers/chunks/ea70cabea50960dc8167.js +0 -1
  498. package/assets/esri/core/workers/chunks/f07b3aecff90a6a400d8.js +0 -1
  499. package/assets/esri/core/workers/chunks/f61632c06c05b72e7017.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../../chunks/tslib.es6.js";import{property as r}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as s}from"../../../../../core/accessorSupport/decorators/subclass.js";import{InternalRenderCategory as o}from"../../../webgl.js";import t from"../../../webgl/RenderNode.js";import{FocusAreaColorTechnique as i}from"./FocusAreaColorTechnique.js";import{F as c}from"../../../../../chunks/FocusAreaColor.glsl.js";import{FramebufferBit as a,DepthStencilAttachment as p}from"../../../../webgl/enums.js";let n=class extends t{constructor(e){super({...e,view:e.focusAreas.view}),this.consumes={required:[o.FOCUSAREA_COLOR,o.FOCUSAREA]},this.produces=o.FOCUSAREA_COLOR,this._passParameters=new c}precompile(){this.techniques.precompile(i)}render(e){const r=this.techniques.get(i),s=e.find((({name:e})=>e===this.produces));if(!r.compiled)return this.requestRender(),s;const t=this.bindParameters,c=t.camera,n=c.fullViewport[2],u=c.fullViewport[3],h=e.find((({name:e})=>e===o.FOCUSAREA)),d=this.fboCache.acquire(n,u,this.produces),f=this.renderingContext;return f.clear(a.STENCIL),f.bindFramebuffer(d.fbo),this._passParameters.color=s.getTexture(),this._passParameters.focusArea=h.getTexture(),this._passParameters.effect=m[this.focusAreas.style],f.bindTechnique(r,t,this._passParameters),f.screen.draw(),d.attachDepth(s.getAttachment(p)),d}};var u;e([r()],n.prototype,"consumes",void 0),e([r()],n.prototype,"produces",void 0),e([r({constructOnly:!0})],n.prototype,"focusAreas",void 0),n=e([s("esri.views.3d.webgl-engine.effects.focusArea.FocusAreaColorNode")],n),function(e){e[e.NONE=0]="NONE",e[e.BRIGHT=1]="BRIGHT",e[e.DARK=2]="DARK"}(u||(u={}));const m={none:u.NONE,bright:u.BRIGHT,dark:u.DARK};export{n as FocusAreaColorNode};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import{property as r}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as s}from"../../../../../core/accessorSupport/decorators/subclass.js";import{InternalRenderCategory as o}from"../../../webgl.js";import t from"../../../webgl/RenderNode.js";import{FocusAreaColorTechnique as i}from"./FocusAreaColorTechnique.js";import{F as c}from"../../../../../chunks/FocusAreaColor.glsl.js";import{FramebufferBit as a,DepthStencilAttachment as p}from"../../../../webgl/enums.js";let n=class extends t{constructor(e){super({...e,view:e.focusAreasView.view}),this.consumes={required:[o.FOCUSAREA_COLOR,o.FOCUSAREA]},this.produces=o.FOCUSAREA_COLOR,this._passParameters=new c}precompile(){this.techniques.precompile(i)}render(e){const r=this.techniques.get(i),s=e.find((({name:e})=>e===this.produces));if(!r.compiled)return this.requestRender(),s;const t=this.bindParameters,c=t.camera,n=c.fullViewport[2],u=c.fullViewport[3],h=e.find((({name:e})=>e===o.FOCUSAREA)),d=this.fboCache.acquire(n,u,this.produces),f=this.renderingContext;return f.clear(a.STENCIL),f.bindFramebuffer(d.fbo),this._passParameters.color=s.getTexture(),this._passParameters.focusArea=h.getTexture(),this._passParameters.effect=m[this.focusAreasView.style],f.bindTechnique(r,t,this._passParameters),f.screen.draw(),d.attachDepth(s.getAttachment(p)),d}};var u;e([r()],n.prototype,"consumes",void 0),e([r()],n.prototype,"produces",void 0),e([r({constructOnly:!0})],n.prototype,"focusAreasView",void 0),n=e([s("esri.views.3d.webgl-engine.effects.focusArea.FocusAreaColorNode")],n),function(e){e[e.NONE=0]="NONE",e[e.BRIGHT=1]="BRIGHT",e[e.DARK=2]="DARK"}(u||(u={}));const m={none:u.NONE,bright:u.BRIGHT,dark:u.DARK};export{n as FocusAreaColorNode};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../../chunks/tslib.es6.js";import{property as t}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as s}from"../../../../../core/accessorSupport/decorators/subclass.js";import{RenderCategory as r,InternalRenderCategory as o}from"../../../webgl.js";import i from"../../../webgl/RenderNode.js";import{ColorFormat as n}from"../../core/FBOCacheFormats.js";import{FocusAreaMaskTechnique as a}from"./FocusAreaMaskTechnique.js";import{Default3D as c}from"../../lib/DefaultVertexAttributeLocations.js";import{Pos3 as h}from"../../lib/DefaultVertexBufferLayouts.js";import{VertexArrayObject as p}from"../../lib/VertexArrayObject.js";import{F as u}from"../../../../../chunks/FocusAreaMask.glsl.js";import{BufferObject as l}from"../../../../webgl/BufferObject.js";import{DepthStencilAttachment as m,FramebufferBit as d,Face as f,StencilOperation as g,CompareFunction as A,PrimitiveType as E,Usage as b}from"../../../../webgl/enums.js";import{noParameters as _}from"../../../../webgl/NoParameters.js";let w=class extends i{constructor(e){super({...e,view:e.focusAreas.view}),this.consumes={required:[r.TRANSPARENT]},this.produces=o.FOCUSAREA,this._vaos=new Array,this._counts=new Array,this._origins=new Array,this._maskParameters=new u}initialize(){this.updateGeometries()}destroy(){this._vaos.forEach((e=>e.dispose())),this._vaos.length=this._counts.length=this._origins.length=0}precompile(){this.techniques.precompile(a)}render(e){const t=this.techniques.get(a),s=this.bindParameters,i=s.camera,c=i.fullViewport[2],h=i.fullViewport[3];if(!t.compiled||!this._vaos)return void this.requestRender();const p=e.find((({name:e})=>e===r.TRANSPARENT)),u=this.renderingContext,l=this.fboCache.acquire(c,h,o.FOCUSAREA,n.RGBA8UNORM).attachDepth(p.getAttachment(m));u.bindFramebuffer(l.fbo),u.clear(d.COLOR|d.STENCIL),u.setViewport(0,0,c,h),u.clear(d.STENCIL,0);const b=u.bindTechnique(t,s);u.setFaceCullingEnabled(!1),u.setStencilTestEnabled(!0),u.setStencilOpSeparate(f.FRONT,g.KEEP,g.INCR_WRAP,g.KEEP),u.setStencilOpSeparate(f.BACK,g.KEEP,g.DECR_WRAP,g.KEEP),u.setDepthWriteEnabled(!1);for(let r=0;r<this._vaos.length;r++){const e=this._vaos[r],t=this._counts[r];this._maskParameters.origin=this._origins[r],b.bindDraw(s,_,this._maskParameters),u.bindVAO(e),u.setDepthTestEnabled(!0),u.setStencilWriteMask(255),u.setStencilFunction(A.ALWAYS,0,255),u.setColorMask(!1,!1,!1,!1),u.drawArrays(E.TRIANGLES,0,t),u.setDepthTestEnabled(!1),u.setStencilWriteMask(0),u.setStencilFunction(A.NOTEQUAL,0,255),u.setColorMask(!0,!0,!0,!0),u.drawArrays(E.TRIANGLES,0,t)}return l}updateGeometries(){if(!this.view.stage)return;this._vaos.forEach((e=>e.dispose())),this._vaos.length=this._counts.length=this._origins.length=0;const e=this.focusAreas.geometries;for(const t of e){const e=new Array,s=t.indicesBottom;for(let n=0;n<s.length;n++)e.push(t.positions[3*(s[n]-1)]),e.push(t.positions[3*(s[n]-1)+1]),e.push(t.positions[3*(s[n]-1)+2]);const r=t.indicesExtruded;for(let n=0;n<r.length;n++)e.push(t.positions[3*r[n]]),e.push(t.positions[3*r[n]+1]),e.push(t.positions[3*r[n]+2]);const o=new Float32Array(e),i=new p(this.renderingContext,c,new Map([["geometry",h]]),new Map([["geometry",l.createVertex(this.renderingContext,b.STATIC_DRAW,o)]]));this._vaos.push(i),this._counts.push(s.length+r.length),this._origins.push(t.origin)}this.requestRender()}};e([t()],w.prototype,"consumes",void 0),e([t()],w.prototype,"produces",void 0),e([t({constructOnly:!0})],w.prototype,"focusAreas",void 0),w=e([s("esri.views.3d.webgl-engine.effects.focusArea.FocusAreaMaskNode")],w);class R{constructor(e,t,s,r,o,i){this.positions=e,this.indicesBottom=t,this.indicesExtruded=s,this.height=r,this.origin=o,this.color=i}}var S;!function(e){e[e.NONE=0]="NONE",e[e.BRIGHT=1]="BRIGHT",e[e.DARK=2]="DARK"}(S||(S={}));export{S as FocusAreaEffect,R as FocusAreaGeometry,w as FocusAreaMaskNode};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import{property as t}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as s}from"../../../../../core/accessorSupport/decorators/subclass.js";import{RenderCategory as r,InternalRenderCategory as o}from"../../../webgl.js";import i from"../../../webgl/RenderNode.js";import{ColorFormat as n}from"../../core/FBOCacheFormats.js";import{FocusAreaMaskTechnique as a}from"./FocusAreaMaskTechnique.js";import{Default3D as c}from"../../lib/DefaultVertexAttributeLocations.js";import{Pos3 as h}from"../../lib/DefaultVertexBufferLayouts.js";import{VertexArrayObject as p}from"../../lib/VertexArrayObject.js";import{F as u}from"../../../../../chunks/FocusAreaMask.glsl.js";import{BufferObject as l}from"../../../../webgl/BufferObject.js";import{DepthStencilAttachment as m,FramebufferBit as d,Face as f,StencilOperation as g,CompareFunction as A,PrimitiveType as E,Usage as w}from"../../../../webgl/enums.js";import{noParameters as b}from"../../../../webgl/NoParameters.js";let _=class extends i{constructor(e){super({...e,view:e.focusAreasView.view}),this.consumes={required:[r.TRANSPARENT]},this.produces=o.FOCUSAREA,this._vaos=new Array,this._counts=new Array,this._origins=new Array,this._maskParameters=new u}initialize(){this.updateGeometries()}destroy(){this._vaos.forEach((e=>e.dispose())),this._vaos.length=this._counts.length=this._origins.length=0}precompile(){this.techniques.precompile(a)}render(e){const t=this.techniques.get(a),s=this.bindParameters,i=s.camera,c=i.fullViewport[2],h=i.fullViewport[3];if(!t.compiled||!this._vaos)return void this.requestRender();const p=e.find((({name:e})=>e===r.TRANSPARENT)),u=this.renderingContext,l=this.fboCache.acquire(c,h,o.FOCUSAREA,n.RGBA8UNORM).attachDepth(p.getAttachment(m));u.bindFramebuffer(l.fbo),u.clear(d.COLOR|d.STENCIL),u.setViewport(0,0,c,h),u.clear(d.STENCIL,0);const w=u.bindTechnique(t,s);u.setFaceCullingEnabled(!1),u.setStencilTestEnabled(!0),u.setStencilOpSeparate(f.FRONT,g.KEEP,g.INCR_WRAP,g.KEEP),u.setStencilOpSeparate(f.BACK,g.KEEP,g.DECR_WRAP,g.KEEP),u.setDepthWriteEnabled(!1);for(let r=0;r<this._vaos.length;r++){const e=this._vaos[r],t=this._counts[r];this._maskParameters.origin=this._origins[r],w.bindDraw(s,b,this._maskParameters),u.bindVAO(e),u.setDepthTestEnabled(!0),u.setStencilWriteMask(255),u.setStencilFunction(A.ALWAYS,0,255),u.setColorMask(!1,!1,!1,!1),u.drawArrays(E.TRIANGLES,0,t),u.setDepthTestEnabled(!1),u.setStencilWriteMask(0),u.setStencilFunction(A.NOTEQUAL,0,255),u.setColorMask(!0,!0,!0,!0),u.drawArrays(E.TRIANGLES,0,t)}return l}updateGeometries(){if(!this.view.stage)return;this._vaos.forEach((e=>e.dispose())),this._vaos.length=this._counts.length=this._origins.length=0;const e=this.focusAreasView.geometries;for(const t of e){const e=new Array,s=t.indicesBottom;for(let n=0;n<s.length;n++)e.push(t.positions[3*(s[n]-1)]),e.push(t.positions[3*(s[n]-1)+1]),e.push(t.positions[3*(s[n]-1)+2]);const r=t.indicesExtruded;for(let n=0;n<r.length;n++)e.push(t.positions[3*r[n]]),e.push(t.positions[3*r[n]+1]),e.push(t.positions[3*r[n]+2]);const o=new Float32Array(e),i=new p(this.renderingContext,c,new Map([["geometry",h]]),new Map([["geometry",l.createVertex(this.renderingContext,w.STATIC_DRAW,o)]]));this._vaos.push(i),this._counts.push(s.length+r.length),this._origins.push(t.origin)}this.requestRender()}};e([t()],_.prototype,"consumes",void 0),e([t()],_.prototype,"produces",void 0),e([t({constructOnly:!0})],_.prototype,"focusAreasView",void 0),_=e([s("esri.views.3d.webgl-engine.effects.focusArea.FocusAreaMaskNode")],_);class R{constructor(e,t,s,r,o){this.positions=e,this.indicesBottom=t,this.indicesExtruded=s,this.height=r,this.origin=o}}var S;!function(e){e[e.NONE=0]="NONE",e[e.BRIGHT=1]="BRIGHT",e[e.DARK=2]="DARK"}(S||(S={}));export{S as FocusAreaEffect,R as FocusAreaGeometry,_ as FocusAreaMaskNode};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../../chunks/tslib.es6.js";import r from"../../../../../core/PooledArray.js";import{property as t}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as s}from"../../../../../core/accessorSupport/decorators/subclass.js";import{ZEROS as o}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{InternalRenderCategory as n}from"../../../webgl.js";import i from"../../../webgl/RenderNode.js";import{DepthTextureFormat as c}from"../../core/FBOCacheFormats.js";import{Blit as a}from"../blit/Blit.js";import{StencilBits as l}from"../../lib/basicInterfaces.js";import{RenderOccludedFlag as d}from"../../lib/Material.js";import{RenderSlot as p}from"../../lib/RenderSlot.js";import{BlitMode as u}from"../../shaders/CompositingTechniqueConfiguration.js";import{DepthStencilAttachment as m}from"../../../../webgl/enums.js";let f=class extends i{constructor(e){super(e),this.consumes={required:[n.OCCLUDED]},this.produces=n.OCCLUDED,this._blit=new a(e.view.stage.renderView.techniques,u.PremultipliedAlpha)}precompile(){const e=this.view.stage.renderer;e.plugins.plugins.forAll((r=>{e.precompileSlots(r,p.OCCLUDED_TERRAIN,p.TRANSPARENT_OCCLUDER_MATERIAL),r.material&&e.precompileOccludedSlots(r,g)}))}render(e){const r=e.find((({name:e})=>e===this.produces)),t=this.view.stage.renderer;let s=0;if(h.clear(),t.plugins.plugins.forAll((e=>{if(!e.material)return;e.queryRenderOccludedState(d.OccludeAndTransparentStencil)&&(s|=d.OccludeAndTransparentStencil,h.push(e))})),h.length>0&&(t.renderSlots(h,p.OCCLUDER_MATERIAL),s&d.OccludeAndTransparentStencil&&this._renderAndComposite(r,.5,(()=>t.renderSlots(h,p.TRANSPARENT_OCCLUDER_MATERIAL)),!1,!1)),h.clear(),t.plugins.plugins.forAll((e=>{if(!e.material)return;const r=e.queryRenderOccludedState(d.OccludeAndTransparent),t=e.queryRenderOccludedState(d.Transparent),o=e.queryRenderOccludedState(d.Opaque);(r||t||o)&&(s|=r?d.OccludeAndTransparent:t?d.Transparent:d.Opaque,h.push(e))})),s|=t.plugins.renderOccludedFlags,!s)return r;for(const o of g)s&o&&this._renderAndComposite(r,o===d.Opaque?1:.5,(()=>t.renderOccludedSlots(h,o)),!0,l.OutlineVisualElementMask);return h.clear(),r}_renderAndComposite(e,r,t,s,n){const i=this.renderingContext,{width:a,height:l}=e.fbo,d=this.fboCache.acquire(a,l,"tmp color"),p=s?this.fboCache.acquireDepth(c.DEPTH24_STENCIL8,a,l,"tmp depth"):e.getAttachment(m);d.attachDepth(p),i.bindFramebuffer(d.fbo),i.clearFramebuffer(o,s,n),t(),d.detachDepth(),this._blit.blend(i,d,e,this.bindParameters,r),s&&p.release(),d.release()}};e([t()],f.prototype,"consumes",void 0),e([t()],f.prototype,"produces",void 0),f=e([s("esri.views.3d.webgl-engine.effects.geometry.RenderOccludedRenderNode")],f);const h=new r,g=[d.OccludeAndTransparent,d.Transparent,d.Opaque];export{f as RenderOccludedRenderNode};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import r from"../../../../../core/PooledArray.js";import{property as t}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as s}from"../../../../../core/accessorSupport/decorators/subclass.js";import{ZEROS as o}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{InternalRenderCategory as n}from"../../../webgl.js";import i from"../../../webgl/RenderNode.js";import{DepthFormat as c}from"../../core/FBOCacheFormats.js";import{Blit as a}from"../blit/Blit.js";import{StencilBits as l}from"../../lib/basicInterfaces.js";import{RenderOccludedFlag as d}from"../../lib/Material.js";import{RenderSlot as p}from"../../lib/RenderSlot.js";import{BlitMode as u}from"../../shaders/CompositingTechniqueConfiguration.js";import{DepthStencilAttachment as m}from"../../../../webgl/enums.js";let f=class extends i{constructor(e){super(e),this.consumes={required:[n.OCCLUDED]},this.produces=n.OCCLUDED,this._blit=new a(e.view.stage.renderView.techniques,u.PremultipliedAlpha)}precompile(){const e=this.view.stage.renderer;e.plugins.plugins.forAll((r=>{e.precompileSlots(r,p.OCCLUDED_TERRAIN,p.TRANSPARENT_OCCLUDER_MATERIAL),r.material&&e.precompileOccludedSlots(r,g)}))}render(e){const r=e.find((({name:e})=>e===this.produces)),t=this.view.stage.renderer;let s=0;if(h.clear(),t.plugins.plugins.forAll((e=>{if(!e.material)return;e.queryRenderOccludedState(d.OccludeAndTransparentStencil)&&(s|=d.OccludeAndTransparentStencil,h.push(e))})),h.length>0&&(t.renderSlots(h,p.OCCLUDER_MATERIAL),s&d.OccludeAndTransparentStencil&&this._renderAndComposite(r,.5,(()=>t.renderSlots(h,p.TRANSPARENT_OCCLUDER_MATERIAL)),!1,!1)),h.clear(),t.plugins.plugins.forAll((e=>{if(!e.material)return;const r=e.queryRenderOccludedState(d.OccludeAndTransparent),t=e.queryRenderOccludedState(d.Transparent),o=e.queryRenderOccludedState(d.Opaque);(r||t||o)&&(s|=r?d.OccludeAndTransparent:t?d.Transparent:d.Opaque,h.push(e))})),s|=t.plugins.renderOccludedFlags,!s)return r;for(const o of g)s&o&&this._renderAndComposite(r,o===d.Opaque?1:.5,(()=>t.renderOccludedSlots(h,o)),!0,l.OutlineVisualElementMask);return h.clear(),r}_renderAndComposite(e,r,t,s,n){const i=this.renderingContext,{width:a,height:l}=e.fbo,d=this.fboCache.acquire(a,l,"tmp color"),p=s?this.fboCache.acquireDepth(c.DEPTH24_STENCIL8,a,l,"tmp depth"):e.getAttachment(m);d.attachDepth(p),i.bindFramebuffer(d.fbo),i.clearFramebuffer(o,s,n),t(),d.detachDepth(),this._blit.blend(i,d,e,this.bindParameters,r),s&&p.release(),d.release()}};e([t()],f.prototype,"consumes",void 0),e([t()],f.prototype,"produces",void 0),f=e([s("esri.views.3d.webgl-engine.effects.geometry.RenderOccludedRenderNode")],f);const h=new r,g=[d.OccludeAndTransparent,d.Transparent,d.Opaque];export{f as RenderOccludedRenderNode};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../../chunks/tslib.es6.js";import"../../../../../core/has.js";import{disposeMaybe as t}from"../../../../../core/maybe.js";import{property as i}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as n}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as s,f as r}from"../../../../../chunks/vec32.js";import{fromRay as a,create as o,getStart as l,getEnd as h}from"../../../../../geometry/support/clipRay.js";import{intersectClipRay as c}from"../../../../../geometry/support/frustum.js";import{copy as d}from"../../../../../geometry/support/lineSegment.js";import{wrap as p}from"../../../../../geometry/support/ray.js";import{ViewingMode as u}from"../../../../ViewingMode.js";import{InternalRenderCategory as m}from"../../../webgl.js";import g from"../../../webgl/RenderNode.js";import{Blit as _}from"../blit/Blit.js";import{LaserlinePathData as P}from"./LaserlinePathData.js";import{LaserlinePathPassParameters as f,LaserlinePathTechnique as b}from"./LaserlinePathTechnique.js";import{LaserlinePathTechniqueConfiguration as E}from"./LaserlinePathTechniqueConfiguration.js";import{LaserlineTechnique as D}from"./LaserlineTechnique.js";import{LaserlineTechniqueConfiguration as q}from"./LaserlineTechniqueConfiguration.js";import{RenderRequestType as T}from"../../lib/basicInterfaces.js";import{updateParameters as L}from"../../materials/internal/MaterialUtil.js";import{BlitMode as V}from"../../shaders/CompositingTechniqueConfiguration.js";import{FramebufferBit as C}from"../../../../webgl/enums.js";let j=class extends g{constructor(e){super(e),this.isDecoration=!0,this.produces=m.LASERLINES,this.consumes={required:[m.LASERLINES,"normals"]},this.requireGeometryDepth=!0,this._configuration=new q,this._pathTechniqueConfiguration=new E,this._heightManifoldEnabled=!1,this._pointDistanceEnabled=!1,this._lineVerticalPlaneEnabled=!1,this._intersectsLineEnabled=!1,this._intersectsLineInfinite=!1,this._pathVerticalPlaneEnabled=!1,this._passParameters=new f;const t=e.view.stage.renderView.techniques,i=new E;i.contrastControlEnabled=e.contrastControlEnabled,t.precompile(b,i)}initialize(){this._passParameters.renderCoordsHelper=this.view.renderCoordsHelper,this._pathTechniqueConfiguration.spherical=this.view.state.viewingMode===u.Global,this._pathTechniqueConfiguration.contrastControlEnabled=this.contrastControlEnabled,this._techniques.precompile(b,this._pathTechniqueConfiguration),this._blit=new _(this._techniques,V.PremultipliedAlpha)}destroy(){this._pathVerticalPlaneData=t(this._pathVerticalPlaneData),this._blit=null}get _techniques(){return this.view.stage.renderView.techniques}get heightManifoldEnabled(){return this._heightManifoldEnabled}set heightManifoldEnabled(e){this._heightManifoldEnabled!==e&&(this._heightManifoldEnabled=e,this.requestRender(T.UPDATE))}get heightManifoldTarget(){return this._passParameters.heightManifoldTarget}set heightManifoldTarget(e){s(this._passParameters.heightManifoldTarget,e),this.requestRender(T.UPDATE)}get pointDistanceEnabled(){return this._pointDistanceEnabled}set pointDistanceEnabled(e){e!==this._pointDistanceEnabled&&(this._pointDistanceEnabled=e,this.requestRender(T.UPDATE))}get pointDistanceTarget(){return this._passParameters.pointDistanceTarget}set pointDistanceTarget(e){s(this._passParameters.pointDistanceTarget,e),this.requestRender(T.UPDATE)}get pointDistanceOrigin(){return this._passParameters.pointDistanceOrigin}set pointDistanceOrigin(e){s(this._passParameters.pointDistanceOrigin,e),this.requestRender(T.UPDATE)}get lineVerticalPlaneEnabled(){return this._lineVerticalPlaneEnabled}set lineVerticalPlaneEnabled(e){e!==this._lineVerticalPlaneEnabled&&(this._lineVerticalPlaneEnabled=e,this.requestRender(T.UPDATE))}get lineVerticalPlaneSegment(){return this._passParameters.lineVerticalPlaneSegment}set lineVerticalPlaneSegment(e){d(e,this._passParameters.lineVerticalPlaneSegment),this.requestRender(T.UPDATE)}get intersectsLineEnabled(){return this._intersectsLineEnabled}set intersectsLineEnabled(e){e!==this._intersectsLineEnabled&&(this._intersectsLineEnabled=e,this.requestRender(T.UPDATE))}get intersectsLineSegment(){return this._passParameters.intersectsLineSegment}set intersectsLineSegment(e){d(e,this._passParameters.intersectsLineSegment),this.requestRender(T.UPDATE)}get intersectsLineInfinite(){return this._intersectsLineInfinite}set intersectsLineInfinite(e){e!==this._intersectsLineInfinite&&(this._intersectsLineInfinite=e,this.requestRender(T.UPDATE))}get pathVerticalPlaneEnabled(){return this._pathVerticalPlaneEnabled}set pathVerticalPlaneEnabled(e){e!==this._pathVerticalPlaneEnabled&&(this._pathVerticalPlaneEnabled=e,null!=this._pathVerticalPlaneData&&this.requestRender(T.UPDATE))}set pathVerticalPlaneVertices(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new P(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.vertices=e,this.pathVerticalPlaneEnabled&&this.requestRender(T.UPDATE)}set pathVerticalPlaneBuffers(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new P(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.buffers=e,this.pathVerticalPlaneEnabled&&this.requestRender(T.UPDATE)}setParameters(e){L(this._passParameters,e)&&this.requestRender(T.UPDATE)}precompile(){this._acquireTechnique()}render(e){const t=e.find((({name:e})=>e===this.produces));if(this.isDecoration&&!this.bindParameters.decorations||null==this._blit)return t;const i=this.renderingContext,n=e.find((({name:e})=>"normals"===e));this._passParameters.normals=n?.getTexture();const s=()=>{(this.heightManifoldEnabled||this.pointDistanceEnabled||this.lineVerticalPlaneSegment||this.intersectsLineEnabled)&&this._renderUnified(),this.pathVerticalPlaneEnabled&&this._renderPath()};if(!this.contrastControlEnabled)return i.bindFramebuffer(t.fbo),s(),t;this._passParameters.colors=t.getTexture();const r=this.fboCache.acquire(t.fbo.width,t.fbo.height,"laser lines");return i.bindFramebuffer(r.fbo),i.setClearColor(0,0,0,0),i.clear(C.COLOR|C.DEPTH),s(),i.unbindTexture(t.getTexture()),this._blit.blend(i,r,t,this.bindParameters)||this.requestRender(T.UPDATE),r.release(),t}_acquireTechnique(){return this._configuration.heightManifoldEnabled=this.heightManifoldEnabled,this._configuration.lineVerticalPlaneEnabled=this.lineVerticalPlaneEnabled,this._configuration.pointDistanceEnabled=this.pointDistanceEnabled,this._configuration.intersectsLineEnabled=this.intersectsLineEnabled,this._configuration.contrastControlEnabled=this.contrastControlEnabled,this._configuration.spherical=this.view.state.viewingMode===u.Global,this._techniques.get(D,this._configuration)}_renderUnified(){if(!this._updatePassParameters())return;const e=this._acquireTechnique();if(e.compiled){const t=this.renderingContext;t.bindTechnique(e,this.bindParameters,this._passParameters),t.screen.draw()}else this.requestRender(T.UPDATE)}_renderPath(){if(null==this._pathVerticalPlaneData)return;const e=this._techniques.get(b,this._pathTechniqueConfiguration);if(e.compiled){const t=this.renderingContext;this._passParameters.origin=this._pathVerticalPlaneData.origin,t.bindTechnique(e,this.bindParameters,this._passParameters),this._pathVerticalPlaneData.draw(t)}else this.requestRender(T.UPDATE)}_updatePassParameters(){if(!this._intersectsLineEnabled)return!0;const e=this.bindParameters.camera,t=this._passParameters;if(this._intersectsLineInfinite){if(a(p(t.intersectsLineSegment.origin,t.intersectsLineSegment.vector),w),w.c0=-Number.MAX_VALUE,!c(e.frustum,w))return!1;l(w,t.lineStartWorld),h(w,t.lineEndWorld)}else s(t.lineStartWorld,t.intersectsLineSegment.origin),r(t.lineEndWorld,t.intersectsLineSegment.origin,t.intersectsLineSegment.vector);return!0}get test(){}};e([i({constructOnly:!0})],j.prototype,"contrastControlEnabled",void 0),e([i()],j.prototype,"isDecoration",void 0),e([i()],j.prototype,"produces",void 0),e([i()],j.prototype,"consumes",void 0),j=e([n("esri.views.3d.webgl-engine.effects.laserlines.LaserLineRenderer")],j);const w=o();export{j as LaserLineRenderer};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import"../../../../../core/has.js";import{disposeMaybe as t}from"../../../../../core/maybe.js";import{property as i}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as n}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as s,f as r}from"../../../../../chunks/vec32.js";import{create as a,fromRay as o,getStart as l,getEnd as h}from"../../../../../geometry/support/clipRay.js";import{intersectClipRay as c}from"../../../../../geometry/support/frustum.js";import{copy as d}from"../../../../../geometry/support/lineSegment.js";import{wrap as p}from"../../../../../geometry/support/ray.js";import{ViewingMode as u}from"../../../../ViewingMode.js";import{InternalRenderCategory as m}from"../../../webgl.js";import g from"../../../webgl/RenderNode.js";import{Blit as _}from"../blit/Blit.js";import{LaserlinePathData as P}from"./LaserlinePathData.js";import{LaserlinePathPassParameters as f,LaserlinePathTechnique as b}from"./LaserlinePathTechnique.js";import{LaserlinePathTechniqueConfiguration as E}from"./LaserlinePathTechniqueConfiguration.js";import{LaserlineTechnique as D}from"./LaserlineTechnique.js";import{LaserlineTechniqueConfiguration as q}from"./LaserlineTechniqueConfiguration.js";import{RenderRequestType as T}from"../../lib/basicInterfaces.js";import{updateParameters as L}from"../../materials/internal/MaterialUtil.js";import{BlitMode as V}from"../../shaders/CompositingTechniqueConfiguration.js";import{FramebufferBit as C}from"../../../../webgl/enums.js";let j=class extends g{constructor(e){super(e),this.isDecoration=!0,this.produces=m.LASERLINES,this.consumes={required:[m.LASERLINES,"normals"]},this.requireGeometryDepth=!0,this._configuration=new q,this._pathTechniqueConfiguration=new E,this._heightManifoldEnabled=!1,this._pointDistanceEnabled=!1,this._lineVerticalPlaneEnabled=!1,this._intersectsLineEnabled=!1,this._intersectsLineInfinite=!1,this._pathVerticalPlaneEnabled=!1,this._passParameters=new f;const t=e.view.stage.renderView.techniques,i=new E;i.contrastControlEnabled=e.contrastControlEnabled,t.precompile(b,i)}initialize(){this._passParameters.renderCoordsHelper=this.view.renderCoordsHelper,this._pathTechniqueConfiguration.spherical=this.view.state.viewingMode===u.Global,this._pathTechniqueConfiguration.contrastControlEnabled=this.contrastControlEnabled,this._techniques.precompile(b,this._pathTechniqueConfiguration),this._blit=new _(this._techniques,V.PremultipliedAlpha)}destroy(){this._pathVerticalPlaneData=t(this._pathVerticalPlaneData),this._blit=null}get _techniques(){return this.view.stage.renderView.techniques}get heightManifoldEnabled(){return this._heightManifoldEnabled}set heightManifoldEnabled(e){this._heightManifoldEnabled!==e&&(this._heightManifoldEnabled=e,this.requestRender(T.UPDATE))}get heightManifoldTarget(){return this._passParameters.heightManifoldTarget}set heightManifoldTarget(e){s(this._passParameters.heightManifoldTarget,e),this.requestRender(T.UPDATE)}get pointDistanceEnabled(){return this._pointDistanceEnabled}set pointDistanceEnabled(e){e!==this._pointDistanceEnabled&&(this._pointDistanceEnabled=e,this.requestRender(T.UPDATE))}get pointDistanceTarget(){return this._passParameters.pointDistanceTarget}set pointDistanceTarget(e){s(this._passParameters.pointDistanceTarget,e),this.requestRender(T.UPDATE)}get pointDistanceOrigin(){return this._passParameters.pointDistanceOrigin}set pointDistanceOrigin(e){s(this._passParameters.pointDistanceOrigin,e),this.requestRender(T.UPDATE)}get lineVerticalPlaneEnabled(){return this._lineVerticalPlaneEnabled}set lineVerticalPlaneEnabled(e){e!==this._lineVerticalPlaneEnabled&&(this._lineVerticalPlaneEnabled=e,this.requestRender(T.UPDATE))}get lineVerticalPlaneSegment(){return this._passParameters.lineVerticalPlaneSegment}set lineVerticalPlaneSegment(e){d(e,this._passParameters.lineVerticalPlaneSegment),this.requestRender(T.UPDATE)}get intersectsLineEnabled(){return this._intersectsLineEnabled}set intersectsLineEnabled(e){e!==this._intersectsLineEnabled&&(this._intersectsLineEnabled=e,this.requestRender(T.UPDATE))}get intersectsLineSegment(){return this._passParameters.intersectsLineSegment}set intersectsLineSegment(e){d(e,this._passParameters.intersectsLineSegment),this.requestRender(T.UPDATE)}get intersectsLineInfinite(){return this._intersectsLineInfinite}set intersectsLineInfinite(e){e!==this._intersectsLineInfinite&&(this._intersectsLineInfinite=e,this.requestRender(T.UPDATE))}get pathVerticalPlaneEnabled(){return this._pathVerticalPlaneEnabled}set pathVerticalPlaneEnabled(e){e!==this._pathVerticalPlaneEnabled&&(this._pathVerticalPlaneEnabled=e,null!=this._pathVerticalPlaneData&&this.requestRender(T.UPDATE))}set pathVerticalPlaneVertices(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new P(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.vertices=e,this.pathVerticalPlaneEnabled&&this.requestRender(T.UPDATE)}set pathVerticalPlaneBuffers(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new P(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.buffers=e,this.pathVerticalPlaneEnabled&&this.requestRender(T.UPDATE)}setParameters(e){L(this._passParameters,e)&&this.requestRender(T.UPDATE)}precompile(){this._acquireTechnique()}render(e){const t=e.find((({name:e})=>e===this.produces));if(this.isDecoration&&!this.bindParameters.decorations||null==this._blit)return t;const i=this.renderingContext,n=e.find((({name:e})=>"normals"===e));this._passParameters.normals=n?.getTexture();const s=()=>{(this.heightManifoldEnabled||this.pointDistanceEnabled||this.lineVerticalPlaneSegment||this.intersectsLineEnabled)&&this._renderUnified(),this.pathVerticalPlaneEnabled&&this._renderPath()};if(!this.contrastControlEnabled)return i.bindFramebuffer(t.fbo),s(),t;this._passParameters.colors=t.getTexture();const r=this.fboCache.acquire(t.fbo.width,t.fbo.height,"laser lines");return i.bindFramebuffer(r.fbo),i.setClearColor(0,0,0,0),i.clear(C.COLOR|C.DEPTH),s(),i.unbindTexture(t.getTexture()),this._blit.blend(i,r,t,this.bindParameters)||this.requestRender(T.UPDATE),r.release(),t}_acquireTechnique(){return this._configuration.heightManifoldEnabled=this.heightManifoldEnabled,this._configuration.lineVerticalPlaneEnabled=this.lineVerticalPlaneEnabled,this._configuration.pointDistanceEnabled=this.pointDistanceEnabled,this._configuration.intersectsLineEnabled=this.intersectsLineEnabled,this._configuration.contrastControlEnabled=this.contrastControlEnabled,this._configuration.spherical=this.view.state.viewingMode===u.Global,this._techniques.get(D,this._configuration)}_renderUnified(){if(!this._updatePassParameters())return;const e=this._acquireTechnique();if(e.compiled){const t=this.renderingContext;t.bindTechnique(e,this.bindParameters,this._passParameters),t.screen.draw()}else this.requestRender(T.UPDATE)}_renderPath(){if(null==this._pathVerticalPlaneData)return;const e=this._techniques.get(b,this._pathTechniqueConfiguration);if(e.compiled){const t=this.renderingContext;this._passParameters.origin=this._pathVerticalPlaneData.origin,t.bindTechnique(e,this.bindParameters,this._passParameters),this._pathVerticalPlaneData.draw(t)}else this.requestRender(T.UPDATE)}_updatePassParameters(){if(!this._intersectsLineEnabled)return!0;const e=this.bindParameters.camera,t=this._passParameters;if(this._intersectsLineInfinite){if(o(p(t.intersectsLineSegment.origin,t.intersectsLineSegment.vector),w),w.c0=-Number.MAX_VALUE,!c(e.frustum,w))return!1;l(w,t.lineStartWorld),h(w,t.lineEndWorld)}else s(t.lineStartWorld,t.intersectsLineSegment.origin),r(t.lineEndWorld,t.intersectsLineSegment.origin,t.intersectsLineSegment.vector);return!0}get test(){}};e([i({constructOnly:!0})],j.prototype,"contrastControlEnabled",void 0),e([i()],j.prototype,"isDecoration",void 0),e([i()],j.prototype,"produces",void 0),e([i()],j.prototype,"consumes",void 0),j=e([n("esri.views.3d.webgl-engine.effects.laserlines.LaserLineRenderer")],j);const w=a();export{j as LaserLineRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../../../../chunks/tslib.es6.js";import{ShaderTechniqueConfiguration as r,parameter as t}from"../../core/shaderTechnique/ShaderTechniqueConfiguration.js";class e extends r{constructor(){super(...arguments),this.contrastControlEnabled=!1,this.spherical=!1}}o([t()],e.prototype,"contrastControlEnabled",void 0),o([t()],e.prototype,"spherical",void 0);export{e as LaserlinePathTechniqueConfiguration};
5
+ import{_ as o}from"../../../../../chunks/tslib.es6.js";import{parameter as r,ShaderTechniqueConfiguration as t}from"../../core/shaderTechnique/ShaderTechniqueConfiguration.js";class e extends t{constructor(){super(...arguments),this.contrastControlEnabled=!1,this.spherical=!1}}o([r()],e.prototype,"contrastControlEnabled",void 0),o([r()],e.prototype,"spherical",void 0);export{e as LaserlinePathTechniqueConfiguration};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{VertexAttribute as O}from"./VertexAttribute.js";const E=new Map([[O.POSITION,0],[O.NORMAL,1],[O.NORMALCOMPRESSED,1],[O.UV0,2],[O.UVI,2],[O.COLOR,3],[O.COLORFEATUREATTRIBUTE,3],[O.SIZE,4],[O.TANGENT,4],[O.CENTEROFFSETANDDISTANCE,5],[O.SYMBOLCOLOR,5],[O.FEATUREATTRIBUTE,6],[O.INSTANCEFEATUREATTRIBUTE,6],[O.INSTANCECOLOR,7],[O.OLIDCOLOR,7],[O.INSTANCEOBJECTANDLAYERIDCOLOR,7],[O.ROTATION,8],[O.INSTANCEMODEL,8],[O.INSTANCEMODELNORMAL,12],[O.INSTANCEMODELORIGINHI,11],[O.INSTANCEMODELORIGINLO,15]]);export{E as Default3D};
5
+ import{VertexAttribute as O}from"./VertexAttribute.js";const E=new Map([[O.POSITION,0],[O.NORMAL,1],[O.NORMALCOMPRESSED,1],[O.UV0,2],[O.UVI,2],[O.COLOR,3],[O.COLORFEATUREATTRIBUTE,3],[O.SIZE,4],[O.TANGENT,4],[O.CENTEROFFSETANDDISTANCE,5],[O.SYMBOLCOLOR,5],[O.FEATUREATTRIBUTE,6],[O.INSTANCEFEATUREATTRIBUTE,6],[O.OLIDCOLOR,6],[O.INSTANCEOBJECTANDLAYERIDCOLOR,6],[O.INSTANCECOLOR,7],[O.ROTATION,8],[O.INSTANCEMODEL,8],[O.INSTANCEMODELNORMAL,12],[O.INSTANCEMODELORIGINHI,11],[O.INSTANCEMODELORIGINLO,15]]);export{E as Default3D};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import{clone as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{IntersectorResult as r,isValidIntersectorResult as e}from"./IntersectorResult.js";import{IntersectorType as s}from"./IntersectorType.js";import{ObjectTarget as o}from"./ObjectTarget.js";class c extends r{constructor(){super(...arguments),this.intersector=s.HUD}}class i extends o{constructor(r,e){super(r.object,r.geometryId,r.primitiveIndex),this.center=t(e)}}function n(t){return e(t)&&t.intersector===s.HUD&&!!t.target&&"center"in t.target}export{c as HUDIntersectorResult,i as HUDTarget,n as isHUDIntersectorResult};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{copy as t}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as r,IDENTITY as i}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{g as s,l as e,f as n,c as a,n as o,t as h}from"../../../../chunks/vec32.js";import{create as c,UNIT_Z as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{t as l}from"../../../../chunks/vec42.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{create as f,copy as y,fromPoints as u}from"../../../../geometry/support/ray.js";import{ViewingMode as p}from"../../../ViewingMode.js";import{IntersectorType as g,IntersectorOptions as _,StoreResults as O}from"./IntersectorInterfaces.js";import{HudTarget as L}from"./IntersectorTarget.js";import{isValidIntersectorResult as v}from"./intersectorUtils.js";import{IntersectorTransform as j,getVerticalOffsetObject3D as b}from"./verticalOffsetUtils.js";const w=1e-5;class E{constructor(t){this.options=new _,this._results=new T,this.transform=new j,this.tolerance=w,this.verticalOffset=null,this._ray=f(),this._rayEnd=c(),this._rayBeginTransformed=c(),this._rayEndTransformed=c(),this.viewingMode=t??p.Global}get results(){return this._results}get ray(){return this._ray}get rayBegin(){return this._ray.origin}get rayEnd(){return this._rayEnd}reset(t,r,i){this.resetWithRay(u(t,r,this._ray),i)}resetWithRay(t,r){this.camera=r,t!==this._ray&&y(t,this._ray),0!==this.options.verticalOffset?this.viewingMode===p.Local?this._ray.origin[2]-=this.options.verticalOffset:this.verticalOffset=this.options.verticalOffset:this.verticalOffset=null,n(this._rayEnd,this._ray.origin,this._ray.direction),this._results.init(this._ray)}intersect(t=null,r,i,s,e){this.point=r,this.filterPredicate=s,this.tolerance=i??w;const n=b(this.verticalOffset);if(t&&t.length>0){const r=e?t=>{e(t)&&this.intersectObject(t)}:t=>{this.intersectObject(t)};for(const i of t){const t=i.getSpatialQueryAccelerator?.();null!=t?(null!=n?t.forEachAlongRayWithVerticalOffset(this._ray.origin,this._ray.direction,r,n):t.forEachAlongRay(this._ray.origin,this._ray.direction,r),this.options.selectionMode&&this.options.hud&&t.forEachDegenerateObject(r)):i.objects.forEach((t=>r(t)))}}this.sortResults()}intersectObject(t){const r=t.geometries;if(!r)return;const i=t.effectiveTransformation,s=b(this.verticalOffset);for(const e of r){if(!e.visible)continue;const{material:r,id:n}=e;if(!r.visible)continue;this.transform.setAndInvalidateLazyTransforms(i,e.transformation),h(this._rayBeginTransformed,this.rayBegin,this.transform.inverse),h(this._rayEndTransformed,this.rayEnd,this.transform.inverse);const a=this.transform.transform;null!=s&&(s.objectTransform=this.transform),r.intersect(e,this.transform.transform,this,this._rayBeginTransformed,this._rayEndTransformed,((r,i,s,e,o,h)=>this.handleObjectIntersection({object:t,geometryId:n,primitiveIndex:s},r,i,e,a,o,h)))}}handleObjectIntersection(t,r,s,e,n,a,o){if(r<0)return;if(null!=this.filterPredicate&&!this.filterPredicate(this._ray.origin,this._rayEnd,r))return;const h=e?this._results.hud:this._results,c=e?e=>{const n=new L(t.object,t.geometryId,t.primitiveIndex,o);e.set(g.HUD,n,r,s,i,a)}:i=>i.set(g.OBJECT,t,r,s,n,a);if((null==h.min.drapedLayerOrder||a>=h.min.drapedLayerOrder)&&(null==h.min.dist||r<h.min.dist)&&c(h.min),this.options.store!==O.MIN&&(null==h.max.drapedLayerOrder||a<h.max.drapedLayerOrder)&&(null==h.max.dist||r>h.max.dist)&&c(h.max),this.options.store===O.ALL)if(e){const t=new B(this._ray);c(t),this._results.hud.all.push(t)}else{const t=new A(this._ray);c(t),this._results.all.push(t)}}sortResults(t=this._results.all){t.sort(((t,r)=>t.dist!==r.dist?(t.dist??0)-(r.dist??0):t.drapedLayerOrder!==r.drapedLayerOrder?x(t.drapedLayerOrder,r.drapedLayerOrder):x(t.drapedLayerGraphicOrder,r.drapedLayerGraphicOrder)))}}function x(t,r){return(r??-Number.MAX_VALUE)-(t??-Number.MAX_VALUE)}function I(t){return new E(t)}class T{constructor(){this.min=new A(f()),this.max=new A(f()),this.hud={min:new B(f()),max:new B(f()),all:new Array},this.ground=new A(f()),this.all=[]}init(t){this.min.init(t),this.max.init(t),this.ground.init(t),this.all.length=0,this.hud.min.init(t),this.hud.max.init(t),this.hud.all.length=0}}class A{get ray(){return this._ray}get distanceInRenderSpace(){return null!=this.dist?(s(G,this.ray.direction,this.dist),e(G)):null}withinDistance(t){return!!v(this)&&this.distanceInRenderSpace<=t}getIntersectionPoint(t){return!!v(this)&&(s(G,this.ray.direction,this.dist),n(t,this.ray.origin,G),!0)}getTransformedNormal(t){return a(M,this.normal),M[3]=0,l(M,M,this.transformation),a(t,M),o(t,t)}constructor(t){this.intersector=g.OBJECT,this.normal=c(),this.transformation=r(),this._ray=f(),this.init(t)}init(t){this.dist=null,this.target=null,this.drapedLayerOrder=null,this.drapedLayerGraphicOrder=null,this.intersector=g.OBJECT,y(t,this._ray)}set(r,s,e,n,o,h,c){this.intersector=r,this.dist=e,a(this.normal,n??d),t(this.transformation,o??i),this.target=s,this.drapedLayerOrder=h,this.drapedLayerGraphicOrder=c}copy(r){y(r.ray,this._ray),this.intersector=r.intersector,this.dist=r.dist,this.target=r.target,this.drapedLayerOrder=r.drapedLayerOrder,this.drapedLayerGraphicOrder=r.drapedLayerGraphicOrder,a(this.normal,r.normal),t(this.transformation,r.transformation)}}class B extends A{constructor(){super(...arguments),this.intersector=g.HUD}}function R(t){return new A(t)}const G=c(),M=m();export{w as defaultTolerance,I as newIntersector,R as newIntersectorResult};
5
+ import{f as t,t as r}from"../../../../chunks/vec32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as i,fromPoints as e,copy as n}from"../../../../geometry/support/ray.js";import{ViewingMode as a}from"../../../ViewingMode.js";import o from"../../webgl/RenderCamera.js";import{HUDTarget as h,HUDIntersectorResult as c}from"./HUDIntersectorResult.js";import{IntersectorOptions as l,StoreResults as f}from"./IntersectorInterfaces.js";import{IntersectorResult as d}from"./IntersectorResult.js";import{IntersectorType as m}from"./IntersectorType.js";import{IntersectorTransform as u,getVerticalOffsetObject3D as y}from"./verticalOffsetUtils.js";const _=1e-5;class g{constructor(t){this.options=new l,this._results=new O,this.transform=new u,this.camera=new o,this.tolerance=_,this.verticalOffset=null,this._ray=i(),this._rayEnd=s(),this._rayBeginTransformed=s(),this._rayEndTransformed=s(),this.viewingMode=t??a.Global}get results(){return this._results}get ray(){return this._ray}get rayBegin(){return this._ray.origin}get rayEnd(){return this._rayEnd}reset(t,r,s){this.resetWithRay(e(t,r,this._ray),s)}resetWithRay(r,s){this.camera=s,r!==this._ray&&n(r,this._ray),0!==this.options.verticalOffset?this.viewingMode===a.Local?this._ray.origin[2]-=this.options.verticalOffset:this.verticalOffset=this.options.verticalOffset:this.verticalOffset=null,t(this._rayEnd,this._ray.origin,this._ray.direction),this._results.init(this._ray)}intersect(t=null,r,s,i,e){this.point=r,this.filterPredicate=i,this.tolerance=s??_;const n=y(this.verticalOffset);if(t&&t.length>0){const r=e?t=>{e(t)&&this.intersectObject(t)}:t=>{this.intersectObject(t)};for(const s of t){const t=s.getSpatialQueryAccelerator?.();null!=t?(null!=n?t.forEachAlongRayWithVerticalOffset(this._ray.origin,this._ray.direction,r,n):t.forEachAlongRay(this._ray.origin,this._ray.direction,r),this.options.selectionMode&&this.options.hud&&t.forEachDegenerateObject(r)):s.objects.forEach((t=>r(t)))}}this.sortResults()}intersectObject(t){const s=t.geometries;if(!s)return;const i=t.effectiveTransformation,e=y(this.verticalOffset);for(const n of s){if(!n.visible)continue;const{material:s,id:a}=n;if(!s.visible)continue;this.transform.setAndInvalidateLazyTransforms(i,n.transformation),r(this._rayBeginTransformed,this.rayBegin,this.transform.inverse),r(this._rayEndTransformed,this.rayEnd,this.transform.inverse);const o=this.transform.transform;null!=e&&(e.objectTransform=this.transform),s.intersect(n,this.transform.transform,this,this._rayBeginTransformed,this._rayEndTransformed,((r,s,i,e)=>this.handleObjectIntersection({object:t,geometryId:a,primitiveIndex:i},r,s,o,e)))}}handleObjectIntersection(t,r,s,i,e){if(r<0||null!=this.filterPredicate&&!this.filterPredicate(this._ray.origin,this._rayEnd,r))return;const n=e?this._results.hud:this._results;t=e?new h(t,e):t;const a=e?i=>i.set(m.HUD,t,r,s):e=>e.set(m.OBJECT,t,r,s,i);if((null==n.min.distance||r<n.min.distance)&&a(n.min),this.options.store!==f.MIN&&(null==n.max.distance||r>n.max.distance)&&a(n.max),this.options.store===f.ALL)if(e){const t=new c(this._ray);a(t),this._results.hud.all.push(t)}else{const t=new d(this._ray);a(t),this._results.all.push(t)}}sortResults(t=this._results.all){t.sort(((t,r)=>t.distance!==r.distance?(t.distance??0)-(r.distance??0):t.drapedLayerOrder!==r.drapedLayerOrder?p(t.drapedLayerOrder,r.drapedLayerOrder):p(t.renderPriority,r.renderPriority)))}}function p(t,r){return(r??-Number.MAX_VALUE)-(t??-Number.MAX_VALUE)}class O{constructor(){this.min=new d(i()),this.max=new d(i()),this.hud={min:new c(i()),max:new c(i()),all:new Array},this.ground=new d(i()),this.all=[]}init(t){this.min.init(t),this.max.init(t),this.ground.init(t),this.all.length=0,this.hud.min.init(t),this.hud.max.init(t),this.hud.all.length=0}}export{g as Intersector,_ as defaultTolerance};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- var i,e;!function(i){i[i.OBJECT=0]="OBJECT",i[i.HUD=1]="HUD",i[i.TERRAIN=2]="TERRAIN",i[i.OVERLAY=3]="OVERLAY",i[i.I3S=4]="I3S",i[i.PCL=5]="PCL",i[i.LOD=6]="LOD",i[i.VOXEL=7]="VOXEL",i[i.TILES3D=8]="TILES3D"}(i||(i={}));class s{constructor(){this.verticalOffset=0,this.selectionMode=!1,this.hud=!0,this.selectOpaqueTerrainOnly=!0,this.invisibleTerrain=!1,this.backfacesTerrain=!0,this.isFiltered=!1,this.filteredLayerViewUids=[],this.store=e.ALL,this.normalRequired=!0,this.excludeLabels=!1}}!function(i){i[i.MIN=0]="MIN",i[i.MINMAX=1]="MINMAX",i[i.ALL=2]="ALL"}(e||(e={}));export{s as IntersectorOptions,i as IntersectorType,e as StoreResults};
5
+ class e{constructor(){this.verticalOffset=0,this.selectionMode=!1,this.hud=!0,this.selectOpaqueTerrainOnly=!0,this.invisibleTerrain=!1,this.backfacesTerrain=!0,this.isFiltered=!1,this.filteredLayerViewUids=[],this.store=i.ALL,this.normalRequired=!0,this.excludeLabels=!1}}var i;!function(e){e[e.MIN=0]="MIN",e[e.MINMAX=1]="MINMAX",e[e.ALL=2]="ALL"}(i||(i={}));export{e as IntersectorOptions,i as StoreResults};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import{copy as t}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as r,IDENTITY as i}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{g as s,l as e,f as a,c as n,n as o}from"../../../../chunks/vec32.js";import{create as c,UNIT_Z as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{t as m}from"../../../../chunks/vec42.js";import{create as d}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{create as l,copy as y}from"../../../../geometry/support/ray.js";import{IntersectorType as f}from"./IntersectorType.js";class p{get ray(){return this._ray}get distanceInRenderSpace(){return null==this.distance?null:(s(u,this.ray.direction,this.distance),e(u))}withinDistance(t){return!!g(this)&&this.distanceInRenderSpace<=t}getIntersectionPoint(t){return!!g(this)&&(s(u,this.ray.direction,this.distance),a(t,this.ray.origin,u),!0)}getTransformedNormal(t){return n(j,this.normal),j[3]=0,m(j,j,this.transformation),n(t,j),o(t,t)}constructor(t){this.intersector=f.OBJECT,this.normal=c(),this.transformation=r(),this._ray=l(),this.init(t)}init(t){this.distance=this.target=this.drapedLayerOrder=this.renderPriority=null,this.intersector=f.OBJECT,y(t,this._ray)}set(r,s,e,a,o,c,m){this.intersector=r,this.distance=e,n(this.normal,a??h),t(this.transformation,o??i),this.target=s,this.drapedLayerOrder=c,this.renderPriority=m}copy(r){y(r.ray,this._ray),this.intersector=r.intersector,this.distance=r.distance,this.target=r.target,this.drapedLayerOrder=r.drapedLayerOrder,this.renderPriority=r.renderPriority,n(this.normal,r.normal),t(this.transformation,r.transformation)}}function g(t){return null!=t?.distance}const u=c(),j=d();export{p as IntersectorResult,g as isValidIntersectorResult};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{clone as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";class t{constructor(s,t,e){this.object=s,this.geometryId=t,this.primitiveIndex=e}}class e extends t{constructor(t,e,r,c){super(t,e,r),this.center=null!=c?s(c):null}}class r extends e{}class c{constructor(s){this.layerViewUid=s}}class i extends c{constructor(s,t){super(s),this.graphicUid=t}}export{i as Graphic3DTarget,e as HudTarget,c as LayerTarget,t as ObjectTarget,r as ValidHudTarget};
5
+ class s{constructor(s){this.layerViewUid=s}}class r extends s{constructor(s,r){super(s),this.graphicUid=r}}export{r as Graphic3DTarget,s as LayerTarget};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ var E;!function(E){E[E.OBJECT=0]="OBJECT",E[E.HUD=1]="HUD",E[E.TERRAIN=2]="TERRAIN",E[E.OVERLAY=3]="OVERLAY",E[E.I3S=4]="I3S",E[E.PCL=5]="PCL",E[E.LOD=6]="LOD",E[E.VOXEL=7]="VOXEL",E[E.TILES3D=8]="TILES3D"}(E||(E={}));export{E as IntersectorType};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{releaseMaybe as e}from"../../../../core/maybe.js";import{c as t}from"../../../../chunks/vec42.js";import{ZEROS as i}from"../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{ColorFormat as r,DepthTextureFormat as o}from"../core/FBOCacheFormats.js";import{ViewportSize as h}from"./BindParameters.js";import{FramebufferBit as c,ColorAttachment1 as l}from"../../../webgl/enums.js";import{ensureAttachmentMaxSize as _}from"../../../webgl/FramebufferObject.js";class a{constructor(e){this._fbos=e,this._requiresEmission=!1,this._size=new h(0,0),this._clearColor=s()}dispose(){this._color=e(this._color),this.releaseDepth()}initialize(e,i,s,r){this._size.width=e,this._size.height=i,_(this._size,this._fbos.rctx.parameters.maxTextureSize);const o=this._color;return this._color=null,this.releaseDepth(),this._requiresEmission=r,t(this._clearColor,s),o}releaseDepth(){this._color?.detachDepth(),this._depth=e(this._depth)}update(e){const t=this._ensureColor();t.attachDepth(this.depth),this._color=e(t)}bind(){const{rctx:e}=this._fbos,t=null==this._color;this.color.attachDepth(this.depth),e.bindFramebuffer(this.color.fbo),t&&(e.setClearStencil(0),e.setClearColor(this._clearColor[0],this._clearColor[1],this._clearColor[2],this._clearColor[3]),e.clear(c.COLOR|c.DEPTH|c.STENCIL),this._requiresEmission&&e.clearBuffer(1,i))}_acquireColor(){return this._requiresEmission?this._fbos.acquire(this._size.width,this._size.height,"acquired-color").acquireColor(l,r.RGBA16FLOAT,"emissive"):this._fbos.acquire(this._size.width,this._size.height,"acquired-color")}_acquireDepth(){return this._fbos.acquireDepth(o.DEPTH24_STENCIL8,this._size.width,this._size.height,"depth")}get size(){return this._size}get color(){return this._ensureColor()}get depth(){return this._depth??=this._acquireDepth(),this._depth}_ensureColor(){return this._color??=this._acquireColor(),this._color}}export{a as MainFramebuffer};
5
+ import{releaseMaybe as e}from"../../../../core/maybe.js";import{c as t}from"../../../../chunks/vec42.js";import{ZEROS as i}from"../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{ColorFormat as r,DepthFormat as o}from"../core/FBOCacheFormats.js";import{ViewportSize as h}from"./BindParameters.js";import{FramebufferBit as c,ColorAttachment1 as l}from"../../../webgl/enums.js";import{ensureAttachmentMaxSize as _}from"../../../webgl/FramebufferObject.js";class a{constructor(e){this._fbos=e,this._requiresEmission=!1,this._size=new h(0,0),this._clearColor=s()}dispose(){this._color=e(this._color),this.releaseDepth()}initialize(e,i,s,r){this._size.width=e,this._size.height=i,_(this._size,this._fbos.rctx.parameters.maxTextureSize);const o=this._color;return this._color=null,this.releaseDepth(),this._requiresEmission=r,t(this._clearColor,s),o}releaseDepth(){this._color?.detachDepth(),this._depth=e(this._depth)}update(e){const t=this._ensureColor();t.attachDepth(this.depth),this._color=e(t)}bind(){const{rctx:e}=this._fbos,t=null==this._color;this.color.attachDepth(this.depth),e.bindFramebuffer(this.color.fbo),t&&(e.setClearStencil(0),e.setClearColor(this._clearColor[0],this._clearColor[1],this._clearColor[2],this._clearColor[3]),e.clear(c.COLOR|c.DEPTH|c.STENCIL),this._requiresEmission&&e.clearBuffer(1,i))}_acquireColor(){return this._requiresEmission?this._fbos.acquire(this._size.width,this._size.height,"acquired-color").acquireColor(l,r.RGBA16FLOAT,"emissive"):this._fbos.acquire(this._size.width,this._size.height,"acquired-color")}_acquireDepth(){return this._fbos.acquireDepth(o.DEPTH24_STENCIL8,this._size.width,this._size.height,"depth")}get size(){return this._size}get color(){return this._ensureColor()}get depth(){return this._depth??=this._acquireDepth(),this._depth}_ensureColor(){return this._color??=this._acquireColor(),this._color}}export{a as MainFramebuffer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{generateUID as e}from"../../../../core/uid.js";import{fromValues as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{Default3D as i}from"./DefaultVertexAttributeLocations.js";import{DefaultTechniqueConfiguration as s}from"../materials/DefaultTechniqueConfiguration.js";import{updateParameters as a}from"../materials/internal/MaterialUtil.js";import{NoParameters as n}from"../../../webgl/NoParameters.js";class o{constructor(t,s){this.id=e(),this.supportsEdges=!1,this._renderPriority=0,this.vertexAttributeLocations=i,this._pp0=r(0,0,1),this._pp1=r(0,0,0),this._parameters=new s,a(this._parameters,t),this.validateParameters(this._parameters)}get parameters(){return this._parameters}update(e){return!1}setParameters(e,r=!0){a(this._parameters,e)&&(this.validateParameters(this._parameters),r&&this._parametersChanged())}validateParameters(e){}shouldRender(e){return this.visible&&this.isVisibleForOutput(e.output)&&(!this.parameters.isDecoration||e.bind.decorations)&&!!(this.parameters.renderOccluded&e.renderOccludedMask)}isVisibleForOutput(e){return!0}get renderPriority(){return this._renderPriority}set renderPriority(e){e!==this._renderPriority&&(this._renderPriority=e,this._parametersChanged())}_parametersChanged(){this.repository?.materialChanged(this)}queryRenderOccludedState(e){return this.visible&&this.parameters.renderOccluded===e}get hasEmissions(){return!1}getConfiguration(e,r,i=new s){return i.output=e,i.hasHighlightMixTexture=e===t.Highlight&&null!=r.highlightMixTexture,i}intersectDraped(e,r,t,i,s,a){return this._pp0[0]=this._pp1[0]=i[0],this._pp0[1]=this._pp1[1]=i[1],this.intersect(e,r,t,this._pp0,this._pp1,s)}}var p;!function(e){e[e.None=0]="None",e[e.Occlude=1]="Occlude",e[e.Transparent=2]="Transparent",e[e.OccludeAndTransparent=4]="OccludeAndTransparent",e[e.OccludeAndTransparentStencil=8]="OccludeAndTransparentStencil",e[e.Opaque=16]="Opaque"}(p||(p={}));class h extends n{constructor(){super(...arguments),this.renderOccluded=p.Occlude,this.isDecoration=!1}}export{o as Material,h as MaterialParameters,p as RenderOccludedFlag};
5
+ import{generateUID as e}from"../../../../core/uid.js";import{ShaderOutput as r}from"../core/shaderLibrary/ShaderOutput.js";import{Default3D as t}from"./DefaultVertexAttributeLocations.js";import{DefaultTechniqueConfiguration as i}from"../materials/DefaultTechniqueConfiguration.js";import{updateParameters as s}from"../materials/internal/MaterialUtil.js";import{NoParameters as a}from"../../../webgl/NoParameters.js";class n{constructor(r,i){this.id=e(),this.supportsEdges=!1,this.vertexAttributeLocations=t,this._renderPriority=0,this._parameters=new i,s(this._parameters,r),this.validateParameters(this._parameters)}get parameters(){return this._parameters}update(e){return!1}setParameters(e,r=!0){s(this._parameters,e)&&(this.validateParameters(this._parameters),r&&this._parametersChanged())}validateParameters(e){}shouldRender(e){return this.visible&&this.isVisibleForOutput(e.output)&&(!this.parameters.isDecoration||e.bind.decorations)&&!!(this.parameters.renderOccluded&e.renderOccludedMask)}isVisibleForOutput(e){return!0}get renderPriority(){return this._renderPriority}set renderPriority(e){e!==this._renderPriority&&(this._renderPriority=e,this._parametersChanged())}_parametersChanged(){this.repository?.materialChanged(this)}queryRenderOccludedState(e){return this.visible&&this.parameters.renderOccluded===e}get hasEmissions(){return!1}getConfiguration(e,t,s=new i){return s.output=e,s.hasHighlightMixTexture=e===r.Highlight&&null!=t.highlightMixTexture,s}}var o;!function(e){e[e.None=0]="None",e[e.Occlude=1]="Occlude",e[e.Transparent=2]="Transparent",e[e.OccludeAndTransparent=4]="OccludeAndTransparent",e[e.OccludeAndTransparentStencil=8]="OccludeAndTransparentStencil",e[e.Opaque=16]="Opaque"}(o||(o={}));class u extends a{constructor(){super(...arguments),this.renderOccluded=o.Occlude,this.isDecoration=!1}}export{n as Material,u as MaterialParameters,o as RenderOccludedFlag};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as t}from"../../../../core/mathUtils.js";import{n as r,q as o}from"../../../../chunks/vec32.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{newFloatArray as a}from"../../../../geometry/support/FloatArray.js";import{newShortArray as s}from"../../../../geometry/support/ShortArray.js";function e(t,r,o,n,a,s=2){const e=1/(Math.abs(o)+Math.abs(n)+Math.abs(a)),c=o*e,f=n*e,u=a<=0?(c>=0?1:-1)*(1-Math.abs(f)):c,h=a<=0?(f>=0?1:-1)*(1-Math.abs(c)):f,m=r*s;t[m]=i(u),t[m+1]=i(h)}function c(t){const r=t.length/3,o=s(2*r);let n=0;for(let a=0;a<r;++a)e(o,a,t[n++],t[n++],t[n++]);return o}function f(t,r){const a=t.length/3,s=new Int16Array(2*a);let c=0;const f=n();for(let n=0;n<a;++n)f[0]=t[c++],f[1]=t[c++],f[2]=t[c++],o(f,f,r),e(s,n,f[0],f[1],f[2]);return s}function u(t,o,n,a=2){const s=n*a,e=m(o[s]),c=m(o[s+1]),f=1-Math.abs(e)-Math.abs(c);return t[2]=f,f<0?(t[0]=(e>=0?1:-1)*(1-Math.abs(c)),t[1]=(c>=0?1:-1)*(1-Math.abs(e))):(t[0]=e,t[1]=c),r(t,t)}function h(t,r=2){const o=t.length/r,s=a(3*o),e=n();let c=0;for(let n=0;n<o;++n)u(e,t,n,r),s[c++]=e[0],s[c++]=e[1],s[c++]=e[2];return s}function i(r){return t(Math.round(32767*r),-32767,32767)}function m(r){return t(r/32767,-1,1)}export{f as compressAndTransformNormals,e as compressNormal,c as compressNormals,m as decodeInt16,u as decompressNormal,h as decompressNormals,i as encodeInt16};
5
+ import{clamp as t}from"../../../../core/mathUtils.js";import{n as r,o}from"../../../../chunks/vec32.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{newFloatArray as a}from"../../../../geometry/support/FloatArray.js";import{newShortArray as s}from"../../../../geometry/support/ShortArray.js";function e(t,r,o,n,a,s=2){const e=1/(Math.abs(o)+Math.abs(n)+Math.abs(a)),c=o*e,f=n*e,u=a<=0?(c>=0?1:-1)*(1-Math.abs(f)):c,h=a<=0?(f>=0?1:-1)*(1-Math.abs(c)):f,m=r*s;t[m]=i(u),t[m+1]=i(h)}function c(t){const r=t.length/3,o=s(2*r);let n=0;for(let a=0;a<r;++a)e(o,a,t[n++],t[n++],t[n++]);return o}function f(t,r){const a=t.length/3,s=new Int16Array(2*a);let c=0;const f=n();for(let n=0;n<a;++n)f[0]=t[c++],f[1]=t[c++],f[2]=t[c++],o(f,f,r),e(s,n,f[0],f[1],f[2]);return s}function u(t,o,n,a=2){const s=n*a,e=m(o[s]),c=m(o[s+1]),f=1-Math.abs(e)-Math.abs(c);return t[2]=f,f<0?(t[0]=(e>=0?1:-1)*(1-Math.abs(c)),t[1]=(c>=0?1:-1)*(1-Math.abs(e))):(t[0]=e,t[1]=c),r(t,t)}function h(t,r=2){const o=t.length/r,s=a(3*o),e=n();let c=0;for(let n=0;n<o;++n)u(e,t,n,r),s[c++]=e[0],s[c++]=e[1],s[c++]=e[2];return s}function i(r){return t(Math.round(32767*r),-32767,32767)}function m(r){return t(r/32767,-1,1)}export{f as compressAndTransformNormals,e as compressNormal,c as compressNormals,m as decodeInt16,u as decompressNormal,h as decompressNormals,i as encodeInt16};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/has.js";import{generateUID as t}from"../../../../core/uid.js";import{multiply as i,copy as e,hasIdentityRotation as s}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as o,IDENTITY as r}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{m as a,t as n,j as h,i as m,f as l,p as c,c as d}from"../../../../chunks/vec32.js";import{create as g,fromValues as u}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{a as f,c as _}from"../../../../chunks/sphere.js";import{maxScale as b}from"../../support/mathUtils.js";import{Object3DState as v}from"./basicInterfaces.js";import{Object3DOccludeeStateID as p,Object3DHighlightStateID as S}from"./Object3DStateID.js";import{assert as j}from"./Util.js";import{affectsGeometry as y}from"./VertexAttribute.js";import{addObject3DStateID as x,removeObject3DStateID as V}from"../materials/renderers/utils.js";class A{constructor(i={}){this.id=t(),this._highlightIds=new Set,this._shaderTransformation=null,this._visible=!0,this.castShadow=i.castShadow??!0,this.usesVerticalDistanceToGround=i.usesVerticalDistanceToGround??!1,this.graphicUid=i.graphicUid,this.layerViewUid=i.layerViewUid,i.isElevationSource&&(this.lastValidElevationBB=new M),this._geometries=i.geometries?Array.from(i.geometries):new Array}dispose(){this._geometries.length=0}get layer(){return this._layer}set layer(t){j(null==this._layer||null==t,"Object3D can only be added to a single Layer"),this._layer=t}addGeometry(t){t.visible=this._visible,this._geometries.push(t);for(const i of this._highlightIds)t.addHighlight(i);this._emit("geometryAdded",{object:this,geometry:t}),this._highlightIds.size&&this._emit("highlightChanged",this),this._invalidateBoundingVolume()}removeGeometry(t){const i=this._geometries.splice(t,1)[0];if(i){for(const t of this._highlightIds)i.removeHighlight(t);this._emit("geometryRemoved",{object:this,geometry:i}),this._highlightIds.size&&this._emit("highlightChanged",this),this._invalidateBoundingVolume()}}removeAllGeometries(){for(;this._geometries.length>0;)this.removeGeometry(0)}geometryVertexAttributeUpdated(t,i,e=!1){this._emit("attributesChanged",{object:this,geometry:t,attribute:i,sync:e}),y(i)&&this._invalidateBoundingVolume()}get visible(){return this._visible}set visible(t){if(this._visible!==t){this._visible=t;for(const t of this._geometries)t.visible=this._visible;this._emit("visibilityChanged",this)}}maskOccludee(){const t=new p;for(const i of this._geometries)i.occludees=x(i.occludees,t);return this._emit("occlusionChanged",this),t}removeOcclude(t){for(const i of this._geometries)i.occludees=V(i.occludees,t);this._emit("occlusionChanged",this)}highlight(t){const i=new S(t);for(const e of this._geometries)e.addHighlight(i);return this._emit("highlightChanged",this),this._highlightIds.add(i),i}removeHighlight(t){this._highlightIds.delete(t);for(const i of this._geometries)i.removeHighlight(t);this._emit("highlightChanged",this)}removeStateID(t){t.channel===v.Highlight?this.removeHighlight(t):this.removeOcclude(t)}getCombinedStaticTransformation(t,e){return i(e,this.transformation,t.transformation)}getCombinedShaderTransformation(t,e=o()){return i(e,this.effectiveTransformation,t.transformation)}get boundingVolumeWorldSpace(){return this._bvWorldSpace||(this._bvWorldSpace=this._bvWorldSpace||new O,this._validateBoundingVolume(this._bvWorldSpace,w.WorldSpace)),this._bvWorldSpace}get boundingVolumeObjectSpace(){return this._bvObjectSpace||(this._bvObjectSpace=this._bvObjectSpace||new O,this._validateBoundingVolume(this._bvObjectSpace,w.ObjectSpace)),this._bvObjectSpace}_validateBoundingVolume(t,i){const e=i===w.ObjectSpace;for(const s of this._geometries){const i=s.boundingInfo;i&&T(i,t,e?s.transformation:this.getCombinedShaderTransformation(s))}a(f(t.bounds),t.min,t.max,.5);for(const s of this._geometries){const i=s.boundingInfo;if(null==i)continue;const o=e?s.transformation:this.getCombinedShaderTransformation(s),r=b(o);n(I,i.center,o);const a=h(I,f(t.bounds)),m=i.radius*r;t.bounds[3]=Math.max(t.bounds[3],a+m)}}_invalidateBoundingVolume(){const t=this._bvWorldSpace?.bounds;this._bvObjectSpace=this._bvWorldSpace=void 0,this.layer&&t&&this.layer.notifyObjectBBChanged(this,t)}_emit(t,i){this.layer?.events.emit(t,i)}get geometries(){return this._geometries}get transformation(){return this._transformation??r}set transformation(t){this._transformation=e(this._transformation??o(),t),this._invalidateBoundingVolume(),this._emit("transformationChanged",this)}get shaderTransformation(){return this._shaderTransformation}set shaderTransformation(t){this._shaderTransformation=t?e(this._shaderTransformation??o(),t):null,this._invalidateBoundingVolume(),this._emit("shaderTransformationChanged",this)}get effectiveTransformation(){return this.shaderTransformation??this.transformation}get test(){}}class M{constructor(){this.min=u(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this.max=u(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE)}isEmpty(){return this.max[0]<this.min[0]&&this.max[1]<this.min[1]&&this.max[2]<this.min[2]}}class O extends M{constructor(){super(...arguments),this.bounds=_()}}function T(t,i,e){const o=t.bbMin,r=t.bbMax;if(s(e)){const t=m(C,e[12],e[13],e[14]);l(B,o,t),l(U,r,t);for(let e=0;e<3;++e)i.min[e]=Math.min(i.min[e],B[e]),i.max[e]=Math.max(i.max[e],U[e])}else if(n(B,o,e),c(o,r))for(let s=0;s<3;++s)i.min[s]=Math.min(i.min[s],B[s]),i.max[s]=Math.max(i.max[s],B[s]);else{n(U,r,e);for(let t=0;t<3;++t)i.min[t]=Math.min(i.min[t],B[t],U[t]),i.max[t]=Math.max(i.max[t],B[t],U[t]);for(let t=0;t<3;++t){d(B,o),d(U,r),B[t]=r[t],U[t]=o[t],n(B,B,e),n(U,U,e);for(let t=0;t<3;++t)i.min[t]=Math.min(i.min[t],B[t],U[t]),i.max[t]=Math.max(i.max[t],B[t],U[t])}}}const C=g(),B=g(),U=g(),I=g();var w;!function(t){t[t.WorldSpace=0]="WorldSpace",t[t.ObjectSpace=1]="ObjectSpace"}(w||(w={}));export{O as BoundingVolume,A as Object3D};
5
+ import"../../../../core/has.js";import{generateUID as t}from"../../../../core/uid.js";import{multiply as i,copy as e,hasIdentityRotation as s}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as o,IDENTITY as r}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{m as a,t as n,j as h,i as m,f as l,q as c,c as d}from"../../../../chunks/vec32.js";import{create as g,fromValues as u}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{a as f,c as _}from"../../../../chunks/sphere.js";import{maxScale as b}from"../../support/mathUtils.js";import{Object3DState as v}from"./basicInterfaces.js";import{Object3DOccludeeStateID as p,Object3DHighlightStateID as S}from"./Object3DStateID.js";import{assert as j}from"./Util.js";import{affectsGeometry as y}from"./VertexAttribute.js";import{addObject3DStateID as x,removeObject3DStateID as V}from"../materials/renderers/utils.js";class A{constructor(i={}){this.id=t(),this._highlightIds=new Set,this._shaderTransformation=null,this._visible=!0,this.castShadow=i.castShadow??!0,this.usesVerticalDistanceToGround=i.usesVerticalDistanceToGround??!1,this.graphicUid=i.graphicUid,this.layerViewUid=i.layerViewUid,i.isElevationSource&&(this.lastValidElevationBB=new M),this._geometries=i.geometries?Array.from(i.geometries):new Array}dispose(){this._geometries.length=0}get layer(){return this._layer}set layer(t){j(null==this._layer||null==t,"Object3D can only be added to a single Layer"),this._layer=t}addGeometry(t){t.visible=this._visible,this._geometries.push(t);for(const i of this._highlightIds)t.addHighlight(i);this._emit("geometryAdded",{object:this,geometry:t}),this._highlightIds.size&&this._emit("highlightChanged",this),this._invalidateBoundingVolume()}removeGeometry(t){const i=this._geometries.splice(t,1)[0];if(i){for(const t of this._highlightIds)i.removeHighlight(t);this._emit("geometryRemoved",{object:this,geometry:i}),this._highlightIds.size&&this._emit("highlightChanged",this),this._invalidateBoundingVolume()}}removeAllGeometries(){for(;this._geometries.length>0;)this.removeGeometry(0)}geometryVertexAttributeUpdated(t,i,e=!1){this._emit("attributesChanged",{object:this,geometry:t,attribute:i,sync:e}),y(i)&&this._invalidateBoundingVolume()}get visible(){return this._visible}set visible(t){if(this._visible!==t){this._visible=t;for(const t of this._geometries)t.visible=this._visible;this._emit("visibilityChanged",this)}}maskOccludee(){const t=new p;for(const i of this._geometries)i.occludees=x(i.occludees,t);return this._emit("occlusionChanged",this),t}removeOcclude(t){for(const i of this._geometries)i.occludees=V(i.occludees,t);this._emit("occlusionChanged",this)}highlight(t){const i=new S(t);for(const e of this._geometries)e.addHighlight(i);return this._emit("highlightChanged",this),this._highlightIds.add(i),i}removeHighlight(t){this._highlightIds.delete(t);for(const i of this._geometries)i.removeHighlight(t);this._emit("highlightChanged",this)}removeStateID(t){t.channel===v.Highlight?this.removeHighlight(t):this.removeOcclude(t)}getCombinedStaticTransformation(t,e){return i(e,this.transformation,t.transformation)}getCombinedShaderTransformation(t,e=o()){return i(e,this.effectiveTransformation,t.transformation)}get boundingVolumeWorldSpace(){return this._bvWorldSpace||(this._bvWorldSpace=this._bvWorldSpace||new O,this._validateBoundingVolume(this._bvWorldSpace,w.WorldSpace)),this._bvWorldSpace}get boundingVolumeObjectSpace(){return this._bvObjectSpace||(this._bvObjectSpace=this._bvObjectSpace||new O,this._validateBoundingVolume(this._bvObjectSpace,w.ObjectSpace)),this._bvObjectSpace}_validateBoundingVolume(t,i){const e=i===w.ObjectSpace;for(const s of this._geometries){const i=s.boundingInfo;i&&T(i,t,e?s.transformation:this.getCombinedShaderTransformation(s))}a(f(t.bounds),t.min,t.max,.5);for(const s of this._geometries){const i=s.boundingInfo;if(null==i)continue;const o=e?s.transformation:this.getCombinedShaderTransformation(s),r=b(o);n(I,i.center,o);const a=h(I,f(t.bounds)),m=i.radius*r;t.bounds[3]=Math.max(t.bounds[3],a+m)}}_invalidateBoundingVolume(){const t=this._bvWorldSpace?.bounds;this._bvObjectSpace=this._bvWorldSpace=void 0,this.layer&&t&&this.layer.notifyObjectBBChanged(this,t)}_emit(t,i){this.layer?.events.emit(t,i)}get geometries(){return this._geometries}get transformation(){return this._transformation??r}set transformation(t){this._transformation=e(this._transformation??o(),t),this._invalidateBoundingVolume(),this._emit("transformationChanged",this)}get shaderTransformation(){return this._shaderTransformation}set shaderTransformation(t){this._shaderTransformation=t?e(this._shaderTransformation??o(),t):null,this._invalidateBoundingVolume(),this._emit("shaderTransformationChanged",this)}get effectiveTransformation(){return this.shaderTransformation??this.transformation}get test(){}}class M{constructor(){this.min=u(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this.max=u(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE)}isEmpty(){return this.max[0]<this.min[0]&&this.max[1]<this.min[1]&&this.max[2]<this.min[2]}}class O extends M{constructor(){super(...arguments),this.bounds=_()}}function T(t,i,e){const o=t.bbMin,r=t.bbMax;if(s(e)){const t=m(C,e[12],e[13],e[14]);l(B,o,t),l(U,r,t);for(let e=0;e<3;++e)i.min[e]=Math.min(i.min[e],B[e]),i.max[e]=Math.max(i.max[e],U[e])}else if(n(B,o,e),c(o,r))for(let s=0;s<3;++s)i.min[s]=Math.min(i.min[s],B[s]),i.max[s]=Math.max(i.max[s],B[s]);else{n(U,r,e);for(let t=0;t<3;++t)i.min[t]=Math.min(i.min[t],B[t],U[t]),i.max[t]=Math.max(i.max[t],B[t],U[t]);for(let t=0;t<3;++t){d(B,o),d(U,r),B[t]=r[t],U[t]=o[t],n(B,B,e),n(U,U,e);for(let t=0;t<3;++t)i.min[t]=Math.min(i.min[t],B[t],U[t]),i.max[t]=Math.max(i.max[t],B[t],U[t])}}}const C=g(),B=g(),U=g(),I=g();var w;!function(t){t[t.WorldSpace=0]="WorldSpace",t[t.ObjectSpace=1]="ObjectSpace"}(w||(w={}));export{O as BoundingVolume,A as Object3D};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import{isValidIntersectorResult as r}from"./IntersectorResult.js";import{IntersectorType as t}from"./IntersectorType.js";function e(e){return r(e)&&e.intersector===t.OBJECT&&!!e.target}export{e as isObjectIntersectorResult};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ class t{constructor(t,e,i){this.object=t,this.geometryId=e,this.primitiveIndex=i}}export{t as ObjectTarget};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{copy as t,set as e,length as s,normalize as i,dot as r,scale as o,add as n}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{h as l,i as h}from"../../../../chunks/vec32.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as p}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{newFloatArray as m}from"../../../../geometry/support/FloatArray.js";import{newHalfFloatArray as u}from"../../../../geometry/support/HalfFloatArray.js";import{getZeroIndexArray as f}from"../../../../geometry/support/Indices.js";import{Attribute as d,Vertices as A}from"./Attribute.js";import{decompressNormal as b,compressNormal as g}from"./Normals.js";import{intersectTriangles as v}from"./RayIntersections.js";import{VertexAttribute as I}from"./VertexAttribute.js";class x{constructor(t){this.builder=t}onPathChanged(t){this.builder.onPathChanged()}}class T extends x{constructor(t){super(t),this.color=p(255,255,255,255),this._size=a(),this.positions=m(3*this.builder.numVerticesTotal),this.normals=new Int16Array(2*this.builder.numVerticesTotal)}bakeVertexColors(t){this.color[0]=255*t[0],this.color[1]=255*t[1],this.color[2]=255*t[2],this.color[3]=255*(t.length>3?t[3]:1)}bake(a){t(this._size,a);const{numVerticesTotal:c,pathVertexData:p,positions:m,profileRightAxes:u,profileUpAxes:f,profileVertexAndNormals:d,profileAuxData:A}=this.builder;for(let t=0;t<c;++t){let c=p[t];c*=3;const v=w;let I=0,x=0;const T=b(C,u,t),O=b(V,f,t),j=4*t,y=e(R,d[j]*a[0],d[j+1]*a[1]),U=3*t;if(1===A[U+2])l(v,O,T),I=A[U]*a[0],x=A[U+1];else{const t=E,a=P;e(t,A[U],A[U+1]);const l=s(t);i(t,t);const c=r(y,t);if(Math.abs(c)>l){e(a,-t[1],t[0]);const s=r(y,a);o(t,t,l*Math.sign(c)),o(a,a,s),n(y,t,a)}h(v,0,0,0)}const F=T[0]*y[0]+O[0]*y[1],N=T[1]*y[0]+O[1]*y[1],_=T[2]*y[0]+O[2]*y[1];this.positions[U]=m[c]+F+v[0]*I,this.positions[U+1]=m[c+1]+N+v[1]*I,this.positions[U+2]=m[c+2]+_+v[2]*I;const z=d[j+2],D=d[j+3];g(this.normals,t,T[0]*z+O[0]*D+v[0]*x,T[1]*z+O[1]*D+v[1]*x,T[2]*z+O[2]*D+v[2]*x)}}createGeometryData(){const t=this.builder.vertexIndices;return[[I.POSITION,new d(this.positions,t,3,!0)],[I.NORMALCOMPRESSED,new d(this.normals,t,2,!0)],[I.COLOR,new d(this.color,f(t.length),4,!0)]]}onPathChanged(t){super.onPathChanged(t),this.bake(this.size)}intersect(t,e,s,i){const r=this.builder.vertexIndices,o=new A(this.positions,3),n=r.length/3;v(t,e,0,n,r,o,void 0,s,((t,e,s)=>i(t,s,e,!1)))}get size(){return this._size}}class O extends x{constructor(t,e,s,i){super(t),this.sizeAttributeValue=e,this.colorAttributeValue=s,this.opacityAttributeValue=i,this.baked=new T(t),this._vvSize=m(this.builder.path.vertices.length).fill(e),this._vvColor=u(this.builder.path.vertices.length).fill(s),this._vvOpacity=u(this.builder.path.vertices.length).fill(i)}createGeometryData(){const t=this.builder,{pathVertexIndices:e,vertexIndices:s}=t;return[[I.POSITION,new d(t.positions,e,3,!0)],[I.PROFILEVERTEXANDNORMAL,new d(t.profileVertexAndNormals,s,4,!0)],[I.PROFILEAUXDATA,new d(t.profileAuxData,s,3,!0)],[I.PROFILERIGHT,new d(t.profileRightAxes,s,2,!0)],[I.PROFILEUP,new d(t.profileUpAxes,s,2,!0)],[I.SIZEFEATUREATTRIBUTE,new d(this._vvSize,e,1,!0)],[I.COLORFEATUREATTRIBUTE,new d(this._vvColor,e,1,!0)],[I.OPACITYFEATUREATTRIBUTE,new d(this._vvOpacity,e,1,!0)]]}onPathChanged(t){super.onPathChanged(t);const e=t.getMutableAttribute(I.POSITION);e&&(e.data=this.builder.positions)}}const R=a(),E=a(),P=a(),w=c(),C=c(),V=c();export{O as FastUpdatePathGeometry,x as PathGeometryData,T as StaticPathGeometry};
5
+ import{copy as t,set as e,length as s,normalize as i,dot as r,scale as o,add as n}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{h as l,i as h}from"../../../../chunks/vec32.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as p}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{newFloatArray as m}from"../../../../geometry/support/FloatArray.js";import{newHalfFloatArray as u}from"../../../../geometry/support/HalfFloatArray.js";import{getZeroIndexArray as f}from"../../../../geometry/support/Indices.js";import{Attribute as d,Vertices as A}from"./Attribute.js";import{decompressNormal as b,compressNormal as g}from"./Normals.js";import{intersectTriangles as v}from"./RayIntersections.js";import{VertexAttribute as I}from"./VertexAttribute.js";class x{constructor(t){this.builder=t}onPathChanged(t){this.builder.onPathChanged()}}class T extends x{constructor(t){super(t),this.color=p(255,255,255,255),this._size=a(),this.positions=m(3*this.builder.numVerticesTotal),this.normals=new Int16Array(2*this.builder.numVerticesTotal)}bakeVertexColors(t){this.color[0]=255*t[0],this.color[1]=255*t[1],this.color[2]=255*t[2],this.color[3]=255*(t.length>3?t[3]:1)}bake(a){t(this._size,a);const{numVerticesTotal:c,pathVertexData:p,positions:m,profileRightAxes:u,profileUpAxes:f,profileVertexAndNormals:d,profileAuxData:A}=this.builder;for(let t=0;t<c;++t){let c=p[t];c*=3;const v=w;let I=0,x=0;const T=b(C,u,t),O=b(V,f,t),j=4*t,y=e(R,d[j]*a[0],d[j+1]*a[1]),U=3*t;if(1===A[U+2])l(v,O,T),I=A[U]*a[0],x=A[U+1];else{const t=E,a=P;e(t,A[U],A[U+1]);const l=s(t);i(t,t);const c=r(y,t);if(Math.abs(c)>l){e(a,-t[1],t[0]);const s=r(y,a);o(t,t,l*Math.sign(c)),o(a,a,s),n(y,t,a)}h(v,0,0,0)}const F=T[0]*y[0]+O[0]*y[1],N=T[1]*y[0]+O[1]*y[1],_=T[2]*y[0]+O[2]*y[1];this.positions[U]=m[c]+F+v[0]*I,this.positions[U+1]=m[c+1]+N+v[1]*I,this.positions[U+2]=m[c+2]+_+v[2]*I;const z=d[j+2],D=d[j+3];g(this.normals,t,T[0]*z+O[0]*D+v[0]*x,T[1]*z+O[1]*D+v[1]*x,T[2]*z+O[2]*D+v[2]*x)}}createGeometryData(){const t=this.builder.vertexIndices;return[[I.POSITION,new d(this.positions,t,3,!0)],[I.NORMALCOMPRESSED,new d(this.normals,t,2,!0)],[I.COLOR,new d(this.color,f(t.length),4,!0)]]}onPathChanged(t){super.onPathChanged(t),this.bake(this.size)}intersect(t,e,s,i){const r=this.builder.vertexIndices,o=new A(this.positions,3),n=r.length/3;v(t,e,0,n,r,o,void 0,s,((t,e,s)=>i(t,s,e)))}get size(){return this._size}}class O extends x{constructor(t,e,s,i){super(t),this.sizeAttributeValue=e,this.colorAttributeValue=s,this.opacityAttributeValue=i,this.baked=new T(t),this._vvSize=m(this.builder.path.vertices.length).fill(e),this._vvColor=u(this.builder.path.vertices.length).fill(s),this._vvOpacity=u(this.builder.path.vertices.length).fill(i)}createGeometryData(){const t=this.builder,{pathVertexIndices:e,vertexIndices:s}=t;return[[I.POSITION,new d(t.positions,e,3,!0)],[I.PROFILEVERTEXANDNORMAL,new d(t.profileVertexAndNormals,s,4,!0)],[I.PROFILEAUXDATA,new d(t.profileAuxData,s,3,!0)],[I.PROFILERIGHT,new d(t.profileRightAxes,s,2,!0)],[I.PROFILEUP,new d(t.profileUpAxes,s,2,!0)],[I.SIZEFEATUREATTRIBUTE,new d(this._vvSize,e,1,!0)],[I.COLORFEATUREATTRIBUTE,new d(this._vvColor,e,1,!0)],[I.OPACITYFEATUREATTRIBUTE,new d(this._vvOpacity,e,1,!0)]]}onPathChanged(t){super.onPathChanged(t);const e=t.getMutableAttribute(I.POSITION);e&&(e.data=this.builder.positions)}}const R=a(),E=a(),P=a(),w=c(),C=c(),V=c();export{O as FastUpdatePathGeometry,x as PathGeometryData,T as StaticPathGeometry};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{acosClamped as t,reciprocalClamped as i}from"../../../../core/mathUtils.js";import{set as r}from"../../../../core/libs/gl-matrix-2/math/mat2.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat2f64.js";import{transformMat2 as e,set as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as h,UNIT_X as o}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{e as n,h as m,g,n as f,f as c,v as u,d as l,c as p}from"../../../../chunks/vec32.js";import{create as v}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Frame2D as M}from"./PathExtruder.js";import{UpVectorAlignment as b}from"./PathGeometry.js";class R{constructor(){this.vLeft=v(),this.vRight=v(),this.vMinSiblingLength=0,this.frame=new M}setFrameFromUpVector(t){p(this.frame.up,t),c(D,this.vLeft,this.vRight),f(D,D),g(I,this.frame.up,n(D,this.frame.up)),l(k,D,I),f(k,k),m(this.frame.right,k,this.frame.up)}get foldingAngle(){return Math.PI-this.rotationAngle}}class x extends R{get rotationFrameUp(){return this.frame.up}get rotationRight(){return o}get rotationAngle(){g(w,this.frame.up,n(this.frame.up,this.vLeft)),l(w,this.vLeft,w),u(w,w),f(w,w),g(y,this.frame.up,n(this.frame.up,this.vRight)),l(y,this.vRight,y),f(y,y),m(U,this.rotationFrameUp,this.vLeft);return Math.sign(n(U,this.vRight))*(Math.PI-t(n(w,y)))}get maxStretchDistance(){return Math.abs(this.vMinSiblingLength/Math.cos(.5*this.foldingAngle))}applyMiterStretch(t,r){const s=this.rotationAngle;if(Math.abs(s)<=0)return r;const e=i(Math.cos(.5*s));return a(t,(e-1+1)*r[0],r[1])}}class L extends R{get rotationFrameUp(){const t=Math.sign(n(this.frame.right,this.vRight));return m(A,this.vRight,this.vLeft),g(A,A,t),f(A,A)}get rotationRight(){const t=this.rotationFrameUp,i=n(t,this.frame.up),r=n(t,this.frame.right);return g(F,this.frame.up,-r),g(P,this.frame.right,i),c(F,F,P),f(F,F),j(S,this.frame,F),S}get rotationAngle(){const i=Math.sign(n(this.frame.right,this.vRight));return u(U,this.vLeft),-i*(Math.PI-t(n(U,this.vRight)))}get maxStretchDistance(){return Math.abs(this.vMinSiblingLength*i(Math.cos(.5*this.foldingAngle)))}applyMiterStretch(t,s){const a=this.rotationAngle;if(0===Math.abs(a))return s;const h=i(Math.cos(.5*a)),o=this.rotationRight,n=r(E,1+(h-1)*o[0]*o[0],(h-1)*o[0]*o[1],(h-1)*o[0]*o[1],1+(h-1)*o[1]*o[1]);return e(t,s,n)}}function j(t,i,r){a(t,n(r,i.right),n(r,i.up))}function d(t){switch(t){case b.World:return new x;case b.Path:return new L}}const A=v(),S=h(),F=v(),P=v(),U=v(),w=v(),y=v(),I=v(),D=v(),k=v(),E=s();export{R as PathVertex,d as newPathVertex};
5
+ import{acosClamped as t,reciprocalClamped as i}from"../../../../core/mathUtils.js";import{set as r}from"../../../../core/libs/gl-matrix-2/math/mat2.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat2f64.js";import{transformMat2 as e,set as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as h,UNIT_X as o}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{e as n,h as m,g,n as f,f as c,u,d as l,c as p}from"../../../../chunks/vec32.js";import{create as v}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Frame2D as M}from"./PathExtruder.js";import{UpVectorAlignment as b}from"./PathGeometry.js";class R{constructor(){this.vLeft=v(),this.vRight=v(),this.vMinSiblingLength=0,this.frame=new M}setFrameFromUpVector(t){p(this.frame.up,t),c(D,this.vLeft,this.vRight),f(D,D),g(I,this.frame.up,n(D,this.frame.up)),l(k,D,I),f(k,k),m(this.frame.right,k,this.frame.up)}get foldingAngle(){return Math.PI-this.rotationAngle}}class x extends R{get rotationFrameUp(){return this.frame.up}get rotationRight(){return o}get rotationAngle(){g(w,this.frame.up,n(this.frame.up,this.vLeft)),l(w,this.vLeft,w),u(w,w),f(w,w),g(y,this.frame.up,n(this.frame.up,this.vRight)),l(y,this.vRight,y),f(y,y),m(U,this.rotationFrameUp,this.vLeft);return Math.sign(n(U,this.vRight))*(Math.PI-t(n(w,y)))}get maxStretchDistance(){return Math.abs(this.vMinSiblingLength/Math.cos(.5*this.foldingAngle))}applyMiterStretch(t,r){const s=this.rotationAngle;if(Math.abs(s)<=0)return r;const e=i(Math.cos(.5*s));return a(t,(e-1+1)*r[0],r[1])}}class L extends R{get rotationFrameUp(){const t=Math.sign(n(this.frame.right,this.vRight));return m(A,this.vRight,this.vLeft),g(A,A,t),f(A,A)}get rotationRight(){const t=this.rotationFrameUp,i=n(t,this.frame.up),r=n(t,this.frame.right);return g(F,this.frame.up,-r),g(P,this.frame.right,i),c(F,F,P),f(F,F),j(S,this.frame,F),S}get rotationAngle(){const i=Math.sign(n(this.frame.right,this.vRight));return u(U,this.vLeft),-i*(Math.PI-t(n(U,this.vRight)))}get maxStretchDistance(){return Math.abs(this.vMinSiblingLength*i(Math.cos(.5*this.foldingAngle)))}applyMiterStretch(t,s){const a=this.rotationAngle;if(0===Math.abs(a))return s;const h=i(Math.cos(.5*a)),o=this.rotationRight,n=r(E,1+(h-1)*o[0]*o[0],(h-1)*o[0]*o[1],(h-1)*o[0]*o[1],1+(h-1)*o[1]*o[1]);return e(t,s,n)}}function j(t,i,r){a(t,n(r,i.right),n(r,i.up))}function d(t){switch(t){case b.World:return new x;case b.Path:return new L}}const A=v(),S=h(),F=v(),P=v(),U=v(),w=v(),y=v(),I=v(),D=v(),k=v(),E=s();export{R as PathVertex,d as newPathVertex};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{a as t,i as n,c as o,h as i,n as e}from"../../../../chunks/vec32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{setMin as c,create as r,setMax as f}from"../../../../geometry/support/aaBoundingBox.js";import{GeometryType as a}from"./IntersectableGeometry.js";import{assert as u}from"./Util.js";import{VertexAttribute as l}from"./VertexAttribute.js";class h{constructor(t=!1,n=!0){this.isVerticalRay=t,this.normalRequired=n}}const m=r();function p(n,o,i,e,s,c){if(!n.visible)return;const r=t(S,e,i),f=(t,n,o)=>{c(t,o,n,!1)},m=new h(!1,o.options.normalRequired);if(n.boundingInfo){u(n.type===a.Mesh);const t=o.tolerance;b(n.boundingInfo,i,r,t,s,m,f)}else{const t=n.attributes.get(l.POSITION),o=t.indices;q(i,r,0,o.length/3,o,t.data,t.stride,s,m,f)}}const M=s();function b(t,n,o,i,e,s,r){if(null==t)return;const a=w(o,M);if(c(m,t.bbMin),f(m,t.bbMax),null!=e&&e.applyToAabb(m),C(m,n,a,i)){const{primitiveIndices:c,position:f}=t,a=c?c.length:f.indices.length/3;if(a>N){const c=t.getChildren();if(void 0!==c){for(const t of c)b(t,n,o,i,e,s,r);return}}V(n,o,0,a,f.indices,f.data,f.stride,c,e,s,r)}}const d=s();function x(n,o,i,e,s,c,r,f,a){const{data:u,stride:l}=c;q(n,t(S,o,n),i,e,s,u,l,r,f,a)}function g(t,n,o,i,e,s,c,r,f,a=null,u=0){const l=t[0],h=t[1],m=t[2],p=n[0],M=n[1],b=n[2];for(let x=o;x<i;++x){const t=u+(a?a[x]:x),n=3*t,o=c*e[n],i=s[o],g=s[o+1],y=s[o+2],T=c*e[n+1],V=s[T],q=s[T+1],j=s[T+2],I=c*e[n+2],v=V-i,A=q-g,B=j-y,O=s[I]-i,k=s[I+1]-g,w=s[I+2]-y,C=M*w-k*b,G=b*O-w*p,N=p*k-O*M,S=v*C+A*G+B*N;if(Math.abs(S)<=P)continue;const U=l-i,z=h-g,D=m-y,E=U*C+z*G+D*N;if(S>0){if(E<0||E>S)continue}else if(E>0||E<S)continue;const F=z*B-A*D,H=D*v-B*U,J=U*A-v*z,K=p*F+M*H+b*J;if(S>0){if(K<0||E+K>S)continue}else if(K>0||E+K<S)continue;const L=(O*F+k*H+w*J)/S;if(L>=0){f(L,t,r?R(v,A,B,O,k,w,d):null)}}}function y(t,n,o,i,e,s,c,r){const f=t[0],a=t[1],u=t[2],l=n[0],h=n[1],m=n[2];for(let p=o;p<i;++p){const t=3*p,n=t+1,o=t+2,i=s*t,M=e[i],b=e[i+1],x=e[i+2],g=s*n,y=s*o,T=e[g]-M,V=e[g+1]-b,q=e[g+2]-x,j=e[y]-M,I=e[y+1]-b,v=e[y+2]-x,A=h*v-I*m,B=m*j-v*l,O=l*I-j*h,k=T*A+V*B+q*O;if(Math.abs(k)<=P)continue;const w=f-M,C=a-b,G=u-x,N=w*A+C*B+G*O;if(k>0){if(N<0||N>k)continue}else if(N>0||N<k)continue;const S=C*q-V*G,U=G*T-q*w,z=w*V-T*C,D=l*S+h*U+m*z;if(k>0){if(D<0||N+D>k)continue}else if(D>0||N+D<k)continue;const E=(j*S+I*U+v*z)/k;if(E>=0){r(E,p,c?R(T,V,q,j,I,v,d):null)}}}function T(t,n,o,i,e,s,c,r,f,a,u,l=null,h=0){const m=t[0],p=t[1],M=t[2],b=n[0],x=n[1],g=n[2];for(let y=o;y<i;++y){const t=h+(l?l[y]:y),n=3*t,o=c*e[n],i=s[o],T=s[o+1],V=s[o+2],q=c*e[n+1],j=s[q],I=s[q+1],v=s[q+2],A=c*e[n+2],B=s[A],O=s[A+1],k=s[A+2],w=V-f,C=r/Math.sqrt(i*i+T*T+w*w),G=i+i*C,N=T+T*C,S=V+w*C,U=v-f,z=r/Math.sqrt(j*j+I*I+U*U),D=j+j*z,E=I+I*z,F=v+U*z,H=k-f,J=r/Math.sqrt(B*B+O*O+H*H),K=D-G,L=E-N,Q=F-S,W=B+B*J-G,X=O+O*J-N,Y=k+H*J-S,Z=x*Y-X*g,$=g*W-Y*b,_=b*X-W*x,tt=K*Z+L*$+Q*_;if(Math.abs(tt)<=P)continue;const nt=m-G,ot=p-N,it=M-S,et=nt*Z+ot*$+it*_;if(tt>0){if(et<0||et>tt)continue}else if(et>0||et<tt)continue;const st=ot*Q-L*it,ct=it*K-Q*nt,rt=nt*L-K*ot,ft=b*st+x*ct+g*rt;if(tt>0){if(ft<0||et+ft>tt)continue}else if(ft>0||et+ft<tt)continue;const at=(W*st+X*ct+Y*rt)/tt;if(at>=0){u(at,t,a?R(K,L,Q,W,X,Y,d):null)}}}function V(t,n,o,i,e,s,c,r,f,a,u){const l=t[0],h=t[1],m=t[2],p=n[0],M=n[1],b=n[2],{normalRequired:x}=a;for(let g=o;g<i;++g){const t=r[g],n=3*t,o=c*e[n];let i=s[o],a=s[o+1],y=s[o+2];const T=c*e[n+1];let V=s[T],q=s[T+1],j=s[T+2];const I=c*e[n+2];let v=s[I],A=s[I+1],B=s[I+2];null!=f&&([i,a,y]=f.applyToVertex(i,a,y,g),[V,q,j]=f.applyToVertex(V,q,j,g),[v,A,B]=f.applyToVertex(v,A,B,g));const O=V-i,k=q-a,w=j-y,C=v-i,G=A-a,N=B-y,S=M*N-G*b,U=b*C-N*p,z=p*G-C*M,D=O*S+k*U+w*z;if(Math.abs(D)<=P)continue;const E=l-i,F=h-a,H=m-y,J=E*S+F*U+H*z;if(D>0){if(J<0||J>D)continue}else if(J>0||J<D)continue;const K=F*w-k*H,L=H*O-w*E,Q=E*k-O*F,W=p*K+M*L+b*Q;if(D>0){if(W<0||J+W>D)continue}else if(W>0||J+W<D)continue;const X=(C*K+G*L+N*Q)/D;if(X>=0){u(X,t,x?R(O,k,w,C,G,N,d):null)}}}function q(i,e,s,c,r,f,a,u,l,h){const m=e,p=U,M=Math.abs(m[0]),b=Math.abs(m[1]),d=Math.abs(m[2]),x=M>=b?M>=d?0:2:b>=d?1:2,g=x,y=m[g]<0?2:1,T=(x+y)%3,V=(x+(3-y))%3,q=m[T]/m[g],R=m[V]/m[g],B=1/m[g],O=j,k=I,w=v,{normalRequired:C}=l;for(let j=s;j<c;++j){const e=3*j,s=a*r[e];n(p[0],f[s+0],f[s+1],f[s+2]);const c=a*r[e+1];n(p[1],f[c+0],f[c+1],f[c+2]);const l=a*r[e+2];n(p[2],f[l+0],f[l+1],f[l+2]),u&&(o(p[0],u.applyToVertex(p[0][0],p[0][1],p[0][2],j)),o(p[1],u.applyToVertex(p[1][0],p[1][1],p[1][2],j)),o(p[2],u.applyToVertex(p[2][0],p[2][1],p[2][2],j))),t(O,p[0],i),t(k,p[1],i),t(w,p[2],i);const m=O[T]-q*O[g],M=O[V]-R*O[g],b=k[T]-q*k[g],d=k[V]-R*k[g],x=w[T]-q*w[g],y=w[V]-R*w[g],I=x*d-y*b,v=m*y-M*x,G=b*M-d*m;if((I<0||v<0||G<0)&&(I>0||v>0||G>0))continue;const N=I+v+G;if(0===N)continue;const P=I*(B*O[g])+v*(B*k[g])+G*(B*w[g]);if(P*Math.sign(N)<0)continue;const S=P/N;if(S>=0){h(S,j,C?A(p):null)}}}const j=s(),I=s(),v=s();function R(t,o,s,c,r,f,a){return n(B,t,o,s),n(O,c,r,f),i(a,B,O),e(a,a),a}function A(n){return t(B,n[1],n[0]),t(O,n[2],n[0]),i(d,B,O),e(d,d),d}const B=s(),O=s();function k(t,o,i){return n(i,1/(o[0]-t[0]),1/(o[1]-t[1]),1/(o[2]-t[2]))}function w(t,o){return n(o,1/t[0],1/t[1],1/t[2])}function C(t,n,o,i){return G(t,n,o,i,1/0)}function G(t,n,o,i,e){const s=(t[0]-i-n[0])*o[0],c=(t[3]+i-n[0])*o[0];let r=Math.min(s,c),f=Math.max(s,c);const a=(t[1]-i-n[1])*o[1],u=(t[4]+i-n[1])*o[1];if(f=Math.min(f,Math.max(a,u)),f<0)return!1;if(r=Math.max(r,Math.min(a,u)),r>f)return!1;const l=(t[2]-i-n[2])*o[2],h=(t[5]+i-n[2])*o[2];return f=Math.min(f,Math.max(l,h)),!(f<0)&&(r=Math.max(r,Math.min(l,h)),!(r>f)&&r<e)}const N=1e3,P=1e-7,S=s(),U=[s(),s(),s()];export{h as MeshIntersectionOptions,k as computeInvDir,w as computeInvDirFromDirection,R as computeNormalFromBarycentric,C as intersectAabbInvDir,G as intersectAabbInvDirBefore,g as intersectRayTriangles,q as intersectRayTrianglesWithDisplacementWatertight,T as intersectRayTrianglesWithVerticalOffsetENUGlobal,y as intersectRenderGeometryTriangles,p as intersectTriangleGeometry,x as intersectTriangles,P as triangleRayParallelTolerance};
5
+ import{a as t,i as n,c as o,h as i,n as e}from"../../../../chunks/vec32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{setMin as c,create as r,setMax as f}from"../../../../geometry/support/aaBoundingBox.js";import{GeometryType as a}from"./IntersectableGeometry.js";import{assert as u}from"./Util.js";import{VertexAttribute as l}from"./VertexAttribute.js";class h{constructor(t=!1,n=!0){this.isVerticalRay=t,this.normalRequired=n}}const m=r();function p(n,o,i,e,s,c){if(!n.visible)return;const r=t(S,e,i),f=(t,n,o)=>{c(t,o,n)},m=new h(!1,o.options.normalRequired);if(n.boundingInfo){u(n.type===a.Mesh);const t=o.tolerance;b(n.boundingInfo,i,r,t,s,m,f)}else{const t=n.attributes.get(l.POSITION),o=t.indices;q(i,r,0,o.length/3,o,t.data,t.stride,s,m,f)}}const M=s();function b(t,n,o,i,e,s,r){if(null==t)return;const a=w(o,M);if(c(m,t.bbMin),f(m,t.bbMax),null!=e&&e.applyToAabb(m),C(m,n,a,i)){const{primitiveIndices:c,position:f}=t,a=c?c.length:f.indices.length/3;if(a>N){const c=t.getChildren();if(void 0!==c){for(const t of c)b(t,n,o,i,e,s,r);return}}V(n,o,0,a,f.indices,f.data,f.stride,c,e,s,r)}}const d=s();function x(n,o,i,e,s,c,r,f,a){const{data:u,stride:l}=c;q(n,t(S,o,n),i,e,s,u,l,r,f,a)}function g(t,n,o,i,e,s,c,r,f,a=null,u=0){const l=t[0],h=t[1],m=t[2],p=n[0],M=n[1],b=n[2];for(let x=o;x<i;++x){const t=u+(a?a[x]:x),n=3*t,o=c*e[n],i=s[o],g=s[o+1],y=s[o+2],T=c*e[n+1],V=s[T],q=s[T+1],j=s[T+2],I=c*e[n+2],v=V-i,A=q-g,B=j-y,O=s[I]-i,k=s[I+1]-g,w=s[I+2]-y,C=M*w-k*b,G=b*O-w*p,N=p*k-O*M,S=v*C+A*G+B*N;if(Math.abs(S)<=P)continue;const U=l-i,z=h-g,D=m-y,E=U*C+z*G+D*N;if(S>0){if(E<0||E>S)continue}else if(E>0||E<S)continue;const F=z*B-A*D,H=D*v-B*U,J=U*A-v*z,K=p*F+M*H+b*J;if(S>0){if(K<0||E+K>S)continue}else if(K>0||E+K<S)continue;const L=(O*F+k*H+w*J)/S;if(L>=0){f(L,t,r?R(v,A,B,O,k,w,d):null)}}}function y(t,n,o,i,e,s,c,r){const f=t[0],a=t[1],u=t[2],l=n[0],h=n[1],m=n[2];for(let p=o;p<i;++p){const t=3*p,n=t+1,o=t+2,i=s*t,M=e[i],b=e[i+1],x=e[i+2],g=s*n,y=s*o,T=e[g]-M,V=e[g+1]-b,q=e[g+2]-x,j=e[y]-M,I=e[y+1]-b,v=e[y+2]-x,A=h*v-I*m,B=m*j-v*l,O=l*I-j*h,k=T*A+V*B+q*O;if(Math.abs(k)<=P)continue;const w=f-M,C=a-b,G=u-x,N=w*A+C*B+G*O;if(k>0){if(N<0||N>k)continue}else if(N>0||N<k)continue;const S=C*q-V*G,U=G*T-q*w,z=w*V-T*C,D=l*S+h*U+m*z;if(k>0){if(D<0||N+D>k)continue}else if(D>0||N+D<k)continue;const E=(j*S+I*U+v*z)/k;if(E>=0){r(E,p,c?R(T,V,q,j,I,v,d):null)}}}function T(t,n,o,i,e,s,c,r,f,a,u,l=null,h=0){const m=t[0],p=t[1],M=t[2],b=n[0],x=n[1],g=n[2];for(let y=o;y<i;++y){const t=h+(l?l[y]:y),n=3*t,o=c*e[n],i=s[o],T=s[o+1],V=s[o+2],q=c*e[n+1],j=s[q],I=s[q+1],v=s[q+2],A=c*e[n+2],B=s[A],O=s[A+1],k=s[A+2],w=V-f,C=r/Math.sqrt(i*i+T*T+w*w),G=i+i*C,N=T+T*C,S=V+w*C,U=v-f,z=r/Math.sqrt(j*j+I*I+U*U),D=j+j*z,E=I+I*z,F=v+U*z,H=k-f,J=r/Math.sqrt(B*B+O*O+H*H),K=D-G,L=E-N,Q=F-S,W=B+B*J-G,X=O+O*J-N,Y=k+H*J-S,Z=x*Y-X*g,$=g*W-Y*b,_=b*X-W*x,tt=K*Z+L*$+Q*_;if(Math.abs(tt)<=P)continue;const nt=m-G,ot=p-N,it=M-S,et=nt*Z+ot*$+it*_;if(tt>0){if(et<0||et>tt)continue}else if(et>0||et<tt)continue;const st=ot*Q-L*it,ct=it*K-Q*nt,rt=nt*L-K*ot,ft=b*st+x*ct+g*rt;if(tt>0){if(ft<0||et+ft>tt)continue}else if(ft>0||et+ft<tt)continue;const at=(W*st+X*ct+Y*rt)/tt;if(at>=0){u(at,t,a?R(K,L,Q,W,X,Y,d):null)}}}function V(t,n,o,i,e,s,c,r,f,a,u){const l=t[0],h=t[1],m=t[2],p=n[0],M=n[1],b=n[2],{normalRequired:x}=a;for(let g=o;g<i;++g){const t=r[g],n=3*t,o=c*e[n];let i=s[o],a=s[o+1],y=s[o+2];const T=c*e[n+1];let V=s[T],q=s[T+1],j=s[T+2];const I=c*e[n+2];let v=s[I],A=s[I+1],B=s[I+2];null!=f&&([i,a,y]=f.applyToVertex(i,a,y,g),[V,q,j]=f.applyToVertex(V,q,j,g),[v,A,B]=f.applyToVertex(v,A,B,g));const O=V-i,k=q-a,w=j-y,C=v-i,G=A-a,N=B-y,S=M*N-G*b,U=b*C-N*p,z=p*G-C*M,D=O*S+k*U+w*z;if(Math.abs(D)<=P)continue;const E=l-i,F=h-a,H=m-y,J=E*S+F*U+H*z;if(D>0){if(J<0||J>D)continue}else if(J>0||J<D)continue;const K=F*w-k*H,L=H*O-w*E,Q=E*k-O*F,W=p*K+M*L+b*Q;if(D>0){if(W<0||J+W>D)continue}else if(W>0||J+W<D)continue;const X=(C*K+G*L+N*Q)/D;if(X>=0){u(X,t,x?R(O,k,w,C,G,N,d):null)}}}function q(i,e,s,c,r,f,a,u,l,h){const m=e,p=U,M=Math.abs(m[0]),b=Math.abs(m[1]),d=Math.abs(m[2]),x=M>=b?M>=d?0:2:b>=d?1:2,g=x,y=m[g]<0?2:1,T=(x+y)%3,V=(x+(3-y))%3,q=m[T]/m[g],R=m[V]/m[g],B=1/m[g],O=j,k=I,w=v,{normalRequired:C}=l;for(let j=s;j<c;++j){const e=3*j,s=a*r[e];n(p[0],f[s+0],f[s+1],f[s+2]);const c=a*r[e+1];n(p[1],f[c+0],f[c+1],f[c+2]);const l=a*r[e+2];n(p[2],f[l+0],f[l+1],f[l+2]),u&&(o(p[0],u.applyToVertex(p[0][0],p[0][1],p[0][2],j)),o(p[1],u.applyToVertex(p[1][0],p[1][1],p[1][2],j)),o(p[2],u.applyToVertex(p[2][0],p[2][1],p[2][2],j))),t(O,p[0],i),t(k,p[1],i),t(w,p[2],i);const m=O[T]-q*O[g],M=O[V]-R*O[g],b=k[T]-q*k[g],d=k[V]-R*k[g],x=w[T]-q*w[g],y=w[V]-R*w[g],I=x*d-y*b,v=m*y-M*x,G=b*M-d*m;if((I<0||v<0||G<0)&&(I>0||v>0||G>0))continue;const N=I+v+G;if(0===N)continue;const P=I*(B*O[g])+v*(B*k[g])+G*(B*w[g]);if(P*Math.sign(N)<0)continue;const S=P/N;if(S>=0){h(S,j,C?A(p):null)}}}const j=s(),I=s(),v=s();function R(t,o,s,c,r,f,a){return n(B,t,o,s),n(O,c,r,f),i(a,B,O),e(a,a),a}function A(n){return t(B,n[1],n[0]),t(O,n[2],n[0]),i(d,B,O),e(d,d),d}const B=s(),O=s();function k(t,o,i){return n(i,1/(o[0]-t[0]),1/(o[1]-t[1]),1/(o[2]-t[2]))}function w(t,o){return n(o,1/t[0],1/t[1],1/t[2])}function C(t,n,o,i){return G(t,n,o,i,1/0)}function G(t,n,o,i,e){const s=(t[0]-i-n[0])*o[0],c=(t[3]+i-n[0])*o[0];let r=Math.min(s,c),f=Math.max(s,c);const a=(t[1]-i-n[1])*o[1],u=(t[4]+i-n[1])*o[1];if(f=Math.min(f,Math.max(a,u)),f<0)return!1;if(r=Math.max(r,Math.min(a,u)),r>f)return!1;const l=(t[2]-i-n[2])*o[2],h=(t[5]+i-n[2])*o[2];return f=Math.min(f,Math.max(l,h)),!(f<0)&&(r=Math.max(r,Math.min(l,h)),!(r>f)&&r<e)}const N=1e3,P=1e-7,S=s(),U=[s(),s(),s()];export{h as MeshIntersectionOptions,k as computeInvDir,w as computeInvDirFromDirection,R as computeNormalFromBarycentric,C as intersectAabbInvDir,G as intersectAabbInvDirBefore,g as intersectRayTriangles,q as intersectRayTrianglesWithDisplacementWatertight,T as intersectRayTrianglesWithVerticalOffsetENUGlobal,y as intersectRenderGeometryTriangles,p as intersectTriangleGeometry,x as intersectTriangles,P as triangleRayParallelTolerance};