@arcgis/core 6.0.0-next.1 → 6.0.0-next.11

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 (703) hide show
  1. package/analysis/AreaMeasurementAnalysis.d.ts +11 -1
  2. package/analysis/DimensionSimpleStyle.js +1 -1
  3. package/analysis/DirectLineMeasurementAnalysis.d.ts +11 -1
  4. package/analysis/DistanceMeasurementAnalysis.d.ts +8 -0
  5. package/arcade/featureSetUtils.js +1 -1
  6. package/arcade/functions/knowledgegraph.js +1 -1
  7. package/arcade/geometry/unitConversion.js +1 -1
  8. package/arcgisGlobal.d.ts +5 -5
  9. package/assets/esri/core/workers/RemoteClient.js +1 -1
  10. package/assets/esri/core/workers/chunks/01803f76bc0d9f2cd566.js +1 -0
  11. package/assets/esri/core/workers/chunks/{f09c9d9a554c33a753b4.js → 02253bdffbd580af22d8.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{5078b66ba31b770b689f.js → 037a8cc19debbaaa4e10.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{1ede8666d804c553803e.js → 0b6941781e35ce0f7274.js} +1 -1
  14. package/assets/esri/core/workers/chunks/0ccab50877b24f862d6e.js +1 -0
  15. package/assets/esri/core/workers/chunks/{ff3a53c3f00335552317.js → 0dc66b03ff55d0ea5a09.js} +1 -1
  16. package/assets/esri/core/workers/chunks/0f725cf79ce00e790a7d.js +1 -0
  17. package/assets/esri/core/workers/chunks/{a0d459bdb91ee892d4b6.js → 116293b1ee788a89ce1e.js} +1 -1
  18. package/assets/esri/core/workers/chunks/12a7997a40c77f5c9160.js +1 -0
  19. package/assets/esri/core/workers/chunks/{a7325ebb7edf3273bb34.js → 12b84262dedc6b393136.js} +1 -1
  20. package/assets/esri/core/workers/chunks/1b077c92345ffb5916c2.js +1 -0
  21. package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
  22. package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +1 -0
  23. package/assets/esri/core/workers/chunks/{8959a825f5e1ce6f38ac.js → 1c65ab9ed611c322ce27.js} +1 -1
  24. package/assets/esri/core/workers/chunks/1e0d2715d603f48a7e0b.js +1 -0
  25. package/assets/esri/core/workers/chunks/261fea092ee7d27608a0.js +1 -0
  26. package/assets/esri/core/workers/chunks/2686fe5b62dd0be699c0.js +1 -0
  27. package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +1 -0
  28. package/assets/esri/core/workers/chunks/{83589144eeeb08f45557.js → 2aeb5cc32284dd3e4d22.js} +1 -1
  29. package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
  30. package/assets/esri/core/workers/chunks/2e096537a3a5555a4a93.js +1 -0
  31. package/assets/esri/core/workers/chunks/{7a05b18f655c1167ce0a.js → 2ef5237e4c876d6a4ee0.js} +1 -1
  32. package/assets/esri/core/workers/chunks/37d6a264a3f1d8072aa0.js +1 -0
  33. package/assets/esri/core/workers/chunks/3b3e519f15ed52c83f0c.js +1 -0
  34. package/assets/esri/core/workers/chunks/3c0ed15b544df6fb0903.js +1 -0
  35. package/assets/esri/core/workers/chunks/{b612de42ee86c0d95247.js → 3d9d7d3a40b51eb7ee3d.js} +1 -1
  36. package/assets/esri/core/workers/chunks/3df5500a85345577480a.js +1 -0
  37. package/assets/esri/core/workers/chunks/3f7d583b676b23b3fadb.js +1 -0
  38. package/assets/esri/core/workers/chunks/3ffda5bf0b91700dc308.js +1 -0
  39. package/assets/esri/core/workers/chunks/40a584cb952e94326e9e.js +1 -0
  40. package/assets/esri/core/workers/chunks/{1317ecdfd0cfa683a493.js → 42323093827adffe56d3.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
  42. package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +1 -0
  43. package/assets/esri/core/workers/chunks/{d201fbf3ceff946d2bd6.js → 44d5508042cacdfcac47.js} +1 -1
  44. package/assets/esri/core/workers/chunks/4503b20ca6a80fb63d72.js +1 -0
  45. package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +1 -0
  46. package/assets/esri/core/workers/chunks/45800373650fbc8262e6.js +1 -0
  47. package/assets/esri/core/workers/chunks/{6a7ab1ef9a37e87db5ae.js → 46a7da93a63663878583.js} +1 -1
  48. package/assets/esri/core/workers/chunks/46b4fb6a7fe4877b0efc.js +1120 -0
  49. package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +1 -0
  50. package/assets/esri/core/workers/chunks/4911ce62421a6c3320b0.js +1 -0
  51. package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +1 -0
  52. package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
  53. package/assets/esri/core/workers/chunks/4debf2d9c3465250ef7a.js +1 -0
  54. package/assets/esri/core/workers/chunks/4e544de61f07ca660236.js +1 -0
  55. package/assets/esri/core/workers/chunks/4e8e322b469657ac22e2.js +1 -0
  56. package/assets/esri/core/workers/chunks/505227797bcf2a1d908d.js +1 -0
  57. package/assets/esri/core/workers/chunks/{67ac6b326bf80fc3d33d.js → 53be85d04cd2da4f391d.js} +1 -1
  58. package/assets/esri/core/workers/chunks/54778dec1598818d93cb.js +1 -0
  59. package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
  60. package/assets/esri/core/workers/chunks/557671c897ca5563be6c.js +1 -0
  61. package/assets/esri/core/workers/chunks/567a65f4203f6e81f4b4.js +1 -0
  62. package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +1 -0
  63. package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
  64. package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{e521bb9ee2030245c3ce.js → 612104dff305ff062dfa.js} +2 -2
  66. package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +1 -0
  67. package/assets/esri/core/workers/chunks/{3ac9dcbb0571a2580236.js → 62c8c9ad09e0166207fd.js} +1 -1
  68. package/assets/esri/core/workers/chunks/6400446b7615b97c3521.js +1 -0
  69. package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +1 -0
  70. package/assets/esri/core/workers/chunks/6588725275c75fae0d9c.js +1 -0
  71. package/assets/esri/core/workers/chunks/665e31c494d2af505acc.js +1 -0
  72. package/assets/esri/core/workers/chunks/{9232f57623e1fa3ccabc.js → 67e4b5651fd7ff7d8cf0.js} +1 -1
  73. package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
  74. package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
  75. package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
  76. package/assets/esri/core/workers/chunks/6ebe73f69ae822053b70.js +1 -0
  77. package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
  78. package/assets/esri/core/workers/chunks/70cc2d79653d66e85b58.js +1 -0
  79. package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +1 -0
  80. package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +1 -0
  81. package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +1 -0
  82. package/assets/esri/core/workers/chunks/76196c414e48834f7b92.js +1 -0
  83. package/assets/esri/core/workers/chunks/78472a57c2ba146fec65.js +1 -0
  84. package/assets/esri/core/workers/chunks/7ef182e24cad50815b4e.js +1 -0
  85. package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +1 -0
  86. package/assets/esri/core/workers/chunks/814751e705c05099f864.js +1 -0
  87. package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
  88. package/assets/esri/core/workers/chunks/8487727f1197cf7dbf50.js +1 -0
  89. package/assets/esri/core/workers/chunks/88e54449261ef94e390d.js +1 -0
  90. package/assets/esri/core/workers/chunks/8b0d5551978ab0aac0d1.js +1 -0
  91. package/assets/esri/core/workers/chunks/8d0c2de92770a1567536.js +1 -0
  92. package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
  93. package/assets/esri/core/workers/chunks/917f53833b853898facc.js +1 -0
  94. package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
  95. package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +1 -0
  96. package/assets/esri/core/workers/chunks/9ce91a909eccc4dfe388.js +1 -0
  97. package/assets/esri/core/workers/chunks/{c76c42c74eedd43263d3.js → 9dd1fc56eb1ea6eb705e.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{86a051e9fe71aa356108.js → 9e3e442a9874ed23a043.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{aa1054834738aef48bda.js → a0356702f2d3f787aeac.js} +1 -1
  100. package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +1 -0
  101. package/assets/esri/core/workers/chunks/{1ba1f705b6ce5c8ea702.js → a655ebdb4bf0660615a2.js} +1 -1
  102. package/assets/esri/core/workers/chunks/a8286febe371dc186aaa.js +1 -0
  103. package/assets/esri/core/workers/chunks/aaba33611753c6aada68.js +1 -0
  104. package/assets/esri/core/workers/chunks/aba42885c5d6b2b5fe7f.js +1 -0
  105. package/assets/esri/core/workers/chunks/ad76f7ab2f3e6d5a5b3c.js +1 -0
  106. package/assets/esri/core/workers/chunks/ae40eac1eadd1a537bf4.js +1 -0
  107. package/assets/esri/core/workers/chunks/aeaaff7a4b1a99540f52.js +1 -0
  108. package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
  109. package/assets/esri/core/workers/chunks/af75747b06d79446a855.js +1 -0
  110. package/assets/esri/core/workers/chunks/b564ec4e03478f5659db.js +1 -0
  111. package/assets/esri/core/workers/chunks/b5fdcc80d5973b6e26d1.js +1 -0
  112. package/assets/esri/core/workers/chunks/bbf993dba74850bbf9d7.js +1 -0
  113. package/assets/esri/core/workers/chunks/bc0f54a2c15502b630ec.js +1 -0
  114. package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
  115. package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +1 -0
  116. package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
  117. package/assets/esri/core/workers/chunks/d6ad4390df576198e45b.js +1 -0
  118. package/assets/esri/core/workers/chunks/d90a3bfd45b5ed4092e0.js +1 -0
  119. package/assets/esri/core/workers/chunks/dba280c370df13196711.js +1 -0
  120. package/assets/esri/core/workers/chunks/ddf0671976648f621269.js +1 -0
  121. package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → de5ecb567bd69c613e9d.js} +1 -1
  122. package/assets/esri/core/workers/chunks/e10b57aefcc89671116e.js +1 -0
  123. package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
  124. package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +1 -0
  125. package/assets/esri/core/workers/chunks/e932951598499befabf5.js +1 -0
  126. package/assets/esri/core/workers/chunks/{e1ba915dae7747932c0f.js → eb04e1717a1002cda3ab.js} +1 -1
  127. package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +1 -0
  128. package/assets/esri/core/workers/chunks/f1df76f098a3cc924832.js +1 -0
  129. package/assets/esri/core/workers/chunks/f1f90adae13b04898008.js +1 -0
  130. package/assets/esri/core/workers/chunks/f46d9a19f79d4a4bd354.js +1 -0
  131. package/assets/esri/core/workers/chunks/f4f9d08b2df856e3b694.js +1 -0
  132. package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
  133. package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +1 -0
  134. package/assets/esri/core/workers/chunks/fb444954be74c1962ced.js +1 -0
  135. package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
  136. package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → fc44d45598a7476bc606.js} +1 -1
  137. package/assets/esri/core/workers/chunks/fecaf0bc28aeea4d15db.js +1 -0
  138. package/assets/esri/libs/librust-parquet/pkg/parquet_bg.wasm +0 -0
  139. package/assets/esri/themes/base/_mixins.scss +2 -2
  140. package/assets/esri/themes/base/widgets/_Attribution.scss +1 -1
  141. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +2 -2
  142. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -5
  143. package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -1
  144. package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +2 -2
  145. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +5 -5
  146. package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +1 -1
  147. package/assets/esri/themes/base/widgets/_Compass.scss +0 -2
  148. package/assets/esri/themes/base/widgets/_DirectionalPad.scss +4 -10
  149. package/assets/esri/themes/base/widgets/_Directions.scss +40 -40
  150. package/assets/esri/themes/base/widgets/_Editor.scss +7 -7
  151. package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
  152. package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
  153. package/assets/esri/themes/base/widgets/_FeatureForm.scss +6 -6
  154. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +1 -1
  155. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +1 -1
  156. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +4 -4
  157. package/assets/esri/themes/base/widgets/_FeatureTable.scss +27 -27
  158. package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +1 -1
  159. package/assets/esri/themes/base/widgets/_Features.scss +6 -6
  160. package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -1
  161. package/assets/esri/themes/base/widgets/_FilterCondition.scss +1 -1
  162. package/assets/esri/themes/base/widgets/_Grid.scss +18 -18
  163. package/assets/esri/themes/base/widgets/_GridControls.scss +11 -11
  164. package/assets/esri/themes/base/widgets/_LayerList.scss +1 -1
  165. package/assets/esri/themes/base/widgets/_Legend.scss +5 -5
  166. package/assets/esri/themes/base/widgets/_NavigationToggle.scss +4 -1
  167. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +23 -28
  168. package/assets/esri/themes/base/widgets/_ResponsiveToolbar.scss +0 -2
  169. package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +1 -1
  170. package/assets/esri/themes/base/widgets/_SelectionList.scss +15 -15
  171. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +3 -5
  172. package/assets/esri/themes/base/widgets/_ShadowCast.scss +11 -11
  173. package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
  174. package/assets/esri/themes/base/widgets/_Slice.scss +3 -3
  175. package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
  176. package/assets/esri/themes/base/widgets/_TimeSlider.scss +5 -5
  177. package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +5 -4
  178. package/assets/esri/themes/base/widgets/_Tooltip.scss +14 -17
  179. package/assets/esri/themes/base/widgets/_UtilityNetworkAssociations.scss +2 -2
  180. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +1 -1
  181. package/assets/esri/themes/base/widgets/_UtilityNetworkValidateTopology.scss +2 -2
  182. package/assets/esri/themes/base/widgets/_ValuePicker.scss +2 -2
  183. package/assets/esri/themes/base/widgets/_VideoPlayer.scss +5 -5
  184. package/assets/esri/themes/base/widgets/_Widget.scss +5 -1
  185. package/assets/esri/themes/dark/main.css +1 -1
  186. package/assets/esri/themes/light/main.css +1 -1
  187. package/assets/esri/themes/light/view.css +1 -1
  188. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
  189. package/{basemaps/BasemapCollection.d.ts → basemapGallery/BasemapGalleryModel.d.ts} +8 -8
  190. package/{basemaps/BasemapCollection.js → basemapGallery/BasemapGalleryModel.js} +1 -1
  191. package/{basemaps → basemapGallery}/BasemapsSource.d.ts +1 -1
  192. package/{basemaps → basemapGallery}/BasemapsSource.js +1 -1
  193. package/{basemaps → basemapGallery}/LocalBasemapsSource.d.ts +2 -2
  194. package/{basemaps → basemapGallery}/LocalBasemapsSource.js +1 -1
  195. package/{basemaps → basemapGallery}/PortalBasemapsSource.d.ts +2 -2
  196. package/{basemaps → basemapGallery}/PortalBasemapsSource.js +1 -1
  197. package/{basemaps → basemapGallery}/support/BasemapItem.d.ts +2 -2
  198. package/{basemaps → basemapGallery}/support/BasemapItem.js +1 -1
  199. package/{basemaps → basemapGallery}/types.d.ts +2 -2
  200. package/chunks/AtmosphereCompositing.glsl.js +1 -1
  201. package/chunks/ChapmanAtmosphere.glsl.js +3 -3
  202. package/chunks/CloudsComposition.glsl.js +1 -1
  203. package/chunks/Component.glsl.js +41 -41
  204. package/chunks/DefaultMaterial.glsl.js +2 -2
  205. package/chunks/EdgeShader.glsl.js +9 -9
  206. package/chunks/Fog.glsl.js +5 -5
  207. package/chunks/GaussianSplat.glsl.js +2 -2
  208. package/chunks/GlobalIllumination.glsl.js +13 -11
  209. package/chunks/GlobalIlluminationBlur.glsl.js +3 -5
  210. package/chunks/GlobalIlluminationUpscale.glsl.js +1 -1
  211. package/chunks/HUDMaterial.glsl.js +13 -13
  212. package/chunks/Haze.glsl.js +6 -6
  213. package/chunks/HazeCompositing.glsl.js +1 -1
  214. package/chunks/LaserlinePath.glsl.js +6 -6
  215. package/chunks/LineCallout.glsl.js +1 -1
  216. package/chunks/LineMarker.glsl.js +5 -5
  217. package/chunks/NavigationDepth.glsl.js +2 -2
  218. package/chunks/Path.glsl.js +1 -1
  219. package/chunks/Pattern.glsl.js +26 -26
  220. package/chunks/Precipitation.glsl.js +7 -7
  221. package/chunks/RealisticTree.glsl.js +2 -2
  222. package/chunks/RibbonLine.glsl.js +80 -73
  223. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  224. package/chunks/ShadowHighlight.glsl.js +5 -5
  225. package/chunks/ShadowHighlightBuffer.glsl.js +1 -1
  226. package/chunks/SimpleAtmosphere.glsl.js +4 -4
  227. package/chunks/Terrain.glsl.js +29 -32
  228. package/chunks/Viewshed.glsl.js +2 -2
  229. package/chunks/Water.glsl.js +2 -2
  230. package/config.js +1 -1
  231. package/core/Loadable.js +1 -1
  232. package/core/arrayUtils.js +1 -1
  233. package/core/colorUtils.js +1 -1
  234. package/core/has.js +1 -1
  235. package/core/screenUtils.js +1 -1
  236. package/core/units.js +1 -1
  237. package/core/workers/workerFactory.js +1 -1
  238. package/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
  239. package/geometry/HeightModelInfo.js +1 -1
  240. package/geometry/operators/proximityOperator.js +1 -1
  241. package/geometry/projectionUtils.js +1 -1
  242. package/geometry/support/meshUtils.d.ts +1 -1
  243. package/geometry/support/scaleUtils.js +1 -1
  244. package/geometry/support/wkt.js +2 -0
  245. package/kernel.js +1 -1
  246. package/layers/BaseDynamicLayer.d.ts +1 -0
  247. package/layers/BaseElevationLayer.d.ts +2 -0
  248. package/layers/BaseTileLayer.d.ts +12 -9
  249. package/layers/CSVLayer.d.ts +0 -15
  250. package/layers/FeatureLayer.d.ts +2 -15
  251. package/layers/GeoJSONLayer.d.ts +0 -52
  252. package/layers/GeoRSSLayer.d.ts +0 -44
  253. package/layers/GeospatialPDFLayer.d.ts +2 -5
  254. package/layers/GeospatialPDFLayer.js +1 -1
  255. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  256. package/layers/OrientedImageryLayer.js +1 -1
  257. package/layers/ParquetLayer.d.ts +100 -12
  258. package/layers/ParquetLayer.js +1 -1
  259. package/layers/SketchLayer.d.ts +0 -1
  260. package/layers/VectorTileLayer.d.ts +2 -12
  261. package/layers/geospatialPDF/renderExtentUtils.js +1 -1
  262. package/layers/graphics/data/FeatureStore.js +1 -1
  263. package/layers/graphics/data/QueryEngineResult.js +1 -1
  264. package/layers/graphics/data/geometryUtils.js +1 -1
  265. package/layers/graphics/data/projectionSupport.js +1 -1
  266. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  267. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  268. package/layers/graphics/transferFeatures.js +1 -1
  269. package/layers/knowledgeGraph/layerUtils.js +1 -1
  270. package/layers/knowledgeGraph/nodeMovementUtils.js +1 -1
  271. package/layers/mixins/PortalLayer.js +1 -1
  272. package/layers/mixins/RefreshableLayer.d.ts +1 -3
  273. package/layers/mixins/ScaleRangeLayer.js +1 -1
  274. package/layers/mixins/SublayersOwner.js +1 -1
  275. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  276. package/layers/orientedImagery/core/utils.js +1 -1
  277. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  278. package/layers/raster/datasets/TIFFRaster.js +1 -1
  279. package/layers/raster/datasets/byteStreamUtils.js +1 -1
  280. package/layers/raster/formats/tiffParser.js +1 -1
  281. package/layers/support/ParquetPortalItemData.d.ts +2 -0
  282. package/layers/support/ParquetPortalItemData.js +1 -1
  283. package/layers/support/PortalItemData.d.ts +21 -0
  284. package/layers/support/PortalItemData.js +1 -1
  285. package/layers/support/Sublayer.js +1 -1
  286. package/layers/support/SubtypeSublayer.js +1 -1
  287. package/layers/support/layersLoader.js +1 -1
  288. package/layers/support/parquetUtils.d.ts +1 -1
  289. package/layers/support/types.d.ts +1 -1
  290. package/package.json +3 -3
  291. package/popup/FeaturesModel.d.ts +27 -6
  292. package/popup/FeaturesModel.js +1 -1
  293. package/portal/support/layersLoader.js +1 -1
  294. package/portal/support/portalLayers.js +1 -1
  295. package/renderers/VectorFieldRenderer.d.ts +4 -4
  296. package/rest/print.d.ts +49 -3
  297. package/rest/print.js +1 -1
  298. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  299. package/rest/support/printTaskUtils.js +1 -1
  300. package/smartMapping/renderers/color.js +1 -1
  301. package/smartMapping/renderers/dotDensity.js +1 -1
  302. package/smartMapping/renderers/heatmap.js +1 -1
  303. package/smartMapping/renderers/pieChart.js +1 -1
  304. package/smartMapping/renderers/support/spikeUtils.js +3 -3
  305. package/smartMapping/renderers/type.js +1 -1
  306. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  307. package/smartMapping/statistics/histogram.js +1 -1
  308. package/smartMapping/statistics/summaryStatistics.js +1 -1
  309. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  310. package/smartMapping/statistics/uniqueValues.js +1 -1
  311. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  312. package/smartMapping/types.d.ts +3 -1
  313. package/symbols/LineSymbol3DLayer.js +1 -1
  314. package/symbols/callouts/LineCallout3D.js +1 -1
  315. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  316. package/symbols/cim/CIMSymbolHelper.js +1 -1
  317. package/symbols/cim/cimAnalyzer.js +1 -1
  318. package/symbols/edges/Edges3D.js +1 -1
  319. package/symbols/support/Symbol3DIconOutline.js +1 -1
  320. package/symbols/support/Symbol3DOutline.js +1 -1
  321. package/symbols/support/Symbol3DTextBorder.js +1 -1
  322. package/symbols/support/defaults3D.js +1 -1
  323. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  324. package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +6 -4
  325. package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
  326. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  327. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +6 -4
  328. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
  329. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  330. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  331. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  332. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  333. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  334. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  335. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  336. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  337. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  338. package/views/2d/layers/LayerView2D.js +1 -1
  339. package/views/2d/layers/features/FeatureContainer.js +1 -1
  340. package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
  341. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  342. package/views/2d/layers/features/processor/tracks/TrackAdapter.js +1 -1
  343. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  344. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  345. package/views/2d/layers/features/sources/strategies/AFeatureTileLoadStrategy.js +1 -1
  346. package/views/2d/layers/features/sources/strategies/FeatureDrillDownTileLoadStrategy.js +1 -1
  347. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  348. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  349. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  350. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  351. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  352. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  353. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  354. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  355. package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +1 -1
  356. package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
  357. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  358. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  359. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
  360. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  361. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  362. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  363. package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
  364. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  365. package/views/3d/analysis/Viewshed/types.d.ts +3 -1
  366. package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +3 -0
  367. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +2 -1
  368. package/views/3d/environment/Environment.d.ts +2 -2
  369. package/views/3d/environment/Environment.js +1 -1
  370. package/views/3d/environment/EnvironmentView.js +2 -0
  371. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  372. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  373. package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
  374. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  375. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  376. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  377. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  378. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  379. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  380. package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
  381. package/views/3d/layers/FlowSubView3D.js +1 -1
  382. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  383. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  384. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  385. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  386. package/views/3d/layers/MediaLayerView3D.js +1 -1
  387. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  388. package/views/3d/layers/RouteLayerView3D.js +1 -1
  389. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  390. package/views/3d/layers/SceneLayerView3D.js +1 -1
  391. package/views/3d/layers/TiledLayerView3D.js +1 -1
  392. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  393. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  394. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  395. package/views/3d/layers/graphics/Graphics3DBufferGraphicLayer.js +2 -0
  396. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  397. package/views/3d/layers/graphics/Graphics3DDrapedBufferGraphicLayer.js +2 -0
  398. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  399. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +2 -0
  400. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  401. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  402. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  403. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  404. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  405. package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +2 -0
  406. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  407. package/views/3d/layers/graphics/LabelInfo.js +1 -1
  408. package/views/3d/layers/graphics/Labeler.js +1 -1
  409. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  410. package/views/3d/layers/graphics/pointUtils.js +1 -1
  411. package/views/3d/layers/support/FeatureMemory.js +1 -1
  412. package/views/3d/layers/support/FeatureTile.js +1 -1
  413. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  414. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  415. package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
  416. package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +1 -1
  417. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  418. package/views/3d/support/PBFDecoder.js +1 -1
  419. package/views/3d/support/elevationUpdateUtils.js +1 -1
  420. package/views/3d/support/popupHitTest.js +1 -1
  421. package/views/3d/terrain/OverlayManager.js +1 -1
  422. package/views/3d/terrain/OverlayRenderer.js +1 -1
  423. package/views/3d/terrain/TerrainRenderer.js +1 -1
  424. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  425. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +5 -5
  426. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +13 -13
  427. package/views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js +2 -0
  428. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
  429. package/views/3d/webgl-engine/core/shaderLibrary/lastFrameUniforms.js +2 -0
  430. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +7 -7
  431. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +31 -29
  432. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +26 -12
  433. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  434. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +14 -14
  435. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
  436. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadGlobalIllumination.glsl.js +16 -11
  437. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +5 -5
  438. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +8 -8
  439. package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +1 -1
  440. package/views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js +2 -0
  441. package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +1 -1
  442. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +6 -6
  443. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
  444. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
  445. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  446. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  447. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  448. package/views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js +3 -3
  449. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +1 -1
  450. package/views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js +1 -1
  451. package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
  452. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +1 -1
  453. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  454. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  455. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  456. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  457. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  458. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +2 -2
  459. package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +5 -5
  460. package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
  461. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  462. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
  463. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
  464. package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
  465. package/views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js +1 -1
  466. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
  467. package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
  468. package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
  469. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  470. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  471. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  472. package/views/3d/webgl-engine/lib/affectsGeometry.js +1 -1
  473. package/views/3d/webgl-engine/lib/bufferGeometryUtils.js +2 -0
  474. package/views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js +5 -5
  475. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
  476. package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +11 -11
  477. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  478. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  479. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  480. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  481. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  482. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  483. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  484. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  485. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  486. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  487. package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
  488. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  489. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  490. package/views/3d/webgl-engine/shaders/lineUniforms.js +2 -0
  491. package/views/DOMContainer.d.ts +28 -9
  492. package/views/DOMContainer.js +1 -1
  493. package/views/PopupView.d.ts +6 -0
  494. package/views/SceneView.d.ts +4 -10
  495. package/views/SceneView.js +1 -1
  496. package/views/VideoView.d.ts +27 -9
  497. package/views/View.d.ts +20 -19
  498. package/views/View.js +1 -1
  499. package/views/View2D.d.ts +13 -13
  500. package/views/draw/Draw.d.ts +1 -1
  501. package/views/draw/support/InteractiveHandle.js +1 -1
  502. package/views/draw/support/PluginContext.js +1 -1
  503. package/views/draw/support/managers/TooltipManager.js +1 -1
  504. package/views/interactive/options/SnappingOptions.d.ts +29 -12
  505. package/views/interactive/options/TooltipOptions.d.ts +9 -1
  506. package/views/interactive/options/ValueOptions.d.ts +9 -2
  507. package/views/interactive/options/ViewOptions.d.ts +82 -6
  508. package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
  509. package/views/interactive/snapping/SnappingManagerPool.js +1 -1
  510. package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
  511. package/views/interactive/snapping/SnappingVisualizer.js +1 -1
  512. package/views/interactive/support/Units.d.ts +1 -0
  513. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  514. package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
  515. package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
  516. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  517. package/views/layers/FeatureLikeLayerView.d.ts +2 -2
  518. package/views/layers/GraphicsLayerView.d.ts +1 -0
  519. package/views/layers/ImageryLayerView.d.ts +1 -0
  520. package/views/layers/LayerView.js +1 -1
  521. package/views/layers/LineOfSightLayerView.d.ts +3 -4
  522. package/views/layers/ParquetLayerView.d.ts +15 -0
  523. package/views/layers/ParquetLayerView.js +1 -1
  524. package/views/layers/ViewshedLayerView.d.ts +5 -6
  525. package/views/support/layerViewUtils.js +1 -1
  526. package/views/support/projectionUtils.js +1 -1
  527. package/views/types.d.ts +3 -1
  528. package/webdoc/support/saveUtils.js +1 -1
  529. package/webdoc/support/unsupportedErrors.js +1 -1
  530. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +2 -2
  531. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  532. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -3
  533. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -2
  534. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
  535. package/widgets/BasemapGallery/types.d.ts +3 -3
  536. package/widgets/BasemapLayerList.js +1 -1
  537. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  538. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  539. package/widgets/BatchAttributeForm/expressions/expressionUtils.js +1 -1
  540. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +6 -0
  541. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  542. package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
  543. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  544. package/widgets/BatchAttributeForm.js +1 -1
  545. package/widgets/DirectionalPad.js +1 -1
  546. package/widgets/Editor/EditorViewModel.d.ts +13 -8
  547. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  548. package/widgets/Editor/workflowUtils.js +1 -1
  549. package/widgets/Editor.d.ts +19 -9
  550. package/widgets/Expand.js +1 -1
  551. package/widgets/FeatureForm.d.ts +2 -2
  552. package/widgets/FeatureForm.js +1 -1
  553. package/widgets/FeatureTable/FieldColumn.js +1 -1
  554. package/widgets/FeatureTable.js +1 -1
  555. package/widgets/Features/FeaturesDrillIn.js +1 -1
  556. package/widgets/Features.js +1 -1
  557. package/widgets/Legend.d.ts +1 -0
  558. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  559. package/widgets/OrientedImageryViewer/adapters/draw/HeightMeasurementAdapter.js +1 -1
  560. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  561. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  562. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  563. package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
  564. package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
  565. package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
  566. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  567. package/widgets/OrientedImageryViewer/types.d.ts +20 -0
  568. package/widgets/OrientedImageryViewer.d.ts +9 -1
  569. package/widgets/PanoramicVideoViewer.js +1 -1
  570. package/widgets/Print/PrintViewModel.d.ts +3 -2
  571. package/widgets/Print/PrintViewModel.js +1 -1
  572. package/widgets/Print.js +1 -1
  573. package/widgets/ScaleRangeSlider.js +1 -1
  574. package/widgets/Search/SearchResultRenderer.js +1 -1
  575. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  576. package/widgets/Sketch/SketchViewModel.d.ts +14 -9
  577. package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
  578. package/widgets/Sketch.d.ts +10 -10
  579. package/widgets/Track/TrackViewModel.d.ts +1 -1
  580. package/widgets/UtilityNetworkAssociations.js +1 -1
  581. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  582. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +1 -1
  583. package/widgets/UtilityNetworkTrace/types.d.ts +2 -2
  584. package/widgets/UtilityNetworkTrace.js +1 -1
  585. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  586. package/widgets/ValuePicker.js +1 -1
  587. package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
  588. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  589. package/widgets/support/GridControls.js +1 -1
  590. package/widgets/support/PluginSettingsControls.js +1 -1
  591. package/widgets/support/SelectionList/FeatureItem.d.ts +9 -2
  592. package/widgets/support/SelectionToolbar.js +1 -1
  593. package/widgets/support/SnappingControls.d.ts +1 -1
  594. package/widgets/support/SnappingControls.js +1 -1
  595. package/widgets/support/componentsUtils.js +1 -1
  596. package/arcade/geometry/wkt.js +0 -2
  597. package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
  598. package/assets/esri/core/workers/chunks/00d24415bdeb0adae3df.js +0 -1
  599. package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
  600. package/assets/esri/core/workers/chunks/01b00fbf6a6a22d573ee.js +0 -1
  601. package/assets/esri/core/workers/chunks/02d4f91652a79d2b637e.js +0 -1
  602. package/assets/esri/core/workers/chunks/050c4b212f2b5691db34.js +0 -1
  603. package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
  604. package/assets/esri/core/workers/chunks/05d865b2736f452ad2aa.js +0 -1
  605. package/assets/esri/core/workers/chunks/06e7400f5ebe0719b81c.js +0 -1
  606. package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
  607. package/assets/esri/core/workers/chunks/084222c00d263a534952.js +0 -1
  608. package/assets/esri/core/workers/chunks/0b36abcbf03037b4073d.js +0 -1
  609. package/assets/esri/core/workers/chunks/107b025dc5b09465a78f.js +0 -1
  610. package/assets/esri/core/workers/chunks/1b551ef3d84d9c1e93f9.js +0 -1
  611. package/assets/esri/core/workers/chunks/1ef39aef6b33c530cbe4.js +0 -1
  612. package/assets/esri/core/workers/chunks/1f3148cebee1961249a4.js +0 -1
  613. package/assets/esri/core/workers/chunks/1f43e06dcfe56229bb0f.js +0 -1
  614. package/assets/esri/core/workers/chunks/2164fcaced72b0fda31f.js +0 -1
  615. package/assets/esri/core/workers/chunks/25b0885d3bc190b28c04.js +0 -1
  616. package/assets/esri/core/workers/chunks/25d6c674b1c4829f040f.js +0 -1
  617. package/assets/esri/core/workers/chunks/260dcb79dfd0f981949f.js +0 -1
  618. package/assets/esri/core/workers/chunks/2a570ce6b99dac6ee996.js +0 -1
  619. package/assets/esri/core/workers/chunks/2e6a2f4d686b71249c0e.js +0 -1
  620. package/assets/esri/core/workers/chunks/2f9033890c465acff698.js +0 -1
  621. package/assets/esri/core/workers/chunks/303676d1b10676c9cab4.js +0 -1
  622. package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
  623. package/assets/esri/core/workers/chunks/32d08b571bbd996d4e6d.js +0 -1
  624. package/assets/esri/core/workers/chunks/33956f12505e72e60293.js +0 -1
  625. package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
  626. package/assets/esri/core/workers/chunks/37a636f61cfe89c6bfd1.js +0 -1
  627. package/assets/esri/core/workers/chunks/380cc538c1ab453870fa.js +0 -1
  628. package/assets/esri/core/workers/chunks/3880d2c7fb14955d7f93.js +0 -1
  629. package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
  630. package/assets/esri/core/workers/chunks/40fb1910f780e78c128c.js +0 -1
  631. package/assets/esri/core/workers/chunks/4310c8d2b40ae69c3681.js +0 -1
  632. package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +0 -1
  633. package/assets/esri/core/workers/chunks/4848f195eb93cc93dd15.js +0 -1
  634. package/assets/esri/core/workers/chunks/4cddd217383b9333f32e.js +0 -1
  635. package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
  636. package/assets/esri/core/workers/chunks/4fa59f8ed3b7b6239548.js +0 -1
  637. package/assets/esri/core/workers/chunks/57970d43cdcc5cf57a30.js +0 -1
  638. package/assets/esri/core/workers/chunks/5e184fd47e76eb976fa9.js +0 -1
  639. package/assets/esri/core/workers/chunks/5ea8809b6519c05ad9f6.js +0 -1
  640. package/assets/esri/core/workers/chunks/5f3ab77a79c408423fde.js +0 -1
  641. package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +0 -1
  642. package/assets/esri/core/workers/chunks/604344e45c0f27497188.js +0 -1
  643. package/assets/esri/core/workers/chunks/61ad8306ab79aca79505.js +0 -1
  644. package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
  645. package/assets/esri/core/workers/chunks/6469c0d18d3663e7da4b.js +0 -1
  646. package/assets/esri/core/workers/chunks/65654e481cce9ae40e54.js +0 -1
  647. package/assets/esri/core/workers/chunks/669e39c3437d7273f0c7.js +0 -1
  648. package/assets/esri/core/workers/chunks/68e24fa3f564c2a5c9fd.js +0 -1
  649. package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +0 -1
  650. package/assets/esri/core/workers/chunks/71f739bb3f7350704af6.js +0 -1
  651. package/assets/esri/core/workers/chunks/750a9f3cdb96b966274a.js +0 -1
  652. package/assets/esri/core/workers/chunks/776565dd9741ba2ba151.js +0 -1
  653. package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
  654. package/assets/esri/core/workers/chunks/841f67baf6a1634ada48.js +0 -1
  655. package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
  656. package/assets/esri/core/workers/chunks/897fc8e78a0d54a5ff5a.js +0 -1
  657. package/assets/esri/core/workers/chunks/8af92bcc075e03e3e902.js +0 -1742
  658. package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
  659. package/assets/esri/core/workers/chunks/8e7a33cc1f83063043f2.js +0 -1
  660. package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
  661. package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
  662. package/assets/esri/core/workers/chunks/9432feca48ca3e5849bd.js +0 -1
  663. package/assets/esri/core/workers/chunks/956a40f40bde416efe93.js +0 -1
  664. package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
  665. package/assets/esri/core/workers/chunks/9673a9efec86040b8c13.js +0 -1
  666. package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
  667. package/assets/esri/core/workers/chunks/985b3f18cee87c3fe022.js +0 -1
  668. package/assets/esri/core/workers/chunks/9a7fc93cc693fd12b5d8.js +0 -1
  669. package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
  670. package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
  671. package/assets/esri/core/workers/chunks/a20526996d01386ec3b7.js +0 -1
  672. package/assets/esri/core/workers/chunks/a23272a7a47a95f6ddea.js +0 -1
  673. package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
  674. package/assets/esri/core/workers/chunks/aa5b42e44d2959fdacd3.js +0 -1
  675. package/assets/esri/core/workers/chunks/ae2181805d8ba130babc.js +0 -1
  676. package/assets/esri/core/workers/chunks/b05a41a60e30935644be.js +0 -1
  677. package/assets/esri/core/workers/chunks/b0cfec11c758eed8095f.js +0 -1
  678. package/assets/esri/core/workers/chunks/bff767ec5bb4c0d6b324.js +0 -1
  679. package/assets/esri/core/workers/chunks/c906f984b2b6e7578c06.js +0 -1
  680. package/assets/esri/core/workers/chunks/ca7fb75e2c62e7d37122.js +0 -1
  681. package/assets/esri/core/workers/chunks/cbdebdfa5f2cded29d0d.js +0 -1
  682. package/assets/esri/core/workers/chunks/cbe6c0f32608cb504695.js +0 -1
  683. package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +0 -1
  684. package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
  685. package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +0 -1
  686. package/assets/esri/core/workers/chunks/d6d5a9e73ee43d6066d3.js +0 -1
  687. package/assets/esri/core/workers/chunks/d89fe41c71c9621c41ae.js +0 -1
  688. package/assets/esri/core/workers/chunks/da18d96b35af20e73b3b.js +0 -1
  689. package/assets/esri/core/workers/chunks/de02a6a1f4810f99e9bb.js +0 -1
  690. package/assets/esri/core/workers/chunks/df0481bcc1613ee4b7af.js +0 -1
  691. package/assets/esri/core/workers/chunks/e22d45aeef293a5ffb78.js +0 -1
  692. package/assets/esri/core/workers/chunks/e5943f3a4bbc12c06c4d.js +0 -1
  693. package/assets/esri/core/workers/chunks/e7c60bd85abbd36cdc64.js +0 -1
  694. package/assets/esri/core/workers/chunks/ec9a2425b4a498054a19.js +0 -1
  695. package/assets/esri/core/workers/chunks/edf3be87a997f4f05b96.js +0 -1
  696. package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
  697. package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
  698. package/assets/esri/core/workers/chunks/f0aaa646b17ffdbdcefa.js +0 -1
  699. package/assets/esri/core/workers/chunks/f0c0c02730fe0d948fc1.js +0 -1
  700. package/assets/esri/core/workers/chunks/fd0254c6fc6c03ec11ba.js +0 -1
  701. package/assets/esri/core/workers/chunks/ffb3728e6ac428f62af1.js +0 -1
  702. package/views/3d/environment/EnvironmentManager.js +0 -2
  703. /package/{basemaps → basemapGallery}/support/basemapCompatibilityUtils.js +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Collection.js";import n from"../../../core/CollectionFlattener.js";import{destroyMaybe as r}from"../../../core/maybe.js";import{initial as i,when as a,watch as o}from"../../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../../core/accessorSupport/decorators.js";import{projectAsync as l}from"../../../geometry/projectionUtils.js";import u from"../../../rest/support/DirectionLine.js";import d from"../../../rest/support/DirectionPoint.js";import f from"../../../rest/support/PointBarrier.js";import p from"../../../rest/support/PolygonBarrier.js";import m from"../../../rest/support/PolylineBarrier.js";import h from"../../../rest/support/RouteInfo.js";import g from"../../../rest/support/Stop.js";import{LayerView3D as _}from"./LayerView3D.js";import{GraphicsProcessor as v}from"./graphics/GraphicsProcessor.js";import{LayerViewPerformanceInfo as y}from"./support/LayerViewPerformanceInfo.js";import{EventedSet as b}from"../support/EventedSet.js";import x from"../../layers/LayerView.js";import{getHighlightName as S}from"../../support/highlightOptionsUtils.js";import{hasLayerBasedScaleVisibility as C,isInEffectiveScaleRange as w}from"../../support/layerViewUtils.js";function T(e){return e instanceof u||e instanceof d||e instanceof f||e instanceof p||e instanceof m||e instanceof h||e instanceof g}let E=class extends _(x){constructor(){super(...arguments),this.type=`route-3d`,this.loadedGraphics=new b,this._networkFeatureToGraphic=new Map,this._graphicToNetworkFeature=new Map,this.slicePlaneEnabled=!1,this.fullExtentInLocalViewSpatialReference=null}initialize(){this._set(`processor`,new v({owner:this,scaleVisibilityEnabled:!0,frustumVisibilityEnabled:!0})),this.addResolvingPromise(this.processor.initializePromise),this._updatingHandles.addOnCollectionChange(()=>this._routeItems,e=>this._routeItemsChanged(e),i),this.view.viewingMode===`local`&&this.addResolvingPromise((async()=>this.fullExtentInLocalViewSpatialReference=await l(this.layer.fullExtent,this.view.spatialReference).catch(()=>null))()),this.addHandles(a(()=>this.view?.groundView?.ready,()=>()=>this.notifyChange(`updating`),{once:!0}))}destroy(){this._updatingHandles.removeAll(),this._networkFeatureToGraphic.clear(),this._graphicToNetworkFeature.clear(),this._set(`processor`,r(this.processor)),this._get(`_routeItems`)?.destroy()}get _routeItems(){return new n({getCollections:()=>[this.layer.pointBarriers,this.layer.polygonBarriers,this.layer.polylineBarriers,this.layer.stops,this.layer.directionLines,this.layer.directionPoints,this.layer.routeInfo==null?null:new t([this.layer.routeInfo])]})}_routeItemsChanged(e){if(e.removed.length){this.loadedGraphics.removeMany(e.removed.map(e=>{let t=this._networkFeatureToGraphic.get(e);return this._networkFeatureToGraphic.delete(e),this._graphicToNetworkFeature.delete(t),t}));for(let t of e.removed)this.removeHandles(t)}if(e.added.length){this.loadedGraphics.addMany(e.added.map(e=>{let t=e.toGraphic();return this._networkFeatureToGraphic.set(e,t),this._graphicToNetworkFeature.set(t,e),t}));for(let t of e.added)this.addHandles([o(()=>t.geometry,(e,n)=>{this._updateGraphic(t,`geometry`,e,n)}),o(()=>t.symbol,(e,n)=>{this._updateGraphic(t,`symbol`,e,n)})],t)}}get legendEnabled(){return this.canResume()&&!this.processor?.frustumVisibilitySuspended}get visibleAtCurrentScale(){return C()?w(this.layer.effectiveScaleRange,this.view.scale):!this.processor?.scaleVisibilitySuspended}getSuspendInfo(){let e=super.getSuspendInfo();return e.outsideOfView=this.processor?.frustumVisibilitySuspended??!1,e}getHit(e){let t=this.processor.getHit(e,null);if(t?.type===`graphic`){let e=this._graphicToNetworkFeature.get(t.graphic);if(e)return{type:`route`,layer:this.layer,networkFeature:e}}return null}whenGraphicBounds(e,t){return this.processor.whenGraphicBounds(e,t)}computeAttachmentOrigin(e,t){return this.processor?.computeAttachmentOrigin(e,t)}getSymbolLayerSize(e,t){return this.processor.getSymbolLayerSize(e,t)}async queryGraphics(){return new t(this.loadedGraphics.toArray())}maskOccludee(e){return this.processor.maskOccludee(e)}highlight(e,t){return T(e)&&(e=this._networkFeatureToGraphic.get(e)),this.processor.highlight(e,S(t))}notifyContentGeometryUpdate(){this.emit(`visible-geometry-changed`)}get updatePolicy(){return this.processor?.graphicsCore.effectiveUpdatePolicy||1}isUpdating(){return!(!this.processor?.updating&&this.view?.groundView?.ready)}get performanceInfo(){return new y(this.processor?.graphicsCore.usedMemory??0,this.loadedGraphics.length,-1,-1,0,this.processor?.graphicsCore.performanceInfo??null)}_updateGraphic(e,t,n,r){let i=this._networkFeatureToGraphic.get(e);i[t]=n,D.graphic=i,D.property=t,D.oldValue=r,D.newValue=n,this.processor?.graphicsCore.graphicUpdateHandler(D),D.graphic=null}};e([s()],E.prototype,`_routeItems`,null),e([s()],E.prototype,`loadedGraphics`,void 0),e([s({readOnly:!0})],E.prototype,`legendEnabled`,null),e([s({readOnly:!0})],E.prototype,`visibleAtCurrentScale`,null),e([s()],E.prototype,`layer`,void 0),e([s({readOnly:!0})],E.prototype,`processor`,void 0),e([s({type:Boolean})],E.prototype,`slicePlaneEnabled`,void 0),E=e([c(`esri.views.3d.layers.RouteLayerView3D`)],E);const D={graphic:null,property:null,oldValue:null,newValue:null},O=E;export{O as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Collection.js";import n from"../../../core/CollectionFlattener.js";import{destroyMaybe as r}from"../../../core/maybe.js";import{initial as i,when as a,watch as o}from"../../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../../core/accessorSupport/decorators.js";import{projectAsync as l}from"../../../geometry/projectionUtils.js";import{isInEffectiveScaleRange as u}from"../../../geometry/support/scaleUtils.js";import d from"../../../rest/support/DirectionLine.js";import f from"../../../rest/support/DirectionPoint.js";import p from"../../../rest/support/PointBarrier.js";import m from"../../../rest/support/PolygonBarrier.js";import h from"../../../rest/support/PolylineBarrier.js";import g from"../../../rest/support/RouteInfo.js";import _ from"../../../rest/support/Stop.js";import{LayerView3D as v}from"./LayerView3D.js";import{GraphicsProcessor as y}from"./graphics/GraphicsProcessor.js";import{LayerViewPerformanceInfo as b}from"./support/LayerViewPerformanceInfo.js";import{EventedSet as x}from"../support/EventedSet.js";import S from"../../layers/LayerView.js";import{getHighlightName as C}from"../../support/highlightOptionsUtils.js";import{hasLayerBasedScaleVisibility as w}from"../../support/layerViewUtils.js";function T(e){return e instanceof d||e instanceof f||e instanceof p||e instanceof m||e instanceof h||e instanceof g||e instanceof _}let E=class extends v(S){constructor(){super(...arguments),this.type=`route-3d`,this.loadedGraphics=new x,this._networkFeatureToGraphic=new Map,this._graphicToNetworkFeature=new Map,this.slicePlaneEnabled=!1,this.fullExtentInLocalViewSpatialReference=null}initialize(){this._set(`processor`,new y({owner:this,scaleVisibilityEnabled:!0,frustumVisibilityEnabled:!0})),this.addResolvingPromise(this.processor.initializePromise),this._updatingHandles.addOnCollectionChange(()=>this._routeItems,e=>this._routeItemsChanged(e),i),this.view.viewingMode===`local`&&this.addResolvingPromise((async()=>this.fullExtentInLocalViewSpatialReference=await l(this.layer.fullExtent,this.view.spatialReference).catch(()=>null))()),this.addHandles(a(()=>this.view?.groundView?.ready,()=>()=>this.notifyChange(`updating`),{once:!0}))}destroy(){this._updatingHandles.removeAll(),this._networkFeatureToGraphic.clear(),this._graphicToNetworkFeature.clear(),this._set(`processor`,r(this.processor)),this._get(`_routeItems`)?.destroy()}get _routeItems(){return new n({getCollections:()=>[this.layer.pointBarriers,this.layer.polygonBarriers,this.layer.polylineBarriers,this.layer.stops,this.layer.directionLines,this.layer.directionPoints,this.layer.routeInfo==null?null:new t([this.layer.routeInfo])]})}_routeItemsChanged(e){if(e.removed.length){this.loadedGraphics.removeMany(e.removed.map(e=>{let t=this._networkFeatureToGraphic.get(e);return this._networkFeatureToGraphic.delete(e),this._graphicToNetworkFeature.delete(t),t}));for(let t of e.removed)this.removeHandles(t)}if(e.added.length){this.loadedGraphics.addMany(e.added.map(e=>{let t=e.toGraphic();return this._networkFeatureToGraphic.set(e,t),this._graphicToNetworkFeature.set(t,e),t}));for(let t of e.added)this.addHandles([o(()=>t.geometry,(e,n)=>{this._updateGraphic(t,`geometry`,e,n)}),o(()=>t.symbol,(e,n)=>{this._updateGraphic(t,`symbol`,e,n)})],t)}}get legendEnabled(){return this.canResume()&&!this.processor?.frustumVisibilitySuspended}get visibleAtCurrentScale(){return w()?u(this.layer.effectiveScaleRange,this.view.scale):!this.processor?.scaleVisibilitySuspended}getSuspendInfo(){let e=super.getSuspendInfo();return e.outsideOfView=this.processor?.frustumVisibilitySuspended??!1,e}getHit(e){let t=this.processor.getHit(e,null);if(t?.type===`graphic`){let e=this._graphicToNetworkFeature.get(t.graphic);if(e)return{type:`route`,layer:this.layer,networkFeature:e}}return null}whenGraphicBounds(e,t){return this.processor.whenGraphicBounds(e,t)}computeAttachmentOrigin(e,t){return this.processor?.computeAttachmentOrigin(e,t)}getSymbolLayerSize(e,t){return this.processor.getSymbolLayerSize(e,t)}async queryGraphics(){return new t(this.loadedGraphics.toArray())}maskOccludee(e){return this.processor.maskOccludee(e)}highlight(e,t){return T(e)&&(e=this._networkFeatureToGraphic.get(e)),this.processor.highlight(e,C(t))}notifyContentGeometryUpdate(){this.emit(`visible-geometry-changed`)}get updatePolicy(){return this.processor?.graphicsCore.effectiveUpdatePolicy||1}isUpdating(){return!(!this.processor?.updating&&this.view?.groundView?.ready)}get performanceInfo(){return new b(this.processor?.graphicsCore.usedMemory??0,this.loadedGraphics.length,-1,-1,0,this.processor?.graphicsCore.performanceInfo??null)}_updateGraphic(e,t,n,r){let i=this._networkFeatureToGraphic.get(e);i[t]=n,D.graphic=i,D.property=t,D.oldValue=r,D.newValue=n,this.processor?.graphicsCore.graphicUpdateHandler(D),D.graphic=null}};e([s()],E.prototype,`_routeItems`,null),e([s()],E.prototype,`loadedGraphics`,void 0),e([s({readOnly:!0})],E.prototype,`legendEnabled`,null),e([s({readOnly:!0})],E.prototype,`visibleAtCurrentScale`,null),e([s()],E.prototype,`layer`,void 0),e([s({readOnly:!0})],E.prototype,`processor`,void 0),e([s({type:Boolean})],E.prototype,`slicePlaneEnabled`,void 0),E=e([c(`esri.views.3d.layers.RouteLayerView3D`)],E);const D={graphic:null,property:null,oldValue:null,newValue:null},O=E;export{O as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import"../../../core/has.js";import t from"../../../core/Logger.js";import{destroyMaybe as n}from"../../../core/maybe.js";import{estimateNumberArrayMemory as r}from"../../../core/memoryEstimations.js";import{throwIfAborted as i}from"../../../core/promiseUtils.js";import{initial as a,watch as o,sync as s}from"../../../core/reactiveUtils.js";import{generateUID as c}from"../../../core/uid.js";import{property as l,subclass as u}from"../../../core/accessorSupport/decorators.js";import{set as d}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as f,create as p}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{projectBuffer as m}from"../../../geometry/projection/projectBuffer.js";import{projectVectorToVector as h}from"../../../geometry/projection/projectVectorToVector.js";import{extentContainsCoords3D as g,extentContainsCoords2D as ee}from"../../../geometry/support/contains.js";import{newDoubleArray as _,doubleArrayFrom as te}from"../../../geometry/support/DoubleArray.js";import{getGeometryZScaler as v}from"../../../geometry/support/zscale.js";import{fallbackObjectIDAttribute as y}from"../../../layers/LayerConstants.js";import{estimateSize as b}from"../../../layers/graphics/dehydratedFeatures.js";import{ImmutableDehydratedPoint as ne}from"../../../layers/graphics/dehydratedPoint.js";import{hydrateGraphic as re}from"../../../layers/graphics/hydratedFeatures.js";import ie from"../../../layers/graphics/controllers/I3SOnDemandController.js";import ae from"../../../layers/support/FeatureFilter.js";import{I3SExtractChanges as oe}from"../../../layers/support/I3SExtractChanges.js";import x from"../../../rest/support/Query.js";import{isBasemapLayerView as se}from"../../../support/basemapUtils.js";import{isGraphic as ce}from"../../../support/graphicInstanceUtils.js";import{I3SPointsWorkerHandle as S}from"./I3SPointsWorkerHandle.js";import{LayerView3D as le}from"./LayerView3D.js";import{Graphics3DFeatureProcessor as C}from"./graphics/Graphics3DFeatureProcessor.js";import{QueryEngine as w}from"./graphics/QueryEngine.js";import{QueryEngineContext as T}from"./graphics/QueryEngineContext.js";import{createInteractiveEditSession as E,normalizeEditResultsEvent as D,processAttributeEdits as O}from"./i3s/featureEditing.js";import{getCachedAttributeValue as k}from"./i3s/I3SBinaryReader.js";import{I3SGraphicsMap as A}from"./i3s/I3SGraphicsMap.js";import{I3SOverrides as j}from"./i3s/I3SOverrides.js";import{checkRecyclable as M,checkSpatialReferences as N,containsDraco as P,whenGraphicAttributes as F}from"./i3s/I3SUtil.js";import{attributeLookup as I}from"./support/attributeUtils.js";import{DefinitionExpressionSceneLayerView as L}from"./support/DefinitionExpressionSceneLayerView.js";import{defineFieldProperties as R}from"./support/fieldProperties.js";import{normalizeHighlightTarget as z,emptyHighlightHandle as B,isObjectId as V}from"./support/highlightUtils.js";import{LayerViewPerformanceInfo as H}from"./support/LayerViewPerformanceInfo.js";import{PopupSceneLayerView as ue}from"./support/PopupSceneLayerView.js";import{SceneLayerViewRequiredFields as U}from"./support/SceneLayerViewRequiredFields.js";import{TemporalSceneLayerView as de}from"./support/TemporalSceneLayerView.js";import{debugFlags as W}from"../support/debugFlags.js";import{compute as fe}from"../support/orientedBoundingBox.js";import{updatingProgress as pe}from"../support/updatingProperties.js";import{Vertices as me}from"../webgl-engine/lib/Attribute.js";import he from"../../layers/SceneLayerView.js";import{hasPopupTemplate as ge}from"../../layers/support/popupUtils.js";import{getHighlightName as _e}from"../../support/highlightOptionsUtils.js";import{hasLayerBasedScaleVisibility as G,isInEffectiveScaleRange as ve}from"../../support/layerViewUtils.js";import{TaskPriority as ye}from"../../support/Scheduler.js";const K=R();class be{constructor(e,t,n,r){this.graphics=e,this.featureIds=t,this.attributeInfo=n,this.node=r}get usedMemory(){return this.graphics.reduce((e,t)=>b(t)+e,r(this.featureIds)+1024)}}let q=class extends de(L(ue(le(he)))){constructor(){super(...arguments),this.type=`scene-layer-graphics-3d`,this._queryEngine=null,this._memCache=null,this._interactiveEditingSessions=new Map,this._pendingEditsQueue=Promise.resolve(),this.loadedGraphics=new A((e,t,n)=>Ce(e,t,n),e=>this.processor.graphicsCore.recreateGraphics(e),this.logError),this.holeFilling=`always`,this.progressiveLoadFactor=1,this.supportsHeightUnitConversion=!0,this._coordinatesOutsideExtentErrors=0,this._maxCoordinatesOutsideExtentErrors=20}tryRecycleWith(e,t){return e.url!==this.layer.url||!this._i3sOverrides.isEmpty?null:e.load(t).then(()=>{i(t),M(this.layer,e,this._i3sOverrides),this.layer=e,this._reinitializeOverrides(),n(this._queryEngine),this._setupQueryEngine(),this.processor.resetObjectStates()})}initialize(){this.addResolvingPromise(this.layer.indexInfo),this._reinitializeOverrides(),N(this.layer,this.view.spatialReference,this.view.viewingMode),this._fieldsHelper=new U({layerView:this}),this._updatingHandles.add(()=>this.layer.rangeInfos,e=>this._rangeInfosChanged(e),a),this._updatingHandles.add(()=>this.layer.renderer,(e,t)=>this._rendererChange(e,t)),this._updatingHandles.add(()=>[this.parsedDefinitionExpression,this.layer.excludeObjectIds],()=>this._filterChange()),this._set(`processor`,new C({owner:this,preferredUpdatePolicy:0,scaleVisibilityEnabled:!G(),filterVisibilityEnabled:!0,timeExtentEnabled:!1,frustumVisibilityEnabled:!1,elevationAlignmentEnabled:!0,elevationFeatureExpressionEnabled:!1,setUidToIdOnAdd:!1,dataExtent:this.layer.fullExtent,updateClippingExtent:e=>this._updateClippingExtent(e)})),this.processor.elevationAlignment?.events.on(`invalidate-elevation`,({extent:e,spatialReference:t})=>this._controller.updateElevationChanged(e,t)),this.supportsHeightUnitConversion&&(this._verticalScale=v(`point`,this.layer.spatialReference,this.view.spatialReference)),this.addResolvingPromise(this.processor.when()),this._memCache=this.view.resourceController.memoryController.newCache(`psl-${this.uid}`),this._controller=new ie({layerView:this}),P(this.layer.geometryDefinitions)&&(this._workerHandle=new S(e=>this.view.resourceController.immediate.schedule(e))),this.addHandles(this.layer.on(`apply-edits`,e=>this._updatingHandles.addPromise(e.result))),this.addHandles([this.layer.on(`edits`,e=>{let t=this._pendingEditsQueue.then(()=>this._handleEdits(e)).then();this._pendingEditsQueue=t,this._updatingHandles.consumePromise(t)}),o(()=>W.I3S_TREE_SHOW_TILES,e=>{if(e&&!this._treeDebugger){let e=this._controller.crsIndex;import(`./support/I3STreeDebugger.js`).then(({I3STreeDebugger:t})=>{!this._treeDebugger&&W.I3S_TREE_SHOW_TILES&&(this._treeDebugger=new t({lv:this,view:this.view,nodeSR:e}))})}else!e&&this._treeDebugger&&!W.I3S_TREE_SHOW_TILES&&(this._treeDebugger.destroy(),this._treeDebugger=null)},a)]),this.when(()=>{this._setupQueryEngine(),this._updatingHandles.add(()=>this.availableFields,()=>this._queryEngine?.clear(),s),this._updatingHandles.add(()=>this.maximumNumberOfFeatures,e=>this._controller.featureTarget=e,a),this._updatingHandles.add(()=>this.suspended,e=>{e&&this._removeAllNodeData()})}).catch(()=>{})}_reinitializeOverrides(){this._i3sOverrides?.destroy(),this._extractChanges?.destroy();let{layer:e}=this,t=this.view.resourceController?.memoryController;this._extractChanges=new oe({layer:e}),this._i3sOverrides=new j({view:this.view,layer:e,memoryController:t,extractChanges:this._extractChanges})}destroy(){this._treeDebugger=n(this._treeDebugger),this._i3sOverrides=n(this._i3sOverrides),this._extractChanges=n(this._extractChanges),this._set(`processor`,n(this.processor)),this._controller=n(this._controller),this._queryEngine=n(this._queryEngine),this._workerHandle=n(this._workerHandle),this._memCache=n(this._memCache),this.loadedGraphics.clear(),this._fieldsHelper=n(this._fieldsHelper)}get layerViewUid(){return this.uid}get updatingProgressValue(){return this._controller?.updatingProgress??1}get visibleAtCurrentScale(){return G()?ve(this.layer.effectiveScaleRange,this.view.scale):!this.processor?.scaleVisibilitySuspended}get requiredFields(){return this._fieldsHelper?.requiredFields??[]}get maximumNumberOfFeatures(){return this.processor?.graphicsCore?.displayFeatureLimit?.maximumNumberOfFeatures??0}set maximumNumberOfFeatures(e){e==null?(this._clearOverride(`maximumNumberOfFeatures`),this._controller.fixedFeatureTarget=!1):(this._override(`maximumNumberOfFeatures`,e),this._controller.fixedFeatureTarget=!0)}get maximumNumberOfFeaturesExceeded(){return!this.suspended&&!!this._controller?.useMaximumNumberOfFeatures&&!this._controller.leavesReached}get _excludeObjectIds(){return new Set(this.layer.excludeObjectIds)}get lodFactor(){return this.layer.semantic===`Labels`?1:this.view.qualitySettings.sceneService.pointLoDFactor}get hasM(){return!1}get hasZ(){return!0}get contentVisible(){return!this.suspended&&!!this._controller?.rootNodeVisible}get legendEnabled(){return this.contentVisible&&this.layer?.legendEnabled===!0}get _graphicOrigin(){return this.layer.graphicOrigin}async whenGraphicAttributes(e,t){return F(this.layer,e,this._getObjectIdField(),t,()=>[...this.loadedGraphics.nodes()])}getHit(e){if(!this.loadedGraphics)return null;let t=re(this.loadedGraphics.find(t=>t.uid===e),this.layer,this._graphicOrigin),n=this._getObjectIdField();return t?.attributes?.[n]==null?null:{type:`graphic`,graphic:t,layer:t.layer}}whenGraphicBounds(e,t){return this.processor.whenGraphicBounds(e,t)}computeAttachmentOrigin(e,t){return this.processor.computeAttachmentOrigin(e,t)}isUpdating(){return!!(this._controller?.updating||this.processor?.updating||this._fieldsHelper?.updating||this.layerFilterUpdating)}highlight(e,t){let n=_e(t),r=this.layer.objectIdField,i=z(e);if(i.length===0)return B;if(ce(i[0])){let e=i;if(I(this.layer.fieldsIndex,e[0].attributes,r)!=null){let t=e.map(e=>I(this.layer.fieldsIndex,e.attributes,r));return this.processor.highlightByObjectIds(t,r,n)}return this.processor.highlightByGraphics(e,n)}return V(i[0])?this.processor.highlightByObjectIds(i,r,n):B}get updatePolicy(){return this.processor.graphicsCore.effectiveUpdatePolicy}createInteractiveEditSession(e){return E(this._attributeEditingContext,e)}async _decompressBinaryPointData(e,t){let n={geometryBuffer:e.geometryBuffer};this._workerHandle??=new S(e=>this.view.resourceController.immediate.schedule(e));let r=await this._workerHandle.invoke(n,t);if(r==null)throw Error(`Failed to decompress Draco point data`);return{positionData:r.positions,featureIds:r.featureIds}}async addNode(e,n,r){if(!J(n)&&!Se(n))throw Error();if(this.loadedGraphics.hasNode(e.index)){t.getLogger(this).error(`I3S node `+e.id+` already added`);return}let i=this.layer.fullExtent==null?null:X(this.layer.fullExtent.clone(),.5),{featureIds:a,pointPositions:o}=J(n)?await this._extractBinaryPointPositions(e,n,r):this._extractLegacyPointPositions(n),s=[];this._validatePositions(e,a,o,i,s);let c=this._controller.crsVertex,l=this.view.spatialReference;m(o,c,0,o,l,0,a.length);let u=J(n)?e.level:0,d=this._createGraphics(a,o,e.index,u),f=new be(d,a,n.attributeDataInfo,e);if(await this._i3sOverrides.applyAttributeOverrides(f.featureIds,n.attributeDataInfo,r),e.numFeatures=f.graphics.length,this._updateNodeMemory(e),Y(f),s.length>0&&(this._computeObb(e,s,c),this._controller.updateVisibility(e.index)),!this._controller.isGeometryVisible(e)){this._cacheNodeData(f);return}if(this._verticalScale!=null)for(let e of f.graphics)this._verticalScale(e.geometry);let p=this.view.stage.renderView.olidRenderHelper;if(p){let e=se(this.view,this.uid);for(let t=0;t<f.featureIds.length;t++){let n=f.featureIds[t];p.setUidToObjectAndLayerId(n,f.graphics[t].uid,this.layer.id,this.uid,this.layer.popupEnabled&&!e&&ge(this.layer,this.view.popup?.defaultPopupTemplateEnabled),f.node.resources.attributes,t)}}this.loadedGraphics.addNode(e.index,f),this._controller.updateLoadStatus(e.index,!0),this._filterNode(f),this._treeDebugger&&this._treeDebugger.update()}_computeObb(e,t,n){let r=this._controller.crsIndex,i=r.isGeographic?this.view.renderSpatialReference:r;m(t,n,0,t,i,0),e.serviceObbInIndexSR=fe(new me(t,3)),r.isGeographic&&(h(e.serviceObbInIndexSR.getCenter(Z),i,Z,r),e.serviceObbInIndexSR.setCenter(Z))}isNodeLoaded(e){return this.loadedGraphics.hasNode(e)}isNodeReloading(){return!1}updateNodeState(){}getNodeComponentHandle(){}async _extractBinaryPointPositions(e,t,n){let r=await this._decompressBinaryPointData(t,n),i=r.positionData,a=i.length/3,o=_(a*3),s=e.serviceObbInIndexSR==null?f:e.serviceObbInIndexSR.getCenter(Te),c=Math.abs(s[2])*2**-20;for(let e=0;e<a;e++){let t=e*3;o[t]=i[t]+s[0],o[t+1]=i[t+1]+s[1],o[t+2]=i[t+2]+s[2],Math.abs(o[t+2])<c&&(o[t+2]=0)}return{featureIds:r.featureIds?te(r.featureIds):[],pointPositions:o}}_extractLegacyPointPositions(e){let t=e.pointData.length,n=_(3*t),r=[];for(let i=0;i<t;i++){let t=e.pointData[i],a=t.featureDataPosition,o=a.length,s=t.geometries?.[0]??we[o],c=t.featureIds[0];if(s.type!==`Embedded`||s.params.type!==`points`||o<2||o>3)continue;let l=s.params.vertexAttributes?.position??[0,0,0],u=r.length*3;n[u]=a[0]+l[0],n[u+1]=a[1]+l[1],n[u+2]=o===3?a[2]+l[2]:NaN,r.push(c)}return{featureIds:r,pointPositions:n}}_validatePositions(e,n,r,i,a){if(i==null&&e.serviceObbInIndexSR)return;let o=n.length;for(let n=0;n<o;n++){let o=n*3;d(Z,r[o],r[o+1],r[o+2]);let s=!Number.isNaN(r[2]);i!=null&&(s?!g(i,Z):!ee(i,Z))&&(this._coordinatesOutsideExtentErrors<this._maxCoordinatesOutsideExtentErrors&&t.getLogger(this).error(`Service Error: Coordinates outside of layer extent`),this._coordinatesOutsideExtentErrors+1===this._maxCoordinatesOutsideExtentErrors&&t.getLogger(this).error(`Maximum number of errors reached. Further errors are ignored.`),this._coordinatesOutsideExtentErrors++),e.serviceObbInIndexSR||a.push(Z[0],Z[1],Z[2])}}_createGraphics(e,t,n,r){let i=e.length,a=this._getObjectIdField(),o=this.processor.graphicsCore,s=[],l=this.view.spatialReference;for(let u=0;u<i;u++){let i=e[u],d={};i!=null&&(d[a]=i);let f=i??c(),p=u*3,m=isNaN(t[p+2])?void 0:t[p+2],h=new ne(l,t[p],t[p+1],m),g=this.loadedGraphics.get(f);if(g!=null)(g.level==null||g.level<r)&&(Q.property=`geometry`,Q.graphic=g,Q.oldValue=g.geometry,Q.newValue=h,g.geometry=h,g.level=r,o.graphicUpdateHandler(Q),$()),s.push(g);else{let e=c();s.push({objectId:f,uid:e,geometry:h,attributes:d,visible:!0,nodeIndex:n,level:r})}}return s}_updateNodeMemory(e){e.memory=4096+(e.numFeatures??0)*this.processor.graphicsCore.usedMemoryPerGraphic}_cacheNodeData(e){this._memCache.put(this._getMemCacheKey(e.node),e)}_getMemCacheKey(e){return`${e.index}`}_removeAllNodeData(){this.loadedGraphics.forEachNode((e,t)=>{if(e){let t=e.node;this._updateNodeMemory(t),this._cacheNodeData(e)}this._controller.updateLoadStatus(t,!1)}),this._treeDebugger&&this._treeDebugger.update(),this.loadedGraphics.clear()}removeNode(e){let t=this._removeNodeStageData(e);t&&(this._updateNodeMemory(t.node),this._cacheNodeData(t))}_removeNodeStageData(e){let t=this.loadedGraphics.getNode(e);return t==null?null:(this._controller.updateLoadStatus(e,!1),this.loadedGraphics.removeNode(e),this._treeDebugger&&this._treeDebugger.update(),t)}async loadCachedNodeData(e){return this._memCache?.pop(this._getMemCacheKey(e))}async addCachedNodeData(e,n,r,i){this.loadedGraphics.hasNode(e.index)?t.getLogger(this).error(`I3S node `+e.id+` already added`):(await this._i3sOverrides.applyAttributeOverrides(n.featureIds,r,i),n.attributeInfo=r,this.loadedGraphics.addNode(e.index,n),this._controller.updateLoadStatus(e.index,!0),this._updateNodeMemory(e),Y(n),this._filterNode(n),this._treeDebugger&&this._treeDebugger.update())}getLoadedNodeIds(){let e=[];return this.loadedGraphics.forEachNode(t=>e.push(t.node.id)),e.sort()}getVisibleNodes(){let e=[];return this.loadedGraphics.forEachNode(t=>e.push(t.node)),e}getLoadedNodeIndices(e){this.loadedGraphics.forEachNode((t,n)=>e.push(n))}getLoadedAttributes(e){let t=this.loadedGraphics.getNode(e);if(t?.attributeInfo!=null)return t.attributeInfo.loadedAttributes}getAttributeData(e){let t=this.loadedGraphics.getNode(e);if(t?.attributeInfo!=null)return t.attributeInfo.attributeData}_setAttributeData(e,t){let n=this.loadedGraphics.getNode(e);n?.attributeInfo!=null&&(n.attributeInfo.attributeData=t,this._attributeValuesChanged(n))}async updateAttributes(e,t,n){let r=this.loadedGraphics.getNode(e);r!=null&&(await this._i3sOverrides.applyAttributeOverrides(r.featureIds,t,n),r.attributeInfo=t,this._attributeValuesChanged(r))}_attributeValuesChanged(e){Y(e),this._filterNode(e);let{processor:t}=this,{graphicsCore:n}=t;if(n.labelsEnabled){let t=e.node.index,r=[];e.graphics.forEach(e=>e.nodeIndex===t&&r.push(e.uid)),n.updateLabelingInfo(r)}t.refreshFilter()}_updateClippingExtent(e){return this._controller&&this._controller.updateClippingArea(e),!1}_getObjectIdField(){return this.layer.objectIdField||y}_getGlobalIdField(){return this.layer.globalIdField}async _rendererChange(e,t){let{layer:{fieldsIndex:n}}=this,r=new Set,i;e?(await e.collectRequiredFields(r,n),i=Array.from(r).sort()):i=[],r.clear();let a;t?(await t.collectRequiredFields(r,n),a=Array.from(r).sort()):a=[],!(i.length===a.length&&i.every((e,t)=>i[t]===a[t]))&&this._reloadAllNodes()}_rangeInfosChanged(e){e!=null&&e.length>0&&t.getLogger(this).warn(`Unsupported property: rangeInfos are currently only serialized to and from web scenes but do not affect rendering.`)}_filterChange(){this.loadedGraphics.forEachNode(e=>this._filterNode(e))}_reloadAllNodes(){this._removeAllNodeData(),this._controller&&this._controller.restartNodeLoading()}_filterNode(e){let t=this.parsedDefinitionExpression,n=this._excludeObjectIds,r=this._getObjectIdField();for(let i of e.graphics){let e=i.visible,a=this._evaluateClause(t,i),o=!n.has(i.attributes[r]);i.visible=a&&o,e!==i.visible&&(Q.graphic=i,Q.property=`visible`,Q.oldValue=e,Q.newValue=i.visible,this.processor.graphicsCore.graphicUpdateHandler(Q),$())}}createQuery(){let e={outFields:[`*`],returnGeometry:!0,outSpatialReference:this.view.spatialReference};return this.filter?.createQuery(e)??new x(e)}queryFeatures(e,t){return this._queryEngine.executeQuery(this._ensureQuery(e),t?.signal)}queryObjectIds(e,t){return this._queryEngine.executeQueryForIds(this._ensureQuery(e),t?.signal)}queryFeatureCount(e,t){return this._queryEngine.executeQueryForCount(this._ensureQuery(e),t?.signal)}queryExtent(e,t){return this._queryEngine.executeQueryForExtent(this._ensureQuery(e),t?.signal)}_ensureQuery(e){return this._addDefinitionExpressionToQuery(e==null?this.createQuery():x.from(e))}_setupQueryEngine(){let{layer:e,view:t,hasM:n,hasZ:r}=this,{spatialReference:i,resourceController:a}=t,o=new T(i,e,a,()=>this.processor.featureStore,r,n,()=>this.availableFields);this._queryEngine=new w({context:o,priority:ye.FEATURE_QUERY_ENGINE})}get usedMemory(){return this.processor?.graphicsCore?.usedMemory??0}get unloadedMemory(){return((this._controller?.unloadedMemoryEstimate??0)+(this.processor?.graphicsCore?.unprocessedMemoryEstimate??0))*.8}get ignoresMemoryFactor(){return this._controller&&this._controller.fixedFeatureTarget}async _handleEdits(e){let t=this._attributeEditingContext,n=await D(t,e);O(t,n)}get _attributeEditingContext(){let e=this._getObjectIdField(),t=this._getGlobalIdField();return{sessions:this._interactiveEditingSessions,fieldsIndex:this.layer.fieldsIndex,objectIdField:e,globalIdField:t,forEachNode:e=>this.loadedGraphics.forEachNode(t=>e(t.node,t.featureIds)),attributeStorageInfo:this.layer.attributeStorageInfo??[],i3sOverrides:this._i3sOverrides,getAttributeData:e=>this.getAttributeData(e),setAttributeData:(t,n,r)=>{this._setAttributeData(t,n);let i=this.loadedGraphics.getNode(t);if(r!=null){let t=this.loadedGraphics.get(r.attributes[e]);t!=null&&this.processor.graphicsCore.recreateGraphics([t])}else i!=null&&this.processor.graphicsCore.recreateGraphics(i.graphics)},clearMemCache:()=>{}}}get performanceInfo(){return new H(this.usedMemory,this.loadedGraphics.length,-1,this.maximumNumberOfFeatures,this.loadedGraphics.nodeCount,this.processor.graphicsCore.performanceInfo)}get test(){}};e([l()],q.prototype,`processor`,void 0),e([l({type:ae})],q.prototype,`filter`,void 0),e([l()],q.prototype,`loadedGraphics`,void 0),e([l()],q.prototype,`layerViewUid`,null),e([l()],q.prototype,`_controller`,void 0),e([l()],q.prototype,`updating`,void 0),e([l()],q.prototype,`suspended`,void 0),e([l(pe)],q.prototype,`updatingProgress`,void 0),e([l()],q.prototype,`updatingProgressValue`,null),e([l({readOnly:!0})],q.prototype,`visibleAtCurrentScale`,null),e([l(K.requiredFields)],q.prototype,`requiredFields`,null),e([l(K.availableFields)],q.prototype,`availableFields`,void 0),e([l()],q.prototype,`_fieldsHelper`,void 0),e([l({type:Number})],q.prototype,`maximumNumberOfFeatures`,null),e([l({readOnly:!0})],q.prototype,`maximumNumberOfFeaturesExceeded`,null),e([l()],q.prototype,`_excludeObjectIds`,null),e([l({readOnly:!0})],q.prototype,`lodFactor`,null),e([l({readOnly:!0})],q.prototype,`hasM`,null),e([l({readOnly:!0})],q.prototype,`hasZ`,null),e([l()],q.prototype,`contentVisible`,null),e([l({readOnly:!0})],q.prototype,`legendEnabled`,null),e([l()],q.prototype,`_graphicOrigin`,null),q=e([u(`esri.views.3d.layers.SceneLayerGraphicsView3D`)],q);const xe=q;function Se(e){return`pointData`in e}function J(e){return`geometryBuffer`in e&&e.geometryBuffer!==null}function Ce(e,t,n){let r=t.attributeInfo;if(r?.loadedAttributes==null||r.attributeData==null)return!1;let i=!1;for(let{name:t}of r.loadedAttributes)if(r.attributeData[t]){let a=k(r.attributeData[t],n);a!==e.attributes[t]&&(e.attributes[t]=a,i=!0)}return i}function Y(e){let t=e.attributeInfo;if(t?.loadedAttributes==null||t.attributeData==null)return;let n=e.node.index;for(let r=0;r<e.graphics.length;r++){let i=e.graphics[r];if(i.nodeIndex===n){i.attributes||={};for(let{name:e}of t.loadedAttributes)t.attributeData[e]&&(i.attributes[e]=k(t.attributeData[e],r))}}}function X(e,t){return e.xmin-=t,e.ymin-=t,e.xmax+=t,e.ymax+=t,e.zmin!=null&&e.zmax!=null&&(e.zmin-=t,e.zmax+=t),e.mmin!=null&&e.mmax!=null&&(e.mmin-=t,e.mmax+=t),e}const we={2:{type:`Embedded`,params:{type:`points`,vertexAttributes:{position:[0,0]}}},3:{type:`Embedded`,params:{type:`points`,vertexAttributes:{position:[0,0,0]}}}},Z=p(),Q={graphic:null,property:null,oldValue:null,newValue:null},Te=p();function $(){Q.graphic=null,Q.property=null,Q.oldValue=null,Q.newValue=null}export{xe as default};
2
+ import{__decorate as e}from"tslib";import"../../../core/has.js";import t from"../../../core/Logger.js";import{destroyMaybe as n}from"../../../core/maybe.js";import{estimateNumberArrayMemory as r}from"../../../core/memoryEstimations.js";import{throwIfAborted as i}from"../../../core/promiseUtils.js";import{initial as a,watch as o,sync as s}from"../../../core/reactiveUtils.js";import{generateUID as c}from"../../../core/uid.js";import{property as l,subclass as u}from"../../../core/accessorSupport/decorators.js";import{set as d}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as f,create as p}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{projectBuffer as m}from"../../../geometry/projection/projectBuffer.js";import{projectVectorToVector as h}from"../../../geometry/projection/projectVectorToVector.js";import{extentContainsCoords3D as g,extentContainsCoords2D as _}from"../../../geometry/support/contains.js";import{newDoubleArray as v,doubleArrayFrom as ee}from"../../../geometry/support/DoubleArray.js";import{isInEffectiveScaleRange as te}from"../../../geometry/support/scaleUtils.js";import{getGeometryZScaler as ne}from"../../../geometry/support/zscale.js";import{fallbackObjectIDAttribute as re}from"../../../layers/LayerConstants.js";import{estimateSize as ie}from"../../../layers/graphics/dehydratedFeatures.js";import{ImmutableDehydratedPoint as y}from"../../../layers/graphics/dehydratedPoint.js";import{hydrateGraphic as b}from"../../../layers/graphics/hydratedFeatures.js";import x from"../../../layers/graphics/controllers/I3SOnDemandController.js";import ae from"../../../layers/support/FeatureFilter.js";import{I3SExtractChanges as S}from"../../../layers/support/I3SExtractChanges.js";import C from"../../../rest/support/Query.js";import{isBasemapLayerView as oe}from"../../../support/basemapUtils.js";import{isGraphic as se}from"../../../support/graphicInstanceUtils.js";import{I3SPointsWorkerHandle as w}from"./I3SPointsWorkerHandle.js";import{LayerView3D as ce}from"./LayerView3D.js";import{Graphics3DFeatureProcessor as T}from"./graphics/Graphics3DFeatureProcessor.js";import{QueryEngine as E}from"./graphics/QueryEngine.js";import{QueryEngineContext as D}from"./graphics/QueryEngineContext.js";import{createInteractiveEditSession as O,normalizeEditResultsEvent as k,processAttributeEdits as A}from"./i3s/featureEditing.js";import{getCachedAttributeValue as j}from"./i3s/I3SBinaryReader.js";import{I3SGraphicsMap as M}from"./i3s/I3SGraphicsMap.js";import{I3SOverrides as N}from"./i3s/I3SOverrides.js";import{checkRecyclable as P,checkSpatialReferences as F,containsDraco as I,whenGraphicAttributes as L}from"./i3s/I3SUtil.js";import{attributeLookup as R}from"./support/attributeUtils.js";import{DefinitionExpressionSceneLayerView as z}from"./support/DefinitionExpressionSceneLayerView.js";import{defineFieldProperties as B}from"./support/fieldProperties.js";import{normalizeHighlightTarget as V,emptyHighlightHandle as H,isObjectId as U}from"./support/highlightUtils.js";import{LayerViewPerformanceInfo as le}from"./support/LayerViewPerformanceInfo.js";import{PopupSceneLayerView as W}from"./support/PopupSceneLayerView.js";import{SceneLayerViewRequiredFields as ue}from"./support/SceneLayerViewRequiredFields.js";import{TemporalSceneLayerView as de}from"./support/TemporalSceneLayerView.js";import{debugFlags as G}from"../support/debugFlags.js";import{compute as fe}from"../support/orientedBoundingBox.js";import{updatingProgress as pe}from"../support/updatingProperties.js";import{Vertices as me}from"../webgl-engine/lib/Attribute.js";import he from"../../layers/SceneLayerView.js";import{hasPopupTemplate as ge}from"../../layers/support/popupUtils.js";import{getHighlightName as _e}from"../../support/highlightOptionsUtils.js";import{hasLayerBasedScaleVisibility as K}from"../../support/layerViewUtils.js";import{TaskPriority as ve}from"../../support/Scheduler.js";const q=B();class ye{constructor(e,t,n,r){this.graphics=e,this.featureIds=t,this.attributeInfo=n,this.node=r}get usedMemory(){return this.graphics.reduce((e,t)=>ie(t)+e,r(this.featureIds)+1024)}}let J=class extends de(z(W(ce(he)))){constructor(){super(...arguments),this.type=`scene-layer-graphics-3d`,this._queryEngine=null,this._memCache=null,this._interactiveEditingSessions=new Map,this._pendingEditsQueue=Promise.resolve(),this.loadedGraphics=new M((e,t,n)=>Se(e,t,n),e=>this.processor.graphicsCore.recreateGraphics(e),this.logError),this.holeFilling=`always`,this.progressiveLoadFactor=1,this.supportsHeightUnitConversion=!0,this._coordinatesOutsideExtentErrors=0,this._maxCoordinatesOutsideExtentErrors=20}tryRecycleWith(e,t){return e.url!==this.layer.url||!this._i3sOverrides.isEmpty?null:e.load(t).then(()=>{i(t),P(this.layer,e,this._i3sOverrides),this.layer=e,this._reinitializeOverrides(),n(this._queryEngine),this._setupQueryEngine(),this.processor.resetObjectStates()})}initialize(){this.addResolvingPromise(this.layer.indexInfo),this._reinitializeOverrides(),F(this.layer,this.view.spatialReference,this.view.viewingMode),this._fieldsHelper=new ue({layerView:this}),this._updatingHandles.add(()=>this.layer.rangeInfos,e=>this._rangeInfosChanged(e),a),this._updatingHandles.add(()=>this.layer.renderer,(e,t)=>this._rendererChange(e,t)),this._updatingHandles.add(()=>[this.parsedDefinitionExpression,this.layer.excludeObjectIds],()=>this._filterChange()),this._set(`processor`,new T({owner:this,preferredUpdatePolicy:0,scaleVisibilityEnabled:!K(),filterVisibilityEnabled:!0,timeExtentEnabled:!1,frustumVisibilityEnabled:!1,elevationAlignmentEnabled:!0,elevationFeatureExpressionEnabled:!1,setUidToIdOnAdd:!1,dataExtent:this.layer.fullExtent,updateClippingExtent:e=>this._updateClippingExtent(e)})),this.processor.elevationAlignment?.events.on(`invalidate-elevation`,({extent:e,spatialReference:t})=>this._controller.updateElevationChanged(e,t)),this.supportsHeightUnitConversion&&(this._verticalScale=ne(`point`,this.layer.spatialReference,this.view.spatialReference)),this.addResolvingPromise(this.processor.when()),this._memCache=this.view.resourceController.memoryController.newCache(`psl-${this.uid}`),this._controller=new x({layerView:this}),I(this.layer.geometryDefinitions)&&(this._workerHandle=new w(e=>this.view.resourceController.immediate.schedule(e))),this.addHandles(this.layer.on(`apply-edits`,e=>this._updatingHandles.addPromise(e.result))),this.addHandles([this.layer.on(`edits`,e=>{let t=this._pendingEditsQueue.then(()=>this._handleEdits(e)).then();this._pendingEditsQueue=t,this._updatingHandles.consumePromise(t)}),o(()=>G.I3S_TREE_SHOW_TILES,e=>{if(e&&!this._treeDebugger){let e=this._controller.crsIndex;import(`./support/I3STreeDebugger.js`).then(({I3STreeDebugger:t})=>{!this._treeDebugger&&G.I3S_TREE_SHOW_TILES&&(this._treeDebugger=new t({lv:this,view:this.view,nodeSR:e}))})}else!e&&this._treeDebugger&&!G.I3S_TREE_SHOW_TILES&&(this._treeDebugger.destroy(),this._treeDebugger=null)},a)]),this.when(()=>{this._setupQueryEngine(),this._updatingHandles.add(()=>this.availableFields,()=>this._queryEngine?.clear(),s),this._updatingHandles.add(()=>this.maximumNumberOfFeatures,e=>this._controller.featureTarget=e,a),this._updatingHandles.add(()=>this.suspended,e=>{e&&this._removeAllNodeData()})}).catch(()=>{})}_reinitializeOverrides(){this._i3sOverrides?.destroy(),this._extractChanges?.destroy();let{layer:e}=this,t=this.view.resourceController?.memoryController;this._extractChanges=new S({layer:e}),this._i3sOverrides=new N({view:this.view,layer:e,memoryController:t,extractChanges:this._extractChanges})}destroy(){this._treeDebugger=n(this._treeDebugger),this._i3sOverrides=n(this._i3sOverrides),this._extractChanges=n(this._extractChanges),this._set(`processor`,n(this.processor)),this._controller=n(this._controller),this._queryEngine=n(this._queryEngine),this._workerHandle=n(this._workerHandle),this._memCache=n(this._memCache),this.loadedGraphics.clear(),this._fieldsHelper=n(this._fieldsHelper)}get layerViewUid(){return this.uid}get updatingProgressValue(){return this._controller?.updatingProgress??1}get visibleAtCurrentScale(){return K()?te(this.layer.effectiveScaleRange,this.view.scale):!this.processor?.scaleVisibilitySuspended}get requiredFields(){return this._fieldsHelper?.requiredFields??[]}get maximumNumberOfFeatures(){return this.processor?.graphicsCore?.displayFeatureLimit?.maximumNumberOfFeatures??0}set maximumNumberOfFeatures(e){e==null?(this._clearOverride(`maximumNumberOfFeatures`),this._controller.fixedFeatureTarget=!1):(this._override(`maximumNumberOfFeatures`,e),this._controller.fixedFeatureTarget=!0)}get maximumNumberOfFeaturesExceeded(){return!this.suspended&&!!this._controller?.useMaximumNumberOfFeatures&&!this._controller.leavesReached}get _excludeObjectIds(){return new Set(this.layer.excludeObjectIds)}get lodFactor(){return this.layer.semantic===`Labels`?1:this.view.qualitySettings.sceneService.pointLoDFactor}get hasM(){return!1}get hasZ(){return!0}get contentVisible(){return!this.suspended&&!!this._controller?.rootNodeVisible}get legendEnabled(){return this.contentVisible&&this.layer?.legendEnabled===!0}get _graphicOrigin(){return this.layer.graphicOrigin}async whenGraphicAttributes(e,t){return L(this.layer,e,this._getObjectIdField(),t,()=>[...this.loadedGraphics.nodes()])}getHit(e){if(!this.loadedGraphics)return null;let t=b(this.loadedGraphics.find(t=>t.uid===e),this.layer,this._graphicOrigin),n=this._getObjectIdField();return t?.attributes?.[n]==null?null:{type:`graphic`,graphic:t,layer:t.layer}}whenGraphicBounds(e,t){return this.processor.whenGraphicBounds(e,t)}computeAttachmentOrigin(e,t){return this.processor.computeAttachmentOrigin(e,t)}isUpdating(){return!!(this._controller?.updating||this.processor?.updating||this._fieldsHelper?.updating||this.layerFilterUpdating)}highlight(e,t){let n=_e(t),r=this.layer.objectIdField,i=V(e);if(i.length===0)return H;if(se(i[0])){let e=i;if(R(this.layer.fieldsIndex,e[0].attributes,r)!=null){let t=e.map(e=>R(this.layer.fieldsIndex,e.attributes,r));return this.processor.highlightByObjectIds(t,r,n)}return this.processor.highlightByGraphics(e,n)}return U(i[0])?this.processor.highlightByObjectIds(i,r,n):H}get updatePolicy(){return this.processor.graphicsCore.effectiveUpdatePolicy}createInteractiveEditSession(e){return O(this._attributeEditingContext,e)}async _decompressBinaryPointData(e,t){let n={geometryBuffer:e.geometryBuffer};this._workerHandle??=new w(e=>this.view.resourceController.immediate.schedule(e));let r=await this._workerHandle.invoke(n,t);if(r==null)throw Error(`Failed to decompress Draco point data`);return{positionData:r.positions,featureIds:r.featureIds}}async addNode(e,n,r){if(!Y(n)&&!xe(n))throw Error();if(this.loadedGraphics.hasNode(e.index)){t.getLogger(this).error(`I3S node `+e.id+` already added`);return}let i=this.layer.fullExtent==null?null:Ce(this.layer.fullExtent.clone(),.5),{featureIds:a,pointPositions:o}=Y(n)?await this._extractBinaryPointPositions(e,n,r):this._extractLegacyPointPositions(n),s=[];this._validatePositions(e,a,o,i,s);let c=this._controller.crsVertex,l=this.view.spatialReference;m(o,c,0,o,l,0,a.length);let u=Y(n)?e.level:0,d=this._createGraphics(a,o,e.index,u),f=new ye(d,a,n.attributeDataInfo,e);if(await this._i3sOverrides.applyAttributeOverrides(f.featureIds,n.attributeDataInfo,r),e.numFeatures=f.graphics.length,this._updateNodeMemory(e),X(f),s.length>0&&(this._computeObb(e,s,c),this._controller.updateVisibility(e.index)),!this._controller.isGeometryVisible(e)){this._cacheNodeData(f);return}if(this._verticalScale!=null)for(let e of f.graphics)this._verticalScale(e.geometry);let p=this.view.stage.renderView.olidRenderHelper;if(p){let e=oe(this.view,this.uid);for(let t=0;t<f.featureIds.length;t++){let n=f.featureIds[t];p.setUidToObjectAndLayerId(n,f.graphics[t].uid,this.layer.id,this.uid,this.layer.popupEnabled&&!e&&ge(this.layer,this.view.popup?.defaultPopupTemplateEnabled),f.node.resources.attributes,t)}}this.loadedGraphics.addNode(e.index,f),this._controller.updateLoadStatus(e.index,!0),this._filterNode(f),this._treeDebugger&&this._treeDebugger.update()}_computeObb(e,t,n){let r=this._controller.crsIndex,i=r.isGeographic?this.view.renderSpatialReference:r;m(t,n,0,t,i,0),e.serviceObbInIndexSR=fe(new me(t,3)),r.isGeographic&&(h(e.serviceObbInIndexSR.getCenter(Z),i,Z,r),e.serviceObbInIndexSR.setCenter(Z))}isNodeLoaded(e){return this.loadedGraphics.hasNode(e)}isNodeReloading(){return!1}updateNodeState(){}getNodeComponentHandle(){}async _extractBinaryPointPositions(e,t,n){let r=await this._decompressBinaryPointData(t,n),i=r.positionData,a=i.length/3,o=v(a*3),s=e.serviceObbInIndexSR==null?f:e.serviceObbInIndexSR.getCenter(Te),c=Math.abs(s[2])*2**-20;for(let e=0;e<a;e++){let t=e*3;o[t]=i[t]+s[0],o[t+1]=i[t+1]+s[1],o[t+2]=i[t+2]+s[2],Math.abs(o[t+2])<c&&(o[t+2]=0)}return{featureIds:r.featureIds?ee(r.featureIds):[],pointPositions:o}}_extractLegacyPointPositions(e){let t=e.pointData.length,n=v(3*t),r=[];for(let i=0;i<t;i++){let t=e.pointData[i],a=t.featureDataPosition,o=a.length,s=t.geometries?.[0]??we[o],c=t.featureIds[0];if(s.type!==`Embedded`||s.params.type!==`points`||o<2||o>3)continue;let l=s.params.vertexAttributes?.position??[0,0,0],u=r.length*3;n[u]=a[0]+l[0],n[u+1]=a[1]+l[1],n[u+2]=o===3?a[2]+l[2]:NaN,r.push(c)}return{featureIds:r,pointPositions:n}}_validatePositions(e,n,r,i,a){if(i==null&&e.serviceObbInIndexSR)return;let o=n.length;for(let n=0;n<o;n++){let o=n*3;d(Z,r[o],r[o+1],r[o+2]);let s=!Number.isNaN(r[2]);i!=null&&(s?!g(i,Z):!_(i,Z))&&(this._coordinatesOutsideExtentErrors<this._maxCoordinatesOutsideExtentErrors&&t.getLogger(this).error(`Service Error: Coordinates outside of layer extent`),this._coordinatesOutsideExtentErrors+1===this._maxCoordinatesOutsideExtentErrors&&t.getLogger(this).error(`Maximum number of errors reached. Further errors are ignored.`),this._coordinatesOutsideExtentErrors++),e.serviceObbInIndexSR||a.push(Z[0],Z[1],Z[2])}}_createGraphics(e,t,n,r){let i=e.length,a=this._getObjectIdField(),o=this.processor.graphicsCore,s=[],l=this.view.spatialReference;for(let u=0;u<i;u++){let i=e[u],d={};i!=null&&(d[a]=i);let f=i??c(),p=u*3,m=isNaN(t[p+2])?void 0:t[p+2],h=new y(l,t[p],t[p+1],m),g=this.loadedGraphics.get(f);if(g!=null)(g.level==null||g.level<r)&&(Q.property=`geometry`,Q.graphic=g,Q.oldValue=g.geometry,Q.newValue=h,g.geometry=h,g.level=r,o.graphicUpdateHandler(Q),$()),s.push(g);else{let e=c();s.push({objectId:f,uid:e,geometry:h,attributes:d,visible:!0,nodeIndex:n,level:r})}}return s}_updateNodeMemory(e){e.memory=4096+(e.numFeatures??0)*this.processor.graphicsCore.usedMemoryPerGraphic}_cacheNodeData(e){this._memCache.put(this._getMemCacheKey(e.node),e)}_getMemCacheKey(e){return`${e.index}`}_removeAllNodeData(){this.loadedGraphics.forEachNode((e,t)=>{if(e){let t=e.node;this._updateNodeMemory(t),this._cacheNodeData(e)}this._controller.updateLoadStatus(t,!1)}),this._treeDebugger&&this._treeDebugger.update(),this.loadedGraphics.clear()}removeNode(e){let t=this._removeNodeStageData(e);t&&(this._updateNodeMemory(t.node),this._cacheNodeData(t))}_removeNodeStageData(e){let t=this.loadedGraphics.getNode(e);return t==null?null:(this._controller.updateLoadStatus(e,!1),this.loadedGraphics.removeNode(e),this._treeDebugger&&this._treeDebugger.update(),t)}async loadCachedNodeData(e){return this._memCache?.pop(this._getMemCacheKey(e))}async addCachedNodeData(e,n,r,i){this.loadedGraphics.hasNode(e.index)?t.getLogger(this).error(`I3S node `+e.id+` already added`):(await this._i3sOverrides.applyAttributeOverrides(n.featureIds,r,i),n.attributeInfo=r,this.loadedGraphics.addNode(e.index,n),this._controller.updateLoadStatus(e.index,!0),this._updateNodeMemory(e),X(n),this._filterNode(n),this._treeDebugger&&this._treeDebugger.update())}getLoadedNodeIds(){let e=[];return this.loadedGraphics.forEachNode(t=>e.push(t.node.id)),e.sort()}getVisibleNodes(){let e=[];return this.loadedGraphics.forEachNode(t=>e.push(t.node)),e}getLoadedNodeIndices(e){this.loadedGraphics.forEachNode((t,n)=>e.push(n))}getLoadedAttributes(e){let t=this.loadedGraphics.getNode(e);if(t?.attributeInfo!=null)return t.attributeInfo.loadedAttributes}getAttributeData(e){let t=this.loadedGraphics.getNode(e);if(t?.attributeInfo!=null)return t.attributeInfo.attributeData}_setAttributeData(e,t){let n=this.loadedGraphics.getNode(e);n?.attributeInfo!=null&&(n.attributeInfo.attributeData=t,this._attributeValuesChanged(n))}async updateAttributes(e,t,n){let r=this.loadedGraphics.getNode(e);r!=null&&(await this._i3sOverrides.applyAttributeOverrides(r.featureIds,t,n),r.attributeInfo=t,this._attributeValuesChanged(r))}_attributeValuesChanged(e){X(e),this._filterNode(e);let{processor:t}=this,{graphicsCore:n}=t;if(n.labelsEnabled){let t=e.node.index,r=[];e.graphics.forEach(e=>e.nodeIndex===t&&r.push(e.uid)),n.updateLabelingInfo(r)}t.refreshFilter()}_updateClippingExtent(e){return this._controller&&this._controller.updateClippingArea(e),!1}_getObjectIdField(){return this.layer.objectIdField||re}_getGlobalIdField(){return this.layer.globalIdField}async _rendererChange(e,t){let{layer:{fieldsIndex:n}}=this,r=new Set,i;e?(await e.collectRequiredFields(r,n),i=Array.from(r).sort()):i=[],r.clear();let a;t?(await t.collectRequiredFields(r,n),a=Array.from(r).sort()):a=[],!(i.length===a.length&&i.every((e,t)=>i[t]===a[t]))&&this._reloadAllNodes()}_rangeInfosChanged(e){e!=null&&e.length>0&&t.getLogger(this).warn(`Unsupported property: rangeInfos are currently only serialized to and from web scenes but do not affect rendering.`)}_filterChange(){this.loadedGraphics.forEachNode(e=>this._filterNode(e))}_reloadAllNodes(){this._removeAllNodeData(),this._controller&&this._controller.restartNodeLoading()}_filterNode(e){let t=this.parsedDefinitionExpression,n=this._excludeObjectIds,r=this._getObjectIdField();for(let i of e.graphics){let e=i.visible,a=this._evaluateClause(t,i),o=!n.has(i.attributes[r]);i.visible=a&&o,e!==i.visible&&(Q.graphic=i,Q.property=`visible`,Q.oldValue=e,Q.newValue=i.visible,this.processor.graphicsCore.graphicUpdateHandler(Q),$())}}createQuery(){let e={outFields:[`*`],returnGeometry:!0,outSpatialReference:this.view.spatialReference};return this.filter?.createQuery(e)??new C(e)}queryFeatures(e,t){return this._queryEngine.executeQuery(this._ensureQuery(e),t?.signal)}queryObjectIds(e,t){return this._queryEngine.executeQueryForIds(this._ensureQuery(e),t?.signal)}queryFeatureCount(e,t){return this._queryEngine.executeQueryForCount(this._ensureQuery(e),t?.signal)}queryExtent(e,t){return this._queryEngine.executeQueryForExtent(this._ensureQuery(e),t?.signal)}_ensureQuery(e){return this._addDefinitionExpressionToQuery(e==null?this.createQuery():C.from(e))}_setupQueryEngine(){let{layer:e,view:t,hasM:n,hasZ:r}=this,{spatialReference:i,resourceController:a}=t,o=new D(i,e,a,()=>this.processor.featureStore,r,n,()=>this.availableFields);this._queryEngine=new E({context:o,priority:ve.FEATURE_QUERY_ENGINE})}get usedMemory(){return this.processor?.graphicsCore?.usedMemory??0}get unloadedMemory(){return((this._controller?.unloadedMemoryEstimate??0)+(this.processor?.graphicsCore?.unprocessedMemoryEstimate??0))*.8}get ignoresMemoryFactor(){return this._controller&&this._controller.fixedFeatureTarget}async _handleEdits(e){let t=this._attributeEditingContext,n=await k(t,e);A(t,n)}get _attributeEditingContext(){let e=this._getObjectIdField(),t=this._getGlobalIdField();return{sessions:this._interactiveEditingSessions,fieldsIndex:this.layer.fieldsIndex,objectIdField:e,globalIdField:t,forEachNode:e=>this.loadedGraphics.forEachNode(t=>e(t.node,t.featureIds)),attributeStorageInfo:this.layer.attributeStorageInfo??[],i3sOverrides:this._i3sOverrides,getAttributeData:e=>this.getAttributeData(e),setAttributeData:(t,n,r)=>{this._setAttributeData(t,n);let i=this.loadedGraphics.getNode(t);if(r!=null){let t=this.loadedGraphics.get(r.attributes[e]);t!=null&&this.processor.graphicsCore.recreateGraphics([t])}else i!=null&&this.processor.graphicsCore.recreateGraphics(i.graphics)},clearMemCache:()=>{}}}get performanceInfo(){return new le(this.usedMemory,this.loadedGraphics.length,-1,this.maximumNumberOfFeatures,this.loadedGraphics.nodeCount,this.processor.graphicsCore.performanceInfo)}get test(){}};e([l()],J.prototype,`processor`,void 0),e([l({type:ae})],J.prototype,`filter`,void 0),e([l()],J.prototype,`loadedGraphics`,void 0),e([l()],J.prototype,`layerViewUid`,null),e([l()],J.prototype,`_controller`,void 0),e([l()],J.prototype,`updating`,void 0),e([l()],J.prototype,`suspended`,void 0),e([l(pe)],J.prototype,`updatingProgress`,void 0),e([l()],J.prototype,`updatingProgressValue`,null),e([l({readOnly:!0})],J.prototype,`visibleAtCurrentScale`,null),e([l(q.requiredFields)],J.prototype,`requiredFields`,null),e([l(q.availableFields)],J.prototype,`availableFields`,void 0),e([l()],J.prototype,`_fieldsHelper`,void 0),e([l({type:Number})],J.prototype,`maximumNumberOfFeatures`,null),e([l({readOnly:!0})],J.prototype,`maximumNumberOfFeaturesExceeded`,null),e([l()],J.prototype,`_excludeObjectIds`,null),e([l({readOnly:!0})],J.prototype,`lodFactor`,null),e([l({readOnly:!0})],J.prototype,`hasM`,null),e([l({readOnly:!0})],J.prototype,`hasZ`,null),e([l()],J.prototype,`contentVisible`,null),e([l({readOnly:!0})],J.prototype,`legendEnabled`,null),e([l()],J.prototype,`_graphicOrigin`,null),J=e([u(`esri.views.3d.layers.SceneLayerGraphicsView3D`)],J);const be=J;function xe(e){return`pointData`in e}function Y(e){return`geometryBuffer`in e&&e.geometryBuffer!==null}function Se(e,t,n){let r=t.attributeInfo;if(r?.loadedAttributes==null||r.attributeData==null)return!1;let i=!1;for(let{name:t}of r.loadedAttributes)if(r.attributeData[t]){let a=j(r.attributeData[t],n);a!==e.attributes[t]&&(e.attributes[t]=a,i=!0)}return i}function X(e){let t=e.attributeInfo;if(t?.loadedAttributes==null||t.attributeData==null)return;let n=e.node.index;for(let r=0;r<e.graphics.length;r++){let i=e.graphics[r];if(i.nodeIndex===n){i.attributes||={};for(let{name:e}of t.loadedAttributes)t.attributeData[e]&&(i.attributes[e]=j(t.attributeData[e],r))}}}function Ce(e,t){return e.xmin-=t,e.ymin-=t,e.xmax+=t,e.ymax+=t,e.zmin!=null&&e.zmax!=null&&(e.zmin-=t,e.zmax+=t),e.mmin!=null&&e.mmax!=null&&(e.mmin-=t,e.mmax+=t),e}const we={2:{type:`Embedded`,params:{type:`points`,vertexAttributes:{position:[0,0]}}},3:{type:`Embedded`,params:{type:`points`,vertexAttributes:{position:[0,0,0]}}}},Z=p(),Q={graphic:null,property:null,oldValue:null,newValue:null},Te=p();function $(){Q.graphic=null,Q.property=null,Q.oldValue=null,Q.newValue=null}export{be as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../Graphic.js";import n from"../../../core/Logger.js";import{destroyMaybe as r}from"../../../core/maybe.js";import{throwIfAborted as i}from"../../../core/promiseUtils.js";import a from"../../../core/ReactiveSet.js";import{initial as o}from"../../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../../core/accessorSupport/decorators.js";import l from"../../../core/sql/WhereClause.js";import u from"../../../layers/support/FeatureFilter.js";import{getFloorFilterClause as d}from"../../../layers/support/floorFilterUtils.js";import f from"../../../rest/support/Query.js";import{isNumber as p}from"../../../support/guards.js";import{I3SMeshView3D as m}from"./I3SMeshView3D.js";import{LayerView3D as h}from"./LayerView3D.js";import{createInteractiveEditSession as g,normalizeEditResultsEvent as _,processGeometryEdits as v,processAttributeEdits as y}from"./i3s/featureEditing.js";import{createGetFeatureExtent as b}from"./i3s/I3SGeometryUtil.js";import{I3SMeshViewFilter as x}from"./i3s/I3SMeshViewFilter.js";import{I3SOverrides as S}from"./i3s/I3SOverrides.js";import{I3SQueryEngine as C}from"./i3s/I3SQueryEngine.js";import{I3SQueryFeatureAdapter as w,I3SQueryFeature as T}from"./i3s/I3SQueryFeatureAdapter.js";import{I3SQueryFeatureStore as E}from"./i3s/I3SQueryFeatureStore.js";import{checkRecyclable as D,getIndexCrs as O,objectIdFilter as k}from"./i3s/I3SUtil.js";import{DefinitionExpressionSceneLayerView as A}from"./support/DefinitionExpressionSceneLayerView.js";import{defineFieldProperties as j}from"./support/fieldProperties.js";import{PopupSceneLayerView as M}from"./support/PopupSceneLayerView.js";import{SceneLayerViewRequiredFields as N}from"./support/SceneLayerViewRequiredFields.js";import{TemporalSceneLayerView as P}from"./support/TemporalSceneLayerView.js";import{updatingProgress as F}from"../support/updatingProperties.js";import I from"../../layers/SceneLayerView.js";import{hasPopupTemplate as L}from"../../layers/support/popupUtils.js";import{isInEffectiveScaleRange as R}from"../../support/layerViewUtils.js";import{TaskPriority as z}from"../../support/Scheduler.js";const B=j();let V=class extends m(P(A(M(h(I))))){constructor(){super(...arguments),this.type=`scene-layer-3d`,this.viewFilter=null,this._setVisibilityHiddenObjectIds=new a,this.progressiveLoadFactor=1,this._elevationContext=2,this._supportsLabeling=!0,this._pendingEditsQueue=Promise.resolve(),this._interactiveEditingSessions=new Map,this._queryEngine=null}tryRecycleWith(e,t){return e.url!==this.layer.url||!this.i3sOverrides.isEmpty?null:e.load(t).then(()=>{i(t),D(this.layer,e,this.i3sOverrides),this.layer=e,this.i3sOverrides.destroy();let n=this.view.resourceController?.memoryController;this.i3sOverrides=new S({view:this.view,layer:e,memoryController:n,extractChanges:this.extractChanges}),this.resetHighlights()})}get layerPopupEnabledAndHasTemplate(){return this.layer.popupEnabled&&L(this.layer,this.view.popup?.defaultPopupTemplateEnabled)}get filter(){return this._get(`filter`)}set filter(e){this._set(`filter`,x.checkSupport(e)?e:null)}get requiredFields(){return this._fieldsHelper?.requiredFields??[]}get _floorFilterClause(){let e=d(this);return e==null?null:l.create(e,{fieldsIndex:this.layer.fieldsIndex})}get _excludeObjectIdsSorted(){let e=this.layer.excludeObjectIds.toArray();return e.length?e.sort((e,t)=>e-t):null}get _setVisibilityHiddenObjectIdsSorted(){return this._setVisibilityHiddenObjectIds.size?Array.from(this._setVisibilityHiddenObjectIds).sort((e,t)=>e-t):null}get lodFactor(){return this.view?.qualitySettings?.sceneService?.objectLoDFactor??1}get lodCrossfadeUncoveredDuration(){return this.view?.qualitySettings?.fadeDuration??0}get updatingProgressValue(){return this._controller?.updatingProgress??0}get visibleAtCurrentScale(){return R(this.layer.effectiveScaleRange,this.view.scale)}get _graphicOrigin(){return this.layer.graphicOrigin}initialize(){this._fieldsHelper=new N({layerView:this}),this._updatingHandles.add(()=>this.layer.rangeInfos,e=>this._rangeInfosChanged(e),o),this._updatingHandles.add(()=>this.layer.renderer,e=>this._updatingHandles.addPromise(this._rendererChange(e)),o);let e=()=>this._filterChange();this._updatingHandles.add(()=>this.parsedDefinitionExpression,e),this._updatingHandles.add(()=>this.mergedFilter,e),this._updatingHandles.add(()=>this._floorFilterClause,e),this._updatingHandles.add(()=>this._excludeObjectIdsSorted,e),this._updatingHandles.add(()=>this._setVisibilityHiddenObjectIdsSorted,e),this._updatingHandles.add(()=>this.viewFilter?.sortedObjectIds,e),this._updatingHandles.add(()=>this.viewFilter?.parsedWhereClause,e),this._updatingHandles.add(()=>this.getTimeFilterDependencies(),e),this._updatingHandles.add(()=>[this.viewFilter?.parsedGeometry,this.mergedFilter?.spatialRelationship,this.layer.filter?.spatialRelationship],()=>this._geometryFilterChange()),this._updatingHandles.add(()=>({layerViewFilter:this.mergedFilter,layerFilter:this.layerFilter}),({layerViewFilter:e,layerFilter:t})=>{if(e==null&&t==null){this._set(`viewFilter`,null);return}let n=this.viewFilter;n?(n.viewFilter=e,n.layerFilter=t,this._filterChange()):this._set(`viewFilter`,new x({layerFilter:t,viewFilter:e,layerFieldsIndex:this.layer.fieldsIndex,loadAsyncModule:e=>this._loadAsyncModule(e),addSqlFilter:(e,t)=>this.addSqlFilter(e,t,this.logError),addTimeFilter:(e,t)=>this.addTimeFilter(e,t)}))},o),this.i3sOverrides.is3DOFL&&this._updatingHandles.add(()=>this.i3sOverrides.sortedGeometryChangedObjectIds,e),this.addHandles(this.layer.on(`apply-edits`,e=>this._updatingHandles.addPromise(e.result))),this.addHandles(this.layer.on(`edits`,e=>{let t=this._pendingEditsQueue.then(()=>this._handleEdits(e)).then();this._pendingEditsQueue=t,this._updatingHandles.consumePromise(t)}))}destroy(){this._fieldsHelper=r(this._fieldsHelper)}_rangeInfosChanged(e){e!=null&&e.length>0&&n.getLogger(this).warn(`Unsupported property: rangeInfos are currently only serialized to and from web scenes but do not affect rendering.`)}createQuery(){let e={outFields:[`*`],returnGeometry:!0,returnZ:!0,outSpatialReference:this.view.spatialReference};return this.mergedFilter?.createQuery(e)??new f(e)}queryExtent(e,t){return this._ensureQueryEngine().executeQueryForExtent(this._ensureQuery(e),t?.signal)}queryFeatureCount(e,t){return this._ensureQueryEngine().executeQueryForCount(this._ensureQuery(e),t?.signal)}queryFeatures(e,t){return this._ensureQueryEngine().executeQuery(this._ensureQuery(e),t?.signal).then(e=>{if(!e?.features)return e;let t=this.layer,n=this._graphicOrigin;for(let r of e.features)r.layer=t,r.sourceLayer=t,r.origin=n;return e})}async queryObjectIds(e,t){return(await this._ensureQueryEngine().executeQueryForIds(this._ensureQuery(e),t?.signal)).filter(p)}_ensureQueryEngine(){return this._queryEngine??=this._createQueryEngine(),this._queryEngine}_createQueryEngine(){let e=b(this.view.spatialReference,this.view.renderSpatialReference,this._collection);return new C({layerView:this,priority:z.FEATURE_QUERY_ENGINE,spatialIndex:new E({featureAdapter:new w({objectIdField:this.layer.objectIdField,attributeStorageInfo:this.layer.attributeStorageInfo??[],getFeatureExtent:e}),forAllFeatures:(e,t)=>this._forAllFeatures((t,n,r)=>e(new T(t,n,r)),t,2),getFeatureExtent:e,sourceSpatialReference:O(this.layer),viewSpatialReference:this.view.spatialReference})})}createInteractiveEditSession(e){return g(this._attributeEditingContext,e)}_createLayerGraphic(e){return new t({attributes:e,layer:this.layer,sourceLayer:this.layer,origin:this._graphicOrigin})}getFilters(){let e=super.getFilters();this.i3sOverrides.is3DOFL&&this.i3sOverrides.sortedGeometryChangedObjectIds.length>0&&e.push((e,t)=>{t.node.index>=0&&k(this.i3sOverrides.sortedGeometryChangedObjectIds,!1,e)});let t=this._setVisibilityHiddenObjectIdsSorted;t!=null&&e.push(e=>k(t,!1,e));let n=this._excludeObjectIdsSorted;return n!=null&&e.push(e=>k(n,!1,e)),this._floorFilterClause&&this.addSqlFilter(e,this._floorFilterClause,this.logError),this.addSqlFilter(e,this.parsedDefinitionExpression,this.logError),this.viewFilter!=null&&this.viewFilter.addFilters(e,this.view,this._controller.crsIndex,this._collection),e}setVisibility(e,t){t?this._setVisibilityHiddenObjectIds.delete(e):this._setVisibilityHiddenObjectIds.add(e)}isUpdating(){return super.isUpdating()||!!this._fieldsHelper?.updating||this.layerFilterUpdating||this.viewFilter!=null&&this.viewFilter.updating||this.i3sOverrides!=null&&this.i3sOverrides.updating}_ensureQuery(e){return this._validateQuery(this._addDefinitionExpressionToQuery(e==null?this.createQuery():f.from(e)))}_validateQuery(e){return e.outSpatialReference&&!e.outSpatialReference.equals(this.view.spatialReference)&&(n.getLogger(this).warn(`query: outSpatialReference different from the view's spatial reference is not supported`),e.outSpatialReference=this.view.spatialReference),e.returnGeometry&&(e.returnZ=!0),e.returnCentroid=!1,e}get _attributeEditingContext(){return{sessions:this._interactiveEditingSessions,fieldsIndex:this.layer.fieldsIndex,objectIdField:this._getObjectIdField(),globalIdField:this._getGlobalIdField(),forEachNode:e=>this._forAllNodes(t=>t==null?null:e(t.node,t.featureIds)),attributeStorageInfo:this.layer.attributeStorageInfo??[],i3sOverrides:this.i3sOverrides,getAttributeData:e=>this.getAttributeData(e),setAttributeData:(e,t)=>this.setAttributeData(e,t),clearMemCache:()=>this.clearMemCache()}}async _handleEdits(e){let t=this._attributeEditingContext,n=await _(t,e);v(t,n),y(t,n)}get hasGeometryFilter(){return this.viewFilter?.parsedGeometry!=null}computeNodeFiltering(e){let t=this.viewFilter;return+!(t==null||!this.view.spatialReference||t.isMBSGeometryVisible(e,this.view.spatialReference,this._controller.crsIndex))}};e([s(F)],V.prototype,`updatingProgress`,void 0),e([s({type:u})],V.prototype,`filter`,null),e([s({readOnly:!0})],V.prototype,`viewFilter`,void 0),e([s(B.requiredFields)],V.prototype,`requiredFields`,null),e([s(B.availableFields)],V.prototype,`availableFields`,void 0),e([s()],V.prototype,`_fieldsHelper`,void 0),e([s()],V.prototype,`_floorFilterClause`,null),e([s()],V.prototype,`_excludeObjectIdsSorted`,null),e([s()],V.prototype,`_setVisibilityHiddenObjectIds`,void 0),e([s()],V.prototype,`_setVisibilityHiddenObjectIdsSorted`,null),e([s()],V.prototype,`lodFactor`,null),e([s()],V.prototype,`updatingProgressValue`,null),e([s({readOnly:!0})],V.prototype,`visibleAtCurrentScale`,null),e([s()],V.prototype,`_graphicOrigin`,null),V=e([c(`esri.views.3d.layers.SceneLayerView3D`)],V);const H=V;export{H as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../Graphic.js";import n from"../../../core/Logger.js";import{destroyMaybe as r}from"../../../core/maybe.js";import{throwIfAborted as i}from"../../../core/promiseUtils.js";import a from"../../../core/ReactiveSet.js";import{initial as o}from"../../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../../core/accessorSupport/decorators.js";import l from"../../../core/sql/WhereClause.js";import{isInEffectiveScaleRange as u}from"../../../geometry/support/scaleUtils.js";import d from"../../../layers/support/FeatureFilter.js";import{getFloorFilterClause as f}from"../../../layers/support/floorFilterUtils.js";import p from"../../../rest/support/Query.js";import{isNumber as m}from"../../../support/guards.js";import{I3SMeshView3D as h}from"./I3SMeshView3D.js";import{LayerView3D as g}from"./LayerView3D.js";import{createInteractiveEditSession as _,normalizeEditResultsEvent as v,processGeometryEdits as y,processAttributeEdits as b}from"./i3s/featureEditing.js";import{createGetFeatureExtent as x}from"./i3s/I3SGeometryUtil.js";import{I3SMeshViewFilter as S}from"./i3s/I3SMeshViewFilter.js";import{I3SOverrides as C}from"./i3s/I3SOverrides.js";import{I3SQueryEngine as w}from"./i3s/I3SQueryEngine.js";import{I3SQueryFeatureAdapter as T,I3SQueryFeature as E}from"./i3s/I3SQueryFeatureAdapter.js";import{I3SQueryFeatureStore as D}from"./i3s/I3SQueryFeatureStore.js";import{checkRecyclable as O,getIndexCrs as k,objectIdFilter as A}from"./i3s/I3SUtil.js";import{DefinitionExpressionSceneLayerView as j}from"./support/DefinitionExpressionSceneLayerView.js";import{defineFieldProperties as M}from"./support/fieldProperties.js";import{PopupSceneLayerView as N}from"./support/PopupSceneLayerView.js";import{SceneLayerViewRequiredFields as P}from"./support/SceneLayerViewRequiredFields.js";import{TemporalSceneLayerView as F}from"./support/TemporalSceneLayerView.js";import{updatingProgress as I}from"../support/updatingProperties.js";import L from"../../layers/SceneLayerView.js";import{hasPopupTemplate as R}from"../../layers/support/popupUtils.js";import{TaskPriority as z}from"../../support/Scheduler.js";const B=M();let V=class extends h(F(j(N(g(L))))){constructor(){super(...arguments),this.type=`scene-layer-3d`,this.viewFilter=null,this._setVisibilityHiddenObjectIds=new a,this.progressiveLoadFactor=1,this._elevationContext=2,this._supportsLabeling=!0,this._pendingEditsQueue=Promise.resolve(),this._interactiveEditingSessions=new Map,this._queryEngine=null}tryRecycleWith(e,t){return e.url!==this.layer.url||!this.i3sOverrides.isEmpty?null:e.load(t).then(()=>{i(t),O(this.layer,e,this.i3sOverrides),this.layer=e,this.i3sOverrides.destroy();let n=this.view.resourceController?.memoryController;this.i3sOverrides=new C({view:this.view,layer:e,memoryController:n,extractChanges:this.extractChanges}),this.resetHighlights()})}get layerPopupEnabledAndHasTemplate(){return this.layer.popupEnabled&&R(this.layer,this.view.popup?.defaultPopupTemplateEnabled)}get filter(){return this._get(`filter`)}set filter(e){this._set(`filter`,S.checkSupport(e)?e:null)}get requiredFields(){return this._fieldsHelper?.requiredFields??[]}get _floorFilterClause(){let e=f(this);return e==null?null:l.create(e,{fieldsIndex:this.layer.fieldsIndex})}get _excludeObjectIdsSorted(){let e=this.layer.excludeObjectIds.toArray();return e.length?e.sort((e,t)=>e-t):null}get _setVisibilityHiddenObjectIdsSorted(){return this._setVisibilityHiddenObjectIds.size?Array.from(this._setVisibilityHiddenObjectIds).sort((e,t)=>e-t):null}get lodFactor(){return this.view?.qualitySettings?.sceneService?.objectLoDFactor??1}get lodCrossfadeUncoveredDuration(){return this.view?.qualitySettings?.fadeDuration??0}get updatingProgressValue(){return this._controller?.updatingProgress??0}get visibleAtCurrentScale(){return u(this.layer.effectiveScaleRange,this.view.scale)}get _graphicOrigin(){return this.layer.graphicOrigin}initialize(){this._fieldsHelper=new P({layerView:this}),this._updatingHandles.add(()=>this.layer.rangeInfos,e=>this._rangeInfosChanged(e),o),this._updatingHandles.add(()=>this.layer.renderer,e=>this._updatingHandles.addPromise(this._rendererChange(e)),o);let e=()=>this._filterChange();this._updatingHandles.add(()=>this.parsedDefinitionExpression,e),this._updatingHandles.add(()=>this.mergedFilter,e),this._updatingHandles.add(()=>this._floorFilterClause,e),this._updatingHandles.add(()=>this._excludeObjectIdsSorted,e),this._updatingHandles.add(()=>this._setVisibilityHiddenObjectIdsSorted,e),this._updatingHandles.add(()=>this.viewFilter?.sortedObjectIds,e),this._updatingHandles.add(()=>this.viewFilter?.parsedWhereClause,e),this._updatingHandles.add(()=>this.getTimeFilterDependencies(),e),this._updatingHandles.add(()=>[this.viewFilter?.parsedGeometry,this.mergedFilter?.spatialRelationship,this.layer.filter?.spatialRelationship],()=>this._geometryFilterChange()),this._updatingHandles.add(()=>({layerViewFilter:this.mergedFilter,layerFilter:this.layerFilter}),({layerViewFilter:e,layerFilter:t})=>{if(e==null&&t==null){this._set(`viewFilter`,null);return}let n=this.viewFilter;n?(n.viewFilter=e,n.layerFilter=t,this._filterChange()):this._set(`viewFilter`,new S({layerFilter:t,viewFilter:e,layerFieldsIndex:this.layer.fieldsIndex,loadAsyncModule:e=>this._loadAsyncModule(e),addSqlFilter:(e,t)=>this.addSqlFilter(e,t,this.logError),addTimeFilter:(e,t)=>this.addTimeFilter(e,t)}))},o),this.i3sOverrides.is3DOFL&&this._updatingHandles.add(()=>this.i3sOverrides.sortedGeometryChangedObjectIds,e),this.addHandles(this.layer.on(`apply-edits`,e=>this._updatingHandles.addPromise(e.result))),this.addHandles(this.layer.on(`edits`,e=>{let t=this._pendingEditsQueue.then(()=>this._handleEdits(e)).then();this._pendingEditsQueue=t,this._updatingHandles.consumePromise(t)}))}destroy(){this._fieldsHelper=r(this._fieldsHelper)}_rangeInfosChanged(e){e!=null&&e.length>0&&n.getLogger(this).warn(`Unsupported property: rangeInfos are currently only serialized to and from web scenes but do not affect rendering.`)}createQuery(){let e={outFields:[`*`],returnGeometry:!0,returnZ:!0,outSpatialReference:this.view.spatialReference};return this.mergedFilter?.createQuery(e)??new p(e)}queryExtent(e,t){return this._ensureQueryEngine().executeQueryForExtent(this._ensureQuery(e),t?.signal)}queryFeatureCount(e,t){return this._ensureQueryEngine().executeQueryForCount(this._ensureQuery(e),t?.signal)}queryFeatures(e,t){return this._ensureQueryEngine().executeQuery(this._ensureQuery(e),t?.signal).then(e=>{if(!e?.features)return e;let t=this.layer,n=this._graphicOrigin;for(let r of e.features)r.layer=t,r.sourceLayer=t,r.origin=n;return e})}async queryObjectIds(e,t){return(await this._ensureQueryEngine().executeQueryForIds(this._ensureQuery(e),t?.signal)).filter(m)}_ensureQueryEngine(){return this._queryEngine??=this._createQueryEngine(),this._queryEngine}_createQueryEngine(){let e=x(this.view.spatialReference,this.view.renderSpatialReference,this._collection);return new w({layerView:this,priority:z.FEATURE_QUERY_ENGINE,spatialIndex:new D({featureAdapter:new T({objectIdField:this.layer.objectIdField,attributeStorageInfo:this.layer.attributeStorageInfo??[],getFeatureExtent:e}),forAllFeatures:(e,t)=>this._forAllFeatures((t,n,r)=>e(new E(t,n,r)),t,2),getFeatureExtent:e,sourceSpatialReference:k(this.layer),viewSpatialReference:this.view.spatialReference})})}createInteractiveEditSession(e){return _(this._attributeEditingContext,e)}_createLayerGraphic(e){return new t({attributes:e,layer:this.layer,sourceLayer:this.layer,origin:this._graphicOrigin})}getFilters(){let e=super.getFilters();this.i3sOverrides.is3DOFL&&this.i3sOverrides.sortedGeometryChangedObjectIds.length>0&&e.push((e,t)=>{t.node.index>=0&&A(this.i3sOverrides.sortedGeometryChangedObjectIds,!1,e)});let t=this._setVisibilityHiddenObjectIdsSorted;t!=null&&e.push(e=>A(t,!1,e));let n=this._excludeObjectIdsSorted;return n!=null&&e.push(e=>A(n,!1,e)),this._floorFilterClause&&this.addSqlFilter(e,this._floorFilterClause,this.logError),this.addSqlFilter(e,this.parsedDefinitionExpression,this.logError),this.viewFilter!=null&&this.viewFilter.addFilters(e,this.view,this._controller.crsIndex,this._collection),e}setVisibility(e,t){t?this._setVisibilityHiddenObjectIds.delete(e):this._setVisibilityHiddenObjectIds.add(e)}isUpdating(){return super.isUpdating()||!!this._fieldsHelper?.updating||this.layerFilterUpdating||this.viewFilter!=null&&this.viewFilter.updating||this.i3sOverrides!=null&&this.i3sOverrides.updating}_ensureQuery(e){return this._validateQuery(this._addDefinitionExpressionToQuery(e==null?this.createQuery():p.from(e)))}_validateQuery(e){return e.outSpatialReference&&!e.outSpatialReference.equals(this.view.spatialReference)&&(n.getLogger(this).warn(`query: outSpatialReference different from the view's spatial reference is not supported`),e.outSpatialReference=this.view.spatialReference),e.returnGeometry&&(e.returnZ=!0),e.returnCentroid=!1,e}get _attributeEditingContext(){return{sessions:this._interactiveEditingSessions,fieldsIndex:this.layer.fieldsIndex,objectIdField:this._getObjectIdField(),globalIdField:this._getGlobalIdField(),forEachNode:e=>this._forAllNodes(t=>t==null?null:e(t.node,t.featureIds)),attributeStorageInfo:this.layer.attributeStorageInfo??[],i3sOverrides:this.i3sOverrides,getAttributeData:e=>this.getAttributeData(e),setAttributeData:(e,t)=>this.setAttributeData(e,t),clearMemCache:()=>this.clearMemCache()}}async _handleEdits(e){let t=this._attributeEditingContext,n=await v(t,e);y(t,n),b(t,n)}get hasGeometryFilter(){return this.viewFilter?.parsedGeometry!=null}computeNodeFiltering(e){let t=this.viewFilter;return+!(t==null||!this.view.spatialReference||t.isMBSGeometryVisible(e,this.view.spatialReference,this._controller.crsIndex))}};e([s(I)],V.prototype,`updatingProgress`,void 0),e([s({type:d})],V.prototype,`filter`,null),e([s({readOnly:!0})],V.prototype,`viewFilter`,void 0),e([s(B.requiredFields)],V.prototype,`requiredFields`,null),e([s(B.availableFields)],V.prototype,`availableFields`,void 0),e([s()],V.prototype,`_fieldsHelper`,void 0),e([s()],V.prototype,`_floorFilterClause`,null),e([s()],V.prototype,`_excludeObjectIdsSorted`,null),e([s()],V.prototype,`_setVisibilityHiddenObjectIds`,void 0),e([s()],V.prototype,`_setVisibilityHiddenObjectIdsSorted`,null),e([s()],V.prototype,`lodFactor`,null),e([s()],V.prototype,`updatingProgressValue`,null),e([s({readOnly:!0})],V.prototype,`visibleAtCurrentScale`,null),e([s()],V.prototype,`_graphicOrigin`,null),V=e([c(`esri.views.3d.layers.SceneLayerView3D`)],V);const H=V;export{H as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import{whenOnce as n}from"../../../core/reactiveUtils.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{LayerViewPerformanceInfo as a}from"./support/LayerViewPerformanceInfo.js";import{updatingProgress as o,updatingProgressValue as s}from"../support/updatingProperties.js";import{checkIfTileInfoSupportedForView as c}from"../terrain/terrainUtils.js";import{isScaleRangeActive as l,validateScaleRange as u}from"../../support/layerViewUtils.js";const d=d=>{let f=d,p=class extends f{constructor(){super(...arguments),this.hasMixedImageFormats=!0}get imageFormatIsOpaque(){return!1}get fullExtent(){return this.layer.fullExtent}get isOpaque(){return this.fullOpacity>=1&&this.imageFormatIsOpaque}initialize(){this.addHandles(this.view.basemapTerrain.on(`tile-data-changed`,({layerClass:e,layerIndex:t})=>{e===1&&t===this.view.basemapTerrain.getLayerIndexByUID(1,this.uid)&&this.notifyChange(`visibleAtCurrentScale`)}))}tilesVisibleAtCurrentScale(){let{minScale:e,maxScale:t}=this.layer;if(!l(e,t))return!0;let{basemapTerrain:n}=this.view,r=n.getLayerIndexByUID(1,this.uid);if(r==null)return!1;let{tilingScheme:i}=n,a=e&&i.levelAtScale(e),o=t&&i.levelAtScale(t);return n.renderer.visibleTiles.some(e=>!!e.layerInfo[1][r]&&(!a||e.level>=a)&&(!o||e.level<=o))}get visibleAtCurrentScale(){return this.tilesVisibleAtCurrentScale()}get dataScaleRange(){let e=this.tileInfo.lods,t=e[0].scale,n=e[e.length-1].scale;if(`tilemapCache`in this.layer&&this.layer.tilemapCache){let{effectiveMinLOD:e,effectiveMaxLOD:r}=this.layer.tilemapCache;t=this.tileInfo.lodAt(e).scale,n=this.tileInfo.lodAt(r).scale}return{minScale:t,maxScale:n}}canResume(){let e=this.layer&&`effectiveScaleRange`in this.layer?this.layer.effectiveScaleRange:null;return this.visible&&this.layer?.loaded&&!this.parent?.suspended&&this.view?.ready&&u(e)&&this.visibleAtCurrentTimeExtent||!1}get dataLevelRange(){let{minScale:e,maxScale:t}=this.dataScaleRange;return this.levelRangeFromScaleRange(e,t)}get displayLevelRange(){let e=this.layer.minScale||this.dataScaleRange.minScale,t=this.layer.maxScale||this.dataScaleRange.maxScale,n=this.levelRangeFromScaleRange(e,t);return this.layer.maxScale&&n.maxLevel++,n}get performanceInfo(){return new a(this.view.basemapTerrain.getUsedMemoryForLayerView(this))}getTileUrl(e){return`getTileUrl`in this.layer?this.layer.getTileUrl(e[0],e[1],e[2]):null}_addTilingSchemeMatchPromise(){if(this.fullExtent==null)return this.addResolvingPromise(Promise.reject(new t(`tilingscheme:extent-not-defined`,`This layer doesn't define a fullExtent.`)));let e=this._getTileInfoSupportError(this.tileInfo,this.fullExtent);if(e)return this.addResolvingPromise(Promise.reject(e));this.addResolvingPromise(n(()=>this.view?.basemapTerrain?.tilingSchemeLocked).then(()=>{let e=this.view.basemapTerrain.tilingScheme,t=`tilemapCache`in this.layer?this.layer.tilemapCache?.effectiveMaxLOD:void 0,n=this._getTileInfoCompatibilityError(this.tileInfo,e,t);if(n)throw n}))}_getTileInfoSupportError(e,n){let r=c(e,n,this.view.spatialReference,this.view.state.viewingMode,`tilemapCache`in this.layer?this.layer.tilemapCache?.effectiveMaxLOD:void 0);if(!r)return;let i={layer:this.layer,error:r};switch(r.name){case`tilingscheme:spatial-reference-mismatch`:case`tilingscheme:global-unsupported-spatial-reference`:case`tilingscheme:local-unsupported-spatial-reference`:return new t(`layerview:spatial-reference-incompatible`,`The spatial reference of this layer does not meet the requirements of the view`,i);default:return new t(`layerview:tiling-scheme-unsupported`,`The tiling scheme of this layer is not supported by SceneView`,i)}}_getTileInfoCompatibilityError(e,n,r){return e==null||!n.compatibleWith(e,r)?new t(`layerview:tiling-scheme-incompatible`,`The tiling scheme of this layer is incompatible with the tiling scheme of the surface`):null}levelRangeFromScaleRange(e,t){let n={minLevel:0,maxLevel:1/0},r=this.view&&this.view.basemapTerrain&&this.view.basemapTerrain.tilingScheme;if(!r)return n;let i=r.levels[0],a=e=>{let t=Math.log(i.scale/e)/Math.LN2;return .5-Math.abs(.5-t%1)<1e-9?Math.round(t):Math.ceil(t)};return e!=null&&e>0&&(n.minLevel=Math.max(0,a(e))),t!=null&&t>0&&(n.maxLevel=Math.max(0,a(t))),n}isUpdating(){return!!(this.view&&this.view.basemapTerrain&&this.view.basemapTerrain.updating)}};return e([r({readOnly:!0})],p.prototype,`imageFormatIsOpaque`,null),e([r({readOnly:!0})],p.prototype,`updating`,void 0),e([r(o)],p.prototype,`updatingProgress`,void 0),e([r(s)],p.prototype,`updatingProgressValue`,void 0),e([r()],p.prototype,`hasMixedImageFormats`,void 0),e([r()],p.prototype,`fullExtent`,null),e([r({readOnly:!0})],p.prototype,`isOpaque`,null),e([r({readOnly:!0})],p.prototype,`visibleAtCurrentScale`,null),e([r()],p.prototype,`dataScaleRange`,null),e([r({readOnly:!0})],p.prototype,`dataLevelRange`,null),e([r({readOnly:!0})],p.prototype,`displayLevelRange`,null),e([r()],p.prototype,`layer`,void 0),p=e([i(`esri.views.3d.layers.TiledLayerView3D`)],p),p};export{d as TiledLayerView3D};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import{whenOnce as n}from"../../../core/reactiveUtils.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{isScaleRangeActive as a,validateScaleRange as o}from"../../../geometry/support/scaleUtils.js";import{LayerViewPerformanceInfo as s}from"./support/LayerViewPerformanceInfo.js";import{updatingProgress as c,updatingProgressValue as l}from"../support/updatingProperties.js";import{checkIfTileInfoSupportedForView as u}from"../terrain/terrainUtils.js";const d=d=>{let f=d,p=class extends f{constructor(){super(...arguments),this.hasMixedImageFormats=!0}get imageFormatIsOpaque(){return!1}get fullExtent(){return this.layer.fullExtent}get isOpaque(){return this.fullOpacity>=1&&this.imageFormatIsOpaque}initialize(){this.addHandles(this.view.basemapTerrain.on(`tile-data-changed`,({layerClass:e,layerIndex:t})=>{e===1&&t===this.view.basemapTerrain.getLayerIndexByUID(1,this.uid)&&this.notifyChange(`visibleAtCurrentScale`)}))}tilesVisibleAtCurrentScale(){let{minScale:e,maxScale:t}=this.layer;if(!a(e,t))return!0;let{basemapTerrain:n}=this.view,r=n.getLayerIndexByUID(1,this.uid);if(r==null)return!1;let{tilingScheme:i}=n,o=e&&i.levelAtScale(e),s=t&&i.levelAtScale(t);return n.renderer.visibleTiles.some(e=>!!e.layerInfo[1][r]&&(!o||e.level>=o)&&(!s||e.level<=s))}get visibleAtCurrentScale(){return this.tilesVisibleAtCurrentScale()}get dataScaleRange(){let e=this.tileInfo.lods,t=e[0].scale,n=e[e.length-1].scale;if(`tilemapCache`in this.layer&&this.layer.tilemapCache){let{effectiveMinLOD:e,effectiveMaxLOD:r}=this.layer.tilemapCache;t=this.tileInfo.lodAt(e).scale,n=this.tileInfo.lodAt(r).scale}return{minScale:t,maxScale:n}}canResume(){let e=this.layer&&`effectiveScaleRange`in this.layer?this.layer.effectiveScaleRange:null;return this.visible&&this.layer?.loaded&&!this.parent?.suspended&&this.view?.ready&&o(e)&&this.visibleAtCurrentTimeExtent||!1}get dataLevelRange(){let{minScale:e,maxScale:t}=this.dataScaleRange;return this.levelRangeFromScaleRange(e,t)}get displayLevelRange(){let e=this.layer.minScale||this.dataScaleRange.minScale,t=this.layer.maxScale||this.dataScaleRange.maxScale,n=this.levelRangeFromScaleRange(e,t);return this.layer.maxScale&&n.maxLevel++,n}get performanceInfo(){return new s(this.view.basemapTerrain.getUsedMemoryForLayerView(this))}getTileUrl(e){return`getTileUrl`in this.layer?this.layer.getTileUrl(e[0],e[1],e[2]):null}_addTilingSchemeMatchPromise(){if(this.fullExtent==null)return this.addResolvingPromise(Promise.reject(new t(`tilingscheme:extent-not-defined`,`This layer doesn't define a fullExtent.`)));let e=this._getTileInfoSupportError(this.tileInfo,this.fullExtent);if(e)return this.addResolvingPromise(Promise.reject(e));this.addResolvingPromise(n(()=>this.view?.basemapTerrain?.tilingSchemeLocked).then(()=>{let e=this.view.basemapTerrain.tilingScheme,t=`tilemapCache`in this.layer?this.layer.tilemapCache?.effectiveMaxLOD:void 0,n=this._getTileInfoCompatibilityError(this.tileInfo,e,t);if(n)throw n}))}_getTileInfoSupportError(e,n){let r=u(e,n,this.view.spatialReference,this.view.state.viewingMode,`tilemapCache`in this.layer?this.layer.tilemapCache?.effectiveMaxLOD:void 0);if(!r)return;let i={layer:this.layer,error:r};switch(r.name){case`tilingscheme:spatial-reference-mismatch`:case`tilingscheme:global-unsupported-spatial-reference`:case`tilingscheme:local-unsupported-spatial-reference`:return new t(`layerview:spatial-reference-incompatible`,`The spatial reference of this layer does not meet the requirements of the view`,i);default:return new t(`layerview:tiling-scheme-unsupported`,`The tiling scheme of this layer is not supported by SceneView`,i)}}_getTileInfoCompatibilityError(e,n,r){return e==null||!n.compatibleWith(e,r)?new t(`layerview:tiling-scheme-incompatible`,`The tiling scheme of this layer is incompatible with the tiling scheme of the surface`):null}levelRangeFromScaleRange(e,t){let n={minLevel:0,maxLevel:1/0},r=this.view&&this.view.basemapTerrain&&this.view.basemapTerrain.tilingScheme;if(!r)return n;let i=r.levels[0],a=e=>{let t=Math.log(i.scale/e)/Math.LN2;return .5-Math.abs(.5-t%1)<1e-9?Math.round(t):Math.ceil(t)};return e!=null&&e>0&&(n.minLevel=Math.max(0,a(e))),t!=null&&t>0&&(n.maxLevel=Math.max(0,a(t))),n}isUpdating(){return!!(this.view&&this.view.basemapTerrain&&this.view.basemapTerrain.updating)}};return e([r({readOnly:!0})],p.prototype,`imageFormatIsOpaque`,null),e([r({readOnly:!0})],p.prototype,`updating`,void 0),e([r(c)],p.prototype,`updatingProgress`,void 0),e([r(l)],p.prototype,`updatingProgressValue`,void 0),e([r()],p.prototype,`hasMixedImageFormats`,void 0),e([r()],p.prototype,`fullExtent`,null),e([r({readOnly:!0})],p.prototype,`isOpaque`,null),e([r({readOnly:!0})],p.prototype,`visibleAtCurrentScale`,null),e([r()],p.prototype,`dataScaleRange`,null),e([r({readOnly:!0})],p.prototype,`dataLevelRange`,null),e([r({readOnly:!0})],p.prototype,`displayLevelRange`,null),e([r()],p.prototype,`layer`,void 0),p=e([i(`esri.views.3d.layers.TiledLayerView3D`)],p),p};export{d as TiledLayerView3D};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import n from"../../../core/Logger.js";import{watch as r,initial as i}from"../../../core/reactiveUtils.js";import{property as a,subclass as o}from"../../../core/accessorSupport/decorators.js";import{cross as s,normalize as c,set as l}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as u}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import d from"../../../geometry/SpatialReference.js";import{projectVectorToVector as f}from"../../../geometry/projection/projectVectorToVector.js";import{empty as p,expandWithVec3 as m}from"../../../geometry/support/aaBoundingBox.js";import{equals as h}from"../../../geometry/support/spatialReferenceUtils.js";import{LayerView3D as g}from"./LayerView3D.js";import{VoxelGraphic as _}from"./VoxelGraphic.js";import{addLayerViewToWasm as v,getVoxelWasm as y,removeLayerViewFromWasm as b}from"./VoxelWasm.js";import{LayerViewPerformanceInfo as x}from"./support/LayerViewPerformanceInfo.js";import{PopupSceneLayerView as S}from"./support/PopupSceneLayerView.js";import C from"../../layers/LayerView.js";import{spatialReferenceIncompatibleError as w,isInEffectiveScaleRange as T}from"../../support/layerViewUtils.js";const E=u(),D=u();let O=class extends S(g(C)){constructor(){super(...arguments),this.type=`voxel-3d`,this.ignoresMemoryFactor=!0,this._suspendedHandle=null,this._usedMemory=0,this._futureMemory=0,this.slicePlaneEnabled=!1,this._wasmLayerId=-1,this._dbgFlags=new Set}initialize(){if(this._dbgFlags.add(3),this.view.viewingMode!==`local`)throw new t(`voxel:unsupported-viewingMode`,`Voxel layers support local viewingMode only.`,{});if(!this.view.stage.renderView.renderingContext.capabilities.colorBufferFloat?.textureFloat)throw new t(`voxel:missing-color-buffer-float`,`Voxel layers require the WebGL2 extension EXT_color_buffer_float`,{});let e=this.layer.spatialReference;if(!h(e,this.view.spatialReference))throw w(`voxel layer`,e.wkid,this.view.spatialReference.wkid);let n=this.layer.currentVariableId,a=this.layer.getVolume(n),o=this.layer.getVariable(n);if(a!=null&&o!=null){let e=a.dimensions[0],t=a.dimensions[1],n=a.zDimension;if(n>1){let r=a.dimensions[n],i=e.size*t.size*r.size,s=1;switch(o.renderingFormat.type){case`Int16`:case`UInt16`:s=2;break;case`Int32`:case`UInt32`:case`Float32`:s=4}this._futureMemory=s*i}}let s=v(this).then(e=>{this._wasmLayerId=e,this._suspendedHandle=r(()=>this.suspended,e=>{let t=y(this.view);t&&t.setEnabled(this,!e)},i),this.addHandles([r(()=>this.layer.renderMode,e=>this._pushRenderModeToWasm(e)),r(()=>this.layer.currentVariableId,e=>this._pushCurrentVariableIdToWasm(e)),r(()=>this.layer.getSections(),e=>this._pushSectionsToWasm(e)),r(()=>this.layer.getVariableStyles(),e=>this._pushVariableStylesToWasm(e)),r(()=>this.layer.getVolumeStyles(),e=>this._pushVolumeStylesToWasm(e)),r(()=>this.layer.enableDynamicSections,e=>this._pushEnableDynamicSectionsToWasm(e)),r(()=>this.layer.enableIsosurfaces,e=>this._pushEnableIsosurfacesToWasm(e)),r(()=>this.layer.enableSections,e=>this._pushEnableSectionsToWasm(e)),r(()=>this.layer.enableSlices,e=>this._pushEnableSlicesToWasm(e)),r(()=>[this.layer.timeOffset,this.layer.timeExtent,this.layer.useViewTime],()=>this._updateLayerTimeProperties()),r(()=>this.slicePlaneEnabled,e=>this._pushAnalysisSliceToWasm(e,this.view.slice.plane)),r(()=>this.view.slice.plane,e=>this._pushAnalysisSliceToWasm(this.slicePlaneEnabled,e))])}).catch(e=>{if(b(this),this._wasmLayerId=-1,e===-1)throw new t(`voxel:addLayer-failure`,`The voxel layer description was invalid.`,{});if(e===-2)throw new t(`voxel:addLayer-failure`,`The voxel layer web assembly module failed to download.`,{})});this.addResolvingPromise(s)}destroy(){b(this),this._suspendedHandle&&=(this._suspendedHandle.remove(),null)}isUpdating(){let e=y(this.view);return this._wasmLayerId<0||e==null?!1:e.isUpdating(this._wasmLayerId)}updatingFlagChanged(){this.notifyChange(`updating`)}get usedMemory(){return this._usedMemory}get unloadedMemory(){return this._futureMemory}get performanceInfo(){return new x(this.usedMemory)}get visibleAtCurrentScale(){return T(this.layer.effectiveScaleRange,this.view.scale)}whenGraphicBounds(e,t){let n=e.attributes[`Voxel.WorldPosition`];if(n){let e=p(),t=JSON.parse(n);if(f(t,this.view.renderSpatialReference,D,this.view.spatialReference||d.WGS84))return m(e,D),Promise.resolve({boundingBox:e,screenSpaceObjects:[]})}return Promise.reject()}async whenGraphicAttributes(e,t){let n=y(this.view);if(!n)return e;let r=[];for(let t of e)this._isValidVoxelGraphic(t)&&r.push(t);return r.length&&await n.getOtherFieldPopupValues(r,t),e}_isValidVoxelGraphic(e){return e instanceof _}setUsedMemory(e){this._usedMemory=e,this._futureMemory=0}captureFrustum(){y(this.view)?.captureFrustum()}toggleFullVolumeExtentDraw(){y(this.view)?.toggleFullVolumeExtentDraw(this)}getLayerTimes(){return y(this.view)?.getLayerTimes(this)??[]}getCurrentLayerTimeIndex(){return y(this.view)?.getCurrentLayerTimeIndex(this)??0}dropQueryRenderTarget(){y(this.view)?.dropQueryRenderTarget()}_pushRenderModeToWasm(e){let t=y(this.view);this._dbg(2,`VoxelLayerView3D._pushRenderModeToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setRenderMode(this,e)||this._dbg(3,`VoxelLayerView3D._pushRenderModeToWasm() failed!`)}_pushSectionsToWasm(e){let t=y(this.view);this._dbg(2,`VoxelLayerView3D._pushSectionsToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setStaticSections(this,e)||this._dbg(3,`VoxelLayerView3D._pushSectionsToWasm() failed!`)}_pushCurrentVariableIdToWasm(e){let t=y(this.view);this._dbg(2,`VoxelLayerView3D._pushCurrentVariableIdToWasm() called!, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setCurrentVariable(this,e)||this._dbg(3,`VoxelLayerView3D._pushCurrentVariableIdToWasm() failed!`)}_pushVariableStylesToWasm(e){let t=y(this.view);this._dbg(2,`VoxelLayerView3D._pushVariableStylesToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setVariableStyles(this,e)||this._dbg(3,`VoxelLayerView3D._pushVariableStylesToWasm() failed!`)}_accountForEnableSlices(e,t){let n=t??this.layer.enableSlices;for(let t=0;t<e.length;++t){let r=e[t];for(let e of r.slices)e.enabled=e.enabled&&n}}_pushVolumeStylesToWasm(e){let t=y(this.view);this._dbg(2,`VoxelLayerView3D._pushVolumeStylesToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t&&(this._accountForEnableSlices(e,null),t.setVolumeStyles(this,e)||this._dbg(3,`VoxelLayerView3D._pushVolumeStylesToWasm() failed!`))}_pushAnalysisSliceToWasm(e,t){let n=y(this.view);this._dbg(2,`VoxelLayerView3D._pushAnalysisSliceToWasm() called, ${n?`have WASM`:`don't have WASM!!!`}`);let r=!1;if(n){if(t){let i=t.origin;s(E,t.basis1,t.basis2),c(E,E),r=n.setAnalysisSlice(this,e,i,E)}else l(E,0,0,1),r=n.setAnalysisSlice(this,!1,E,E);r||this._dbg(3,`VoxelLayerView3D._pushAnalysisSliceToWasm() failed!`)}}_updateLayerTimeProperties(){let e=y(this.view);this._dbg(2,`VoxelLayerView3D._updateLayerTimeProperties() called, ${e?`have WASM`:`don't have WASM!!!`}`),e&&e.updateLayerTimeProperties(this)}_pushEnableDynamicSectionsToWasm(e){let t=y(this.view);this._dbg(2,`VoxelLayerView3D._pushEnableDynamicSectionsToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setEnableDynamicSections(this,e)||this._dbg(3,`VoxelLayerView3D._pushEnableDynamicSectionsToWasm() failed!`)}_pushEnableSlicesToWasm(e){let t=y(this.view);if(this._dbg(2,`VoxelLayerView3D._pushEnableSlicesToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t){let n=this.layer.getVolumeStyles();this._accountForEnableSlices(n,e),t.setVolumeStyles(this,n)||this._dbg(3,`VoxelLayerView3D._pushEnableSlicesToWasm() failed!`)}}_pushEnableIsosurfacesToWasm(e){let t=y(this.view);this._dbg(2,`VoxelLayerView3D._pushEnableIsosurfacesToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setEnableIsosurfaces(this,e)||this._dbg(3,`VoxelLayerView3D._pushEnableIsosurfacesToWasm() failed!`)}_pushEnableSectionsToWasm(e){let t=y(this.view);this._dbg(2,`VoxelLayerView3D._pushEnableSectionsToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setEnableSections(this,e)||this._dbg(3,`VoxelLayerView3D._pushEnableSectionsToWasm() failed!`)}get baseUrl(){return this.layer.parsedUrl?.path??``}get wasmLayerId(){return this._wasmLayerId}_dbg(e,t){this._dbgFlags.has(e)&&(e===3?n.getLogger(this).error(t):n.getLogger(this).warn(t))}};e([a({readOnly:!0})],O.prototype,`visibleAtCurrentScale`,null),e([a()],O.prototype,`layer`,void 0),e([a()],O.prototype,`baseUrl`,null),e([a({type:Boolean})],O.prototype,`slicePlaneEnabled`,void 0),O=e([o(`esri.views.3d.layers.VoxelLayerView3D`)],O);const k=O;export{k as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import n from"../../../core/Logger.js";import{watch as r,initial as i}from"../../../core/reactiveUtils.js";import{property as a,subclass as o}from"../../../core/accessorSupport/decorators.js";import{cross as s,normalize as c,set as l}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as u}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import d from"../../../geometry/SpatialReference.js";import{projectVectorToVector as f}from"../../../geometry/projection/projectVectorToVector.js";import{empty as p,expandWithVec3 as m}from"../../../geometry/support/aaBoundingBox.js";import{isInEffectiveScaleRange as h}from"../../../geometry/support/scaleUtils.js";import{equals as g}from"../../../geometry/support/spatialReferenceUtils.js";import{LayerView3D as _}from"./LayerView3D.js";import{VoxelGraphic as v}from"./VoxelGraphic.js";import{addLayerViewToWasm as y,getVoxelWasm as b,removeLayerViewFromWasm as x}from"./VoxelWasm.js";import{LayerViewPerformanceInfo as S}from"./support/LayerViewPerformanceInfo.js";import{PopupSceneLayerView as C}from"./support/PopupSceneLayerView.js";import w from"../../layers/LayerView.js";import{spatialReferenceIncompatibleError as T}from"../../support/layerViewUtils.js";const E=u(),D=u();let O=class extends C(_(w)){constructor(){super(...arguments),this.type=`voxel-3d`,this.ignoresMemoryFactor=!0,this._suspendedHandle=null,this._usedMemory=0,this._futureMemory=0,this.slicePlaneEnabled=!1,this._wasmLayerId=-1,this._dbgFlags=new Set}initialize(){if(this._dbgFlags.add(3),this.view.viewingMode!==`local`)throw new t(`voxel:unsupported-viewingMode`,`Voxel layers support local viewingMode only.`,{});if(!this.view.stage.renderView.renderingContext.capabilities.colorBufferFloat?.textureFloat)throw new t(`voxel:missing-color-buffer-float`,`Voxel layers require the WebGL2 extension EXT_color_buffer_float`,{});let e=this.layer.spatialReference;if(!g(e,this.view.spatialReference))throw T(`voxel layer`,e.wkid,this.view.spatialReference.wkid);let n=this.layer.currentVariableId,a=this.layer.getVolume(n),o=this.layer.getVariable(n);if(a!=null&&o!=null){let e=a.dimensions[0],t=a.dimensions[1],n=a.zDimension;if(n>1){let r=a.dimensions[n],i=e.size*t.size*r.size,s=1;switch(o.renderingFormat.type){case`Int16`:case`UInt16`:s=2;break;case`Int32`:case`UInt32`:case`Float32`:s=4}this._futureMemory=s*i}}let s=y(this).then(e=>{this._wasmLayerId=e,this._suspendedHandle=r(()=>this.suspended,e=>{let t=b(this.view);t&&t.setEnabled(this,!e)},i),this.addHandles([r(()=>this.layer.renderMode,e=>this._pushRenderModeToWasm(e)),r(()=>this.layer.currentVariableId,e=>this._pushCurrentVariableIdToWasm(e)),r(()=>this.layer.getSections(),e=>this._pushSectionsToWasm(e)),r(()=>this.layer.getVariableStyles(),e=>this._pushVariableStylesToWasm(e)),r(()=>this.layer.getVolumeStyles(),e=>this._pushVolumeStylesToWasm(e)),r(()=>this.layer.enableDynamicSections,e=>this._pushEnableDynamicSectionsToWasm(e)),r(()=>this.layer.enableIsosurfaces,e=>this._pushEnableIsosurfacesToWasm(e)),r(()=>this.layer.enableSections,e=>this._pushEnableSectionsToWasm(e)),r(()=>this.layer.enableSlices,e=>this._pushEnableSlicesToWasm(e)),r(()=>[this.layer.timeOffset,this.layer.timeExtent,this.layer.useViewTime],()=>this._updateLayerTimeProperties()),r(()=>this.slicePlaneEnabled,e=>this._pushAnalysisSliceToWasm(e,this.view.slice.plane)),r(()=>this.view.slice.plane,e=>this._pushAnalysisSliceToWasm(this.slicePlaneEnabled,e))])}).catch(e=>{if(x(this),this._wasmLayerId=-1,e===-1)throw new t(`voxel:addLayer-failure`,`The voxel layer description was invalid.`,{});if(e===-2)throw new t(`voxel:addLayer-failure`,`The voxel layer web assembly module failed to download.`,{})});this.addResolvingPromise(s)}destroy(){x(this),this._suspendedHandle&&=(this._suspendedHandle.remove(),null)}isUpdating(){let e=b(this.view);return this._wasmLayerId<0||e==null?!1:e.isUpdating(this._wasmLayerId)}updatingFlagChanged(){this.notifyChange(`updating`)}get usedMemory(){return this._usedMemory}get unloadedMemory(){return this._futureMemory}get performanceInfo(){return new S(this.usedMemory)}get visibleAtCurrentScale(){return h(this.layer.effectiveScaleRange,this.view.scale)}whenGraphicBounds(e,t){let n=e.attributes[`Voxel.WorldPosition`];if(n){let e=p(),t=JSON.parse(n);if(f(t,this.view.renderSpatialReference,D,this.view.spatialReference||d.WGS84))return m(e,D),Promise.resolve({boundingBox:e,screenSpaceObjects:[]})}return Promise.reject()}async whenGraphicAttributes(e,t){let n=b(this.view);if(!n)return e;let r=[];for(let t of e)this._isValidVoxelGraphic(t)&&r.push(t);return r.length&&await n.getOtherFieldPopupValues(r,t),e}_isValidVoxelGraphic(e){return e instanceof v}setUsedMemory(e){this._usedMemory=e,this._futureMemory=0}captureFrustum(){b(this.view)?.captureFrustum()}toggleFullVolumeExtentDraw(){b(this.view)?.toggleFullVolumeExtentDraw(this)}getLayerTimes(){return b(this.view)?.getLayerTimes(this)??[]}getCurrentLayerTimeIndex(){return b(this.view)?.getCurrentLayerTimeIndex(this)??0}dropQueryRenderTarget(){b(this.view)?.dropQueryRenderTarget()}_pushRenderModeToWasm(e){let t=b(this.view);this._dbg(2,`VoxelLayerView3D._pushRenderModeToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setRenderMode(this,e)||this._dbg(3,`VoxelLayerView3D._pushRenderModeToWasm() failed!`)}_pushSectionsToWasm(e){let t=b(this.view);this._dbg(2,`VoxelLayerView3D._pushSectionsToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setStaticSections(this,e)||this._dbg(3,`VoxelLayerView3D._pushSectionsToWasm() failed!`)}_pushCurrentVariableIdToWasm(e){let t=b(this.view);this._dbg(2,`VoxelLayerView3D._pushCurrentVariableIdToWasm() called!, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setCurrentVariable(this,e)||this._dbg(3,`VoxelLayerView3D._pushCurrentVariableIdToWasm() failed!`)}_pushVariableStylesToWasm(e){let t=b(this.view);this._dbg(2,`VoxelLayerView3D._pushVariableStylesToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setVariableStyles(this,e)||this._dbg(3,`VoxelLayerView3D._pushVariableStylesToWasm() failed!`)}_accountForEnableSlices(e,t){let n=t??this.layer.enableSlices;for(let t=0;t<e.length;++t){let r=e[t];for(let e of r.slices)e.enabled=e.enabled&&n}}_pushVolumeStylesToWasm(e){let t=b(this.view);this._dbg(2,`VoxelLayerView3D._pushVolumeStylesToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t&&(this._accountForEnableSlices(e,null),t.setVolumeStyles(this,e)||this._dbg(3,`VoxelLayerView3D._pushVolumeStylesToWasm() failed!`))}_pushAnalysisSliceToWasm(e,t){let n=b(this.view);this._dbg(2,`VoxelLayerView3D._pushAnalysisSliceToWasm() called, ${n?`have WASM`:`don't have WASM!!!`}`);let r=!1;if(n){if(t){let i=t.origin;s(E,t.basis1,t.basis2),c(E,E),r=n.setAnalysisSlice(this,e,i,E)}else l(E,0,0,1),r=n.setAnalysisSlice(this,!1,E,E);r||this._dbg(3,`VoxelLayerView3D._pushAnalysisSliceToWasm() failed!`)}}_updateLayerTimeProperties(){let e=b(this.view);this._dbg(2,`VoxelLayerView3D._updateLayerTimeProperties() called, ${e?`have WASM`:`don't have WASM!!!`}`),e&&e.updateLayerTimeProperties(this)}_pushEnableDynamicSectionsToWasm(e){let t=b(this.view);this._dbg(2,`VoxelLayerView3D._pushEnableDynamicSectionsToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setEnableDynamicSections(this,e)||this._dbg(3,`VoxelLayerView3D._pushEnableDynamicSectionsToWasm() failed!`)}_pushEnableSlicesToWasm(e){let t=b(this.view);if(this._dbg(2,`VoxelLayerView3D._pushEnableSlicesToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t){let n=this.layer.getVolumeStyles();this._accountForEnableSlices(n,e),t.setVolumeStyles(this,n)||this._dbg(3,`VoxelLayerView3D._pushEnableSlicesToWasm() failed!`)}}_pushEnableIsosurfacesToWasm(e){let t=b(this.view);this._dbg(2,`VoxelLayerView3D._pushEnableIsosurfacesToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setEnableIsosurfaces(this,e)||this._dbg(3,`VoxelLayerView3D._pushEnableIsosurfacesToWasm() failed!`)}_pushEnableSectionsToWasm(e){let t=b(this.view);this._dbg(2,`VoxelLayerView3D._pushEnableSectionsToWasm() called, ${t?`have WASM`:`don't have WASM!!!`}`),t?.setEnableSections(this,e)||this._dbg(3,`VoxelLayerView3D._pushEnableSectionsToWasm() failed!`)}get baseUrl(){return this.layer.parsedUrl?.path??``}get wasmLayerId(){return this._wasmLayerId}_dbg(e,t){this._dbgFlags.has(e)&&(e===3?n.getLogger(this).error(t):n.getLogger(this).warn(t))}};e([a({readOnly:!0})],O.prototype,`visibleAtCurrentScale`,null),e([a()],O.prototype,`layer`,void 0),e([a()],O.prototype,`baseUrl`,null),e([a({type:Boolean})],O.prototype,`slicePlaneEnabled`,void 0),O=e([o(`esri.views.3d.layers.VoxelLayerView3D`)],O);const k=O;export{k as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{lerp as n}from"../../../../core/mathUtils.js";import{destroyMaybe as r}from"../../../../core/maybe.js";import{property as i,subclass as a}from"../../../../core/accessorSupport/decorators.js";import{transpose as o}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{transformMat4 as l,scale as u,round as d,copy as f,set as p}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as m,create as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{set as g,transformMat4 as _,scale as ee}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{create as v}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{UpdatingHandles as y}from"../../../../core/support/UpdatingHandles.js";import{getReferenceEllipsoid as b}from"../../../../geometry/ellipsoidUtils.js";import{create as x,empty as S,copy as C,offset as w,width as T,height as te,expand as ne}from"../../../../geometry/support/aaBoundingRect.js";import{h as re,c as E,a as D}from"../../../../chunks/boundedPlane.js";import{create as O}from"../../../../geometry/support/ray.js";import{Sphere as k,sphereCSO as A}from"../../../../geometry/support/sphere.js";import{InternalRenderCategory as j}from"../../webgl.js";import{DeconflictAABR as M}from"./DeconflictAABR.js";import{prepare as N,drawPoly as P}from"./deconflictorDebug.js";import{isSymbolLayerWithTransparencyMode as F}from"./transparencyUtils.js";import I from"../../webgl/RenderCamera.js";import{GPUPointOcclusionQuery as L}from"../../webgl-engine/lib/GPUPointOcclusionQuery.js";import{SeparateScreenSizePerspectiveEvaluators as R}from"../../webgl-engine/lib/screenSizePerspectiveUtils.js";import{HUDMaterial as z}from"../../webgl-engine/materials/HUDMaterial.js";import{Yield as B}from"../../../support/Yield.js";const V=h(),H=h(),U=v(),W=v(),G=h(),K=s(),q=new k,J=O(),Y=h(),X=x();class ie{constructor(e){this.id=e,this.aabr=x(),this.altitude=0,this.distance=0,this.distanceToOccluder=0,this.culled=!1,this.visible=!1,this.priority=0}}function ae(e,t){let n=e.distanceToOccluder!==0&&e.distance>e.distanceToOccluder,r=t.distanceToOccluder!==0&&t.distance>t.distanceToOccluder;return n===r?e.priority===t.priority?e.distance===t.distance?e.visible===t.visible?e.id-t.id:+t.visible-e.visible:e.distance-t.distance:t.priority-e.priority:+n-r}class oe{constructor(e,t){this.graphics3DGraphic=e,this.slicePlaneEnabled=t,this._info=null,this._labelInfo=null}ensureInfo(e){let t=this.getInfo(e);return t||(t=new ie(this.graphics3DGraphic.graphic.uid),this._setInfo(e,t)),t}getInfo(e){return e===16?this._labelInfo:this._info}removeInfo(e){this._setInfo(e,null)}_setInfo(e,t){e===16?this._labelInfo=t:this._info=t}}class Z{constructor(){this.camera=new I,this.slicePlane=E(),this.slicePlaneEnabled=!1}copyFrom(e){this.camera.equals(e.camera)||this.camera.copyFrom(e.camera),D(e.slicePlane,this.slicePlane),this.slicePlaneEnabled=e.slicePlaneEnabled}}let Q=class extends t{get dirty(){return this._dirty}get state(){return this._state}constructor(e){super(e),this._dirty=!1,this._viewState=new Z,this._state=0,this._checkOcclusion=new Map,this._active=new Map,this._checkOcclusionIterator=null,this._activeIterator=null,this._occlusionQueryUids=[],this._updatingHandles=new y,this._deconflictor=new M((e,t)=>{e.visible=t,this._setGraphicVisibility(this._active.get(e.id),t)},(e,t)=>e.id!==t.id,ae),this._baseOccludedVisibility=10,this._altitudeFactor=2,this._minAltitudeDifference=100}initialize(){this._updatingHandles.add(()=>(this.view?.map?.ground?.opacity??0)>0,()=>this.setDirty()),this._updatingHandles.add(()=>this.view.ready,()=>{this._occlusionQuery=null,this._opaqueOcclusionQuery=null,this.setDirty()})}destroy(){this._occlusionQuery=null,this._opaqueOcclusionQuery=null,this._updatingHandles.destroy(),this._deconflictor.destroy(),this._checkOcclusion.clear(),this._active.clear()}setDirty(){!this._dirty&&(this._active.size>0||this._checkOcclusion.size>0)&&(this._dirty=!0,this.notifyChange(`_readyToRun`))}setPriority(e,t){let n=this._active.get(e.graphic.uid)?.getInfo(this.visibilityGroup);n&&(n.priority=t)}get _readyToRun(){return this._state!==0||this._dirty}get updating(){return this._readyToRun||this._updatingHandles.updating}get updatingProgress(){if(!this.updating)return 1;let e=this._state/5;return this._dirty?e*.5:e}get readyToRun(){return this.view.ready&&this.view.state!=null&&this._readyToRun}get usedMemory(){return this._occlusionQuery?.usedMemory??0+(this._occlusionQueryUids?.length??0)*4}runTask(e){switch(this._state){case 0:this._startUpdate(),e.madeProgress();case 1:if(this._state=1,!this._processCheckOcclusion(e))return;case 2:if(this._state=2,!(this._occlusionQuery?.done??!0)||!(this._opaqueOcclusionQuery?.done??!0))return B;this._readOcclusionQueryResult(),e.madeProgress();case 3:if(this._state=3,!this._collectActiveGraphics(e))return;case 4:if(this._state=4,this._deconflictor.run(e),!this._deconflictor.done)return;default:this._state=0,this.notifyChange(`_readyToRun`)}}setGraphicsActive(e,t){t?e.forEach(e=>this.addToActiveGraphics(e)):e.forEach(e=>this.removeFromActiveGraphics(e))}isSupportedLayer(e){if(e==null||!(`hiddenIfDeconflicted`in e)||!e.hiddenIfDeconflicted)return!1;let t=e.stageObject;return(t?.geometries.length??0)===1&&t?.geometries[0]?.material instanceof z}_startUpdate(){N(this.view),this._dirty=!1,this._viewState.copyFrom(this.viewState);let{fullWidth:e,fullHeight:t}=this._viewState.camera;this._deconflictor.reset(e,t),this._resetIterators(),this._occlusionQueryUids.length=0,!this._checkOcclusion.size&&(this._occlusionQuery=r(this._occlusionQuery),this._opaqueOcclusionQuery=r(this._opaqueOcclusionQuery))}addToActiveGraphics(e){e.ensureInfo(this.visibilityGroup),this._active.set(e.graphics3DGraphic.graphic.uid,e),this.setDirty()}removeFromActiveGraphics(e){this._active.get(e.graphics3DGraphic.graphic.uid)===e&&($(e,this.visibilityGroup),e.removeInfo(this.visibilityGroup),this._active.delete(e.graphics3DGraphic.graphic.uid),this.setDirty())}addToCheckOcclusion(e){this._checkOcclusion.set(e.graphics3DGraphic.graphic.uid,e),this.setDirty()}removeFromCheckOcclusion(e){this._checkOcclusion.get(e.graphics3DGraphic.graphic.uid)===e&&this._checkOcclusion.delete(e.graphics3DGraphic.graphic.uid)}_processCheckOcclusion(e){if(this._checkOcclusion.size===0)return!0;let t=this._ensureCheckOcclusionIterator(),n=this._viewState.camera,i=o(K,n.viewInverseTransposeMatrix),a=this.view.map.ground.opacity>0,s=this.view.viewingMode===`global`&&a&&n.relativeElevation>0?q:null,c=0;s!=null&&(l(s.center,m,n.viewMatrix),s.radius=b(this.view.spatialReference).radius,c=A.distanceToSilhouette(s,m));let u=x();for(;;){if(e.done)return!1;e.madeProgress();let r=t.next();if(r.done===!0)break;let a=r.value,o=a.graphics3DGraphic;if(o.destroyed||!o.isVisible(1,8))continue;let d=ue(o,this.visibilityGroup),f=null,p=!0,m=!1;for(let e of d){if(!this.isSupportedLayer(e))continue;f=de,this._projectHudLayer(e,n,f),S(u);let t=e.stageObject.geometries[0].material;if(this._expandBoundingRect(u,n,e,t,f),f.isOutsideScreen||this._isCulledBySlice(a,f.positionWorld)||s!=null&&le(f,s,c)){p=!1;break}f.altitude=this.view.renderCoordsHelper.getAltitude(f.positionWorld);let r=a.ensureInfo(this.visibilityGroup);if(r.altitude=f.altitude,r.distance=f.distance,r.distanceToOccluder=f.distanceToOccluder,r.culled=!1,C(r.aabr,u),!e.occlusionCheck)break;l(H,f.positionView,i);let d=this._ensureOcclusionQuery(),h=this._ensureOpaqueOcclusionQuery();this._occlusionQueryUids.length===0&&(this._initOcclusionQuery(d),this._initOcclusionQuery(h));let g=d.addPosition(H),_=h.addPosition(H);if(g===this._occlusionQueryUids.length&&_===g){let t=e.adaptiveOcclusion;this._occlusionQueryUids.push(t?-o.graphic.uid:o.graphic.uid),m=!0}break}let h=this._active.has(o.graphic.uid);if(!h&&!m)this._setGraphicVisibility(a,p);else if(h&&(!p||!f)){let e=a.ensureInfo(this.visibilityGroup);e.visible=!f,e.culled=!0}}return this._checkOcclusionIterator=null,this._occlusionQueryUids.length||(this._occlusionQuery=r(this._occlusionQuery),this._opaqueOcclusionQuery=r(this._opaqueOcclusionQuery)),this._occlusionQuery?.start(),this._opaqueOcclusionQuery?.start(),!0}_readOcclusionQueryResult(){if(!this._occlusionQuery||!this._occlusionQueryUids.length)return;let e=this._viewState.camera,t=this.view.renderCoordsHelper.getAltitude(e.eye);for(let e=0;e<this._occlusionQueryUids.length;e++){let n=this._occlusionQueryUids[e],r=Math.abs(n),i=n<0,a=this._checkOcclusion.get(r);if(!a)continue;let o=this._occlusionQuery.getOcclusion(e)??-1,s=this._opaqueOcclusionQuery?.getOcclusion(e)??-1,c=a.getInfo(this.visibilityGroup);c&&(c.distanceToOccluder=o>0?c.distance-o:0);let l=s===0||s>0&&this._occludedVisibility(c?c.distance-s:0,c?.distance??s,c?.altitude??0,t,i),u=o===0||o>0&&this._occludedVisibility(c?.distanceToOccluder??0,c?.distance??o,c?.altitude??0,t,i),d=l||u;d&&this._setTransparentMode(a,l&&!u),this._active.has(r)?c&&(c.culled=!d,c.visible=d):this._setGraphicVisibility(a,d)}this._occlusionQueryUids.length=0}_collectActiveGraphics(e){let t=this._ensureActiveGraphicsIterator(),n=this.visibilityGroup===16;for(;!e.done;){e.madeProgress();let r=t.next();if(r.done===!0)return this._activeIterator=null,!0;let i=r.value,a=i.getInfo(this.visibilityGroup);if(!a)continue;let o=!n||i.graphics3DGraphic.isVisible();!o||a.culled?(P(a.aabr,!1,!0),this._setGraphicVisibility(i,o&&a.visible)):this._deconflictor.add(a)}return!1}_occludedVisibility(e,t,n,r,i=!0){let a=Math.max(this._minAltitudeDifference,Math.abs(n-r))-this._minAltitudeDifference,o=i?this._baseOccludedVisibility+this._altitudeFactor*a:0;return e===0||t-e<=o}_resetIterators(){this._checkOcclusionIterator=null,this._activeIterator=null}_ensureCheckOcclusionIterator(){return this._checkOcclusionIterator??=this._checkOcclusion.values(),this._checkOcclusionIterator}_ensureActiveGraphicsIterator(){return this._activeIterator??=this._active.values(),this._activeIterator}_initOcclusionQuery(e){if(!e)return;let{camera:t}=this._viewState,n=Math.max(2,2+Math.round(Math.log2(Math.abs(t.relativeElevation))));u(V,this._viewState.camera.eye,2**-n),u(V,d(V,V),2**n),e.init(this._checkOcclusion.size,V)}_ensureOcclusionQuery(){return this._occlusionQuery??=new L({view:this.view}),this._occlusionQuery}_ensureOpaqueOcclusionQuery(){return this._opaqueOcclusionQuery??=new L({view:this.view,category:j.OPAQUE_OCCLUSION_QUERY}),this._opaqueOcclusionQuery}_getNumVisible(e){return this._checkOcclusion.values().reduce((t,n)=>t+ +!!n.getInfo(e)?.visible,0)}_projectHudLayer(e,t,n){let r=e.stageObject,i=r.geometries[0],a=i.material;f(H,r.boundingVolumeWorldSpace.sphere.center),l(V,H,t.viewMatrix);let o=i.attributes,s=o.get(`normal`).data,c=o.get(`centerOffset`)?.data??m,[d]=o.get(`groundDistance`).data;a.applyShaderOffsets(H,V,s,r.transformation,c,d,t,n.screenSizePerspectiveEvaluators),g(U,V[0],V[1],V[2],1),_(W,U,t.projectionMatrix),u(n.positionNDC,W,1/W[3]),a.applyShaderOffsetsNDC(n.positionNDC,c,d,t,n.positionNDC,G),n.distanceWithoutPolygonOffset=t.depthNDCToWorld(G[2]),n.distance=G[2]===n.positionNDC[2]?n.distanceWithoutPolygonOffset:t.depthNDCToWorld(n.positionNDC[2]),g(W,n.positionNDC[0],n.positionNDC[1],n.positionNDC[2],1),_(U,W,t.inverseProjectionMatrix),ee(U,U,1/U[3]),p(n.positionView,U[0],U[1],U[2]),f(n.positionWorld,H)}_isCulledBySlice(e,t){return e.slicePlaneEnabled&&this._viewState.slicePlaneEnabled&&re(this._viewState.slicePlane,t)}_expandBoundingRect(e,t,r,i,{positionNDC:a,screenSizePerspectiveEvaluators:o}){let s=r.getScreenSize(se);o.evaluator.applyVec2(s,s),s[0]*=t.pixelRatio,s[1]*=t.pixelRatio;let c=w(i.calculateRelativeScreenBounds(s,o.alignmentEvaluator.apply(t.pixelRatio),X),n(0,t.fullWidth,.5+.5*a[0]),n(0,t.fullHeight,.5+.5*a[1])),l=this.marginFactor;if(l!==0){let e=l*Math.min(T(c),te(c));c[0]-=e,c[1]-=e,c[2]+=e,c[3]+=e}ne(e,c,e)}_setGraphicVisibility(e,t){let n=e?.graphics3DGraphic;n&&!n.destroyed&&(n.setVisibilityFlag(this.visibilityGroup,8,t),this.visibilityGroup===16&&this.view.labeler.setLabelGraphicVisibility(n,t))}_setTransparentMode(e,t){let n=e?.graphics3DGraphic;if(n&&!n.destroyed)for(let e of n.layers){if(e?.type!==`object3d`)continue;let{graphics3DSymbolLayer:n}=e;F(n)&&n.updateTransparentMode(e,t)}}};e([i({constructOnly:!0})],Q.prototype,`view`,void 0),e([i({type:Boolean,readOnly:!0})],Q.prototype,`_readyToRun`,null),e([i({type:Boolean,readOnly:!0})],Q.prototype,`updating`,null),e([i({readOnly:!0})],Q.prototype,`_updatingHandles`,void 0),Q=e([a(`esri.views.3d.layers.graphics.Deconflictor`)],Q);function $(e,t){let n=e.graphics3DGraphic;n.destroyed||n.setVisibilityFlag(t,8,!0)}const se=c();class ce{constructor(){this.positionWorld=h(),this.positionView=h(),this.positionNDC=h(),this.altitude=0,this.distance=0,this.distanceToOccluder=0,this.distanceWithoutPolygonOffset=0,this.screenSizePerspectiveEvaluators=new R}get isOutsideScreen(){let e=this.positionNDC;return e[0]<-1||e[1]<-1||e[2]<-1||e[0]>=1||e[1]>=1||e[2]>=1}}function le(e,t,n){return f(J.direction,e.positionView),p(J.origin,0,0,0),t.intersectRay(J,Y)?e.distanceWithoutPolygonOffset>n:!1}function ue(e,t){return t===16?e.labelLayers:e.layers}const de=new ce;export{Q as Deconflictor,oe as DeconflictorGraphic,Z as DeconflictorViewState};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{lerp as n}from"../../../../core/mathUtils.js";import{destroyMaybe as r}from"../../../../core/maybe.js";import{property as i,subclass as a}from"../../../../core/accessorSupport/decorators.js";import{transpose as o}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{transformMat4 as l,scale as u,round as d,copy as f,set as p}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as m,create as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{set as g,transformMat4 as _,scale as v}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{create as y}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{UpdatingHandles as b}from"../../../../core/support/UpdatingHandles.js";import{getReferenceEllipsoid as ee}from"../../../../geometry/ellipsoidUtils.js";import{create as x,empty as te,copy as S,offset as C,width as w,height as ne,expand as T}from"../../../../geometry/support/aaBoundingRect.js";import{h as E,c as re,a as ie}from"../../../../chunks/boundedPlane.js";import{create as D}from"../../../../geometry/support/ray.js";import{Sphere as O,sphereCSO as k}from"../../../../geometry/support/sphere.js";import{InternalRenderCategory as A}from"../../webgl.js";import{DeconflictAABR as j}from"./DeconflictAABR.js";import{prepare as M,drawPoly as N}from"./deconflictorDebug.js";import{isSymbolLayerWithTransparencyMode as P}from"./transparencyUtils.js";import F from"../../webgl/RenderCamera.js";import{getVec3AttributeView as I,getScalarAttributeView as L}from"../../webgl-engine/lib/attributeViewUtils.js";import{GPUPointOcclusionQuery as R}from"../../webgl-engine/lib/GPUPointOcclusionQuery.js";import{SeparateScreenSizePerspectiveEvaluators as z}from"../../webgl-engine/lib/screenSizePerspectiveUtils.js";import{HUDMaterial as B}from"../../webgl-engine/materials/HUDMaterial.js";import{Yield as V}from"../../../support/Yield.js";const H=h(),U=h(),W=h(),G=h(),K=y(),q=y(),J=h(),Y=s(),ae=new O,X=D(),oe=h(),Z=x();class se{constructor(e){this.id=e,this.aabr=x(),this.altitude=0,this.distance=0,this.distanceToOccluder=0,this.culled=!1,this.visible=!1,this.priority=0}}function ce(e,t){let n=e.distanceToOccluder!==0&&e.distance>e.distanceToOccluder,r=t.distanceToOccluder!==0&&t.distance>t.distanceToOccluder;return n===r?e.priority===t.priority?e.distance===t.distance?e.visible===t.visible?e.id-t.id:+t.visible-e.visible:e.distance-t.distance:t.priority-e.priority:+n-r}class le{constructor(e,t){this.graphics3DGraphic=e,this.slicePlaneEnabled=t,this._info=null,this._labelInfo=null}ensureInfo(e){let t=this.getInfo(e);return t||(t=new se(this.graphics3DGraphic.graphic.uid),this._setInfo(e,t)),t}getInfo(e){return e===16?this._labelInfo:this._info}removeInfo(e){this._setInfo(e,null)}_setInfo(e,t){e===16?this._labelInfo=t:this._info=t}}class Q{constructor(){this.camera=new F,this.slicePlane=re(),this.slicePlaneEnabled=!1}copyFrom(e){this.camera.equals(e.camera)||this.camera.copyFrom(e.camera),ie(e.slicePlane,this.slicePlane),this.slicePlaneEnabled=e.slicePlaneEnabled}}let $=class extends t{get dirty(){return this._dirty}get state(){return this._state}constructor(e){super(e),this._dirty=!1,this._viewState=new Q,this._state=0,this._checkOcclusion=new Map,this._active=new Map,this._checkOcclusionIterator=null,this._activeIterator=null,this._occlusionQueryUids=[],this._updatingHandles=new b,this._deconflictor=new j((e,t)=>{e.visible=t,this._setGraphicVisibility(this._active.get(e.id),t)},(e,t)=>e.id!==t.id,ce),this._baseOccludedVisibility=10,this._altitudeFactor=2,this._minAltitudeDifference=100}initialize(){this._updatingHandles.add(()=>(this.view?.map?.ground?.opacity??0)>0,()=>this.setDirty()),this._updatingHandles.add(()=>this.view.ready,()=>{this._occlusionQuery=null,this._opaqueOcclusionQuery=null,this.setDirty()})}destroy(){this._occlusionQuery=null,this._opaqueOcclusionQuery=null,this._updatingHandles.destroy(),this._deconflictor.destroy(),this._checkOcclusion.clear(),this._active.clear()}setDirty(){!this._dirty&&(this._active.size>0||this._checkOcclusion.size>0)&&(this._dirty=!0,this.notifyChange(`_readyToRun`))}setPriority(e,t){let n=this._active.get(e.graphic.uid)?.getInfo(this.visibilityGroup);n&&(n.priority=t)}get _readyToRun(){return this._state!==0||this._dirty}get updating(){return this._readyToRun||this._updatingHandles.updating}get updatingProgress(){if(!this.updating)return 1;let e=this._state/5;return this._dirty?e*.5:e}get readyToRun(){return this.view.ready&&this.view.state!=null&&this._readyToRun}get usedMemory(){return this._occlusionQuery?.usedMemory??0+(this._occlusionQueryUids?.length??0)*4}runTask(e){switch(this._state){case 0:this._startUpdate(),e.madeProgress();case 1:if(this._state=1,!this._processCheckOcclusion(e))return;case 2:if(this._state=2,!(this._occlusionQuery?.done??!0)||!(this._opaqueOcclusionQuery?.done??!0))return V;this._readOcclusionQueryResult(),e.madeProgress();case 3:if(this._state=3,!this._collectActiveGraphics(e))return;case 4:if(this._state=4,this._deconflictor.run(e),!this._deconflictor.done)return;default:this._state=0,this.notifyChange(`_readyToRun`)}}setGraphicsActive(e,t){t?e.forEach(e=>this.addToActiveGraphics(e)):e.forEach(e=>this.removeFromActiveGraphics(e))}isSupportedLayer(e){if(e==null||!(`hiddenIfDeconflicted`in e)||!e.hiddenIfDeconflicted)return!1;let t=e.stageObject;return(t?.geometries.length??0)===1&&t?.geometries[0]?.material instanceof B}_startUpdate(){M(this.view),this._dirty=!1,this._viewState.copyFrom(this.viewState);let{fullWidth:e,fullHeight:t}=this._viewState.camera;this._deconflictor.reset(e,t),this._resetIterators(),this._occlusionQueryUids.length=0,!this._checkOcclusion.size&&(this._occlusionQuery=r(this._occlusionQuery),this._opaqueOcclusionQuery=r(this._opaqueOcclusionQuery))}addToActiveGraphics(e){e.ensureInfo(this.visibilityGroup),this._active.set(e.graphics3DGraphic.graphic.uid,e),this.setDirty()}removeFromActiveGraphics(e){this._active.get(e.graphics3DGraphic.graphic.uid)===e&&(ue(e,this.visibilityGroup),e.removeInfo(this.visibilityGroup),this._active.delete(e.graphics3DGraphic.graphic.uid),this.setDirty())}addToCheckOcclusion(e){this._checkOcclusion.set(e.graphics3DGraphic.graphic.uid,e),this.setDirty()}removeFromCheckOcclusion(e){this._checkOcclusion.get(e.graphics3DGraphic.graphic.uid)===e&&this._checkOcclusion.delete(e.graphics3DGraphic.graphic.uid)}_processCheckOcclusion(e){if(this._checkOcclusion.size===0)return!0;let t=this._ensureCheckOcclusionIterator(),n=this._viewState.camera,i=o(Y,n.viewInverseTransposeMatrix),a=this.view.map.ground.opacity>0,s=this.view.viewingMode===`global`&&a&&n.relativeElevation>0?ae:null,c=0;s!=null&&(l(s.center,m,n.viewMatrix),s.radius=ee(this.view.spatialReference).radius,c=k.distanceToSilhouette(s,m));let u=x();for(;;){if(e.done)return!1;e.madeProgress();let r=t.next();if(r.done===!0)break;let a=r.value,o=a.graphics3DGraphic;if(o.destroyed||!o.isVisible(1,8))continue;let d=me(o,this.visibilityGroup),f=null,p=!0,m=!1;for(let e of d){if(!this.isSupportedLayer(e))continue;f=he,this._projectHudLayer(e,n,f),te(u);let t=e.stageObject.geometries[0].material;if(this._expandBoundingRect(u,n,e,t,f),f.isOutsideScreen||this._isCulledBySlice(a,f.positionWorld)||s!=null&&pe(f,s,c)){p=!1;break}f.altitude=this.view.renderCoordsHelper.getAltitude(f.positionWorld);let r=a.ensureInfo(this.visibilityGroup);if(r.altitude=f.altitude,r.distance=f.distance,r.distanceToOccluder=f.distanceToOccluder,r.culled=!1,S(r.aabr,u),!e.occlusionCheck)break;l(U,f.positionView,i);let d=this._ensureOcclusionQuery(),h=this._ensureOpaqueOcclusionQuery();this._occlusionQueryUids.length===0&&(this._initOcclusionQuery(d),this._initOcclusionQuery(h));let g=d.addPosition(U),_=h.addPosition(U);if(g===this._occlusionQueryUids.length&&_===g){let t=e.adaptiveOcclusion;this._occlusionQueryUids.push(t?-o.graphic.uid:o.graphic.uid),m=!0}break}let h=this._active.has(o.graphic.uid);if(!h&&!m)this._setGraphicVisibility(a,p);else if(h&&(!p||!f)){let e=a.ensureInfo(this.visibilityGroup);e.visible=!f,e.culled=!0}}return this._checkOcclusionIterator=null,this._occlusionQueryUids.length||(this._occlusionQuery=r(this._occlusionQuery),this._opaqueOcclusionQuery=r(this._opaqueOcclusionQuery)),this._occlusionQuery?.start(),this._opaqueOcclusionQuery?.start(),!0}_readOcclusionQueryResult(){if(!this._occlusionQuery||!this._occlusionQueryUids.length)return;let e=this._viewState.camera,t=this.view.renderCoordsHelper.getAltitude(e.eye);for(let e=0;e<this._occlusionQueryUids.length;e++){let n=this._occlusionQueryUids[e],r=Math.abs(n),i=n<0,a=this._checkOcclusion.get(r);if(!a)continue;let o=this._occlusionQuery.getOcclusion(e)??-1,s=this._opaqueOcclusionQuery?.getOcclusion(e)??-1,c=a.getInfo(this.visibilityGroup);c&&(c.distanceToOccluder=o>0?c.distance-o:0);let l=s===0||s>0&&this._occludedVisibility(c?c.distance-s:0,c?.distance??s,c?.altitude??0,t,i),u=o===0||o>0&&this._occludedVisibility(c?.distanceToOccluder??0,c?.distance??o,c?.altitude??0,t,i),d=l||u;d&&this._setTransparentMode(a,l&&!u),this._active.has(r)?c&&(c.culled=!d,c.visible=d):this._setGraphicVisibility(a,d)}this._occlusionQueryUids.length=0}_collectActiveGraphics(e){let t=this._ensureActiveGraphicsIterator(),n=this.visibilityGroup===16;for(;!e.done;){e.madeProgress();let r=t.next();if(r.done===!0)return this._activeIterator=null,!0;let i=r.value,a=i.getInfo(this.visibilityGroup);if(!a)continue;let o=!n||i.graphics3DGraphic.isVisible();!o||a.culled?(N(a.aabr,!1,!0),this._setGraphicVisibility(i,o&&a.visible)):this._deconflictor.add(a)}return!1}_occludedVisibility(e,t,n,r,i=!0){let a=Math.max(this._minAltitudeDifference,Math.abs(n-r))-this._minAltitudeDifference,o=i?this._baseOccludedVisibility+this._altitudeFactor*a:0;return e===0||t-e<=o}_resetIterators(){this._checkOcclusionIterator=null,this._activeIterator=null}_ensureCheckOcclusionIterator(){return this._checkOcclusionIterator??=this._checkOcclusion.values(),this._checkOcclusionIterator}_ensureActiveGraphicsIterator(){return this._activeIterator??=this._active.values(),this._activeIterator}_initOcclusionQuery(e){if(!e)return;let{camera:t}=this._viewState,n=Math.max(2,2+Math.round(Math.log2(Math.abs(t.relativeElevation))));u(H,this._viewState.camera.eye,2**-n),u(H,d(H,H),2**n),e.init(this._checkOcclusion.size,H)}_ensureOcclusionQuery(){return this._occlusionQuery??=new R({view:this.view}),this._occlusionQuery}_ensureOpaqueOcclusionQuery(){return this._opaqueOcclusionQuery??=new R({view:this.view,category:A.OPAQUE_OCCLUSION_QUERY}),this._opaqueOcclusionQuery}_getNumVisible(e){return this._checkOcclusion.values().reduce((t,n)=>t+ +!!n.getInfo(e)?.visible,0)}_projectHudLayer(e,t,n){let r=e.stageObject,i=r.geometries[0],a=i.material;f(U,r.boundingVolumeWorldSpace.sphere.center),l(H,U,t.viewMatrix);let o=I(i,`normal`).getVec(0,W),s=I(i,`centerOffset`)?.getVec(0,G)??m,c=L(i,`groundDistance`).get(0);a.applyShaderOffsets(U,H,o,r.transformation,s,c,t,n.screenSizePerspectiveEvaluators),g(K,H[0],H[1],H[2],1),_(q,K,t.projectionMatrix),u(n.positionNDC,q,1/q[3]),a.applyShaderOffsetsNDC(n.positionNDC,s,c,t,n.positionNDC,J),n.distanceWithoutPolygonOffset=t.depthNDCToWorld(J[2]),n.distance=J[2]===n.positionNDC[2]?n.distanceWithoutPolygonOffset:t.depthNDCToWorld(n.positionNDC[2]),g(q,n.positionNDC[0],n.positionNDC[1],n.positionNDC[2],1),_(K,q,t.inverseProjectionMatrix),v(K,K,1/K[3]),p(n.positionView,K[0],K[1],K[2]),f(n.positionWorld,U)}_isCulledBySlice(e,t){return e.slicePlaneEnabled&&this._viewState.slicePlaneEnabled&&E(this._viewState.slicePlane,t)}_expandBoundingRect(e,t,r,i,{positionNDC:a,screenSizePerspectiveEvaluators:o}){let s=r.getScreenSize(de);o.evaluator.applyVec2(s,s),s[0]*=t.pixelRatio,s[1]*=t.pixelRatio;let c=C(i.calculateRelativeScreenBounds(s,o.alignmentEvaluator.apply(t.pixelRatio),Z),n(0,t.fullWidth,.5+.5*a[0]),n(0,t.fullHeight,.5+.5*a[1])),l=this.marginFactor;if(l!==0){let e=l*Math.min(w(c),ne(c));c[0]-=e,c[1]-=e,c[2]+=e,c[3]+=e}T(e,c,e)}_setGraphicVisibility(e,t){let n=e?.graphics3DGraphic;n&&!n.destroyed&&(n.setVisibilityFlag(this.visibilityGroup,8,t),this.visibilityGroup===16&&this.view.labeler.setLabelGraphicVisibility(n,t))}_setTransparentMode(e,t){let n=e?.graphics3DGraphic;if(n&&!n.destroyed)for(let e of n.layers){if(e?.type!==`object3d`&&e?.type!==`buffer`)continue;let{graphics3DSymbolLayer:n}=e;P(n)&&n.updateTransparentMode(e,t)}}};e([i({constructOnly:!0})],$.prototype,`view`,void 0),e([i({type:Boolean,readOnly:!0})],$.prototype,`_readyToRun`,null),e([i({type:Boolean,readOnly:!0})],$.prototype,`updating`,null),e([i({readOnly:!0})],$.prototype,`_updatingHandles`,void 0),$=e([a(`esri.views.3d.layers.graphics.Deconflictor`)],$);function ue(e,t){let n=e.graphics3DGraphic;n.destroyed||n.setVisibilityFlag(t,8,!0)}const de=c();class fe{constructor(){this.positionWorld=h(),this.positionView=h(),this.positionNDC=h(),this.altitude=0,this.distance=0,this.distanceToOccluder=0,this.distanceWithoutPolygonOffset=0,this.screenSizePerspectiveEvaluators=new z}get isOutsideScreen(){let e=this.positionNDC;return e[0]<-1||e[1]<-1||e[2]<-1||e[0]>=1||e[1]>=1||e[2]>=1}}function pe(e,t,n){return f(X.direction,e.positionView),p(X.origin,0,0,0),t.intersectRay(X,oe)?e.distanceWithoutPolygonOffset>n:!1}function me(e,t){return t===16?e.labelLayers:e.layers}const he=new fe;export{$ as Deconflictor,le as DeconflictorGraphic,Q as DeconflictorViewState};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{copy as e}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as n}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{computeTranslationToOriginAndRotation as i}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBuffer as a}from"../../../../geometry/projection/projectBuffer.js";import{SampleElevationInfo as o,updateVertexPointGroundDistance as s}from"./elevationAlignmentUtils.js";import{debugFlags as c}from"../../support/debugFlags.js";import{SamplePosition as l}from"../../support/ElevationProvider.js";import{isGeometryWithMapPositions as u}from"../../webgl-engine/lib/GeometryWithMapPositions.js";function d(e,t,n,r,i){let a=e.stageObject,o=a.geometries,s=0;for(let e of o){if(!u(e))continue;let{update:o,averageGeometrySampledElevation:c}=C(e,t,n,r,i);s+=c,o&&a.geometryVertexAttributeUpdated(e,`position`)}return s/o.length}function f(t,r,a,o,l,u){let d=t.stageObject,f=r.centerInElevationSR,m=0;o(f,S),d.usesVerticalDistanceToGround?(s(d,S.verticalDistanceToGround),m=S.sampledElevation):r.mode!==`absolute-height`&&(m=S.sampledElevation);let h=e(p,u??d.transformation),v=n(x,h[12],h[13],h[14]);c.ENABLE_OPTIMIZATIONS?l.setAltitudeOfTransformation(S.z,h):(_[0]=f[0],_[1]=f[1],_[2]=S.z,i(a,_,h,l.spatialReference)&&(u?e(u,h):d.transformation=h));let y=g/l.unitInMeters;return(Math.abs(h[12]-v[0])>=y||Math.abs(h[13]-v[1])>=y||Math.abs(h[14]-v[2])>=y)&&(u?e(u,h):d.transformation=h),m}const p=t();function m(e,t,r,a,o){let s=e.graphics3DSymbolLayer.lodRenderer;if(s==null)return 0;let l=t.centerInElevationSR;a(l,S);let u=t.mode===`absolute-height`?0:S.sampledElevation,d=s.instanceData,f=e.instanceIndex,p=b;d.getGlobalTransform(f,p);let m=n(x,p[12],p[13],p[14]);c.ENABLE_OPTIMIZATIONS?o.setAltitudeOfTransformation(S.z,p):(_[0]=l[0],_[1]=l[1],_[2]=S.z,i(r,_,p,o.spatialReference)&&d.setGlobalTransform(f,p));let h=g/o.unitInMeters;return(!c.ENABLE_OPTIMIZATIONS||Math.abs(p[12]-m[0])>=h||Math.abs(p[13]-m[1])>=h||Math.abs(p[14]-m[2])>=h)&&d.setGlobalTransform(f,p),u}function h(e,t,n,r,i){let a=e.stageObject,o=a.geometries;if(o.length===0)return 0;let s=0,c=null,l=0,d=!1;for(let e of o){if(!u(e))continue;let o=e.attributes.get(`position`);if(o!==c){let{update:a,averageGeometrySampledElevation:s}=C(e,t,n,r,i);l=s,c=o,d=a}d&&a.geometryVertexAttributeUpdated(e,`position`),s+=l}return s/o.length}const g=.01,_=r(),v=r(),y=r(),b=t(),x=r(),S=new o;function C(e,t,n,r,i){let o=!1,s=e.transformation,u=t.requiresSampledElevationInfo;v[0]=s[12],v[1]=s[13],v[2]=s[14],e.invalidateBoundingInfo();let d=e.getMutableAttribute(`position`),f=d.data,p=d.size,m=f.length/p,h=new l(e.mapPositions,n),b=0,x=0;for(let e=0;e<m;e++){if(y[0]=f[b],y[1]=f[b+1],y[2]=f[b+2],r(h,S),u&&(x+=S.sampledElevation),c.ENABLE_OPTIMIZATIONS){_[0]=f[b]+v[0],_[1]=f[b+1]+v[1],_[2]=f[b+2]+v[2],i.setAltitude(_,S.z),f[b]=_[0]-v[0],f[b+1]=_[1]-v[1],f[b+2]=_[2]-v[2];let e=g/i.unitInMeters;(Math.abs(y[0]-f[b])>=e||Math.abs(y[1]-f[b+1])>=e||Math.abs(y[2]-f[b+2])>=e)&&(o=!0)}else f[b]=h.array[h.offset],f[b+1]=h.array[h.offset+1],f[b+2]=S.z,a(f,n,b,f,i.spatialReference,b,1),f[b]-=v[0],f[b+1]-=v[1],f[b+2]-=v[2],o=!0;b+=p,h.offset+=3}return x/=m,{update:o,averageGeometrySampledElevation:x}}export{m as perLodInstanceElevationAligner,f as perObjectElevationAligner,d as perVertexElevationAligner,h as sharedGeometryElevationAligner};
2
+ import{copy as e}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as n,add as r,subtract as i}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{computeTranslationToOriginAndRotation as o}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBuffer as s}from"../../../../geometry/projection/projectBuffer.js";import{BufferViewVec3f as c}from"../../../../geometry/support/buffer/BufferView.js";import{SampleElevationInfo as l,updateVertexPointGroundDistance as u,updateBufferPointGroundDistance as d,applyBufferPointPlacement as f}from"./elevationAlignmentUtils.js";import{debugFlags as p}from"../../support/debugFlags.js";import{SamplePosition as m}from"../../support/ElevationProvider.js";import{updateObjectVertexField as h,updateVertexFieldVec3f as g}from"../../webgl-engine/lib/bufferGeometryUtils.js";import{isGeometryWithMapPositions as _}from"../../webgl-engine/lib/GeometryWithMapPositions.js";function v(e,t,n,r,i){let a=e.stageObject,o=a.geometries,s=0;for(let e of o){if(!_(e))continue;let{update:o,averageGeometrySampledElevation:c}=j(e,t,n,r,i);s+=c,o&&a.geometryVertexAttributeUpdated(e,`position`)}return s/o.length}function y(t,r,i,a,s,c){let l=t.stageObject,d=r.centerInElevationSR,f=0;a(d,A),l.usesVerticalDistanceToGround?(u(l,A.verticalDistanceToGround),f=A.sampledElevation):r.mode!==`absolute-height`&&(f=A.sampledElevation);let m=e(x,c??l.transformation),h=n(k,m[12],m[13],m[14]);p.ENABLE_OPTIMIZATIONS?s.setAltitudeOfTransformation(A.z,m):(T[0]=d[0],T[1]=d[1],T[2]=A.z,o(i,T,m,s.spatialReference)&&(c?e(c,m):l.transformation=m));let g=w/s.unitInMeters;return(Math.abs(m[12]-h[0])>=g||Math.abs(m[13]-h[1])>=g||Math.abs(m[14]-h[2])>=g)&&(c?e(c,m):l.transformation=m),f}function b(e,t,a,o,s){let l=t.centerInElevationSR;if(o(l,A),d(e,A.verticalDistanceToGround),p.ENABLE_OPTIMIZATIONS){let t=w/s.unitInMeters;for(let a of e.geometries){let o=a.buffers.vertex.getField(`position`,c),l=a.localOrigin.vec3;n(D,o.get(0,0),o.get(0,1),o.get(0,2)),r(T,D,l),s.setAltitude(T,A.z),i(T,T,l),(Math.abs(T[0]-D[0])>=t||Math.abs(T[1]-D[1])>=t||Math.abs(T[2]-D[2])>=t)&&h(e,g,a,`position`,0,T)}}else n(T,l[0],l[1],A.z),f(e,T,a,s);return A.sampledElevation}const x=t();function S(e,t,r,i,a){let s=e.graphics3DSymbolLayer.lodRenderer;if(s==null)return 0;let c=t.centerInElevationSR;i(c,A);let l=t.mode===`absolute-height`?0:A.sampledElevation,u=s.instanceData,d=e.instanceIndex,f=O;u.getGlobalTransform(d,f);let m=n(k,f[12],f[13],f[14]);p.ENABLE_OPTIMIZATIONS?a.setAltitudeOfTransformation(A.z,f):(T[0]=c[0],T[1]=c[1],T[2]=A.z,o(r,T,f,a.spatialReference)&&u.setGlobalTransform(d,f));let h=w/a.unitInMeters;return(!p.ENABLE_OPTIMIZATIONS||Math.abs(f[12]-m[0])>=h||Math.abs(f[13]-m[1])>=h||Math.abs(f[14]-m[2])>=h)&&u.setGlobalTransform(d,f),l}function C(e,t,n,r,i){let a=e.stageObject,o=a.geometries;if(o.length===0)return 0;let s=0,c=null,l=0,u=!1;for(let e of o){if(!_(e))continue;let o=e.attributes.get(`position`);if(o!==c){let{update:a,averageGeometrySampledElevation:s}=j(e,t,n,r,i);l=s,c=o,u=a}u&&a.geometryVertexAttributeUpdated(e,`position`),s+=l}return s/o.length}const w=.01,T=a(),E=a(),D=a(),O=t(),k=a(),A=new l;function j(e,t,n,r,i){let a=!1,o=e.transformation,c=t.requiresSampledElevationInfo;E[0]=o[12],E[1]=o[13],E[2]=o[14],e.invalidateBoundingInfo();let l=e.getMutableAttribute(`position`),u=l.data,d=l.size,f=u.length/d,h=new m(e.mapPositions,n),g=0,_=0;for(let e=0;e<f;e++){if(D[0]=u[g],D[1]=u[g+1],D[2]=u[g+2],r(h,A),c&&(_+=A.sampledElevation),p.ENABLE_OPTIMIZATIONS){T[0]=u[g]+E[0],T[1]=u[g+1]+E[1],T[2]=u[g+2]+E[2],i.setAltitude(T,A.z),u[g]=T[0]-E[0],u[g+1]=T[1]-E[1],u[g+2]=T[2]-E[2];let e=w/i.unitInMeters;(Math.abs(D[0]-u[g])>=e||Math.abs(D[1]-u[g+1])>=e||Math.abs(D[2]-u[g+2])>=e)&&(a=!0)}else u[g]=h.array[h.offset],u[g+1]=h.array[h.offset+1],u[g+2]=A.z,s(u,n,g,u,i.spatialReference,g,1),u[g]-=E[0],u[g+1]-=E[1],u[g+2]-=E[2],a=!0;g+=d,h.offset+=3}return _/=f,{update:a,averageGeometrySampledElevation:_}}export{b as perBufferPointElevationAligner,S as perLodInstanceElevationAligner,y as perObjectElevationAligner,v as perVertexElevationAligner,C as sharedGeometryElevationAligner};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
+ import{Graphics3DStageObjectGraphicLayer as e}from"./Graphics3DStageObjectGraphicLayer.js";class t extends e{constructor(e,t,n,r,i){super(e,t,n,i),this.elevationAligner=r,this.type=`buffer`}updateMaterial(e){let{stageObject:t}=this,n=t.geometries.map(t=>t.instantiate(e));for(let e of n)t.removeGeometry(0),t.addGeometry(e)}_alignWithElevation(e,t,n,r){this.elevationAligner!=null&&(this.alignedSampledElevation=this.elevationAligner(this.stageObject,this.elevationContext,e,t,n))}}export{t as Graphics3DBufferGraphicLayer};