@arcgis/core 4.34.0-next.37 → 4.34.0-next.39

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 (1090) hide show
  1. package/Basemap.js +1 -1
  2. package/Camera.js +1 -1
  3. package/Graphic.js +1 -1
  4. package/Ground.js +1 -1
  5. package/PopupTemplate.js +1 -1
  6. package/Viewpoint.js +1 -1
  7. package/WebDocument2D.js +1 -1
  8. package/WebScene.js +1 -1
  9. package/analysis/Analysis.js +1 -1
  10. package/analysis/DimensionSimpleStyle.js +1 -1
  11. package/analysis/LengthDimension.js +1 -1
  12. package/analysis/LineOfSightAnalysisObserver.js +1 -1
  13. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  14. package/analysis/SlicePlane.js +1 -1
  15. package/analysis/Viewshed.js +1 -1
  16. package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
  17. package/analysis/support/SliceAnalysisExcludedLayer.js +1 -1
  18. package/assets/esri/core/workers/RemoteClient.js +1 -1
  19. package/assets/esri/core/workers/chunks/{1c8dbdb833a66f7183fc.js → 00ae094cc21bc42faa54.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{36d15d1dd19417b37d2f.js → 01ae7d36bda6b6186786.js} +1 -1
  21. package/assets/esri/core/workers/chunks/01bd8f90e55081e65b38.js +1 -0
  22. package/assets/esri/core/workers/chunks/03df4668002eb4cb4f98.js +1 -0
  23. package/assets/esri/core/workers/chunks/{c4a20b8038bfbb2af329.js → 09f0c9f0b6aa58ae3c52.js} +1 -1
  24. package/assets/esri/core/workers/chunks/0a27f9b11d03874809ee.js +346 -0
  25. package/assets/esri/core/workers/chunks/{1a5ddb6d36249fe09cc8.js → 0e8d3d38e9b1f6abf6f2.js} +1 -1
  26. package/assets/esri/core/workers/chunks/0f51e51db83f303ce5a6.js +1 -0
  27. package/assets/esri/core/workers/chunks/0faec78b2dd6990a5da0.js +1 -0
  28. package/assets/esri/core/workers/chunks/{2d7bbd001b64138db3c1.js → 14b536e0c1de6c7422bc.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{170fa807b71babedd185.js → 14d3039f92b0d96944f0.js} +1 -1
  30. package/assets/esri/core/workers/chunks/19391d60c76a1dc7c262.js +1 -0
  31. package/assets/esri/core/workers/chunks/{7e9d5beca1991c961ed8.js → 1acc620bfd2983d6853f.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{8e7dced4a8d089185c3a.js → 1cbd59918c60a1a21494.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{ccf3f29d0b1bde90c3cf.js → 1cd15aa69f85ecfa32b0.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{6b5be459ec4c418cc6fd.js → 1d9212a70df68a508dca.js} +1 -1
  35. package/assets/esri/core/workers/chunks/21a9f9c0cc1cde2fee90.js +1 -0
  36. package/assets/esri/core/workers/chunks/{5d4e74eb4c659e8f42d6.js → 21dd626a5b5ea6a7e18e.js} +1 -1
  37. package/assets/esri/core/workers/chunks/224872bfd923cf4c9d78.js +1 -0
  38. package/assets/esri/core/workers/chunks/27027493a8dba8305693.js +1 -0
  39. package/assets/esri/core/workers/chunks/{2b9c403f4b20b8f62804.js → 2a26c3fc324d672ebe88.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{ee28cd411a93245fb90c.js → 2ae0bda04fd5386b462f.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{7efc3ac70a005a771b9c.js → 2c399991e8627baa51b3.js} +1 -1
  42. package/assets/esri/core/workers/chunks/306a68137e62656b0f05.js +1 -0
  43. package/assets/esri/core/workers/chunks/{4c54239974a5847b8fdd.js → 30b9c131b69297ee186f.js} +1 -1
  44. package/assets/esri/core/workers/chunks/31ad9949b08a5b07218c.js +989 -0
  45. package/assets/esri/core/workers/chunks/{e4d08a85d158c705aa3d.js → 31e6eb2685872baf538a.js} +1 -1
  46. package/assets/esri/core/workers/chunks/3264d58aeef8cf074b86.js +1 -0
  47. package/assets/esri/core/workers/chunks/3358c1b04490706681cc.js +1 -0
  48. package/assets/esri/core/workers/chunks/3386420c9ae891db5be7.js +2 -0
  49. package/assets/esri/core/workers/chunks/34f677e8c1691c10e4e9.js +1 -0
  50. package/assets/esri/core/workers/chunks/35df19d1eab3a694c3fa.js +1 -0
  51. package/assets/esri/core/workers/chunks/364fb103cb139f26b455.js +1 -0
  52. package/assets/esri/core/workers/chunks/{33aafaabea07b4f80209.js → 3984ca7e05f30724adaf.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{4d2dcd667b30a98dd341.js → 3af4a410ff0bca7ba2e3.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{b8c1a08020d44ee03a17.js → 3f7d7dc05e63fc50325e.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{02435c653064f879f547.js → 4162c633efefc63c5506.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{0852abaa440c14cc2b36.js → 4459c8e495a37d4c4eb8.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{6e36b247a24172edd5ea.js → 476a6e5ca558db2adaa1.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{cd9e6b86ab0103044370.js → 4970d439d9648e97fd5a.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{5228f535719f5fc38b28.js → 4ae15645e68e7f6dd6b7.js} +1 -1
  60. package/assets/esri/core/workers/chunks/4e6e5677b90b00622146.js +1 -0
  61. package/assets/esri/core/workers/chunks/4f3c187a7cb2b1444281.js +1 -0
  62. package/assets/esri/core/workers/chunks/5156410dd84ea1232a6c.js +1 -0
  63. package/assets/esri/core/workers/chunks/{c64aa9793764eba2c6da.js → 51ddda291bbbf5db9905.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{2177c0ef06c8e7e3e28e.js → 554c789f4e875d7e6fd5.js} +1 -1
  65. package/assets/esri/core/workers/chunks/560bb06cf1bf30df4af3.js +1 -0
  66. package/assets/esri/core/workers/chunks/{36024406932b0a44a74a.js → 5b2ff220aebe464dac23.js} +1 -1
  67. package/assets/esri/core/workers/chunks/5b91a49202129eedaf00.js +1 -0
  68. package/assets/esri/core/workers/chunks/{a0dfd99dc8f4eac0b7ae.js → 5d1d909354c90cb8eb60.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{2f52a57e8c05a3ca1de8.js → 5f11fff5bc16fdec42db.js} +1 -1
  70. package/assets/esri/core/workers/chunks/5fe3c279d57f44416c28.js +1 -0
  71. package/assets/esri/core/workers/chunks/{1c87ed3a5960f8f06fc8.js → 647cff1eaaf1b622f439.js} +1 -1
  72. package/assets/esri/core/workers/chunks/6530449cd1975deb61f1.js +1 -0
  73. package/assets/esri/core/workers/chunks/{c78d98ab82f31ddda362.js → 6759319f3fd2d03c446b.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{e91800c1ea026e5b2d9b.js → 6acffacbb4a03af52e3b.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{23e0fd2d921f74834b12.js → 6b5b609b357924fa35be.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{cab294fd04f2a5eda81d.js → 712c740cf58c2e282efc.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{68edbc3b124eb8e28dd6.js → 719b89341b26c3568c2f.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{6f122e4a2a1f913523b4.js → 774844eea928efa811f2.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{5cdeb6dc72f452d6d1bc.js → 77ee4afaa4a1c7047940.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{904e701e1a12f67beaee.js → 787d281b2fe1edf6cf30.js} +1 -1
  81. package/assets/esri/core/workers/chunks/78de16f65ea297452a65.js +1 -0
  82. package/assets/esri/core/workers/chunks/{a76792c4edd1d688fba2.js → 791b3130b34b52160c1f.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{056fdd5570af28d334cd.js → 79b389baf972d329c38d.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{cf1f8fd1d62be0e02e10.js → 7a5808c6e67c43274d86.js} +1 -1
  85. package/assets/esri/core/workers/chunks/7b1fc59822ac2d421a5a.js +1 -0
  86. package/assets/esri/core/workers/chunks/{826e4bf6374f324d7f19.js → 7b82ed4cc475c782256b.js} +1 -1
  87. package/assets/esri/core/workers/chunks/7b95da70d39ba316b051.js +1 -0
  88. package/assets/esri/core/workers/chunks/{bb1213adeb05d89fbfdb.js → 7d082bfcd13ad6e8c89d.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{7641e24ffa0215d51c34.js → 7ef29640de297a0cf744.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{ac88e0aabbd6c1f1ec98.js → 7f523fa4d4ade4316625.js} +1 -1
  91. package/assets/esri/core/workers/chunks/85bfd380d4f522ff8e83.js +1 -0
  92. package/assets/esri/core/workers/chunks/{21ea48186d01bf459ef6.js → 88308a0dcc479688e67c.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{360223d8bd4ee77ecda1.js → 896c7d137bfd7a8fa0bc.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{74db0831bcbd48152c1d.js → 899f493412acd5a5d91f.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{b331543767c35e5edcc6.js → 8c1bd9bcfc59497de3b5.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{ce211163d078d3d742ce.js → 8ca95499e00ce8b0af9a.js} +1 -1
  97. package/assets/esri/core/workers/chunks/{4ff7c8420c77256f595a.js → 8d51b6823ef5d290c670.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{1512ed7b869b3e8e07bc.js → 8e40c409a9b0a2a768a9.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{938baf4f99332dfdf29d.js → 91be247f868ce6596c9e.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{64553b5eae4edc7f46dc.js → 9247d768c3eccc0828a9.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{02bd15e0adaffcdd645b.js → 947085d176bd3a930e6f.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{dca2b487152cde45fb65.js → 94850c094e076d81a016.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{5fac0b2a5aa33e8a3a84.js → 95f0c15d83d1f38e01d0.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{b45dbbeae54cea2bbc10.js → 962c0ef63de1635fb4aa.js} +1 -1
  105. package/assets/esri/core/workers/chunks/98ac849cccc4d5316021.js +1 -0
  106. package/assets/esri/core/workers/chunks/9928e432b884c75c3436.js +1 -0
  107. package/assets/esri/core/workers/chunks/{d80e26a1f4a61b1c4cf9.js → 9b5e04d87116ce2b68b2.js} +1 -1
  108. package/assets/esri/core/workers/chunks/9c60599131860f635483.js +1 -0
  109. package/assets/esri/core/workers/chunks/{ca5f63c0297612059486.js → 9cd9b22354dbdf1b1df0.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{bd1ba44362b967977003.js → 9e7af4c3c0f8cf0f5c5b.js} +1 -1
  111. package/assets/esri/core/workers/chunks/9f869b331dff505b6b55.js +1 -0
  112. package/assets/esri/core/workers/chunks/{183130521210c855c565.js → a13a36207f265f720255.js} +1 -1
  113. package/assets/esri/core/workers/chunks/a85acb948cc7d22be592.js +1 -0
  114. package/assets/esri/core/workers/chunks/{afb51b8562f8cb29b97e.js → a89c060ad302381aaf7d.js} +1 -1
  115. package/assets/esri/core/workers/chunks/{ada46055fafb8ae21dbe.js → aaab7694eb333ad480f5.js} +1 -1
  116. package/assets/esri/core/workers/chunks/{871da12fb3029177df6f.js → ad106f5f6d6848f40de3.js} +1 -1
  117. package/assets/esri/core/workers/chunks/{dec9656997683ef01ba6.js → ad1e5c24c1eae5ab8e45.js} +1 -1
  118. package/assets/esri/core/workers/chunks/b1c2e5e0a70fb5d27da5.js +1 -0
  119. package/assets/esri/core/workers/chunks/b40845b45f8d7cd347a1.js +1 -0
  120. package/assets/esri/core/workers/chunks/{54a686643e1ec1ea00ac.js → b481807b31e59cce9931.js} +1 -1
  121. package/assets/esri/core/workers/chunks/b5f6a0607b620b027cdd.js +1 -0
  122. package/assets/esri/core/workers/chunks/{8abcf9d3343dd8d45103.js → b884bd2f50aaccfa24c5.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{1285ccdde515aca9a2d5.js → bb23371335ac049861e6.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{469a018d94080fbcde22.js → bbdadced49446c907361.js} +1 -1
  125. package/assets/esri/core/workers/chunks/bc27cdd7c415ab166536.js +1 -0
  126. package/assets/esri/core/workers/chunks/{c06dda7263e64d696c88.js → c110941e87923ba47193.js} +1 -1
  127. package/assets/esri/core/workers/chunks/c474800508e3ad5ce9d7.js +1 -0
  128. package/assets/esri/core/workers/chunks/{67627b1965b27b2f1857.js → c51e2a048df152abd901.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{5c5509147bda78ce338a.js → c52314b987c63cd630f7.js} +1 -1
  130. package/assets/esri/core/workers/chunks/{b12c44faa1efa60067b0.js → c660b6e67d5d13583f19.js} +1 -1
  131. package/assets/esri/core/workers/chunks/c6e3d4c6bb02d58d5cfe.js +1 -0
  132. package/assets/esri/core/workers/chunks/{a1591d7f82e06cab5de4.js → c8d57588267e2fc4406c.js} +1 -1
  133. package/assets/esri/core/workers/chunks/{f5bb7c90f48cae594bc3.js → ca7c9756802214e41c56.js} +1 -1
  134. package/assets/esri/core/workers/chunks/cf474c055a85bdbfa8d0.js +1 -0
  135. package/assets/esri/core/workers/chunks/{9f933a7e9d3b0cd69383.js → d08b80583a23ba253c7e.js} +1 -1
  136. package/assets/esri/core/workers/chunks/d1635a7ab0c204852237.js +1 -0
  137. package/assets/esri/core/workers/chunks/{d16484b389d56a43d204.js → d465e1b3a8a53d9c0a12.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{4c7162883b228db563c6.js → d578c3880eaf2dd62324.js} +1 -1
  139. package/assets/esri/core/workers/chunks/{b8bd0f1be54b318990f6.js → d7c679374aa2d256becf.js} +1 -1
  140. package/assets/esri/core/workers/chunks/{bb0c5275e51d170ac795.js → d93b24e863379116b2aa.js} +1 -1
  141. package/assets/esri/core/workers/chunks/{fae53d825dd9fef0426c.js → da228aed337f492456cc.js} +1 -1
  142. package/assets/esri/core/workers/chunks/{6589133542fa130c0628.js → dd1d9913b33d4e48baff.js} +1 -1
  143. package/assets/esri/core/workers/chunks/{b49b73e2d0d643dfa351.js → de499e33035b56b6697d.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{e59fdb8f625e9080f097.js → e08b2e9213d35f85916f.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{c5c9f0c8da5f7bf41728.js → e177d0ab454dfa024b39.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{948ecf0bfbc886ec3b52.js → e1b25b1ce3bd4f0f2cda.js} +1 -1
  147. package/assets/esri/core/workers/chunks/{eedf97211883713c413e.js → e1b573840ec1f7c3afd3.js} +1 -1
  148. package/assets/esri/core/workers/chunks/{b117e054a2bc54f5f93b.js → e3f2cdf5d71a7040894b.js} +1 -1
  149. package/assets/esri/core/workers/chunks/{dfc5936fbbd26f27a92a.js → e666ca4d14b6490485d6.js} +1 -1
  150. package/assets/esri/core/workers/chunks/e6d08230adb90b9a2a17.js +1 -0
  151. package/assets/esri/core/workers/chunks/{672751823261a5763684.js → e92d9e0ac789bcf1cdf4.js} +1 -1
  152. package/assets/esri/core/workers/chunks/{d3b932ff2299c89c2582.js → e95a8c988ef822723503.js} +1 -1
  153. package/assets/esri/core/workers/chunks/{ae667084cb6a08b97c37.js → eb7dd722e4cd7f83b3f5.js} +1 -1
  154. package/assets/esri/core/workers/chunks/ec9ed7c9d64f88fcb806.js +1 -0
  155. package/assets/esri/core/workers/chunks/{06bd2f5358c6b85d5420.js → f42938e1602306cfa7a8.js} +1 -1
  156. package/assets/esri/core/workers/chunks/{77e083d1e425026fa030.js → f4b145feab275b268c2e.js} +1 -1
  157. package/assets/esri/core/workers/chunks/{568f49f9e50c505b2736.js → f4d7cbd33ef8710d7316.js} +1 -1
  158. package/assets/esri/core/workers/chunks/{451ae19a0a120b27c6da.js → fb0f729eff2f2911d6c3.js} +1 -1
  159. package/assets/esri/core/workers/chunks/{ce0683921ccefc580018.js → fd3009164d5e38fda85f.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{4c77102f083198ae2a6a.js → ff34fdda7899e784ac73.js} +1 -1
  161. package/chunks/ColorMaterial.glsl.js +2 -2
  162. package/chunks/DefaultMaterial.glsl.js +4 -4
  163. package/chunks/HUDMaterial.glsl.js +5 -5
  164. package/chunks/LineMarker.glsl.js +19 -19
  165. package/chunks/Pattern.glsl.js +6 -6
  166. package/chunks/RibbonLine.glsl.js +2 -2
  167. package/chunks/TimeExtent.js +1 -1
  168. package/chunks/TimeInterval.js +1 -1
  169. package/chunks/pe.js +1 -1
  170. package/config.js +1 -1
  171. package/core/AsyncUpdate.js +1 -1
  172. package/core/Collection.js +1 -1
  173. package/core/Evented.js +1 -1
  174. package/core/JSONSupport.d.ts +1 -1
  175. package/core/JSONSupport.js +1 -1
  176. package/core/Loadable.js +1 -1
  177. package/core/MultiOriginJSONSupport.js +1 -1
  178. package/core/Promise.d.ts +1 -1
  179. package/core/Promise.js +1 -1
  180. package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
  181. package/core/has.js +1 -1
  182. package/core/object.js +1 -1
  183. package/core/workers/RemoteClient.js +1 -1
  184. package/core/workers/utils.js +1 -1
  185. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  186. package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
  187. package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
  188. package/editing/sharedTemplates/templateDefinitions/parts/TemplatePartBase.js +1 -1
  189. package/effects/FocusArea.js +1 -1
  190. package/effects/FocusAreaOutline.js +1 -1
  191. package/effects/FocusAreas.js +1 -1
  192. package/form/ExpressionInfo.js +1 -1
  193. package/form/FormTemplate.js +1 -1
  194. package/form/elements/Element.js +1 -1
  195. package/form/elements/inputs/Input.js +1 -1
  196. package/form/elements/inputs/attachments/Input.js +1 -1
  197. package/geometry/Geometry.js +1 -1
  198. package/geometry/HeightModelInfo.js +1 -1
  199. package/geometry/Mesh.js +1 -1
  200. package/geometry/SpatialReference.js +1 -1
  201. package/geometry/support/MeshComponent.js +1 -1
  202. package/geometry/support/MeshGeoreferencedVertexSpace.js +1 -1
  203. package/geometry/support/MeshLocalVertexSpace.js +1 -1
  204. package/geometry/support/MeshMaterial.js +1 -1
  205. package/geometry/support/MeshTexture.js +1 -1
  206. package/geometry/support/MeshTextureTransform.js +1 -1
  207. package/geometry/support/MeshTransform.js +1 -1
  208. package/geometry/support/MeshVertexAttributes.js +1 -1
  209. package/geometry/support/heightModelInfoUtils.js +1 -1
  210. package/grids/MeasuredGrid.js +1 -1
  211. package/ground/NavigationConstraint.js +1 -1
  212. package/identity/IdentityManagerBase.js +1 -1
  213. package/identity/OAuthInfo.js +1 -1
  214. package/identity/ServerInfo.js +1 -1
  215. package/kernel.js +1 -1
  216. package/layers/BuildingSceneLayer.js +1 -1
  217. package/layers/GaussianSplatLayer.js +5 -0
  218. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  219. package/layers/buildingSublayers/BuildingGroupSublayer.js +1 -1
  220. package/layers/buildingSublayers/utils.js +5 -0
  221. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  222. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  223. package/layers/graphics/sources/MemorySource.js +1 -1
  224. package/layers/knowledgeGraph/IdealEdgeLengthTypeOptions.js +1 -1
  225. package/layers/mixins/OperationalLayer.js +1 -1
  226. package/layers/mixins/TemporalSceneLayer.js +1 -1
  227. package/layers/mixins/operationalLayerModuleMap.js +1 -1
  228. package/layers/orientedImagery/core/CameraOrientationHPR.js +1 -1
  229. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  230. package/layers/orientedImagery/core/CameraOrientationOPK.js +1 -1
  231. package/layers/orientedImagery/core/CameraOrientationYPR.js +1 -1
  232. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +1 -1
  233. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  234. package/layers/pointCloudFilters/PointCloudFilter.js +1 -1
  235. package/layers/support/AggregateField.js +1 -1
  236. package/layers/support/BuildingFilter.js +1 -1
  237. package/layers/support/BuildingFilterAuthoringInfo.js +1 -1
  238. package/layers/support/BuildingFilterAuthoringInfoBlock.js +1 -1
  239. package/layers/support/BuildingFilterAuthoringInfoType.js +1 -1
  240. package/layers/support/BuildingFilterBlock.js +1 -1
  241. package/layers/support/BuildingFilterMode.js +1 -1
  242. package/layers/support/BuildingSummaryStatistics.js +1 -1
  243. package/layers/support/CodedValue.js +1 -1
  244. package/layers/support/ControlPointsGeoreference.js +1 -1
  245. package/layers/support/DimensionalDefinition.js +1 -1
  246. package/layers/support/DisplayFilter.js +1 -1
  247. package/layers/support/DisplayFilterInfo.js +1 -1
  248. package/layers/support/Domain.js +1 -1
  249. package/layers/support/EditFieldsInfo.js +1 -1
  250. package/layers/support/ExportImageServiceParameters.js +1 -1
  251. package/layers/support/ExpressionInfo.js +1 -1
  252. package/layers/support/FacilityLayerInfo.js +1 -1
  253. package/layers/support/FeatureEffect.js +1 -1
  254. package/layers/support/FeatureFilter.js +1 -1
  255. package/layers/support/FeatureIndex.js +1 -1
  256. package/layers/support/FeatureReduction.js +1 -1
  257. package/layers/support/FeatureReductionCluster.js +1 -1
  258. package/layers/support/FeatureTemplate.js +1 -1
  259. package/layers/support/FeatureType.js +1 -1
  260. package/layers/support/Field.js +1 -1
  261. package/layers/support/GeometryFieldsInfo.js +1 -1
  262. package/layers/support/I3SLayerDefinitions.js +1 -1
  263. package/layers/support/KMLMapImage.js +1 -1
  264. package/layers/support/KMLSublayer.js +1 -1
  265. package/layers/support/LOD.js +1 -1
  266. package/layers/support/LabelClass.js +1 -1
  267. package/layers/support/LabelExpressionInfo.js +1 -1
  268. package/layers/support/LayerContingentValuesCache.js +1 -1
  269. package/layers/support/LayerFloorInfo.js +1 -1
  270. package/layers/support/LayerTimeOptions.js +1 -1
  271. package/layers/support/LevelLayerInfo.js +1 -1
  272. package/layers/support/LocalMediaElementSource.js +1 -1
  273. package/layers/support/MapImage.js +1 -1
  274. package/layers/support/MosaicRule.js +1 -1
  275. package/layers/support/MultidimensionalSubset.js +1 -1
  276. package/layers/support/OrderByInfo.js +1 -1
  277. package/layers/support/ParquetEncodingBase.js +1 -1
  278. package/layers/support/ParquetEncodingLocation.js +1 -1
  279. package/layers/support/ParquetEncodingWkb.js +1 -1
  280. package/layers/support/PixelBlock.js +1 -1
  281. package/layers/support/PlaybackInfo.js +1 -1
  282. package/layers/support/PolygonCollection.js +1 -1
  283. package/layers/support/PurgeOptions.js +1 -1
  284. package/layers/support/RangeInfo.js +1 -1
  285. package/layers/support/RasterBandInfo.js +1 -1
  286. package/layers/support/RasterFunction.js +1 -1
  287. package/layers/support/RasterFunctionInfo.js +1 -1
  288. package/layers/support/RasterFunctionProperties.js +1 -1
  289. package/layers/support/RasterFunctionTemplate.js +1 -1
  290. package/layers/support/RasterFunctionVariable.js +1 -1
  291. package/layers/support/RasterInfo.js +1 -1
  292. package/layers/support/RasterSensorInfo.js +1 -1
  293. package/layers/support/RasterStorageInfo.js +1 -1
  294. package/layers/support/Relationship.js +1 -1
  295. package/layers/support/RouteStopSymbols.js +1 -1
  296. package/layers/support/RouteSymbols.js +1 -1
  297. package/layers/support/SceneFilter.js +1 -1
  298. package/layers/support/SceneModification.js +1 -1
  299. package/layers/support/SceneModifications.js +1 -1
  300. package/layers/support/SiteLayerInfo.js +1 -1
  301. package/layers/support/Subtype.js +1 -1
  302. package/layers/support/TelemetryData.js +1 -1
  303. package/layers/support/TelemetryDisplay.js +1 -1
  304. package/layers/support/TileInfo.js +1 -1
  305. package/layers/support/TileMatrixSet.js +1 -1
  306. package/layers/support/TimeInfo.js +1 -1
  307. package/layers/support/TrackInfo.js +1 -1
  308. package/layers/support/TrackPartInfo.js +1 -1
  309. package/layers/support/VideoFrame.js +1 -1
  310. package/layers/support/VideoTimeExtent.js +1 -1
  311. package/layers/support/WMTSLayerInfo.js +1 -1
  312. package/layers/support/WMTSStyle.js +1 -1
  313. package/layers/support/WMTSSublayer.js +1 -1
  314. package/layers/support/lazyLayerLoader.js +1 -1
  315. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  316. package/layers/support/rasterFunctions/BaseFunctionArguments.js +1 -1
  317. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  318. package/layers/support/rasterTransforms/BaseRasterTransform.js +1 -1
  319. package/layers/support/source/DataLayerSource.js +1 -1
  320. package/layers/support/source/MapLayerSource.js +1 -1
  321. package/layers/support/source/QueryTableDataSource.js +1 -1
  322. package/layers/support/source/RasterDataSource.js +1 -1
  323. package/layers/support/source/TableDataSource.js +1 -1
  324. package/layers/voxel/VoxelColorStop.js +1 -1
  325. package/layers/voxel/VoxelDimension.js +1 -1
  326. package/layers/voxel/VoxelDynamicSection.js +1 -1
  327. package/layers/voxel/VoxelFormat.js +1 -1
  328. package/layers/voxel/VoxelIrregularSpacing.js +1 -1
  329. package/layers/voxel/VoxelIsosurface.js +1 -1
  330. package/layers/voxel/VoxelOpacityStop.js +1 -1
  331. package/layers/voxel/VoxelRangeFilter.js +1 -1
  332. package/layers/voxel/VoxelRegularSpacing.js +1 -1
  333. package/layers/voxel/VoxelSection.js +1 -1
  334. package/layers/voxel/VoxelSimpleShading.js +1 -1
  335. package/layers/voxel/VoxelSlice.js +1 -1
  336. package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
  337. package/layers/voxel/VoxelUniqueValue.js +1 -1
  338. package/layers/voxel/VoxelVariable.js +1 -1
  339. package/layers/voxel/VoxelVariableStyle.js +1 -1
  340. package/layers/voxel/VoxelVolume.js +1 -1
  341. package/layers/voxel/VoxelVolumeIndex.js +1 -1
  342. package/layers/voxel/VoxelVolumeStyle.js +1 -1
  343. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  344. package/linkChart/ChronologicalLayoutSettings.js +1 -1
  345. package/linkChart/LayoutSettings.js +1 -1
  346. package/linkChart/NonspatialDataDisplay.js +1 -1
  347. package/linkChart/OrganicLayoutSettings.js +1 -1
  348. package/networks/CircuitManager.js +1 -1
  349. package/networks/RulesTable.js +1 -1
  350. package/networks/UnitIdentifierManager.js +1 -1
  351. package/networks/support/Terminal.js +1 -1
  352. package/networks/support/TerminalConfiguration.js +1 -1
  353. package/networks/support/TraceConfiguration.js +1 -1
  354. package/networks/support/UtilityNetworkLookupHelper.js +1 -1
  355. package/package.json +2 -2
  356. package/popup/ElementExpressionInfo.js +1 -1
  357. package/popup/ExpressionInfo.js +1 -1
  358. package/popup/FieldInfo.js +1 -1
  359. package/popup/LayerOptions.js +1 -1
  360. package/popup/RelatedRecordsInfo.js +1 -1
  361. package/popup/content/Content.js +1 -1
  362. package/popup/content/mixins/MediaInfo.js +1 -1
  363. package/popup/content/support/ChartMediaInfoValue.js +1 -1
  364. package/popup/content/support/ImageMediaInfoValue.js +1 -1
  365. package/popup/support/AttachmentsOrderByInfo.js +1 -1
  366. package/popup/support/FieldInfoFormat.js +1 -1
  367. package/popup/support/RelatedRecordsInfoFieldOrder.js +1 -1
  368. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  369. package/portal/Portal.js +1 -1
  370. package/portal/PortalFolder.js +1 -1
  371. package/portal/PortalGroup.js +1 -1
  372. package/portal/PortalItem.js +1 -1
  373. package/portal/PortalUser.js +1 -1
  374. package/renderers/FlowRenderer.js +1 -1
  375. package/renderers/PointCloudClassBreaksRenderer.js +1 -1
  376. package/renderers/PointCloudRenderer.js +1 -1
  377. package/renderers/PointCloudStretchRenderer.js +1 -1
  378. package/renderers/PointCloudUniqueValueRenderer.js +1 -1
  379. package/renderers/RasterColormapRenderer.js +1 -1
  380. package/renderers/RasterShadedReliefRenderer.js +1 -1
  381. package/renderers/RasterStretchRenderer.js +1 -1
  382. package/renderers/Renderer.js +1 -1
  383. package/renderers/VectorFieldRenderer.js +1 -1
  384. package/renderers/support/AttributeColorInfo.js +1 -1
  385. package/renderers/support/AuthoringInfo.js +1 -1
  386. package/renderers/support/AuthoringInfoClassBreakInfo.js +1 -1
  387. package/renderers/support/AuthoringInfoFieldInfo.js +1 -1
  388. package/renderers/support/AuthoringInfoSizeStop.js +1 -1
  389. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  390. package/renderers/support/ClassBreakInfo.js +1 -1
  391. package/renderers/support/ColormapInfo.js +1 -1
  392. package/renderers/support/DotDensityLegendOptions.js +1 -1
  393. package/renderers/support/HeatmapColorStop.js +1 -1
  394. package/renderers/support/HeatmapLegendOptions.js +1 -1
  395. package/renderers/support/OthersCategory.js +1 -1
  396. package/renderers/support/RasterPresetRenderer.js +1 -1
  397. package/renderers/support/RasterSymbolizer.js +1 -1
  398. package/renderers/support/RendererLegendOptions.js +1 -1
  399. package/renderers/support/UniqueValue.js +1 -1
  400. package/renderers/support/UniqueValueClass.js +1 -1
  401. package/renderers/support/UniqueValueGroup.js +1 -1
  402. package/renderers/support/UniqueValueInfo.js +1 -1
  403. package/renderers/support/pointCloud/ColorClassBreakInfo.js +1 -1
  404. package/renderers/support/pointCloud/ColorModulation.js +1 -1
  405. package/renderers/support/pointCloud/ColorUniqueValueInfo.js +1 -1
  406. package/renderers/support/pointCloud/PointSizeAlgorithm.js +1 -1
  407. package/renderers/support/pointCloud/fieldsMap.js +5 -0
  408. package/renderers/visualVariables/VisualVariable.js +1 -1
  409. package/renderers/visualVariables/support/ColorSizeStop.js +1 -1
  410. package/renderers/visualVariables/support/ColorStop.js +1 -1
  411. package/renderers/visualVariables/support/OpacityStop.js +1 -1
  412. package/renderers/visualVariables/support/SizeStop.js +1 -1
  413. package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
  414. package/rest/featureService/FeatureService.js +1 -1
  415. package/rest/knowledgeGraph/DataModel.js +1 -1
  416. package/rest/knowledgeGraph/FieldIndex.js +1 -1
  417. package/rest/knowledgeGraph/GraphObject.js +1 -1
  418. package/rest/knowledgeGraph/GraphObjectType.js +1 -1
  419. package/rest/knowledgeGraph/GraphProperty.js +1 -1
  420. package/rest/knowledgeGraph/KnowledgeGraph.js +1 -1
  421. package/rest/knowledgeGraph/Path.js +1 -1
  422. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  423. package/rest/knowledgeGraph/ServiceDefinition.js +1 -1
  424. package/rest/knowledgeGraph/SourceTypeValueBehavior.js +1 -1
  425. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +1 -1
  426. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +1 -1
  427. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +1 -1
  428. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +1 -1
  429. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
  430. package/rest/knowledgeGraph/wasmInterface/WasmQueryWrapperInterfaces.js +1 -1
  431. package/rest/knowledgeGraph/wasmInterface/WasmSerializedLayerData.js +1 -1
  432. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  433. package/rest/knowledgeGraph/wasmInterface/wasmToFeatureFactories.js +1 -1
  434. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  435. package/rest/networks/circuits/support/CircuitVerifyResult.js +1 -1
  436. package/rest/networks/circuits/support/CreateAlterCircuitParameters.js +1 -1
  437. package/rest/networks/circuits/support/DeleteCircuitsParameters.js +1 -1
  438. package/rest/networks/circuits/support/EditCircuitsResult.js +1 -1
  439. package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
  440. package/rest/networks/circuits/support/ExportCircuitsResult.js +1 -1
  441. package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
  442. package/rest/networks/circuits/support/QueryCircuitsResult.js +1 -1
  443. package/rest/networks/circuits/support/VerifyCircuitsParameters.js +1 -1
  444. package/rest/networks/circuits/support/VerifyCircuitsResult.js +1 -1
  445. package/rest/networks/support/AggregatedGeometry.js +1 -1
  446. package/rest/networks/support/Association.js +1 -1
  447. package/rest/networks/support/AssociationGeometriesResult.js +1 -1
  448. package/rest/networks/support/CircuitPath.js +1 -1
  449. package/rest/networks/support/CircuitPathConnectivityElement.js +1 -1
  450. package/rest/networks/support/CircuitTraceResult.js +1 -1
  451. package/rest/networks/support/FunctionResult.js +1 -1
  452. package/rest/networks/support/NetworkElement.js +1 -1
  453. package/rest/networks/support/QueryAssociationsParameters.js +1 -1
  454. package/rest/networks/support/QueryAssociationsResult.js +1 -1
  455. package/rest/networks/support/QueryNamedTraceConfigurationsParameters.js +1 -1
  456. package/rest/networks/support/QueryNamedTraceConfigurationsResult.js +1 -1
  457. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
  458. package/rest/networks/support/TraceLocation.js +1 -1
  459. package/rest/networks/support/TraceParameters.js +1 -1
  460. package/rest/networks/support/TraceResult.js +1 -1
  461. package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
  462. package/rest/networks/support/ValidateNetworkTopologyResult.js +1 -1
  463. package/rest/networks/unitIdentifiers/support/EditUnitIdentifiersResult.js +1 -1
  464. package/rest/networks/unitIdentifiers/support/InsertGapParameters.js +1 -1
  465. package/rest/networks/unitIdentifiers/support/QueryUnitIdentifiersParameters.js +1 -1
  466. package/rest/networks/unitIdentifiers/support/ResetParameters.js +1 -1
  467. package/rest/networks/unitIdentifiers/support/ResizeParameters.js +1 -1
  468. package/rest/networks/unitIdentifiers/support/UnitQueryResult.js +1 -1
  469. package/rest/query/support/AttachmentInfo.js +1 -1
  470. package/rest/support/AddressCandidate.js +1 -1
  471. package/rest/support/AddressToLocationsParameters.js +1 -1
  472. package/rest/support/AddressesToLocationsParameters.js +1 -1
  473. package/rest/support/ArealUnit.js +1 -1
  474. package/rest/support/AreasAndLengthsParameters.js +1 -1
  475. package/rest/support/AttachmentQuery.js +1 -1
  476. package/rest/support/AttributeBinsGrouping.js +1 -1
  477. package/rest/support/AttributeBinsQuery.js +1 -1
  478. package/rest/support/BaseImageMeasureParameters.js +1 -1
  479. package/rest/support/BaseImageMeasureResult.js +1 -1
  480. package/rest/support/BinParametersBase.js +1 -1
  481. package/rest/support/BufferParameters.js +1 -1
  482. package/rest/support/CameraInfo.js +1 -1
  483. package/rest/support/ClassBreaksDefinition.js +1 -1
  484. package/rest/support/ClosestFacilityParameters.js +1 -1
  485. package/rest/support/ClosestFacilitySolveResult.js +1 -1
  486. package/rest/support/ColorRamp.js +1 -1
  487. package/rest/support/DataFile.js +1 -1
  488. package/rest/support/DataLayer.js +1 -1
  489. package/rest/support/DateBinTimeInterval.js +1 -1
  490. package/rest/support/DensifyParameters.js +1 -1
  491. package/rest/support/DirectionLine.js +1 -1
  492. package/rest/support/DirectionPoint.js +1 -1
  493. package/rest/support/DirectionsEvent.js +1 -1
  494. package/rest/support/DirectionsString.js +1 -1
  495. package/rest/support/FeatureSet.js +1 -1
  496. package/rest/support/FindImagesParameters.js +1 -1
  497. package/rest/support/FindImagesResult.js +1 -1
  498. package/rest/support/FindParameters.js +1 -1
  499. package/rest/support/FindResult.js +1 -1
  500. package/rest/support/FullTextSearch.js +1 -1
  501. package/rest/support/GPMessage.js +1 -1
  502. package/rest/support/GeneralizeParameters.js +1 -1
  503. package/rest/support/GenerateRendererParameters.js +1 -1
  504. package/rest/support/IdentifyParameters.js +1 -1
  505. package/rest/support/IdentifyResult.js +1 -1
  506. package/rest/support/ImageAngleParameters.js +1 -1
  507. package/rest/support/ImageAngleResult.js +1 -1
  508. package/rest/support/ImageBoundaryParameters.js +1 -1
  509. package/rest/support/ImageBoundaryResult.js +1 -1
  510. package/rest/support/ImageGPSInfo.js +1 -1
  511. package/rest/support/ImageGPSInfoParameters.js +1 -1
  512. package/rest/support/ImageGPSInfoResult.js +1 -1
  513. package/rest/support/ImageHistogramParameters.js +1 -1
  514. package/rest/support/ImageIdentifyParameters.js +1 -1
  515. package/rest/support/ImageIdentifyResult.js +1 -1
  516. package/rest/support/ImageInspectionInfo.js +1 -1
  517. package/rest/support/ImagePixelLocationParameters.js +1 -1
  518. package/rest/support/ImagePixelLocationResult.js +1 -1
  519. package/rest/support/ImageSample.js +1 -1
  520. package/rest/support/ImageSampleParameters.js +1 -1
  521. package/rest/support/ImageSampleResult.js +1 -1
  522. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  523. package/rest/support/ImageToMapParameters.js +1 -1
  524. package/rest/support/ImageUrlParameters.js +1 -1
  525. package/rest/support/ImageUrlResult.js +1 -1
  526. package/rest/support/ImageVolume.js +1 -1
  527. package/rest/support/ImageVolumeParameters.js +1 -1
  528. package/rest/support/ImageVolumeResult.js +1 -1
  529. package/rest/support/JobInfo.js +1 -1
  530. package/rest/support/LegendLayer.js +1 -1
  531. package/rest/support/LengthsParameters.js +1 -1
  532. package/rest/support/LinearUnit.js +1 -1
  533. package/rest/support/LocationToAddressParameters.js +1 -1
  534. package/rest/support/MapToImageParameters.js +1 -1
  535. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  536. package/rest/support/MeasureFromImageParameters.js +1 -1
  537. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  538. package/rest/support/MultipartColorRamp.js +1 -1
  539. package/rest/support/NetworkAttribute.js +1 -1
  540. package/rest/support/NetworkDataset.js +1 -1
  541. package/rest/support/NetworkServiceDescription.js +1 -1
  542. package/rest/support/NetworkUrl.js +1 -1
  543. package/rest/support/OffsetParameters.js +1 -1
  544. package/rest/support/ParameterValue.js +1 -1
  545. package/rest/support/PointBarrier.js +1 -1
  546. package/rest/support/PolygonBarrier.js +1 -1
  547. package/rest/support/PolylineBarrier.js +1 -1
  548. package/rest/support/ProjectParameters.js +1 -1
  549. package/rest/support/QuantizationParameters.js +1 -1
  550. package/rest/support/Query.js +1 -1
  551. package/rest/support/RasterData.js +1 -1
  552. package/rest/support/RelationParameters.js +1 -1
  553. package/rest/support/RelationshipQuery.js +1 -1
  554. package/rest/support/RouteInfo.js +1 -1
  555. package/rest/support/RouteParameters.js +1 -1
  556. package/rest/support/RouteResult.js +1 -1
  557. package/rest/support/RouteSettings.js +1 -1
  558. package/rest/support/RouteSolveResult.js +1 -1
  559. package/rest/support/ServiceAreaParameters.js +1 -1
  560. package/rest/support/ServiceAreaSolveResult.js +1 -1
  561. package/rest/support/StatisticDefinition.js +1 -1
  562. package/rest/support/Stop.js +1 -1
  563. package/rest/support/SuggestLocationsParameters.js +1 -1
  564. package/rest/support/SuggestionCandidate.js +1 -1
  565. package/rest/support/TopFeaturesQuery.js +1 -1
  566. package/rest/support/TopFilter.js +1 -1
  567. package/rest/support/TranslateContent.js +1 -1
  568. package/rest/support/TranslateParameters.js +1 -1
  569. package/rest/support/TranslateResult.js +1 -1
  570. package/rest/support/TravelMode.js +1 -1
  571. package/rest/support/TrimExtendParameters.js +1 -1
  572. package/rest/support/UniqueValueDefinition.js +1 -1
  573. package/rest/support/imageMeasureUtils.js +1 -1
  574. package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.js +1 -1
  575. package/rest/versionManagement/gdbVersion/support/ConflictsParameters.js +1 -1
  576. package/rest/versionManagement/gdbVersion/support/ConflictsResult.js +1 -1
  577. package/rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters.js +1 -1
  578. package/rest/versionManagement/gdbVersion/support/DifferencesParameters.js +1 -1
  579. package/rest/versionManagement/gdbVersion/support/DifferencesResult.js +1 -1
  580. package/rest/versionManagement/gdbVersion/support/InspectConflictsParameters.js +1 -1
  581. package/rest/versionManagement/gdbVersion/support/PostParameters.js +1 -1
  582. package/rest/versionManagement/gdbVersion/support/PostResult.js +1 -1
  583. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.js +1 -1
  584. package/rest/versionManagement/gdbVersion/support/ReconcileResult.js +1 -1
  585. package/rest/versionManagement/gdbVersion/support/RestoreRowsParameters.js +1 -1
  586. package/rest/versionManagement/gdbVersion/support/RestoreRowsResult.js +1 -1
  587. package/rest/versionManagement/support/CreateVersionParameters.js +1 -1
  588. package/rest/versionManagement/support/DeleteVersionParameters.js +1 -1
  589. package/rest/versionManagement/support/GetVersionInfosParameters.js +1 -1
  590. package/rest/versionManagement/support/GetVersionInfosResult.js +1 -1
  591. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  592. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  593. package/support/MapFloorInfo.js +1 -1
  594. package/support/revision.js +1 -1
  595. package/symbols/Font.js +1 -1
  596. package/symbols/LineStyleMarker3D.js +1 -1
  597. package/symbols/LineSymbolMarker.js +1 -1
  598. package/symbols/Symbol.js +1 -1
  599. package/symbols/Symbol3DLayer.js +1 -1
  600. package/symbols/callouts/Callout3D.js +1 -1
  601. package/symbols/callouts/LineCallout3DBorder.js +1 -1
  602. package/symbols/edges/Edges3D.js +1 -1
  603. package/symbols/patterns/LinePattern3D.js +1 -1
  604. package/symbols/patterns/Pattern3D.js +1 -1
  605. package/symbols/support/ElevationInfo.js +1 -1
  606. package/symbols/support/FeatureExpressionInfo.js +1 -1
  607. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  608. package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
  609. package/symbols/support/Symbol3DEmissive.js +1 -1
  610. package/symbols/support/Symbol3DHalo.js +1 -1
  611. package/symbols/support/Symbol3DIconOutline.js +1 -1
  612. package/symbols/support/Symbol3DMaterial.js +1 -1
  613. package/symbols/support/Symbol3DOutline.js +1 -1
  614. package/symbols/support/Symbol3DTextBackground.js +1 -1
  615. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  616. package/tables/AttributeTableTemplate.js +1 -1
  617. package/tables/elements/AttributeTableElement.js +1 -1
  618. package/tables/support/FieldOrder.js +1 -1
  619. package/undoredo/support/Services.js +1 -1
  620. package/versionManagement/VersionManagementService.js +1 -1
  621. package/versionManagement/VersioningState.js +1 -1
  622. package/views/2d/AnimationManager.js +1 -1
  623. package/views/2d/ViewState.js +1 -1
  624. package/views/2d/engine/AFeatureContainer.js +1 -1
  625. package/views/2d/engine/Bitmap.js +1 -1
  626. package/views/2d/engine/Stage.js +1 -1
  627. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  628. package/views/2d/engine/flow/styles/Particles.js +1 -1
  629. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  630. package/views/2d/engine/imagery/BrushVectorField.js +1 -1
  631. package/views/2d/engine/imagery/RasterBitmap.js +1 -1
  632. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  633. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  634. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  635. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  636. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  637. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  638. package/views/2d/engine/webgl/ClippingInfo.js +1 -1
  639. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  640. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  641. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  642. package/views/2d/engine/webgl/Overlay.js +1 -1
  643. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  644. package/views/2d/engine/webgl/Painter.js +1 -1
  645. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  646. package/views/2d/engine/webgl/Utils.js +1 -1
  647. package/views/2d/engine/webgl/VertexStream.js +1 -1
  648. package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
  649. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  650. package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
  651. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  652. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  653. package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
  654. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  655. package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +1 -1
  656. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  657. package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
  658. package/views/2d/engine/webgl/effects/post-processing/Bloom.js +1 -1
  659. package/views/2d/engine/webgl/effects/post-processing/Blur.js +1 -1
  660. package/views/2d/engine/webgl/effects/post-processing/Colorize.js +1 -1
  661. package/views/2d/engine/webgl/effects/post-processing/DropShadow.js +1 -1
  662. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  663. package/views/2d/engine/webgl/shaderGraph/GLSLShaderModule.js +1 -1
  664. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  665. package/views/2d/engine/webgl/shaderGraph/techniques/TestDisplayObject.js +1 -1
  666. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  667. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  668. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  669. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  670. package/views/2d/engine/webgl/shaders/BackgroundPrograms.js +1 -1
  671. package/views/2d/engine/webgl/shaders/BitBlitPrograms.js +1 -1
  672. package/views/2d/engine/webgl/shaders/HighlightPrograms.js +1 -1
  673. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  674. package/views/2d/engine/webgl/shaders/StencilPrograms.js +1 -1
  675. package/views/2d/engine/webgl/shaders/TileInfoPrograms.js +1 -1
  676. package/views/2d/grid/GridView2D.js +1 -1
  677. package/views/2d/layerViewModuleImportUtils.js +1 -1
  678. package/views/2d/layers/BaseDynamicLayerView2D.js +1 -1
  679. package/views/2d/layers/BaseLayerView2D.js +1 -1
  680. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  681. package/views/2d/layers/CatalogDynamicGroupLayerView2D.js +1 -1
  682. package/views/2d/layers/CatalogFootprintLayerView2D.js +1 -1
  683. package/views/2d/layers/CatalogLayerView2D.js +1 -1
  684. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  685. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  686. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  687. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  688. package/views/2d/layers/MediaLayerView2D.js +1 -1
  689. package/views/2d/layers/OGCFeatureLayerView2D.js +1 -1
  690. package/views/2d/layers/StreamLayerView2D.js +1 -1
  691. package/views/2d/layers/TileLayerView2D.js +1 -1
  692. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  693. package/views/2d/layers/WMSLayerView2D.js +1 -1
  694. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  695. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  696. package/views/2d/layers/features/support/TileStore.js +1 -1
  697. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  698. package/views/2d/layers/support/DebugOverlay.js +1 -1
  699. package/views/2d/magnifier/MagnifierView2D.js +1 -1
  700. package/views/3d/FocusAreasView.js +1 -1
  701. package/views/3d/analysis/AnalysisView3D.js +1 -1
  702. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  703. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  704. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  705. package/views/3d/environment/CloudsRenderer.js +1 -1
  706. package/views/3d/environment/CloudsTechnique.js +1 -1
  707. package/views/3d/environment/CloudyWeather.js +1 -1
  708. package/views/3d/environment/FogTechnique.js +1 -1
  709. package/views/3d/environment/FoggyWeather.js +1 -1
  710. package/views/3d/environment/LocalAtmosphere.js +1 -1
  711. package/views/3d/environment/MarsAtmosphere.js +1 -1
  712. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  713. package/views/3d/environment/Precipitation.js +1 -1
  714. package/views/3d/environment/RainyWeather.js +1 -1
  715. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  716. package/views/3d/environment/SnowyWeather.js +1 -1
  717. package/views/3d/environment/SunLighting.js +1 -1
  718. package/views/3d/environment/SunnyWeather.js +1 -1
  719. package/views/3d/glTF/internal/Resource.js +1 -1
  720. package/views/3d/glTF/loader.js +1 -1
  721. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  722. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  723. package/views/3d/layerViewModuleImportUtils.js +1 -1
  724. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  725. package/views/3d/layers/CatalogDynamicGroupLayerView3D.js +1 -1
  726. package/views/3d/layers/CatalogFootprintLayerView3D.js +1 -1
  727. package/views/3d/layers/CatalogLayerView3D.js +1 -1
  728. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  729. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  730. package/views/3d/layers/GaussianSplatLayerView3D.js +5 -0
  731. package/views/3d/layers/I3SMeshView3D.js +1 -1
  732. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  733. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  734. package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
  735. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  736. package/views/3d/layers/StreamLayerView3D.js +1 -1
  737. package/views/3d/layers/TileLayerView3D.js +1 -1
  738. package/views/3d/layers/WMSLayerView3D.js +1 -1
  739. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  740. package/views/3d/layers/graphics/GraphicStateTracking.js +1 -1
  741. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  742. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  743. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  744. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  745. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  746. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  747. package/views/3d/layers/graphics/StreamController.js +1 -1
  748. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  749. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  750. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  751. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  752. package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
  753. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  754. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  755. package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +1 -1
  756. package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
  757. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  758. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  759. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  760. package/views/3d/layers/support/FeatureTile.js +1 -1
  761. package/views/3d/layers/support/FlowTileTree3DDebugger.js +5 -0
  762. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  763. package/views/3d/state/controllers/AnimationController.js +1 -1
  764. package/views/3d/support/DisplayQualityProfile.js +1 -1
  765. package/views/3d/support/LimitGraphicsMap.js +1 -1
  766. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  767. package/views/3d/support/buffer/glUtil.js +1 -1
  768. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  769. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  770. package/views/3d/terrain/PatchRenderData.js +1 -1
  771. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  772. package/views/3d/terrain/TerrainAttributes.js +1 -1
  773. package/views/3d/terrain/TerrainAttributesCache.js +1 -1
  774. package/views/3d/terrain/TileCompositor.js +1 -1
  775. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  776. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  777. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  778. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  779. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  780. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  781. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  782. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +2 -2
  783. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +2 -2
  784. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +4 -4
  785. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +2 -2
  786. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  787. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  788. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +4 -4
  789. package/views/3d/webgl-engine/core/shaderModules/glsl.js +1 -1
  790. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  791. package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
  792. package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
  793. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  794. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  795. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +3 -3
  796. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  797. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  798. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  799. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  800. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  801. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  802. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  803. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  804. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  805. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  806. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  807. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  808. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  809. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  810. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  811. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  812. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  813. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  814. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  815. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  816. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  817. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  818. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  819. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  820. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  821. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  822. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  823. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  824. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  825. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  826. package/views/3d/webgl-engine/lib/Material.js +1 -1
  827. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  828. package/views/3d/webgl-engine/lib/Program.js +1 -1
  829. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  830. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  831. package/views/3d/webgl-engine/lib/RenderingContextOptions.js +5 -0
  832. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  833. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  834. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  835. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  836. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  837. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  838. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  839. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  840. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  841. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  842. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  843. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  844. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  845. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  846. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  847. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  848. package/views/3d/webgl-engine/lib/octreeUtils.js +1 -1
  849. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  850. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  851. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  852. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  853. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  854. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  855. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  856. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  857. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  858. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  859. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  860. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  861. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  862. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  863. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  864. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  865. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  866. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  867. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  868. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  869. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  870. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  871. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  872. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  873. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +5 -5
  874. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  875. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  876. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  877. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  878. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  879. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  880. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  881. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  882. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
  883. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  884. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  885. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  886. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  887. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  888. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  889. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  890. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  891. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  892. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  893. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  894. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +0 -1
  895. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  896. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  897. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  898. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  899. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  900. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  901. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  902. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  903. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  904. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  905. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +1 -1
  906. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  907. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  908. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  909. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  910. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  911. package/views/3d/webgl.js +1 -1
  912. package/views/SceneView.js +1 -1
  913. package/views/VideoView.js +1 -1
  914. package/views/View.js +1 -1
  915. package/views/View2D.js +1 -1
  916. package/views/ViewAnimation.js +1 -1
  917. package/views/draw/DrawAction.js +1 -1
  918. package/views/draw/support/ConnectedReshapeManager.js +1 -1
  919. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  920. package/views/interactive/snapping/Settings.js +1 -1
  921. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  922. package/views/layers/CatalogDynamicGroupLayerView.d.ts +1 -1
  923. package/views/layers/CatalogDynamicGroupLayerView.js +1 -1
  924. package/views/layers/CatalogFootprintLayerView.d.ts +1 -1
  925. package/views/layers/CatalogFootprintLayerView.js +1 -1
  926. package/views/layers/CatalogLayerView.d.ts +1 -1
  927. package/views/layers/CatalogLayerView.js +1 -1
  928. package/views/layers/FeatureLayerView.d.ts +1 -1
  929. package/views/layers/FeatureLayerView.js +1 -1
  930. package/views/layers/LayerView.js +1 -1
  931. package/views/layers/OGCFeatureLayerView.d.ts +1 -1
  932. package/views/layers/OGCFeatureLayerView.js +1 -1
  933. package/views/layers/PointCloudLayerView.d.ts +1 -1
  934. package/views/layers/PointCloudLayerView.js +1 -1
  935. package/views/layers/RefreshableLayerView.js +1 -1
  936. package/views/layers/StreamLayerView.d.ts +1 -1
  937. package/views/layers/StreamLayerView.js +1 -1
  938. package/views/layers/WMSLayerView.js +1 -1
  939. package/views/layers/support/ClipArea.js +1 -1
  940. package/views/support/PixelHighlightOptions.js +1 -1
  941. package/views/support/Scheduler.js +1 -1
  942. package/views/support/TileTreeDebugger.js +1 -1
  943. package/views/support/imageReprojection.js +1 -1
  944. package/views/support/screenshotUtils.js +1 -1
  945. package/views/webgl/FramebufferObject.js +1 -1
  946. package/views/webgl/InstanceCounter.js +1 -1
  947. package/views/webgl/Parameters.js +1 -1
  948. package/views/webgl/Program.js +1 -1
  949. package/views/webgl/ProgramCache.js +1 -1
  950. package/views/webgl/ProgramTemplate.js +1 -1
  951. package/views/webgl/RenderingContext.js +1 -1
  952. package/views/webgl/RenderingContextOptions.js +5 -0
  953. package/views/webgl/ShaderBuilder.js +1 -1
  954. package/views/webgl/Texture.js +1 -1
  955. package/views/webgl/TextureDescriptor.js +1 -1
  956. package/views/webgl/Util.js +1 -1
  957. package/views/webgl/VertexArrayObject.js +1 -1
  958. package/views/webgl/VertexAttributeLayouts.js +5 -0
  959. package/views/webgl/VertexAttributeLocations.js +5 -0
  960. package/views/webgl/VertexBuffer.js +5 -0
  961. package/views/webgl/capabilities/Capabilities.js +1 -1
  962. package/views/webgl/enums.js +1 -1
  963. package/views/webgl/heatmapTextureUtils.js +1 -1
  964. package/views/webgl/rasterUtils.js +1 -1
  965. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  966. package/views/webgl/testFloatBufferBlend.js +1 -1
  967. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  968. package/views/webgl/textureUtils.js +1 -1
  969. package/webdoc/GeotriggersInfo.js +1 -1
  970. package/webdoc/IPSInfo.js +1 -1
  971. package/webdoc/RangeInfo.js +1 -1
  972. package/webdoc/Widgets.js +1 -1
  973. package/webdoc/applicationProperties/Search.js +1 -1
  974. package/webdoc/applicationProperties/SearchLayer.js +1 -1
  975. package/webdoc/applicationProperties/SearchLayerField.js +1 -1
  976. package/webdoc/applicationProperties/SearchTable.js +1 -1
  977. package/webdoc/applicationProperties/SearchTableField.js +1 -1
  978. package/webdoc/applicationProperties/Viewing.js +1 -1
  979. package/webdoc/geotriggersInfo/DeviceLocationFeed.js +1 -1
  980. package/webdoc/geotriggersInfo/ExpressionInfo.js +1 -1
  981. package/webdoc/geotriggersInfo/FeatureFenceParameters.js +1 -1
  982. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  983. package/webdoc/geotriggersInfo/FeatureLayerSource.js +1 -1
  984. package/webdoc/geotriggersInfo/Geotrigger.js +1 -1
  985. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js +1 -1
  986. package/webdoc/ips/AppleIPSProperties.js +1 -1
  987. package/webdoc/ips/Configuration.js +1 -1
  988. package/webdoc/ips/GNSSProperties.js +1 -1
  989. package/webdoc/ips/PathSnappingProperties.js +1 -1
  990. package/webdoc/ips/PositioningService.js +1 -1
  991. package/webdoc/ips/SmoothingProperties.js +1 -1
  992. package/webdoc/support/SlideThumbnail.js +1 -1
  993. package/webdoc/widgets/FloorFilter.js +1 -1
  994. package/webdoc/widgets/Range.js +1 -1
  995. package/webdoc/widgets/TimeSlider.js +1 -1
  996. package/webmap/ApplicationProperties.js +1 -1
  997. package/webmap/Bookmark.js +1 -1
  998. package/webmap/background/ColorBackground.js +1 -1
  999. package/webscene/ApplicationProperties.js +1 -1
  1000. package/webscene/Environment.js +1 -1
  1001. package/webscene/InitialViewProperties.js +1 -1
  1002. package/webscene/Presentation.js +1 -1
  1003. package/webscene/Slide.js +1 -1
  1004. package/webscene/SlideLegendInfo.js +1 -1
  1005. package/webscene/SunLighting.js +1 -1
  1006. package/webscene/TransportationNetwork.js +1 -1
  1007. package/webscene/VirtualLighting.js +1 -1
  1008. package/webscene/background/Background.js +1 -1
  1009. package/webscene/support/Description.js +1 -1
  1010. package/webscene/support/FeatureReference.js +1 -1
  1011. package/webscene/support/FeatureReferenceId.js +1 -1
  1012. package/webscene/support/LayerReference.js +1 -1
  1013. package/webscene/support/SlideElements.js +1 -1
  1014. package/webscene/support/SlideEnvironment.js +1 -1
  1015. package/webscene/support/SlideGround.js +1 -1
  1016. package/webscene/support/SlidePopupInfo.js +1 -1
  1017. package/webscene/support/SlideVisibleLayer.js +1 -1
  1018. package/webscene/support/Title.js +1 -1
  1019. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  1020. package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
  1021. package/widgets/Compass/CompassViewModel.js +1 -1
  1022. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  1023. package/widgets/DirectionalPad/DirectionalPadViewModel.js +1 -1
  1024. package/widgets/Directions/DirectionsViewModel.js +1 -1
  1025. package/widgets/Directions/support/directionsUtils.js +1 -1
  1026. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  1027. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  1028. package/widgets/FeatureForm/Format.js +1 -1
  1029. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  1030. package/widgets/FeatureTable/support/TableTemplate.js +1 -1
  1031. package/widgets/Features/FeaturesViewModel.js +1 -1
  1032. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  1033. package/widgets/Home/HomeViewModel.js +1 -1
  1034. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  1035. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  1036. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  1037. package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
  1038. package/widgets/Print/CustomTemplate.js +1 -1
  1039. package/widgets/Print/PrintViewModel.js +1 -1
  1040. package/widgets/Search/SearchSource.js +1 -1
  1041. package/widgets/Search/SearchViewModel.js +1 -1
  1042. package/widgets/Widget.js +1 -1
  1043. package/widgets/support/GeolocationPositioning.js +1 -1
  1044. package/widgets/support/GoTo.d.ts +1 -1
  1045. package/widgets/support/GoTo.js +1 -1
  1046. package/assets/esri/core/workers/chunks/040a233ce6fbcc061cdb.js +0 -1
  1047. package/assets/esri/core/workers/chunks/04798411698a48438bd3.js +0 -1
  1048. package/assets/esri/core/workers/chunks/053086e0a043b00f1cca.js +0 -1
  1049. package/assets/esri/core/workers/chunks/05d6ccca0cf38c012873.js +0 -1
  1050. package/assets/esri/core/workers/chunks/0801f9dde41ec5f36cca.js +0 -1
  1051. package/assets/esri/core/workers/chunks/08b4a4c9f3d6478df40a.js +0 -1
  1052. package/assets/esri/core/workers/chunks/0906f977d50b1c5d6ed5.js +0 -1
  1053. package/assets/esri/core/workers/chunks/307df66d00ba5f88780d.js +0 -1
  1054. package/assets/esri/core/workers/chunks/47cdd5a6351e0db3b2e9.js +0 -346
  1055. package/assets/esri/core/workers/chunks/50f56b417992eb30243e.js +0 -1
  1056. package/assets/esri/core/workers/chunks/56aafa6f8862629070d8.js +0 -1
  1057. package/assets/esri/core/workers/chunks/5c5678b15b59f9964bf0.js +0 -1
  1058. package/assets/esri/core/workers/chunks/641ca71d7c1a07bde66a.js +0 -1
  1059. package/assets/esri/core/workers/chunks/6b6ab092f578b20c8e56.js +0 -1
  1060. package/assets/esri/core/workers/chunks/72e0fda211d980572292.js +0 -1
  1061. package/assets/esri/core/workers/chunks/761dab8780495286ec4e.js +0 -1
  1062. package/assets/esri/core/workers/chunks/860bd6d6f0c74ca301a4.js +0 -1
  1063. package/assets/esri/core/workers/chunks/8d914ea9b18b32fd62b8.js +0 -1
  1064. package/assets/esri/core/workers/chunks/97a56b058f8472fec1b2.js +0 -1
  1065. package/assets/esri/core/workers/chunks/9a4d0006c118ae5b45c0.js +0 -1
  1066. package/assets/esri/core/workers/chunks/a2bfb7b2f3f909dc5e59.js +0 -1
  1067. package/assets/esri/core/workers/chunks/afb7e346779adefa4b05.js +0 -1
  1068. package/assets/esri/core/workers/chunks/b2f2c1108fb7cbdd1a68.js +0 -1
  1069. package/assets/esri/core/workers/chunks/b3466edccd553ae0a5d0.js +0 -990
  1070. package/assets/esri/core/workers/chunks/b50841f898d4eb420b73.js +0 -1
  1071. package/assets/esri/core/workers/chunks/b810e2f87c9c59ae04b1.js +0 -1
  1072. package/assets/esri/core/workers/chunks/bf60d4da0dff1e14da8e.js +0 -1
  1073. package/assets/esri/core/workers/chunks/c18ac2018aea6ba97eec.js +0 -1
  1074. package/assets/esri/core/workers/chunks/c3d3e55abf01dae271fb.js +0 -1
  1075. package/assets/esri/core/workers/chunks/d54e18e0f30734610f35.js +0 -1
  1076. package/assets/esri/core/workers/chunks/d7ec905d87a19a1061e7.js +0 -1
  1077. package/assets/esri/core/workers/chunks/d9f206e7ac1fad940be7.js +0 -2
  1078. package/assets/esri/core/workers/chunks/debd832b6c2c0b2ea362.js +0 -1
  1079. package/assets/esri/core/workers/chunks/dfa3ad5d750d7b143a06.js +0 -1
  1080. package/assets/esri/core/workers/chunks/e01fa6389bd0b1ae51a5.js +0 -1
  1081. package/assets/esri/core/workers/chunks/e7cbd1b5e4cb32851a5c.js +0 -1
  1082. package/assets/esri/core/workers/chunks/ed1cd90e899dc9c15ee3.js +0 -1
  1083. package/assets/esri/core/workers/chunks/ef3a11f7e047cff6183c.js +0 -1
  1084. package/assets/esri/core/workers/chunks/f79c9b37f2842ed88a9b.js +0 -1
  1085. package/assets/esri/core/workers/chunks/faa0cfee8c1de9b5b78c.js +0 -1
  1086. package/assets/esri/core/workers/chunks/fe6fa1f2c2d54d41645e.js +0 -1
  1087. package/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js +0 -5
  1088. package/views/2d/engine/webgl/shaderGraph/typed/TypedVertexArrayObject.js +0 -5
  1089. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +0 -5
  1090. /package/assets/esri/core/workers/chunks/{d9f206e7ac1fad940be7.js.LICENSE.txt → 3386420c9ae891db5be7.js.LICENSE.txt} +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../Color.js";import{pt2px as t}from"../../../../core/screenUtils.js";import{e as r}from"../../../../chunks/earcut.js";import{ZEROS as i}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{fromBuffer as o,create as s,intersectsClippingArea as n,empty as a,expandWithAABB as l}from"../../../../geometry/support/aaBoundingBox.js";import{newDoubleArray as c,doubleSubArray as p}from"../../../../geometry/support/DoubleArray.js";import{newFloatArray as h,floatSubArray as d}from"../../../../geometry/support/FloatArray.js";import{elevationModeChangeUpdateType as u,needsElevationUpdates2D as m}from"./elevationAlignmentUtils.js";import{Graphics3DDrapedGraphicLayer as _}from"./Graphics3DDrapedGraphicLayer.js";import{Graphics3DObject3DGraphicLayer as y}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as g}from"./Graphics3DSymbolLayer.js";import{mixinColorAndOpacity as f}from"./graphicUtils.js";import{parseCapType as v}from"./lineUtils.js";import{geometryAsPolygon as b,createIndices3D as x,createColorGeometry as C,PolygonCreationDataBase as D}from"./polygonUtils.js";import{initFastSymbolUpdatesState as j,updateFastSymbolUpdatesState as O,getAttributeValue as S,ConvertOptions as P}from"../support/FastSymbolUpdates.js";import{createMaterial as U,uvElevationAligner as A}from"../support/patternUtils.js";import{createMapSpaceUVCoords as G,createMapSpaceUVCoordsDraped as w}from"../support/uvUtils.js";import{createGeometry as L}from"../../support/engineContent/line.js";import{geometryToRenderInfo as I,geometryToRenderInfoDraped as E}from"../../support/renderInfoUtils/polygon.js";import{Object3D as M}from"../../webgl-engine/lib/Object3D.js";import{RenderGeometry as V}from"../../webgl-engine/lib/RenderGeometry.js";import{getStipplePatternForLinePattern as R}from"../../webgl-engine/materials/lineStippleUtils.js";import{PatternMaterial as B}from"../../webgl-engine/materials/PatternMaterial.js";import{RibbonLineMaterial as F}from"../../webgl-engine/materials/RibbonLineMaterial.js";const T=["polyline","polygon","extent"];class z extends g{static{this.elevationModeChangeTypes={definedChanged:2,staysOnTheGround:0,onTheGroundChanged:2}}constructor(e,t,r,i){super(e,t,r,i,J(t)),this._needsUV=!1,this._materials=[]}async doLoad(){this._fastUpdates=j(this._context.renderer,this._vvConvertOptions)}get _materialColor(){return this.symbolLayer.material?.color}_createMaterials(){if(this._materials.length>0)return;const e=this._materialColor,r=this._getCombinedOpacityAndColor(e);this._materials[0]=U(this.symbolLayer,{color:r,forceTransparentMode:this.needsDrivenTransparentPass,discardInvisibleFragments:!0,polygonOffset:!1,hasVertexColors:!0,draped:this.draped,hasSlicePlane:this._context.slicePlaneEnabled,...this._fastUpdates?.materialParameters}),this._needsUV=this._materials[0]instanceof B;const i=this.symbolLayer.outline;if(q(i)){const e=R(i.pattern);this._materials[1]=new F({width:t(i.size),color:this._getOutlineColor(),hasPolygonOffset:!0,hasSlicePlane:this._context.slicePlaneEnabled,isClosed:!0,stipplePattern:e,cap:v(i.patternCap||"butt")})}}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry,T,this.symbolLayer.type))return null;const r=this._getDrivenUInt8Color(e.renderingInfo,this._materialColor,!1),i=this.setGraphicElevationContext(t);return this.ensureDrapedStatus("on-the-ground"===i.mode),this._createMaterials(),this.draped?this._createAsOverlay(t,r):this._createAs3DShape(t,r,i)}applyRendererDiff(e,t){for(const r in e.diff){if("visualVariables"!==r)return 0;if(!O(this._fastUpdates,t,this._vvConvertOptions))return 0;this._materials[0]?.setParameters(this._fastUpdates.materialParameters)}return 2}layerOpacityChanged(){if(null!=this._materials[0]){const e=this._materials[0].parameters.color,t=this._materialColor,r=this._getCombinedOpacity(t);this._materials[0].setParameters({color:[e[0],e[1],e[2],r],forceTransparentMode:this.needsDrivenTransparentPass})}if(null!=this._materials[1]){const e=this._materials[1].parameters.color;this._materials[1].setParameters({color:[e[0],e[1],e[2],this._getOutlineOpacity()]})}}layerElevationInfoChanged(e,t,r){const i=this._elevationContext.mode,o=u(z.elevationModeChangeTypes,r,i);if(1!==o)return o;const s=m(i);return this.updateGraphics3DGraphicElevationInfo(e,t,()=>s)}slicePlaneEnabledChanged(){if(this._materials[0]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),this._materials[1]){const e={hasSlicePlane:this._context.slicePlaneEnabled};this._materials[1].setParameters(e)}return!0}physicalBasedRenderingChanged(){return!0}_createAs3DShape(e,t,r){const i=b(e.geometry);if(!i)return null;const o=I(i,this._context.elevationProvider,this._context.renderCoordsHelper,r),s=new k(o,t,this._context.layerViewUid,e.uid),n=s.renderData.position.length/3;if(this._needsUV&&(s.uvMapSpace=h(4*n,!0),s.boundingRect=c(9*n,!0),G(s.uvMapSpace,s.boundingRect,s.renderData.position,this._context.renderCoordsHelper)),s.objectAndLayerIdColor=this._context.stage.renderView?.getObjectAndLayerIdColor(s),this._createAs3DShapeFill(e,s),this._materials[1]&&this._createAs3DShapeOutline(s),this._logGeometryCreationWarnings(s.renderData,i.rings,"rings","FillSymbol3DLayer"),0===s.outGeometries.length)return null;const a=new M({geometries:s.outGeometries,castShadow:!1,layerViewUid:this._context.layerViewUid,graphicUid:e.uid}),l=new y(this,a,null,A,r);return l.alignedSampledElevation=s.renderData.sampledElevation,l.needsElevationUpdates=m(r.mode),l}_createAs3DShapeFill(e,t){const r=t.renderData.polygons;for(const{position:i,mapPositions:s,holeIndices:a,index:l,count:c}of r){if(null!=this._context.clippingExtent&&(o(s,H),!n(H,this._context.clippingExtent)))continue;const r=x(s,a,this._context.elevationProvider.spatialReference);if(0===r.length)continue;const h=this._fastUpdates?.visualVariables.color,u=C({material:this._materials[0],indices:r,mapPositions:s,attributeData:{position:i,color:h?null:t.color,colorFeature:h?S(h.field,e):null,uvMapSpace:this._needsUV?d(t.uvMapSpace,4*l,4*c):null,boundingRect:this._needsUV?p(t.boundingRect,9*l,9*c):null,objectAndLayerIdColor:t.objectAndLayerIdColor}});t.outGeometries.push(u)}}_createAs3DShapeOutline(e){if(null==this._materials[1])return;const t=e.renderData.outlines;for(const{mapPositions:r,position:i}of t){if(null!=this._context.clippingExtent&&(o(r,H),!n(H,this._context.clippingExtent)))continue;const t=L(this._materials[1],{overlayInfo:null,removeDuplicateStartEnd:!0,mapPositions:r,attributeData:{position:i}},e.objectAndLayerIdColor);e.outGeometries.push(t)}}_createAsOverlay(e,t){const r=b(e.geometry);if(null==r)return null;this._materials[0].renderPriority=this._renderPriority+this._renderPriorityStep/2,null!=this._materials[1]&&(this._materials[1].renderPriority=this._renderPriority);const i=E(r,this._context.overlaySR),o=new W(i,t,this._context.layerViewUid,e.uid),s=o.renderData.position.length/3;return this._needsUV&&(o.uvMapSpace=h(4*s,!0),w(o.uvMapSpace,o.renderData.position,this._context.overlaySR,this._context.graphicsCoreOwner.view.state.viewingMode)),o.outBoundingBox=a(),o.objectAndLayerIdColor=this._context.stage.renderView?.getObjectAndLayerIdColor(o),this._createAsOverlayFill(e,o),this._materials[1]&&this._createAsOverlayOutline(o),this._logGeometryCreationWarnings(o.renderData,r.rings,"rings","FillSymbol3DLayer"),0===o.outGeometries.length?null:new _(this,o.outGeometries,o.outBoundingBox,this._context.drapeSourceRenderer)}_createAsOverlayFill(e,t){const i=t.renderData.polygons;for(const{position:s,holeIndices:a,index:c,count:p}of i){const i=o(s,H);if(!n(i,this._context.clippingExtent))continue;const h=r(s,a,3);if(0===h.length)continue;l(t.outBoundingBox,i);const u=this._fastUpdates?.visualVariables.color,m=C({material:this._materials[0],indices:h,attributeData:{position:s,color:u?null:t.color,colorFeature:u?S(u.field,e):null,uvMapSpace:this._needsUV?d(t.uvMapSpace,4*c,4*p):null,objectAndLayerIdColor:t.objectAndLayerIdColor}});t.outGeometries.push(new V(m,t))}}_createAsOverlayOutline(e){if(null==this._materials[1])return;const t=e.renderData.outlines;for(let r=0;r<t.length;++r){const{position:i}=t[r];if(o(i,H),!n(H,this._context.clippingExtent))continue;l(e.outBoundingBox,H);const s=L(this._materials[1],{overlayInfo:{spatialReference:this._context.overlaySR,renderCoordsHelper:this._context.renderCoordsHelper},removeDuplicateStartEnd:!0,attributeData:{position:i}},e.objectAndLayerIdColor);e.outGeometries.push(new V(s,e))}}_getOutlineOpacity(){const e=this.symbolLayer?.outline?.color;return(this.draped?1:this._getLayerOpacity())*(null!=e?e.a:0)}_getOutlineColor(){const t=this.symbolLayer?.outline?.color,r=this._getOutlineOpacity();return f(null!=t?e.toUnitRGB(t):null,r)}test(){return{...super.test(),createAsOverlay:(e,t)=>this._createAsOverlay(e,t),createAs3DShape:(e,t,r)=>this._createAs3DShape(e,t,r)}}get _vvConvertOptions(){return new P({supports:{size:!1,color:!0,rotation:!1,opacity:!1},fallbackColor:e.toUnitRGBA(this._materialColor)??i})}}const H=s();class k extends D{constructor(e,t,r,i){super(e,r,i),this.color=t}}class W extends D{constructor(e,t,r,i){super(e,r,i),this.color=t}}function q(e){return null!=e?.size&&e.size>0&&null!=e.color&&(null==e.pattern||"style"!==e.pattern.type||"none"!==e.pattern.style)}function J(e){return 1===(e.material?.color?.a??0)}export{z as Graphics3DPolygonFillSymbolLayer};
5
+ import e from"../../../../Color.js";import{pt2px as t}from"../../../../core/screenUtils.js";import{e as r}from"../../../../chunks/earcut.js";import{ZEROS as i}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{fromBuffer as o,create as s,intersectsClippingArea as n,empty as a,expandWithAABB as l}from"../../../../geometry/support/aaBoundingBox.js";import{newDoubleArray as c,doubleSubArray as p}from"../../../../geometry/support/DoubleArray.js";import{newFloatArray as h,floatSubArray as u}from"../../../../geometry/support/FloatArray.js";import{elevationModeChangeUpdateType as d,needsElevationUpdates2D as m}from"./elevationAlignmentUtils.js";import{Graphics3DDrapedGraphicLayer as _}from"./Graphics3DDrapedGraphicLayer.js";import{Graphics3DObject3DGraphicLayer as g}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as y}from"./Graphics3DSymbolLayer.js";import{mixinColorAndOpacity as f}from"./graphicUtils.js";import{parseCapType as v}from"./lineUtils.js";import{geometryAsPolygon as x,createIndices3D as C,createColorGeometry as b,PolygonCreationDataBase as D}from"./polygonUtils.js";import{initFastSymbolUpdatesState as O,updateFastSymbolUpdatesState as S,getAttributeValue as P,ConvertOptions as U}from"../support/FastSymbolUpdates.js";import{createMaterial as j,uvElevationAligner as G}from"../support/patternUtils.js";import{createMapSpaceUVCoords as w,createMapSpaceUVCoordsDraped as A}from"../support/uvUtils.js";import{createGeometry as E}from"../../support/engineContent/line.js";import{geometryToRenderInfo as M,geometryToRenderInfoDraped as V}from"../../support/renderInfoUtils/polygon.js";import{Object3D as L}from"../../webgl-engine/lib/Object3D.js";import{RenderGeometry as R}from"../../webgl-engine/lib/RenderGeometry.js";import{getStipplePatternForLinePattern as B}from"../../webgl-engine/materials/lineStippleUtils.js";import{PatternMaterial as I}from"../../webgl-engine/materials/PatternMaterial.js";import{RibbonLineMaterial as F}from"../../webgl-engine/materials/RibbonLineMaterial.js";const T=["polyline","polygon","extent"];class z extends y{static{this.elevationModeChangeTypes={definedChanged:2,staysOnTheGround:0,onTheGroundChanged:2}}constructor(e,t,r,i){super(e,t,r,i,J(t)),this._needsUV=!1,this._materials=[]}async doLoad(){this._fastUpdates=O(this._context.renderer,this._vvConvertOptions)}get _materialColor(){return this.symbolLayer.material?.color}_createMaterials(){if(this._materials.length>0)return;const e=this._materialColor,r=this._getCombinedOpacityAndColor(e);this._materials[0]=j(this.symbolLayer,{color:r,forceTransparentMode:this.needsDrivenTransparentPass,discardInvisibleFragments:!0,polygonOffset:!1,hasVertexColors:!0,draped:this.draped,hasSlicePlane:this._context.slicePlaneEnabled,...this._fastUpdates?.materialParameters}),this._needsUV=this._materials[0]instanceof I;const i=this.symbolLayer.outline;if(q(i)){const e=B(i.pattern);this._materials[1]=new F({width:t(i.size),color:this._getOutlineColor(),hasPolygonOffset:!0,hasSlicePlane:this._context.slicePlaneEnabled,isClosed:!0,stipplePattern:e,cap:v(i.patternCap||"butt")})}}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry,T,this.symbolLayer.type))return null;const r=this._getDrivenUInt8Color(e.renderingInfo,this._materialColor,!1),i=this.setGraphicElevationContext(t);return this.ensureDrapedStatus("on-the-ground"===i.mode),this._createMaterials(),this.draped?this._createAsOverlay(t,r):this._createAs3DShape(t,r,i)}applyRendererDiff(e,t){for(const r in e.diff){if("visualVariables"!==r)return 0;if(!S(this._fastUpdates,t,this._vvConvertOptions))return 0;this._materials[0]?.setParameters(this._fastUpdates.materialParameters)}return 2}layerOpacityChanged(){if(null!=this._materials[0]){const e=this._materials[0].parameters.color,t=this._materialColor,r=this._getCombinedOpacity(t);this._materials[0].setParameters({color:[e[0],e[1],e[2],r],forceTransparentMode:this.needsDrivenTransparentPass})}if(null!=this._materials[1]){const e=this._materials[1].parameters.color;this._materials[1].setParameters({color:[e[0],e[1],e[2],this._getOutlineOpacity()]})}}layerElevationInfoChanged(e,t,r){const i=this._elevationContext.mode,o=d(z.elevationModeChangeTypes,r,i);if(1!==o)return o;const s=m(i);return this.updateGraphics3DGraphicElevationInfo(e,t,()=>s)}slicePlaneEnabledChanged(){if(this._materials[0]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),this._materials[1]){const e={hasSlicePlane:this._context.slicePlaneEnabled};this._materials[1].setParameters(e)}return!0}physicalBasedRenderingChanged(){return!0}_createAs3DShape(e,t,r){const i=x(e.geometry);if(!i)return null;const o=M(i,this._context.elevationProvider,this._context.renderCoordsHelper,r),s=new k(o,t,this._context.layerViewUid,e.uid),n=s.renderData.position.length/3;if(this._needsUV&&(s.uvMapSpace=h(4*n,!0),s.boundingRect=c(9*n,!0),w(s.uvMapSpace,s.boundingRect,s.renderData.position,this._context.renderCoordsHelper)),s.olidColor=this._context.stage.renderView?.getObjectAndLayerIdColor(s),this._createAs3DShapeFill(e,s),this._materials[1]&&this._createAs3DShapeOutline(s),this._logGeometryCreationWarnings(s.renderData,i.rings,"rings","FillSymbol3DLayer"),0===s.outGeometries.length)return null;const a=new L({geometries:s.outGeometries,castShadow:!1,layerViewUid:this._context.layerViewUid,graphicUid:e.uid}),l=new g(this,a,null,G,r);return l.alignedSampledElevation=s.renderData.sampledElevation,l.needsElevationUpdates=m(r.mode),l}_createAs3DShapeFill(e,t){const r=t.renderData.polygons;for(const{position:i,mapPositions:s,holeIndices:a,index:l,count:c}of r){if(null!=this._context.clippingExtent&&(o(s,H),!n(H,this._context.clippingExtent)))continue;const r=C(s,a,this._context.elevationProvider.spatialReference);if(0===r.length)continue;const h=this._fastUpdates?.visualVariables.color,d=b({material:this._materials[0],indices:r,mapPositions:s,attributeData:{position:i,color:h?null:t.color,colorFeature:h?P(h.field,e):null,uvMapSpace:this._needsUV?u(t.uvMapSpace,4*l,4*c):null,boundingRect:this._needsUV?p(t.boundingRect,9*l,9*c):null,olidColor:t.olidColor}});t.outGeometries.push(d)}}_createAs3DShapeOutline(e){if(null==this._materials[1])return;const t=e.renderData.outlines;for(const{mapPositions:r,position:i}of t){if(null!=this._context.clippingExtent&&(o(r,H),!n(H,this._context.clippingExtent)))continue;const t=E(this._materials[1],{overlayInfo:null,removeDuplicateStartEnd:!0,mapPositions:r,attributeData:{position:i}},e.olidColor);e.outGeometries.push(t)}}_createAsOverlay(e,t){const r=x(e.geometry);if(null==r)return null;this._materials[0].renderPriority=this._renderPriority+this._renderPriorityStep/2,null!=this._materials[1]&&(this._materials[1].renderPriority=this._renderPriority);const i=V(r,this._context.overlaySR),o=new W(i,t,this._context.layerViewUid,e.uid),s=o.renderData.position.length/3;return this._needsUV&&(o.uvMapSpace=h(4*s,!0),A(o.uvMapSpace,o.renderData.position,this._context.overlaySR,this._context.graphicsCoreOwner.view.state.viewingMode)),o.outBoundingBox=a(),o.olidColor=this._context.stage.renderView?.getObjectAndLayerIdColor(o),this._createAsOverlayFill(e,o),this._materials[1]&&this._createAsOverlayOutline(o),this._logGeometryCreationWarnings(o.renderData,r.rings,"rings","FillSymbol3DLayer"),0===o.outGeometries.length?null:new _(this,o.outGeometries,o.outBoundingBox,this._context.drapeSourceRenderer)}_createAsOverlayFill(e,t){const i=t.renderData.polygons;for(const{position:s,holeIndices:a,index:c,count:p}of i){const i=o(s,H);if(!n(i,this._context.clippingExtent))continue;const h=r(s,a,3);if(0===h.length)continue;l(t.outBoundingBox,i);const d=this._fastUpdates?.visualVariables.color,m=b({material:this._materials[0],indices:h,attributeData:{position:s,color:d?null:t.color,colorFeature:d?P(d.field,e):null,uvMapSpace:this._needsUV?u(t.uvMapSpace,4*c,4*p):null,olidColor:t.olidColor}});t.outGeometries.push(new R(m,t))}}_createAsOverlayOutline(e){if(null==this._materials[1])return;const t=e.renderData.outlines;for(let r=0;r<t.length;++r){const{position:i}=t[r];if(o(i,H),!n(H,this._context.clippingExtent))continue;l(e.outBoundingBox,H);const s=E(this._materials[1],{overlayInfo:{spatialReference:this._context.overlaySR,renderCoordsHelper:this._context.renderCoordsHelper},removeDuplicateStartEnd:!0,attributeData:{position:i}},e.olidColor);e.outGeometries.push(new R(s,e))}}_getOutlineOpacity(){const e=this.symbolLayer?.outline?.color;return(this.draped?1:this._getLayerOpacity())*(null!=e?e.a:0)}_getOutlineColor(){const t=this.symbolLayer?.outline?.color,r=this._getOutlineOpacity();return f(null!=t?e.toUnitRGB(t):null,r)}test(){return{...super.test(),createAsOverlay:(e,t)=>this._createAsOverlay(e,t),createAs3DShape:(e,t,r)=>this._createAs3DShape(e,t,r)}}get _vvConvertOptions(){return new U({supports:{size:!1,color:!0,rotation:!1,opacity:!1},fallbackColor:e.toUnitRGBA(this._materialColor)??i})}}const H=s();class k extends D{constructor(e,t,r,i){super(e,r,i),this.color=t}}class W extends D{constructor(e,t,r,i){super(e,r,i),this.color=t}}function q(e){return null!=e?.size&&e.size>0&&null!=e.color&&(null==e.pattern||"style"!==e.pattern.type||"none"!==e.pattern.style)}function J(e){return 1===(e.material?.color?.a??0)}export{z as Graphics3DPolygonFillSymbolLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../Color.js";import{getMetersPerUnitForSR as t}from"../../../../core/unitUtils.js";import{e as r}from"../../../../chunks/earcut.js";import{set as o}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as i,create as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{d as s}from"../../../../chunks/vec42.js";import{toRadian as a}from"../../../../core/libs/gl-matrix-2/math/common.js";import{fromBuffer as l,create as c,intersectsClippingArea as h,empty as p,expandWithAABB as m}from"../../../../geometry/support/aaBoundingBox.js";import{empty as u,create as d,expandPointInPlace as g}from"../../../../geometry/support/aaBoundingRect.js";import{newFloatArray as y,floatSubArray as f}from"../../../../geometry/support/FloatArray.js";import{perVertexElevationAligner as v}from"./ElevationAligners.js";import{elevationModeChangeUpdateType as x,needsElevationUpdates2D as _}from"./elevationAlignmentUtils.js";import{Graphics3DDrapedGraphicLayer as b}from"./Graphics3DDrapedGraphicLayer.js";import{Graphics3DObject3DGraphicLayer as w}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as D}from"./Graphics3DSymbolLayer.js";import{geometryAsPolygon as j,createWaterGeometry as S,PolygonCreationDataBase as C}from"./polygonUtils.js";import{geometryToRenderInfo as G,geometryToRenderInfoDraped as L}from"../../support/renderInfoUtils/polygon.js";import{Object3D as A}from"../../webgl-engine/lib/Object3D.js";import{RenderGeometry as O}from"../../webgl-engine/lib/RenderGeometry.js";import{Parameters as P,WaterMaterial as E}from"../../webgl-engine/materials/WaterMaterial.js";import{wavePresets as T}from"../../webgl-engine/materials/internal/waterMaterialUtils.js";const U=["polyline","polygon","extent"];class B extends D{static{this.unitSizeOfTexture=100}static{this.elevationModeChangeTypes={definedChanged:2,staysOnTheGround:0,onTheGroundChanged:2}}constructor(e,t,r,o){super(e,t,r,o)}async doLoad(){}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry,U,this.symbolLayer.type))return null;const r=this.setGraphicElevationContext(t);return this.ensureDrapedStatus("on-the-ground"===r.mode),this.ensureMaterial(),this.draped?this._createAsOverlay(t):this._createAs3DShape(t,r,t.uid)}ensureMaterial(){if(this._materials[0])return;const t=new P,r=e.toUnitRGBA(this.symbolLayer.color);r[3]*=this._getLayerOpacity(),t.color=r,t.transparent=r[3]<1||this.needsDrivenTransparentPass,t.waveDirection=null!=this.symbolLayer.waveDirection?I(this.symbolLayer.waveDirection):i(0,0);const o=this.symbolLayer.waveStrength+"-"+this.symbolLayer.waterbodySize,n=T[o];t.waveStrength=n.waveStrength,t.waveTextureRepeat=n.textureRepeat,t.waveVelocity=n.waveVelocity,t.flowStrength=n.perturbationStrength,t.hasSlicePlane=this._context.slicePlaneEnabled,t.draped=this.draped,this._materials[0]=new E(t,this._context)}layerOpacityChanged(){if(null==this._materials[0])return;const e=this._materials[0].parameters.color,t=this.symbolLayer.color.a*this._getLayerOpacity(),r=t<1||this.needsDrivenTransparentPass;this._materials[0].setParameters({color:[e[0],e[1],e[2],t],transparent:r})}layerElevationInfoChanged(e,t,r){const o=this._elevationContext.mode,i=x(B.elevationModeChangeTypes,r,o);if(1!==i)return i;const n=_(o);return this.updateGraphics3DGraphicElevationInfo(e,t,()=>n)}slicePlaneEnabledChanged(){return this._materials[0]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),!0}physicalBasedRenderingChanged(){return!0}get needsDrivenTransparentPass(){return!1}_createAs3DShape(e,t,r){const o=j(e.geometry);if(null==o)return null;const i=G(o,this._context.elevationProvider,this._context.renderCoordsHelper,t),n=i.position.length/3,s=y(2*n);M(s,i.mapPositions,n,this._context.elevationProvider.spatialReference);const a=new k(i,s,this._context.layerViewUid,e.uid);if(a.objectAndLayerIdColor=this._context.stage.renderView?.getObjectAndLayerIdColor(a),this._create3DShapeGeometries(a),this._logGeometryCreationWarnings(a.renderData,o.rings,"rings","WaterSymbol3DLayer"),0===a.outGeometries.length)return null;const l=new A({geometries:a.outGeometries,castShadow:!1,layerViewUid:this._context.layerViewUid,graphicUid:r}),c=new w(this,l,null,v,t);return c.alignedSampledElevation=a.renderData.sampledElevation,c.needsElevationUpdates=_(t.mode),c}_create3DShapeGeometries(e){const t=e.renderData.polygons,o=e.uvCoords;for(const{count:i,index:n,position:s,mapPositions:a,holeIndices:c}of t){if(null!=this._context.clippingExtent&&(l(a,z),!h(z,this._context.clippingExtent)))continue;const t=r(a,c,3);if(0===t.length)continue;const p=f(o,2*n,2*i),m=S({material:this._materials[0],indices:t,mapPositions:a,attributeData:{position:s,uv0:p}},e.objectAndLayerIdColor);e.outGeometries.push(m)}}_createAsOverlay(e){const t=j(e.geometry);if(null==t)return null;this._materials[0].renderPriority=this._renderPriority;const r=L(t,this._context.overlaySR),o=r.position.length/3,i=y(2*o);M(i,r.position,o,this._context.overlaySR);const n=new F(r,i,this._context.layerViewUid,e.uid);return n.objectAndLayerIdColor=this._context.stage.renderView?.getObjectAndLayerIdColor(n),n.outBoundingBox=p(),this._createAsOverlayWater(n),this._logGeometryCreationWarnings(n.renderData,t.rings,"rings","WaterSymbol3DLayer"),0===n.outGeometries.length?null:new b(this,n.outGeometries,n.outBoundingBox,this._context.drapeSourceRenderer)}_createAsOverlayWater(e){const t=e.uvCoords,o=e.renderData.polygons;for(const{position:i,holeIndices:n,index:s,count:a}of o){if(l(i,z),!h(z,this._context.clippingExtent))continue;m(e.outBoundingBox,z);const o=r(i,n,3);if(0===o.length)continue;const c=f(t,2*s,2*a),p=S({material:this._materials[0],indices:o,attributeData:{position:i,uv0:c}},e.objectAndLayerIdColor);e.outGeometries.push(new O(p,e))}}test(){return{...super.test(),create3DShape:e=>this._createAs3DShape(e.graphic,e.elevationContext,e.graphicUid),ensureMaterial:()=>this.ensureMaterial()}}}function I(e){const t=n(),r=a(e);return t[0]=Math.sin(r),t[1]=Math.cos(r),t}function M(e,r,i,n){const a=t(n);u(V);for(let t=0;t<i;t++)o(W,r[3*t],r[3*t+1]),g(V,W);s(V,V,a);const l=V[0]%B.unitSizeOfTexture,c=V[1]%B.unitSizeOfTexture;R[0]=V[0]-l,R[1]=V[1]-c;for(let t=0;t<i;t++)e[2*t]=(r[3*t]*a-R[0])/B.unitSizeOfTexture,e[2*t+1]=(r[3*t+1]*a-R[1])/B.unitSizeOfTexture}const R=n(),V=d(),W=n(),z=c();class k extends C{constructor(e,t,r,o){super(e,r,o),this.uvCoords=t}}class F extends C{constructor(e,t,r,o){super(e,r,o),this.uvCoords=t}}export{B as Graphics3DWaterSymbolLayer,I as headingVectorFromAngle};
5
+ import e from"../../../../Color.js";import{getMetersPerUnitForSR as t}from"../../../../core/unitUtils.js";import{e as r}from"../../../../chunks/earcut.js";import{set as i}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as o,create as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{d as s}from"../../../../chunks/vec42.js";import{toRadian as a}from"../../../../core/libs/gl-matrix-2/math/common.js";import{fromBuffer as l,create as c,intersectsClippingArea as h,empty as p,expandWithAABB as m}from"../../../../geometry/support/aaBoundingBox.js";import{empty as u,create as d,expandPointInPlace as g}from"../../../../geometry/support/aaBoundingRect.js";import{newFloatArray as y,floatSubArray as f}from"../../../../geometry/support/FloatArray.js";import{perVertexElevationAligner as v}from"./ElevationAligners.js";import{elevationModeChangeUpdateType as x,needsElevationUpdates2D as _}from"./elevationAlignmentUtils.js";import{Graphics3DDrapedGraphicLayer as w}from"./Graphics3DDrapedGraphicLayer.js";import{Graphics3DObject3DGraphicLayer as b}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as D}from"./Graphics3DSymbolLayer.js";import{geometryAsPolygon as S,createWaterGeometry as j,PolygonCreationDataBase as C}from"./polygonUtils.js";import{geometryToRenderInfo as G,geometryToRenderInfoDraped as L}from"../../support/renderInfoUtils/polygon.js";import{Object3D as O}from"../../webgl-engine/lib/Object3D.js";import{RenderGeometry as P}from"../../webgl-engine/lib/RenderGeometry.js";import{Parameters as A,WaterMaterial as E}from"../../webgl-engine/materials/WaterMaterial.js";import{wavePresets as T}from"../../webgl-engine/materials/internal/waterMaterialUtils.js";const U=["polyline","polygon","extent"];class B extends D{static{this.unitSizeOfTexture=100}static{this.elevationModeChangeTypes={definedChanged:2,staysOnTheGround:0,onTheGroundChanged:2}}constructor(e,t,r,i){super(e,t,r,i)}async doLoad(){}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry,U,this.symbolLayer.type))return null;const r=this.setGraphicElevationContext(t);return this.ensureDrapedStatus("on-the-ground"===r.mode),this.ensureMaterial(),this.draped?this._createAsOverlay(t):this._createAs3DShape(t,r,t.uid)}ensureMaterial(){if(this._materials[0])return;const t=new A,r=e.toUnitRGBA(this.symbolLayer.color);r[3]*=this._getLayerOpacity(),t.color=r,t.transparent=r[3]<1||this.needsDrivenTransparentPass,t.waveDirection=null!=this.symbolLayer.waveDirection?M(this.symbolLayer.waveDirection):o(0,0);const i=this.symbolLayer.waveStrength+"-"+this.symbolLayer.waterbodySize,n=T[i];t.waveStrength=n.waveStrength,t.waveTextureRepeat=n.textureRepeat,t.waveVelocity=n.waveVelocity,t.flowStrength=n.perturbationStrength,t.hasSlicePlane=this._context.slicePlaneEnabled,t.draped=this.draped,this._materials[0]=new E(t,this._context)}layerOpacityChanged(){if(null==this._materials[0])return;const e=this._materials[0].parameters.color,t=this.symbolLayer.color.a*this._getLayerOpacity(),r=t<1||this.needsDrivenTransparentPass;this._materials[0].setParameters({color:[e[0],e[1],e[2],t],transparent:r})}layerElevationInfoChanged(e,t,r){const i=this._elevationContext.mode,o=x(B.elevationModeChangeTypes,r,i);if(1!==o)return o;const n=_(i);return this.updateGraphics3DGraphicElevationInfo(e,t,()=>n)}slicePlaneEnabledChanged(){return this._materials[0]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),!0}physicalBasedRenderingChanged(){return!0}get needsDrivenTransparentPass(){return!1}_createAs3DShape(e,t,r){const i=S(e.geometry);if(null==i)return null;const o=G(i,this._context.elevationProvider,this._context.renderCoordsHelper,t),n=o.position.length/3,s=y(2*n);R(s,o.mapPositions,n,this._context.elevationProvider.spatialReference);const a=new k(o,s,this._context.layerViewUid,e.uid);if(a.olidColor=this._context.stage.renderView?.getObjectAndLayerIdColor(a),this._create3DShapeGeometries(a),this._logGeometryCreationWarnings(a.renderData,i.rings,"rings","WaterSymbol3DLayer"),0===a.outGeometries.length)return null;const l=new O({geometries:a.outGeometries,castShadow:!1,layerViewUid:this._context.layerViewUid,graphicUid:r}),c=new b(this,l,null,v,t);return c.alignedSampledElevation=a.renderData.sampledElevation,c.needsElevationUpdates=_(t.mode),c}_create3DShapeGeometries(e){const t=e.renderData.polygons,i=e.uvCoords;for(const{count:o,index:n,position:s,mapPositions:a,holeIndices:c}of t){if(null!=this._context.clippingExtent&&(l(a,z),!h(z,this._context.clippingExtent)))continue;const t=r(a,c,3);if(0===t.length)continue;const p=f(i,2*n,2*o),m=j({material:this._materials[0],indices:t,mapPositions:a,attributeData:{position:s,uv0:p}},e.olidColor);e.outGeometries.push(m)}}_createAsOverlay(e){const t=S(e.geometry);if(null==t)return null;this._materials[0].renderPriority=this._renderPriority;const r=L(t,this._context.overlaySR),i=r.position.length/3,o=y(2*i);R(o,r.position,i,this._context.overlaySR);const n=new F(r,o,this._context.layerViewUid,e.uid);return n.olidColor=this._context.stage.renderView?.getObjectAndLayerIdColor(n),n.outBoundingBox=p(),this._createAsOverlayWater(n),this._logGeometryCreationWarnings(n.renderData,t.rings,"rings","WaterSymbol3DLayer"),0===n.outGeometries.length?null:new w(this,n.outGeometries,n.outBoundingBox,this._context.drapeSourceRenderer)}_createAsOverlayWater(e){const t=e.uvCoords,i=e.renderData.polygons;for(const{position:o,holeIndices:n,index:s,count:a}of i){if(l(o,z),!h(z,this._context.clippingExtent))continue;m(e.outBoundingBox,z);const i=r(o,n,3);if(0===i.length)continue;const c=f(t,2*s,2*a),p=j({material:this._materials[0],indices:i,attributeData:{position:o,uv0:c}},e.olidColor);e.outGeometries.push(new P(p,e))}}test(){return{...super.test(),create3DShape:e=>this._createAs3DShape(e.graphic,e.elevationContext,e.graphicUid),ensureMaterial:()=>this.ensureMaterial()}}}function M(e){const t=n(),r=a(e);return t[0]=Math.sin(r),t[1]=Math.cos(r),t}function R(e,r,o,n){const a=t(n);u(I);for(let t=0;t<o;t++)i(W,r[3*t],r[3*t+1]),g(I,W);s(I,I,a);const l=I[0]%B.unitSizeOfTexture,c=I[1]%B.unitSizeOfTexture;V[0]=I[0]-l,V[1]=I[1]-c;for(let t=0;t<o;t++)e[2*t]=(r[3*t]*a-V[0])/B.unitSizeOfTexture,e[2*t+1]=(r[3*t+1]*a-V[1])/B.unitSizeOfTexture}const V=n(),I=d(),W=n(),z=c();class k extends C{constructor(e,t,r,i){super(e,r,i),this.uvCoords=t}}class F extends C{constructor(e,t,r,i){super(e,r,i),this.uvCoords=t}}export{B as Graphics3DWaterSymbolLayer,M as headingVectorFromAngle};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../../../Graphic.js";import s from"../../../../core/Accessor.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import{destroyMaybe as i}from"../../../../core/maybe.js";import o from"../../../../core/Promise.js";import{watch as a,initial as n}from"../../../../core/reactiveUtils.js";import{property as c}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as p}from"../../../../core/accessorSupport/decorators/subclass.js";import{featureGeometryTypeKebabDictionary as d}from"../../../../geometry/support/typeUtils.js";import h from"../../../../graphic/StreamGraphicOrigin.js";import{StreamFeatureManager as l}from"../../../../layers/graphics/data/StreamFeatureManager.js";import{createConnection as u}from"../../../../layers/graphics/sources/connections/createConnection.js";import{EventedSet as m}from"../../support/EventedSet.js";import{TaskPriority as y}from"../../../support/Scheduler.js";import{Yield as g}from"../../../support/Yield.js";const f=2500;let _=class extends t{constructor(e){super(e)}getObjectId(){return this.objectId}};e([c({type:Number,json:{read:!0}})],_.prototype,"objectId",void 0),_=e([p("esri.views.3d.layers.graphics.StreamController.StreamGraphic")],_);class v{constructor(e){this.onUpdate=e,this._idToGraphic=new Map}destroy(){this._idToGraphic.clear()}add(e){this._idToGraphic.set(e.objectId,e)}get(e){return this._idToGraphic.get(e)}forEach(e){this._idToGraphic.forEach(e)}removeById(e){const t=this._idToGraphic.get(e);return t?(t.sourceLayer=t.layer=t.origin=null,this._idToGraphic.delete(e),t):null}update(e,t){this.onUpdate(e,t)}get size(){return this._idToGraphic.size}}const j=Symbol("startup-watches"),w=Symbol("update-interval");let R=class extends(o.EsriPromiseMixin(s)){constructor(){super(...arguments),this.isPaused=!1,this.graphics=new m,this._updateInfo={websocket:0,client:0},this._updateRequested=!1,this._lastUpdateRateTime=0,this._outSpatialReference=null}initialize(){this.addResolvingPromise(this.layer.when(()=>this._startup()))}destroy(){this.clear()}clear(){this._shutdown(),this.graphics.clear()}get updating(){return!this.connection||this.readyToRun}get readyToRun(){return!this.isPaused&&null!=this.connection&&this._updateRequested}get _graphicOrigin(){return new h(this.layer)}runTask(){if(this._updateRequested=!1,this._emitUpdateRate(),!this.featuresManager.checkForUpdates())return g}_emitUpdateRate(){const e=performance.now(),t=e-this._lastUpdateRateTime;if(t<f)return;this._lastUpdateRateTime=e;const s=Math.round(this._updateInfo.client/(t/1e3)),r=Math.round(this._updateInfo.websocket/(t/1e3));this._updateInfo.client=0,this._updateInfo.websocket=0,this.layerView.emit("update-rate",{client:s,websocket:r})}_shutdown(){this.connection=i(this.connection),this.store=i(this.store),this.removeAllHandles()}_startup(){const{layer:e,layerView:t}=this,{spatialReference:s,definitionExpression:i,geometryDefinition:o,timeInfo:c,purgeOptions:p,maxReconnectionAttempts:h,maxReconnectionInterval:m,customParameters:g}=e,f=e.geometryType?d.toJSON(e.geometryType):null,_=s,R=t.view.spatialReference,b={type:"object-id",fieldName:e.objectIdField};this.clear(),this._set("connection",u(e.parsedUrl,_,R,f,i,o,h,m,g??void 0)),this._outSpatialReference=R.toJSON(),this.store=new v(this._onUpdate.bind(this)),this.featuresManager=new l(this.store,b,c.toJSON(),p),this.removeHandles(j),this.removeHandles(w),this.addHandles([e.on("send-message-to-socket",e=>this.connection.sendMessageToSocket(e)),e.on("send-message-to-client",e=>this.connection.sendMessageToClient(e)),this.connection.on("data-received",e=>this._onFeature(e)),this.connection.on("message-received",e=>this._onWebSocketMessage(e)),a(()=>[e.definitionExpression,e.geometryDefinition,e.purgeOptions],()=>this._startup()),a(()=>this.isPaused?null:this.layer.updateInterval,e=>{if(this.removeHandles(w),null==e)return;const t=setInterval(()=>{this._updateRequested=!0},e);this.addHandles(r(()=>clearInterval(t)),w)},n),this.layerView.view.resourceController.scheduler.registerTask(y.STREAM_CONTROLLER,this)],j),this._updateRequested=!0}_onWebSocketMessage(e){if(this.layerView.emit("message-received",e),"type"in e)switch(e.type){case"delete":if(e.objectIds)for(const t of e.objectIds)this.featuresManager.removeById(t);if(e.trackIds)for(const t of e.trackIds)this.featuresManager.removeByTrackId(t);break;case"clear":this.store.forEach(e=>this.featuresManager.removeById(e.objectId))}}_onFeature(e){this._updateInfo.websocket++,this.layerView.hasEventListener("data-received")&&this.layerView.emit("data-received",{attributes:e.attributes,centroid:e.centroid,geometry:e.geometry});try{null==e.geometry||e.geometry.spatialReference||(e.geometry.spatialReference=this._outSpatialReference);const t=_.fromJSON(e);t.sourceLayer=t.layer=this.layer,t.origin=this._graphicOrigin,this.featuresManager.add(t)}catch{}}_onUpdate(e,t){null!=t&&this.graphics.removeMany(t),null!=e&&(this._updateInfo.client+=e.length,this.graphics.addMany(e))}pauseStream(){this.isPaused=!0}resumeStream(){this.isPaused=!1}disconnect(){this._shutdown()}connect(){null==this.connection&&this._startup()}clearGraphics(){this.graphics.clear()}};e([c()],R.prototype,"isPaused",void 0),e([c({constructOnly:!0})],R.prototype,"layer",void 0),e([c({constructOnly:!0})],R.prototype,"layerView",void 0),e([c()],R.prototype,"connection",void 0),e([c({readOnly:!0})],R.prototype,"updating",null),e([c()],R.prototype,"readyToRun",null),e([c()],R.prototype,"_updateRequested",void 0),e([c()],R.prototype,"_graphicOrigin",null),R=e([p("esri.views.3d.layers.graphics.StreamController")],R);export{R as StreamController,_ as StreamGraphic};
5
+ import{__decorate as e}from"tslib";import t from"../../../../Graphic.js";import s from"../../../../core/Accessor.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import{destroyMaybe as i}from"../../../../core/maybe.js";import{EsriPromiseMixin as o}from"../../../../core/Promise.js";import{watch as a,initial as n}from"../../../../core/reactiveUtils.js";import{property as c}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as p}from"../../../../core/accessorSupport/decorators/subclass.js";import{featureGeometryTypeKebabDictionary as d}from"../../../../geometry/support/typeUtils.js";import h from"../../../../graphic/StreamGraphicOrigin.js";import{StreamFeatureManager as l}from"../../../../layers/graphics/data/StreamFeatureManager.js";import{createConnection as u}from"../../../../layers/graphics/sources/connections/createConnection.js";import{EventedSet as m}from"../../support/EventedSet.js";import{TaskPriority as y}from"../../../support/Scheduler.js";import{Yield as g}from"../../../support/Yield.js";const f=2500;let _=class extends t{constructor(e){super(e)}getObjectId(){return this.objectId}};e([c({type:Number,json:{read:!0}})],_.prototype,"objectId",void 0),_=e([p("esri.views.3d.layers.graphics.StreamController.StreamGraphic")],_);class v{constructor(e){this.onUpdate=e,this._idToGraphic=new Map}destroy(){this._idToGraphic.clear()}add(e){this._idToGraphic.set(e.objectId,e)}get(e){return this._idToGraphic.get(e)}forEach(e){this._idToGraphic.forEach(e)}removeById(e){const t=this._idToGraphic.get(e);return t?(t.sourceLayer=t.layer=t.origin=null,this._idToGraphic.delete(e),t):null}update(e,t){this.onUpdate(e,t)}get size(){return this._idToGraphic.size}}const j=Symbol("startup-watches"),w=Symbol("update-interval");let R=class extends(o(s)){constructor(){super(...arguments),this.isPaused=!1,this.graphics=new m,this._updateInfo={websocket:0,client:0},this._updateRequested=!1,this._lastUpdateRateTime=0,this._outSpatialReference=null}initialize(){this.addResolvingPromise(this.layer.when(()=>this._startup()))}destroy(){this.clear()}clear(){this._shutdown(),this.graphics.clear()}get updating(){return!this.connection||this.readyToRun}get readyToRun(){return!this.isPaused&&null!=this.connection&&this._updateRequested}get _graphicOrigin(){return new h(this.layer)}runTask(){if(this._updateRequested=!1,this._emitUpdateRate(),!this.featuresManager.checkForUpdates())return g}_emitUpdateRate(){const e=performance.now(),t=e-this._lastUpdateRateTime;if(t<f)return;this._lastUpdateRateTime=e;const s=Math.round(this._updateInfo.client/(t/1e3)),r=Math.round(this._updateInfo.websocket/(t/1e3));this._updateInfo.client=0,this._updateInfo.websocket=0,this.layerView.emit("update-rate",{client:s,websocket:r})}_shutdown(){this.connection=i(this.connection),this.store=i(this.store),this.removeAllHandles()}_startup(){const{layer:e,layerView:t}=this,{spatialReference:s,definitionExpression:i,geometryDefinition:o,timeInfo:c,purgeOptions:p,maxReconnectionAttempts:h,maxReconnectionInterval:m,customParameters:g}=e,f=e.geometryType?d.toJSON(e.geometryType):null,_=s,R=t.view.spatialReference,b={type:"object-id",fieldName:e.objectIdField};this.clear(),this._set("connection",u(e.parsedUrl,_,R,f,i,o,h,m,g??void 0)),this._outSpatialReference=R.toJSON(),this.store=new v(this._onUpdate.bind(this)),this.featuresManager=new l(this.store,b,c.toJSON(),p),this.removeHandles(j),this.removeHandles(w),this.addHandles([e.on("send-message-to-socket",e=>this.connection.sendMessageToSocket(e)),e.on("send-message-to-client",e=>this.connection.sendMessageToClient(e)),this.connection.on("data-received",e=>this._onFeature(e)),this.connection.on("message-received",e=>this._onWebSocketMessage(e)),a(()=>[e.definitionExpression,e.geometryDefinition,e.purgeOptions],()=>this._startup()),a(()=>this.isPaused?null:this.layer.updateInterval,e=>{if(this.removeHandles(w),null==e)return;const t=setInterval(()=>{this._updateRequested=!0},e);this.addHandles(r(()=>clearInterval(t)),w)},n),this.layerView.view.resourceController.scheduler.registerTask(y.STREAM_CONTROLLER,this)],j),this._updateRequested=!0}_onWebSocketMessage(e){if(this.layerView.emit("message-received",e),"type"in e)switch(e.type){case"delete":if(e.objectIds)for(const t of e.objectIds)this.featuresManager.removeById(t);if(e.trackIds)for(const t of e.trackIds)this.featuresManager.removeByTrackId(t);break;case"clear":this.store.forEach(e=>this.featuresManager.removeById(e.objectId))}}_onFeature(e){this._updateInfo.websocket++,this.layerView.hasEventListener("data-received")&&this.layerView.emit("data-received",{attributes:e.attributes,centroid:e.centroid,geometry:e.geometry});try{null==e.geometry||e.geometry.spatialReference||(e.geometry.spatialReference=this._outSpatialReference);const t=_.fromJSON(e);t.sourceLayer=t.layer=this.layer,t.origin=this._graphicOrigin,this.featuresManager.add(t)}catch{}}_onUpdate(e,t){null!=t&&this.graphics.removeMany(t),null!=e&&(this._updateInfo.client+=e.length,this.graphics.addMany(e))}pauseStream(){this.isPaused=!0}resumeStream(){this.isPaused=!1}disconnect(){this._shutdown()}connect(){null==this.connection&&this._startup()}clearGraphics(){this.graphics.clear()}};e([c()],R.prototype,"isPaused",void 0),e([c({constructOnly:!0})],R.prototype,"layer",void 0),e([c({constructOnly:!0})],R.prototype,"layerView",void 0),e([c()],R.prototype,"connection",void 0),e([c({readOnly:!0})],R.prototype,"updating",null),e([c()],R.prototype,"readyToRun",null),e([c()],R.prototype,"_updateRequested",void 0),e([c()],R.prototype,"_graphicOrigin",null),R=e([p("esri.views.3d.layers.graphics.StreamController")],R);export{R as StreamController,_ as StreamGraphic};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import r from"../../../../../core/Error.js";import{makeHandle as t}from"../../../../../core/handleUtils.js";import{destroyMaybe as n}from"../../../../../core/maybe.js";import o from"../../../../../core/Promise.js";import{on as i,watch as a}from"../../../../../core/reactiveUtils.js";import{property as s}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as u}from"../../../../../core/accessorSupport/decorators/subclass.js";import{FeatureLayerViewPerformanceInfo as l}from"../../FeatureLayerViewPerformanceInfo.js";import{Feature3DPipelineWorkerHandle as d}from"./Feature3DPipelineWorkerHandle.js";import{FeaturePipelineRenderManager as p}from"./rendering/FeaturePipelineRenderManager.js";import{emptyHighlightHandle as y}from"../../support/highlightUtils.js";import{LayerViewPerformanceInfo as m}from"../../support/LayerViewPerformanceInfo.js";let c=class extends o{constructor(e){super(e),this._renderer=null,this.graphicsQuery={queryForSymbologySnapping:(e,t)=>{throw new r("featurelayer:unsupported-symbology-snapping","Symbology snapping not supported")},executeQuery:async(e,r)=>await this._workerHandle.executeQuery(e,r),executeQueryForIds:async(e,r)=>await this._workerHandle.executeQueryForIds(e,r),executeQueryForCount:async(e,r)=>await this._workerHandle.executeQueryForCount(e,r),executeQueryForExtent:async(e,r)=>await this._workerHandle.executeQueryForExtent(e,r),executeQueryForLatestObservations:async(e,r)=>await this._workerHandle.executeQueryForLatestObservations(e,r)},this.maximumNumberOfFeatures=1e3}initialize(){if("point"!==this.layerView.layer.geometryType)throw new r("featurelayer:unsupported-geometry-type",`${this.layerView.layer.geometryType} is not supported`);this.addResolvingPromise(this.setup())}destroy(){this.removeAllHandles(),this._workerHandle.destroy(),n(this._renderer)}async setup(){const e=this.layerView,{layer:t,view:n,uid:o}=e,{spatialReference:s,renderSpatialReference:u,resourceController:l,renderCoordsHelper:y,elevationProvider:m}=n,c=n.state.viewingMode;if(this._renderer=new p({view:n,layerViewUid:o}),"feature"!==t.type)throw new r("featurelayer:unsupported-layertype","Only FeatureLayer is supported");const h=new d({schedule:e=>l.immediate.schedule(e),layer:t,layerView:e,viewSpatialReference:s,renderSpatialReference:u,viewingMode:c,renderer:this._renderer,elevationProvider:m,renderCoordsHelper:y});this._workerHandle=await h.when(),this.addHandles([this.layerView.view.enableFeatureTiles(),i(()=>this.layerView.view.featureTiles?.tiles,"change",e=>{this._workerHandle.onTileTreeChange(e.target)},{onListenerAdd:e=>this._workerHandle.onTileTreeChange(e),onListenerRemove:e=>this._workerHandle.onTileTreeChange(e)}),n.elevationProvider.on("elevation-change",e=>this._workerHandle.onElevationChange(e)),a(()=>this.layerView.fullOpacity,e=>this._workerHandle.onLayerViewOpacityChange(e),{sync:!1}),a(()=>t.renderer,e=>this._workerHandle.onRendererChange(e),{sync:!1})])}get legendEnabled(){return!1}get hasAllFeatures(){return!1}get hasAllFeaturesInView(){return!1}get hasFullGeometries(){return!1}get symbologySnappingSupported(){return!1}get scaleVisibilitySuspended(){return!1}get suspendInfo(){return{}}get updating(){return this._workerHandle.updating}get dataUpdating(){return!1}get updatePolicy(){return 0}get maximumNumberOfFeaturesExceeded(){return!1}get updatingProgressValue(){return 1}get usedMemory(){return this._renderer?.usedMemory??0}get unloadedMemory(){return 0}get ignoresMemoryFactor(){return!0}get totalFeatures(){return this._renderer?.totalFeatures??0}get performanceInfo(){const e=this.totalFeatures;return new l(new m(this.usedMemory,e,e,this.maximumNumberOfFeatures,0,null),e,e,this.maximumNumberOfFeaturesExceeded,"tiles","n/a")}get suspendResumeExtentMode(){return"computed"}forEachGraphic(e){}findGraphic(e){return null}highlightByObjectIds(e,r){return y}highlightByGraphics(e,r){return y}maskOccludee(e){return t()}async whenGraphicBounds(e,r){return null}computeAttachmentOrigin(e,r){return null}elevationAlignPointsInFeatures(e,t){throw new r("featurelayer:unsupported-elevation-alignment","Elevation alignment not supported")}async doRefresh(e){}setVisibility(e,r){}getMissingAttributesForFeature(e){return null}getHydratedGeometry(e){return null}};e([s()],c.prototype,"layerView",void 0),e([s()],c.prototype,"updating",null),e([s()],c.prototype,"totalFeatures",null),c=e([u("esri.views.3d.layers.graphics.pipeline.Feature3DPipeline")],c);export{c as Feature3DPipeline};
5
+ import{__decorate as e}from"tslib";import r from"../../../../../core/Error.js";import{makeHandle as t}from"../../../../../core/handleUtils.js";import{destroyMaybe as n}from"../../../../../core/maybe.js";import{EsriPromise as o}from"../../../../../core/Promise.js";import{on as i,watch as a}from"../../../../../core/reactiveUtils.js";import{property as s}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as u}from"../../../../../core/accessorSupport/decorators/subclass.js";import{FeatureLayerViewPerformanceInfo as l}from"../../FeatureLayerViewPerformanceInfo.js";import{Feature3DPipelineWorkerHandle as d}from"./Feature3DPipelineWorkerHandle.js";import{FeaturePipelineRenderManager as p}from"./rendering/FeaturePipelineRenderManager.js";import{emptyHighlightHandle as y}from"../../support/highlightUtils.js";import{LayerViewPerformanceInfo as m}from"../../support/LayerViewPerformanceInfo.js";let c=class extends o{constructor(e){super(e),this._renderer=null,this.graphicsQuery={queryForSymbologySnapping:(e,t)=>{throw new r("featurelayer:unsupported-symbology-snapping","Symbology snapping not supported")},executeQuery:async(e,r)=>await this._workerHandle.executeQuery(e,r),executeQueryForIds:async(e,r)=>await this._workerHandle.executeQueryForIds(e,r),executeQueryForCount:async(e,r)=>await this._workerHandle.executeQueryForCount(e,r),executeQueryForExtent:async(e,r)=>await this._workerHandle.executeQueryForExtent(e,r),executeQueryForLatestObservations:async(e,r)=>await this._workerHandle.executeQueryForLatestObservations(e,r)},this.maximumNumberOfFeatures=1e3}initialize(){if("point"!==this.layerView.layer.geometryType)throw new r("featurelayer:unsupported-geometry-type",`${this.layerView.layer.geometryType} is not supported`);this.addResolvingPromise(this.setup())}destroy(){this.removeAllHandles(),this._workerHandle.destroy(),n(this._renderer)}async setup(){const e=this.layerView,{layer:t,view:n,uid:o}=e,{spatialReference:s,renderSpatialReference:u,resourceController:l,renderCoordsHelper:y,elevationProvider:m}=n,c=n.state.viewingMode;if(this._renderer=new p({view:n,layerViewUid:o}),"feature"!==t.type)throw new r("featurelayer:unsupported-layertype","Only FeatureLayer is supported");const h=new d({schedule:e=>l.immediate.schedule(e),layer:t,layerView:e,viewSpatialReference:s,renderSpatialReference:u,viewingMode:c,renderer:this._renderer,elevationProvider:m,renderCoordsHelper:y});this._workerHandle=await h.when(),this.addHandles([this.layerView.view.enableFeatureTiles(),i(()=>this.layerView.view.featureTiles?.tiles,"change",e=>{this._workerHandle.onTileTreeChange(e.target)},{onListenerAdd:e=>this._workerHandle.onTileTreeChange(e),onListenerRemove:e=>this._workerHandle.onTileTreeChange(e)}),n.elevationProvider.on("elevation-change",e=>this._workerHandle.onElevationChange(e)),a(()=>this.layerView.fullOpacity,e=>this._workerHandle.onLayerViewOpacityChange(e),{sync:!1}),a(()=>t.renderer,e=>this._workerHandle.onRendererChange(e),{sync:!1})])}get legendEnabled(){return!1}get hasAllFeatures(){return!1}get hasAllFeaturesInView(){return!1}get hasFullGeometries(){return!1}get symbologySnappingSupported(){return!1}get scaleVisibilitySuspended(){return!1}get suspendInfo(){return{}}get updating(){return this._workerHandle.updating}get dataUpdating(){return!1}get updatePolicy(){return 0}get maximumNumberOfFeaturesExceeded(){return!1}get updatingProgressValue(){return 1}get usedMemory(){return this._renderer?.usedMemory??0}get unloadedMemory(){return 0}get ignoresMemoryFactor(){return!0}get totalFeatures(){return this._renderer?.totalFeatures??0}get performanceInfo(){const e=this.totalFeatures;return new l(new m(this.usedMemory,e,e,this.maximumNumberOfFeatures,0,null),e,e,this.maximumNumberOfFeaturesExceeded,"tiles","n/a")}get suspendResumeExtentMode(){return"computed"}forEachGraphic(e){}findGraphic(e){return null}highlightByObjectIds(e,r){return y}highlightByGraphics(e,r){return y}maskOccludee(e){return t()}async whenGraphicBounds(e,r){return null}computeAttachmentOrigin(e,r){return null}elevationAlignPointsInFeatures(e,t){throw new r("featurelayer:unsupported-elevation-alignment","Elevation alignment not supported")}async doRefresh(e){}setVisibility(e,r){}getMissingAttributesForFeature(e){return null}getHydratedGeometry(e){return null}};e([s()],c.prototype,"layerView",void 0),e([s()],c.prototype,"updating",null),e([s()],c.prototype,"totalFeatures",null),c=e([u("esri.views.3d.layers.graphics.pipeline.Feature3DPipeline")],c);export{c as Feature3DPipeline};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import r from"../../../../../core/Promise.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 o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{WorkerHandle as n}from"../../../../../core/workers/WorkerHandle.js";import i from"../../../../../geometry/Extent.js";import{clone as a}from"../../../../../geometry/support/aaBoundingRect.js";import s from"../../../../../graphic/FeatureGraphicOrigin.js";import d from"../../../../../rest/support/FeatureSet.js";import{ElevationContext as c}from"../ElevationContext.js";import{applyElevationAlignment as l}from"./utils.js";let p=class extends r{constructor(e){super(e),this.schedule=null,this._workerUpdating=!0}get updating(){return this._workerUpdating}get _graphicOrigin(){return new s(this.layer)}initialize(){const{layer:e,layerView:r,viewSpatialReference:t,renderSpatialReference:o}=this,n=e.elevationInfo;this._elevationContext=c.fromElevationInfo(n),this._workerHandle=new u(this.schedule,{createTexture:async({data:e,parameters:r})=>({result:await this.renderer.createTexture(e,r),transferList:[]}),releaseTexture:async({uid:e})=>(await this.renderer.releaseTexture(e),h),createMaterial:async({materialJSON:e})=>(await this.renderer.createMaterial(e),h),destroyMaterial:async({materialId:e})=>(await this.renderer.destroyMaterial(e),h),createDirectRenderer:async({materialId:e})=>(await this.renderer.createDirectRenderer(e),h),destroyDirectRenderer:async({materialId:e})=>(await this.renderer.destroyDirectRenderer(e),h),createLoDRenderer:async({rendererId:e,lodRenderGeometry:r},t)=>(await this.renderer.createLoDRenderer(e,r,t?.signal??void 0),h),destroyLoDRenderer:async({rendererId:e},r)=>(await this.renderer.destroyLoDRenderer(e,r?.signal??void 0),h),dispatchRenderCommands:async({commands:e})=>(await this.renderer.executeRenderCommands(e),h),applyElevationAlignment:async({mapPoints:e})=>{const{viewSpatialReference:r,elevationProvider:t,renderCoordsHelper:o}=this,n=l(e,r,this._elevationContext,t,o);return{result:n,transferList:[n.buffer]}}}),this.addResolvingPromise((async()=>{await e.load();const i={url:e.parsedUrl?.path??"",baseQuery:e.createQuery().toJSON(),objectIdField:e.objectIdField,capabilities:e.capabilities,fieldIndex:e.fieldsIndex.toJSON(),timeInfo:e.timeInfo?.toJSON(),elevationInfo:n?.toJSON(),fullExtent:e.fullExtent?.toJSON(),renderer:e.renderer?.toJSON()},a={fullOpacity:r.fullOpacity};await this._workerHandle.invokeMethod("setup",{viewSpatialReference:t.toJSON(),renderSpatialReference:o.toJSON(),viewingMode:this.viewingMode,layerInfo:i,layerViewInfo:a})})()),this.addHandles(this._workerHandle.on("notify-updating",({updating:e})=>{this._workerUpdating=e}))}onTileTreeChange(e){this._workerHandle.invokeMethod("onTileTreeChange",{tiles:e.items.map(y)})}onElevationChange(e){this._workerHandle.invokeMethod("onElevationChange",{context:e.context,spatialReference:e.spatialReference?.toJSON(),extent:a(e.extent)})}onLayerViewOpacityChange(e){this._workerHandle.invokeMethod("onLayerViewOpacityChange",e)}onRendererChange(e){const r=e?.toJSON();this._workerHandle.invokeMethod("onRendererChange",r)}async executeQuery(e,r){const t=await this._workerHandle.invokeMethod("executeQuery",e?.toJSON(),r),o=d.fromJSON(t);return this._ensureLayerOnFeatures(o),o}async executeQueryForIds(e,r){return await this._workerHandle.invokeMethod("executeQueryForIds",e?.toJSON(),r)}async executeQueryForCount(e,r){return await this._workerHandle.invokeMethod("executeQueryForCount",e?.toJSON(),r)}async executeQueryForExtent(e,r){const{count:t,extent:o}=await this._workerHandle.invokeMethod("executeQueryForExtent",e?.toJSON(),r);return{count:t,extent:i.fromJSON(o)}}async executeQueryForLatestObservations(e,r){const t=await this._workerHandle.invokeMethod("executeQueryForLatestObservations",e?.toJSON(),r),o=d.fromJSON(t);return this._ensureLayerOnFeatures(o),o}_ensureLayerOnFeatures(e){const{layer:r,_graphicOrigin:t}=this;for(const o of e.features)o.layer=r,o.sourceLayer=r,o.origin=t}};e([t()],p.prototype,"updating",null),e([t({constructOnly:!0})],p.prototype,"schedule",void 0),e([t({constructOnly:!0})],p.prototype,"layer",void 0),e([t({constructOnly:!0})],p.prototype,"layerView",void 0),e([t({constructOnly:!0})],p.prototype,"viewSpatialReference",void 0),e([t({constructOnly:!0})],p.prototype,"renderSpatialReference",void 0),e([t({constructOnly:!0})],p.prototype,"viewingMode",void 0),e([t({constructOnly:!0})],p.prototype,"renderer",void 0),e([t({constructOnly:!0})],p.prototype,"elevationProvider",void 0),e([t({constructOnly:!0})],p.prototype,"renderCoordsHelper",void 0),e([t()],p.prototype,"_workerUpdating",void 0),e([t()],p.prototype,"_graphicOrigin",null),p=e([o("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorkerHandle")],p);class u extends n{constructor(e,r){super("Feature3DPipelineWorker","setup",{},e,{strategy:"dedicated",client:r})}}function y({id:e,lij:r,extent:t}){return{id:e,lij:r,extent:t}}const h={result:void 0};export{p as Feature3DPipelineWorkerHandle};
5
+ import{__decorate as e}from"tslib";import{EsriPromise as r}from"../../../../../core/Promise.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 o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{WorkerHandle as n}from"../../../../../core/workers/WorkerHandle.js";import i from"../../../../../geometry/Extent.js";import{clone as a}from"../../../../../geometry/support/aaBoundingRect.js";import s from"../../../../../graphic/FeatureGraphicOrigin.js";import d from"../../../../../rest/support/FeatureSet.js";import{ElevationContext as c}from"../ElevationContext.js";import{applyElevationAlignment as l}from"./utils.js";let p=class extends r{constructor(e){super(e),this.schedule=null,this._workerUpdating=!0}get updating(){return this._workerUpdating}get _graphicOrigin(){return new s(this.layer)}initialize(){const{layer:e,layerView:r,viewSpatialReference:t,renderSpatialReference:o}=this,n=e.elevationInfo;this._elevationContext=c.fromElevationInfo(n),this._workerHandle=new u(this.schedule,{createTexture:async({data:e,parameters:r})=>({result:await this.renderer.createTexture(e,r),transferList:[]}),releaseTexture:async({uid:e})=>(await this.renderer.releaseTexture(e),h),createMaterial:async({materialJSON:e})=>(await this.renderer.createMaterial(e),h),destroyMaterial:async({materialId:e})=>(await this.renderer.destroyMaterial(e),h),createDirectRenderer:async({materialId:e})=>(await this.renderer.createDirectRenderer(e),h),destroyDirectRenderer:async({materialId:e})=>(await this.renderer.destroyDirectRenderer(e),h),createLoDRenderer:async({rendererId:e,lodRenderGeometry:r},t)=>(await this.renderer.createLoDRenderer(e,r,t?.signal??void 0),h),destroyLoDRenderer:async({rendererId:e},r)=>(await this.renderer.destroyLoDRenderer(e,r?.signal??void 0),h),dispatchRenderCommands:async({commands:e})=>(await this.renderer.executeRenderCommands(e),h),applyElevationAlignment:async({mapPoints:e})=>{const{viewSpatialReference:r,elevationProvider:t,renderCoordsHelper:o}=this,n=l(e,r,this._elevationContext,t,o);return{result:n,transferList:[n.buffer]}}}),this.addResolvingPromise((async()=>{await e.load();const i={url:e.parsedUrl?.path??"",baseQuery:e.createQuery().toJSON(),objectIdField:e.objectIdField,capabilities:e.capabilities,fieldIndex:e.fieldsIndex.toJSON(),timeInfo:e.timeInfo?.toJSON(),elevationInfo:n?.toJSON(),fullExtent:e.fullExtent?.toJSON(),renderer:e.renderer?.toJSON()},a={fullOpacity:r.fullOpacity};await this._workerHandle.invokeMethod("setup",{viewSpatialReference:t.toJSON(),renderSpatialReference:o.toJSON(),viewingMode:this.viewingMode,layerInfo:i,layerViewInfo:a})})()),this.addHandles(this._workerHandle.on("notify-updating",({updating:e})=>{this._workerUpdating=e}))}onTileTreeChange(e){this._workerHandle.invokeMethod("onTileTreeChange",{tiles:e.items.map(y)})}onElevationChange(e){this._workerHandle.invokeMethod("onElevationChange",{context:e.context,spatialReference:e.spatialReference?.toJSON(),extent:a(e.extent)})}onLayerViewOpacityChange(e){this._workerHandle.invokeMethod("onLayerViewOpacityChange",e)}onRendererChange(e){const r=e?.toJSON();this._workerHandle.invokeMethod("onRendererChange",r)}async executeQuery(e,r){const t=await this._workerHandle.invokeMethod("executeQuery",e?.toJSON(),r),o=d.fromJSON(t);return this._ensureLayerOnFeatures(o),o}async executeQueryForIds(e,r){return await this._workerHandle.invokeMethod("executeQueryForIds",e?.toJSON(),r)}async executeQueryForCount(e,r){return await this._workerHandle.invokeMethod("executeQueryForCount",e?.toJSON(),r)}async executeQueryForExtent(e,r){const{count:t,extent:o}=await this._workerHandle.invokeMethod("executeQueryForExtent",e?.toJSON(),r);return{count:t,extent:i.fromJSON(o)}}async executeQueryForLatestObservations(e,r){const t=await this._workerHandle.invokeMethod("executeQueryForLatestObservations",e?.toJSON(),r),o=d.fromJSON(t);return this._ensureLayerOnFeatures(o),o}_ensureLayerOnFeatures(e){const{layer:r,_graphicOrigin:t}=this;for(const o of e.features)o.layer=r,o.sourceLayer=r,o.origin=t}};e([t()],p.prototype,"updating",null),e([t({constructOnly:!0})],p.prototype,"schedule",void 0),e([t({constructOnly:!0})],p.prototype,"layer",void 0),e([t({constructOnly:!0})],p.prototype,"layerView",void 0),e([t({constructOnly:!0})],p.prototype,"viewSpatialReference",void 0),e([t({constructOnly:!0})],p.prototype,"renderSpatialReference",void 0),e([t({constructOnly:!0})],p.prototype,"viewingMode",void 0),e([t({constructOnly:!0})],p.prototype,"renderer",void 0),e([t({constructOnly:!0})],p.prototype,"elevationProvider",void 0),e([t({constructOnly:!0})],p.prototype,"renderCoordsHelper",void 0),e([t()],p.prototype,"_workerUpdating",void 0),e([t()],p.prototype,"_graphicOrigin",null),p=e([o("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorkerHandle")],p);class u extends n{constructor(e,r){super("Feature3DPipelineWorker","setup",{},e,{strategy:"dedicated",client:r})}}function y({id:e,lij:r,extent:t}){return{id:e,lij:r,extent:t}}const h={result:void 0};export{p as Feature3DPipelineWorkerHandle};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{nullUid as t}from"../../../../../../core/uid.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 i}from"../../../../../../core/accessorSupport/decorators/subclass.js";import{glLayout as s}from"../../../../support/buffer/glUtil.js";import{SyncRenderPlugin as n}from"../../../../webgl-engine/effects/RenderPlugin.js";import{GLMaterials as o}from"../../../../webgl-engine/lib/GLMaterials.js";import{BoundingVolume as a}from"../../../../webgl-engine/lib/Object3D.js";import{DrawParameters as l}from"../../../../webgl-engine/materials/DrawParameters.js";import{HUDMaterial as u}from"../../../../webgl-engine/materials/HUDMaterial.js";let c=class extends n{constructor(e){super(e),this._glMaterials=null,this._produces=new Map,this._renderGeometries=new Map,this._vaoCache=null,this._drawParameters=new l,this._bufferWriter=null,this.slicePlaneEnabled=!1,this.isGround=!1,this.type=e.material instanceof u?1:0,this.layerViewUid=e.layerViewUid}get produces(){return this._produces}get numFeatures(){const e=6;let t=0;return this._renderGeometries.forEach(r=>t+=r.numElements/e),t}get usedMemory(){let e=0;return this._renderGeometries.forEach(t=>{e+=t.vao.usedMemory}),e}intersect(e,r,i,s){const{material:n,_bufferWriter:o,layerViewUid:l,_renderGeometries:u}=this;null!=o.intersect&&u.forEach(({buffer:r,localOrigin:u,items:c})=>o.intersect(r.data,n.parameters,u,e,i,s,(r,i,s,o)=>{if(!c.visibilities[s])return;const u=c.objectIds[s];e.handleObjectIntersection({object:{id:t,graphicUid:u,layerViewUid:l,boundingVolumeWorldSpace:new a,geometries:[{material:n}]},geometryId:0,primitiveIndex:s},r,i,null,o)}))}initialize(){this._bufferWriter=this.material.createBufferWriter(),this.material.produces.forEach((e,t)=>{this._produces.set(t,t=>8!==t&&5!==t&&e(t))})}destroy(){this._glMaterials.dispose();const e=this._renderGeometries.keys();for(const t of e)this.removeRenderGeometryBuffer(t)}acquireTechniques(e){const t=this.material;if(!t.shouldRender(e))return null;const{output:r,bind:i}=e,s=t.produces.get(i.slot);if(!s?.(r))return null;if(8===r||5===r)return null;const n=this._glMaterials.load(e.rctx,i.slot,r);return n?.beginSlot(i)}render(e,t){const r=this._renderGeometries;if(0===r.size)return;const{bind:i}=e,s=9===i.slot||10===i.slot?i.slot:null,n=e.rctx;n.runAppleAmdDriverHelper(),n.bindTechnique(t,i,this.material.parameters);const o=t.program;for(const[a,l]of r){const{vao:e,localOrigin:r,drawCalls:a}=l;this._drawParameters.origin=r,o.bindDraw(i,this.material.parameters,this._drawParameters),t.ensureAttributeLocations(e),n.bindVAO(e),n.setPipelineState(t.getPipeline(!1,s));for(const i of a)n.drawArrays(t.primitiveType,i.start,i.count)}}initializeRenderContext(e){this._glMaterials=new o(this.material,e.materials),this._vaoCache=e.renderContext.rctx.getVaoCache(this.material.vertexAttributeLocations,s(this._bufferWriter.vertexBufferLayout))}uninitializeRenderContext(){}addRenderGeometryBuffer(e,t,r,i){this.removeRenderGeometryBuffer(e);const{data:s,elementCount:n}=t,o=this._vaoCache.newVao(s.byteLength);o.vertexBuffers.get("geometry").setSubData(new Uint8Array(s),0,0,s.byteLength);const a={localOrigin:i,numElements:n,buffer:t,items:r,vao:o,drawCalls:this._produceDrawCalls(r)};this._renderGeometries.set(e,a)}updateRenderGeometryBuffer(e,t,r,i){const{data:s,elementCount:n}=t,o=this._renderGeometries.get(e);if(null==o)return;this._vaoCache.deleteVao(o.vao);const a=this._vaoCache.newVao(s.byteLength);a.vertexBuffers.get("geometry").setSubData(new Uint8Array(s),0,0,s.byteLength),o.localOrigin=i,o.numElements=n,o.buffer=t,o.items=r,o.vao=a,o.drawCalls=this._produceDrawCalls(r)}removeRenderGeometryBuffer(e){const t=this._renderGeometries.get(e);null!=t&&(this._vaoCache.deleteVao(t.vao),this._renderGeometries.delete(e))}updateVisibility(e,t){const r=this._renderGeometries.get(e);if(null==r)return;const{items:i}=r;if(i.visibilities.length!==t.length)throw new Error("Unexpected mismatch between old and new visibility flag buffer length.");i.visibilities=t,r.drawCalls=this._produceDrawCalls(i)}hasHighlight(){return!1}_produceDrawCalls(e){const{visibilities:t,ranges:r}=e,i=[];if(m(r)){if(0===r.numItems)return[];const e=r.numVertices;let s=null;for(let n=0;n<r.numItems;++n){t[n]?null==s?(s={start:n*e,count:e},i.push(s)):s.count+=e:s=null}}else{const e=r.counts,s=e.length;if(0===s)return[];let n=null,o=0;for(let r=0;r<s;++r){const s=t[r],a=e[r];s?null==n?(n={start:o,count:a},i.push(n)):n.count+=a:n=null,o+=a}}return i}};function m(e){return"numItems"in e}e([r({constructOnly:!0})],c.prototype,"material",void 0),c=e([i("esri.views.3d.layers.graphics.pipeline.rendering.DirectRenderer")],c);export{c as DirectRenderer};
5
+ import{__decorate as e}from"tslib";import{nullUid as t}from"../../../../../../core/uid.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 i}from"../../../../../../core/accessorSupport/decorators/subclass.js";import{glLayout as s}from"../../../../support/buffer/glUtil.js";import{SyncRenderPlugin as n}from"../../../../webgl-engine/effects/RenderPlugin.js";import{GLMaterials as o}from"../../../../webgl-engine/lib/GLMaterials.js";import{BoundingVolume as a}from"../../../../webgl-engine/lib/Object3D.js";import{DrawParameters as l}from"../../../../webgl-engine/materials/DrawParameters.js";import{HUDMaterial as u}from"../../../../webgl-engine/materials/HUDMaterial.js";let c=class extends n{constructor(e){super(e),this._glMaterials=null,this._produces=new Map,this._renderGeometries=new Map,this._vaoCache=null,this._drawParameters=new l,this._bufferWriter=null,this.slicePlaneEnabled=!1,this.isGround=!1,this.type=e.material instanceof u?1:0,this.layerViewUid=e.layerViewUid}get produces(){return this._produces}get numFeatures(){const e=6;let t=0;return this._renderGeometries.forEach(r=>t+=r.numElements/e),t}get usedMemory(){let e=0;return this._renderGeometries.forEach(t=>{e+=t.vao.usedMemory}),e}intersect(e,r,i,s){const{material:n,_bufferWriter:o,layerViewUid:l,_renderGeometries:u}=this;null!=o.intersect&&u.forEach(({buffer:r,localOrigin:u,items:c})=>o.intersect(r.data,n.parameters,u,e,i,s,(r,i,s,o)=>{if(!c.visibilities[s])return;const u=c.objectIds[s];e.handleObjectIntersection({object:{id:t,graphicUid:u,layerViewUid:l,boundingVolumeWorldSpace:new a,geometries:[{material:n}]},geometryId:0,primitiveIndex:s},r,i,null,o)}))}initialize(){this._bufferWriter=this.material.createBufferWriter(),this.material.produces.forEach((e,t)=>{this._produces.set(t,t=>8!==t&&5!==t&&e(t))})}destroy(){this._glMaterials.dispose();const e=this._renderGeometries.keys();for(const t of e)this.removeRenderGeometryBuffer(t)}acquireTechniques(e){const t=this.material;if(!t.shouldRender(e))return null;const{output:r,bind:i}=e,s=t.produces.get(i.slot);if(!s?.(r))return null;if(8===r||5===r)return null;const n=this._glMaterials.load(e.rctx,i.slot,r);return n?.beginSlot(i)}render(e,t){const r=this._renderGeometries;if(0===r.size)return;const{bind:i}=e,s=9===i.slot||10===i.slot?i.slot:null,n=e.rctx;n.runAppleAmdDriverHelper(),n.bindTechnique(t,i,this.material.parameters);const o=t.program;for(const[a,l]of r){const{vao:e,localOrigin:r,drawCalls:a}=l;this._drawParameters.origin=r,o.bindDraw(i,this.material.parameters,this._drawParameters),t.ensureAttributeLocations(e),n.bindVAO(e),n.setPipelineState(t.getPipeline(!1,s));for(const i of a)n.drawArrays(t.primitiveType,i.start,i.count)}}initializeRenderContext(e){this._glMaterials=new o(this.material,e.materials),this._vaoCache=e.renderContext.rctx.getVaoCache(s(this._bufferWriter.layout))}uninitializeRenderContext(){}addRenderGeometryBuffer(e,t,r,i){this.removeRenderGeometryBuffer(e);const{data:s,elementCount:n}=t,o=this._vaoCache.newVao(s.byteLength);o.buffer()?.buffer.setSubData(new Uint8Array(s),0,0,s.byteLength);const a={localOrigin:i,numElements:n,buffer:t,items:r,vao:o,drawCalls:this._produceDrawCalls(r)};this._renderGeometries.set(e,a)}updateRenderGeometryBuffer(e,t,r,i){const{data:s,elementCount:n}=t,o=this._renderGeometries.get(e);if(null==o)return;this._vaoCache.deleteVao(o.vao);const a=this._vaoCache.newVao(s.byteLength);a.buffer()?.buffer.setSubData(new Uint8Array(s),0,0,s.byteLength),o.localOrigin=i,o.numElements=n,o.buffer=t,o.items=r,o.vao=a,o.drawCalls=this._produceDrawCalls(r)}removeRenderGeometryBuffer(e){const t=this._renderGeometries.get(e);null!=t&&(this._vaoCache.deleteVao(t.vao),this._renderGeometries.delete(e))}updateVisibility(e,t){const r=this._renderGeometries.get(e);if(null==r)return;const{items:i}=r;if(i.visibilities.length!==t.length)throw new Error("Unexpected mismatch between old and new visibility flag buffer length.");i.visibilities=t,r.drawCalls=this._produceDrawCalls(i)}hasHighlight(){return!1}_produceDrawCalls(e){const{visibilities:t,ranges:r}=e,i=[];if(m(r)){if(0===r.numItems)return[];const e=r.numVertices;let s=null;for(let n=0;n<r.numItems;++n){t[n]?null==s?(s={start:n*e,count:e},i.push(s)):s.count+=e:s=null}}else{const e=r.counts,s=e.length;if(0===s)return[];let n=null,o=0;for(let r=0;r<s;++r){const s=t[r],a=e[r];s?null==n?(n={start:o,count:a},i.push(n)):n.count+=a:n=null,o+=a}}return i}};function m(e){return"numItems"in e}e([r({constructOnly:!0})],c.prototype,"material",void 0),c=e([i("esri.views.3d.layers.graphics.pipeline.rendering.DirectRenderer")],c);export{c as DirectRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import r from"../../../../../../core/Accessor.js";import"../../../../../../core/has.js";import{createAbortError as t}from"../../../../../../core/promiseUtils.js";import{property as s}from"../../../../../../core/accessorSupport/decorators/property.js";import"../../../../../../core/Logger.js";import"../../../../../../core/RandomLCG.js";import{subclass as i}from"../../../../../../core/accessorSupport/decorators/subclass.js";import{ONES as d}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as a}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{DirectRenderer as n}from"./DirectRenderer.js";import{LodRenderer as o}from"./LodRenderer.js";import{Texture as l}from"../../../../webgl-engine/lib/Texture.js";import{DefaultMaterial as c}from"../../../../webgl-engine/materials/DefaultMaterial.js";import{HUDMaterial as u}from"../../../../webgl-engine/materials/HUDMaterial.js";import{schematicMRRFactors as m}from"../../../../webgl-engine/materials/pbrUtils.js";let h=class extends r{constructor(e){super(),this.view=null,this.layerViewUid=null,this._stage=null,this._materials=new Map,this._textures=new Map,this._directRenderers=new Map,this._lodRenderers=new Map,this.totalFeatures=0,this.view=e.view,this.layerViewUid=e.layerViewUid}initialize(){this._stage=this.view.stage}destroy(){this.removeAllHandles(),this._lodRenderers.forEach(e=>e.destroy())}async createTexture(e,r){const{_textures:t,_stage:s}=this,i=new l(e,r);return t.set(i.id,i),s&&(i.load(s.renderView.renderingContext),s.addTexture(i)),i.id}async releaseTexture(e){const{_textures:r,_stage:t}=this,s=r.get(e);s&&(t&&(s.unload(),t.removeTexture(s)),r.delete(e))}_destroyTexture(e){const{_textures:r,_stage:t}=this,s=r.get(e);s&&(t&&(s.unload(),t.removeTexture(s)),r.delete(e))}async createMaterial(e){const{view:r}=this,t=1===r.state.viewingMode;let s=null;switch(e.type){case"default":{const r=e.parameters,i=new c(r,{spherical:t});i.setParameters({cullFace:i.transparent?0:2}),s=i;break}case"hud":{const r=e.parameters;s=new u(r,t)}}this._materials.set(e.materialId,s)}async destroyMaterial(e){this._materials.delete(e)}async updateMaterial(e){}async createDirectRenderer(e){if(this._directRenderers.has(e))return;const r=this._materials.get(e);if(null==r)throw new Error(`material not found ${e}`);const{view:t}=this,s=new n({material:r,layerViewUid:this.layerViewUid});this._directRenderers.set(e,s),t.stage.addRenderPlugin(s),t.stage.renderView.renderer.updateHasFlags()}async destroyDirectRenderer(e){const r=this._directRenderers.get(e);if(null==r)return;const t=this.view;t.stage.removeRenderPlugin(r),this._directRenderers.delete(e),t.stage.renderView.renderer.updateHasFlags()}async createLoDRenderer(e,r,s){const i=new o({view:this.view,layerViewUid:this.layerViewUid}),d=e=>this._materials.get(e);if(await i.doLoad(r,d,s),s?.aborted)throw i.destroy(),t();this._lodRenderers.set(e,i)}async destroyLoDRenderer(e,r){const t=this._lodRenderers.get(e);null!=t&&(t.destroy(),this._lodRenderers.delete(e))}_destroyLodRenderer({rendererId:e}){const r=this._lodRenderers.get(e);null!=r&&(r.destroy(),this._lodRenderers.delete(e))}async executeRenderCommands(e){for(const r of e)switch(r.id){case"destroy-texture":this._destroyTexture(r.textureId);break;case"update-material":this._updateMaterial(r);break;case"destroy-material":this._destroyMaterial(r);break;case"add-direct-renderer-geometry-buffer":this._addDirectRendererGeometryBuffer(r);break;case"update-direct-renderer-geometry-buffer":this._updateDirectRendererGeometryBuffer(r);break;case"remove-direct-renderer-geometry-buffer":this._removeDirectRendererGeometryBuffer(r);break;case"destroy-lod-renderer":this._destroyLodRenderer(r);break;case"add-lod-instances":this._addLodInstances(r);break;case"remove-lod-instances":this._removeLodInstances(r);break;case"update-lod-instance-data":this._updateLodInstanceData(r);break;case"update-visibility":this._updateVisibility(r)}e.length>0&&this._updateFeatureCount()}_updateFeatureCount(){let e=0;for(const r of this._directRenderers.values())e+=r.numFeatures;for(const r of this._lodRenderers.values())e+=r.numFeatures;this._set("totalFeatures",e)}get usedMemory(){let e=0;for(const r of this._directRenderers.values())e+=r.usedMemory;for(const r of this._lodRenderers.values())e+=r.usedMemory;return e}_updateMaterial({materialId:e,parameters:r}){const t=this._materials.get(e);null!=t?t.setParameters(r):console.error("material not found")}_destroyMaterial({materialId:e}){null!=this._materials.get(e)?this._materials.delete(e):console.error("material not found")}_addDirectRendererGeometryBuffer({groupId:e,rendererId:r,renderGeometryBuffer:t,renderGeometryBufferItems:s,localOrigin:i}){const d=this._directRenderers.get(r);null!=d?(d.addRenderGeometryBuffer(e,t,s,i),this.view.stage.renderView.requestRender()):console.error("no renderer assigned to provided material")}_updateDirectRendererGeometryBuffer({groupId:e,rendererId:r,renderGeometryBuffer:t,renderGeometryBufferItems:s,localOrigin:i}){const d=this._directRenderers.get(r);null!=d?(d.updateRenderGeometryBuffer(e,t,s,i),this.view.stage.renderView.requestRender()):console.error("no renderer assigned to provided material")}_removeDirectRendererGeometryBuffer({groupId:e,rendererId:r}){const t=this._directRenderers.get(r);null!=t?(t.removeRenderGeometryBuffer(e),this.view.stage.renderView.requestRender()):console.error("no renderer assigned to provided material")}_addLodInstances({rendererId:e,groupId:r,data:t}){const s=this._lodRenderers.get(e);if(null==s)throw new Error("no lod renderer assigned to provided lod renderer Id");s.addInstances(r,t),this.view.stage.renderView.requestRender()}_removeLodInstances({rendererId:e,groupId:r}){const t=this._lodRenderers.get(e);if(null==t)throw new Error("no lod renderer assigned to provided lod renderer Id");t.removeInstances(r),this.view.stage.renderView.requestRender()}_updateLodInstanceData({rendererId:e,groupId:r,globalTransforms:t}){const s=this._lodRenderers.get(e);if(null==s)throw new Error("No renderer found with the provided id");null!=t&&s.updateGlobalTransforms(r,t),this.view.stage.renderView.requestRender()}_updateVisibility({rendererId:e,groupId:r,visibility:t}){const s=this._directRenderers.get(e)??this._lodRenderers.get(e);if(null==s)throw new Error("No renderer found with the provided id");s.updateVisibility(r,t),this.view.stage.renderView.requestRender()}};function f(e,r,t){const s={usePBR:r.physicalBasedRenderingEnabled,isSchematic:!0,mrrFactors:m,ambient:d,diffuse:d,hasSlicePlane:r.slicePlaneEnabled,castShadows:r.castShadows,offsetTransparentBackfaces:!r.isPrimitive};r.screenSizePerspectiveEnabled&&(s.screenSizePerspective=e.screenSizePerspectiveSettings),s.externalColor=a,s.isInstanced=!0;const i=new c(s,{spherical:t});return i.setParameters({cullFace:i.transparent?0:2}),i}e([s({readOnly:!0})],h.prototype,"totalFeatures",void 0),h=e([i("esri.views.3d.layers.graphics.pipeline.rendering.FeaturePipelineRenderManager")],h);export{h as FeaturePipelineRenderManager,f as createDefaultMaterial};
5
+ import{__decorate as e}from"tslib";import r from"../../../../../../core/Accessor.js";import"../../../../../../core/has.js";import{createAbortError as t}from"../../../../../../core/promiseUtils.js";import{property as s}from"../../../../../../core/accessorSupport/decorators/property.js";import"../../../../../../core/Logger.js";import"../../../../../../core/RandomLCG.js";import{subclass as i}from"../../../../../../core/accessorSupport/decorators/subclass.js";import{ONES as d}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as a}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{DirectRenderer as n}from"./DirectRenderer.js";import{LodRenderer as o}from"./LodRenderer.js";import{Texture as l}from"../../../../webgl-engine/lib/Texture.js";import{DefaultMaterial as c}from"../../../../webgl-engine/materials/DefaultMaterial.js";import{HUDMaterial as u}from"../../../../webgl-engine/materials/HUDMaterial.js";import{schematicMRRFactors as m}from"../../../../webgl-engine/materials/pbrUtils.js";let h=class extends r{constructor(e){super(),this.view=null,this.layerViewUid=null,this._stage=null,this._materials=new Map,this._textures=new Map,this._directRenderers=new Map,this._lodRenderers=new Map,this.totalFeatures=0,this.view=e.view,this.layerViewUid=e.layerViewUid}initialize(){this._stage=this.view.stage}destroy(){this.removeAllHandles(),this._lodRenderers.forEach(e=>e.destroy())}async createTexture(e,r){const{_textures:t,_stage:s}=this,i=new l(e,r);return t.set(i.id,i),s&&(i.load(s.renderView.renderingContext),s.addTexture(i)),i.id}async releaseTexture(e){const{_textures:r,_stage:t}=this,s=r.get(e);s&&(t&&(s.unload(),t.removeTexture(s)),r.delete(e))}_destroyTexture(e){const{_textures:r,_stage:t}=this,s=r.get(e);s&&(t&&(s.unload(),t.removeTexture(s)),r.delete(e))}async createMaterial(e){const{view:r}=this,t=1===r.state.viewingMode;let s=null;switch(e.type){case"default":{const r=e.parameters,i=new c(r,{spherical:t});i.setParameters({cullFace:i.transparent?0:2}),s=i;break}case"hud":{const r=e.parameters;s=new u(r,t)}}this._materials.set(e.materialId,s)}async destroyMaterial(e){this._materials.delete(e)}async updateMaterial(e){}async createDirectRenderer(e){if(this._directRenderers.has(e))return;const r=this._materials.get(e);if(null==r)throw new Error(`material not found ${e}`);const{view:t}=this,s=new n({material:r,layerViewUid:this.layerViewUid});this._directRenderers.set(e,s),t.stage.addRenderPlugin(s),t.stage.renderView.renderer.updateHasFlags()}async destroyDirectRenderer(e){const r=this._directRenderers.get(e);if(null==r)return;const t=this.view;t.stage.removeRenderPlugin(r),this._directRenderers.delete(e),t.stage.renderView.renderer.updateHasFlags()}async createLoDRenderer(e,r,s){const i=new o({view:this.view,layerViewUid:this.layerViewUid}),d=e=>this._materials.get(e);if(await i.doLoad(r,d,s),s?.aborted)throw i.destroy(),t();this._lodRenderers.set(e,i)}async destroyLoDRenderer(e,r){const t=this._lodRenderers.get(e);null!=t&&(t.destroy(),this._lodRenderers.delete(e))}_destroyLodRenderer({rendererId:e}){const r=this._lodRenderers.get(e);null!=r&&(r.destroy(),this._lodRenderers.delete(e))}async executeRenderCommands(e){for(const r of e)switch(r.id){case"destroy-texture":this._destroyTexture(r.textureId);break;case"update-material":this._updateMaterial(r);break;case"destroy-material":this._destroyMaterial(r);break;case"add-direct-renderer-geometry-buffer":this._addDirectRendererGeometryBuffer(r);break;case"update-direct-renderer-geometry-buffer":this._updateDirectRendererGeometryBuffer(r);break;case"remove-direct-renderer-geometry-buffer":this._removeDirectRendererGeometryBuffer(r);break;case"destroy-lod-renderer":this._destroyLodRenderer(r);break;case"add-lod-instances":this._addLodInstances(r);break;case"remove-lod-instances":this._removeLodInstances(r);break;case"update-lod-instance-data":this._updateLodInstanceData(r);break;case"update-visibility":this._updateVisibility(r)}e.length>0&&this._updateFeatureCount()}_updateFeatureCount(){let e=0;for(const r of this._directRenderers.values())e+=r.numFeatures;for(const r of this._lodRenderers.values())e+=r.numFeatures;this._set("totalFeatures",e)}get usedMemory(){let e=0;for(const r of this._directRenderers.values())e+=r.usedMemory;for(const r of this._lodRenderers.values())e+=r.usedMemory;return e}_updateMaterial({materialId:e,parameters:r}){const t=this._materials.get(e);null!=t?t.setParameters(r):console.error("material not found")}_destroyMaterial({materialId:e}){null!=this._materials.get(e)?this._materials.delete(e):console.error("material not found")}_addDirectRendererGeometryBuffer({groupId:e,rendererId:r,renderGeometryBuffer:t,renderGeometryBufferItems:s,localOrigin:i}){const d=this._directRenderers.get(r);null!=d?(d.addRenderGeometryBuffer(e,t,s,i),this.view.stage.renderView.requestRender()):console.error("no renderer assigned to provided material")}_updateDirectRendererGeometryBuffer({groupId:e,rendererId:r,renderGeometryBuffer:t,renderGeometryBufferItems:s,localOrigin:i}){const d=this._directRenderers.get(r);null!=d?(d.updateRenderGeometryBuffer(e,t,s,i),this.view.stage.renderView.requestRender()):console.error("no renderer assigned to provided material")}_removeDirectRendererGeometryBuffer({groupId:e,rendererId:r}){const t=this._directRenderers.get(r);null!=t?(t.removeRenderGeometryBuffer(e),this.view.stage.renderView.requestRender()):console.error("no renderer assigned to provided material")}_addLodInstances({rendererId:e,groupId:r,data:t}){const s=this._lodRenderers.get(e);if(null==s)throw new Error("no lod renderer assigned to provided lod renderer Id");s.addInstances(r,t),this.view.stage.renderView.requestRender()}_removeLodInstances({rendererId:e,groupId:r}){const t=this._lodRenderers.get(e);if(null==t)throw new Error("no lod renderer assigned to provided lod renderer Id");t.removeInstances(r),this.view.stage.renderView.requestRender()}_updateLodInstanceData({rendererId:e,groupId:r,globalTransforms:t}){const s=this._lodRenderers.get(e);if(null==s)throw new Error("No renderer found with the provided id");null!=t&&s.updateGlobalTransforms(r,t),this.view.stage.renderView.requestRender()}_updateVisibility({rendererId:e,groupId:r,visibility:t}){const s=this._directRenderers.get(e)??this._lodRenderers.get(e);if(null==s)throw new Error("No renderer found with the provided id");s.updateVisibility(r,t),this.view.stage.renderView.requestRender()}};function f(e,r,t){const s={usePBR:r.physicalBasedRenderingEnabled,isSchematic:!0,mrrFactors:m,ambient:d,diffuse:d,hasSlicePlane:r.slicePlaneEnabled,castShadows:r.castShadows,offsetTransparentBackfaces:!r.isPrimitive};r.screenSizePerspectiveEnabled&&(s.screenSizePerspective=e.screenSizePerspectiveSettings),s.externalColor=a,s.instanced=!0;const i=new c(s,{spherical:t});return i.setParameters({cullFace:i.transparent?0:2}),i}e([s({readOnly:!0})],h.prototype,"totalFeatures",void 0),h=e([i("esri.views.3d.layers.graphics.pipeline.rendering.FeaturePipelineRenderManager")],h);export{h as FeaturePipelineRenderManager,f as createDefaultMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import has from"../../../../../../core/has.js";import{throwIfAborted as r}from"../../../../../../core/promiseUtils.js";import"../../../../../../core/Logger.js";import"../../../../../../core/RandomLCG.js";import"../../../../../../core/Error.js";import{subclass as s}from"../../../../../../core/accessorSupport/decorators/subclass.js";import{LodRenderer as n}from"../../../../webgl-engine/lib/lodRendering/LodRenderer.js";import{LodComponentRenderGeometry as t,LodComponentResources as o,LodLevelResources as i,LodResources as a}from"../../../../webgl-engine/lib/lodRendering/LodResources.js";let d=class{constructor(e){this._optionalFields=new Array,this._instanceGroupToIndices=new Map,this._instanceIndexToFeatureId=new Map,this._disposeResourceHandles=new Array,this._lodRendererResources=null,this._numFeatures=0,this.layerViewUid=e.layerViewUid,this.view=e.view,this.sharedResources=this.view.sharedSymbolResources,this.scheduler=this.view.resourceController.scheduler}get numFeatures(){return this._numFeatures}get usedMemory(){const e=this._lodRendererResources?.lodRenderer,r=e?.symbol;return(r?.computeUsedMemory()??0)+16*this._instanceIndexToFeatureId.size}destroy(){this._disposeResourceHandles.forEach(e=>e())}async doLoad(e,s,n){has("enable-feature:objectAndLayerId-rendering")&&this._optionalFields.push("objectAndLayerIdColor");const t=l(e=>s(e),e),o=this.view.stage,i=t.getMaterials(),a=t.getTextures();o.addTextures(a),this._addDisposeResource(()=>{a.forEach(e=>e.unload()),o.removeTextures(a)}),await Promise.all(a.map(e=>this.view.stage.schedule(()=>e.load(o.renderView.renderingContext),n))),r(n);const d=await this._createLodRenderer(t,n);this._lodRendererResources={lodRenderer:d,materials:i,textures:a}}addInstances(e,r){const s=this._lodRendererResources;if(null==s)return;const n=s.lodRenderer;if(null==n)return;const{featureIds:t,localTransforms:o,globalTransforms:i,visibility:a}=r,d=new Array,l=n.instanceData,c=t.length,u=this._instanceIndexToFeatureId;for(let h=0;h<c;++h){const e=t[h],r=l.addInstance(),s=l.view,n=16*h;s.localTransform.copyFromTypedBuffer(r,o,n),s.globalTransform.copyFromTypedBuffer(r,i,n),l.updateModelTransform(r),l.setVisible(r,Boolean(a[h])),d.push(r),u.set(r,e)}this._instanceGroupToIndices.set(e,d),this._numFeatures+=c}removeInstances(e){const r=this._instanceGroupToIndices.get(e);if(null==r)return;const s=this._lodRendererResources;if(null==s)return;const n=s.lodRenderer.instanceData,t=this._instanceIndexToFeatureId;for(const o of r)n.removeInstance(o),t.delete(o);this._numFeatures-=r.length,this._instanceGroupToIndices.delete(e)}updateVisibility(e,r){const s=this._instanceGroupToIndices.get(e);if(null==s)return;const n=this._lodRendererResources;if(null==n)return;const t=s.length;if(t!==r.length)throw new Error("Unexpected mismatch instance count and visibility flag buffer length.");const o=n.lodRenderer.instanceData;for(let i=0;i<t;++i)o.setVisible(s[i],Boolean(r[i]))}updateGlobalTransforms(e,r){const s=this._instanceGroupToIndices.get(e);if(null==s)return;const n=this._lodRendererResources;if(null==n)return;const t=s.length;if(16*t!==r.length)throw new Error("Unexpected mismatch instance count and visibility flag buffer length.");const o=n.lodRenderer.instanceData,i=o.view;for(let a=0;a<t;++a){const e=s[a],n=16*a;i.globalTransform.copyFromTypedBuffer(e,r,n),o.updateModelTransform(e)}}_addDisposeResource(e){this._disposeResourceHandles.push(e)}async _createLodRenderer(e,r){const s=this.view.stage,t={layerViewUid:this.layerViewUid,graphicUid:e=>this._instanceIndexToFeatureId.get(e)??-1,notifyGraphicGeometryChanged:e=>1,notifyGraphicVisibilityChanged:e=>1},o=new n({symbol:e,optionalFields:this._optionalFields,metadata:t,shaderTransformation:null},this.scheduler);return o.slicePlaneEnabled=!1,this._addDisposeResource(()=>{s.removeRenderPlugin(o),o.destroy()}),await s.addRenderPlugin(o,r),o}};function l(e,r){const s=r.levels.map(r=>{const s=r.components.map(r=>{const s=e(r.materialId);if(!c(s))throw new Error("LodRenderer only supports DefaultMaterial");const n=new t(s,r.renderGeometryBuffer.data,r.renderGeometryBuffer.elementCount,r.boundingInfo);return new o(n)});return new i(s,r.minScreenSpaceRadius)});return new a(s)}function c(e){return null!=e&&"materialType"in e&&"default"===e.materialType}d=e([s("esri.views.3d.layers.graphics.pipeline.rendering.LodRenderer")],d);export{d as LodRenderer,c as isDefaultMaterial};
5
+ import{__decorate as e}from"tslib";import{throwIfAborted as r}from"../../../../../../core/promiseUtils.js";import"../../../../../../core/Logger.js";import"../../../../../../core/has.js";import"../../../../../../core/RandomLCG.js";import"../../../../../../core/Error.js";import{subclass as s}from"../../../../../../core/accessorSupport/decorators/subclass.js";import{LodRenderer as n}from"../../../../webgl-engine/lib/lodRendering/LodRenderer.js";import{LodComponentRenderGeometry as t,LodComponentResources as o,LodLevelResources as i,LodResources as a}from"../../../../webgl-engine/lib/lodRendering/LodResources.js";let d=class{constructor(e){this._instanceGroupToIndices=new Map,this._instanceIndexToFeatureId=new Map,this._disposeResourceHandles=new Array,this._lodRendererResources=null,this._numFeatures=0,this.layerViewUid=e.layerViewUid,this.view=e.view,this.sharedResources=this.view.sharedSymbolResources,this.scheduler=this.view.resourceController.scheduler}get numFeatures(){return this._numFeatures}get usedMemory(){const e=this._lodRendererResources?.lodRenderer,r=e?.symbol;return(r?.computeUsedMemory()??0)+16*this._instanceIndexToFeatureId.size}destroy(){this._disposeResourceHandles.forEach(e=>e())}async doLoad(e,s,n){const t=l(e=>s(e),e),o=this.view.stage,i=t.getMaterials(),a=t.getTextures();o.addTextures(a),this._addDisposeResource(()=>{a.forEach(e=>e.unload()),o.removeTextures(a)}),await Promise.all(a.map(e=>this.view.stage.schedule(()=>e.load(o.renderView.renderingContext),n))),r(n);const d=await this._createLodRenderer(t,n);this._lodRendererResources={lodRenderer:d,materials:i,textures:a}}addInstances(e,r){const s=this._lodRendererResources;if(null==s)return;const n=s.lodRenderer;if(null==n)return;const{featureIds:t,localTransforms:o,globalTransforms:i,visibility:a}=r,d=new Array,l=n.instanceData,c=t.length,u=this._instanceIndexToFeatureId;for(let h=0;h<c;++h){const e=t[h],r=l.addInstance(),s=l.view,n=16*h;s.localTransform.copyFromTypedBuffer(r,o,n),s.globalTransform.copyFromTypedBuffer(r,i,n),l.updateModelTransform(r),l.setVisible(r,Boolean(a[h])),d.push(r),u.set(r,e)}this._instanceGroupToIndices.set(e,d),this._numFeatures+=c}removeInstances(e){const r=this._instanceGroupToIndices.get(e);if(null==r)return;const s=this._lodRendererResources;if(null==s)return;const n=s.lodRenderer.instanceData,t=this._instanceIndexToFeatureId;for(const o of r)n.removeInstance(o),t.delete(o);this._numFeatures-=r.length,this._instanceGroupToIndices.delete(e)}updateVisibility(e,r){const s=this._instanceGroupToIndices.get(e);if(null==s)return;const n=this._lodRendererResources;if(null==n)return;const t=s.length;if(t!==r.length)throw new Error("Unexpected mismatch instance count and visibility flag buffer length.");const o=n.lodRenderer.instanceData;for(let i=0;i<t;++i)o.setVisible(s[i],Boolean(r[i]))}updateGlobalTransforms(e,r){const s=this._instanceGroupToIndices.get(e);if(null==s)return;const n=this._lodRendererResources;if(null==n)return;const t=s.length;if(16*t!==r.length)throw new Error("Unexpected mismatch instance count and visibility flag buffer length.");const o=n.lodRenderer.instanceData,i=o.view;for(let a=0;a<t;++a){const e=s[a],n=16*a;i.globalTransform.copyFromTypedBuffer(e,r,n),o.updateModelTransform(e)}}_addDisposeResource(e){this._disposeResourceHandles.push(e)}async _createLodRenderer(e,r){const s=this.view.stage,t={layerViewUid:this.layerViewUid,graphicUid:e=>this._instanceIndexToFeatureId.get(e)??-1,notifyGraphicGeometryChanged:e=>1,notifyGraphicVisibilityChanged:e=>1},o=new n({symbol:e,metadata:t,shaderTransformation:null},this.scheduler);return o.slicePlaneEnabled=!1,this._addDisposeResource(()=>{s.removeRenderPlugin(o),o.destroy()}),await s.addRenderPlugin(o,r),o}};function l(e,r){const s=r.levels.map(r=>{const s=r.components.map(r=>{const s=e(r.materialId);if(!c(s))throw new Error("LodRenderer only supports DefaultMaterial");const n=new t(s,r.renderGeometryBuffer.data,r.renderGeometryBuffer.elementCount,r.boundingInfo);return new o(n)});return new i(s,r.minScreenSpaceRadius)});return new a(s)}function c(e){return null!=e&&"materialType"in e&&"default"===e.materialType}d=e([s("esri.views.3d.layers.graphics.pipeline.rendering.LodRenderer")],d);export{d as LodRenderer,c as isDefaultMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{copy as e,invert as r,transpose as t}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as n}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{getContinuousIndexArray as a}from"../../../../../../geometry/support/Indices.js";import{PipelineCommand as i}from"../PipelineCommand.js";import{generateId as s}from"../utils.js";import{BoundingInfo as o}from"../../../../webgl-engine/lib/BoundingInfo.js";import{DefaultMaterial as d}from"../../../../webgl-engine/materials/DefaultMaterial.js";import{HUDMaterial as m}from"../../../../webgl-engine/materials/HUDMaterial.js";class f{constructor(e,r){this._mainThreadDelegate=r,this._bufferWriters=new Map,this.globalViewingMode=1===e}createRenderCommandBuffer(e=[],r=[]){return{commands:e,transferList:r}}mergeRenderCommandBuffers(e){const r=this.createRenderCommandBuffer();for(const t of e)null!=t&&(r.commands.push(...t.commands),r.transferList.push(...t.transferList));return r}async createTexture(e){const{data:r,parameters:t}=e();return await this._mainThreadDelegate.createTexture(r,t)}async releaseTexture(e){const r=this._destroyTexture(e);return new i(this,r,[])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:r,parameters:t}=e,n=s("material");let a,i;switch(r){case"default":a=new d(e.parameters,{spherical:this.globalViewingMode}),i={type:r,materialId:n,parameters:e.parameters};break;case"hud":a=new m(t,this.globalViewingMode),i={type:r,materialId:n,parameters:e.parameters}}return this._bufferWriters.set(n,a.createBufferWriter()),await this._mainThreadDelegate.createMaterial(i),n}destroyMaterial(e){return{commands:[{id:"destroy-material",materialId:e}],transferList:[]}}updateMaterial(e){return{commands:[{...e,id:"update-material"}],transferList:[]}}async createDirectRenderer(e){return await this._mainThreadDelegate.createDirectRenderer(e),e}async destroyDirectRenderer(e){await this._mainThreadDelegate.destroyDirectRenderer(e)}addDirectRendererGeometry(e,r,t){const{materialId:n}=r;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:a,renderGeometryBufferItems:i}=this.createRenderGeometryBuffer(r,t);return this.addDirectRendererGeometryBuffer(n,e,a,i,t)}updateDirectRendererGeometry(e,r,t){const{materialId:n}=r;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:a,renderGeometryBufferItems:i}=this.createRenderGeometryBuffer(r,t);return this.updateDirectRendererGeometryBuffer(n,e,a,i,t)}addDirectRendererGeometryBuffer(e,r,t,n,a){const{objectIds:i,visibilities:s}=n;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:r,renderGeometryBuffer:t,renderGeometryBufferItems:n,localOrigin:a}],transferList:[t.data,i.buffer,s.buffer]}}updateDirectRendererGeometryBuffer(e,r,t,n,a){const{objectIds:i,visibilities:s}=n;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:r,renderGeometryBuffer:t,renderGeometryBufferItems:n,localOrigin:a}],transferList:[t.data,i.buffer,s.buffer]}}removeDirectRendererGeometryBuffer(e,r){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:r}],transferList:[]}}async createLodRenderer(e){const r=s("lod-renderer"),t=new Set,n={levels:e.levels.map(e=>({components:e.components.map(e=>{const r=e.attributes.get("position");if(!r||0===r.indices.length)throw new Error("positions attribute expected");const n=3,i=a(r.indices.length/n),s=new o(i,n,r);if(null==this._bufferWriters.get(e.materialId))throw new Error("writer not found");const{renderGeometryBuffer:d}=this.createRenderGeometryBuffer(e,null);t.add(d.data);return{materialId:e.materialId,renderGeometryBuffer:d,boundingInfo:{bbMax:s.bbMax,bbMin:s.bbMin}}}),minScreenSpaceRadius:e.minScreenSpaceRadius}))};return await this._mainThreadDelegate.createLodRenderer(r,n,Array.from(t)),r}destroyLodRenderer(e){return{commands:[{id:"destroy-lod-renderer",rendererId:e}],transferList:[]}}addLodInstances(e,r,t){return{commands:[{id:"add-lod-instances",rendererId:e,groupId:r,data:t}],transferList:[t.featureIds.buffer,t.globalTransforms.buffer,t.localTransforms.buffer,t.visibility.buffer]}}removeLodInstances(e,r){return{commands:[{id:"remove-lod-instances",rendererId:e,groupId:r}],transferList:[]}}updateLodInstancesData(e,r,t){return{commands:[{id:"update-lod-instance-data",rendererId:e,groupId:r,globalTransforms:t}],transferList:[t.buffer]}}updateVisibility(e,r,t){return{commands:[{id:"update-visibility",rendererId:e,groupId:r,visibility:t}],transferList:[t.buffer]}}async dispatchRenderCommands(e){0!==e.commands.length&&await this._mainThreadDelegate.executeRenderCommands(e)}createRenderGeometryBuffer(n,a){const{materialId:i,visibilities:s,objectIds:o}=n,d=this._bufferWriters.get(i);if(null==d)throw new Error("no registered bufferWriter for material found");let m=null;if(n.transformation&&a)e(u,n.transformation),u[12]-=a[0],u[13]-=a[1],u[14]-=a[2],m=u;else{if(a)throw new Error("not implemented");n.transformation&&(m=n.transformation)}let f=null;m&&(r(l,u),t(l,l),f=l);const b=n.attributes,y=d.elementCount(b),p=d.vertexBufferLayout.stride/4;y>Math.floor(c/p)&&console.warn("geometry with very large number of elements encountered");const g=d.vertexBufferLayout.createBuffer(y),h=0,I=d.write(m,f,b,n.objectAndLayerIdColor,g,h);if(null==I)throw new Error("Bufferwriter.write does not provide item information.");if(s.length!==I.numItems||o.length!==I.numItems)throw new Error("Unexpected mismatch between number of RenderGeometryBufferItems and provided objectIds/visibility flags.");return{renderGeometryBuffer:{data:g.buffer,elementCount:y},renderGeometryBufferItems:{objectIds:o,visibilities:s,ranges:{numVertices:I.numVerticesPerItem,numItems:I.numItems}}}}}const u=n(),l=n(),c=16777216/4;export{f as RenderCommandContext};
5
+ import{copy as e,invert as r,transpose as t}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as n}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{getContinuousIndexArray as a}from"../../../../../../geometry/support/Indices.js";import{PipelineCommand as i}from"../PipelineCommand.js";import{generateId as s}from"../utils.js";import{BoundingInfo as o}from"../../../../webgl-engine/lib/BoundingInfo.js";import{DefaultMaterial as d}from"../../../../webgl-engine/materials/DefaultMaterial.js";import{HUDMaterial as m}from"../../../../webgl-engine/materials/HUDMaterial.js";class f{constructor(e,r){this._mainThreadDelegate=r,this._bufferWriters=new Map,this.globalViewingMode=1===e}createRenderCommandBuffer(e=[],r=[]){return{commands:e,transferList:r}}mergeRenderCommandBuffers(e){const r=this.createRenderCommandBuffer();for(const t of e)null!=t&&(r.commands.push(...t.commands),r.transferList.push(...t.transferList));return r}async createTexture(e){const{data:r,parameters:t}=e();return await this._mainThreadDelegate.createTexture(r,t)}async releaseTexture(e){const r=this._destroyTexture(e);return new i(this,r,[])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:r,parameters:t}=e,n=s("material");let a,i;switch(r){case"default":a=new d(e.parameters,{spherical:this.globalViewingMode}),i={type:r,materialId:n,parameters:e.parameters};break;case"hud":a=new m(t,this.globalViewingMode),i={type:r,materialId:n,parameters:e.parameters}}return this._bufferWriters.set(n,a.createBufferWriter()),await this._mainThreadDelegate.createMaterial(i),n}destroyMaterial(e){return{commands:[{id:"destroy-material",materialId:e}],transferList:[]}}updateMaterial(e){return{commands:[{...e,id:"update-material"}],transferList:[]}}async createDirectRenderer(e){return await this._mainThreadDelegate.createDirectRenderer(e),e}async destroyDirectRenderer(e){await this._mainThreadDelegate.destroyDirectRenderer(e)}addDirectRendererGeometry(e,r,t){const{materialId:n}=r;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:a,renderGeometryBufferItems:i}=this.createRenderGeometryBuffer(r,t);return this.addDirectRendererGeometryBuffer(n,e,a,i,t)}updateDirectRendererGeometry(e,r,t){const{materialId:n}=r;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:a,renderGeometryBufferItems:i}=this.createRenderGeometryBuffer(r,t);return this.updateDirectRendererGeometryBuffer(n,e,a,i,t)}addDirectRendererGeometryBuffer(e,r,t,n,a){const{objectIds:i,visibilities:s}=n;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:r,renderGeometryBuffer:t,renderGeometryBufferItems:n,localOrigin:a}],transferList:[t.data,i.buffer,s.buffer]}}updateDirectRendererGeometryBuffer(e,r,t,n,a){const{objectIds:i,visibilities:s}=n;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:r,renderGeometryBuffer:t,renderGeometryBufferItems:n,localOrigin:a}],transferList:[t.data,i.buffer,s.buffer]}}removeDirectRendererGeometryBuffer(e,r){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:r}],transferList:[]}}async createLodRenderer(e){const r=s("lod-renderer"),t=new Set,n={levels:e.levels.map(e=>({components:e.components.map(e=>{const r=e.attributes.get("position");if(!r||0===r.indices.length)throw new Error("positions attribute expected");const n=3,i=a(r.indices.length/n),s=new o(i,n,r);if(null==this._bufferWriters.get(e.materialId))throw new Error("writer not found");const{renderGeometryBuffer:d}=this.createRenderGeometryBuffer(e,null);t.add(d.data);return{materialId:e.materialId,renderGeometryBuffer:d,boundingInfo:{bbMax:s.bbMax,bbMin:s.bbMin}}}),minScreenSpaceRadius:e.minScreenSpaceRadius}))};return await this._mainThreadDelegate.createLodRenderer(r,n,Array.from(t)),r}destroyLodRenderer(e){return{commands:[{id:"destroy-lod-renderer",rendererId:e}],transferList:[]}}addLodInstances(e,r,t){return{commands:[{id:"add-lod-instances",rendererId:e,groupId:r,data:t}],transferList:[t.featureIds.buffer,t.globalTransforms.buffer,t.localTransforms.buffer,t.visibility.buffer]}}removeLodInstances(e,r){return{commands:[{id:"remove-lod-instances",rendererId:e,groupId:r}],transferList:[]}}updateLodInstancesData(e,r,t){return{commands:[{id:"update-lod-instance-data",rendererId:e,groupId:r,globalTransforms:t}],transferList:[t.buffer]}}updateVisibility(e,r,t){return{commands:[{id:"update-visibility",rendererId:e,groupId:r,visibility:t}],transferList:[t.buffer]}}async dispatchRenderCommands(e){0!==e.commands.length&&await this._mainThreadDelegate.executeRenderCommands(e)}createRenderGeometryBuffer(n,a){const{materialId:i,visibilities:s,objectIds:o}=n,d=this._bufferWriters.get(i);if(null==d)throw new Error("no registered bufferWriter for material found");let m=null;if(n.transformation&&a)e(u,n.transformation),u[12]-=a[0],u[13]-=a[1],u[14]-=a[2],m=u;else{if(a)throw new Error("not implemented");n.transformation&&(m=n.transformation)}let f=null;m&&(r(l,u),t(l,l),f=l);const b=n.attributes,p=d.elementCount(b),y=d.layout.stride/4;p>Math.floor(c/y)&&console.warn("geometry with very large number of elements encountered");const g=d.layout.createBuffer(p),h=0,I=d.write(m,f,b,n.olidColor,g,h);if(null==I)throw new Error("Bufferwriter.write does not provide item information.");if(s.length!==I.numItems||o.length!==I.numItems)throw new Error("Unexpected mismatch between number of RenderGeometryBufferItems and provided objectIds/visibility flags.");return{renderGeometryBuffer:{data:g.buffer,elementCount:p},renderGeometryBufferItems:{objectIds:o,visibilities:s,ranges:{numVertices:I.numVerticesPerItem,numItems:I.numItems}}}}}const u=n(),l=n(),c=16777216/4;export{f as RenderCommandContext};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../../../Color.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{ONES as r}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ZEROS as i}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{defaultPrimitive as n}from"../../../../../../symbols/support/IconSymbol3DLayerResource.js";import{mixinColorAndOpacity as o}from"../../graphicUtils.js";import{namedAnchorToHUDMaterialAnchorPos as a}from"../../placementUtils.js";import{PipelineCommand as l}from"../PipelineCommand.js";import{computeTileCenterRenderCoordinates as s,readObjectIds as m,readMapCoordinates as c,projectToRenderCoordinates as d}from"../featureData/processingUtils.js";import{inputAttributesToAttributesMap as u}from"./symbolizationUtils.js";import{createTextureInfo as y,requiresHalfTexelOffset as p,defaultBoundingBox as _}from"../../../../support/engineContent/sdfPrimitives.js";import{Attribute as C}from"../../../../webgl-engine/lib/Attribute.js";class h{constructor(e,t){this._context=null,this._symbolLayer=null,this._draped=!1,this._loaded=!1,this._loadingPromise=null,this._iconTextureID=null,this._materialId=null,this._context=t,this._symbolLayer=e}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}_destroy(){this._iconTextureID=null}async _load(){const e=this._context.renderCommandContext,t=await e.createTexture(()=>y("circle"));this._iconTextureID=t;const r={anchorPosition:a.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:_,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:p("circle")};this._materialId=await e.createMaterial({type:"hud",parameters:r}),await e.createDirectRenderer(this._materialId),this._loaded=!0}async createAddCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:i}=r;if(null==t)throw new Error("expected material not to be null");const n=await this._createGeometry(e);if(null==n)return r.createPipelineCommand();const o=s(e,r);return r.createPipelineCommand(i.addDirectRendererGeometry(e.id,n,o))}async _createGeometry(e){const{_materialId:r,_context:i}=this,{mainThreadDelegate:n}=i,{featureCount:o}=e;if(0===o||null==r)return null;const a=m(e),l=c(e),s=await n.applyElevationAlignmentTo(l),y=d(s,i),p=new Float64Array([0,0,1]),_=new Float64Array([255,255,255,255]),h=new Float64Array([24,24]),f=new Float64Array([0,0,0,1]),g=new Float64Array([0,0]),x=new Float64Array([0]),w=new Uint32Array(o);for(let t=0;t<o;++t)w[t]=t;const b=new Uint32Array(o);for(let t=0;t<o;++t)b[t]=0;const I=[["position",new C(y,w,3,!0)],["normal",new C(p,b,3,!0)],["uv0",new C(g,b,2,!0)],["color",new C(_,b,4,!0)],["rotation",new C(x,b,1,!0)],["size",new C(h,b,2,!0)],["centerOffsetAndDistance",new C(f,b,4,!0)]],P=new Uint8Array(o);e.getVisibilityArray(P);return{attributes:u(I),objectAndLayerIdColor:void 0,transformation:t(),materialId:r,objectIds:a,visibilities:P}}async createRemoveCommand(e){const{_materialId:t,_context:r}=this,i=r.renderCommandContext;return null==t?r.createPipelineCommand():r.createPipelineCommand(i.removeDirectRendererGeometryBuffer(t,e))}async createUpdateVisibilityCommand(e){const{_materialId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const n=new Uint8Array(e.featureCount);return e.getVisibilityArray(n),r.createPipelineCommand(i.updateVisibility(t,e.id,n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_materialId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.updateMaterial({type:"hud",materialId:r,parameters:{color:this._getFillColor(),outlineColor:this._getOutlineColor()}}))}async createUpdateElevationCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:i}=r,{featureCount:n,id:o}=e;if(null==t||0===n)return r.createPipelineCommand();const a=await this._createGeometry(e);if(null==a)return r.createPipelineCommand();const l=s(e,r);return r.createPipelineCommand(i.updateDirectRendererGeometry(o,a,l))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let i;return i=null!=e?await r.releaseTexture(e):l.create(r),i.appendPipelineStateCommand(()=>this._destroy()),i}_getOutlineColor(){const t=this._getLayerOpacity(),r=this._symbolLayer,i=r?.outline?.color;if(null!=i){const r=e.toUnitRGB(i),n=i.a*t;return[r[0],r[1],r[2],n]}return[0,0,0,0]}_getFillColor(){if(f(this._getPrimitive()))return w;const e=null==this._getPrimitive(),t=this._symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}_getCombinedOpacity(e,t=x){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(t,i=x){const n=this._getCombinedOpacity(t,i),a=null!=t?e.toUnitRGB(t):r;return o(a,n)}_getPrimitive(){return g(this._symbolLayer)}}function f(e){return null!=e&&("cross"===e||"x"===e)}function g(e){return e.resource?.href?null:e.resource?.primitive??n}const x={hasIntrinsicColor:!1},w=i;export{h as IconSymbolLayerRenderer,x as defaultMaterialOptions,g as getPrimitive,f as isOutlineOnly,w as transparentUnit};
5
+ import e from"../../../../../../Color.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{ONES as r}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ZEROS as i}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{defaultPrimitive as n}from"../../../../../../symbols/support/IconSymbol3DLayerResource.js";import{mixinColorAndOpacity as o}from"../../graphicUtils.js";import{namedAnchorToHUDMaterialAnchorPos as a}from"../../placementUtils.js";import{PipelineCommand as l}from"../PipelineCommand.js";import{computeTileCenterRenderCoordinates as s,readObjectIds as m,readMapCoordinates as c,projectToRenderCoordinates as d}from"../featureData/processingUtils.js";import{inputAttributesToAttributesMap as u}from"./symbolizationUtils.js";import{createTextureInfo as y,requiresHalfTexelOffset as p,defaultBoundingBox as _}from"../../../../support/engineContent/sdfPrimitives.js";import{Attribute as C}from"../../../../webgl-engine/lib/Attribute.js";class h{constructor(e,t){this._context=null,this._symbolLayer=null,this._draped=!1,this._loaded=!1,this._loadingPromise=null,this._iconTextureID=null,this._materialId=null,this._context=t,this._symbolLayer=e}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}_destroy(){this._iconTextureID=null}async _load(){const e=this._context.renderCommandContext,t=await e.createTexture(()=>y("circle"));this._iconTextureID=t;const r={anchorPosition:a.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:_,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:p("circle")};this._materialId=await e.createMaterial({type:"hud",parameters:r}),await e.createDirectRenderer(this._materialId),this._loaded=!0}async createAddCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:i}=r;if(null==t)throw new Error("expected material not to be null");const n=await this._createGeometry(e);if(null==n)return r.createPipelineCommand();const o=s(e,r);return r.createPipelineCommand(i.addDirectRendererGeometry(e.id,n,o))}async _createGeometry(e){const{_materialId:r,_context:i}=this,{mainThreadDelegate:n}=i,{featureCount:o}=e;if(0===o||null==r)return null;const a=m(e),l=c(e),s=await n.applyElevationAlignmentTo(l),y=d(s,i),p=new Float64Array([0,0,1]),_=new Float64Array([255,255,255,255]),h=new Float64Array([24,24]),f=new Float64Array([0,0,0,1]),g=new Float64Array([0,0]),x=new Float64Array([0]),w=new Uint32Array(o);for(let t=0;t<o;++t)w[t]=t;const b=new Uint32Array(o);for(let t=0;t<o;++t)b[t]=0;const I=[["position",new C(y,w,3,!0)],["normal",new C(p,b,3,!0)],["uv0",new C(g,b,2,!0)],["color",new C(_,b,4,!0)],["rotation",new C(x,b,1,!0)],["size",new C(h,b,2,!0)],["centerOffsetAndDistance",new C(f,b,4,!0)]],P=new Uint8Array(o);e.getVisibilityArray(P);return{attributes:u(I),olidColor:void 0,transformation:t(),materialId:r,objectIds:a,visibilities:P}}async createRemoveCommand(e){const{_materialId:t,_context:r}=this,i=r.renderCommandContext;return null==t?r.createPipelineCommand():r.createPipelineCommand(i.removeDirectRendererGeometryBuffer(t,e))}async createUpdateVisibilityCommand(e){const{_materialId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const n=new Uint8Array(e.featureCount);return e.getVisibilityArray(n),r.createPipelineCommand(i.updateVisibility(t,e.id,n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_materialId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.updateMaterial({type:"hud",materialId:r,parameters:{color:this._getFillColor(),outlineColor:this._getOutlineColor()}}))}async createUpdateElevationCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:i}=r,{featureCount:n,id:o}=e;if(null==t||0===n)return r.createPipelineCommand();const a=await this._createGeometry(e);if(null==a)return r.createPipelineCommand();const l=s(e,r);return r.createPipelineCommand(i.updateDirectRendererGeometry(o,a,l))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let i;return i=null!=e?await r.releaseTexture(e):l.create(r),i.appendPipelineStateCommand(()=>this._destroy()),i}_getOutlineColor(){const t=this._getLayerOpacity(),r=this._symbolLayer,i=r?.outline?.color;if(null!=i){const r=e.toUnitRGB(i),n=i.a*t;return[r[0],r[1],r[2],n]}return[0,0,0,0]}_getFillColor(){if(f(this._getPrimitive()))return w;const e=null==this._getPrimitive(),t=this._symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}_getCombinedOpacity(e,t=x){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(t,i=x){const n=this._getCombinedOpacity(t,i),a=null!=t?e.toUnitRGB(t):r;return o(a,n)}_getPrimitive(){return g(this._symbolLayer)}}function f(e){return null!=e&&("cross"===e||"x"===e)}function g(e){return e.resource?.href?null:e.resource?.primitive??n}const x={hasIntrinsicColor:!1},w=i;export{h as IconSymbolLayerRenderer,x as defaultMaterialOptions,g as getPrimitive,f as isOutlineOnly,w as transparentUnit};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{identity as e,scale as t}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{ONES as i,fromArray as a,create as n}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as o}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{computeTranslationToOriginAndRotation as s}from"../../../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{create as l,size as m}from"../../../../../../geometry/support/aaBoundingBox.js";import{defaultPrimitive as d}from"../../../../../../symbols/support/ObjectSymbol3DLayerResource.js";import{objectSymbolLayerPrimitiveBoundingBox as c,objectSymbolLayerSizeWithResourceSize as p}from"../../../../../../symbols/support/symbolLayerUtils3D.js";import{computeObjectScale as u}from"../../graphicUtils.js";import{isValidPrimitive as h}from"../../primitiveObjectSymbolUtils.js";import{PipelineCommand as y}from"../PipelineCommand.js";import{readMapCoordinates as f,readObjectIds as _}from"../featureData/processingUtils.js";import{createPrimitiveGeometry as C}from"./primitiveObjectUtils.js";import{DefaultMaterialParameters as b,isTransparent as g}from"../../../../webgl-engine/materials/DefaultMaterial.js";import{schematicMRRFactors as x}from"../../../../webgl-engine/materials/pbrUtils.js";class v{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t={physicalBasedRenderingEnabled:!0,slicePlaneEnabled:!1,castShadows:!0},r=this._getLayerOpacity();let a={usePBR:t.physicalBasedRenderingEnabled,isSchematic:!0,mrrFactors:x,ambient:i,diffuse:i,hasSlicePlane:t.slicePlaneEnabled,castShadows:t.castShadows,layerOpacity:r,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(a.externalColor=o,a.isInstanced=!0,this._isPrimitive){const e=new b;e.layerOpacity=r,a={...a,cullFace:w(g(e))}}const n=await e.createMaterial({type:"default",parameters:a}),s=this._symbolLayer.resource;this._primitive=s&&h(s?.primitive)?s.primitive:d;const l=C(this._primitive,n);this._lodRendererId=await e.createLodRenderer(l),this._primitiveMaterialId=n,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,i=r.renderCommandContext,a=[];return null!=e&&a.push(i.destroyLodRenderer(e)),null!=t&&a.push(i.destroyMaterial(t)),new y(i,i.mergeRenderCommandBuffers(a),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:i}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:n}=e;if(0===n)return t.createPipelineCommand();const o=this._isPrimitive,s=this._primitive||d,u=l(c(s)),h=a(m(u)),y=a(p(h,{isPrimitive:o,width:100,depth:null,height:null})),C=new Float64Array(16*n),b=new Float64Array(16*n),g=f(e),x=await i.applyElevationAlignmentTo(g);for(let a=0;a<n;++a){const e=a,t=x[3*a+0],r=x[3*a+1],i=x[3*a+2],n=this._computeGlobalTransform(t,r,i,this._context.viewSpatialReference,T),o=this._computeLocalTransform(y,h,I);this._writeMatrixToTypedBuffer(C,e,o),this._writeMatrixToTypedBuffer(b,e,n)}const v=_(e),w=new Uint8Array(n);e.getVisibilityArray(w);const P={featureIds:new Uint32Array(v),visibility:w,localTransforms:C,globalTransforms:b};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,P))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const a=new Uint8Array(e.featureCount);return e.getVisibilityArray(a),r.createPipelineCommand(i.updateVisibility(t,e.id,a))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,i=this._primitiveMaterialId;if(null==i)return t.createPipelineCommand();const a=this._getLayerOpacity();let n={layerOpacity:a};if(this._isPrimitive){const e=new b;e.layerOpacity=a,n={...n,cullFace:w(g(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:i,parameters:n}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:i,mainThreadDelegate:a}=t,{featureCount:n,id:o}=e;if(null==r||0===n)return t.createPipelineCommand();const s=new Float64Array(16*n),l=f(e),m=await a.applyElevationAlignmentTo(l);for(let d=0;d<n;++d){const e=d,t=m[3*d+0],r=m[3*d+1],i=m[3*d+2],a=this._computeGlobalTransform(t,r,i,this._context.viewSpatialReference,T);this._writeMatrixToTypedBuffer(s,e,a)}return t.createPipelineCommand(i.updateLodInstancesData(r,o,s))}_writeMatrixToTypedBuffer(e,t,r){let i=16*t;for(let a=0;a<16;a++)e[i++]=r[a]}_computeGlobalTransform(e,t,r,i,a){return P[0]=e,P[1]=t,P[2]=r,s(i,P,a,this._context.renderSpatialReference),a}_computeLocalTransform(t,r,i){return e(i),this._applyObjectScale(t,r,i),i}_applyObjectScale(e,r,i){const a=u(e,e,r,this._context.renderCoordsHelper.unitInMeters);1===a[0]&&1===a[1]&&1===a[2]||t(i,i,a)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function w(e){return e?0:2}const P=n(),I=r(),T=r();export{v as ObjectSymbolLayerRenderer};
5
+ import{identity as e,scale as t}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{ONES as i,fromArray as a,create as n}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as o}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{computeTranslationToOriginAndRotation as s}from"../../../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{create as l,size as m}from"../../../../../../geometry/support/aaBoundingBox.js";import{defaultPrimitive as d}from"../../../../../../symbols/support/ObjectSymbol3DLayerResource.js";import{objectSymbolLayerPrimitiveBoundingBox as c,objectSymbolLayerSizeWithResourceSize as p}from"../../../../../../symbols/support/symbolLayerUtils3D.js";import{computeObjectScale as u}from"../../graphicUtils.js";import{isValidPrimitive as h}from"../../primitiveObjectSymbolUtils.js";import{PipelineCommand as y}from"../PipelineCommand.js";import{readMapCoordinates as f,readObjectIds as _}from"../featureData/processingUtils.js";import{createPrimitiveGeometry as C}from"./primitiveObjectUtils.js";import{DefaultMaterialParameters as b,isTransparent as g}from"../../../../webgl-engine/materials/DefaultMaterial.js";import{schematicMRRFactors as x}from"../../../../webgl-engine/materials/pbrUtils.js";class v{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t={physicalBasedRenderingEnabled:!0,slicePlaneEnabled:!1,castShadows:!0},r=this._getLayerOpacity();let a={usePBR:t.physicalBasedRenderingEnabled,isSchematic:!0,mrrFactors:x,ambient:i,diffuse:i,hasSlicePlane:t.slicePlaneEnabled,castShadows:t.castShadows,layerOpacity:r,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(a.externalColor=o,a.instanced=!0,this._isPrimitive){const e=new b;e.layerOpacity=r,a={...a,cullFace:w(g(e))}}const n=await e.createMaterial({type:"default",parameters:a}),s=this._symbolLayer.resource;this._primitive=s&&h(s?.primitive)?s.primitive:d;const l=C(this._primitive,n);this._lodRendererId=await e.createLodRenderer(l),this._primitiveMaterialId=n,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,i=r.renderCommandContext,a=[];return null!=e&&a.push(i.destroyLodRenderer(e)),null!=t&&a.push(i.destroyMaterial(t)),new y(i,i.mergeRenderCommandBuffers(a),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:i}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:n}=e;if(0===n)return t.createPipelineCommand();const o=this._isPrimitive,s=this._primitive||d,u=l(c(s)),h=a(m(u)),y=a(p(h,{isPrimitive:o,width:100,depth:null,height:null})),C=new Float64Array(16*n),b=new Float64Array(16*n),g=f(e),x=await i.applyElevationAlignmentTo(g);for(let a=0;a<n;++a){const e=a,t=x[3*a+0],r=x[3*a+1],i=x[3*a+2],n=this._computeGlobalTransform(t,r,i,this._context.viewSpatialReference,j),o=this._computeLocalTransform(y,h,T);this._writeMatrixToTypedBuffer(C,e,o),this._writeMatrixToTypedBuffer(b,e,n)}const v=_(e),w=new Uint8Array(n);e.getVisibilityArray(w);const P={featureIds:new Uint32Array(v),visibility:w,localTransforms:C,globalTransforms:b};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,P))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const a=new Uint8Array(e.featureCount);return e.getVisibilityArray(a),r.createPipelineCommand(i.updateVisibility(t,e.id,a))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,i=this._primitiveMaterialId;if(null==i)return t.createPipelineCommand();const a=this._getLayerOpacity();let n={layerOpacity:a};if(this._isPrimitive){const e=new b;e.layerOpacity=a,n={...n,cullFace:w(g(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:i,parameters:n}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:i,mainThreadDelegate:a}=t,{featureCount:n,id:o}=e;if(null==r||0===n)return t.createPipelineCommand();const s=new Float64Array(16*n),l=f(e),m=await a.applyElevationAlignmentTo(l);for(let d=0;d<n;++d){const e=d,t=m[3*d+0],r=m[3*d+1],i=m[3*d+2],a=this._computeGlobalTransform(t,r,i,this._context.viewSpatialReference,j);this._writeMatrixToTypedBuffer(s,e,a)}return t.createPipelineCommand(i.updateLodInstancesData(r,o,s))}_writeMatrixToTypedBuffer(e,t,r){let i=16*t;for(let a=0;a<16;a++)e[i++]=r[a]}_computeGlobalTransform(e,t,r,i,a){return P[0]=e,P[1]=t,P[2]=r,s(i,P,a,this._context.renderSpatialReference),a}_computeLocalTransform(t,r,i){return e(i),this._applyObjectScale(t,r,i),i}_applyObjectScale(e,r,i){const a=u(e,e,r,this._context.renderCoordsHelper.unitInMeters);1===a[0]&&1===a[1]&&1===a[2]||t(i,i,a)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function w(e){return e?0:2}const P=n(),T=r(),j=r();export{v as ObjectSymbolLayerRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../../../core/has.js";import{inputAttributesToAttributesMap as e}from"./symbolizationUtils.js";import{cloneAttributeData as t}from"../../../../webgl-engine/lib/AttributeArray.js";import{createPolySphereData as n,createConeGeometryData as i}from"../../../../webgl-engine/lib/GeometryUtil.js";function a(t,a){const o=(t,n,i=!1)=>({levels:t.map(t=>{const o=e(n(t.tesselation));i&&s(o);return{components:[{attributes:o,objectAndLayerIdColor:void 0,transformation:null,materialId:a,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:t.minScreenSpaceRadius}})});switch(t){case"cone":return o(r,e=>i(1,.5,e,!1),!0);case"sphere":return o([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],e=>n(.5,e,!0));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function s(e){const t=e,n=t.get("position").data,i=t.get("normal").data;if(i){const t=o(e,"normal").data;for(let e=0;e<i.length;e+=3){const n=i[e+1];t[e+1]=-i[e+2],t[e+2]=n}}if(n){const t=o(e,"position").data;for(let e=0;e<n.length;e+=3){const i=n[e+1];t[e+1]=-n[e+2],t[e+2]=i}}}function o(e,n){let i=e.get(n);return i&&!i.exclusive&&(i={...i,exclusive:!0,data:t(i.data)},e.set(n,i)),i}const r=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];export{a as createPrimitiveGeometry};
5
+ import"../../../../../../core/has.js";import{inputAttributesToAttributesMap as e}from"./symbolizationUtils.js";import{cloneAttributeData as t}from"../../../../webgl-engine/lib/AttributeArray.js";import{createPolySphereData as n,createConeGeometryData as i}from"../../../../webgl-engine/lib/GeometryUtil.js";function a(t,a){const o=(t,n,i=!1)=>({levels:t.map(t=>{const o=e(n(t.tesselation));i&&s(o);return{components:[{attributes:o,olidColor:void 0,transformation:null,materialId:a,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:t.minScreenSpaceRadius}})});switch(t){case"cone":return o(r,e=>i(1,.5,e,!1),!0);case"sphere":return o([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],e=>n(.5,e,!0));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function s(e){const t=e,n=t.get("position").data,i=t.get("normal").data;if(i){const t=o(e,"normal").data;for(let e=0;e<i.length;e+=3){const n=i[e+1];t[e+1]=-i[e+2],t[e+2]=n}}if(n){const t=o(e,"position").data;for(let e=0;e<n.length;e+=3){const i=n[e+1];t[e+1]=-n[e+2],t[e+2]=i}}}function o(e,n){let i=e.get(n);return i&&!i.exclusive&&(i={...i,exclusive:!0,data:t(i.data)},e.set(n,i)),i}const r=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];export{a as createPrimitiveGeometry};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{e as t}from"../../../../chunks/earcut.js";import e from"../../../../geometry/Extent.js";import i from"../../../../geometry/Polygon.js";import{getZeroIndexArray as r}from"../../../../geometry/support/Indices.js";import{leastSignificantAxis as o}from"../../../../geometry/support/polygonUtils.js";import{Attribute as n}from"../../webgl-engine/lib/Attribute.js";import{Geometry as a}from"../../webgl-engine/lib/Geometry.js";function u(e,i,r){const n=(i.length>0?i[0]:e.length/3)-1,a=o(e,n,r);if(2!==a){e=e.slice();for(let t=0;t<e.length;t+=3)e[t+a]=e[t+2]}return t(e,i,3)}function s(t){const e=[["position",new n(t.attributeData.position,t.indices,3,!0)]],i=r(t.indices.length);return null!=t.attributeData.colorFeature?e.push(["colorFeatureAttribute",new n([t.attributeData.colorFeature],i,1,!0)]):t.attributeData.color&&e.push(["color",new n(t.attributeData.color,i,4,!0)]),t.attributeData.uvMapSpace&&e.push(["uvMapSpace",new n(t.attributeData.uvMapSpace,t.indices,4,!0)]),t.attributeData.boundingRect&&e.push(["boundingRect",new n(t.attributeData.boundingRect,t.indices,9,!0)]),new a(t.material,e,t.mapPositions,0,t.attributeData.objectAndLayerIdColor)}function c(t,e=null){const i=[["position",new n(t.attributeData.position,t.indices,3,!0)],["uv0",new n(t.attributeData.uv0,t.indices,2,!0)]];return new a(t.material,i,t.mapPositions,0,e)}function p(t){switch(t.type){case"extent":if(t instanceof e)return i.fromExtent(t);break;case"polygon":return t}return null}class l{constructor(t,e,i){this.renderData=t,this.layerViewUid=e,this.graphicUid=i,this.outGeometries=new Array}}export{l as PolygonCreationDataBase,s as createColorGeometry,u as createIndices3D,c as createWaterGeometry,p as geometryAsPolygon};
5
+ import{e as t}from"../../../../chunks/earcut.js";import e from"../../../../geometry/Extent.js";import i from"../../../../geometry/Polygon.js";import{getZeroIndexArray as r}from"../../../../geometry/support/Indices.js";import{leastSignificantAxis as o}from"../../../../geometry/support/polygonUtils.js";import{Attribute as n}from"../../webgl-engine/lib/Attribute.js";import{Geometry as a}from"../../webgl-engine/lib/Geometry.js";function u(e,i,r){const n=(i.length>0?i[0]:e.length/3)-1,a=o(e,n,r);if(2!==a){e=e.slice();for(let t=0;t<e.length;t+=3)e[t+a]=e[t+2]}return t(e,i,3)}function s(t){const e=[["position",new n(t.attributeData.position,t.indices,3,!0)]],i=r(t.indices.length);return null!=t.attributeData.colorFeature?e.push(["colorFeatureAttribute",new n([t.attributeData.colorFeature],i,1,!0)]):t.attributeData.color&&e.push(["color",new n(t.attributeData.color,i,4,!0)]),t.attributeData.uvMapSpace&&e.push(["uvMapSpace",new n(t.attributeData.uvMapSpace,t.indices,4,!0)]),t.attributeData.boundingRect&&e.push(["boundingRect",new n(t.attributeData.boundingRect,t.indices,9,!0)]),new a(t.material,e,t.mapPositions,0,t.attributeData.olidColor)}function c(t,e=null){const i=[["position",new n(t.attributeData.position,t.indices,3,!0)],["uv0",new n(t.attributeData.uv0,t.indices,2,!0)]];return new a(t.material,i,t.mapPositions,0,e)}function l(t){switch(t.type){case"extent":if(t instanceof e)return i.fromExtent(t);break;case"polygon":return t}return null}class p{constructor(t,e,i){this.renderData=t,this.layerViewUid=e,this.graphicUid=i,this.outGeometries=new Array}}export{p as PolygonCreationDataBase,s as createColorGeometry,u as createIndices3D,c as createWaterGeometry,l as geometryAsPolygon};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{disposeMaybe as s}from"../../../../core/maybe.js";import t from"../../../../core/PooledArray.js";import{property as i}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as r}from"../../../../core/accessorSupport/decorators/subclass.js";import{d as n,l as o,g as a,u as l,e as h,k as c}from"../../../../chunks/vec32.js";import{create as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as u}from"../../../../chunks/vec42.js";import{create as m,offset as p,contains as g,containsPoint as _,set as f,positiveInfinity as P,equals as x}from"../../../../geometry/support/aaBoundingBox.js";import{create as b}from"../../../../geometry/support/plane.js";import{fromPoints as S}from"../../../../geometry/support/ray.js";import{PclTarget as w}from"./Intersector.js";import{PointCloudHighlights as z}from"./PointCloudHighlights.js";import{isDepth as R,isColorOrColorEmission as y}from"../../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SyncRenderPlugin as j}from"../../webgl-engine/effects/RenderPlugin.js";import{Default3D as q}from"../../webgl-engine/lib/DefaultVertexAttributeLocations.js";import{IntersectorResult as v}from"../../webgl-engine/lib/IntersectorResult.js";import{VertexArrayObject as A}from"../../webgl-engine/lib/VertexArrayObject.js";import{P as F,g as E}from"../../../../chunks/PointRenderer.glsl.js";import{PointRendererTechnique as M}from"../../webgl-engine/shaders/PointRendererTechnique.js";import{PointRendererTechniqueConfiguration as H}from"../../webgl-engine/shaders/PointRendererTechniqueConfiguration.js";import{BufferObject as I}from"../../../webgl/BufferObject.js";import{PrimitiveType as N,DataType as L}from"../../../webgl/enums.js";import{VertexElementDescriptor as O}from"../../../webgl/VertexElementDescriptor.js";const V=new Map([["positions",[new O("position",3,L.FLOAT,0,12)]],["colors",[new O("color",3,L.UNSIGNED_BYTE,0,3,!0)]]]);let B=class extends j{constructor(e){super(e),this.type=5,this.isGround=!1,this._passParameters=new F,this._highlights=new z({forEachNode:e=>this.forEachNode(e),addHighlight:(e,s,t)=>this._addHighlight(e,s,t),removeHighlight:(e,s)=>this._removeHighlight(e,s)}),this.produces=new Map([[2,e=>!(R(e)||8===e&&this._highlights.empty)],[3,e=>R(e)]]),this.layerViewUid="",this._slicePlaneEnabled=!1,this._configuration=new H,this._nodes=new t}destroy(){this._nodes.prune()}hasHighlight(e){return this._highlights.has(e)}initializeRenderContext(e){this._context=e,e.requestRender()}uninitializeRenderContext(){}intersect(e,s,t,i){const r=d(),f=d(),P=d(),x=d(),z=b(),R=e.camera.perScreenPixelRatio/2,y=e.camera.near;n(f,i,t);const j=1/o(f);a(f,f,j),l(P,f),u(z,f[0],f[1],f[2],-h(f,t));const q=new U,A=new U,F=new Array,E=m(),M=m(this._passParameters.clipBox);p(M,-t[0],-t[1],-t[2],M),this._nodes.forAll(o=>{const a=o.splatSize*this._passParameters.scaleFactor;let l=o.obb.minimumDistancePlane(z),d=o.obb.maximumDistancePlane(z);l-=C(a,l+y,this._passParameters,R,o.isLeaf),d-=C(a,d+y,this._passParameters,R,o.isLeaf);const u=d<0,m=null!=q.dist&&null!=A.dist&&q.dist<l*j&&A.dist>d*j;if(u||m)return;const b=T(a,d+y,this._passParameters,R,o.isLeaf);if(!o.obb.intersectRay(t,f,b))return;const S=b*b;o.obb.toAaBoundingBox(E),p(E,-t[0],-t[1],-t[2],E);const w=!g(M,E);n(x,o.origin,t);const v=o.coordinates.length/3;for(let n=0;n<v;n++){if(r[0]=x[0]+o.coordinates[3*n],r[1]=x[1]+o.coordinates[3*n+1],r[2]=x[2]+o.coordinates[3*n+2],w&&!_(M,r))continue;const l=h(r,f),d=c(r)-l*l;if(d>S)continue;let u=l+y;const m=C(a,u,this._passParameters,R,o.isLeaf);if(l-m<0)continue;u-=m;const p=T(a,u,this._passParameters,R,o.isLeaf);if(d>p*p)continue;const g=(l-m)*j,b=e=>(e.point=D(o,n,e.point),e.dist=g,e.normal=P,e.node=o,e.pointId=n,e.layerViewUid=this.layerViewUid,e);if((null==q.dist||g<q.dist)&&(null==s||s(t,i,g))&&b(q),0!==e.options.store&&(null==A.dist||g>A.dist)&&(null==s||s(t,i,g))&&b(A),2===e.options.store&&(null==s||s(t,i,g))){const e=new U;F.push(b(e))}}});const H=e=>{const{layerViewUid:s,node:t,pointId:i}=e;return new w(e.point,s,i,()=>this.createGraphic(t,i,e.point))},I=(e,s)=>{const t=H(s);e.set(this.type,t,s.dist,s.normal)};if(k(q)){const s=e.results.min;(null==s.distance||q.dist<s.distance)&&I(s,q)}if(k(A)&&0!==e.options.store){const s=e.results.max;(null==s.distance||A.dist>s.distance)&&I(s,A)}if(2===e.options.store){const s=S(t,i);for(const t of F){const i=new v(s);I(i,t),e.results.all.push(i)}}}acquireTechniques(e){const s=8===e.output;return 0!==this._nodes.length&&(y(e.output)||R(e.output)&&3===e.bind.slot||s)?(this._nodes.forAll(s=>this._initNode(e,s)),this._configuration.drawScreenSize=this._passParameters.drawScreenSpace,this._configuration.useFixedSizes=this._passParameters.useFixedSizes,this._configuration.hasSlicePlane=this._slicePlaneEnabled,this._configuration.hasOccludees=e.bind.hasOccludees,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasHighlightMixTexture=s&&null!=e.bind.highlightMixTexture,this._configuration.output=e.output,this._context.techniques.get(M,this._configuration)):null}render(e,s){const{rctx:t,bind:i,output:r}=e,n=t.bindTechnique(s,i,this._passParameters),o=8===r,a=i.highlight?.name??null;o&&!a||this._nodes.forAll(s=>{0===s.coordinates.length||o&&!s.highlightMap.has(a)||(n.bindDraw(i,this._passParameters,s),t.bindVAO(s.vao),o?this._renderHighlightFragments(e,s):t.drawArrays(N.POINTS,0,s.coordinates.length/3))})}_renderHighlightFragments(e,s){const{highlightMap:t}=s,{rctx:i,bind:r}=e,{highlight:n}=r;if(!n)return;const o=n.name,a=t.get(o);if(!a||0===a.length)return;const{highlightOrderMap:l,highlightLevel:h}=r;if(null==h)return;for(const g of t.keys())if(g!==o){const e=l.get(g);if(void 0!==e&&e>h)return}let c=0,d=a[0].componentIndex,u=d+1;const m=()=>{for(;c<a.length&&a[c].id.highlightName!==o;)d=a[c].componentIndex,++c;u=d+1};m();const p=(e,s)=>{const t=s-e;t>0&&i.drawArrays(N.POINTS,e,t)};for(;c<a.length;){const e=a[c];if(e.id.highlightName!==o){p(d,u),++c,m();continue}const s=e.componentIndex;s!==u&&(p(d,u),d=s),u=s+1,++c}p(d,u)}set useFixedSizes(e){this._passParameters.useFixedSizes!==e&&(this._passParameters.useFixedSizes=e,this._requestRender())}get useFixedSizes(){return this._passParameters.useFixedSizes}set scaleFactor(e){this._passParameters.scaleFactor!==e&&(this._passParameters.scaleFactor=e,this._requestRender())}get scaleFactor(){return this._passParameters.scaleFactor}set minSizePx(e){this._passParameters.minSizePx!==e&&(this._passParameters.minSizePx=e,this._requestRender())}get minSizePx(){return this._passParameters.minSizePx}set useRealWorldSymbolSizes(e){this._passParameters.useRealWorldSymbolSizes!==e&&(this._passParameters.useRealWorldSymbolSizes=e,this._requestRender())}get useRealWorldSymbolSizes(){return this._passParameters.useRealWorldSymbolSizes}set size(e){this._passParameters.size!==e&&(this._passParameters.size=e,this._requestRender())}get size(){return this._passParameters.size}set sizePx(e){this._passParameters.sizePx!==e&&(this._passParameters.sizePx=e,this._requestRender())}get sizePx(){return this._passParameters.sizePx}set clippingBox(e){f(this._passParameters.clipBox,e||P)}get _clippingEnabled(){return!x(this._passParameters.clipBox,P,(e,s)=>e===s)}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this._requestRender())}addNode(e){this._nodes.push(e),this._highlights.nodeAdded(e),this._requestRender()}removeNode(e){let t=null;return this._nodes.filterInPlace(i=>i.id!==e||(t=i,i.vao=s(i.vao),this._highlights.nodeRemoved(i),!1)),this._requestRender(),t}forEachNode(e){this._nodes.forAll(e)}removeAll(){this._nodes.forAll(e=>e.vao=s(e.vao)),this._highlights.removeAll(),this._nodes.clear(),this._requestRender()}highlight(e,s){return this._highlights.add(e,s)}_addHighlight(e,s,t){e.addHighlight(s,t),this._requestRender()}_removeHighlight(e,s){e.removeHighlight(s),this._requestRender()}_initNode(e,s){s.vao??=new A(e.rctx,q,V,new Map([["positions",I.createVertex(e.rctx,35044,s.coordinates)],["colors",I.createVertex(e.rctx,35044,s.rgb)]]))}_requestRender(){this._context&&this._context.requestRender()}};function T(e,s,t,i,r){if(t.drawScreenSpace)return t.fixedSize*s*i;const n=E(r)*s*i;return t.useFixedSizes?Math.min(t.fixedSize/2,n):t.screenMinSize>0?Math.min(Math.max(t.screenMinSize*s*i,e/2),n):Math.min(e/2,n)}function C(e,s,t,i,r){return t.drawScreenSpace?0:T(e,s,t,i,r)}function D(e,s,t){return null==t&&(t=d()),t[0]=e.origin[0]+e.coordinates[3*s],t[1]=e.origin[1]+e.coordinates[3*s+1],t[2]=e.origin[2]+e.coordinates[3*s+2],t}e([i({constructOnly:!0})],B.prototype,"createGraphic",void 0),B=e([r("esri.views.3d.layers.i3s.PointCloudRenderer")],B);class U{constructor(){this.node=null,this.pointId=null,this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}function k(e){return null!=e.dist&&null!=e.point&&null!=e.pointId&&null!=e.node}export{B as PointCloudRenderer};
5
+ import{__decorate as e}from"tslib";import{disposeMaybe as s}from"../../../../core/maybe.js";import t from"../../../../core/PooledArray.js";import{property as i}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as r}from"../../../../core/accessorSupport/decorators/subclass.js";import{d as n,l as o,g as a,u as l,e as h,k as c}from"../../../../chunks/vec32.js";import{create as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as u}from"../../../../chunks/vec42.js";import{create as m,offset as p,contains as g,containsPoint as _,set as f,positiveInfinity as P,equals as x}from"../../../../geometry/support/aaBoundingBox.js";import{create as b}from"../../../../geometry/support/plane.js";import{fromPoints as S}from"../../../../geometry/support/ray.js";import{PclTarget as w}from"./Intersector.js";import{PointCloudHighlights as z}from"./PointCloudHighlights.js";import{isDepth as R,isColorOrColorEmission as y}from"../../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SyncRenderPlugin as j}from"../../webgl-engine/effects/RenderPlugin.js";import{IntersectorResult as v}from"../../webgl-engine/lib/IntersectorResult.js";import{VertexArrayObject as q}from"../../webgl-engine/lib/VertexArrayObject.js";import{P as A,g as F}from"../../../../chunks/PointRenderer.glsl.js";import{PointRendererTechnique as E,positionsLayout as H,colorsLayout as M}from"../../webgl-engine/shaders/PointRendererTechnique.js";import{PointRendererTechniqueConfiguration as I}from"../../webgl-engine/shaders/PointRendererTechniqueConfiguration.js";import{BufferObject as N}from"../../../webgl/BufferObject.js";import{PrimitiveType as V}from"../../../webgl/enums.js";import{VertexBuffer as B}from"../../../webgl/VertexBuffer.js";let L=class extends j{constructor(e){super(e),this.type=5,this.isGround=!1,this._passParameters=new A,this._highlights=new z({forEachNode:e=>this.forEachNode(e),addHighlight:(e,s,t)=>this._addHighlight(e,s,t),removeHighlight:(e,s)=>this._removeHighlight(e,s)}),this.produces=new Map([[2,e=>!(R(e)||8===e&&this._highlights.empty)],[3,e=>R(e)]]),this.layerViewUid="",this._slicePlaneEnabled=!1,this._configuration=new I,this._nodes=new t}destroy(){this._nodes.prune()}hasHighlight(e){return this._highlights.has(e)}initializeRenderContext(e){this._context=e,e.requestRender()}uninitializeRenderContext(){}intersect(e,s,t,i){const r=d(),f=d(),P=d(),x=d(),z=b(),R=e.camera.perScreenPixelRatio/2,y=e.camera.near;n(f,i,t);const j=1/o(f);a(f,f,j),l(P,f),u(z,f[0],f[1],f[2],-h(f,t));const q=new k,A=new k,F=new Array,E=m(),H=m(this._passParameters.clipBox);p(H,-t[0],-t[1],-t[2],H),this._nodes.forAll(o=>{const a=o.splatSize*this._passParameters.scaleFactor;let l=o.obb.minimumDistancePlane(z),d=o.obb.maximumDistancePlane(z);l-=T(a,l+y,this._passParameters,R,o.isLeaf),d-=T(a,d+y,this._passParameters,R,o.isLeaf);const u=d<0,m=null!=q.dist&&null!=A.dist&&q.dist<l*j&&A.dist>d*j;if(u||m)return;const b=O(a,d+y,this._passParameters,R,o.isLeaf);if(!o.obb.intersectRay(t,f,b))return;const S=b*b;o.obb.toAaBoundingBox(E),p(E,-t[0],-t[1],-t[2],E);const w=!g(H,E);n(x,o.origin,t);const v=o.coordinates.length/3;for(let n=0;n<v;n++){if(r[0]=x[0]+o.coordinates[3*n],r[1]=x[1]+o.coordinates[3*n+1],r[2]=x[2]+o.coordinates[3*n+2],w&&!_(H,r))continue;const l=h(r,f),d=c(r)-l*l;if(d>S)continue;let u=l+y;const m=T(a,u,this._passParameters,R,o.isLeaf);if(l-m<0)continue;u-=m;const p=O(a,u,this._passParameters,R,o.isLeaf);if(d>p*p)continue;const g=(l-m)*j,b=e=>(e.point=C(o,n,e.point),e.dist=g,e.normal=P,e.node=o,e.pointId=n,e.layerViewUid=this.layerViewUid,e);if((null==q.dist||g<q.dist)&&(null==s||s(t,i,g))&&b(q),0!==e.options.store&&(null==A.dist||g>A.dist)&&(null==s||s(t,i,g))&&b(A),2===e.options.store&&(null==s||s(t,i,g))){const e=new k;F.push(b(e))}}});const M=e=>{const{layerViewUid:s,node:t,pointId:i}=e;return new w(e.point,s,i,()=>this.createGraphic(t,i,e.point))},I=(e,s)=>{const t=M(s);e.set(this.type,t,s.dist,s.normal)};if(U(q)){const s=e.results.min;(null==s.distance||q.dist<s.distance)&&I(s,q)}if(U(A)&&0!==e.options.store){const s=e.results.max;(null==s.distance||A.dist>s.distance)&&I(s,A)}if(2===e.options.store){const s=S(t,i);for(const t of F){const i=new v(s);I(i,t),e.results.all.push(i)}}}acquireTechniques(e){const s=8===e.output;return 0!==this._nodes.length&&(y(e.output)||R(e.output)&&3===e.bind.slot||s)?(this._nodes.forAll(s=>this._initNode(e,s)),this._configuration.drawScreenSize=this._passParameters.drawScreenSpace,this._configuration.useFixedSizes=this._passParameters.useFixedSizes,this._configuration.hasSlicePlane=this._slicePlaneEnabled,this._configuration.hasOccludees=e.bind.hasOccludees,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasHighlightMixTexture=s&&null!=e.bind.highlightMixTexture,this._configuration.output=e.output,this._context.techniques.get(E,this._configuration)):null}render(e,s){const{rctx:t,bind:i,output:r}=e,n=t.bindTechnique(s,i,this._passParameters),o=8===r,a=i.highlight?.name??null;o&&!a||this._nodes.forAll(s=>{0===s.coordinates.length||null==s.vao||o&&!s.highlightMap.has(a)||(n.assertCompatibleVertexAttributeLocations(s.vao),n.bindDraw(i,this._passParameters,s),t.bindVAO(s.vao),o?this._renderHighlightFragments(e,s):t.drawArrays(V.POINTS,0,s.coordinates.length/3))})}_renderHighlightFragments(e,s){const{highlightMap:t}=s,{rctx:i,bind:r}=e,{highlight:n}=r;if(!n)return;const o=n.name,a=t.get(o);if(!a||0===a.length)return;const{highlightOrderMap:l,highlightLevel:h}=r;if(null==h)return;for(const g of t.keys())if(g!==o){const e=l.get(g);if(void 0!==e&&e>h)return}let c=0,d=a[0].componentIndex,u=d+1;const m=()=>{for(;c<a.length&&a[c].id.highlightName!==o;)d=a[c].componentIndex,++c;u=d+1};m();const p=(e,s)=>{const t=s-e;t>0&&i.drawArrays(V.POINTS,e,t)};for(;c<a.length;){const e=a[c];if(e.id.highlightName!==o){p(d,u),++c,m();continue}const s=e.componentIndex;s!==u&&(p(d,u),d=s),u=s+1,++c}p(d,u)}set useFixedSizes(e){this._passParameters.useFixedSizes!==e&&(this._passParameters.useFixedSizes=e,this._requestRender())}get useFixedSizes(){return this._passParameters.useFixedSizes}set scaleFactor(e){this._passParameters.scaleFactor!==e&&(this._passParameters.scaleFactor=e,this._requestRender())}get scaleFactor(){return this._passParameters.scaleFactor}set minSizePx(e){this._passParameters.minSizePx!==e&&(this._passParameters.minSizePx=e,this._requestRender())}get minSizePx(){return this._passParameters.minSizePx}set useRealWorldSymbolSizes(e){this._passParameters.useRealWorldSymbolSizes!==e&&(this._passParameters.useRealWorldSymbolSizes=e,this._requestRender())}get useRealWorldSymbolSizes(){return this._passParameters.useRealWorldSymbolSizes}set size(e){this._passParameters.size!==e&&(this._passParameters.size=e,this._requestRender())}get size(){return this._passParameters.size}set sizePx(e){this._passParameters.sizePx!==e&&(this._passParameters.sizePx=e,this._requestRender())}get sizePx(){return this._passParameters.sizePx}set clippingBox(e){f(this._passParameters.clipBox,e||P)}get _clippingEnabled(){return!x(this._passParameters.clipBox,P,(e,s)=>e===s)}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this._requestRender())}addNode(e){this._nodes.push(e),this._highlights.nodeAdded(e),this._requestRender()}removeNode(e){let t=null;return this._nodes.filterInPlace(i=>i.id!==e||(t=i,i.vao=s(i.vao),this._highlights.nodeRemoved(i),!1)),this._requestRender(),t}forEachNode(e){this._nodes.forAll(e)}removeAll(){this._nodes.forAll(e=>e.vao=s(e.vao)),this._highlights.removeAll(),this._nodes.clear(),this._requestRender()}highlight(e,s){return this._highlights.add(e,s)}_addHighlight(e,s,t){e.addHighlight(s,t),this._requestRender()}_removeHighlight(e,s){e.removeHighlight(s),this._requestRender()}_initNode(e,s){s.vao??=new q(e.rctx,new Map([["positions",new B(H,N.createVertex(e.rctx,35044,s.coordinates))],["colors",new B(M,N.createVertex(e.rctx,35044,s.rgb))]]))}_requestRender(){this._context&&this._context.requestRender()}};function O(e,s,t,i,r){if(t.drawScreenSpace)return t.fixedSize*s*i;const n=F(r)*s*i;return t.useFixedSizes?Math.min(t.fixedSize/2,n):t.screenMinSize>0?Math.min(Math.max(t.screenMinSize*s*i,e/2),n):Math.min(e/2,n)}function T(e,s,t,i,r){return t.drawScreenSpace?0:O(e,s,t,i,r)}function C(e,s,t){return null==t&&(t=d()),t[0]=e.origin[0]+e.coordinates[3*s],t[1]=e.origin[1]+e.coordinates[3*s+1],t[2]=e.origin[2]+e.coordinates[3*s+2],t}e([i({constructOnly:!0})],L.prototype,"createGraphic",void 0),L=e([r("esri.views.3d.layers.i3s.PointCloudRenderer")],L);class k{constructor(){this.node=null,this.pointId=null,this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}function U(e){return null!=e.dist&&null!=e.point&&null!=e.pointId&&null!=e.node}export{L as PointCloudRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/has.js";import{clamp as t}from"../../../../core/mathUtils.js";import{fromMat4 as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{identity as i,copy as s,set as r,multiply as n,scale as l,translate as a,rotateZ as u,rotateX as c,rotateY as f}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{i as m,c as d}from"../../../../chunks/vec32.js";import{ones as z,zeros as v,create as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{c as y}from"../../../../chunks/vec42.js";import{ones as S}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{meterIn as b}from"../../../../renderers/support/lengthUtils.js";import{isString as x,isStringOrNull as g,isNumber as C}from"../../../../support/guards.js";import{debugFlags as k}from"../../support/debugFlags.js";import{olidEnabled as w}from"../../webgl-engine/effects/geometry/olidUtils.js";import{NoParameters as j}from"../../../webgl/NoParameters.js";class V{constructor(t){this.field=t}}class M extends V{constructor(t){super(t),this.minSize=[0,0,0],this.maxSize=[0,0,0],this.offset=[0,0,0],this.factor=[0,0,0],this.type=[0,0,0],this.fallback=[0,0,0]}}class I extends V{constructor(t){super(t),this.colors=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.values=[0,0,0,0,0,0,0,0],this.fallback=[0,0,0,0]}}class N extends V{constructor(t,o=0){super(t),this.fallback=o,this.values=[0,0,0,0,0,0,0,0],this.opacityValues=[0,0,0,0,0,0,0,0]}}class P extends V{constructor(t){super(t),this.offset=[0,0,0],this.factor=[1,1,1],this.type=[0,0,0]}}class T{}function U(t){return null!=t}function D(t,o){t&&t.push(o)}function F(t,o,e,i=p()){const s=t||0,r=o||0,n=e||0;return 0!==s&&u(i,i,-s/180*Math.PI),0!==r&&c(i,i,r/180*Math.PI),0!==n&&f(i,i,n/180*Math.PI),i}function A(t,o,e,i,s){const r=t.minSize,n=t.maxSize;if(t.useSymbolValue){const t=i.symbolSize[e];return o.minSize[e]=t,o.maxSize[e]=t,o.offset[e]=o.minSize[e],o.factor[e]=0,o.type[e]=1,!0}if(U(t.field))return U(t.stops)?2===t.stops.length&&C(t.stops[0].size)&&C(t.stops[1].size)?(R(t.stops[0].size,t.stops[1].size,t.stops[0].value,t.stops[1].value,o,e),o.type[e]=1,!0):(D(s,"Could not convert size info: stops only supported with 2 elements"),!1):C(r)&&C(n)&&U(t.minDataValue)&&U(t.maxDataValue)?(R(r,n,t.minDataValue,t.maxDataValue,o,e),o.type[e]=1,!0):"unknown"===t.valueUnit?(D(s,"Could not convert size info: proportional size not supported"),!1):null!=b[t.valueUnit]?(o.minSize[e]=-1/0,o.maxSize[e]=1/0,o.offset[e]=0,o.factor[e]=1/b[t.valueUnit],o.type[e]=1,!0):(D(s,"Could not convert size info: scale-dependent size not supported"),!1);if(!U(t.field)){if(t.stops?.[0]&&C(t.stops[0].size))return o.minSize[e]=t.stops[0].size,o.maxSize[e]=t.stops[0].size,o.offset[e]=o.minSize[e],o.factor[e]=0,o.type[e]=1,!0;if(C(r))return o.minSize[e]=r,o.maxSize[e]=r,o.offset[e]=r,o.factor[e]=0,o.type[e]=1,!0}return D(s,"Could not convert size info: unsupported variant of sizeInfo"),!1}function R(t,o,e,i,s,r){const n=Math.abs(i-e)>0?(o-t)/(i-e):0;s.minSize[r]=n>0?t:o,s.maxSize[r]=n>0?o:t,s.offset[r]=t-e*n,s.factor[r]=n}function E(t,o,e,i){if(t.normalizationField||t.valueRepresentation)return D(i,"Could not convert size info: unsupported property"),null;if(!g(t.field))return D(i,"Could not convert size info: field is not a string"),null;if(o.size){if(t.field)if(o.size.field){if(t.field!==o.size.field)return D(i,"Could not convert size info: multiple fields in use"),null}else o.size.field=t.field}else o.size=new M(t.field),d(o.size.fallback,e.fallbackSize);let s;switch(t.axis){case"width":return s=A(t,o.size,0,e,i),s?o:null;case"height":return s=A(t,o.size,2,e,i),s?o:null;case"depth":return s=A(t,o.size,1,e,i),s?o:null;case"width-and-depth":return s=A(t,o.size,0,e,i),s&&A(t,o.size,1,e,i),s?o:null;case null:case void 0:case"all":return s=A(t,o.size,0,e,i),s=s&&A(t,o.size,1,e,i),s=s&&A(t,o.size,2,e,i),s?o:null;default:return D(i,`Could not convert size info: unknown axis "${t.axis}""`),null}}function _(t,o,e){for(let s=0;s<3;++s){let e=o.unitInMeters;1===t.type[s]&&(e*=o.modelSize[s],t.type[s]=2),t.minSize[s]=t.minSize[s]/e,t.maxSize[s]=t.maxSize[s]/e,t.offset[s]=t.offset[s]/e,t.factor[s]=t.factor[s]/e}let i;if(0!==t.type[0])i=0;else if(0!==t.type[1])i=1;else{if(0===t.type[2])return D(e,"No size axis contains a valid size or scale"),!1;i=2}for(let s=0;s<3;++s)0===t.type[s]&&(t.minSize[s]=t.minSize[i],t.maxSize[s]=t.maxSize[i],t.offset[s]=t.offset[i],t.factor[s]=t.factor[i],t.type[s]=t.type[i]);return!0}function q(t,o,e){t[4*o]=e.r/255,t[4*o+1]=e.g/255,t[4*o+2]=e.b/255,t[4*o+3]=e.a}function $(t,o,e,i){if(t.normalizationField)return D(i,"Could not convert color info: unsupported property"),null;if(x(t.field)){if(!t.stops)return D(i,"Could not convert color info: missing stops or colors"),null;{if(t.stops.length>8)return D(i,"Could not convert color info: too many color stops"),null;o.color=new I(t.field);const s=t.stops;for(let t=0;t<8;++t){const e=s[Math.min(t,s.length-1)];o.color.values[t]=e.value,q(o.color.colors,t,e.color)}y(o.color.fallback,e.fallbackColor)}}else{if(!(t.stops&&t.stops.length>=0))return D(i,"Could not convert color info: no field and no colors/stops"),null;{const i=t.stops&&t.stops.length>=0&&t.stops[0].color;o.color=new I(null);for(let t=0;t<8;t++)o.color.values[t]=1/0,q(o.color.colors,t,i);y(o.color.fallback,e.fallbackColor)}}return o}function B(t,o,e,i){if(t.normalizationField)return D(i,"Could not convert opacity info: unsupported property"),null;if(x(t.field)){if(!t.stops)return D(i,"Could not convert opacity info: missing stops or opacities"),null;{if(t.stops.length>8)return D(i,"Could not convert opacity info: too many opacity stops"),null;o.opacity=new N(t.field,e.fallbackColor[3]);const s=t.stops;for(let t=0;t<8;++t){const e=s[Math.min(t,s.length-1)];o.opacity.values[t]=e.value,o.opacity.opacityValues[t]=e.opacity}}}else{if(!(t.stops&&t.stops.length>=0))return D(i,"Could not convert opacity info: no field and no opacities/stops"),null;{const i=t.stops&&t.stops.length>=0?t.stops[0].opacity:0;o.opacity={field:null,values:[0,0,0,0,0,0,0,0],opacityValues:[0,0,0,0,0,0,0,0],fallback:e.fallbackColor[3]};for(let t=0;t<8;t++)o.opacity.values[t]=1/0,o.opacity.opacityValues[t]=i}}return o}function L(t,o,e){const i=2===e&&"arithmetic"===t.rotationType;o.offset[e]=i?90:0,o.factor[e]=i?-1:1,o.type[e]=1}function O(t,o,e){if(!x(t.field))return D(e,"Could not convert rotation info: field is not a string"),null;if(o.rotation){if(t.field)if(o.rotation.field){if(t.field!==o.rotation.field)return D(e,"Could not convert rotation info: multiple fields in use"),null}else o.rotation.field=t.field}else o.rotation={field:t.field,offset:[0,0,0],factor:[1,1,1],type:[0,0,0]};switch(t.axis){case"tilt":return L(t,o.rotation,0),o;case"roll":return L(t,o.rotation,1),o;case null:case void 0:case"heading":return L(t,o.rotation,2),o;default:return D(e,`Could not convert rotation info: unknown axis "${t.axis}""`),null}}class G{constructor({supports:t,modelSize:o,symbolSize:e,unitInMeters:i,anchor:s,scale:r,rotation:n,fallbackColor:l,fallbackSize:a}){this.supports=t,this.modelSize=o??z(),this.symbolSize=e??z(),this.unitInMeters=i??1,this.anchor=s??v(),this.scale=r??z(),this.rotation=n??v(),this.fallbackColor=l??S(),this.fallbackSize=a??z()}}function H(t,o,e){if(!t)return null;const i=t.reduce((t,i)=>{if(!t)return t;if(i.valueExpression)return D(e,"Could not convert visual variables: arcade expressions not supported"),null;switch(i.type){case"size":return o.supports.size?E(i,t,o,e):t;case"color":return o.supports.color?$(i,t,o,e):t;case"opacity":return o.supports.opacity?B(i,t,o,e):null;case"rotation":return o.supports.rotation?O(i,t,e):t;default:return null}},new T);return!(t.length>0&&i)||i.size||i.color||i.opacity||i.rotation?i?.size&&!_(i.size,o,e)?null:i:null}class J{constructor(t,o,e){this.visualVariables=t,this.materialParameters=o,this.requiresShaderTransformation=e}}function K(t,o){if(!t)return null;if(w())return null;if(k.TESTS_DISABLE_FAST_UPDATES)return null;const e=H(t.visualVariables,o);return e?new J(e,Y(e,o),!!e.size):null}function Q(t,o,e){if(!o||!t)return!1;const i=t.visualVariables,s=H(o.visualVariables,e);return!!s&&(!!(W(i.size,s.size,"size")&&W(i.color,s.color,"color")&&W(i.rotation,s.rotation,"rotation")&&W(i.opacity,s.opacity,"opacity"))&&(t.visualVariables=s,t.materialParameters=Y(s,e),t.requiresShaderTransformation=!!s.size,!0))}function W(t,o,e){if(!!t!=!!o)return!1;if(t&&t.field!==o?.field)return!1;if(t&&"rotation"===e){const e=t,i=o;for(let t=0;t<3;t++)if(e.type[t]!==i.type[t]||e.offset[t]!==i.offset[t]||e.factor[t]!==i.factor[t])return!1}return!0}class X extends j{constructor(t){super(),this.vvSize=t?.size??null,this.vvColor=t?.color??null,this.vvOpacity=t?.opacity??null}}function Y(t,s){const r=new X(t);return r.vvSize&&(r.vvSymbolAnchor=s.anchor,i(st),F(s.rotation[2],s.rotation[0],s.rotation[1],st),r.vvSymbolRotationMatrix=r.vvSymbolRotationMatrix||e(),o(r.vvSymbolRotationMatrix,st)),r}function Z(t,o,e){if(!t.vvSize)return e;s(et,e);const i=t.vvSymbolRotationMatrix;return r(st,i[0],i[1],i[2],0,i[3],i[4],i[5],0,i[6],i[7],i[8],0,0,0,0,1),n(et,et,st),tt(it,t,o),l(et,et,it),a(et,et,t.vvSymbolAnchor),et}function tt(o,e,i){if(!e.vvSize)return m(o,1,1,1),o;if(Number.isNaN(i[0]))return d(o,e.vvSize.fallback);for(let s=0;s<3;++s){const r=e.vvSize.offset[s]+i[0]*e.vvSize.factor[s];o[s]=t(r,e.vvSize.minSize[s],e.vvSize.maxSize[s])}return o}function ot(t,o){const e=null==t?0:o.attributes[t];return"number"==typeof e&&isFinite(e)?e:NaN}const et=p(),it=h(),st=p();export{G as ConvertOptions,I as FastColorInfo,N as FastOpacityInfo,P as FastRotationInfo,M as FastSizeInfo,J as FastSymbolUpdatesState,T as FastVisualVariables,X as VisualVariablesParameters,H as convertVisualVariables,Z as evaluateModelTransform,tt as evaluateModelTransformScale,ot as getAttributeValue,Y as getMaterialParameters,K as initFastSymbolUpdatesState,Q as updateFastSymbolUpdatesState};
5
+ import"../../../../core/has.js";import{clamp as t}from"../../../../core/mathUtils.js";import{fromMat4 as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{identity as i,copy as s,set as r,multiply as n,scale as l,translate as a,rotateZ as u,rotateX as c,rotateY as f}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{i as m,c as d}from"../../../../chunks/vec32.js";import{ones as z,zeros as v,create as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{c as y}from"../../../../chunks/vec42.js";import{ones as S}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{meterIn as b}from"../../../../renderers/support/lengthUtils.js";import{isString as x,isStringOrNull as g,isNumber as C}from"../../../../support/guards.js";import{debugFlags as k}from"../../support/debugFlags.js";import{olidEnabled as V}from"../../webgl-engine/effects/geometry/olidUtils.js";import{NoParameters as w}from"../../../webgl/NoParameters.js";class j{constructor(t){this.field=t}}class M extends j{constructor(t){super(t),this.minSize=[0,0,0],this.maxSize=[0,0,0],this.offset=[0,0,0],this.factor=[0,0,0],this.type=[0,0,0],this.fallback=[0,0,0]}}class I extends j{constructor(t){super(t),this.colors=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.values=[0,0,0,0,0,0,0,0],this.fallback=[0,0,0,0]}}class N extends j{constructor(t,o=0){super(t),this.fallback=o,this.values=[0,0,0,0,0,0,0,0],this.opacityValues=[0,0,0,0,0,0,0,0]}}class P extends j{constructor(t){super(t),this.offset=[0,0,0],this.factor=[1,1,1],this.type=[0,0,0]}}class T{}function U(t){return null!=t}function D(t,o){t&&t.push(o)}function F(t,o,e,i=p()){const s=t||0,r=o||0,n=e||0;return 0!==s&&u(i,i,-s/180*Math.PI),0!==r&&c(i,i,r/180*Math.PI),0!==n&&f(i,i,n/180*Math.PI),i}function A(t,o,e,i,s){const r=t.minSize,n=t.maxSize;if(t.useSymbolValue){const t=i.symbolSize[e];return o.minSize[e]=t,o.maxSize[e]=t,o.offset[e]=o.minSize[e],o.factor[e]=0,o.type[e]=1,!0}if(U(t.field))return U(t.stops)?2===t.stops.length&&C(t.stops[0].size)&&C(t.stops[1].size)?(R(t.stops[0].size,t.stops[1].size,t.stops[0].value,t.stops[1].value,o,e),o.type[e]=1,!0):(D(s,"Could not convert size info: stops only supported with 2 elements"),!1):C(r)&&C(n)&&U(t.minDataValue)&&U(t.maxDataValue)?(R(r,n,t.minDataValue,t.maxDataValue,o,e),o.type[e]=1,!0):"unknown"===t.valueUnit?(D(s,"Could not convert size info: proportional size not supported"),!1):null!=b[t.valueUnit]?(o.minSize[e]=-1/0,o.maxSize[e]=1/0,o.offset[e]=0,o.factor[e]=1/b[t.valueUnit],o.type[e]=1,!0):(D(s,"Could not convert size info: scale-dependent size not supported"),!1);if(!U(t.field)){if(t.stops?.[0]&&C(t.stops[0].size))return o.minSize[e]=t.stops[0].size,o.maxSize[e]=t.stops[0].size,o.offset[e]=o.minSize[e],o.factor[e]=0,o.type[e]=1,!0;if(C(r))return o.minSize[e]=r,o.maxSize[e]=r,o.offset[e]=r,o.factor[e]=0,o.type[e]=1,!0}return D(s,"Could not convert size info: unsupported variant of sizeInfo"),!1}function R(t,o,e,i,s,r){const n=Math.abs(i-e)>0?(o-t)/(i-e):0;s.minSize[r]=n>0?t:o,s.maxSize[r]=n>0?o:t,s.offset[r]=t-e*n,s.factor[r]=n}function E(t,o,e,i){if(t.normalizationField||t.valueRepresentation)return D(i,"Could not convert size info: unsupported property"),null;if(!g(t.field))return D(i,"Could not convert size info: field is not a string"),null;if(o.size){if(t.field)if(o.size.field){if(t.field!==o.size.field)return D(i,"Could not convert size info: multiple fields in use"),null}else o.size.field=t.field}else o.size=new M(t.field),d(o.size.fallback,e.fallbackSize);let s;switch(t.axis){case"width":return s=A(t,o.size,0,e,i),s?o:null;case"height":return s=A(t,o.size,2,e,i),s?o:null;case"depth":return s=A(t,o.size,1,e,i),s?o:null;case"width-and-depth":return s=A(t,o.size,0,e,i),s&&A(t,o.size,1,e,i),s?o:null;case null:case void 0:case"all":return s=A(t,o.size,0,e,i),s=s&&A(t,o.size,1,e,i),s=s&&A(t,o.size,2,e,i),s?o:null;default:return D(i,`Could not convert size info: unknown axis "${t.axis}""`),null}}function O(t,o,e){for(let s=0;s<3;++s){let e=o.unitInMeters;1===t.type[s]&&(e*=o.modelSize[s],t.type[s]=2),t.minSize[s]=t.minSize[s]/e,t.maxSize[s]=t.maxSize[s]/e,t.offset[s]=t.offset[s]/e,t.factor[s]=t.factor[s]/e}let i;if(0!==t.type[0])i=0;else if(0!==t.type[1])i=1;else{if(0===t.type[2])return D(e,"No size axis contains a valid size or scale"),!1;i=2}for(let s=0;s<3;++s)0===t.type[s]&&(t.minSize[s]=t.minSize[i],t.maxSize[s]=t.maxSize[i],t.offset[s]=t.offset[i],t.factor[s]=t.factor[i],t.type[s]=t.type[i]);return!0}function _(t,o,e){t[4*o]=e.r/255,t[4*o+1]=e.g/255,t[4*o+2]=e.b/255,t[4*o+3]=e.a}function q(t,o,e,i){if(t.normalizationField)return D(i,"Could not convert color info: unsupported property"),null;if(x(t.field)){if(!t.stops)return D(i,"Could not convert color info: missing stops or colors"),null;{if(t.stops.length>8)return D(i,"Could not convert color info: too many color stops"),null;o.color=new I(t.field);const s=t.stops;for(let t=0;t<8;++t){const e=s[Math.min(t,s.length-1)];o.color.values[t]=e.value,_(o.color.colors,t,e.color)}y(o.color.fallback,e.fallbackColor)}}else{if(!(t.stops&&t.stops.length>=0))return D(i,"Could not convert color info: no field and no colors/stops"),null;{const i=t.stops&&t.stops.length>=0&&t.stops[0].color;o.color=new I(null);for(let t=0;t<8;t++)o.color.values[t]=1/0,_(o.color.colors,t,i);y(o.color.fallback,e.fallbackColor)}}return o}function $(t,o,e,i){if(t.normalizationField)return D(i,"Could not convert opacity info: unsupported property"),null;if(x(t.field)){if(!t.stops)return D(i,"Could not convert opacity info: missing stops or opacities"),null;{if(t.stops.length>8)return D(i,"Could not convert opacity info: too many opacity stops"),null;o.opacity=new N(t.field,e.fallbackColor[3]);const s=t.stops;for(let t=0;t<8;++t){const e=s[Math.min(t,s.length-1)];o.opacity.values[t]=e.value,o.opacity.opacityValues[t]=e.opacity}}}else{if(!(t.stops&&t.stops.length>=0))return D(i,"Could not convert opacity info: no field and no opacities/stops"),null;{const i=t.stops&&t.stops.length>=0?t.stops[0].opacity:0;o.opacity={field:null,values:[0,0,0,0,0,0,0,0],opacityValues:[0,0,0,0,0,0,0,0],fallback:e.fallbackColor[3]};for(let t=0;t<8;t++)o.opacity.values[t]=1/0,o.opacity.opacityValues[t]=i}}return o}function B(t,o,e){const i=2===e&&"arithmetic"===t.rotationType;o.offset[e]=i?90:0,o.factor[e]=i?-1:1,o.type[e]=1}function L(t,o,e){if(!x(t.field))return D(e,"Could not convert rotation info: field is not a string"),null;if(o.rotation){if(t.field)if(o.rotation.field){if(t.field!==o.rotation.field)return D(e,"Could not convert rotation info: multiple fields in use"),null}else o.rotation.field=t.field}else o.rotation={field:t.field,offset:[0,0,0],factor:[1,1,1],type:[0,0,0]};switch(t.axis){case"tilt":return B(t,o.rotation,0),o;case"roll":return B(t,o.rotation,1),o;case null:case void 0:case"heading":return B(t,o.rotation,2),o;default:return D(e,`Could not convert rotation info: unknown axis "${t.axis}""`),null}}class G{constructor({supports:t,modelSize:o,symbolSize:e,unitInMeters:i,anchor:s,scale:r,rotation:n,fallbackColor:l,fallbackSize:a}){this.supports=t,this.modelSize=o??z(),this.symbolSize=e??z(),this.unitInMeters=i??1,this.anchor=s??v(),this.scale=r??z(),this.rotation=n??v(),this.fallbackColor=l??S(),this.fallbackSize=a??z()}}function H(t,o,e){if(!t)return null;const i=t.reduce((t,i)=>{if(!t)return t;if(i.valueExpression)return D(e,"Could not convert visual variables: arcade expressions not supported"),null;switch(i.type){case"size":return o.supports.size?E(i,t,o,e):t;case"color":return o.supports.color?q(i,t,o,e):t;case"opacity":return o.supports.opacity?$(i,t,o,e):null;case"rotation":return o.supports.rotation?L(i,t,e):t;default:return null}},new T);return!(t.length>0&&i)||i.size||i.color||i.opacity||i.rotation?i?.size&&!O(i.size,o,e)?null:i:null}class J{constructor(t,o,e){this.visualVariables=t,this.materialParameters=o,this.requiresShaderTransformation=e}}function K(t,o){if(!t)return null;if(V())return null;if(k.TESTS_DISABLE_FAST_UPDATES)return null;const e=H(t.visualVariables,o);return e?new J(e,Y(e,o),!!e.size):null}function Q(t,o,e){if(!o||!t)return!1;const i=t.visualVariables,s=H(o.visualVariables,e);return!!s&&(!!(W(i.size,s.size,"size")&&W(i.color,s.color,"color")&&W(i.rotation,s.rotation,"rotation")&&W(i.opacity,s.opacity,"opacity"))&&(t.visualVariables=s,t.materialParameters=Y(s,e),t.requiresShaderTransformation=!!s.size,!0))}function W(t,o,e){if(!!t!=!!o)return!1;if(t&&t.field!==o?.field)return!1;if(t&&"rotation"===e){const e=t,i=o;for(let t=0;t<3;t++)if(e.type[t]!==i.type[t]||e.offset[t]!==i.offset[t]||e.factor[t]!==i.factor[t])return!1}return!0}class X extends w{constructor(t){super(),this.vvSize=t?.size??null,this.vvColor=t?.color??null,this.vvOpacity=t?.opacity??null}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}function Y(t,s){const r=new X(t);return r.vvSize&&(r.vvSymbolAnchor=s.anchor,i(st),F(s.rotation[2],s.rotation[0],s.rotation[1],st),r.vvSymbolRotationMatrix=r.vvSymbolRotationMatrix||e(),o(r.vvSymbolRotationMatrix,st)),r}function Z(t,o,e){if(!t.vvSize)return e;s(et,e);const i=t.vvSymbolRotationMatrix;return r(st,i[0],i[1],i[2],0,i[3],i[4],i[5],0,i[6],i[7],i[8],0,0,0,0,1),n(et,et,st),tt(it,t,o),l(et,et,it),a(et,et,t.vvSymbolAnchor),et}function tt(o,e,i){if(!e.vvSize)return m(o,1,1,1),o;if(Number.isNaN(i[0]))return d(o,e.vvSize.fallback);for(let s=0;s<3;++s){const r=e.vvSize.offset[s]+i[0]*e.vvSize.factor[s];o[s]=t(r,e.vvSize.minSize[s],e.vvSize.maxSize[s])}return o}function ot(t,o){const e=null==t?0:o.attributes[t];return"number"==typeof e&&isFinite(e)?e:NaN}const et=p(),it=h(),st=p();export{G as ConvertOptions,I as FastColorInfo,N as FastOpacityInfo,P as FastRotationInfo,M as FastSizeInfo,J as FastSymbolUpdatesState,T as FastVisualVariables,X as VisualVariablesParameters,H as convertVisualVariables,Z as evaluateModelTransform,tt as evaluateModelTransformScale,ot as getAttributeValue,Y as getMaterialParameters,K as initFastSymbolUpdatesState,Q as updateFastSymbolUpdatesState};