@arcgis/core 5.1.0-next.114 → 5.1.0-next.115

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 (294) hide show
  1. package/Map.js +1 -1
  2. package/analysis/ShadowCast/MinDurationOptions.d.ts +3 -5
  3. package/analysis/ShadowCastAnalysis.d.ts +1 -1
  4. package/arcgisGlobal.d.ts +4 -0
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/05c47ca3a266a271974b.js +1 -0
  7. package/assets/esri/core/workers/chunks/{29bbc0d6d847b065d10e.js → 062aadf426fe97a76bbb.js} +1 -1
  8. package/assets/esri/core/workers/chunks/0954e82f739d25001bcb.js +1 -0
  9. package/assets/esri/core/workers/chunks/0aaee272520c6e5bb617.js +1 -0
  10. package/assets/esri/core/workers/chunks/{12053c1213465d07d2f6.js → 0b445c1cf281f158c1f1.js} +1 -1
  11. package/assets/esri/core/workers/chunks/102ff3710db4ba5f083d.js +1 -0
  12. package/assets/esri/core/workers/chunks/163ce1be8bfe20e77f97.js +1 -0
  13. package/assets/esri/core/workers/chunks/{e87d02af6d6b05e19d93.js → 16713986893adfbc9331.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{9bd713d96502ddc2ce25.js → 1765042635084f75d2b3.js} +1 -1
  15. package/assets/esri/core/workers/chunks/185c670eb99474906836.js +1 -0
  16. package/assets/esri/core/workers/chunks/18ebf1d3ed05c8057f7d.js +1 -0
  17. package/assets/esri/core/workers/chunks/1da2c34743897d1b6a24.js +1 -0
  18. package/assets/esri/core/workers/chunks/22d4521637806a8b828f.js +1 -0
  19. package/assets/esri/core/workers/chunks/233ff588798c8a5eedf4.js +1 -0
  20. package/assets/esri/core/workers/chunks/24d9e4f1c7b8ff0d2cce.js +1 -0
  21. package/assets/esri/core/workers/chunks/2562d8905bd05ef6fd07.js +1 -0
  22. package/assets/esri/core/workers/chunks/{e5d969214d9eda5c0b4c.js → 2a5dbed88bbd96cfac9f.js} +1 -1
  23. package/assets/esri/core/workers/chunks/2bcd4d395bfe6a19ccc8.js +1 -0
  24. package/assets/esri/core/workers/chunks/3192586ec7fc73ed1165.js +1 -0
  25. package/assets/esri/core/workers/chunks/38ca59db0e8f45bd7811.js +1 -0
  26. package/assets/esri/core/workers/chunks/3b10a962e4ff2f3da5bc.js +1 -0
  27. package/assets/esri/core/workers/chunks/3e9709e61015993b1c7d.js +1 -0
  28. package/assets/esri/core/workers/chunks/425c04b26a6ec6d04b08.js +1 -0
  29. package/assets/esri/core/workers/chunks/4364a3e706294bb6ae41.js +1 -0
  30. package/assets/esri/core/workers/chunks/44e52fe98ffafe6a2807.js +1 -0
  31. package/assets/esri/core/workers/chunks/4cecc582513b8a83f194.js +1 -0
  32. package/assets/esri/core/workers/chunks/5022413f5a41b5d435ea.js +1 -0
  33. package/assets/esri/core/workers/chunks/{8ade869fa9bae446266a.js → 51816d79c6be15e4bfcf.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{cf9b0ba30a75c030ca92.js → 5524a71d1abc9568ce26.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{ba31616de9d73d83d867.js → 557e39e5156b313597f9.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{5ef37f37e405b3bb5450.js → 59dafa1e1340ea4043e6.js} +1 -1
  37. package/assets/esri/core/workers/chunks/624b1bb269744142b835.js +1 -0
  38. package/assets/esri/core/workers/chunks/{39987c06636e757d1f00.js → 62b5972d0ef9bf173308.js} +1 -1
  39. package/assets/esri/core/workers/chunks/641b8622fbb93c84671d.js +1 -0
  40. package/assets/esri/core/workers/chunks/643c7506f8fe8e06acd2.js +1 -0
  41. package/assets/esri/core/workers/chunks/65f02eca694cc1c9f5a7.js +1 -0
  42. package/assets/esri/core/workers/chunks/6d696beddcc5fbed5875.js +1 -0
  43. package/assets/esri/core/workers/chunks/728ad5bbbcbf88d6249f.js +1 -0
  44. package/assets/esri/core/workers/chunks/{0d2bc1be5802681666a4.js → 77859a61d059738d057f.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{03a4543b94f9adeb1852.js → 7a3b05e25de2ff150f38.js} +1 -1
  46. package/assets/esri/core/workers/chunks/7bbffe07e62897928773.js +1 -0
  47. package/assets/esri/core/workers/chunks/{14a241b07baa67743248.js → 7c292f7b181f3b93352b.js} +1 -1
  48. package/assets/esri/core/workers/chunks/7c2d7df4ef4d775cd648.js +1 -0
  49. package/assets/esri/core/workers/chunks/{6d20d741b8ae1a45b422.js → 7dc2c21d61ba66a3f461.js} +1 -1
  50. package/assets/esri/core/workers/chunks/7df05c3c82cd27b77300.js +1 -0
  51. package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +1 -0
  52. package/assets/esri/core/workers/chunks/8461f50e9875db4ccfec.js +1 -0
  53. package/assets/esri/core/workers/chunks/{71e12db99589c98a4357.js → 8477b5fdd99c6ac5c27b.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{be1e4c3ec53fc92a26f1.js → 8598997340682113a2a5.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{548c34ea88f113d03c93.js → 86229634bf008f53dad4.js} +1 -1
  56. package/assets/esri/core/workers/chunks/86443e47ad99e555753a.js +1 -0
  57. package/assets/esri/core/workers/chunks/87a40e7f79f97ca637a9.js +1 -0
  58. package/assets/esri/core/workers/chunks/{27d6ad4ca5ab8c9d62cd.js → 8c443c52c846a096a250.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{86161025b53b916328ff.js → 8ca88cfc0b9f84dc5832.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{340f2c996f62f7f5ceae.js → 8e7ce4835b3106349684.js} +1 -1
  61. package/assets/esri/core/workers/chunks/90b0fe5584fb6fc99766.js +1 -0
  62. package/assets/esri/core/workers/chunks/9133c1b7cc1c9da27deb.js +1 -0
  63. package/assets/esri/core/workers/chunks/{d4749eb8a47869477037.js → 9250615c78f8570a9cda.js} +1 -1
  64. package/assets/esri/core/workers/chunks/92a7735973b2f82a66ce.js +1 -0
  65. package/assets/esri/core/workers/chunks/94a5a834e32fc6cc6ed4.js +1 -0
  66. package/assets/esri/core/workers/chunks/986d8c3907aeeb18c4f6.js +1 -0
  67. package/assets/esri/core/workers/chunks/98e489c2b85feded7776.js +1 -0
  68. package/assets/esri/core/workers/chunks/{271e42b7cd3c3441839e.js → 9eab1e1535494ff2050d.js} +10 -22
  69. package/assets/esri/core/workers/chunks/{466c250537415f12eb59.js → a01f0ffbe555f690bdca.js} +1 -1
  70. package/assets/esri/core/workers/chunks/a03c4c0bf138734a002e.js +1 -0
  71. package/assets/esri/core/workers/chunks/a814069325125466506b.js +1 -0
  72. package/assets/esri/core/workers/chunks/{e4b2120d7ee1c998b1fc.js → aa03f770178693167aa0.js} +1 -1
  73. package/assets/esri/core/workers/chunks/aea439d4c2308f88b295.js +1 -0
  74. package/assets/esri/core/workers/chunks/{7995e6983456c779adf9.js → b002304a45856b024b46.js} +1 -1
  75. package/assets/esri/core/workers/chunks/b0c242c4f5412e4cce73.js +1 -0
  76. package/assets/esri/core/workers/chunks/b44f1d08784f2e50c853.js +1 -0
  77. package/assets/esri/core/workers/chunks/c1b6de0d728d25d7905a.js +1 -0
  78. package/assets/esri/core/workers/chunks/{f8b884b529064df4a30a.js → caf80facb0322be054ab.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{25d795a1697803d77e56.js → ce0e627a5e1cb78adce8.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{63378b0b4265a547656b.js → d8ec0afb2b91ccf32e55.js} +1 -1
  81. package/assets/esri/core/workers/chunks/d97c0c18202b8c578f8c.js +1 -0
  82. package/assets/esri/core/workers/chunks/{2f99a95facddc44319a9.js → da3c54e27a808f4fcc18.js} +1 -1
  83. package/assets/esri/core/workers/chunks/db012650fb34c10cecd0.js +1 -0
  84. package/assets/esri/core/workers/chunks/dc6d50e1097a920ff820.js +1 -0
  85. package/assets/esri/core/workers/chunks/dce37324a2382d2eef0d.js +1 -0
  86. package/assets/esri/core/workers/chunks/e0bd550b10dd402c48f1.js +1 -0
  87. package/assets/esri/core/workers/chunks/e2ba57f7119b7182ba02.js +279 -0
  88. package/assets/esri/core/workers/chunks/e755477dc78e9d6038d4.js +1 -0
  89. package/assets/esri/core/workers/chunks/ea4057090cf15d602585.js +1 -0
  90. package/assets/esri/core/workers/chunks/ea8f642b1db933d2c26f.js +1 -0
  91. package/assets/esri/core/workers/chunks/eabd4a78221b7e733793.js +1 -0
  92. package/assets/esri/core/workers/chunks/eb16976b4eb7f1300f4a.js +1 -0
  93. package/assets/esri/core/workers/chunks/efae58f746b108163a50.js +1 -0
  94. package/assets/esri/core/workers/chunks/f231548c8ac7ecb59927.js +1 -0
  95. package/assets/esri/core/workers/chunks/fe2325efd0d8ad8369ed.js +1 -0
  96. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +26 -3
  97. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +4 -13
  98. package/assets/esri/themes/dark/main.css +1 -1
  99. package/assets/esri/themes/light/main.css +1 -1
  100. package/assets/esri/themes/light/view.css +1 -1
  101. package/chunks/GlobalIllumination.glsl.js +22 -34
  102. package/config.js +1 -1
  103. package/core/screenUtils.js +1 -1
  104. package/core/typedArrayUtil.js +1 -1
  105. package/editing/templates/TemplateListing.d.ts +32 -0
  106. package/editing/templates/TemplateListing.js +2 -0
  107. package/geometry/support/buffer/BufferView.js +1 -1
  108. package/geometry/support/heightModelInfoUtils.js +1 -1
  109. package/interfaces.d.ts +14 -0
  110. package/kernel.js +1 -1
  111. package/layers/AnnotationLayer.d.ts +42 -0
  112. package/layers/AnnotationLayer.js +2 -0
  113. package/layers/DimensionFeatureLayer.d.ts +36 -1
  114. package/layers/DimensionFeatureLayer.js +1 -1
  115. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  116. package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
  117. package/layers/types.d.ts +1 -1
  118. package/networks/support/networkFieldUtils.js +1 -1
  119. package/package.json +1 -1
  120. package/rest/support/OutDistance.js +1 -1
  121. package/rest/support/Query.js +1 -1
  122. package/support/basemapEnsureType.js +1 -1
  123. package/support/revision.js +1 -1
  124. package/symbols/cim/CIMOperators.js +1 -1
  125. package/symbols/cim/CIMSymbolHelper.js +1 -1
  126. package/symbols/cim/utils.js +1 -1
  127. package/views/2d/engine/webgl/mesh/factories/FeatureMeshFactory.js +1 -1
  128. package/views/2d/engine/webgl/mesh/factories/ResourceProxy.js +1 -1
  129. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  130. package/views/2d/engine/webgl/shaderGraph/techniques/createTestMeshData.js +1 -1
  131. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  132. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  133. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  134. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  135. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ViewInfo.js +1 -1
  136. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  137. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  138. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  139. package/views/2d/engine/webgl/util/AnnotationMatcher.js +2 -0
  140. package/views/2d/engine/webgl/util/DimensionMatcher.js +2 -0
  141. package/views/2d/engine/webgl/util/Matcher.js +1 -1
  142. package/views/2d/engine/webgl/util/createMatcher.js +1 -1
  143. package/views/2d/layerViewModuleImportUtils.js +1 -1
  144. package/views/2d/layers/AnnotationLayerView2D.js +2 -0
  145. package/views/2d/layers/{DimensionLayerView2D.js → DimensionFeatureLayerView2D.js} +1 -1
  146. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  147. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  148. package/views/2d/layers/RouteLayerView2D.js +1 -1
  149. package/views/2d/layers/TileLayerView2D.js +1 -1
  150. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  151. package/views/2d/layers/features/FeatureContainer.js +1 -1
  152. package/views/2d/layers/features/Processor.js +1 -1
  153. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +2 -0
  154. package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
  155. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  156. package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
  157. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  158. package/views/2d/layers/features/support/FeatureSetReaderAnnotationJSON.js +2 -0
  159. package/views/2d/layers/features/support/FeatureSetReaderDimensionJSON.js +2 -0
  160. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  161. package/views/2d/layers/support/annodime/DimensionInfo.js +2 -0
  162. package/views/2d/layers/support/annodime/DimensionMatcherSchema.js +2 -0
  163. package/views/2d/layers/support/annodime/PrivateDimensionEffect.js +2 -0
  164. package/views/2d/layers/support/annodime/PrivatePlacementMultipoint.js +2 -0
  165. package/views/2d/layers/support/annodime/annotationGraphic.js +2 -0
  166. package/views/2d/layers/support/annodime/annotationSchema.js +2 -0
  167. package/views/2d/layers/support/annodime/annotationUtils.js +2 -0
  168. package/views/2d/layers/support/annodime/cimAnnotations.js +2 -0
  169. package/views/2d/layers/support/annodime/dimensionSchema.js +2 -0
  170. package/views/2d/layers/support/annodime/dimensionSymbols.js +2 -0
  171. package/views/2d/layers/support/annodime/dimensionUtils.js +2 -0
  172. package/views/2d/layers/support/annodime/fields.js +2 -0
  173. package/views/2d/layers/support/annodime/unsupported.js +2 -0
  174. package/views/2d/layers/support/annodime/utils.js +2 -0
  175. package/views/2d/layers/support/annodime/virtualFields.js +2 -0
  176. package/views/2d/support/clippingUtils.js +1 -1
  177. package/views/2d/support/hitTestUtils.js +1 -1
  178. package/views/2d/types.d.ts +5 -1
  179. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  180. package/views/3d/layerViewModuleImportUtils.js +1 -1
  181. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  182. package/views/3d/layers/TileLayerView3D.js +1 -1
  183. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  184. package/views/3d/types.d.ts +2 -0
  185. package/views/3d/webgl-engine/collections/Component/RenderSubmitSystem.js +1 -1
  186. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  187. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +8 -8
  188. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +53 -61
  189. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +23 -32
  190. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  191. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  192. package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
  193. package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
  194. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  195. package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
  196. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  197. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  198. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFieldCreation.js +1 -1
  199. package/views/3d/webgl-engine/materials/PathLayouts.js +1 -1
  200. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  201. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  202. package/views/3d/webgl-engine/shaders/ditherNoise.glsl.js +18 -1
  203. package/views/PopupView.d.ts +3 -3
  204. package/views/PopupView.js +1 -1
  205. package/views/SceneView.js +1 -1
  206. package/views/View2D.js +1 -1
  207. package/views/layers/AnnotationLayerView.d.ts +18 -0
  208. package/views/layers/AnnotationLayerView.js +2 -0
  209. package/views/layers/DimensionFeatureLayerView.d.ts +18 -0
  210. package/views/layers/DimensionFeatureLayerView.js +2 -0
  211. package/views/layers/FeatureLikeLayerView.d.ts +2 -1
  212. package/views/layers/FeatureLikeLayerView.js +1 -1
  213. package/views/layers/ImageryLayerView.js +1 -1
  214. package/views/layers/ImageryTileLayerView.js +1 -1
  215. package/views/layers/WMSLayerView.js +1 -1
  216. package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
  217. package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
  218. package/widgets/BatchAttributeForm/css.js +1 -1
  219. package/widgets/BatchAttributeForm/rendered-content/RelationshipDetails.js +2 -0
  220. package/widgets/BatchAttributeForm.js +1 -1
  221. package/widgets/FeatureForm.js +1 -1
  222. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  223. package/widgets/OrientedImageryViewer/css.js +1 -1
  224. package/widgets/OrientedImageryViewer.js +1 -1
  225. package/widgets/support/iconUtils.js +1 -1
  226. package/assets/esri/core/workers/chunks/0175098da590a7109539.js +0 -1
  227. package/assets/esri/core/workers/chunks/019a4fe7e085b2fc6ae9.js +0 -1
  228. package/assets/esri/core/workers/chunks/023837e5d9d2b6af66d8.js +0 -1
  229. package/assets/esri/core/workers/chunks/03c46880b69ce75a010f.js +0 -1
  230. package/assets/esri/core/workers/chunks/040884cec4b84dd1bb17.js +0 -1
  231. package/assets/esri/core/workers/chunks/04ea806b933d4dd41609.js +0 -1
  232. package/assets/esri/core/workers/chunks/0e549d942d6cba1608cf.js +0 -1
  233. package/assets/esri/core/workers/chunks/13a8346abe5509167578.js +0 -1
  234. package/assets/esri/core/workers/chunks/13d43a0683c42b94feb6.js +0 -1
  235. package/assets/esri/core/workers/chunks/179ffa2168c42615ccf2.js +0 -1
  236. package/assets/esri/core/workers/chunks/1ebb613bbe09fcf274d8.js +0 -1
  237. package/assets/esri/core/workers/chunks/27d7c701306efeea6b82.js +0 -1
  238. package/assets/esri/core/workers/chunks/2b9661700743d1f9717e.js +0 -1
  239. package/assets/esri/core/workers/chunks/2bdfae998371e3aa9f2d.js +0 -1
  240. package/assets/esri/core/workers/chunks/2f0a3b22fc46d832e240.js +0 -1
  241. package/assets/esri/core/workers/chunks/3835097520296b0517af.js +0 -1
  242. package/assets/esri/core/workers/chunks/4605a68e40c5c3ac6e3e.js +0 -1
  243. package/assets/esri/core/workers/chunks/4b130db9b7b4e2e32ea4.js +0 -1
  244. package/assets/esri/core/workers/chunks/4bfeac7338df9e0b7ce1.js +0 -1
  245. package/assets/esri/core/workers/chunks/4c5cdd2712c938fafc5d.js +0 -1
  246. package/assets/esri/core/workers/chunks/4fa3840672c33adb9171.js +0 -1
  247. package/assets/esri/core/workers/chunks/4ffcca40e7aa24c8cc35.js +0 -1
  248. package/assets/esri/core/workers/chunks/534dd93c72ea448ee908.js +0 -1
  249. package/assets/esri/core/workers/chunks/5ea0096a282e87a269bd.js +0 -1
  250. package/assets/esri/core/workers/chunks/66fe1634c6e8f72fc653.js +0 -1
  251. package/assets/esri/core/workers/chunks/6920e7f700a9ba280dba.js +0 -1
  252. package/assets/esri/core/workers/chunks/6b1f2b36bdc6b2ff2ea5.js +0 -1
  253. package/assets/esri/core/workers/chunks/6b66a6f69aa03338c346.js +0 -1
  254. package/assets/esri/core/workers/chunks/6d59a9cf533ebc590f70.js +0 -1
  255. package/assets/esri/core/workers/chunks/75dfdd85abbac26ac899.js +0 -1
  256. package/assets/esri/core/workers/chunks/798c4d3201fcc9f2a42b.js +0 -1
  257. package/assets/esri/core/workers/chunks/817fd88fe9a48caf69fb.js +0 -1
  258. package/assets/esri/core/workers/chunks/825db2ea15308ee6e5dc.js +0 -1
  259. package/assets/esri/core/workers/chunks/82f7d83a2073d1b0111c.js +0 -1
  260. package/assets/esri/core/workers/chunks/89250d268dc2554a9ece.js +0 -1
  261. package/assets/esri/core/workers/chunks/8c8fed53c12fb80ef2ed.js +0 -1
  262. package/assets/esri/core/workers/chunks/8ff83c59462dea6e3427.js +0 -1
  263. package/assets/esri/core/workers/chunks/961995d8da45a9203255.js +0 -1
  264. package/assets/esri/core/workers/chunks/a9c9c00432ee41ec91ba.js +0 -1
  265. package/assets/esri/core/workers/chunks/af762422a65c551dcd54.js +0 -1
  266. package/assets/esri/core/workers/chunks/b041c22885193bdd3004.js +0 -1
  267. package/assets/esri/core/workers/chunks/b3e8ab68fc38306f13c6.js +0 -1
  268. package/assets/esri/core/workers/chunks/b684ff4bc93bd60d6a19.js +0 -1
  269. package/assets/esri/core/workers/chunks/bb2f6b0fcdfb8b158e26.js +0 -1
  270. package/assets/esri/core/workers/chunks/c5ab346a226df1894302.js +0 -1
  271. package/assets/esri/core/workers/chunks/cd2b2babcdc130b4c368.js +0 -1
  272. package/assets/esri/core/workers/chunks/cedf3e316d6f89cf7005.js +0 -1
  273. package/assets/esri/core/workers/chunks/d39f5590022d910ee951.js +0 -1
  274. package/assets/esri/core/workers/chunks/d412a43060441d347fb4.js +0 -1
  275. package/assets/esri/core/workers/chunks/d41b847d08c42e5329d6.js +0 -262
  276. package/assets/esri/core/workers/chunks/d52172439db02a349542.js +0 -1
  277. package/assets/esri/core/workers/chunks/d8c2bed12f937228c763.js +0 -1
  278. package/assets/esri/core/workers/chunks/de916dd0c11aefb6832e.js +0 -1
  279. package/assets/esri/core/workers/chunks/ecf4d07917efc97eb991.js +0 -1
  280. package/assets/esri/core/workers/chunks/eda51e512eff551ad858.js +0 -1
  281. package/assets/esri/core/workers/chunks/f14e3693cd644265f909.js +0 -1
  282. package/assets/esri/core/workers/chunks/f52c6efc5a2abf5ac845.js +0 -1
  283. package/assets/esri/core/workers/chunks/f635a8e3b0bfeda99ed5.js +0 -1
  284. package/assets/esri/core/workers/chunks/f9f331c76c96743d8522.js +0 -1
  285. package/assets/esri/core/workers/chunks/fcbacca99c5a3ee5b69a.js +0 -1
  286. package/symbols/dimensions/effects/LinearDimensionArrowEffect.js +0 -2
  287. package/symbols/dimensions/effects/LinearDimensionExtensionLineEffect.js +0 -2
  288. package/symbols/dimensions/effects/LinearDimensionLeaderLineEffect.js +0 -2
  289. package/symbols/dimensions/effects/LinearDimensionLineEffect.js +0 -2
  290. package/symbols/dimensions/effects/LinearDimensionPointEffect.js +0 -2
  291. package/symbols/dimensions/effects/LinearDimensionTextEffect.js +0 -2
  292. package/views/2d/layers/features/support/FeatureSetReaderDimension.js +0 -2
  293. package/views/3d/webgl-engine/effects/globalIllumination/BlueNoise.js +0 -2
  294. package/views/layers/support/dimensionUtils.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{pt2px as e}from"../../../../../../core/screenUtils.js";import r from"../../../../../../layers/support/OrderByInfo.js";import{createLabelMatcherSchema as t}from"./LabelMatcherSchema.js";import{createMatcherSchema as s}from"./MatcherSchema.js";import{createStorageSchema as i,createTrackStorageSchema as n}from"./StorageSchema.js";import{createVisualVariableUniforms as a}from"./VisualVariablesSchema.js";async function l(e,r){const i=r.renderer,n=a(i);return{symbology:await s(e,i),labels:await t(e,r,n)}}async function o(e,r,t,s){const n=t.featureReduction;if(n)switch(n.type){case"binning":return f(n,e,r,t,s);case"cluster":return b(n,e,r,t,s)}if(t.trackInfo?.enabled)return y(t.trackInfo,e,r,t,s);t.symbolLayerDrawing?.enabled&&(e.symbolLayerDrawing=t.symbolLayerDrawing);const a=p(t.orderBy,t.renderer,t.objectIdField),o=i(t.renderer,r.filters),c=await l(e,t),u=d(c.symbology);return{storage:o,mesh:{properties:{sortKey:a,timeZone:r.timeZone,returnMeshObjectId:u,displayRefreshVersion:s,currentUser:r.currentUser},strategy:{type:"feature"},factory:c},expressionProperties:{timeExtent:r.timeExtent?.toJSON()}}}function c(e,r){return e.fields.map(e=>({...e.toJSON(),type:u(e,r)}))}function u(e,r){const{onStatisticExpression:t,onStatisticField:s,statisticType:i}=e;switch(i){case"min":case"max":case"avg":case"avg_angle":case"sum":case"count":return"esriFieldTypeDouble";case"mode":{if(t){const{returnType:e}=t;return e?"string"===e?"esriFieldTypeString":"esriFieldTypeDouble":"esriFieldTypeString"}const e=r.find(e=>e.name===s);return e?e.type:"esriFieldTypeString"}}}async function f(r,n,l,o,u){const f=c(r,o.fields),b=r.renderer,y=await s(n,b),p=i(b,[null,null]),m=a(b),g=await t(n,{geometryType:"polygon",labelingInfoSource:o.labelingInfoSource+"-binning",labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},m),v=d(y),h="geohash"===r.binType?{type:"geohash",fixBinLevel:r.fixedBinLevel??3}:{type:"grid",size:e(r.size),fixedBinLevel:r.fixedBinLevel};return{storage:p,mesh:{properties:{sortKey:null,timeZone:l.timeZone,returnMeshObjectId:v,displayRefreshVersion:u,currentUser:l.currentUser},strategy:{type:"binning",fields:f,index:h,featureFilter:l.filters[0]},factory:{labels:g,symbology:y}},expressionProperties:{timeExtent:l.timeExtent?.toJSON()}}}async function b(r,n,l,o,u){const f=c(r,o.fields),b={type:"cluster",feature:await s(n,r.effectiveFeatureRenderer),cluster:await s(n,r.effectiveClusterRenderer)},y=a(r.effectiveFeatureRenderer),p={type:"cluster",feature:await t(n,o,y),cluster:await t(n,{geometryType:"point",labelingInfoSource:o.labelingInfoSource+"-clusters",labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},y)},m=i(r.effectiveFeatureRenderer,[null,null]),g=d(b);return{storage:m,mesh:{properties:{sortKey:null,timeZone:l.timeZone,displayRefreshVersion:u,returnMeshObjectId:g,currentUser:l.currentUser},strategy:{type:"cluster",fields:f,featureFilter:l.filters[0],clusterRadius:e(r.clusterRadius/2)},factory:{labels:p,symbology:b}},expressionProperties:{timeExtent:l.timeExtent?.toJSON()}}}async function y(e,r,i,l,o){const u=c(e,l.fields),f={type:"track",previousObservation:await s(r,e.previousObservations.renderer),latestObservation:await s(r,e.latestObservations.renderer),trackLine:await s(r,e.trackLines.renderer)},b={type:"track",previousObservation:await t(r,{geometryType:l.geometryType,labelingInfoSource:l.labelingInfoSource+"-track-prev",labelingInfo:e.previousObservations.labelingInfo,labelsVisible:e.previousObservations.labelsVisible},a(e.previousObservations.renderer)),latestObservation:await t(r,{geometryType:l.geometryType,labelingInfoSource:l.labelingInfoSource+"-track-latest",labelingInfo:e.latestObservations.labelingInfo,labelsVisible:e.latestObservations.labelsVisible},a(e.latestObservations.renderer)),trackLine:await t(r,{geometryType:"polyline",labelingInfoSource:l.labelingInfoSource+"-track-line",labelingInfo:e.trackLines.labelingInfo,labelsVisible:e.trackLines.labelsVisible},a(e.trackLines.renderer))},y=n(e,[null,null]),p=d(f);return{storage:y,mesh:{properties:{sortKey:null,timeZone:i.timeZone,returnMeshObjectId:p,displayRefreshVersion:o,currentUser:i.currentUser},strategy:{type:"track",featureFilter:i.filters[0],fields:u,maxDisplayDuration:e.maxDisplayDuration?.toMilliseconds()??0,maxDisplayObservationsPerTrack:e.maxDisplayObservationsPerTrack,showLatestObservation:e.latestObservations.visible,showPreviousObservations:e.previousObservations.visible,showTrackLine:e.trackLines.visible,timeField:e.timeField},factory:{labels:b,symbology:f}},expressionProperties:{timeExtent:i.timeExtent?.toJSON()}}}function p(e,t,s){const i=null!=t&&"unique-value"===t.type&&t.orderByClassesEnabled;if("default"!==e||i||(e=[new r({field:s,order:"descending"})]),"default"!==e&&e?.length){e.length;const r=e[0],t="ascending"===r.order?"asc":"desc";return r.field?{field:r.field,order:t}:r.valueExpression?{expression:r.valueExpression,order:t}:null}if(i){return{byRenderer:!0,order:"asc"}}return null}function m(e){return 2===e.techniqueType}function d(e){if("simple"===e.type&&e.meshes.some(m))return!0;if("interval"===e.type){if(e.intervals.some(e=>e.meshes.some(m)||e.alternateMeshes.some(m)))return!0;if(e.backgroundFill.some(m))return!0}if("map"===e.type){if(e.map.some(e=>e.meshes.some(m)||e.alternateMeshes.some(m)))return!0;if(e.backgroundFill.some(m))return!0}return!1}export{o as createSimpleProcessorSchema,c as getAggregateFields};
2
+ import{pt2px as e}from"../../../../../../core/screenUtils.js";import r from"../../../../../../layers/support/OrderByInfo.js";import{createLabelMatcherSchema as t}from"./LabelMatcherSchema.js";import{createMatcherSchema as s}from"./MatcherSchema.js";import{createStorageSchema as i,createTrackStorageSchema as n}from"./StorageSchema.js";import{createVisualVariableUniforms as a}from"./VisualVariablesSchema.js";async function l(e,r){const i=r.renderer,n=a(i);return{symbology:await s(e,i),labels:await t(e,r,n)}}async function o(e,r,t,s){const n=t.featureReduction;if(n)switch(n.type){case"binning":return f(n,e,r,t,s);case"cluster":return b(n,e,r,t,s)}if(t.trackInfo?.enabled)return y(t.trackInfo,e,r,t,s);t.symbolLayerDrawing?.enabled&&(e.symbolLayerDrawing=t.symbolLayerDrawing);const a=p(t.orderBy,t.renderer,t.objectIdField),o=i(t.renderer,r.filters),c=await l(e,t),u=d(c.symbology);return{storage:o,mesh:{properties:{sortKey:a,timeZone:r.timeZone,returnMeshObjectId:u,displayRefreshVersion:s,currentUser:r.currentUser},strategy:{type:"feature"},factory:c},expressionProperties:{timeExtent:r.timeExtent?.toJSON()}}}function c(e,r){return e.fields.map(e=>({...e.toJSON(),type:u(e,r)}))}function u(e,r){const{onStatisticExpression:t,onStatisticField:s,statisticType:i}=e;switch(i){case"min":case"max":case"avg":case"avg_angle":case"sum":case"count":return"esriFieldTypeDouble";case"mode":{if(t){const{returnType:e}=t;return e?"string"===e?"esriFieldTypeString":"esriFieldTypeDouble":"esriFieldTypeString"}const e=r.find(e=>e.name===s);return e?e.type:"esriFieldTypeString"}}}async function f(r,n,l,o,u){const f=c(r,o.fields),b=r.renderer,y=await s(n,b),p=i(b,[null,null]),m=a(b),g=await t(n,{geometryType:"polygon",labelingInfoSource:o.labelingInfoSource+"-binning",labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},m),v=d(y),h="geohash"===r.binType?{type:"geohash",fixBinLevel:r.fixedBinLevel??3}:{type:"grid",size:e(r.size),fixedBinLevel:r.fixedBinLevel};return{storage:p,mesh:{properties:{sortKey:null,timeZone:l.timeZone,returnMeshObjectId:v,displayRefreshVersion:u,currentUser:l.currentUser},strategy:{type:"binning",fields:f,index:h,featureFilter:l.filters[0]},factory:{labels:g,symbology:y}},expressionProperties:{timeExtent:l.timeExtent?.toJSON()}}}async function b(r,n,l,o,u){const f=c(r,o.fields),b={type:"cluster",feature:await s(n,r.effectiveFeatureRenderer),cluster:await s(n,r.effectiveClusterRenderer)},y=a(r.effectiveFeatureRenderer),p={type:"cluster",feature:await t(n,o,y),cluster:await t(n,{geometryType:"point",labelingInfoSource:o.labelingInfoSource+"-clusters",labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},y)},m=i(r.effectiveFeatureRenderer,[null,null]),g=d(b);return{storage:m,mesh:{properties:{sortKey:null,timeZone:l.timeZone,displayRefreshVersion:u,returnMeshObjectId:g,currentUser:l.currentUser},strategy:{type:"cluster",fields:f,featureFilter:l.filters[0],clusterRadius:e(r.clusterRadius/2)},factory:{labels:p,symbology:b}},expressionProperties:{timeExtent:l.timeExtent?.toJSON()}}}async function y(e,r,i,l,o){const u=c(e,l.fields),f={type:"track",previousObservation:await s(r,e.previousObservations.renderer),latestObservation:await s(r,e.latestObservations.renderer),trackLine:await s(r,e.trackLines.renderer)},b={type:"track",previousObservation:await t(r,{geometryType:l.geometryType,labelingInfoSource:l.labelingInfoSource+"-track-prev",labelingInfo:e.previousObservations.labelingInfo,labelsVisible:e.previousObservations.labelsVisible},a(e.previousObservations.renderer)),latestObservation:await t(r,{geometryType:l.geometryType,labelingInfoSource:l.labelingInfoSource+"-track-latest",labelingInfo:e.latestObservations.labelingInfo,labelsVisible:e.latestObservations.labelsVisible},a(e.latestObservations.renderer)),trackLine:await t(r,{geometryType:"polyline",labelingInfoSource:l.labelingInfoSource+"-track-line",labelingInfo:e.trackLines.labelingInfo,labelsVisible:e.trackLines.labelsVisible},a(e.trackLines.renderer))},y=n(e,[null,null]),p=d(f);return{storage:y,mesh:{properties:{sortKey:null,timeZone:i.timeZone,returnMeshObjectId:p,displayRefreshVersion:o,currentUser:i.currentUser},strategy:{type:"track",featureFilter:i.filters[0],fields:u,maxDisplayDuration:e.maxDisplayDuration?.toMilliseconds()??0,maxDisplayObservationsPerTrack:e.maxDisplayObservationsPerTrack,showLatestObservation:e.latestObservations.visible,showPreviousObservations:e.previousObservations.visible,showTrackLine:e.trackLines.visible,timeField:e.timeField},factory:{labels:b,symbology:f}},expressionProperties:{timeExtent:i.timeExtent?.toJSON()}}}function p(e,t,s){const i=null!=t&&"unique-value"===t.type&&t.orderByClassesEnabled;if("default"!==e||i||(e=[new r({field:s,order:"descending"})]),"default"!==e&&e?.length){e.length;const r=e[0],t="ascending"===r.order?"asc":"desc";return r.field?{field:r.field,order:t}:r.valueExpression?{expression:r.valueExpression,order:t}:null}if(i){return{byRenderer:!0,order:"asc"}}return null}function m(e){return 2===e.techniqueType}function d(e){if("simple"===e.type&&e.meshes.some(m))return!0;if("interval"===e.type){if(e.intervals.some(e=>e.meshes.some(m)||e.alternateMeshes.some(m)))return!0;if(e.backgroundFill.some(m))return!0}if("map"===e.type){if(e.map.some(e=>e.meshes.some(m)||e.alternateMeshes.some(m)))return!0;if(e.backgroundFill.some(m))return!0}return!1}export{o as createSimpleProcessorSchema,c as getAggregateFields,p as getSortKey};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import t from"../../../../../../../request.js";import e from"../../../../../../../core/Error.js";import has from"../../../../../../../core/has.js";import r from"../../../../../../../core/workers/Connection.js";import{toQuantizationTransform as a}from"../../../../../../../geometry/support/quantizationUtils.js";import{convertFromFeatureSet as s,quantizeOptimizedFeatureSet as o}from"../../../../../../../layers/graphics/featureConversionUtils.js";import{queryOptimizedFeatureSet as i}from"../../../../../../../layers/ogc/ogcFeatureUtils.js";import{executeQueryPBFBuffer as n,getQueryParameters as u,executeQuery as c}from"../../../../../../../rest/query/operations/query.js";import{FeatureSetReaderJSON as m}from"../../../support/FeatureSetReaderJSON.js";import{FeatureSetReaderPBF as l}from"../../../support/FeatureSetReaderPBF.js";class p{constructor(t,e){this.service=t,this._metadata=e}destroy(){}}function y(t,e,r){switch(t.type){case"memory":return new d(t,e,r);case"ogc":return new _(t,e);case"feature-service":return t.queryMetadata.supportsFormatPBF&&has("featurelayer-pbf")?new h(t,e):new w(t,e)}}async function f(t){const e=new r;return await e.open(t,{}),e}class d extends p{constructor(t,e,r){super(t,e),this._ports=[],this._loaded=this._load(r)}destroy(){this._loaded.finally(()=>{this._client.close(),this._client=null;for(const t of this._ports)t.close()}).catch(()=>{})}async _load(t){this._ports=await t.layerView.openMemoryPorts(),this._client=await f(this._ports)}async executeQuery(t,e){await this._loaded;const r=await this._client.invoke("queryFeatures",t.toJSON(),e);return m.fromFeatureSet(r,this._metadata)}}class h extends p{async executeQuery(r,a){const s=await n(this.service.source,r,a),o=!r.quantizationParameters;try{return l.fromBuffer(s,this._metadata,o)}catch(i){const s=await u(this.service.source,r,"pbf",a??{}),{data:{url:o}}=await t(s.url,{responseType:"native-request-init",...s.options});throw new e("featurelayer:query","Failed to parse response",{url:o,error:i,query:r.toJSON()})}}}class w extends p{async executeQuery(t,e){const{source:r,queryMetadata:i}=this.service,n=null;if(null!=t.quantizationParameters&&!i.supportsQuantization){const i=t.clone(),u=a(i.quantizationParameters);i.quantizationParameters=null;const l=await c(r,i,n,e),p=s(l,this._metadata.featureIdInfo);return o(u,p),m.fromOptimizedFeatureSet(p,this._metadata)}const u=await c(r,t,n,e);return"esriGeometryPoint"===this._metadata.geometryType&&(u.features=u.features?.filter(t=>{if(null!=t.geometry){const e=t.geometry;return Number.isFinite(e.x)&&Number.isFinite(e.y)}return!0})),m.fromFeatureSet(u,this._metadata)}}class _ extends p{async executeQuery(t,e){if(t.quantizationParameters&&!this.service.queryMetadata.supportsQuantization){const r=t.clone(),s=a(r.quantizationParameters);r.quantizationParameters=null;const n=await i(this.service.source,t,e);return o(s,n),m.fromOptimizedFeatureSet(n,this._metadata)}const r=await i(this.service.source,t,e);return m.fromOptimizedFeatureSet(r,this._metadata)}}export{p as SourceAdapter,y as createQueryAdapter};
2
+ import e from"../../../../../../../request.js";import t from"../../../../../../../core/Error.js";import has from"../../../../../../../core/has.js";import a from"../../../../../../../core/workers/Connection.js";import{toQuantizationTransform as r}from"../../../../../../../geometry/support/quantizationUtils.js";import{convertFromFeatureSet as s,quantizeOptimizedFeatureSet as i}from"../../../../../../../layers/graphics/featureConversionUtils.js";import{checkProjectionSupport as o}from"../../../../../../../layers/graphics/data/projectionSupport.js";import{queryOptimizedFeatureSet as n}from"../../../../../../../layers/ogc/ogcFeatureUtils.js";import{executeQueryPBFBuffer as u,getQueryParameters as c,executeQuery as m}from"../../../../../../../rest/query/operations/query.js";import{FeatureSetReaderAnnotationJSON as l}from"../../../support/FeatureSetReaderAnnotationJSON.js";import{FeatureSetReaderDimensionJSON as p}from"../../../support/FeatureSetReaderDimensionJSON.js";import{FeatureSetReaderJSON as d}from"../../../support/FeatureSetReaderJSON.js";import{FeatureSetReaderPBF as f}from"../../../support/FeatureSetReaderPBF.js";import{annotationVirtualFields as h,dimensionVirtualFields as y}from"../../../../support/annodime/fields.js";class _{constructor(e,t){this.service=e,this._metadata=t}destroy(){}}function w(e,t,a){switch(e.type){case"memory":return new z(e,t,a);case"ogc":return new x(e,t);case"feature-service":return e.queryMetadata.supportsFormatPBF&&has("featurelayer-pbf")?new F(e,t):"annotation"===t.layerType?new j(e,t):"dimension-feature"===t.layerType?new P(e,t):new S(e,t)}}async function q(e){const t=new a;return await t.open(e,{}),t}class z extends _{constructor(e,t,a){super(e,t),this._ports=[],this._loaded=this._load(a)}destroy(){this._loaded.finally(()=>{this._client.close(),this._client=null;for(const e of this._ports)e.close()}).catch(()=>{})}async _load(e){this._ports=await e.layerView.openMemoryPorts(),this._client=await q(this._ports)}async executeQuery(e,t){await this._loaded;const a=await this._client.invoke("queryFeatures",e.toJSON(),t);return d.fromFeatureSet(a,this._metadata)}}class F extends _{async executeQuery(a,r){const s=await u(this.service.source,a,r),i=!a.quantizationParameters;try{return f.fromBuffer(s,this._metadata,i)}catch(o){const s=await c(this.service.source,a,"pbf",r??{}),{data:{url:i}}=await e(s.url,{responseType:"native-request-init",...s.options});throw new t("featurelayer:query","Failed to parse response",{url:i,error:o,query:a.toJSON()})}}}class S extends _{async executeQuery(e,t){const{source:a,queryMetadata:o}=this.service,n=null;if(null!=e.quantizationParameters&&!o.supportsQuantization){const o=e.clone(),u=r(o.quantizationParameters);o.quantizationParameters=null;const c=await m(a,o,n,t),l=s(c,this._metadata.featureIdInfo);return i(u,l),d.fromOptimizedFeatureSet(l,this._metadata)}const u=await m(a,e,n,t);return"esriGeometryPoint"===this._metadata.geometryType&&(u.features=u.features?.filter(e=>{if(null!=e.geometry){const t=e.geometry;return Number.isFinite(t.x)&&Number.isFinite(t.y)}return!0})),d.fromFeatureSet(u,this._metadata)}}class j extends _{constructor(e,t){super(e,t),this._loaded=this._load()}async _load(){await o(this._metadata.spatialReference,this._metadata.outSpatialReference)}async executeQuery(e,t){await this._loaded;const{source:a}=this.service,o=e.clone(),n=r(o.quantizationParameters);o.quantizationParameters=null;const u=await m(a,o,this._metadata.spatialReference,t),c=s(u,this._metadata.featureIdInfo);return c.fields.push(...h),i(n,c),l.fromOptimizedFeatureSet(c,this._metadata)}}class P extends _{constructor(e,t){super(e,t),this._loaded=this._load()}async _load(){await o(this._metadata.spatialReference,this._metadata.outSpatialReference)}async executeQuery(e,t){await this._loaded;const{source:a}=this.service,o=e.clone(),n=r(o.quantizationParameters);o.quantizationParameters=null;const u=await m(a,o,this._metadata.spatialReference,t),c=s(u,this._metadata.featureIdInfo);return c.fields.push(...y),i(n,c),p.fromOptimizedFeatureSet(c,this._metadata)}}class x extends _{async executeQuery(e,t){if(e.quantizationParameters&&!this.service.queryMetadata.supportsQuantization){const a=e.clone(),s=r(a.quantizationParameters);a.quantizationParameters=null;const o=await n(this.service.source,e,t);return i(s,o),d.fromOptimizedFeatureSet(o,this._metadata)}const a=await n(this.service.source,e,t);return d.fromOptimizedFeatureSet(a,this._metadata)}}export{_ as SourceAdapter,w as createQueryAdapter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../../../../geometry/SpatialReference.js";import t from"../../../../../layers/support/FieldsIndex.js";class i{static minimal(e,n,s=[],l=!1,o=!1){return new i({geometryType:e,hasZ:l,hasM:o,fieldsIndex:new t(s).toJSON(),featureIdInfo:{type:"object-id",fieldName:n},subtypes:null,subtypeField:null,types:null,globalIdField:null,spatialReference:null,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null})}static createFeature(e){return new i(e)}constructor(i){let n;this._options=i,this._fieldsIndex=t.fromJSON(i.fieldsIndex),i.spatialReference&&(i.spatialReference instanceof e?this._spatialReference=i.spatialReference:this._spatialReference=e.fromJSON(i.spatialReference)),i.outSpatialReference&&(i.outSpatialReference instanceof e?this._outSpatialReference=i.outSpatialReference:this._outSpatialReference=e.fromJSON(i.outSpatialReference)),"object-id"===i.featureIdInfo.type&&(n=i.featureIdInfo.fieldName),this._arcadeSchema={fields:this.fieldsIndex.fields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,objectIdField:n,globalIdField:this._options.globalIdField,spatialReference:this._spatialReference,timeInfo:this._options.timeInfo,typeIdField:this._options.typeIdField??void 0,types:this._options.types??void 0,subtypeField:this._options.subtypeField,subtypes:this._options.subtypes??void 0,datesInUnknownTimezone:this._options.timeReferenceUnknownClient??void 0,dateFieldsTimeZone:this._options.dateFieldsTimeZone??void 0}}get fieldsIndex(){return this._fieldsIndex}get geometryType(){return"esriGeometryMultiPatch"===this._options.geometryType?"esriGeometryPolygon":this._options.geometryType}get hasZ(){return this._options.hasZ}get hasM(){return this._options.hasM}get serviceGeometryType(){return this._options.geometryType}get subtypeField(){return this._options.subtypeField}get timeInfo(){return this._options.timeInfo}get featureIdInfo(){return this._options.featureIdInfo}get globalIdField(){return this._options.globalIdField}get arcadeSchema(){return this._arcadeSchema}get spatialReference(){return this._spatialReference}get outSpatialReference(){return this._outSpatialReference}get timeReferenceUnknownClient(){return this._options.timeReferenceUnknownClient}weakCloneWithAdditionalFields(e){return new i({fieldsIndex:{fields:[...this._fieldsIndex.fields,...e],timeZoneByFieldName:null},geometryType:this.geometryType,hasZ:this.hasZ,hasM:this.hasM,globalIdField:this.globalIdField,featureIdInfo:this.featureIdInfo,spatialReference:this.spatialReference,outSpatialReference:this.outSpatialReference,subtypeField:this.subtypeField,subtypes:this._options.subtypes,timeInfo:this.timeInfo,timeReferenceUnknownClient:this.timeReferenceUnknownClient,dateFieldsTimeZone:this._options.dateFieldsTimeZone,typeIdField:this._options.typeIdField,types:this._options.types})}}class n extends i{static createGraphics(e){return new n({fieldsIndex:(new t).toJSON(),featureIdInfo:{type:"object-id",fieldName:"uid"},geometryType:null,hasZ:!1,hasM:!1,spatialReference:e,outSpatialReference:e,globalIdField:null,subtypeField:null,subtypes:null,timeInfo:null,typeIdField:null,types:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null})}}export{i as FeatureMetadata,n as GraphicsMetadata};
2
+ import e from"../../../../../geometry/SpatialReference.js";import t from"../../../../../layers/support/FieldsIndex.js";class i{static minimal(e,n,s=[],l=!1,o=!1){return new i({geometryType:e,hasZ:l,hasM:o,fieldsIndex:new t(s).toJSON(),featureIdInfo:{type:"object-id",fieldName:n},subtypes:null,subtypeField:null,types:null,globalIdField:null,spatialReference:null,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,layerType:void 0})}static createFeature(e){return new i(e)}constructor(i){let n;this._options=i,this._fieldsIndex=t.fromJSON(i.fieldsIndex),i.spatialReference&&(i.spatialReference instanceof e?this._spatialReference=i.spatialReference:this._spatialReference=e.fromJSON(i.spatialReference)),i.outSpatialReference&&(i.outSpatialReference instanceof e?this._outSpatialReference=i.outSpatialReference:this._outSpatialReference=e.fromJSON(i.outSpatialReference)),"object-id"===i.featureIdInfo.type&&(n=i.featureIdInfo.fieldName),this._arcadeSchema={fields:this.fieldsIndex.fields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,objectIdField:n,globalIdField:this._options.globalIdField,spatialReference:this._spatialReference,timeInfo:this._options.timeInfo,typeIdField:this._options.typeIdField??void 0,types:this._options.types??void 0,subtypeField:this._options.subtypeField,subtypes:this._options.subtypes??void 0,datesInUnknownTimezone:this._options.timeReferenceUnknownClient??void 0,dateFieldsTimeZone:this._options.dateFieldsTimeZone??void 0}}get fieldsIndex(){return this._fieldsIndex}get geometryType(){return"esriGeometryMultiPatch"===this._options.geometryType?"esriGeometryPolygon":this._options.geometryType}get hasZ(){return this._options.hasZ}get hasM(){return this._options.hasM}get serviceGeometryType(){return this._options.geometryType}get subtypeField(){return this._options.subtypeField}get timeInfo(){return this._options.timeInfo}get featureIdInfo(){return this._options.featureIdInfo}get globalIdField(){return this._options.globalIdField}get arcadeSchema(){return this._arcadeSchema}get spatialReference(){return this._spatialReference}get outSpatialReference(){return this._outSpatialReference}get timeReferenceUnknownClient(){return this._options.timeReferenceUnknownClient}get layerType(){return this._options.layerType}weakCloneWithAdditionalFields(e){return new i({fieldsIndex:{fields:[...this._fieldsIndex.fields,...e],timeZoneByFieldName:null},geometryType:this.geometryType,hasZ:this.hasZ,hasM:this.hasM,globalIdField:this.globalIdField,featureIdInfo:this.featureIdInfo,spatialReference:this.spatialReference,outSpatialReference:this.outSpatialReference,subtypeField:this.subtypeField,subtypes:this._options.subtypes,timeInfo:this.timeInfo,timeReferenceUnknownClient:this.timeReferenceUnknownClient,dateFieldsTimeZone:this._options.dateFieldsTimeZone,typeIdField:this._options.typeIdField,types:this._options.types,layerType:this._options.layerType})}}class n extends i{static createGraphics(e){return new n({fieldsIndex:(new t).toJSON(),featureIdInfo:{type:"object-id",fieldName:"uid"},geometryType:null,hasZ:!1,hasM:!1,spatialReference:e,outSpatialReference:e,globalIdField:null,subtypeField:null,subtypes:null,timeInfo:null,typeIdField:null,types:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,layerType:null})}}export{i as FeatureMetadata,n as GraphicsMetadata};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{convertFromFeatures as e,convertFromFeatureSet as t}from"../../../../../layers/graphics/featureConversionUtils.js";import r from"../../../../../layers/support/FieldsIndex.js";import{FeatureSetReaderJSON as a}from"./FeatureSetReaderJSON.js";import{loadAnnotationFeatures as i}from"../../support/annodime/annotationUtils.js";class o extends a{static fromFeatures(t,r){const{geometryType:a}=r,i=e([],t,a,!1,!1,r.featureIdInfo);for(let e=0;e<i.length;e++)i[e].displayId=t[e].displayId;return o.fromOptimizedFeatures(i,r,null)}static fromFeatureSet(e,r){const a=t(e,r.featureIdInfo);return o.fromOptimizedFeatureSet(a,r)}static fromOptimizedFeatureSet(e,t){const a=o.fromOptimizedFeatures(e.features,t,e.transform);return a._exceededTransferLimit=e.exceededTransferLimit,a._fieldsIndex=new r(e.fields),a}static fromOptimizedFeatures(e,t,r){const a=new o(e,t);a._fieldsIndex=t.fieldsIndex;const{layerType:s}=t;if(!s)throw new Error("Layer type is required in metadata to read annotation features.");if(!r)throw new Error("Quantization transform is required to read annotation features.");return i(a._features,r,t),a}}export{o as FeatureSetReaderAnnotationJSON};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{rad2deg as e}from"../../../../../core/mathUtils.js";import t from"../../../../../geometry/Point.js";import{normalizeTransform as r,quantizeY as i,quantizeX as n}from"../../../../../geometry/support/quantizationUtils.js";import{convertFromFeatures as s,convertFromFeatureSet as o}from"../../../../../layers/graphics/featureConversionUtils.js";import a from"../../../../../layers/graphics/OptimizedGeometry.js";import{project as u}from"../../../../../layers/graphics/data/projectionSupport.js";import m from"../../../../../layers/support/FieldsIndex.js";import{FeatureSetReaderJSON as f}from"./FeatureSetReaderJSON.js";import{DimensionRealFieldName as d}from"../../support/annodime/dimensionUtils.js";import{getAttributeValue as p}from"../../support/annodime/utils.js";class c extends f{static fromFeatures(e,t){const{geometryType:r}=t,i=s([],e,r,!1,!1,t.featureIdInfo);for(let n=0;n<i.length;n++)i[n].displayId=e[n].displayId;return c.fromOptimizedFeatures(i,t,null)}static fromFeatureSet(e,t){const r=o(e,t.featureIdInfo);return c.fromOptimizedFeatureSet(r,t)}static fromOptimizedFeatureSet(e,t){const r=c.fromOptimizedFeatures(e.features,t,e.transform);return r._exceededTransferLimit=e.exceededTransferLimit,r._fieldsIndex=new m(e.fields),r}static fromOptimizedFeatures(e,t,r){const i=new c(e,t);i._fieldsIndex=t.fieldsIndex;const{layerType:n}=t;if(!n)throw new Error("Layer type is required in metadata to read dimension features.");if(!r)throw new Error("Quantization transform is required to read dimension features.");return l(i._features,r,t),i}}function l(s,o,m){const f=m.spatialReference,c=m.outSpatialReference,l=r(o),y={x:0,y:0,spatialReference:f},x={x:0,y:0,spatialReference:f},h={x:0,y:0,spatialReference:f},N={x:0,y:0,spatialReference:f};let I=0;for(const r of s){const{attributes:s}=r;if(y.x=Number(p(d.beginX,s)),y.y=Number(p(d.beginY,s)),x.x=Number(p(d.endX,s)),x.y=Number(p(d.endY,s)),h.x=Number(p(d.dimX,s)),h.y=Number(p(d.dimY,s)),isNaN(y.x)||isNaN(y.y)||isNaN(x.x)||isNaN(x.y)){console.error(`Feature with ${d.objectId}=${p(d.objectId,s)} is missing valid begin, end, or dimension points and will be skipped.`);continue}(isNaN(h.x)||isNaN(h.y))&&(h.x=y.x,h.y=y.y);const o=u(new t(y),f,c),m=u(new t(x),f,c),M=[o,m,u(new t(h),f,c)];I=Math.sqrt((m.x-o.x)*(m.x-o.x)+(m.y-o.y)*(m.y-o.y));const b=m.x-o.x,_=m.y-o.y;let g=Math.PI/2;if(0!==b?g=Math.atan2(_,b):_<0&&(g=-Math.PI/2),null!=s[d.textX]&&null!=s[d.textY]){N.x=Number(p(d.textX,s)),N.y=Number(p(d.textY,s));const e=u(new t(N),f,c);M.push(e)}const j=M.map(e=>({x:n(l,e.x),y:i(l,e.y)})).flatMap(e=>[e.x,e.y]);s.__SYSTEM_LENGTH__=I,s.__DIMENSION_ANGLE__=360-e(g),r.geometry=new a([j.length],j)}}function y(e,t,r){const i=t[0]-e[0],n=t[1]-e[1],s=Math.sqrt(i*i+n*n);if(0===s)return[e[0],e[1]];return[e[0]+i/s*r,e[1]+n/s*r]}const x=1e-9;function h(e,t){return e[0]*t[1]-e[1]*t[0]}function N(e,t,r,i){const n=[Math.cos(t),Math.sin(t)],s=[Math.cos(i),Math.sin(i)],o=[r[0]-e[0],r[1]-e[1]],a=h(n,s);if(Math.abs(a)<=x)return null;const u=h(o,s)/a,m=h(o,n)/a;if(u<0||m<0)return null;return[e[0]+n[0]*u,e[1]+n[1]*u]}function I(e){const t=e[0],r=e[1];if(0===t&&0===r)return 0;if(0===t&&r>0)return Math.PI/2;if(0===t&&r<0)return 3*Math.PI/2;if(t<0&&0===r)return Math.PI;if(t>0&&0===r)return 0;let i=Math.atan2(r,t);return i<0&&(i+=2*Math.PI),i}export{c as FeatureSetReaderDimensionJSON,I as angleFromXAxis,N as intersectRaysByPointsAndAngles,l as loadDimensionFeatures,y as queryPointOnLine};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{isSome as s}from"../../../../core/arrayUtils.js";import has from"../../../../core/has.js";import{IdentifiableMixin as r}from"../../../../core/Identifiable.js";import{assertIsSome as i}from"../../../../core/maybe.js";import{ignoreAbortErrors as o,throwIfAborted as a}from"../../../../core/promiseUtils.js";import{watch as n}from"../../../../core/reactiveUtils.js";import{property as h,subclass as d}from"../../../../core/accessorSupport/decorators.js";import{create as c}from"../../../../geometry/support/aaBoundingRect.js";import{isPolyline as l,isPolygon as p,isExtent as u,getJsonType as m}from"../../../../geometry/support/jsonTypeUtils.js";import g from"../../../../layers/support/FieldsIndex.js";import{symbolToCIM as f,CIMSymbolHelper as y}from"../../../../symbols/cim/CIMSymbolHelper.js";import{OverrideHelper as _}from"../../../../symbols/cim/OverrideHelper.js";import{errorPointSymbol2D as b,errorPolylineSymbol2D as w,errorPolygonSymbol2D as S}from"../../../../symbols/support/defaults.js";import{filterFlag0 as I}from"../../engine/webgl/definitions.js";import{FeatureTile as v}from"../../engine/webgl/FeatureTile.js";import{MeshData as T}from"../../engine/webgl/mesh/MeshData.js";import{ResourceProxy as M}from"../../engine/webgl/mesh/factories/ResourceProxy.js";import{createGraphicSymbolMeshSchemas as R}from"../../engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js";import{createStorageSchema as j}from"../features/schema/processor/StorageSchema.js";import{AttributeStore as x}from"../features/support/AttributeStore.js";import{ComputedAttributeStorage as U}from"../features/support/ComputedAttributeStorage.js";import{GraphicsMetadata as C}from"../features/support/FeatureMetadata.js";import{GraphicsReader as q}from"../features/support/GraphicsReader.js";import G from"./GraphicStore.js";import{FeatureCommandQueue as F}from"../support/FeatureCommandQueue.js";import{UpdateTracking2D as k}from"../support/UpdateTracking2D.js";class P{static getOrCreate(e,t,s){let r=t.get(e.id);return r||(r=new P(e,s),t.set(e.id,r)),r}static fromItems(e,t,s){const r=new P(e,s);for(const i of t)r.append(i);return r}constructor(e,t){this.tile=e,this.metadata=t,this.addedOrModified=[],this.removed=[],this.objectIdMap=null}get reader(){return this._reader||(this._reader=q.from(this.addedOrModified,this.tile,this.metadata)),this._reader}append(e){this.addedOrModified.push(e),e.hasAnimations&&(this.objectIdMap=this.objectIdMap||{},this.objectIdMap[e.displayId]=e.objectId)}}let A=class extends(r(t)){constructor(e){super(e),this._attached=!1,this._tiles=new Map,this._controller=new AbortController,this._hashToSymbolInfo=new Map,this._lastCleanup=performance.now(),this._cleanupRequired=!0,this.lastUpdateId=-1,this.renderer=null,this._updateTracking=new k({debugName:"GraphicsView2D"}),this.updateRequested=!1,this.defaultPointSymbolEnabled=!0,this._commandQueue=new F({process:e=>{if("update"===e.type)return this._update();throw new Error("InternalError: Unsupported command")}}),this.graphicUpdateHandler=this.graphicUpdateHandler.bind(this)}destroy(){this.container.destroy(),this.view=null,this.renderer=null,this._set("graphics",null),this._controller.abort(),this._graphicStore.clear(),this._graphicStore.destroy(),this._attributeStore=null,this._hashToSymbolInfo.clear(),this._updateTracking.destroy(),this._commandQueue.destroy()}_initAttributeStore(){this._storage=new U({spatialReference:this.view.spatialReference,fields:new g}),this._attributeStore=new x({isLocal:!0,update:e=>{has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView2D.AttributeStoreView.updateStart`,{message:e}),this.container.attributeView.requestUpdate(e),this.container.requestRender(),has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView2D.AttributeStoreView.updateEnd`,{message:e})}});const e=j(null,[]);this._attributeStore.update(e,this._storage,null),this.container.checkHighlight=()=>this._attributeStore.hasHighlight}initialize(){this._initAttributeStore(),this._metadata=C.createGraphics(this.view.spatialReference),this._resourceProxy=new M({fetch:e=>Promise.all(e.map(e=>this.view.stage.textureManager.rasterizeItem(e))),fetchDictionary:e=>{throw new Error("InternalError: Graphics do not support Dictionary requests")}}),this.addHandles([n(()=>this._effectiveRenderer,()=>this._pushUpdate()),this.view.graphicsTileStore.on("update",this._onTileUpdate.bind(this)),this.container.on("attach",()=>{this.addHandles([this.graphics.on("change",()=>this._pushUpdate())]),this._graphicStore?.destroy(),this._graphicStore=new G(this.view.spatialReference,this._cimResourceManager,this.view.featuresTilingScheme,this.view.state.scale,this._attributeStore),this._attached=!0,this.requestUpdate(),this._pushUpdate()})]),this._updateTracking.addUpdateTracking("CommandQueue",this._commandQueue.updateTracking);const e=this.view.graphicsTileStore.tiles;this._onTileUpdate({added:e,removed:[]})}get _effectiveRenderer(){return"function"==typeof this.renderer?this.renderer():this.renderer}get _cimResourceManager(){return this.view.stage.textureManager.resourceManager}get updating(){return!this._attached||this._updateTracking.updating}hitTest(e,t){if(!this.view||this.view.suspended)return[];const{resolution:r,rotation:i}=this.view.state,o=this._graphicStore.hitTest(e,t,r,i),a=new Set(o),n=this.graphics.items.reduce((e,t)=>(a.has(t.uid)&&e.set(t.uid,t),e),new Map);return o.map(e=>n.get(e)).filter(s)}requestUpdate(){this.updateRequested||(this.updateRequested=!0,this.requestUpdateCallback()),this.notifyChange("updating")}processUpdate(e){this.updateRequested&&(this.updateRequested=!1,this.update(e))}viewChange(){this.requestUpdate()}setHighlight(e){const t=[];for(const{objectId:s,highlightFlags:r}of e){const e=this._graphicStore.getItem(s)?.displayId;t.push({objectId:s,highlightFlags:r,displayId:e})}this._attributeStore.setHighlight(t,e),this._pushUpdate()}graphicUpdateHandler(e){this._pushUpdate()}update(e){this.updateRequested=!1,this._attached&&this._graphicStore.updateLevel(e.state.resolution)&&this.pushUpdate()}pushUpdate(){this._pushUpdate()}_pushUpdate(){o(this._commandQueue.push({type:"update"}))}async _update(){try{if(has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView._update start`),this.graphics.destroyed)return;const e=await this._graphicStore.update(this.graphics,e=>this._getSymbolForGraphic(e),e=>this._ensureSymbolResource(e));for(const s of e.updated)this.container.restartAnimation(s.objectId);if(!e.hasAnyUpdate())return void this._attributeStore.sendUpdates();e.removed.length&&(this._cleanupRequired=!0),has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView updateMessage`,e);const t=this._createTileMessages(e);await this._densifyItemsForDisplay(t),await this._fetchResources(t),this._write(t);for(const s of e.added)this._setFilterState(s);for(const s of e.updated)this._setFilterState(s);has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView sendUpdate`,e),this._attributeStore.sendUpdates(),has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView sendUpdate.await`,e)}catch(e){}this._cleanupSharedResources()}_createTileMessages(e){const t=new Map;for(const s of e.added){const e=this.view.graphicsTileStore.getIntersectingTiles(s.symbolBounds);for(const r of e){P.getOrCreate(r,t,this._metadata).append(s)}}for(const s of e.updated){const e=this.view.graphicsTileStore.getIntersectingTiles(s.prevSymbolBounds),r=this.view.graphicsTileStore.getIntersectingTiles(s.symbolBounds);for(const i of e){P.getOrCreate(i,t,this._metadata).removed.push(s.displayId)}for(const i of r){P.getOrCreate(i,t,this._metadata).append(s)}}for(const s of e.removed){const e=this.view.graphicsTileStore.getIntersectingTiles(s.symbolBounds);for(const r of e){P.getOrCreate(r,t,this._metadata).removed.push(s.displayId)}}return Array.from(t.values())}async _densifyItemsForDisplay(e){const t=new Map;for(const s of e)for(const e of s.addedOrModified)t.has(e)||t.set(e,e.densifyCurvedGeometryForDisplay(this.view.spatialReference));await Promise.all(t.values())}async _fetchResources(e){const t={timeZone:null,timeExtent:null};for(const{tile:s,reader:r}of e){has("esri-2d-update-debug")&&console.debug(`Id[${this.layerId}] Tile[${s.id}] GraphicsView fetchResources`,e);const i=r.getCursor();for(;i.next();)for(const e of i.getMeshWriters())e.enqueueRequest(this._resourceProxy,i,s.createArcadeEvaluationOptions(t))}await this._resourceProxy.fetchEnqueuedResources()}_write(e){for(const t of e){has("esri-2d-update-debug")&&console.debug(`Id[${this.layerId}] Tile[${t.tile.id}] GraphicsView write`,t);const e=this._writeMeshes(t);let s=this._tiles.get(t.tile.key);s||(s=this._createFeatureTile(t.tile.key)),has("esri-2d-update-debug")&&console.debug(`Id[${this.layerId}] Tile[${t.tile.id}] GraphicsView onTileData`,t),this.container.onTileData(s,{type:"update",modify:e,remove:t.removed,end:!1,attributeEpoch:this._attributeStore.epoch,objectIdMap:t.objectIdMap}),this.container.requestRender()}}_writeMeshes(e){const t={timeZone:null,timeExtent:null},s=new T(e.tile.id),r=e.reader.getCursor();for(;r.next();){s.entityStart(r.getDisplayId(),r.getZOrder());for(const i of r.getMeshWriters())i.write(s,this._resourceProxy,r,e.tile.createArcadeEvaluationOptions(t),e.tile.level);s.entityEnd()}return{...s.serialize().message,tileId:e.tile.id,requiresRefresh:!1}}_setFilterState(e){const t=e.displayId,s=this._attributeStore.getHighlightFlags(e.objectId);this._attributeStore.setData(t,0,0,s|(e.visible?I:0))}_getSymbolForGraphic(e){return null!=e.symbol?e.symbol:null!=this._effectiveRenderer?this._effectiveRenderer.getSymbol(e):this._getNullSymbol(e)}async _ensureSymbolResource(e){if(!e.symbol)return;const t=await this._getSymbolInfo(e.symbol);if(!t)return;const s=t.linearCIM.filter(e=>"text"===e.type);if(s.length>0){const r=await this._getTextResources(e,s);return void(e.symbolResource={symbolInfo:t,textInfo:r})}e.symbolResource={symbolInfo:t}}_getSymbolInfo(e){const t=e.hash();return this._hashToSymbolInfo.has(t)||this._hashToSymbolInfo.set(t,this._createSymbolInfo(t,e).catch(e=>null)),this._hashToSymbolInfo.get(t)}async _createSymbolInfo(e,t){const s=await this._convertToCIMSymbol(t),r=await this._createLinearCIM(s);return{hash:e,cimSymbol:s,linearCIM:r,meshWriters:await this._createMeshWriters(s,r)}}async _convertToCIMSymbol(e){const t=f(e);return"web-style"===t.type?this._convertToCIMSymbol(await t.fetchSymbol({acceptedFormats:["cim","web"]})):t}async _createLinearCIM(e){return await y.normalizeSymbolAndFetchResources(e.symbol,this._cimResourceManager),this.view.stage.cimAnalyzer.analyzeSymbolReference(e,!1)}async _createMeshWriters(e,t){a(this._controller.signal);const s=this.container.instanceStore,r=this.view.stage.meshWriterRegistry,i=await R(e,t,s);return Promise.all(i.map(e=>r.createMeshWriter(this._storage,this._resourceProxy,{tileInfo:this.view.featuresTilingScheme.tileInfo},e,null)))}_onTileUpdate(e){if(e.added&&e.added.length>0)for(const t of e.added)this._updateTracking.consumePromise(this._addTile(t));if(e.removed&&e.removed.length>0)for(const t of e.removed)this._removeTile(t.key)}_createFeatureTile(e){const t=this.view.featuresTilingScheme.getTileBounds(c(),e),s=this.view.featuresTilingScheme.getTileResolution(e.level),r=new v(e,s,t[0],t[3]);return r.presenting=!0,this._tiles.set(e,r),this.container.addChild(r),r}async _addTile(e){if(!this._attached)return;const t=this._graphicStore.queryItems(e);if(!t.length)return;const s=this._createFeatureTile(e.key),r=P.fromItems(e,t,this._metadata);await this._densifyItemsForDisplay([r]),await this._fetchResources([r]);const i=this._writeMeshes(r);s.update({type:"append",append:i,end:!0,attributeEpoch:this._attributeStore.epoch,objectIdMap:r.objectIdMap})}_removeTile(e){if(!this._tiles.has(e))return;const t=this._tiles.get(e);this.container.removeChild(t),t.destroy(),this._tiles.delete(e)}_getNullSymbol(e){const t=e.geometry;return t?l(t)?w:p(t)||u(t)?S:this.defaultPointSymbolEnabled?b:null:this.defaultPointSymbolEnabled?b:null}async _getTextResources(e,t){const s=new Array,r=new Array;for(let i=0;i<t.length;i++){const o=t[i],{resource:a,overrides:n}=o.textRasterizationParam;if(n?.length>0){const t=_.resolveSymbolOverrides({type:"CIMSymbolReference",primitiveOverrides:n,symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,size:a.symbol.height,anchorPointUnits:"Relative",frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{x:0,y:0},symbol:a.symbol,textString:a.textString}],scaleSymbolsProportionally:!0,respectFrame:!0}]}},e,this.view.spatialReference,null,m(e.projectedGeometry),null,null);t.then(e=>{const t=e.symbolLayers[0],{textString:s}=t.markerGraphics[0];r.push({type:"cim-rasterization-info",resource:{type:"text",textString:s||"",font:a.font}}),o.text=a.textString=s||""}),s.push(t)}else r.push({type:"cim-rasterization-info",resource:a})}s.length>0&&await Promise.all(s);const o=r.map(e=>this.view.stage.textureManager.rasterizeItem(e)),a=await Promise.all(o);i(a);const n=new Map;for(let i=0;i<t.length;i++){const e=t[i];n.set(e.textRasterizationParam.resource.symbol,{text:e.text,glyphMosaicItems:a[i]})}return n}_cleanupSharedResources(){if(!this._cleanupRequired)return;const e=performance.now();if(e-this._lastCleanup<5e3)return;this._cleanupRequired=!1,this._lastCleanup=e;const t=new Set;for(const r of this._graphicStore.items()){const e=r.symbolResource?.symbolInfo.hash;t.add(e)}const s=new Set(this._hashToSymbolInfo.keys());for(const r of s.values())t.has(r)||this._hashToSymbolInfo.delete(r)}};e([h()],A.prototype,"_effectiveRenderer",null),e([h({constructOnly:!0})],A.prototype,"layerId",void 0),e([h({constructOnly:!0})],A.prototype,"requestUpdateCallback",void 0),e([h()],A.prototype,"container",void 0),e([h({constructOnly:!0})],A.prototype,"graphics",void 0),e([h()],A.prototype,"renderer",void 0),e([h()],A.prototype,"_updateTracking",void 0),e([h()],A.prototype,"updating",null),e([h()],A.prototype,"view",void 0),e([h()],A.prototype,"updateRequested",void 0),e([h()],A.prototype,"defaultPointSymbolEnabled",void 0),A=e([d("esri.views.2d.layers.graphics.GraphicsView2D")],A);export{A as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{isSome as s}from"../../../../core/arrayUtils.js";import has from"../../../../core/has.js";import{IdentifiableMixin as r}from"../../../../core/Identifiable.js";import{assertIsSome as i}from"../../../../core/maybe.js";import{ignoreAbortErrors as o,throwIfAborted as a}from"../../../../core/promiseUtils.js";import{watch as n}from"../../../../core/reactiveUtils.js";import{property as h,subclass as d}from"../../../../core/accessorSupport/decorators.js";import{create as c}from"../../../../geometry/support/aaBoundingRect.js";import{isPolyline as l,isPolygon as p,isExtent as u,getJsonType as m}from"../../../../geometry/support/jsonTypeUtils.js";import f from"../../../../layers/support/FieldsIndex.js";import{symbolToCIM as g,CIMSymbolHelper as y}from"../../../../symbols/cim/CIMSymbolHelper.js";import{OverrideHelper as _}from"../../../../symbols/cim/OverrideHelper.js";import{errorPointSymbol2D as b,errorPolylineSymbol2D as w,errorPolygonSymbol2D as S}from"../../../../symbols/support/defaults.js";import{filterFlag0 as I}from"../../engine/webgl/definitions.js";import{FeatureTile as v}from"../../engine/webgl/FeatureTile.js";import{MeshData as T}from"../../engine/webgl/mesh/MeshData.js";import{ResourceProxy as M}from"../../engine/webgl/mesh/factories/ResourceProxy.js";import{createGraphicSymbolMeshSchemas as R}from"../../engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js";import{createStorageSchema as j}from"../features/schema/processor/StorageSchema.js";import{AttributeStore as x}from"../features/support/AttributeStore.js";import{ComputedAttributeStorage as U}from"../features/support/ComputedAttributeStorage.js";import{GraphicsMetadata as C}from"../features/support/FeatureMetadata.js";import{GraphicsReader as q}from"../features/support/GraphicsReader.js";import G from"./GraphicStore.js";import{FeatureCommandQueue as F}from"../support/FeatureCommandQueue.js";import{UpdateTracking2D as k}from"../support/UpdateTracking2D.js";class P{static getOrCreate(e,t,s){let r=t.get(e.id);return r||(r=new P(e,s),t.set(e.id,r)),r}static fromItems(e,t,s){const r=new P(e,s);for(const i of t)r.append(i);return r}constructor(e,t){this.tile=e,this.metadata=t,this.addedOrModified=[],this.removed=[],this.objectIdMap=null}get reader(){return this._reader||(this._reader=q.from(this.addedOrModified,this.tile,this.metadata)),this._reader}append(e){this.addedOrModified.push(e),e.hasAnimations&&(this.objectIdMap=this.objectIdMap||{},this.objectIdMap[e.displayId]=e.objectId)}}let E=class extends(r(t)){constructor(e){super(e),this._attached=!1,this._tiles=new Map,this._controller=new AbortController,this._hashToSymbolInfo=new Map,this._lastCleanup=performance.now(),this._cleanupRequired=!0,this.lastUpdateId=-1,this.renderer=null,this._updateTracking=new k({debugName:"GraphicsView2D"}),this.updateRequested=!1,this.defaultPointSymbolEnabled=!0,this._commandQueue=new F({process:e=>{if("update"===e.type)return this._update();throw new Error("InternalError: Unsupported command")}}),this.graphicUpdateHandler=this.graphicUpdateHandler.bind(this)}destroy(){this.container.destroy(),this.view=null,this.renderer=null,this._set("graphics",null),this._controller.abort(),this._graphicStore.clear(),this._graphicStore.destroy(),this._attributeStore=null,this._hashToSymbolInfo.clear(),this._updateTracking.destroy(),this._commandQueue.destroy()}_initAttributeStore(){this._storage=new U({spatialReference:this.view.spatialReference,fields:new f}),this._attributeStore=new x({isLocal:!0,update:e=>{has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView2D.AttributeStoreView.updateStart`,{message:e}),this.container.attributeView.requestUpdate(e),this.container.requestRender(),has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView2D.AttributeStoreView.updateEnd`,{message:e})}});const e=j(null,[]);this._attributeStore.update(e,this._storage,null),this.container.checkHighlight=()=>this._attributeStore.hasHighlight}initialize(){this._initAttributeStore(),this._metadata=C.createGraphics(this.view.spatialReference),this._resourceProxy=new M({fetch:e=>Promise.all(e.map(e=>this.view.stage.textureManager.rasterizeItem(e))),fetchDictionary:e=>{throw new Error("InternalError: Graphics do not support Dictionary requests")},fetchMesh:e=>{throw new Error("InternalError: Graphics do not support Mesh requests")}}),this.addHandles([n(()=>this._effectiveRenderer,()=>this._pushUpdate()),this.view.graphicsTileStore.on("update",this._onTileUpdate.bind(this)),this.container.on("attach",()=>{this.addHandles([this.graphics.on("change",()=>this._pushUpdate())]),this._graphicStore?.destroy(),this._graphicStore=new G(this.view.spatialReference,this._cimResourceManager,this.view.featuresTilingScheme,this.view.state.scale,this._attributeStore),this._attached=!0,this.requestUpdate(),this._pushUpdate()})]),this._updateTracking.addUpdateTracking("CommandQueue",this._commandQueue.updateTracking);const e=this.view.graphicsTileStore.tiles;this._onTileUpdate({added:e,removed:[]})}get _effectiveRenderer(){return"function"==typeof this.renderer?this.renderer():this.renderer}get _cimResourceManager(){return this.view.stage.textureManager.resourceManager}get updating(){return!this._attached||this._updateTracking.updating}hitTest(e,t){if(!this.view||this.view.suspended)return[];const{resolution:r,rotation:i}=this.view.state,o=this._graphicStore.hitTest(e,t,r,i),a=new Set(o),n=this.graphics.items.reduce((e,t)=>(a.has(t.uid)&&e.set(t.uid,t),e),new Map);return o.map(e=>n.get(e)).filter(s)}requestUpdate(){this.updateRequested||(this.updateRequested=!0,this.requestUpdateCallback()),this.notifyChange("updating")}processUpdate(e){this.updateRequested&&(this.updateRequested=!1,this.update(e))}viewChange(){this.requestUpdate()}setHighlight(e){const t=[];for(const{objectId:s,highlightFlags:r}of e){const e=this._graphicStore.getItem(s)?.displayId;t.push({objectId:s,highlightFlags:r,displayId:e})}this._attributeStore.setHighlight(t,e),this._pushUpdate()}graphicUpdateHandler(e){this._pushUpdate()}update(e){this.updateRequested=!1,this._attached&&this._graphicStore.updateLevel(e.state.resolution)&&this.pushUpdate()}pushUpdate(){this._pushUpdate()}_pushUpdate(){o(this._commandQueue.push({type:"update"}))}async _update(){try{if(has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView._update start`),this.graphics.destroyed)return;const e=await this._graphicStore.update(this.graphics,e=>this._getSymbolForGraphic(e),e=>this._ensureSymbolResource(e));for(const s of e.updated)this.container.restartAnimation(s.objectId);if(!e.hasAnyUpdate())return void this._attributeStore.sendUpdates();e.removed.length&&(this._cleanupRequired=!0),has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView updateMessage`,e);const t=this._createTileMessages(e);await this._densifyItemsForDisplay(t),await this._fetchResources(t),this._write(t);for(const s of e.added)this._setFilterState(s);for(const s of e.updated)this._setFilterState(s);has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView sendUpdate`,e),this._attributeStore.sendUpdates(),has("esri-2d-update-debug")&&console.debug(`[Id: ${this.layerId}] GraphicsView sendUpdate.await`,e)}catch(e){}this._cleanupSharedResources()}_createTileMessages(e){const t=new Map;for(const s of e.added){const e=this.view.graphicsTileStore.getIntersectingTiles(s.symbolBounds);for(const r of e){P.getOrCreate(r,t,this._metadata).append(s)}}for(const s of e.updated){const e=this.view.graphicsTileStore.getIntersectingTiles(s.prevSymbolBounds),r=this.view.graphicsTileStore.getIntersectingTiles(s.symbolBounds);for(const i of e){P.getOrCreate(i,t,this._metadata).removed.push(s.displayId)}for(const i of r){P.getOrCreate(i,t,this._metadata).append(s)}}for(const s of e.removed){const e=this.view.graphicsTileStore.getIntersectingTiles(s.symbolBounds);for(const r of e){P.getOrCreate(r,t,this._metadata).removed.push(s.displayId)}}return Array.from(t.values())}async _densifyItemsForDisplay(e){const t=new Map;for(const s of e)for(const e of s.addedOrModified)t.has(e)||t.set(e,e.densifyCurvedGeometryForDisplay(this.view.spatialReference));await Promise.all(t.values())}async _fetchResources(e){const t={timeZone:null,timeExtent:null};for(const{tile:s,reader:r}of e){has("esri-2d-update-debug")&&console.debug(`Id[${this.layerId}] Tile[${s.id}] GraphicsView fetchResources`,e);const i=r.getCursor();for(;i.next();)for(const e of i.getMeshWriters())e.enqueueRequest(this._resourceProxy,i,s.createArcadeEvaluationOptions(t))}await this._resourceProxy.fetchEnqueuedResources()}_write(e){for(const t of e){has("esri-2d-update-debug")&&console.debug(`Id[${this.layerId}] Tile[${t.tile.id}] GraphicsView write`,t);const e=this._writeMeshes(t);let s=this._tiles.get(t.tile.key);s||(s=this._createFeatureTile(t.tile.key)),has("esri-2d-update-debug")&&console.debug(`Id[${this.layerId}] Tile[${t.tile.id}] GraphicsView onTileData`,t),this.container.onTileData(s,{type:"update",modify:e,remove:t.removed,end:!1,attributeEpoch:this._attributeStore.epoch,objectIdMap:t.objectIdMap}),this.container.requestRender()}}_writeMeshes(e){const t={timeZone:null,timeExtent:null},s=new T(e.tile.id),r=e.reader.getCursor();for(;r.next();){s.entityStart(r.getDisplayId(),r.getZOrder());for(const i of r.getMeshWriters())i.write(s,this._resourceProxy,r,e.tile.createArcadeEvaluationOptions(t),e.tile.level);s.entityEnd()}return{...s.serialize().message,tileId:e.tile.id,requiresRefresh:!1}}_setFilterState(e){const t=e.displayId,s=this._attributeStore.getHighlightFlags(e.objectId);this._attributeStore.setData(t,0,0,s|(e.visible?I:0))}_getSymbolForGraphic(e){return null!=e.symbol?e.symbol:null!=this._effectiveRenderer?this._effectiveRenderer.getSymbol(e):this._getNullSymbol(e)}async _ensureSymbolResource(e){if(!e.symbol)return;const t=await this._getSymbolInfo(e.symbol);if(!t)return;const s=t.linearCIM.filter(e=>"text"===e.type);if(s.length>0){const r=await this._getTextResources(e,s);return void(e.symbolResource={symbolInfo:t,textInfo:r})}e.symbolResource={symbolInfo:t}}_getSymbolInfo(e){const t=e.hash();return this._hashToSymbolInfo.has(t)||this._hashToSymbolInfo.set(t,this._createSymbolInfo(t,e).catch(e=>null)),this._hashToSymbolInfo.get(t)}async _createSymbolInfo(e,t){const s=await this._convertToCIMSymbol(t),r=await this._createLinearCIM(s);return{hash:e,cimSymbol:s,linearCIM:r,meshWriters:await this._createMeshWriters(s,r)}}async _convertToCIMSymbol(e){const t=g(e);return"web-style"===t.type?this._convertToCIMSymbol(await t.fetchSymbol({acceptedFormats:["cim","web"]})):t}async _createLinearCIM(e){return await y.normalizeSymbolAndFetchResources(e.symbol,this._cimResourceManager),this.view.stage.cimAnalyzer.analyzeSymbolReference(e,!1)}async _createMeshWriters(e,t){a(this._controller.signal);const s=this.container.instanceStore,r=this.view.stage.meshWriterRegistry,i=await R(e,t,s);return Promise.all(i.map(e=>r.createMeshWriter(this._storage,this._resourceProxy,{tileInfo:this.view.featuresTilingScheme.tileInfo},e,null)))}_onTileUpdate(e){if(e.added&&e.added.length>0)for(const t of e.added)this._updateTracking.consumePromise(this._addTile(t));if(e.removed&&e.removed.length>0)for(const t of e.removed)this._removeTile(t.key)}_createFeatureTile(e){const t=this.view.featuresTilingScheme.getTileBounds(c(),e),s=this.view.featuresTilingScheme.getTileResolution(e.level),r=new v(e,s,t[0],t[3]);return r.presenting=!0,this._tiles.set(e,r),this.container.addChild(r),r}async _addTile(e){if(!this._attached)return;const t=this._graphicStore.queryItems(e);if(!t.length)return;const s=this._createFeatureTile(e.key),r=P.fromItems(e,t,this._metadata);await this._densifyItemsForDisplay([r]),await this._fetchResources([r]);const i=this._writeMeshes(r);s.update({type:"append",append:i,end:!0,attributeEpoch:this._attributeStore.epoch,objectIdMap:r.objectIdMap})}_removeTile(e){if(!this._tiles.has(e))return;const t=this._tiles.get(e);this.container.removeChild(t),t.destroy(),this._tiles.delete(e)}_getNullSymbol(e){const t=e.geometry;return t?l(t)?w:p(t)||u(t)?S:this.defaultPointSymbolEnabled?b:null:this.defaultPointSymbolEnabled?b:null}async _getTextResources(e,t){const s=new Array,r=new Array;for(let i=0;i<t.length;i++){const o=t[i],{resource:a,overrides:n}=o.textRasterizationParam;if(n?.length>0){const t=_.resolveSymbolOverrides({type:"CIMSymbolReference",primitiveOverrides:n,symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,size:a.symbol.height,anchorPointUnits:"Relative",frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{x:0,y:0},symbol:a.symbol,textString:a.textString}],scaleSymbolsProportionally:!0,respectFrame:!0}]}},e,this.view.spatialReference,null,m(e.projectedGeometry),null,null);t.then(e=>{const t=e.symbolLayers[0],{textString:s}=t.markerGraphics[0];r.push({type:"cim-rasterization-info",resource:{type:"text",textString:s||"",font:a.font}}),o.text=a.textString=s||""}),s.push(t)}else r.push({type:"cim-rasterization-info",resource:a})}s.length>0&&await Promise.all(s);const o=r.map(e=>this.view.stage.textureManager.rasterizeItem(e)),a=await Promise.all(o);i(a);const n=new Map;for(let i=0;i<t.length;i++){const e=t[i];n.set(e.textRasterizationParam.resource.symbol,{text:e.text,glyphMosaicItems:a[i]})}return n}_cleanupSharedResources(){if(!this._cleanupRequired)return;const e=performance.now();if(e-this._lastCleanup<5e3)return;this._cleanupRequired=!1,this._lastCleanup=e;const t=new Set;for(const r of this._graphicStore.items()){const e=r.symbolResource?.symbolInfo.hash;t.add(e)}const s=new Set(this._hashToSymbolInfo.keys());for(const r of s.values())t.has(r)||this._hashToSymbolInfo.delete(r)}};e([h()],E.prototype,"_effectiveRenderer",null),e([h({constructOnly:!0})],E.prototype,"layerId",void 0),e([h({constructOnly:!0})],E.prototype,"requestUpdateCallback",void 0),e([h()],E.prototype,"container",void 0),e([h({constructOnly:!0})],E.prototype,"graphics",void 0),e([h()],E.prototype,"renderer",void 0),e([h()],E.prototype,"_updateTracking",void 0),e([h()],E.prototype,"updating",null),e([h()],E.prototype,"view",void 0),e([h()],E.prototype,"updateRequested",void 0),e([h()],E.prototype,"defaultPointSymbolEnabled",void 0),E=e([d("esri.views.2d.layers.graphics.GraphicsView2D")],E);export{E as default};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import i from"../../../../../core/Error.js";import{rad2deg as t}from"../../../../../core/mathUtils.js";import{dist as e,set as n,equals as s,subtract as o}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as r,create as h}from"../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{isPolygon as l}from"../../../../../geometry/support/jsonTypeUtils.js";import m from"../../../../../layers/support/FieldsIndex.js";import{createRendererExpression as _}from"../../../../../support/ArcadeExpression.js";import{fromCIMHorizontalAlignment as a,fromCIMVerticalAlignment as d,fromCIMFontDecoration as u}from"../../../../../symbols/cim/utils.js";import g from"../../../arcade/callExpressionWithFeature.js";import{glyphSize as P,magicLabelLineHeight as c}from"../../../engine/webgl/definitions.js";import b from"../../../engine/webgl/Rect.js";import{shapeGlyphs as x}from"../../../engine/webgl/mesh/templates/shapingUtils.js";import{queryPointOnLine as p,angleFromXAxis as f,intersectRaysByPointsAndAngles as y}from"../../features/support/FeatureSetReaderDimensionJSON.js";import{roundPtToWholePixel as D,getLineWidth as M}from"../../graphics/graphicsUtils.js";import{DimensionRealFieldName as S}from"./dimensionUtils.js";import{getAttributeValue as k}from"./utils.js";class L{static async create(i,t,e,n){const s=n(i.textSymbol),o=new L(i,s);return await o.initialize(t,e),o}constructor(i,t){if(this._dimensionStyle=i,this._mosaicItems=t,this._textString=null,this._displayExtLines=!0,this._systemLength=0,this._dimensionAngleRad=0,this._dimensionLength=0,this._extAngleRad=Math.PI/2,this._compiledExpression=null,this._fieldsIndex=null,this._beginBaselinePoint=null,this._endBaselinePoint=null,this._dimensionLinePoint=null,this._beginDimensionPoint=null,this._endDimensionPoint=null,this._beginMarkerPoint=null,this._endMarkerPoint=null,this._beginMarkerRect=null,this._endMarkerRect=null,this._textRect=null,this._textPoint=null,this._dimensionPolyline=null,this._dimensionExtensionLines=null,this._hasTextPoint=!1,this._doMarkersFit=!0,this._dimensionIsEvaluated=!1,null==i)throw new Error("dimension syle must be defined!")}async initialize(t,e){if(!this._dimensionStyle)return;const{attributes:n}=t;if("Expression"===(this._dimensionStyle.textOption??"None")){const{expression:i,expressionParserName:n}=this._dimensionStyle;i&&"arcade"===n.toLocaleLowerCase()&&(this._compiledExpression=await _(i,e),this._fieldsIndex=w(t))}const s=Number(k(S.extAngle,n));this._extAngleRad=isNaN(s)?Math.PI/2:s,this._systemLength=Number(k("__SYSTEM_LENGTH__",n));const{geometry:o}=t;if(o&&!l(o))throw new i("dimension-layer","processed geometry must be a valid 'polygon'.");const r=o?.rings[0];if(!r||r.length<3)throw new i("dimension-layer","processed geometry must have at least 3 points.");this._hasTextPoint=0!==r[3][0]&&0!==r[3][1]&&void 0!==r[3][0]&&void 0!==r[3][1],this._hasTextPoint&&(this._textPoint=r[3]);const h=this._dimensionStyle.textSymbol;n.__DIMENSION_ANGLE__+=h?.angle??0}getTextString(i){return null==this._textString&&(this._textString=this._getDimensionText(i)),this._textString}get textSymbol(){return this._dimensionStyle.textSymbol??null}get beginBaselinePoint(){return this._beginBaselinePoint}get endBaselinePoint(){return this._endBaselinePoint}get beginDimensionPoint(){return this._beginDimensionPoint}get endDimensionPoint(){return this._endDimensionPoint}get textPoint(){return this._textPoint}get dimensionLine(){return this._dimensionPolyline}get extensionLines(){return this._displayExtLines?this._dimensionExtensionLines:null}evaluateWithGeometry(i,t){this._dimensionIsEvaluated||(this._computeDimensionLineInfo(i,t),this._evaluateDefaultPlacement(t),this._updateExtensionLines(t),this._updateTextPoint(i,t),this._dimensionIsEvaluated=!0)}_updateTextPoint(i,t){if(this._hasTextPoint)return;const{textFit:e}=this._dimensionStyle;let n=!0;if(!this._doMarkersFit){if(this._hasTextPoint)return;if("None"===e||!this._beginMarkerRect||!this._endMarkerRect||!this._textRect)return void(n=!0);if((T(this._beginMarkerRect,this._textRect)||T(this._endMarkerRect,this._textRect))&&(n=!1),!n){const i=t*(this._textRect.width/2);"MoveBegin"===e?this._textPoint=p(this._beginMarkerPoint,this._endMarkerPoint,-i):"MoveEnd"===e&&(this._textPoint=p(this._endMarkerPoint,this._beginMarkerPoint,-i))}}if(n){if(!this._dimensionStyle.textSymbol)return;const i=t*(this._textRect.width/2),e=this._dimensionPolyline[0],n=this._dimensionPolyline[1],s=p(e[0],e[1],i),o=p(n[0],n[1],i);this._dimensionPolyline=[[s,e[1]],[o,n[1]]]}}_updateExtensionLines(i){if(!(this._displayExtLines&&this._beginDimensionPoint&&this._dimensionLinePoint&&this._endDimensionPoint))return;const{extensionLineOvershot:t,extensionLineOffset:n}=this._dimensionStyle;let s=this._dimensionLinePoint,o=this._endDimensionPoint;null==t||isNaN(t)||0===t||(s=p(this._dimensionLinePoint,this._beginBaselinePoint,-t*i),o=p(this._endDimensionPoint,this._endBaselinePoint,-t*i));let r=this._beginBaselinePoint,h=this._endBaselinePoint;if(null!=n&&!isNaN(n)&&0!==n){const i=e(s,this._beginBaselinePoint),t=e(o,this._endBaselinePoint);r=p(s,this._beginBaselinePoint,i-n),h=p(o,this._endBaselinePoint,t-n)}this._dimensionExtensionLines=[[s,r],[o,h]]}_computeDimensionLineInfo(o,m){if(!o||!l(o)||o.rings[0].length<3)throw new i("DimensionLayerView: bad geometry","Dimension cann't be applied to an empty geometry!");const _=o.rings[0],a=r(_[0][0],_[0][1]),d=r(_[1][0],_[1][1]),u=r(_[2][0],_[2][1]);this._beginBaselinePoint=n(h(),a[0],a[1]),this._endBaselinePoint=n(h(),d[0],d[1]),this._dimensionLinePoint=u;let g=this._extAngleRad;if(s(a,u))this._beginDimensionPoint=n(h(),a[0],a[1]),this._endDimensionPoint=n(h(),d[0],d[1]),this._displayExtLines=!1;else{const e=f([d[0]-a[0],d[1]-a[1]]),s=t(g);s>=-1&&s<=1?g+=t(1):s>=179&&s<=181&&(g-=t(1));const o=y(u,e,d,e+g);if(!o)throw new i("DimensionLayerView: bad geometry","Failed to construct dimension extension lines!");this._beginDimensionPoint=n(h(),u[0],u[1]),this._endDimensionPoint=n(h(),o[0],o[1])}this._dimensionLength=e(this._beginDimensionPoint,this._endDimensionPoint),this._hasTextPoint||(this._textPoint=p(this._beginDimensionPoint,this._endDimensionPoint,this._dimensionLength/2))}_evaluateDefaultPlacement(i){const{beginMarkerSymbol:t,endMarkerSymbol:e}=this._dimensionStyle,n=this._measureMarkerSymbolSize(t,this._beginDimensionPoint,this._dimensionAngleRad,i),s=this._measureMarkerSymbolSize(e,this._endDimensionPoint,this._dimensionAngleRad+Math.PI,i),r=this._measureDimensionText(this._textString||"",this._textPoint,i);this._textRect=r;const h=i*((n?.width??0)/2),l=i*((s?.width??0)/2);this._beginMarkerPoint=p(this._beginDimensionPoint,this._endDimensionPoint,h),this._endMarkerPoint=p(this._endDimensionPoint,this._beginDimensionPoint,l);const m=[0,0];if(n&&this._beginMarkerPoint){const i=o(m,this._beginMarkerPoint,this._beginDimensionPoint);n.x+=i[0],n.y+=i[1]}if(s&&this._endMarkerPoint){const i=o(m,this._endMarkerPoint,this._endDimensionPoint);s.x+=i[0],s.y+=i[1]}if(this._beginMarkerRect=n,this._endMarkerRect=s,this._doMarkersFit=this._checkMarkerFit(n,s,r,i),this._doMarkersFit){const i=p(this._beginDimensionPoint,this._endDimensionPoint,this._dimensionLength/2);this._dimensionPolyline=[[i,this._beginDimensionPoint],[i,this._endDimensionPoint]]}else this._beginMarkerPoint=p(this._beginDimensionPoint,this._endDimensionPoint,-4*h),this._endMarkerPoint=p(this._beginDimensionPoint,this._endDimensionPoint,this._dimensionLength+4*l),this._dimensionPolyline=[[this._beginMarkerPoint,this._beginDimensionPoint],[this._endMarkerPoint,this._endDimensionPoint]]}_checkMarkerFit(i,t,e,n){if(!i||!t)return!1;const{markerFit:s,markerOption:o,markerFitTolerance:r}=this._dimensionStyle;if("None"===s)return!0;let h=!0;if("Tolerance"===s)r*n>=this._dimensionLength&&(h=!1);else{if(this._hasTextPoint&&"Both"!==o)return!0;this._hasTextPoint&&"Both"===o?T(i,t)&&(h=!1):(T(i,t)&&(h=!1),h&&e&&(T(e,i)||T(e,t))&&(h=!1))}return h||(this._beginMarkerPoint=p(this._beginDimensionPoint,this._endDimensionPoint,-i.width/2),this._endMarkerPoint=p(this._beginDimensionPoint,this._endDimensionPoint,this._dimensionLength+t.width/2)),h}_measureDimensionText(i,t,e){if(null==this._textString||null==t||null==this._mosaicItems)return null;const n=[];for(const a of i)a.codePointAt(0),n.push(this._mosaicItems.glyphs[a.codePointAt(0)]);const s=this._dimensionStyle.textSymbol;if(!s)return null;const o=a(s.horizontalAlignment),r=d(s.verticalAlignment),h=u(s),l=D(s.height||10),m=!0,_=s.angle||0,g=l/P,p=M(s.lineWidth),f=c*Math.max(.25,Math.min(l||1,4)),y={...this._mosaicItems,glyphs:n.filter(i=>null!=i)},S=x(y,{scale:g,angle:_,xOffset:0,yOffset:0,horizontalAlignment:o,verticalAlignment:r,decoration:h,lineHeight:f,useCIMAngleBehavior:m,maxLineWidth:p,hasBackground:!1}),k=t;if(!k)return null;const L=e,w=[S.bounds.blX,S.bounds.trY],E=[S.bounds.trX,S.bounds.trY],T=[S.bounds.blX,S.bounds.blY],R=[S.bounds.trX,S.bounds.blY];return w[0]-=S.bounds.x,w[1]-=S.bounds.y,E[0]-=S.bounds.x,E[1]-=S.bounds.y,T[0]-=S.bounds.x,T[1]-=S.bounds.y,R[0]-=S.bounds.x,R[1]-=S.bounds.y,w[0]*=L,w[1]*=L,E[0]*=L,E[1]*=L,T[0]*=L,T[1]*=L,R[0]*=L,R[1]*=L,w[0]+=k[0],w[1]+=k[1],E[0]+=k[0],E[1]+=k[1],T[0]+=k[0],T[1]+=k[1],R[0]+=k[0],R[1]+=k[1],new b(E[0],E[1],1.1*Math.abs(w[0]-E[0]),1.1*Math.abs(R[1]-E[1]))}_measureMarkerSymbolSize(i,t,e,n){return i?new b(-16,-16,32,32):null}_getDimensionText(i){const{attributes:t}=i;let e=this._systemLength;1===Number(k(S.useCustomLength,t))&&(e=Number(k(S.customLength,t)));let n=this._getDimensionString(e,i);return"number"==typeof n&&(n=n.toString()),t.__COMPUTED_TEXT_STRING__=n,n||""}_getDimensionString(i,t){const{convertUnits:e,displayUnits:n,displayPrecision:s,prefix:o,suffix:r,textOption:h}=this._dimensionStyle;if("None"===h)return null;if("Expression"===h&&this._compiledExpression&&t)return g(this._compiledExpression,t,{},"esriGeometryPolyline",this._fieldsIndex);let l=(i=null==s||isNaN(s)?parseFloat(i.toString()):parseFloat(i.toFixed(s))).toString();return"Suffix"===h&&(o&&(l=`${o} ${l}`),r&&(l=`${l} ${r}`)),l}}function w(i){const{attributes:t}=i,e=Object.keys(S).map(i=>({name:i,alias:i,type:"string"==typeof t[i]?"esriFieldTypeString":"esriFieldTypeDouble"}));return new m(e)}function E(i){return{left:i.x,right:i.x+i.width,top:i.y+i.height,bottom:i.y}}function T(i,t){const e=E(i),n=E(t),s=e.left<=n.right&&n.left<=e.right,o=e.bottom<=n.top&&n.bottom<=e.top;return s&&o}export{L as default};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{createComplexSymbolInstances as e}from"../../features/schema/processor/symbols/ComplexSymbolSchema.js";import{dimensionSymbols as i}from"./dimensionSymbols.js";import{getStyleCollection as n}from"./utils.js";async function r(e,i){const r=n(e),l={};for(const n of r){l[n.iD??0]=await s(n,i)}return{type:"dimension-feature",meshes:l}}async function s(n,r){const s=i.processDimensionStyle(n),l={schemaOptions:r,uniforms:{visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:null,visualVariableSizeStops:null,visualVariableSizeScaleStops:null,visualVariableSizeOutlineScaleStops:null,visualVariableSizeUnitValue:null,visualVariableSizeMinMaxValue:null}};return{beginDimensionLine:await e({type:"CIMSymbolReference",primitiveOverrides:s.primitiveOverrides,symbol:s.beginDimensionLineSymbol},l),endDimensionLine:await e({type:"CIMSymbolReference",primitiveOverrides:s.primitiveOverrides,symbol:s.endDimensionLineSymbol},l),beginExtensionLine:await e({type:"CIMSymbolReference",primitiveOverrides:s.primitiveOverrides,symbol:s.beginExtensionLineSymbol},l),endExtensionLine:await e({type:"CIMSymbolReference",primitiveOverrides:s.primitiveOverrides,symbol:s.endExtensionLineSymbol},l),textPoint:await e({type:"CIMSymbolReference",primitiveOverrides:s.primitiveOverrides,symbol:s.textSymbol},l)}}export{r as getStyleMatcherSchemas};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{GeometryCursor as e}from"../../../../../geometry/GeometryCursor.js";class t{static{this.instance=null}static local(){return null===t.instance&&(t.instance=new t),t.instance}execute(e,t,i){return new n(e,t,i)}}class n{constructor(e,t,n){this._cursor=e,this._effect=t,this._context=n}next(){const t=this._cursor.next();if(t&&t.totalSize>0){const n=t.asJSON(),i=f[this._effect.part](n,{...this._effect,target:this._context.target,scaleFactor:this._context.scaleFactor,matcher:this._context.matcher,tileKey:this._context.tileKey,geomUnitsPerPoint:this._context.geomUnitsPerPoint});return e.fromJSONCIM(i)}return null}}function i(e,t){const n=t.matcher,i=t.target.getObjectId(),s=`${t.tileKey}_${i}`,r=n.getAnalyzedGraphic(s);return r.evaluateWithGeometry(e,t.geomUnitsPerPoint*t.scaleFactor),r}function s(e,t){const n=i(e,t);if(!n||!n.textPoint)return e;return{x:n.textPoint[0],y:n.textPoint[1],spatialReference:e.spatialReference}}function r(e,t){const n=i(e,t);if(!n||!n.dimensionLine)return e;const s=n.dimensionLine[0],r=s[1][0],o=s[1][1],c=s[0][0],a=s[0][1];return{spatialReference:e.spatialReference,paths:[[[r,o],[c,a]]]}}function o(e,t){const n=i(e,t);if(!n||!n.dimensionLine)return e;const s=n.dimensionLine[1],r=s[1][0],o=s[1][1],c=s[0][0],a=s[0][1];return{spatialReference:e.spatialReference,paths:[[[r,o],[c,a]]]}}function c(e,t){const n=i(e,t);if(!n||!n.extensionLines)return e;const s=n.extensionLines[0],r=s[0][0],o=s[0][1],c=s[1][0],a=s[1][1];return{spatialReference:e.spatialReference,paths:[[[r,o],[c,a]]]}}function a(e,t){const n=i(e,t);if(!n||!n.extensionLines)return e;const s=n.extensionLines[1],r=s[0][0],o=s[0][1],c=s[1][0],a=s[1][1];return{spatialReference:e.spatialReference,paths:[[[r,o],[c,a]]]}}const f={textPoint:s,beginDimensionLine:r,endDimensionLine:o,beginExtensionLine:c,endExtensionLine:a},u="beginMarker",l="endMarker",x="textPoint",h="beginDimensionLine",m="endDimensionLine",p="beginExtensionLine",L="endExtensionLine";export{t as PrivateDimensionEffect,h as beginDimensionLineName,p as beginExtensionLineName,u as beginMarkerName,m as endDimensionLineName,L as endExtensionLineName,l as endMarkerName,i as getDimensionInfo,x as textPointName};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{PathTransformationCursor as t}from"../../../../../symbols/cim/CIMCursor.js";import{CurveHelper as e}from"../../../../../symbols/cim/CurveHelper.js";class n{static{this.instance=null}static local(){return null===n.instance&&(n.instance=new n),n.instance}execute(t){return new s(t)}}class s extends t{constructor(t){super(t),this._curveHelper=new e}processPath(t){if(this.iteratePath=!0,t.nextPoint()){const[e,n]=[t.x,t.y];if(t.nextPoint()){const[s,r]=[t.x,t.y],i=(e+s)/2,a=(n+r)/2;this.internalPlacement.setTranslate(i,a);const c=this._curveHelper.getAngle(e,n,s,r,0);return this.internalPlacement.setRotate(c),this.internalPlacement}}return this.iteratePath=!1,null}}export{n as PrivatePlacementMultipoint};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import e from"../../../../../core/pbf.js";import{fromJSON as t}from"../../../../../geometry/support/jsonUtils.js";import{base64ToArrayBuffer as a}from"../../../../../support/base64Utils.js";function r(t){const r={leader:[],anchorPoint:[],fontVariations:[]},n=a(t.toString()),i=new e(new Uint8Array(n),new DataView(n));for(;i.next();)switch(i.tag()){case 1:r.version=o(i);break;case 2:r.bloated=i.getBool();break;case 3:r.graphic=s(o(i));break;case 4:r.geometryStorageType=i.getEnum();break;case 5:r.geometry=c(o(i),r.geometryStorageType);break;case 6:r.text=o(i);break;case 7:r.bloated?i.skip():r.symbolID=i.getUInt32();break;case 8:r.textAngle=i.getDouble();break;case 9:r.xOffset=i.getDouble();break;case 10:r.yOffset=i.getDouble();break;case 11:r.horizontalAlignment=i.getEnum();break;case 12:r.verticalAlignment=i.getEnum();break;case 13:r.flipAngle=i.getDouble();break;case 14:i.skip(),r.leader=[];break;case 15:i.skip(),r.anchorPoint=[];break;case 16:r.size=i.getDouble();break;case 17:r.color=o(i);break;case 18:r.characterSpacing=i.getDouble();break;case 19:r.characterWidth=i.getDouble();break;case 20:r.wordSpacing=i.getDouble();break;case 21:r.leading=i.getDouble();break;case 22:r.fontFamilyName=o(i);break;case 23:r.fontStyleName=o(i);break;case 24:r.underline=i.getBool();break;case 25:r.callout=o(i);break;case 26:i.skip(),r.fontVariations=[];break;default:i.skip()}return r}function o(e){return n(e.getString()||"")}function n(e){return e.replaceAll(/\p{Cc}/gu,"")}function s(e){return e?JSON.parse(e):null}function i(e){if(e?.ga){const t=e?.ga?.map(e=>i(e)).filter(e=>e);return{type:"geometry-bag",geometries:t}}const a=e?.g?.points;if(a)return{type:"custom-multipoint",points:a};const r=t(e);return r&&("point"===r.type||"polyline"===r.type)?r:void 0}function c(e,t){if(!e||null==t)return;if(1===t){const t=e.split(",").map(e=>parseInt(e,10));return{type:"custom-point",x:t[0],y:t[1]}}if(2===t){const t=e.split(";").map(e=>e.split(",").map(e=>parseInt(e,10)));return{type:"custom-two-point",from:[t[0][0],t[0][1]],to:[t[1][0],t[1][1]]}}if(3===t){return{type:"custom-multipoint",points:e.split(";").map(e=>e.split(",").map(e=>parseInt(e,10)))}}return i(JSON.parse(e))}export{c as parseAnnotationGeometry,i as parseAnnotationGeometryJson,r as parseAnnotationGraphic,s as parseAnnotationInnerGraphic};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{createComplexSymbolInstances as a}from"../../features/schema/processor/symbols/ComplexSymbolSchema.js";import{getCIMSymbols as i}from"./cimAnnotations.js";import{getSymbolCollection as t}from"./utils.js";async function l(i,t){const l={visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:null,visualVariableSizeStops:null,visualVariableSizeScaleStops:null,visualVariableSizeOutlineScaleStops:null,visualVariableSizeUnitValue:null,visualVariableSizeMinMaxValue:null};return{point:await a({...i.point.data,hasTextStringTemplates:!0},{schemaOptions:t,uniforms:l}),line:await a({...i.line.data,hasTextStringTemplates:!0},{schemaOptions:t,uniforms:l}),multipoint:await a({...i.multipoint.data,hasTextStringTemplates:!0},{schemaOptions:t,uniforms:l})}}async function n(a,n){const s=t(a),e=i(s),o={};for(const i in e){const a=e[i],t=await l(a,n);o[i]=t}return{type:"annotation",meshes:o,symbolCollection:s}}export{n as getAnnotationMatcherSchema};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{normalizeTransform as t}from"../../../../../geometry/support/quantizationUtils.js";import{getAttributeValue as o,parseElement as e,reprojectAndQuantize as r}from"./utils.js";import{featureFields as i}from"./virtualFields.js";function s(s,f,n){const a=n.spatialReference,m=n.outSpatialReference,c=t(f);for(const t of s){const s=o("element",t.attributes),f=e(s),n=f.geometry||f.graphic?.geometry;if(n){const o=r(n,a,m,c);if(o){t.geometry=o;for(const o of i)o.addToFeature(t,f)}}}}export{s as loadAnnotationFeatures};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{fixCIMUnsupported as e}from"./unsupported.js";import{featureFields as t}from"./virtualFields.js";function o(o,r){let i,n;"line"===r?(i="CIMLineSymbol",n={type:"CIMMarkerPlacementOnLine",angleToLine:!0,offset:5,placePerPart:!1,relativeTo:"LineMiddle",startPointOffset:0,keepUpright:!1}):"multipoint"===r?(i="CIMLineSymbol",n={type:"PrivatePlacementMultipoint"}):(i="CIMPointSymbol",n=void 0);const l={type:"CIMSymbolReference",primitiveOverrides:[],symbol:{type:i,symbolLayers:[{type:"CIMVectorMarker",markerPlacement:n,enable:!0,size:40,colorLocked:!1,anchorPointUnits:"Relative",frame:{xmin:-20,ymin:-20,xmax:20,ymax:20},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{x:0,y:0},symbol:o=e(o)}],scaleSymbolsProportionally:!0,respectFrame:!0}]}};for(const e of t)e.addToSymbol(l);return{data:l}}function r(e){return{point:o(e,"point"),line:o(e,"line"),multipoint:o(e,"multipoint")}}function i(e){const t={};for(const o of e){const e=o.iD??0,{symbol:i}=o,n=r(i);t[e]=n}return t}export{o as getCIMSymbol,i as getCIMSymbols,r as getTrio};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{getStyleMatcherSchemas as e}from"./DimensionMatcherSchema.js";import{getStyleCollection as t}from"./utils.js";async function s(s,o){const{meshes:i}=await e(s,o);return{type:"dimension-feature",styleCollection:t(s),meshes:i}}export{s as getDimensionMatcherSchema};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{clone as e}from"../../../../../core/lang.js";import{textPointName as i,beginMarkerName as r,endMarkerName as n,beginDimensionLineName as t,endDimensionLineName as o,beginExtensionLineName as m,endExtensionLineName as s}from"./PrivateDimensionEffect.js";import{fixCIMUnsupported as a}from"./unsupported.js";function p(i){i=L(i);const r=e(i.symbolLayers||[]);for(const e of r)"CIMVectorMarker"!==e.type&&"CIMPictureMarker"!==e.type||(e.markerPlacement={type:"CIMMarkerPlacementAtRatioPositions",angleToLine:!0,keepUpright:!1,positionArray:[0]});return r}function f(e){const i=[{type:"PrivateDimensionEffect",part:t,primitiveName:t+"Effect"}];let n=e.dimensionLineSymbol.symbolLayers||[];n=n.map(e=>({...e,primitiveName:t+"Layer",effects:[...i]})),"Begin"!==e.dimensionLineOption&&"Both"!==e.dimensionLineOption&&n.forEach(e=>{});let o=p(e.beginMarkerSymbol);o=o.map(e=>({...e,primitiveName:r+"Layer",effects:[...i]})),"Begin"!==e.markerOption&&"Both"!==e.markerOption&&n.forEach(e=>{});return{...e.dimensionLineSymbol,symbolLayers:[...n,...o]}}function y(e){const i=[{type:"PrivateDimensionEffect",part:o,primitiveName:o+"Effect"}];let r=e.dimensionLineSymbol.symbolLayers||[];r=r.map(e=>({...e,primitiveName:o+"Layer",effects:[...i]})),"End"!==e.dimensionLineOption&&"Both"!==e.dimensionLineOption&&r.forEach(e=>{});let t=p(e.endMarkerSymbol);t=t.map(e=>({...e,primitiveName:n+"Layer",effects:[...i]})),"End"!==e.markerOption&&"Both"!==e.markerOption&&r.forEach(e=>{});return{...e.dimensionLineSymbol,symbolLayers:[...r,...t]}}function u(e){const i=[{type:"PrivateDimensionEffect",part:m,primitiveName:m+"Effect",overshot:e.extensionLineOvershot||1}];let r=e.extensionLineSymbol.symbolLayers||[];r=r.map(e=>({...e,primitiveName:m+"Layer",effects:[...i]})),"Begin"!==e.extensionLineOption&&"Both"!==e.dimensionLineOption&&r.forEach(e=>{});return{...e.extensionLineSymbol,symbolLayers:r}}function l(e){const i=[{type:"PrivateDimensionEffect",part:s,primitiveName:s+"Effect",overshot:e.extensionLineOvershot||1}];let r=e.extensionLineSymbol.symbolLayers||[];r=r.map(e=>({...e,primitiveName:s+"Layer",effects:[...i]})),"End"!==e.extensionLineOption&&"Both"!==e.dimensionLineOption&&r.forEach(e=>{});return{...e.extensionLineSymbol,symbolLayers:r}}function L(e){const i=(e.symbolLayers||[]).map(e=>{if("CIMVectorMarker"===e.type){const i=e.frame.xmax-e.frame.xmin;return{...e,frame:{xmin:e.frame.xmin,ymin:e.frame.ymin,xmax:e.frame.xmax+i,ymax:e.frame.ymax}}}return e});return{...e,symbolLayers:i}}function c(e){if("None"===e.textOption)return null;const r=[{type:"PrivateDimensionEffect",part:i,primitiveName:i+"Effect"}];return{type:"CIMPointSymbol",angleAlignment:"Map",symbolLayers:[{type:"CIMVectorMarker",primitiveName:i+"Layer",enable:!0,size:20,frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{x:0,y:0},primitiveName:i+"Graphic",symbol:e.textSymbol}],effects:r}]}}function E(e){const a="$feature.__DIMENSION_ANGLE__",p="0",f=v(),y=[],u=[i+"Graphic",i+"Effect",t+"Effect",o+"Effect",m+"Effect",s+"Effect"];for(const i of u)y.push({type:"CIMPrimitiveOverride",primitiveName:i,propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",expression:f,returnType:"Default"}});return[...y,{type:"CIMPrimitiveOverride",primitiveName:i+"Layer",propertyName:"Rotation",valueExpressionInfo:{type:"CIMExpressionInfo",expression:a+"-"+p,returnType:"Default"}},{type:"CIMPrimitiveOverride",primitiveName:r+"Layer",propertyName:"Size",valueExpressionInfo:{type:"CIMExpressionInfo",expression:"if ($feature.MARKERDISPLAY == 2 || $feature.MARKERDISPLAY == 3) { return 0; } else { return null; }",returnType:"Default"}},{type:"CIMPrimitiveOverride",primitiveName:n+"Layer",propertyName:"Size",valueExpressionInfo:{type:"CIMExpressionInfo",expression:"if ($feature.MARKERDISPLAY == 1 || $feature.MARKERDISPLAY == 3) { return 0; } else { return null; }",returnType:"Default"}},{type:"CIMPrimitiveOverride",primitiveName:t+"Layer",propertyName:"Width",valueExpressionInfo:{type:"CIMExpressionInfo",expression:"if ($feature.DIMDISPLAY == 2 || $feature.DIMDISPLAY == 3) { return 0; } else { return null; }",returnType:"Default"}},{type:"CIMPrimitiveOverride",primitiveName:o+"Layer",propertyName:"Width",valueExpressionInfo:{type:"CIMExpressionInfo",expression:"if ($feature.DIMDISPLAY == 1 || $feature.DIMDISPLAY == 3) { return 0; } else { return null; }",returnType:"Default"}},{type:"CIMPrimitiveOverride",primitiveName:m+"Layer",propertyName:"Width",valueExpressionInfo:{type:"CIMExpressionInfo",expression:"if ($feature.EXTDISPLAY == 2 || $feature.EXTDISPLAY == 3) { return 0; } else { return null; }",returnType:"Default"}},{type:"CIMPrimitiveOverride",primitiveName:s+"Layer",propertyName:"Width",valueExpressionInfo:{type:"CIMExpressionInfo",expression:"if ($feature.EXTDISPLAY == 1 || $feature.EXTDISPLAY == 3) { return 0; } else { return null; }",returnType:"Default"}}]}function v(e){return"$feature.__COMPUTED_TEXT_STRING__"}function x(e){e=a(e);return{beginDimensionLineSymbol:I.getBeginDimensionLine(e),endDimensionLineSymbol:I.getEndDimensionLine(e),beginExtensionLineSymbol:I.getBeginExtensionLine(e),endExtensionLineSymbol:I.getEndExtensionLine(e),textSymbol:I.getText(e),primitiveOverrides:I.getPrimitiveOverrides(e)}}const I={getBeginDimensionLine:f,getEndDimensionLine:y,getBeginExtensionLine:u,getEndExtensionLine:l,getText:c,getPrimitiveOverrides:E,processDimensionStyle:x};export{I as dimensionSymbols,x as processDimensionStyle};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{getFontFamily as t}from"../../../../../core/fontUtils.js";import{fromCIMFontDecoration as e,fromCIMFontStyle as n}from"../../../../../symbols/cim/utils.js";function i(e){const{style:i}=n(e.fontStyleName);return`${t(e.fontFamilyName)}_${i}`}function o(i){const o=e(i),{style:m,weight:E}=n(i.fontStyleName);return{family:t(i.fontFamilyName),decoration:o,style:m,weight:E}}var m;!function(t){t.objectId="OBJECTID",t.shape="SHAPE",t.dimLength="DIMLENGTH",t.beginX="BEGINX",t.beginY="BEGINY",t.endX="ENDX",t.endY="ENDY",t.textX="TEXTX",t.textY="TEXTY",t.styleId="STYLEID",t.dimX="DIMX",t.dimY="DIMY",t.customLength="CUSTOMLENGTH",t.useCustomLength="USECUSTOMLENGTH",t.dimDisplay="DIMDISPLAY",t.extDisplay="EXTDISPLAY",t.markerDisplay="MARKERDISPLAY",t.extAngle="EXTANGLE",t.dimType="DIMTYPE",t.textAngle="TEXTANGLE"}(m||(m={}));export{m as DimensionRealFieldName,o as getFontForCIMTextSymbol,i as getFontNameForCIMTextSymbol};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{featureFields as e}from"./virtualFields.js";const l=["element"],t=e.map(e=>e.realField),_=["STYLEID","BEGINX","BEGINY","ENDX","ENDY","DIMDISPLAY","EXTDISPLAY","MARKERDISPLAY","DIMX","DIMY","TEXTX","TEXTY","DIMLENGTH","DIMTYPE","EXTANGLE","TEXTANGLE","USECUSTOMLENGTH","CUSTOMLENGTH "],E=[{name:"__SYSTEM_LENGTH__",type:"esriFieldTypeDouble",alias:"__SYSTEM_LENGTH__",defaultValue:0,description:"System generated length of the dimension",editable:!1,nullable:!1},{name:"__COMPUTED_TEXT_STRING__",type:"esriFieldTypeString",alias:"__COMPUTED_TEXT_STRING__",defaultValue:"",description:"System generated text string for the dimension",editable:!1,nullable:!1},{name:"__DIMENSION_ANGLE__",type:"esriFieldTypeDouble",alias:"__DIMENSION_ANGLE__",defaultValue:0,description:"System generated angle for text",editable:!1,nullable:!1}];export{l as annotationRealFields,t as annotationVirtualFields,_ as dimensionRealFields,E as dimensionVirtualFields};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ function e(e){return t(r(e))}function r(e){if(null==e)return e;if(Array.isArray(e))return e.map(e=>r(e));if("object"==typeof e){if("CIMRGBColor"===e.type){const[r,t,n,o]=e.values;return[r,t,n,255*o/100]}const t={};for(const n in e)t[n]=r(e[n]);return t}return e}function t(e){if(null==e)return e;if(Array.isArray(e))return e.map(e=>t(e));if("object"==typeof e){if("CIMCharacterMarker"===e.type)return{type:"CIMVectorMarker",enable:!0,size:40,colorLocked:!1,anchorPointUnits:"Relative",frame:{xmin:-10,ymin:-10,xmax:10,ymax:10},markerGraphics:[{type:"CIMMarkerGraphic",textString:"■",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",underline:!1,blockProgression:"TTB",depth3D:0,extrapolateBaselines:!0,flipAngle:90,fontEffects:"Normal",fontEncoding:"Unicode",haloSize:0,height:8,hinting:"Default",horizontalAlignment:"Center",kerning:!0,letterSpacing:10,letterWidth:100,ligatures:!1,lineGapType:"ExtraLeading",symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[0,0,0,255]}]},symbol3DProperties:{type:"CIM3DSymbolProperties",dominantSizeAxis3D:"Z",rotationOrder3D:"XYZ",scaleZ:1,scaleY:1},textCase:"Normal",textDirection:"LTR",verticalAlignment:"Center",verticalGlyphOrientation:"Right",wordSpacing:100,billboardMode3D:"FaceNearPlane"}}],scaleSymbolsProportionally:!0,respectFrame:!0};const r={};for(const n in e)r[n]=t(e[n]);return r}return e}export{r as fixCIMColors,e as fixCIMUnsupported};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import e from"../../../../../geometry/Point.js";import{quantizeX as t,quantizeY as n}from"../../../../../geometry/support/quantizationUtils.js";import r from"../../../../../layers/graphics/OptimizedGeometry.js";import{project as o}from"../../../../../layers/graphics/data/projectionSupport.js";import{parseAnnotationGraphic as i}from"./annotationGraphic.js";function s(i,p,c,f){if("custom-point"===i.type||"point"===i.type){const{x:s,y:u}=i,a=o(new e({x:s,y:u,spatialReference:p}),p,c);return new r([1],[t(f,a.x),n(f,a.y)])}if("custom-two-point"===i.type){const[s,u]=i.from,a=o(new e({x:s,y:u,spatialReference:p}),p,c),[y,m]=i.to,l=o(new e({x:y,y:m,spatialReference:p}),p,c);return new r([2],[t(f,a.x),n(f,a.y),t(f,l.x),n(f,l.y)])}if("custom-multipoint"===i.type){const s=i.points.map(([t,n])=>o(new e({x:t,y:n,spatialReference:p}),p,c)),u=s.map(({x:e,y:r})=>[t(f,e),n(f,r)]).flat();return new r([s.length],u)}if("geometry-bag"===i.type){let e=[],t=[],n=!0;for(const r of i.geometries){n||(e.push(2),t.push(0,0,1,1)),n=!1;const o=s(r,p,c,f);o&&(e=[...e,...o.lengths],t=[...t,...o.coords])}if(0===e.length||0===t.length)return;return new r(e,t)}if("polyline"===i.type){const[s,u]=i.paths[0][0],a=o(new e({x:s,y:u,spatialReference:p}),p,c),[y,m]=i.paths[0][1],l=o(new e({x:y,y:m,spatialReference:p}),p,c);return new r([2],[t(f,a.x),n(f,a.y),t(f,l.x),n(f,l.y)])}throw new Error("Unsupported geometry type!")}function p(e){return i(e)}function c(e,...t){const n={};for(const r of t)n[r]=e[r];return n}function f(e,t){const n=e.indexOf(t);if(-1===n)return null;return e[n+1]}function u(e){const{propertySetItems:t}=e.extensionProperties,n=f(t,"ReferenceScale");return parseInt(n,10)}function a(e){const{propertySetItems:t}=e.extensionProperties,n=f(t,"SymbolCollection");if(!n)return[];return JSON.parse(n)}function y(e){const{propertySetItems:t}=e.extensionProperties,n=f(t,"StyleCollection");if(!n)return[];return JSON.parse(n)}function m(e,t){const n=e.toLowerCase();for(const r in t){if(n===r.toLowerCase())return r}return e}function l(e,t){return t[m(e,t)]}function x(e,t,n){n[m(e,n)]=t}export{l as getAttributeValue,u as getReferenceScale,y as getStyleCollection,a as getSymbolCollection,p as parseElement,c as pick,s as reprojectAndQuantize,x as setAttributeValue};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{fixCIMColors as e}from"./unsupported.js";let r=0;class t{}class s extends t{constructor(e,r){super(),this.kind="feature";const t=`__virtual_fi_${e}`;this.realField={name:t,alias:t,type:r}}addToFeature(e,r){const t=this.getValue(r);e.attributes[this.realField.name]=t}addToSymbol(e){const t=this.findTargetNode(e);let{primitiveName:s}=t;s||(r++,s=`primitive_${r}`,t.primitiveName=s);const i={type:"CIMPrimitiveOverride",primitiveName:s,propertyName:this.cimPropertyName,valueExpressionInfo:{type:"CIMExpressionInfo",expression:`return $feature.${this.realField.name};`}};e.primitiveOverrides=e.primitiveOverrides||[],e.primitiveOverrides.push(i)}}class i extends s{constructor(){super("text","esriFieldTypeString"),this.cimPropertyName="TextString"}findTargetNode(e){return e.symbol.symbolLayers[0].markerGraphics[0]}getValue(e){return e.graphic?e.graphic.text:e.text}}class o extends s{constructor(){super("color","esriFieldTypeString"),this.cimPropertyName="Color"}findTargetNode(e){return e.symbol.symbolLayers[0].markerGraphics[0].symbol.symbol.symbolLayers.find(e=>"CIMSolidFill"===e.type)}getValue(r){const t=r.color||"#000000";if(t.startsWith("#"))return t;if(t.startsWith("rgb"))return t;const s=JSON.parse(t),i=e(s);return`rgba(${i[0]}, ${i[1]}, ${i[2]}, ${i[3]/255})`}}class n extends s{constructor(){super("rotation","esriFieldTypeDouble"),this.cimPropertyName="Rotation"}findTargetNode(e){return e.symbol.symbolLayers[0]}getValue(e){return null!=e.textAngle?-e.textAngle:void 0}}class a extends s{constructor(){super("offsetX","esriFieldTypeDouble"),this.cimPropertyName="OffsetX"}findTargetNode(e){return e.symbol.symbolLayers[0]}getValue(e){return e.xOffset}}class l extends s{constructor(){super("offsetY","esriFieldTypeDouble"),this.cimPropertyName="OffsetY"}findTargetNode(e){return e.symbol.symbolLayers[0]}getValue(e){return e.yOffset}}class m extends t{constructor(){super(...arguments),this.kind="symbol"}addToSymbol(e,r){const t=this.getValue(r);if(null==t)return;this.findTargetNode(e)[this._fixCase(this.cimPropertyName)]=t}_fixCase(e){return this.cimPropertyName[0].toLocaleLowerCase()+e.slice(1)}}class u extends m{constructor(){super(...arguments),this.cimPropertyName="VerticalAlignment"}findTargetNode(e){return e.symbol.symbolLayers[0].markerGraphics[0].symbol}getValue(e){return null==e.verticalAlignment?null:["Top","Center","Baseline","Bottom"][e.verticalAlignment]}}class c extends m{constructor(){super(...arguments),this.cimPropertyName="HorizontalAlignment"}findTargetNode(e){return e.symbol.symbolLayers[0].markerGraphics[0].symbol}getValue(e){return null==e.horizontalAlignment?null:["Left","Right","Center","Justify"][e.horizontalAlignment]}}class y extends m{constructor(){super(...arguments),this.cimPropertyName="FontFamilyName"}findTargetNode(e){return e.symbol.symbolLayers[0].markerGraphics[0].symbol}getValue(e){return e.fontFamilyName}}class d extends m{constructor(){super(...arguments),this.cimPropertyName="FontStyleName"}findTargetNode(e){return e.symbol.symbolLayers[0].markerGraphics[0].symbol}getValue(e){return e.fontStyleName}}class p extends m{constructor(){super(...arguments),this.cimPropertyName="Height"}findTargetNode(e){return e.symbol.symbolLayers[0].markerGraphics[0].symbol}getValue(e){return e.size}}class g extends m{constructor(){super(...arguments),this.cimPropertyName="Underline"}findTargetNode(e){return e.symbol.symbolLayers[0].markerGraphics[0].symbol}getValue(e){return e.underline}}const f=new i,h=new o,b=new n,N=new a,x=new l,T=new p,v=new g,L=[f,h,b,N,x],P=[new c,new u,new y,new d,T,v];export{L as featureFields,P as symbolFields};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{createScreenRect as t}from"../../../core/screenUtils.js";import{polygonContainsPoint as e,extentContainsPoint as r,ringsContainsCoords as n}from"../../../geometry/support/contains.js";const o=t=>parseFloat(t)/100;function i(t,e,r){const n="string"==typeof t.left?o(t.left)*e:t.left,i="string"==typeof t.right?o(t.right)*e:t.right,a="string"==typeof t.top?o(t.top)*r:t.top,m="string"==typeof t.bottom?o(t.bottom)*r:t.bottom,h=a;return{xmin:n,xmax:Math.max(e-i,n),ymin:h,ymax:Math.max(r-m,a)}}function a(t,o,a,m){switch(o.type){case"rect":{const{width:e,height:r}=t,{xmin:n,xmax:m,ymin:h,ymax:y}=i(o,e,r),{x:s,y:c}=a;return s>n&&s<m&&c>h&&c<y}case"path":return 0===o.path.length||!Array.isArray(o.path[0][0])||n(o.path,[a.x,a.y]);case"geometry":return null==o.geometry||("polygon"===o.geometry.type?e(o.geometry,m):r(o.geometry,m))}}function m(t,e,r){switch(e.type){case"rect":{const{width:n,height:o}=t,{xmin:a,xmax:m,ymin:h,ymax:y}=i(e,n,o),s=r.x,c=r.y,x=r.x+r.width,p=r.y+r.height;return a<x&&s<m&&h<p&&c<y}case"path":case"geometry":return!0}}function h(e,r,n){switch(r.type){case"rect":{const{width:o,height:a}=e,{xmin:m,xmax:h,ymin:y,ymax:s}=i(r,o,a),c=n.x,x=n.y,p=c+n.width,g=x+n.height,u=Math.max(m,c),f=Math.min(h,p);if(u>=f)return null;const l=Math.max(y,x),w=Math.min(s,g);return l>=w?null:t(u,l,f-u,w-l)}case"path":case"geometry":return n}}export{a as clipContainsPoint,m as clipIntersectsScreenRect,h as computeClippedScreenRect,i as createScreenExtent};
2
+ import{createScreenRect as t,screenRectIntersects as e}from"../../../core/screenUtils.js";import{polygonContainsPoint as r,extentContainsPoint as n,ringsContainsCoords as o}from"../../../geometry/support/contains.js";const i=t=>parseFloat(t)/100;function a(t,e,r){const n="string"==typeof t.left?i(t.left)*e:t.left??0,o="string"==typeof t.right?i(t.right)*e:t.right??0,a="string"==typeof t.top?i(t.top)*r:t.top??0,m="string"==typeof t.bottom?i(t.bottom)*r:t.bottom??0,h=a;return{xmin:n,xmax:Math.max(e-o,n),ymin:h,ymax:Math.max(r-m,a)}}function m(t,e,r){const{xmin:n,xmax:o,ymin:i,ymax:m}=a(t,e,r);return{x:n,y:i,width:o-n,height:m-i}}function h(t,e,i,m){switch(e.type){case"rect":{const{width:r,height:n}=t,{xmin:o,xmax:m,ymin:h,ymax:y}=a(e,r,n),{x:s,y:c}=i;return s>o&&s<m&&c>h&&c<y}case"path":return 0===e.path.length||!Array.isArray(e.path[0][0])||o(e.path,[i.x,i.y]);case"geometry":return null==e.geometry||("polygon"===e.geometry.type?r(e.geometry,m):n(e.geometry,m))}}function y(t,r,n){switch(r.type){case"rect":return e(m(r,t.width,t.height),n);case"path":case"geometry":return!0}}function s(e,r,n){switch(r.type){case"rect":{const{width:o,height:i}=e,{xmin:m,xmax:h,ymin:y,ymax:s}=a(r,o,i),c=n.x,x=n.y,p=c+n.width,g=x+n.height,u=Math.max(m,c),f=Math.min(h,p);if(u>=f)return null;const l=Math.max(y,x),w=Math.min(s,g);return l>=w?null:t(u,l,f-u,w-l)}case"path":case"geometry":return n}}export{h as clipContainsPoint,y as clipIntersectsScreenRect,s as computeClippedScreenRect,a as createScreenExtent};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../../Graphic.js";import{isSome as t}from"../../../core/arrayUtils.js";import{isIterable as r}from"../../../core/iteratorUtils.js";import{createScreenPoint as i}from"../../../core/screenUtils.js";import{clipIntersectsScreenRect as n,clipContainsPoint as s,computeClippedScreenRect as a}from"./clippingUtils.js";import{isSupportedScreenPointEvent as l,createScreenPointFromSupportedEvent as o}from"../../support/screenUtils.js";function c(e){return e&&"width"in e&&"height"in e}function p(e){return e&&!("width"in e)&&!("height"in e)}function u(e){const t=c(e),r=p(e);if(t){return{hittestType:"rect",input:e}}if(r){return{hittestType:"point",input:e}}}async function f(e,r,i){const a=!l(r)&&c(r),p=a?r:l(r)?o(e,r):r;if(!e.ready||isNaN(p.x)||isNaN(p.y))return{screenPoint:p,results:[]};let u=new Set;const f=new Set;let x=!1,M=null,V=null;i?.include?y(i.include,h(e,e=>{u.add(e),g(e,e=>f.add(e))},(e,t)=>{f.add(e),u.add(t)},e=>{M||(M=new Set),M.add(e)},e=>u.add(e),()=>x=!0)):(x=!0,u=new Set(e.allLayerViews),u.forEach(e=>{g(e,e=>f.add(e))})),i?.exclude&&y(i.exclude,h(e,e=>{u.delete(e),g(e,e=>f.delete(e))},e=>f.delete(e),e=>{V||(V=new Set),V.add(e)}));const j=w(e,r)[0],b=e.allLayerViews.filter(t=>!t.suspended&&u.has(t)&&(!t.clips.length||(a?t.clips.some(t=>n(e,t,p)):t.clips.some(t=>s(e,t,p,j))))).reverse(),L=x?e.graphicsView.hitTest(e,p).map(e=>({type:"graphic",graphic:e,layer:null,mapPoint:a?null:j})):[],S=Array.from(b).flatMap(t=>{if(a){const r=m(e,t,p);return null==r?[]:r.map(e=>t.hitTest(j,e))}return[t.hitTest(j,p)]});let T=[...L,...await Promise.all(S)].filter(t).flat().filter(t);T=T.filter(e=>"graphic"!==e.type||"subtype-group"!==e.layer?.type||f.has(e.graphic.layer));const U=new Set;return T=T.filter(e=>{if("graphic"!==e.type||!e.graphic)return!0;const t=d(e.graphic);return!U.has(t)&&(U.add(t),!0)}),M&&(T=T.filter(e=>!("graphic"in e)||!e.graphic||M?.has(d(e.graphic)))),V&&(T=T.filter(e=>!("graphic"in e)||!e.graphic||!V?.has(d(e.graphic)))),{screenPoint:p,results:T}}function h(t,r,i,n,s,a){return l=>{if(l instanceof e){if(l.layer===t)a?.();else{const e=t.allLayerViews.find(e=>e.layer===l.layer);e&&s?.(e)}n(d(l))}else if("layer"in l&&"element"in l);else if("subtype-sublayer"===l.type){const e=t.allLayerViews.find(e=>e.layer===l.parent);e&&i(l,e)}else{const e=t.allLayerViews.find(e=>e.layer===l);e&&r(e)}}}function y(e,t){if(e)if(r(e))for(const i of e)if(r(i))for(const e of i)t(e);else t(i);else t(e)}function d(e){const t=e.getObjectId();return t?`${e.layer?.uid??e.sourceLayer?.uid??"MapView"}/${t}`:`"MapView/${e.uid}`}function g(e,t){const r=e.layer;"subtype-group"===r?.type&&r.sublayers.forEach(e=>{t(e)})}function m(e,t,r){if(!t.clips.length)return[r];const i=[];for(const n of t.clips){if("rect"!==n.type){i.push(r);continue}const t=a(e,n,r);t&&i.push(t)}return i}function w(e,t){if(c(t)){const r=t;return[e.toMap(i(r.x,r.y)),e.toMap(i(r.x,r.y+r.height)),e.toMap(i(r.x+r.width,r.y+r.height)),e.toMap(i(r.x+r.width,r.y))]}return[e.toMap(t)]}export{u as createHittestQuery,w as getMapPointsFromScreen,f as hitTest,p as isScreenPoint,c as isScreenRect};
2
+ import e from"../../../Graphic.js";import{isSome as t}from"../../../core/arrayUtils.js";import{isIterable as r}from"../../../core/iteratorUtils.js";import{isScreenRect as i,createScreenPoint as n,isScreenPoint as s}from"../../../core/screenUtils.js";import{computeClippedScreenRect as a,clipContainsPoint as l,clipIntersectsScreenRect as o}from"./clippingUtils.js";import{isSupportedScreenPointEvent as c,createScreenPointFromSupportedEvent as p}from"../../support/screenUtils.js";function u(e){if(i(e)){return{hittestType:"rect",input:e}}return{hittestType:"point",input:e}}async function f(e,r,n){const s=!c(r)&&i(r),a=s?r:c(r)?p(e,r):r;if(!e.ready||isNaN(a.x)||isNaN(a.y))return{screenPoint:a,results:[]};let l=new Set;const o=new Set;let u=!1,f=null,M=null;n?.include?d(n.include,y(e,e=>{l.add(e),g(e,e=>o.add(e))},(e,t)=>{o.add(e),l.add(t)},e=>{f||(f=new Set),f.add(e)},e=>l.add(e),()=>u=!0)):(u=!0,l=new Set(e.allLayerViews),l.forEach(e=>{g(e,e=>o.add(e))})),n?.exclude&&d(n.exclude,y(e,e=>{l.delete(e),g(e,e=>o.delete(e))},e=>o.delete(e),e=>{M||(M=new Set),M.add(e)}));const V=x(e,a)[0],j=m(e,a,V).filter(e=>l.has(e)),b=u?e.graphicsView.hitTest(e,a).map(e=>({type:"graphic",graphic:e,layer:null,mapPoint:s?null:V})):[],L=Array.from(j).flatMap(t=>{if(s){const r=w(e,t,a);return null==r?[]:r.map(e=>t.hitTest(V,e))}return[t.hitTest(V,a)]});let S=[...b,...await Promise.all(L)].filter(t).flat().filter(t);S=S.filter(e=>"graphic"!==e.type||"subtype-group"!==e.layer?.type||o.has(e.graphic.layer));const T=new Set;return S=S.filter(e=>{if("graphic"!==e.type||!e.graphic)return!0;const t=h(e.graphic);return!T.has(t)&&(T.add(t),!0)}),f&&(S=S.filter(e=>!("graphic"in e)||!e.graphic||f?.has(h(e.graphic)))),M&&(S=S.filter(e=>!("graphic"in e)||!e.graphic||!M?.has(h(e.graphic)))),{screenPoint:a,results:S}}function y(t,r,i,n,s,a){return l=>{if(l instanceof e){if(l.layer===t)a?.();else{const e=t.allLayerViews.find(e=>e.layer===l.layer);e&&s?.(e)}n(h(l))}else if("layer"in l&&"element"in l);else if("subtype-sublayer"===l.type){const e=t.allLayerViews.find(e=>e.layer===l.parent);e&&i(l,e)}else{const e=t.allLayerViews.find(e=>e.layer===l);e&&r(e)}}}function d(e,t){if(e)if(r(e))for(const i of e)if(r(i))for(const e of i)t(e);else t(i);else t(e)}function h(e){const t=e.getObjectId();return t?`${e.layer?.uid??e.sourceLayer?.uid??"MapView"}/${t}`:`"MapView/${e.uid}`}function g(e,t){const r=e.layer;"subtype-group"===r?.type&&r.sublayers.forEach(e=>{t(e)})}function m(e,t,r){const i=s(t)?i=>l(e,i,t,r):r=>o(e,r,t);return e.allLayerViews.filter(e=>!e.suspended&&(!e.clips.length||e.clips.some(i))).reverse()}function w(e,t,r){if(!t.clips.length)return[r];const i=[];for(const n of t.clips){if("rect"!==n.type){i.push(r);continue}const t=a(e,n,r);t&&i.push(t)}return i}function x(e,t){if(i(t)){const r=t;return[e.toMap(n(r.x,r.y)),e.toMap(n(r.x,r.y+r.height)),e.toMap(n(r.x+r.width,r.y+r.height)),e.toMap(n(r.x+r.width,r.y))]}return[e.toMap(t)]}export{u as createHittestQuery,m as getHitTestLayerViews,x as getMapPointsFromScreen,f as hitTest};
@@ -1,6 +1,8 @@
1
1
  import type Layer from "../../layers/Layer.js";
2
+ import type AnnotationLayerView from "../layers/AnnotationLayerView.js";
2
3
  import type CatalogFootprintLayerView from "../layers/CatalogFootprintLayerView.js";
3
4
  import type CSVLayerView from "../layers/CSVLayerView.js";
5
+ import type DimensionFeatureLayerView from "../layers/DimensionFeatureLayerView.js";
4
6
  import type FeatureLayerView from "../layers/FeatureLayerView.js";
5
7
  import type GeoJSONLayerView from "../layers/GeoJSONLayerView.js";
6
8
  import type GeoRSSLayerView from "../layers/GeoRSSLayerView.js";
@@ -18,6 +20,8 @@ import type WFSLayerView from "../layers/WFSLayerView.js";
18
20
 
19
21
  /** @since 5.0 */
20
22
  export interface LayerView2DMap {
23
+ /** @since 5.1 */
24
+ annotation: AnnotationLayerView;
21
25
  /** @since 5.0 */
22
26
  "base-dynamic": never;
23
27
  /** @since 5.0 */
@@ -97,7 +101,7 @@ export interface LayerView2DMap {
97
101
  /** @since 5.0 */
98
102
  dimension: never;
99
103
  /** @since 5.1 */
100
- "dimension-feature": FeatureLayerView;
104
+ "dimension-feature": DimensionFeatureLayerView;
101
105
  /** @since 5.0 */
102
106
  elevation: never;
103
107
  /** @since 5.0 */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{isSome as t,equals as i}from"../../../core/arrayUtils.js";import{createTask as s}from"../../../core/asyncUtils.js";import r from"../../../core/Error.js";import"../../../core/has.js";import n from"../../../core/Logger.js";import{abortMaybe as a,destroyMaybe as o}from"../../../core/maybe.js";import{after as l,throwIfAborted as u,isPromiseLike as c}from"../../../core/promiseUtils.js";import{watch as p,syncAndInitial as d}from"../../../core/reactiveUtils.js";import{createScreenPointArray as h,createRenderScreenPointArray as m}from"../../../core/screenUtils.js";import{offsetDateUTC as g,convertTime as _}from"../../../core/timeUtils.js";import{property as y,subclass as f}from"../../../core/accessorSupport/decorators.js";import{create as v}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as w}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{UpdatingHandles as D}from"../../../core/support/UpdatingHandles.js";import{projectAsync as C}from"../../../geometry/projectionUtils.js";import{e as b}from"../../../chunks/containsOperator.js";import{n as V}from"../../../chunks/boundedPlane.js";import{polygonToVolume as T}from"../focusAreaUtils.js";import U from"./AnalysisView3D.js";import{registerAnalysisView as P,hideOtherAnalysisViews as S}from"./ShadowCast/analysisViewRegister.js";import{ShadowCastTooltip as O}from"./ShadowCast/ShadowCastTooltip.js";import{ElevationContext as x}from"../layers/graphics/ElevationContext.js";import{longitudeToTimezone as j}from"../support/earthUtils.js";import{computeDirectionsOverTime as z}from"../support/sunUtils.js";import{maxColorRampSize as A}from"../webgl-engine/shaders/colorRampParameters.js";import{breadthFirstBinaryPartitioning as R}from"../../../widgets/support/traversalUtils.js";let L=class extends U{constructor(e){super(e),this.type="shadow-cast-view-3d",this.analysis=null,this._updatingHandles=new D,this._stopPreviewingTask=null,this._updatedRecently=!1,this._tooltip=null,this._previousVolume=null}initialize(){this.addHandles([P(this.view,this),p(()=>({dependencies:this._previewDependencies,sceneUpdating:this._sceneUpdating}),()=>{a(this._stopPreviewingTask),this._updatedRecently=!0,this._stopPreviewingTask=s(async e=>{await l(B,e),u(e),this._updatedRecently=!1})},{sync:!0,initial:!0,equals:(e,t)=>G(e.dependencies,t.dependencies)&&(e.sceneUpdating===t.sceneUpdating||!e.sceneUpdating)}),p(()=>({renderer:this._renderer,visible:this.visible}),({renderer:e,visible:t})=>{t&&S(this.view,this),e?.setParameters({shadowCast:{enabled:t}})},d),p(()=>({renderer:this._renderer,parameters:this._visualizationParameters,visible:this.visible}),({renderer:e,parameters:t,visible:i})=>{k(e,i,t)},d),p(()=>({renderer:this._renderer,lightDirections:this._lightDirections,lightDirectionsContext:this._lightDirectionsContext,visible:this.visible}),({renderer:e,lightDirections:t,lightDirectionsContext:i,visible:s})=>{k(e,s,{lightDirections:t,lightDirectionsContext:i})},d),p(()=>({renderer:this._renderer,previewing:this._previewing,visible:this.visible}),({renderer:e,previewing:t,visible:i})=>{k(e,i,{previewing:t})},d),p(()=>({analysisVolume:this._analysisVolume,renderer:this._renderer,visible:this.visible}),({renderer:e,visible:t,analysisVolume:i})=>{k(e,t,{analysisVolume:i})},d)]),this.interactive=!0,this._tooltip=new O({getDuration:(e,t)=>this._getDurationAtScreen(e,t),getMode:()=>this.analysis.mode,getTotalDuration:()=>this._totalDuration,getTotalDurationMode:()=>this.analysis.totalDurationOptions.mode,getVisualizeSunlight:()=>this.analysis.visualizeSunlight,isVisible:()=>this.interactive&&this.visible,view:this.view})}destroy(){this.visible&&k(this._renderer,!0,{enabled:!1}),this._tooltip=o(this._tooltip),this._stopPreviewingTask=a(this._stopPreviewingTask),this._updatingHandles=o(this._updatingHandles)}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get updating(){return this._previewing||null!=this._stopPreviewingTask&&!this._stopPreviewingTask.finished||!0===this._tooltip?.updating||this._updatingHandles.updating}get visible(){return super.visible}set visible(e){super.visible=e}get _previewing(){return this._updatedRecently||this._sceneUpdating}get _sceneUpdating(){const{view:e}=this;if(null==e?.allLayerViews)return!0;const{stationary:t,graphicsView:i}=e;return!t||this._shadowLayerViews.some(e=>e.updating)||!i?.suspended&&!!i?.updating}get _effectiveUtcOffset(){return this.analysis.utcOffset??this._utcOffsetAuto}get _utcOffsetAuto(){const e=this._referencePosition;return null!=e?j(e[0],!1):0}get _dateUTCOffset(){let e=this.analysis.date;return e=g(e,-e.getTimezoneOffset(),"minutes"),e=g(e,-this._effectiveUtcOffset,"hours"),e}get _startDateTimeUTC(){return g(this._dateUTCOffset,this.analysis.startTimeOfDay)}get _endDateTimeUTC(){return g(this._dateUTCOffset,this.analysis.endTimeOfDay)}get _referencePosition(){return this.view?.environmentManager?.referencePositionGeographic}get _totalDurationInterval(){return this._totalDuration>0?Math.floor(this._totalDuration/(q-1)):q}get _interval(){const e=this._totalDurationInterval;switch(this.analysis.mode){case"min-duration":return this._totalDuration>0?e:0;case"total-duration":return e;case"discrete":return this.analysis.discreteOptions.interval||e}}get _intervalContext(){const{mode:e,minDurationOptions:t}=this.analysis;return"min-duration"===e&&t.contextEnabled?t.contextOptions.interval||this._totalDurationInterval:-1}get _totalDurationSampleCount(){return this._lightDirections.length}get _totalDuration(){const{startTimeOfDay:e,endTimeOfDay:t}=this.analysis;return t-e}get _lightDirections(){return this._calculateLightDirections(this._interval)}get _lightDirectionsContext(){return this._calculateLightDirections(this._intervalContext)}_calculateLightDirections(e){const{view:t}=this;if(e<=0)return[];const i="global"===t.viewingMode?F:this._referencePosition;if(null==i)return[];const s=z(this._startDateTimeUTC,this._endDateTimeUTC,e,i,t.state.viewingMode,q),r=s.length;N.length=0;const n=R(0,r,N),a=new Array(r);for(let o=0;o<r;++o)a[o]=s[n[o]];return a}get _analysisVolume(){const{geometry:e}=this.analysis;if(null==e)return this._previousVolume=null,null;try{const t=T(e,this.view,J);return null==t?(this._previousVolume=null,null):c(t)?(this._updatingHandles.consumePromise(t),this._previousVolume):(this._previousVolume=t,t)}catch(t){return n.getLogger(this).error(new r("shadowcastanalysisview3d:projection-failed","Failed to project analysis area geometry to view spatial reference",{geometry:e,error:t})),null}}get _visualizationParameters(){if(!this.visible)return null;switch(this.analysis.mode){case"min-duration":return this._minDurationVisualizationParameters;case"total-duration":return this._durationVisualizationParameters;case"discrete":return this._discreteVisualizationParameters}}get _minDurationVisualizationParameters(){const{color:e,minDuration:t}=this.analysis.minDurationOptions,i=this._totalDuration;return{rendersSunlight:this.analysis.visualizeSunlight,visualization:2,thresholdColor:e.toUnitRGBA(),threshold:i>0?t/this._totalDuration:0,...this._minDurationContextVisualizationParameters}}get _minDurationContextVisualizationParameters(){const{minDurationOptions:e}=this.analysis;if(!e.contextEnabled)return{};const{color:t,colorStops:i}=e.contextOptions,s=1/this._lightDirectionsContext.length;return{visualization:3,gradientColorRamp:this._getEffectiveShadowCastColorRamp(t,i,s)}}get _durationVisualizationParameters(){const{color:e,colorStops:t,mode:i}=this.analysis.totalDurationOptions,s=this._totalDuration,r=s>0&&"hourly"===i?I/s:0,n=this._getEffectiveShadowCastColorRamp(e,t,1/s);return 0===r?{...this._discreteVisualizationParameters,gradientColorRamp:n}:{rendersSunlight:this.analysis.visualizeSunlight,bandedGradientColorRamp:n,visualization:1,bandSize:r}}get _discreteVisualizationParameters(){const{color:e,colorStops:t}=this.analysis.discreteOptions,i=1/this._lightDirections.length;return{rendersSunlight:this.analysis.visualizeSunlight,gradientColorRamp:this._getEffectiveShadowCastColorRamp(e,t,i),visualization:0}}get _shadowLayerViews(){return this.view.allLayerViews.items.filter(M)}get _previewDependencies(){const{view:e}=this,i=e.slice.plane,s=this._shadowLayerViews,r=s.map(e=>e.layer).filter(t),n=s.map(e=>e.suspended),a=r.map(e=>e.visible),o=r.map(e=>e.opacity),l=!!e.graphicsView?.suspended,u=r.filter(e=>"definitionExpression"in e).map(e=>e.definitionExpression),c=s.filter(e=>"filter"in e).map(e=>e.filter);return{slicePlane:i,startDateUTC:this._startDateTimeUTC,endDateUTC:this._endDateTimeUTC,layerViewSuspended:n,graphicsViewSuspended:l,layerVisibilities:a,layerOpacities:o,filters:c,definitionExpressions:u}}get _renderer(){return this.view?.stage?.renderer}get testData(){}async getDurationAtScreen(e){return this._getDurationAtScreen(e)}async _getDurationAtScreen(e,t){if(!await this._isScreenPointInAnalysisArea(e,t))return-1;const{_renderer:i,_totalDurationSampleCount:s}=this;if(null==i||0===s)return 0;const r=this.view.state.camera.screenToRender(h(e.x,e.y),m()),n=i.readAccumulatedShadow(r);return(this.analysis.visualizeSunlight?1-n:n)*this._totalDuration}async _isScreenPointInAnalysisArea(e,t){const{geometry:i}=this.analysis;if(!i)return!0;const s=await this.view.hitTest(e);u(t);const r=s.results.find(e=>e.mapPoint)?.mapPoint??s?.ground?.mapPoint;if(!r)return!1;const n=await C(r,i.spatialReference,{signal:t});return u(t),null!=n&&b(i,n)}_getEffectiveShadowCastColorRamp(e,t,i){if(null!=t){t.length>A&&n.getLogger(this).warnOnce("ShadowCastAnalysis supports at most 8 color stops");const e=t.map(e=>[e.value*i,e.color.toUnitRGBA()]);return e.sort(([e],[t])=>e-t),e}return H(e)}};e([y({readOnly:!0,type:["shadow-cast-view-3d"]})],L.prototype,"type",void 0),e([y({constructOnly:!0,nonNullable:!0})],L.prototype,"analysis",void 0),e([y({readOnly:!0})],L.prototype,"updating",null),e([y()],L.prototype,"_stopPreviewingTask",void 0),e([y()],L.prototype,"_updatedRecently",void 0),e([y()],L.prototype,"_tooltip",void 0),e([y()],L.prototype,"_sceneUpdating",null),e([y()],L.prototype,"_effectiveUtcOffset",null),e([y()],L.prototype,"_utcOffsetAuto",null),e([y()],L.prototype,"_dateUTCOffset",null),e([y()],L.prototype,"_startDateTimeUTC",null),e([y()],L.prototype,"_endDateTimeUTC",null),e([y()],L.prototype,"_referencePosition",null),e([y()],L.prototype,"_interval",null),e([y()],L.prototype,"_intervalContext",null),e([y()],L.prototype,"_totalDurationSampleCount",null),e([y()],L.prototype,"_totalDuration",null),e([y()],L.prototype,"_lightDirections",null),e([y()],L.prototype,"_lightDirectionsContext",null),e([y()],L.prototype,"_analysisVolume",null),e([y()],L.prototype,"_visualizationParameters",null),e([y()],L.prototype,"_minDurationVisualizationParameters",null),e([y()],L.prototype,"_minDurationContextVisualizationParameters",null),e([y()],L.prototype,"_durationVisualizationParameters",null),e([y()],L.prototype,"_discreteVisualizationParameters",null),e([y()],L.prototype,"_shadowLayerViews",null),e([y()],L.prototype,"_previewDependencies",null),e([y()],L.prototype,"_renderer",null),L=e([f("esri.views.3d.analysis.ShadowCastAnalysisView3D")],L);const E=L;function k(e,t,i){t&&null!=i&&e?.setParameters({shadowCast:i})}function H(e){const t=e.toUnitRGBA();return[[0,w(t[0],t[1],t[2],0)],[1,t]]}function M(e){if(e.suspended)return!1;switch(e.type){case"building-scene-3d":case"csv-3d":case"elevation-3d":case"feature-3d":case"geojson-3d":case"integrated-mesh-3d":case"integrated-mesh-3dtiles":case"ogc-feature-3d":case"route-3d":case"scene-layer-3d":case"scene-layer-graphics-3d":case"stream-3d":case"wms-3d":case"catalog-footprint-3d":return!0;case"base-dynamic-3d":case"catalog-3d":case"catalog-dynamic-group-3d":case"dimension-3d":case"gaussian-splat-3d":case"imagery-3d":case"imagery-tile-3d":case"line-of-sight-3d":case"map-image-3d":case"point-cloud-3d":case"tile-3d":case"vector-tile-3d":case"viewshed-3d":case"voxel-3d":case"wfs-3d":case"wmts-3d":case"media-3d":case"group":default:return!1;case"graphics-3d":return e.layer.graphics.some(e=>{const{symbol:t}=e;return null==t||"text"!==t.type&&!("symbolLayers"in t)||"text"!==t.type&&t.symbolLayers.some(e=>"text"!==e.type)})}}function G(e,t){if(e===t)return!0;if(null==e&&null==t)return!0;if(null==e||null==t)return!1;const s=V(e.slicePlane,t.slicePlane),r=e.startDateUTC.valueOf()===t.startDateUTC.valueOf()&&e.endDateUTC.valueOf()===t.endDateUTC.valueOf(),n=i(e.layerViewSuspended,t.layerViewSuspended)&&e.graphicsViewSuspended===t.graphicsViewSuspended,a=i(e.layerVisibilities,t.layerVisibilities),o=i(e.layerOpacities,t.layerOpacities),l=i(e.filters,t.filters),u=i(e.definitionExpressions,t.definitionExpressions);return s&&r&&n&&a&&o&&l&&u}const I=_(1,"hours","milliseconds"),B=500,q=255,F=v(),N=[],J=new x;export{E as default};
2
+ import{__decorate as e}from"tslib";import{isSome as t,equals as i}from"../../../core/arrayUtils.js";import{createTask as s}from"../../../core/asyncUtils.js";import r from"../../../core/Error.js";import"../../../core/has.js";import n from"../../../core/Logger.js";import{abortMaybe as a,destroyMaybe as o}from"../../../core/maybe.js";import{after as l,throwIfAborted as u,isPromiseLike as c}from"../../../core/promiseUtils.js";import{watch as p,syncAndInitial as d}from"../../../core/reactiveUtils.js";import{createScreenPointArray as h,createRenderScreenPointArray as m}from"../../../core/screenUtils.js";import{offsetDateUTC as g,convertTime as _}from"../../../core/timeUtils.js";import{property as y,subclass as f}from"../../../core/accessorSupport/decorators.js";import{create as v}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as w}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{UpdatingHandles as D}from"../../../core/support/UpdatingHandles.js";import{projectAsync as C}from"../../../geometry/projectionUtils.js";import{e as b}from"../../../chunks/containsOperator.js";import{n as V}from"../../../chunks/boundedPlane.js";import{polygonToVolume as T}from"../focusAreaUtils.js";import U from"./AnalysisView3D.js";import{registerAnalysisView as P,hideOtherAnalysisViews as S}from"./ShadowCast/analysisViewRegister.js";import{ShadowCastTooltip as O}from"./ShadowCast/ShadowCastTooltip.js";import{ElevationContext as x}from"../layers/graphics/ElevationContext.js";import{longitudeToTimezone as j}from"../support/earthUtils.js";import{computeDirectionsOverTime as z}from"../support/sunUtils.js";import{maxColorRampSize as A}from"../webgl-engine/shaders/colorRampParameters.js";import{breadthFirstBinaryPartitioning as R}from"../../../widgets/support/traversalUtils.js";let L=class extends U{constructor(e){super(e),this.type="shadow-cast-view-3d",this.analysis=null,this._updatingHandles=new D,this._stopPreviewingTask=null,this._updatedRecently=!1,this._tooltip=null,this._previousVolume=null}initialize(){this.addHandles([P(this.view,this),p(()=>({dependencies:this._previewDependencies,sceneUpdating:this._sceneUpdating}),()=>{a(this._stopPreviewingTask),this._updatedRecently=!0,this._stopPreviewingTask=s(async e=>{await l(B,e),u(e),this._updatedRecently=!1})},{sync:!0,initial:!0,equals:(e,t)=>G(e.dependencies,t.dependencies)&&(e.sceneUpdating===t.sceneUpdating||!e.sceneUpdating)}),p(()=>({renderer:this._renderer,visible:this.visible}),({renderer:e,visible:t})=>{t&&S(this.view,this),e?.setParameters({shadowCast:{enabled:t}})},d),p(()=>({renderer:this._renderer,parameters:this._visualizationParameters,visible:this.visible}),({renderer:e,parameters:t,visible:i})=>{k(e,i,t)},d),p(()=>({renderer:this._renderer,lightDirections:this._lightDirections,lightDirectionsContext:this._lightDirectionsContext,visible:this.visible}),({renderer:e,lightDirections:t,lightDirectionsContext:i,visible:s})=>{k(e,s,{lightDirections:t,lightDirectionsContext:i})},d),p(()=>({renderer:this._renderer,previewing:this._previewing,visible:this.visible}),({renderer:e,previewing:t,visible:i})=>{k(e,i,{previewing:t})},d),p(()=>({analysisVolume:this._analysisVolume,renderer:this._renderer,visible:this.visible}),({renderer:e,visible:t,analysisVolume:i})=>{k(e,t,{analysisVolume:i})},d)]),this.interactive=!0,this._tooltip=new O({getDuration:(e,t)=>this._getDurationAtScreen(e,t),getMode:()=>this.analysis.mode,getTotalDuration:()=>this._totalDuration,getTotalDurationMode:()=>this.analysis.totalDurationOptions.mode,getVisualizeSunlight:()=>this.analysis.visualizeSunlight,isVisible:()=>this.interactive&&this.visible,view:this.view})}destroy(){this.visible&&k(this._renderer,!0,{enabled:!1}),this._tooltip=o(this._tooltip),this._stopPreviewingTask=a(this._stopPreviewingTask),this._updatingHandles=o(this._updatingHandles)}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get updating(){return this._previewing||null!=this._stopPreviewingTask&&!this._stopPreviewingTask.finished||!0===this._tooltip?.updating||this._updatingHandles.updating}get visible(){return super.visible}set visible(e){super.visible=e}get _previewing(){return this._updatedRecently||this._sceneUpdating}get _sceneUpdating(){const{view:e}=this;if(null==e?.allLayerViews)return!0;const{stationary:t,graphicsView:i}=e;return!t||this._shadowLayerViews.some(e=>e.updating)||!i?.suspended&&!!i?.updating}get _effectiveUtcOffset(){return this.analysis.utcOffset??this._utcOffsetAuto}get _utcOffsetAuto(){const e=this._referencePosition;return null!=e?j(e[0],!1):0}get _dateUTCOffset(){let e=this.analysis.date;return e=g(e,-e.getTimezoneOffset(),"minutes"),e=g(e,-this._effectiveUtcOffset,"hours"),e}get _startDateTimeUTC(){return g(this._dateUTCOffset,this.analysis.startTimeOfDay)}get _endDateTimeUTC(){return g(this._dateUTCOffset,this.analysis.endTimeOfDay)}get _referencePosition(){return this.view?.environmentManager?.referencePositionGeographic}get _totalDurationInterval(){return this._totalDuration>0?Math.floor(this._totalDuration/(q-1)):q}get _interval(){const e=this._totalDurationInterval;switch(this.analysis.mode){case"min-duration":return this._totalDuration>0?e:0;case"total-duration":return e;case"discrete":return this.analysis.discreteOptions.interval||e}}get _intervalContext(){const{mode:e,minDurationOptions:t}=this.analysis;return"min-duration"===e&&t.contextEnabled?t.contextOptions.interval||this._totalDurationInterval:-1}get _totalDurationSampleCount(){return this._lightDirections.length}get _totalDuration(){const{startTimeOfDay:e,endTimeOfDay:t}=this.analysis;return t-e}get _lightDirections(){return this._calculateLightDirections(this._interval)}get _lightDirectionsContext(){return this._calculateLightDirections(this._intervalContext)}_calculateLightDirections(e){const{view:t}=this;if(e<=0)return[];const i="global"===t.viewingMode?F:this._referencePosition;if(null==i)return[];const s=z(this._startDateTimeUTC,this._endDateTimeUTC,e,i,t.state.viewingMode,q),r=s.length;N.length=0;const n=R(0,r,N),a=new Array(r);for(let o=0;o<r;++o)a[o]=s[n[o]];return a}get _analysisVolume(){const{geometry:e}=this.analysis;if(null==e)return this._previousVolume=null,null;try{const t=T(e,this.view,J);return null==t?(this._previousVolume=null,null):c(t)?(this._updatingHandles.consumePromise(t),this._previousVolume):(this._previousVolume=t,t)}catch(t){return n.getLogger(this).error(new r("shadowcastanalysisview3d:projection-failed","Failed to project analysis area geometry to view spatial reference",{geometry:e,error:t})),null}}get _visualizationParameters(){if(!this.visible)return null;switch(this.analysis.mode){case"min-duration":return this._minDurationVisualizationParameters;case"total-duration":return this._durationVisualizationParameters;case"discrete":return this._discreteVisualizationParameters}}get _minDurationVisualizationParameters(){const{color:e,minDuration:t}=this.analysis.minDurationOptions,i=this._totalDuration;return{rendersSunlight:this.analysis.visualizeSunlight,visualization:2,thresholdColor:e.toUnitRGBA(),threshold:i>0?t/this._totalDuration:0,...this._minDurationContextVisualizationParameters}}get _minDurationContextVisualizationParameters(){const{minDurationOptions:e,visualizeSunlight:t}=this.analysis;if(!e.contextEnabled||t)return{};const{color:i,colorStops:s}=e.contextOptions,r=1/this._lightDirectionsContext.length;return{visualization:3,gradientColorRamp:this._getEffectiveShadowCastColorRamp(i,s,r)}}get _durationVisualizationParameters(){const{color:e,colorStops:t,mode:i}=this.analysis.totalDurationOptions,s=this._totalDuration,r=s>0&&"hourly"===i?I/s:0,n=this._getEffectiveShadowCastColorRamp(e,t,1/s);return 0===r?{...this._discreteVisualizationParameters,gradientColorRamp:n}:{rendersSunlight:this.analysis.visualizeSunlight,bandedGradientColorRamp:n,visualization:1,bandSize:r}}get _discreteVisualizationParameters(){const{color:e,colorStops:t}=this.analysis.discreteOptions,i=1/this._lightDirections.length;return{rendersSunlight:this.analysis.visualizeSunlight,gradientColorRamp:this._getEffectiveShadowCastColorRamp(e,t,i),visualization:0}}get _shadowLayerViews(){return this.view.allLayerViews.items.filter(M)}get _previewDependencies(){const{view:e}=this,i=e.slice.plane,s=this._shadowLayerViews,r=s.map(e=>e.layer).filter(t),n=s.map(e=>e.suspended),a=r.map(e=>e.visible),o=r.map(e=>e.opacity),l=!!e.graphicsView?.suspended,u=r.filter(e=>"definitionExpression"in e).map(e=>e.definitionExpression),c=s.filter(e=>"filter"in e).map(e=>e.filter);return{slicePlane:i,startDateUTC:this._startDateTimeUTC,endDateUTC:this._endDateTimeUTC,layerViewSuspended:n,graphicsViewSuspended:l,layerVisibilities:a,layerOpacities:o,filters:c,definitionExpressions:u}}get _renderer(){return this.view?.stage?.renderer}get testData(){}async getDurationAtScreen(e){return this._getDurationAtScreen(e)}async _getDurationAtScreen(e,t){if(!await this._isScreenPointInAnalysisArea(e,t))return-1;const{_renderer:i,_totalDurationSampleCount:s}=this;if(null==i||0===s)return 0;const r=this.view.state.camera.screenToRender(h(e.x,e.y),m()),n=i.readAccumulatedShadow(r);return(this.analysis.visualizeSunlight?1-n:n)*this._totalDuration}async _isScreenPointInAnalysisArea(e,t){const{geometry:i}=this.analysis;if(!i)return!0;const s=await this.view.hitTest(e);u(t);const r=s.results.find(e=>e.mapPoint)?.mapPoint??s?.ground?.mapPoint;if(!r)return!1;const n=await C(r,i.spatialReference,{signal:t});return u(t),null!=n&&b(i,n)}_getEffectiveShadowCastColorRamp(e,t,i){if(null!=t){t.length>A&&n.getLogger(this).warnOnce("ShadowCastAnalysis supports at most 8 color stops");const e=t.map(e=>[e.value*i,e.color.toUnitRGBA()]);return e.sort(([e],[t])=>e-t),e}return H(e)}};e([y({readOnly:!0,type:["shadow-cast-view-3d"]})],L.prototype,"type",void 0),e([y({constructOnly:!0,nonNullable:!0})],L.prototype,"analysis",void 0),e([y({readOnly:!0})],L.prototype,"updating",null),e([y()],L.prototype,"_stopPreviewingTask",void 0),e([y()],L.prototype,"_updatedRecently",void 0),e([y()],L.prototype,"_tooltip",void 0),e([y()],L.prototype,"_sceneUpdating",null),e([y()],L.prototype,"_effectiveUtcOffset",null),e([y()],L.prototype,"_utcOffsetAuto",null),e([y()],L.prototype,"_dateUTCOffset",null),e([y()],L.prototype,"_startDateTimeUTC",null),e([y()],L.prototype,"_endDateTimeUTC",null),e([y()],L.prototype,"_referencePosition",null),e([y()],L.prototype,"_interval",null),e([y()],L.prototype,"_intervalContext",null),e([y()],L.prototype,"_totalDurationSampleCount",null),e([y()],L.prototype,"_totalDuration",null),e([y()],L.prototype,"_lightDirections",null),e([y()],L.prototype,"_lightDirectionsContext",null),e([y()],L.prototype,"_analysisVolume",null),e([y()],L.prototype,"_visualizationParameters",null),e([y()],L.prototype,"_minDurationVisualizationParameters",null),e([y()],L.prototype,"_minDurationContextVisualizationParameters",null),e([y()],L.prototype,"_durationVisualizationParameters",null),e([y()],L.prototype,"_discreteVisualizationParameters",null),e([y()],L.prototype,"_shadowLayerViews",null),e([y()],L.prototype,"_previewDependencies",null),e([y()],L.prototype,"_renderer",null),L=e([f("esri.views.3d.analysis.ShadowCastAnalysisView3D")],L);const E=L;function k(e,t,i){t&&null!=i&&e?.setParameters({shadowCast:i})}function H(e){const t=e.toUnitRGBA();return[[0,w(t[0],t[1],t[2],0)],[1,t]]}function M(e){if(e.suspended)return!1;switch(e.type){case"building-scene-3d":case"csv-3d":case"elevation-3d":case"feature-3d":case"geojson-3d":case"integrated-mesh-3d":case"integrated-mesh-3dtiles":case"ogc-feature-3d":case"route-3d":case"scene-layer-3d":case"scene-layer-graphics-3d":case"stream-3d":case"wms-3d":case"catalog-footprint-3d":return!0;case"base-dynamic-3d":case"catalog-3d":case"catalog-dynamic-group-3d":case"dimension-3d":case"gaussian-splat-3d":case"imagery-3d":case"imagery-tile-3d":case"line-of-sight-3d":case"map-image-3d":case"point-cloud-3d":case"tile-3d":case"vector-tile-3d":case"viewshed-3d":case"voxel-3d":case"wfs-3d":case"wmts-3d":case"media-3d":case"group":default:return!1;case"graphics-3d":return e.layer.graphics.some(e=>{const{symbol:t}=e;return null==t||"text"!==t.type&&!("symbolLayers"in t)||"text"!==t.type&&t.symbolLayers.some(e=>"text"!==e.type)})}}function G(e,t){if(e===t)return!0;if(null==e&&null==t)return!0;if(null==e||null==t)return!1;const s=V(e.slicePlane,t.slicePlane),r=e.startDateUTC.valueOf()===t.startDateUTC.valueOf()&&e.endDateUTC.valueOf()===t.endDateUTC.valueOf(),n=i(e.layerViewSuspended,t.layerViewSuspended)&&e.graphicsViewSuspended===t.graphicsViewSuspended,a=i(e.layerVisibilities,t.layerVisibilities),o=i(e.layerOpacities,t.layerOpacities),l=i(e.filters,t.filters),u=i(e.definitionExpressions,t.definitionExpressions);return s&&r&&n&&a&&o&&l&&u}const I=_(1,"hours","milliseconds"),B=500,q=255,F=v(),N=[],J=new x;export{E as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../core/Error.js";const r=()=>import("./layers/TileLayerView3D.js"),a=()=>import("./layers/ElevationLayerView3D.js"),i={"base-dynamic":()=>import("./layers/BaseDynamicLayerView3D.js"),"base-elevation":a,"base-tile":r,"bing-maps":r,"building-scene":()=>import("./layers/BuildingSceneLayerView3D.js"),catalog:()=>import("./layers/CatalogLayerView3D.js"),"catalog-dynamic-group":()=>import("./layers/CatalogDynamicGroupLayerView3D.js"),"catalog-footprint":()=>import("./layers/CatalogFootprintLayerView3D.js"),csv:()=>import("./layers/CSVLayerView3D.js"),dimension:()=>import("./layers/DimensionLayerView3D.js"),elevation:a,feature:()=>import("./layers/FeatureLayerView3D.js"),"gaussian-splat":()=>import("./layers/GaussianSplatLayerView3D.js"),geojson:()=>import("./layers/GeoJSONLayerView3D.js"),graphics:()=>import("./layers/GraphicsLayerView3D.js"),group:()=>import("./layers/GroupLayerView3D.js"),imagery:()=>import("./layers/ImageryLayerView3D.js"),"integrated-mesh":()=>import("./layers/IntegratedMeshLayerView3D.js"),"integrated-mesh-3dtiles":()=>import("./layers/IntegratedMesh3DTilesLayerView3D.js"),"line-of-sight":()=>import("./layers/LineOfSightLayerView3D.js"),"map-image":()=>import("./layers/MapImageLayerView3D.js"),media:()=>import("./layers/MediaLayerView3D.js"),"ogc-feature":()=>import("./layers/OGCFeatureLayerView3D.js"),"open-street-map":r,"oriented-imagery":()=>import("./layers/FeatureLayerView3D.js"),"point-cloud":()=>import("./layers/PointCloudLayerView3D.js"),viewshed:()=>import("./layers/ViewshedLayerView3D.js"),voxel:()=>import("./layers/VoxelLayerView3D.js"),route:()=>import("./layers/RouteLayerView3D.js"),scene:e=>null==e.profile||"mesh-pyramids"===e.profile?import("./layers/SceneLayerView3D.js"):import("./layers/SceneLayerGraphicsView3D.js"),stream:()=>import("./layers/StreamLayerView3D.js"),tile:r,"imagery-tile":()=>import("./layers/ImageryTileLayerView3D.js"),"vector-tile":()=>import("./layers/VectorTileLayerView3D.js"),wcs:()=>import("./layers/ImageryTileLayerView3D.js"),"web-tile":r,wfs:()=>import("./layers/WFSLayerView3D.js"),wms:()=>import("./layers/WMSLayerView3D.js"),wmts:()=>import("./layers/WMTSLayerView3D.js"),"geo-rss":null,kml:null,"knowledge-graph-sublayer":null,"knowledge-graph":null,"link-chart":null,"map-notes":null,parquet:null,"subtype-group":null,unknown:null,unsupported:null,video:null,"dimension-feature":null};function s(r){const a=r.declaredClass?r.declaredClass.slice(r.declaredClass.lastIndexOf(".")+1):"Unknown",i=a.replaceAll(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();return new e(`${i}:view-not-supported`,`${a} is not supported in 3D`)}const t=new Map,l={hasLayerViewModule:e=>null!=i[e.type],importLayerView:e=>{const r=o(e),a=t.get(r);if(a)return a;const l=i[e.type];if(null==l)throw s(e);const y=l(e);return t.set(r,y),y}};function o(e){return"scene"===e.type?`${e.type}-${e.profile}`:e.type}export{l as layerView3DImporter};
2
+ import e from"../../core/Error.js";const r=()=>import("./layers/TileLayerView3D.js"),a=()=>import("./layers/ElevationLayerView3D.js"),i={"base-dynamic":()=>import("./layers/BaseDynamicLayerView3D.js"),"base-elevation":a,"base-tile":r,"bing-maps":r,"building-scene":()=>import("./layers/BuildingSceneLayerView3D.js"),catalog:()=>import("./layers/CatalogLayerView3D.js"),"catalog-dynamic-group":()=>import("./layers/CatalogDynamicGroupLayerView3D.js"),"catalog-footprint":()=>import("./layers/CatalogFootprintLayerView3D.js"),csv:()=>import("./layers/CSVLayerView3D.js"),dimension:()=>import("./layers/DimensionLayerView3D.js"),elevation:a,feature:()=>import("./layers/FeatureLayerView3D.js"),"gaussian-splat":()=>import("./layers/GaussianSplatLayerView3D.js"),geojson:()=>import("./layers/GeoJSONLayerView3D.js"),graphics:()=>import("./layers/GraphicsLayerView3D.js"),group:()=>import("./layers/GroupLayerView3D.js"),imagery:()=>import("./layers/ImageryLayerView3D.js"),"integrated-mesh":()=>import("./layers/IntegratedMeshLayerView3D.js"),"integrated-mesh-3dtiles":()=>import("./layers/IntegratedMesh3DTilesLayerView3D.js"),"line-of-sight":()=>import("./layers/LineOfSightLayerView3D.js"),"map-image":()=>import("./layers/MapImageLayerView3D.js"),media:()=>import("./layers/MediaLayerView3D.js"),"ogc-feature":()=>import("./layers/OGCFeatureLayerView3D.js"),"open-street-map":r,"oriented-imagery":()=>import("./layers/FeatureLayerView3D.js"),"point-cloud":()=>import("./layers/PointCloudLayerView3D.js"),viewshed:()=>import("./layers/ViewshedLayerView3D.js"),voxel:()=>import("./layers/VoxelLayerView3D.js"),route:()=>import("./layers/RouteLayerView3D.js"),scene:e=>null==e.profile||"mesh-pyramids"===e.profile?import("./layers/SceneLayerView3D.js"):import("./layers/SceneLayerGraphicsView3D.js"),stream:()=>import("./layers/StreamLayerView3D.js"),tile:r,"imagery-tile":()=>import("./layers/ImageryTileLayerView3D.js"),"vector-tile":()=>import("./layers/VectorTileLayerView3D.js"),wcs:()=>import("./layers/ImageryTileLayerView3D.js"),"web-tile":r,wfs:()=>import("./layers/WFSLayerView3D.js"),wms:()=>import("./layers/WMSLayerView3D.js"),wmts:()=>import("./layers/WMTSLayerView3D.js"),annotation:null,"geo-rss":null,kml:null,"knowledge-graph-sublayer":null,"knowledge-graph":null,"link-chart":null,"map-notes":null,parquet:null,"subtype-group":null,unknown:null,unsupported:null,video:null,"dimension-feature":null};function s(r){const a=r.declaredClass?r.declaredClass.slice(r.declaredClass.lastIndexOf(".")+1):"Unknown",i=a.replaceAll(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();return new e(`${i}:view-not-supported`,`${a} is not supported in 3D`)}const t=new Map,l={hasLayerViewModule:e=>null!=i[e.type],importLayerView:e=>{const r=o(e),a=t.get(r);if(a)return a;const l=i[e.type];if(null==l)throw s(e);const y=l(e);return t.set(r,y),y}};function o(e){return"scene"===e.type?`${e.type}-${e.profile}`:e.type}export{l as layerView3DImporter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{destroyHandle as t}from"../../../core/handleUtils.js";import{subclass as i}from"../../../core/accessorSupport/decorators.js";import r from"./DrapedSubView3D.js";import{DynamicLayerView3D as s}from"./DynamicLayerView3D.js";import{SublayerPopupHighlightHelper3D as p}from"./support/SublayerPopupHighlightHelper3D.js";import a from"../../layers/MapImageLayerView.js";let h=class extends(a(s)){constructor(){super(...arguments),this.type="map-image-3d"}initialize(){this._updatingHandles.add(()=>this.exportImageVersion,()=>this._updatingHandles.addPromise(this.refreshDebounced())),this._popupHighlightHelper=new p({view:this.view,layerView:this,updatingHandles:this._updatingHandles}),this.addHandles(t(this._popupHighlightHelper))}fetchPopupFeaturesAtTarget(e,t){return this._popupHighlightHelper.fetchPopupFeaturesAtTarget(e,t)}highlight(e,t){return this._popupHighlightHelper.highlight(e,t)}getFetchOptions(){return{timeExtent:this.timeExtent,scale:this.view.scale}}_initSubView(){this.subView=new r({layerView:this})}};h=e([i("esri.views.3d.layers.MapImageLayerView3D")],h);const o=h;export{o as default};
2
+ import{__decorate as e}from"tslib";import{destroyHandle as t}from"../../../core/handleUtils.js";import{subclass as i}from"../../../core/accessorSupport/decorators.js";import r from"./DrapedSubView3D.js";import{DynamicLayerView3D as s}from"./DynamicLayerView3D.js";import{SublayerPopupHighlightHelper3D as p}from"./support/SublayerPopupHighlightHelper3D.js";import a from"../../layers/MapImageLayerView.js";let h=class extends(a(s)){constructor(){super(...arguments),this.type="map-image-3d"}initialize(){this._updatingHandles.add(()=>this.exportImageVersion,()=>this._updatingHandles.addPromise(this.refreshDebounced())),this._popupHighlightHelper=new p({view:this.view,layerView:this,updatingHandles:this._updatingHandles}),this.addHandles(t(this._popupHighlightHelper))}fetchPopupFeaturesAtTarget(e,t,i){return this._popupHighlightHelper.fetchPopupFeaturesAtTarget(t,i)}highlight(e,t){return this._popupHighlightHelper.highlight(e,t)}getFetchOptions(){return{timeExtent:this.timeExtent,scale:this.view.scale}}_initSubView(){this.subView=new r({layerView:this})}};h=e([i("esri.views.3d.layers.MapImageLayerView3D")],h);const o=h;export{o as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import{destroyHandle as i,makeHandle as r}from"../../../core/handleUtils.js";import{throwIfAborted as s}from"../../../core/promiseUtils.js";import{property as l,subclass as o}from"../../../core/accessorSupport/decorators.js";import{canProjectWithoutEngine as a}from"../../../geometry/projectionUtils.js";import{LayerView3D as p}from"./LayerView3D.js";import{TiledLayerView3D as n}from"./TiledLayerView3D.js";import{SublayerPopupHighlightHelper3D as h}from"./support/SublayerPopupHighlightHelper3D.js";import m from"../../layers/LayerView.js";import{RefreshableLayerView as f}from"../../layers/RefreshableLayerView.js";import{isMapServiceLayerView as u}from"../../layers/support/MapServiceLayerViewHelper.js";let y=class extends(f(n(p(m)))){constructor(){super(...arguments),this.type="tile-3d"}get imageFormatIsOpaque(){return"jpg"===this.layer.tileInfo.format}get hasMixedImageFormats(){return"mixed"===this.layer.tileInfo.format}get tileInfo(){return this.layer.tileInfo}initialize(){if("web-tile"===this.layer.type){const e=this.layer.fullExtent?.spatialReference,i=this.layer.tileInfo?.spatialReference;if(null==e||null==i||!a(e,i)){const e="defaults"===this.layer.originOf("fullExtent")||null==this.layer.fullExtent?"SceneView requires fullExtent to be specified by the user on WebTileLayer":"SceneView requires fullExtent to be specified in the same spatial reference as tileInfo on WebTileLayer";this.addResolvingPromise(Promise.reject(new t("layerview:incompatible-fullextent",e)))}}if(u(this,this.layer)){const e=new h({view:this.view,layerView:this,updatingHandles:this._updatingHandles});this._popupHighlightHelper=e,this.addHandles(i(e))}this._addTilingSchemeMatchPromise()}async fetchTile([e,t,i],r){const l=await this.layer.fetchImageBitmapTile(e,t,i,{...r,allowDeriveTypeFromData:!0,imageOrientation:"flipY"});return s(r),l}async fetchPopupFeaturesAtTarget(e,t){return this._popupHighlightHelper?.fetchPopupFeaturesAtTarget(e,t)??[]}highlight(e,t){return this._popupHighlightHelper?.highlight(e,t)??r()}async doRefresh(){this.suspended||this.emit("data-changed")}};e([l()],y.prototype,"imageFormatIsOpaque",null),e([l()],y.prototype,"hasMixedImageFormats",null),e([l()],y.prototype,"layer",void 0),e([l()],y.prototype,"tileInfo",null),y=e([o("esri.views.3d.layers.TileLayerView3D")],y);const c=y;export{c as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import{destroyHandle as i,makeHandle as r}from"../../../core/handleUtils.js";import{throwIfAborted as s}from"../../../core/promiseUtils.js";import{property as l,subclass as o}from"../../../core/accessorSupport/decorators.js";import{canProjectWithoutEngine as a}from"../../../geometry/projectionUtils.js";import{LayerView3D as p}from"./LayerView3D.js";import{TiledLayerView3D as n}from"./TiledLayerView3D.js";import{SublayerPopupHighlightHelper3D as h}from"./support/SublayerPopupHighlightHelper3D.js";import m from"../../layers/LayerView.js";import{RefreshableLayerView as f}from"../../layers/RefreshableLayerView.js";import{isMapServiceLayerView as u}from"../../layers/support/MapServiceLayerViewHelper.js";let y=class extends(f(n(p(m)))){constructor(){super(...arguments),this.type="tile-3d"}get imageFormatIsOpaque(){return"jpg"===this.layer.tileInfo.format}get hasMixedImageFormats(){return"mixed"===this.layer.tileInfo.format}get tileInfo(){return this.layer.tileInfo}initialize(){if("web-tile"===this.layer.type){const e=this.layer.fullExtent?.spatialReference,i=this.layer.tileInfo?.spatialReference;if(null==e||null==i||!a(e,i)){const e="defaults"===this.layer.originOf("fullExtent")||null==this.layer.fullExtent?"SceneView requires fullExtent to be specified by the user on WebTileLayer":"SceneView requires fullExtent to be specified in the same spatial reference as tileInfo on WebTileLayer";this.addResolvingPromise(Promise.reject(new t("layerview:incompatible-fullextent",e)))}}if(u(this,this.layer)){const e=new h({view:this.view,layerView:this,updatingHandles:this._updatingHandles});this._popupHighlightHelper=e,this.addHandles(i(e))}this._addTilingSchemeMatchPromise()}async fetchTile([e,t,i],r){const l=await this.layer.fetchImageBitmapTile(e,t,i,{...r,allowDeriveTypeFromData:!0,imageOrientation:"flipY"});return s(r),l}async fetchPopupFeaturesAtTarget(e,t,i){return this._popupHighlightHelper?.fetchPopupFeaturesAtTarget(t,i)??[]}highlight(e,t){return this._popupHighlightHelper?.highlight(e,t)??r()}async doRefresh(){this.suspended||this.emit("data-changed")}};e([l()],y.prototype,"imageFormatIsOpaque",null),e([l()],y.prototype,"hasMixedImageFormats",null),e([l()],y.prototype,"layer",void 0),e([l()],y.prototype,"tileInfo",null),y=e([o("esri.views.3d.layers.TileLayerView3D")],y);const c=y;export{c as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- function e(e){switch(e.type){case"building-scene":case"catalog":case"catalog-dynamic-group":case"catalog-footprint":case"csv":case"dimension":case"dimension-feature":case"feature":case"gaussian-splat":case"geo-rss":case"geojson":case"graphics":case"group":case"integrated-mesh":case"integrated-mesh-3dtiles":case"kml":case"knowledge-graph":case"link-chart":case"knowledge-graph-sublayer":case"line-of-sight":case"map-notes":case"ogc-feature":case"oriented-imagery":case"point-cloud":case"route":case"scene":case"stream":case"viewshed":case"voxel":case"subtype-group":case"unknown":case"unsupported":case"wfs":case"parquet":case null:case"imagery":case"imagery-tile":return!1;case"base-dynamic":case"base-elevation":case"base-tile":case"bing-maps":case"elevation":case"map-image":case"media":case"open-street-map":case"tile":case"vector-tile":case"video":case"wcs":case"web-tile":case"wms":case"wmts":return!0;default:return e.type,!1}}export{e as isTerrainSurfaceLayer};
2
+ function e(e){switch(e.type){case"annotation":case"building-scene":case"catalog":case"catalog-dynamic-group":case"catalog-footprint":case"csv":case"dimension":case"dimension-feature":case"feature":case"gaussian-splat":case"geo-rss":case"geojson":case"graphics":case"group":case"integrated-mesh":case"integrated-mesh-3dtiles":case"kml":case"knowledge-graph":case"link-chart":case"knowledge-graph-sublayer":case"line-of-sight":case"map-notes":case"ogc-feature":case"oriented-imagery":case"point-cloud":case"route":case"scene":case"stream":case"viewshed":case"voxel":case"subtype-group":case"unknown":case"unsupported":case"wfs":case"parquet":case"imagery":case"imagery-tile":return!1;case"base-dynamic":case"base-elevation":case"base-tile":case"bing-maps":case"elevation":case"map-image":case"media":case"open-street-map":case"tile":case"vector-tile":case"video":case"wcs":case"web-tile":case"wms":case"wmts":return!0;default:return e.type,!1}}export{e as isTerrainSurfaceLayer};
@@ -19,6 +19,8 @@ import type { PointCloudLayerView } from "../layers/PointCloudLayerView.js";
19
19
 
20
20
  /** @since 5.0 */
21
21
  export interface LayerView3DMap {
22
+ /** @since 5.1 */
23
+ annotation: never;
22
24
  /** @since 5.0 */
23
25
  "base-dynamic": never;
24
26
  /** @since 5.0 */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{computeDepthRange as e}from"./DepthRange.js";class t{constructor(e){this._objects=e}destroy(){this._objects=null}submit(e,t){this._objects.preSubmit(t);const{visibleObjects:r}=this._objects;r.length<2||r.sort(s),r.forAll(s=>s.submit(e,t))}queryDepthRange(t){return this._objects.visibleObjects.length?e(t,this._objects.visibleObjects):null}get hasEmissions(){return this._objects.visibleObjects.some(e=>0!==e.renderable.material.hasEmissions)?3:0}hasHighlight(e){return this._objects.hasHighlight(e)}}function s(e,t){const s=e.renderable.meta.cameraDepthSquared-t.renderable.meta.cameraDepthSquared;if(0!==s)return s;const r=e.renderable.geometry.geometrySizeHint-t.renderable.geometry.geometrySizeHint;return 0!==r?r:0}export{t as RenderSubmitSystem};
2
+ import{computeDepthRange as s}from"./DepthRange.js";class t{constructor(s){this._objects=s}destroy(){this._objects=null}submit(s,t){this._objects.preSubmit(t);const{visibleObjects:e}=this._objects;e.length,e.forAll(e=>e.submit(s,t))}queryDepthRange(t){return this._objects.visibleObjects.length?s(t,this._objects.visibleObjects):null}get hasEmissions(){return this._objects.visibleObjects.some(s=>0!==s.renderable.material.hasEmissions)?3:0}hasHighlight(s){return this._objects.hasHighlight(s)}}export{t as RenderSubmitSystem};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{getOrCreateMapValue as t}from"../../../../../core/MapUtils.js";import{DataType as e}from"../../../../webgl/enums.js";class s{constructor(t,e,s,i=0){this._owner=t,this._rctx=e,this._techniques=s,this._sorting=i,this._draws=new Array,this._previouslyBoundDraw=new Map}destroy(){this._draws.length=0,this._previouslyBoundDraw.clear()}submitDraw(t,e,s,r,n,a){const o=(s.indexed?s.vao.indexBuffer.indexType:null)??0;this._owner.registerDrawParameters(e);const h=new i(t,e,s,r,n,s.geometrySizeHint,o,a);this._draws.push(h)}acquire(e,s){const i=new Map;return this._draws.map(r=>t(i,r.material,()=>r.material.acquireTechnique(this._techniques,e,s,r.geometry.parameters)))}dispatch(t,e,s){const i=this._rctx;this._previouslyBoundDraw.clear();let n=null;const a=this._draws.length,o=e.highlight?.name;if(0===a)return;const h=1===this._sorting?-1:1,c=1===h?a:-1;for(let l=1===h?0:a-1;l!==c;l+=h){const a=this._draws[l];if(2===t.identifier){const t=a.highlightName;if(t){if(t!==o)continue}else if(!o||!e.overlay?.hasHighlight(o))continue}const h=s[l];h!==n&&(i.bindTechnique(h,e,t),n=h);const{geometryRanges:c,indexType:u,geometry:d,drawParameters:g}=a;i.bindVAO(d.vao),this._previouslyBoundDraw.get(h)!==g&&(h.program.bindDraw(e,t,g),this._previouslyBoundDraw.set(h,g));const m=c.length,{primitiveType:w}=d;for(let t=0;t<m;t+=2){const e=c[t],s=c[t+1];if(0!==u){const t=r.get(u);i.drawElements(w,s,u,e*t)}else i.drawArrays(w,e,s)}}}prepareSubmit(){this._draws.length=0}finishSubmit(){}get count(){return this._draws.length}}class i{constructor(t,e,s,i,r,n,a,o){this.material=t,this.drawParameters=e,this.geometry=s,this.geometryRanges=i,this.depthSquaredHint=r,this.geometrySizeHint=n,this.indexType=a,this.highlightName=o}}const r=new Map;r.set(e.UNSIGNED_BYTE,1),r.set(e.UNSIGNED_SHORT,2),r.set(e.UNSIGNED_INT,4);export{s as RenderPass};
2
+ import{getOrCreateMapValue as e}from"../../../../../core/MapUtils.js";import{DataType as t}from"../../../../webgl/enums.js";class s{constructor(e,t,s,r=0){this._owner=e,this._rctx=t,this._techniques=s,this._sorting=r,this._draws=new Array,this._previouslyBoundDraw=new Map}destroy(){this._draws.length=0,this._previouslyBoundDraw.clear()}submitDraw(e,t,s,i,n,a){const o=(s.indexed?s.vao.indexBuffer.indexType:null)??0;this._owner.registerDrawParameters(t);const h=new r(e,t,s,i,n,s.geometrySizeHint,o,a);this._draws.push(h)}acquire(t,s){const r=new Map;return this._draws.map(i=>e(r,i.material,()=>i.material.acquireTechnique(this._techniques,t,s,i.geometry.parameters)))}dispatch(e,t,s){const r=this._rctx;this._previouslyBoundDraw.clear();let n=null;const a=this._draws.length,o=t.highlight?.name;if(0===a)return;const h=1===this._sorting?-1:1,d=1===h?a:-1;for(let u=1===h?0:a-1;u!==d;u+=h){const a=this._draws[u];if(2===e.identifier){const e=a.highlightName;if(e){if(e!==o)continue}else if(!o||!t.overlay?.hasHighlight(o))continue}const h=s[u];h!==n&&(r.bindTechnique(h,t,e),n=h);const{geometryRanges:d,indexType:c,geometry:l,drawParameters:g}=a;r.bindVAO(l.vao),this._previouslyBoundDraw.get(h)!==g&&(h.program.bindDraw(t,e,g),this._previouslyBoundDraw.set(h,g));const m=d.length,{primitiveType:w}=l;for(let e=0;e<m;e+=2){const t=d[e],s=d[e+1];if(0!==c){const e=i.get(c);r.drawElements(w,s,c,t*e)}else r.drawArrays(w,t,s)}}}prepareSubmit(){this._draws.length=0}finishSubmit(){const e=0===this._sorting?1:-1;this._draws.sort((t,s)=>e*(t.depthSquaredHint-s.depthSquaredHint)||t.geometry.vao.usedMemory-s.geometry.vao.usedMemory)}get count(){return this._draws.length}}class r{constructor(e,t,s,r,i,n,a,o){this.material=e,this.drawParameters=t,this.geometry=s,this.geometryRanges=r,this.depthSquaredHint=i,this.geometrySizeHint=n,this.indexType=a,this.highlightName=o}}const i=new Map;i.set(t.UNSIGNED_BYTE,1),i.set(t.UNSIGNED_SHORT,2),i.set(t.UNSIGNED_INT,4);export{s as RenderPass};