@arcgis/core 5.0.0-next.85 → 5.0.0-next.87

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 (992) hide show
  1. package/Basemap.d.ts +2 -2
  2. package/Camera.d.ts +3 -3
  3. package/CameraLayout.d.ts +2 -2
  4. package/Graphic.d.ts +3 -3
  5. package/Ground.d.ts +2 -2
  6. package/Ground.js +1 -1
  7. package/Map.d.ts +2 -2
  8. package/PopupTemplate.d.ts +3 -3
  9. package/Viewpoint.d.ts +2 -2
  10. package/WebDocument2D.d.ts +3 -3
  11. package/WebScene.d.ts +3 -3
  12. package/WebScene.js +1 -1
  13. package/analysis/Analysis.d.ts +3 -3
  14. package/analysis/Dimension/types.d.ts +0 -1
  15. package/analysis/DimensionSimpleStyle.d.ts +3 -3
  16. package/analysis/ElevationProfile/ElevationProfileDisplayUnits.d.ts +2 -2
  17. package/analysis/ElevationProfile/ElevationProfileLine.d.ts +2 -2
  18. package/analysis/ElevationProfile/ElevationProfileLineChartOptions.d.ts +2 -2
  19. package/analysis/ElevationProfile/ElevationProfileLineViewOptions.d.ts +2 -2
  20. package/analysis/ElevationProfile/ElevationProfileViewOptions.d.ts +2 -2
  21. package/analysis/LengthDimension.d.ts +3 -3
  22. package/analysis/LineOfSightAnalysisObserver.d.ts +3 -3
  23. package/analysis/LineOfSightAnalysisTarget.d.ts +3 -3
  24. package/analysis/ShadowCast/DiscreteOptions.d.ts +2 -2
  25. package/analysis/ShadowCast/MinDurationOptions.d.ts +2 -2
  26. package/analysis/ShadowCast/TotalDurationOptions.d.ts +2 -2
  27. package/analysis/ShadowCast/types.d.ts +0 -1
  28. package/analysis/SlicePlane.d.ts +3 -3
  29. package/analysis/Viewshed.d.ts +3 -3
  30. package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.d.ts +3 -3
  31. package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.d.ts +16 -4
  32. package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.js +1 -1
  33. package/analysis/VolumeMeasurement/VolumeMeasurementInputUnits.d.ts +3 -3
  34. package/analysis/VolumeMeasurement/types.d.ts +0 -1
  35. package/analysis/support/AnalysisOriginWebScene.d.ts +2 -2
  36. package/applications/Components/OrientedImageryViewer/galleryUtils.d.ts +80 -0
  37. package/applications/Components/OrientedImageryViewer/galleryUtils.js +5 -0
  38. package/applications/Components/clipboard.d.ts +106 -0
  39. package/applications/Components/clipboard.js +5 -0
  40. package/applications/Components/templateUtils.d.ts +30 -1
  41. package/assets/esri/core/libs/libtess/libtess-f32.wasm +0 -0
  42. package/assets/esri/core/libs/libtess/libtess-f64.wasm +0 -0
  43. package/assets/esri/core/t9n/Units.json +1 -1
  44. package/assets/esri/core/workers/RemoteClient.js +1 -1
  45. package/assets/esri/core/workers/chunks/{3b6fc34b6d92eef030e5.js → 0276e689e1371b40cff3.js} +1 -1
  46. package/assets/esri/core/workers/chunks/045a9cc900bb4ac8afde.js +1 -0
  47. package/assets/esri/core/workers/chunks/048173088bbeb1f6b8b6.js +1 -0
  48. package/assets/esri/core/workers/chunks/09ca0d05b090e9a70e61.js +1 -0
  49. package/assets/esri/core/workers/chunks/0be8b9d9ef56c37e74c3.js +1 -0
  50. package/assets/esri/core/workers/chunks/0bef671165e64f90ac86.js +1 -0
  51. package/assets/esri/core/workers/chunks/0c025d2b0d3162b07feb.js +1 -0
  52. package/assets/esri/core/workers/chunks/{84a4390b1c277c415d44.js → 0c358199ada2ff71e7d9.js} +1 -1
  53. package/assets/esri/core/workers/chunks/0c4ed18d67dea0c99f01.js +1 -0
  54. package/assets/esri/core/workers/chunks/0e0208b87566f4470f1d.js +1 -0
  55. package/assets/esri/core/workers/chunks/{c791e8ebf3ee0805c479.js → 0fc0fd7618ef25dd6b67.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{59e7a0215791b2b51180.js → 126183819921e6025c90.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{a09099697955eb44bfac.js → 15c180deb8d09127ad31.js} +1 -1
  58. package/assets/esri/core/workers/chunks/1616ee2f6dce0203f1d5.js +1 -0
  59. package/assets/esri/core/workers/chunks/1919ed99166e70021917.js +1 -0
  60. package/assets/esri/core/workers/chunks/1c68befc39d39799fcb8.js +1 -0
  61. package/assets/esri/core/workers/chunks/21bb414cb0623ffad577.js +1 -0
  62. package/assets/esri/core/workers/chunks/21c84e014c73bd85f4a3.js +1 -0
  63. package/assets/esri/core/workers/chunks/262677294d8c653e2b0b.js +1 -0
  64. package/assets/esri/core/workers/chunks/{04fddd41a8e6a4c1bc57.js → 28a6a59033baa44bafab.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{f5b32bc3f7ee911e3c59.js → 28c273f34ffde25cebc6.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{b7e40118b4d645e9f8e1.js → 2a12026f1ca9e8900a8b.js} +1 -1
  67. package/assets/esri/core/workers/chunks/2bc9f407f89d554a43ce.js +1 -0
  68. package/assets/esri/core/workers/chunks/2f21c5ae4fbe85c2792b.js +1 -0
  69. package/assets/esri/core/workers/chunks/3332ee9727874953523c.js +1 -0
  70. package/assets/esri/core/workers/chunks/{c477b0ce55211339c4cb.js → 33f44cc192c72064b5b6.js} +1 -1
  71. package/assets/esri/core/workers/chunks/365cb8aab4ca56999b47.js +1 -0
  72. package/assets/esri/core/workers/chunks/{b190a776de4859ac00f8.js → 3672125daca3df24c8ab.js} +1 -1
  73. package/assets/esri/core/workers/chunks/37a607f3835ec6f60834.js +1 -0
  74. package/assets/esri/core/workers/chunks/{c46a4681cbba638b58c1.js → 39dd80c184ac48f877f1.js} +1 -1
  75. package/assets/esri/core/workers/chunks/3a3adf9b6502ad698aea.js +1 -0
  76. package/assets/esri/core/workers/chunks/3b5f24bb824c95996308.js +1 -0
  77. package/assets/esri/core/workers/chunks/{304ea784c28dc78e5e65.js → 3c663035cf872b66cb98.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{055aead7135a2f8bca29.js → 3d924488471601a17915.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{98e04c2382fa5ba382fc.js → 3dc1ae04cfa2c06daf48.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{156c73a948bde11f0d53.js → 42b56932340b6d0bc712.js} +1 -1
  81. package/assets/esri/core/workers/chunks/45c1a3376b138eeee329.js +1 -0
  82. package/assets/esri/core/workers/chunks/{301fa6276f4098521106.js → 476e51284e6ed7dc5c99.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{18cdd268fc921ffd92e2.js → 47bea83ae7fe0e1acee0.js} +1 -1
  84. package/assets/esri/core/workers/chunks/4de93e9f91fd891ed96f.js +1 -0
  85. package/assets/esri/core/workers/chunks/4eb02a03956d1c9c77ee.js +1 -0
  86. package/assets/esri/core/workers/chunks/{1a41c9127ca5a260d5ef.js → 555a252bdb87e340bd02.js} +1 -1
  87. package/assets/esri/core/workers/chunks/5670e430584f020a3530.js +1 -0
  88. package/assets/esri/core/workers/chunks/5734aefbce8b6425630c.js +1 -0
  89. package/assets/esri/core/workers/chunks/{1fe1a131be1d5e1e23ed.js → 5a1921c177580f17ff96.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{70df4331ed29d823bf38.js → 5b297353b058323f8080.js} +1 -1
  91. package/assets/esri/core/workers/chunks/5ef5dcca7c9b376f7f77.js +1 -0
  92. package/assets/esri/core/workers/chunks/{3849dc35941e569fae5f.js → 614c63dae0158da0ed3d.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{c500b59cd7da54fe72ec.js → 641450da2680ae09b8e7.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{ec03d59984782529031a.js → 687677acc05b5e87effe.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{6de843d1809cba61ded3.js → 727321c615f35d708d46.js} +1 -1
  96. package/assets/esri/core/workers/chunks/782c24211daacb47b0b2.js +1 -0
  97. package/assets/esri/core/workers/chunks/79067e7d1ebc46afd775.js +1 -0
  98. package/assets/esri/core/workers/chunks/7a454e4d6df3360e0ab9.js +1 -0
  99. package/assets/esri/core/workers/chunks/7da56ba34c81d2bbaf25.js +1 -0
  100. package/assets/esri/core/workers/chunks/7f15d15c7e2c5d3e70c3.js +1 -0
  101. package/assets/esri/core/workers/chunks/{ce9467dc1ff695d795e5.js → 824b45b04b4f4f91dbce.js} +1 -1
  102. package/assets/esri/core/workers/chunks/836d10ceb93ed19f0aa6.js +1 -0
  103. package/assets/esri/core/workers/chunks/{854adab6a06af861c104.js → 837d39e70880e4310bda.js} +1 -1
  104. package/assets/esri/core/workers/chunks/890833e98e79b8fd3747.js +1 -0
  105. package/assets/esri/core/workers/chunks/{d6e11f05db698d14f21d.js → 8a7f56139b7de0011a37.js} +1 -1
  106. package/assets/esri/core/workers/chunks/8bcb2180ecc88a39b317.js +1 -0
  107. package/assets/esri/core/workers/chunks/8c5d827cbf8869defb87.js +1 -0
  108. package/assets/esri/core/workers/chunks/{db9a9712038df76e3eda.js → 8ef337e25d65670eb73b.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{e201bfe3158c025edc99.js → 93faad2a759b08dce619.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{1779e6eabc299831fc9f.js → 94c4ef224ff38eca7b87.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{9ff1e650ce0912afa780.js → 97155c8ac832d7c46f24.js} +1 -1
  112. package/assets/esri/core/workers/chunks/{14f8215ab716c6d9d5f8.js → 98cb131b62e30aee35e1.js} +1 -1
  113. package/assets/esri/core/workers/chunks/{b586d7e608e8ba8b88fe.js → 9b3b9df0aa0fdcc77aa2.js} +1 -1
  114. package/assets/esri/core/workers/chunks/{841058de8bc6e328fd68.js → 9d77a7d04872b4535e9e.js} +1 -1
  115. package/assets/esri/core/workers/chunks/{338768f94cc49559b209.js → 9ebc4303e29ee0fc1716.js} +1 -1
  116. package/assets/esri/core/workers/chunks/{5543de9a0435c319f4f9.js → 9fa1512baa6e95d3f878.js} +20 -20
  117. package/assets/esri/core/workers/chunks/{e8f6305744f87bbed961.js → a5ed35f53769feb751db.js} +1 -1
  118. package/assets/esri/core/workers/chunks/a6b8ce1c2996ee392bdf.js +1 -0
  119. package/assets/esri/core/workers/chunks/{a2c0c1bb5e775abefc90.js → aa09e261d1f7dffaad8c.js} +1 -1
  120. package/assets/esri/core/workers/chunks/b268b4cbf5b0c856f88e.js +1 -0
  121. package/assets/esri/core/workers/chunks/b2f6cee006788ce3bd16.js +1 -0
  122. package/assets/esri/core/workers/chunks/{9fac9eda0a41f7f4c2c6.js → b46e772e415e2cfca896.js} +1 -1
  123. package/assets/esri/core/workers/chunks/b4ab715a3c506e122f35.js +1 -0
  124. package/assets/esri/core/workers/chunks/{b91a157fb5f729de6597.js → b9756dce0b3af1a9dc54.js} +1 -1
  125. package/assets/esri/core/workers/chunks/baa7e90ec5259057d86b.js +1 -0
  126. package/assets/esri/core/workers/chunks/{52ae2073604deef63ea2.js → c083045d21636b95f26f.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{348560f083350ad0bf2e.js → c38098f7073a10efdb1e.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{4ff3c03cfbec928c0720.js → c4fb3f0b0cfb21e68413.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{adecd31fd64d6753682d.js → c7c865dc1a93e781a3e3.js} +1 -1
  130. package/assets/esri/core/workers/chunks/c8e56dc1239118ac2a60.js +1 -0
  131. package/assets/esri/core/workers/chunks/{181fab86394f1f912490.js → cc464d5a83f8f405e66c.js} +1 -1
  132. package/assets/esri/core/workers/chunks/{d9d2178d436597b1afaf.js → cc6d9b2062b9de629111.js} +1 -1
  133. package/assets/esri/core/workers/chunks/d5386c0e77063c87fddd.js +1 -0
  134. package/assets/esri/core/workers/chunks/d782671235af2db1c458.js +1 -0
  135. package/assets/esri/core/workers/chunks/{f0eb2bfe5a8607b251f5.js → dc2c9b584f8e4627de7f.js} +1 -1
  136. package/assets/esri/core/workers/chunks/de33ce9b6f4e6c0e1389.js +1 -0
  137. package/assets/esri/core/workers/chunks/{0abb084b8a137f4fcdfc.js → e1c5773c12d9947bdc5f.js} +1 -1
  138. package/assets/esri/core/workers/chunks/e55ce8466aa979ac1e6b.js +1 -0
  139. package/assets/esri/core/workers/chunks/{21739c37160061f229ef.js → e585883d0036aa866420.js} +1 -1
  140. package/assets/esri/core/workers/chunks/e6d6d664fc9f2cd6a042.js +1 -0
  141. package/assets/esri/core/workers/chunks/e7cdc2a21104d84aec4a.js +1 -0
  142. package/assets/esri/core/workers/chunks/e9edf3987039def65859.js +1 -0
  143. package/assets/esri/core/workers/chunks/eb063660c37093f85349.js +1 -0
  144. package/assets/esri/core/workers/chunks/{c825ca22894bdb4d01ba.js → edbe52c2848486d64b16.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{4f8895eb57ec6ab4b318.js → f5a61fa75ac877b5bb74.js} +1 -1
  146. package/assets/esri/core/workers/chunks/f9bc4edfdb1590be2d92.js +1 -0
  147. package/assets/esri/core/workers/chunks/fc763ce37d631e006199.js +1 -0
  148. package/assets/esri/core/workers/chunks/ff2a170acd98edfd0e06.js +1 -0
  149. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  150. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  151. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  152. package/assets/esri/themes/base/widgets/_FeatureTable.scss +9 -1
  153. package/assets/esri/themes/dark/main.css +1 -1
  154. package/assets/esri/themes/light/main.css +1 -1
  155. package/assets/esri/themes/light/view.css +1 -1
  156. package/chunks/bundle.js +1 -1
  157. package/chunks/libtess-f32.js +1 -1
  158. package/chunks/libtess-f64.js +1 -1
  159. package/config.js +1 -1
  160. package/copyright.txt +84 -0
  161. package/core/Clonable.d.ts +0 -2
  162. package/core/Collection.d.ts +1 -1
  163. package/core/Error.d.ts +0 -1
  164. package/core/Evented.d.ts +0 -2
  165. package/core/Identifiable.d.ts +0 -1
  166. package/core/JSONSupport.d.ts +0 -2
  167. package/core/MultiOriginJSONSupport.d.ts +1 -3
  168. package/core/Promise.d.ts +9 -5
  169. package/core/ReadOnlyMultiOriginJSONSupport.d.ts +0 -2
  170. package/core/Version.d.ts +0 -1
  171. package/core/accessorSupport/types.d.ts +0 -1
  172. package/core/quantity.js +1 -1
  173. package/core/quantityFormatUtils.js +1 -1
  174. package/core/sql/types.d.ts +0 -1
  175. package/core/timeUtils.js +1 -1
  176. package/core/types.d.ts +0 -1
  177. package/core/units.d.ts +2 -2
  178. package/core/units.js +1 -1
  179. package/core/workers/WorkerHandle.js +1 -1
  180. package/editing/Clipboard.js +5 -0
  181. package/editing/sharedTemplates/types.d.ts +0 -1
  182. package/effects/FocusArea.d.ts +3 -3
  183. package/effects/FocusAreaOutline.d.ts +3 -3
  184. package/effects/FocusAreas.d.ts +3 -3
  185. package/effects/types.d.ts +0 -1
  186. package/form/ExpressionInfo.d.ts +2 -2
  187. package/form/FormTemplate.d.ts +2 -2
  188. package/form/elements/Element.d.ts +2 -2
  189. package/form/elements/UtilityNetworkAssociationsElement.d.ts +2 -2
  190. package/geometry/Geometry.d.ts +2 -2
  191. package/geometry/HeightModelInfo.d.ts +2 -2
  192. package/geometry/Mesh.d.ts +3 -3
  193. package/geometry/SpatialReference.d.ts +2 -2
  194. package/geometry/ellipsoidUtils.js +1 -1
  195. package/geometry/geometryEngineTypes.d.ts +0 -1
  196. package/geometry/libtess.js +1 -1
  197. package/geometry/projection/projectors.js +1 -1
  198. package/geometry/projectionUtils.js +1 -1
  199. package/geometry/support/MeshComponent.d.ts +3 -3
  200. package/geometry/support/MeshGeoreferencedVertexSpace.d.ts +3 -3
  201. package/geometry/support/MeshLocalVertexSpace.d.ts +3 -3
  202. package/geometry/support/MeshMaterial.d.ts +3 -3
  203. package/geometry/support/MeshTexture.d.ts +3 -3
  204. package/geometry/support/MeshTextureTransform.d.ts +3 -3
  205. package/geometry/support/MeshTransform.d.ts +3 -3
  206. package/geometry/support/MeshVertexAttributes.d.ts +3 -3
  207. package/geometry/support/meshUtils/projection.js +1 -1
  208. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  209. package/geometry/support/planetGCSUtils.js +1 -1
  210. package/geometry/support/spatialReferenceUtils.js +1 -1
  211. package/graphic/GraphicOrigin.d.ts +0 -1
  212. package/ground/NavigationConstraint.d.ts +2 -2
  213. package/identity/Credential.d.ts +2 -2
  214. package/identity/IdentityModal.js +1 -1
  215. package/identity/OAuthInfo.d.ts +2 -2
  216. package/identity/ServerInfo.d.ts +2 -2
  217. package/interfaces.d.ts +2 -3
  218. package/intl/locale.d.ts +0 -1
  219. package/intl/messages.d.ts +0 -1
  220. package/intl/number.d.ts +0 -1
  221. package/intl/substitute.d.ts +0 -1
  222. package/intl/t9n.d.ts +0 -1
  223. package/kernel.js +1 -1
  224. package/layers/BaseElevationLayer.d.ts +3 -4
  225. package/layers/BingMapsLayer.d.ts +2 -2
  226. package/layers/BuildingSceneLayer.d.ts +5 -4
  227. package/layers/CatalogLayer.d.ts +3 -3
  228. package/layers/DimensionLayer.d.ts +2 -2
  229. package/layers/ElevationLayer.d.ts +3 -4
  230. package/layers/ElevationLayer.js +1 -1
  231. package/layers/FeatureLayer.d.ts +4 -4
  232. package/layers/GaussianSplatLayer.d.ts +2 -2
  233. package/layers/GeoJSONLayer.d.ts +2 -2
  234. package/layers/GeoRSSLayer.d.ts +2 -2
  235. package/layers/GroupLayer.d.ts +2 -2
  236. package/layers/ImageryLayer.d.ts +3 -3
  237. package/layers/ImageryTileLayer.d.ts +3 -3
  238. package/layers/IntegratedMesh3DTilesLayer.d.ts +2 -2
  239. package/layers/IntegratedMeshLayer.d.ts +5 -4
  240. package/layers/KMLLayer.d.ts +2 -2
  241. package/layers/KnowledgeGraphLayer.d.ts +2 -2
  242. package/layers/Layer.d.ts +2 -2
  243. package/layers/LineOfSightLayer.d.ts +2 -2
  244. package/layers/LinkChartLayer.d.ts +2 -2
  245. package/layers/MapImageLayer.d.ts +2 -2
  246. package/layers/MapNotesLayer.d.ts +2 -2
  247. package/layers/MediaLayer.d.ts +2 -2
  248. package/layers/OGCFeatureLayer.d.ts +2 -2
  249. package/layers/ParquetLayer.d.ts +3 -3
  250. package/layers/PointCloudLayer.d.ts +5 -4
  251. package/layers/RouteLayer.d.ts +2 -2
  252. package/layers/SceneLayer.d.ts +6 -5
  253. package/layers/StreamLayer.d.ts +3 -3
  254. package/layers/SubtypeGroupLayer.d.ts +4 -4
  255. package/layers/TileLayer.d.ts +2 -2
  256. package/layers/UnknownLayer.d.ts +2 -2
  257. package/layers/UnsupportedLayer.d.ts +2 -2
  258. package/layers/VectorTileLayer.d.ts +2 -2
  259. package/layers/VideoLayer.d.ts +2 -2
  260. package/layers/ViewshedLayer.d.ts +2 -2
  261. package/layers/VoxelLayer.d.ts +2 -2
  262. package/layers/WCSLayer.d.ts +3 -3
  263. package/layers/WFSLayer.d.ts +2 -2
  264. package/layers/WMSLayer.d.ts +2 -2
  265. package/layers/WMTSLayer.d.ts +2 -2
  266. package/layers/WebTileLayer.d.ts +2 -2
  267. package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +2 -2
  268. package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +1 -1
  269. package/layers/buildingSublayers/BuildingSublayer.d.ts +2 -2
  270. package/layers/catalog/CatalogDynamicGroupLayer.d.ts +2 -2
  271. package/layers/catalog/CatalogFootprintLayer.d.ts +2 -2
  272. package/layers/effects/types.d.ts +0 -1
  273. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  274. package/layers/knowledgeGraph/IdTypePair.d.ts +0 -1
  275. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +2 -2
  276. package/layers/mixins/APIKeyMixin.d.ts +0 -1
  277. package/layers/mixins/ArcGISImageService.d.ts +30 -16
  278. package/layers/mixins/CustomParametersMixin.d.ts +0 -1
  279. package/layers/mixins/EditBusLayer.d.ts +0 -2
  280. package/layers/mixins/ImageryTileMixin.d.ts +2 -1
  281. package/layers/mixins/ImageryTileMixin.js +1 -1
  282. package/layers/mixins/OperationalLayer.d.ts +0 -1
  283. package/layers/mixins/ScaleRangeLayer.d.ts +0 -1
  284. package/layers/mixins/SceneService.d.ts +0 -6
  285. package/layers/orientedImagery/transformations/utils.js +1 -1
  286. package/layers/pointCloudFilters/PointCloudFilter.d.ts +2 -2
  287. package/layers/raster/datasets/pixelReader.d.ts +0 -1
  288. package/layers/raster/datasets/types.d.ts +0 -1
  289. package/layers/raster/functions/SpectralConversionFunction.js +5 -0
  290. package/layers/raster/functions/SpectralConversionFunctionArguments.js +5 -0
  291. package/layers/raster/functions/changeDetectionUtils.d.ts +0 -1
  292. package/layers/raster/functions/conversionUtils.js +1 -1
  293. package/layers/raster/functions/focalStatUtils.d.ts +0 -1
  294. package/layers/raster/functions/rasterFunctionHelper.js +1 -1
  295. package/layers/raster/functions/vectorFieldUtils.js +1 -1
  296. package/layers/scene/types.d.ts +11 -0
  297. package/layers/support/AggregateField.d.ts +2 -2
  298. package/layers/support/BuildingFilter.d.ts +2 -2
  299. package/layers/support/BuildingFilterBlock.d.ts +2 -2
  300. package/layers/support/BuildingSummaryStatistics.d.ts +3 -3
  301. package/layers/support/CodedValue.d.ts +2 -2
  302. package/layers/support/ControlPoint.d.ts +2 -2
  303. package/layers/support/ControlPointsGeoreference.d.ts +2 -2
  304. package/layers/support/DimensionalDefinition.d.ts +2 -2
  305. package/layers/support/DisplayFilter.d.ts +3 -3
  306. package/layers/support/DisplayFilterInfo.d.ts +3 -3
  307. package/layers/support/Domain.d.ts +2 -2
  308. package/layers/support/EditFieldsInfo.d.ts +3 -3
  309. package/layers/support/ElevationQuery.js +1 -1
  310. package/layers/support/ElevationTileData.js +1 -1
  311. package/layers/support/ExpressionInfo.d.ts +3 -3
  312. package/layers/support/FacilityLayerInfo.d.ts +2 -2
  313. package/layers/support/FeatureEffect.d.ts +2 -2
  314. package/layers/support/FeatureFilter.d.ts +2 -2
  315. package/layers/support/FeatureReductionBinning.d.ts +2 -2
  316. package/layers/support/FeatureReductionCluster.d.ts +2 -2
  317. package/layers/support/FeatureReductionSelection.d.ts +2 -2
  318. package/layers/support/FeatureTemplate.d.ts +3 -3
  319. package/layers/support/FeatureType.d.ts +3 -3
  320. package/layers/support/Field.d.ts +2 -2
  321. package/layers/support/FieldConfiguration.d.ts +3 -3
  322. package/layers/support/GeometryFieldsInfo.d.ts +3 -3
  323. package/layers/support/KMLSublayer.d.ts +3 -3
  324. package/layers/support/LOD.d.ts +2 -2
  325. package/layers/support/LabelClass.d.ts +2 -2
  326. package/layers/support/LabelExpressionInfo.d.ts +2 -2
  327. package/layers/support/LayerFloorInfo.d.ts +2 -2
  328. package/layers/support/LevelLayerInfo.d.ts +2 -2
  329. package/layers/support/LocalMediaElementSource.d.ts +3 -3
  330. package/layers/support/MapImage.d.ts +2 -2
  331. package/layers/support/MediaElementBase.d.ts +2 -2
  332. package/layers/support/MosaicRule.d.ts +2 -2
  333. package/layers/support/MultidimensionalSubset.d.ts +13 -4
  334. package/layers/support/OrderByInfo.d.ts +2 -2
  335. package/layers/support/ParquetGeometryEncodingLocation.d.ts +3 -3
  336. package/layers/support/ParquetGeometryEncodingWkb.d.ts +3 -3
  337. package/layers/support/PixelBlock.d.ts +2 -2
  338. package/layers/support/PlaybackInfo.d.ts +3 -3
  339. package/layers/support/PurgeOptions.d.ts +2 -2
  340. package/layers/support/RasterBandInfo.d.ts +2 -2
  341. package/layers/support/RasterFunction.d.ts +2 -2
  342. package/layers/support/RasterInfo.d.ts +2 -2
  343. package/layers/support/RasterSensorInfo.d.ts +2 -2
  344. package/layers/support/Relationship.d.ts +5 -3
  345. package/layers/support/RouteStopSymbols.d.ts +2 -2
  346. package/layers/support/RouteSymbols.d.ts +2 -2
  347. package/layers/support/SceneFilter.d.ts +2 -2
  348. package/layers/support/SceneLayerViewFilter.js +5 -0
  349. package/layers/support/SceneModification.d.ts +2 -2
  350. package/layers/support/SceneModifications.d.ts +1 -1
  351. package/layers/support/SiteLayerInfo.d.ts +2 -2
  352. package/layers/support/Sublayer.d.ts +2 -2
  353. package/layers/support/Subtype.d.ts +3 -3
  354. package/layers/support/SubtypeSublayer.d.ts +3 -3
  355. package/layers/support/TelemetryData.d.ts +3 -3
  356. package/layers/support/TelemetryDisplay.d.ts +3 -3
  357. package/layers/support/TileInfo.d.ts +2 -2
  358. package/layers/support/TileMatrixSet.d.ts +2 -2
  359. package/layers/support/TimeInfo.d.ts +3 -3
  360. package/layers/support/TrackInfo.d.ts +3 -3
  361. package/layers/support/TrackPartInfo.d.ts +3 -3
  362. package/layers/support/VideoTimeExtent.d.ts +3 -3
  363. package/layers/support/WMSSublayer.d.ts +2 -2
  364. package/layers/support/WMTSStyle.d.ts +2 -2
  365. package/layers/support/WMTSSublayer.d.ts +2 -2
  366. package/layers/support/rasterFunctionUtils.d.ts +0 -4
  367. package/layers/support/types.d.ts +32 -0
  368. package/layers/video/types.d.ts +0 -1
  369. package/layers/voxel/VoxelColorStop.d.ts +3 -3
  370. package/layers/voxel/VoxelDynamicSection.d.ts +3 -3
  371. package/layers/voxel/VoxelIsosurface.d.ts +3 -3
  372. package/layers/voxel/VoxelOpacityStop.d.ts +3 -3
  373. package/layers/voxel/VoxelRangeFilter.d.ts +3 -3
  374. package/layers/voxel/VoxelSlice.d.ts +3 -3
  375. package/layers/voxel/VoxelTransferFunctionStyle.d.ts +3 -3
  376. package/layers/voxel/VoxelUniqueValue.d.ts +3 -3
  377. package/layers/voxel/VoxelVariable.d.ts +2 -2
  378. package/layers/voxel/VoxelVariableStyle.d.ts +2 -2
  379. package/layers/voxel/VoxelVolumeStyle.d.ts +2 -2
  380. package/layers/wms/types.d.ts +0 -1
  381. package/layers/wmts/types.d.ts +0 -1
  382. package/linkChart/ChronologicalLayoutSettings.d.ts +3 -3
  383. package/linkChart/LayoutSettings.d.ts +3 -3
  384. package/linkChart/LinkChartProperties.d.ts +3 -3
  385. package/linkChart/NonspatialDataDisplay.d.ts +3 -3
  386. package/linkChart/OrganicLayoutSettings.d.ts +3 -3
  387. package/linkChart/types.d.ts +0 -1
  388. package/networks/CircuitManager.d.ts +2 -2
  389. package/networks/Network.d.ts +2 -2
  390. package/networks/UnitIdentifierManager.d.ts +2 -2
  391. package/networks/support/Circuit.d.ts +2 -2
  392. package/networks/support/CircuitLocation.d.ts +2 -2
  393. package/networks/support/CircuitPath.d.ts +2 -2
  394. package/networks/support/CircuitPathConnectivityElement.d.ts +2 -2
  395. package/networks/support/CircuitSection.d.ts +2 -2
  396. package/networks/support/NamedTraceConfiguration.d.ts +2 -2
  397. package/networks/support/Subcircuit.d.ts +2 -2
  398. package/networks/support/Terminal.d.ts +2 -2
  399. package/networks/support/TerminalConfiguration.d.ts +2 -2
  400. package/networks/support/TraceConfiguration.d.ts +2 -2
  401. package/networks/support/UNTraceConfiguration.d.ts +2 -2
  402. package/networks/support/typeUtils.d.ts +0 -1
  403. package/package.json +1 -1
  404. package/popup/ElementExpressionInfo.d.ts +2 -2
  405. package/popup/ExpressionInfo.d.ts +2 -2
  406. package/popup/FieldInfo.d.ts +3 -3
  407. package/popup/LayerOptions.d.ts +2 -2
  408. package/popup/RelatedRecordsInfo.d.ts +2 -2
  409. package/popup/content/AttachmentsContent.d.ts +2 -2
  410. package/popup/content/Content.d.ts +2 -2
  411. package/popup/content/RelationshipContent.d.ts +2 -2
  412. package/popup/content/UtilityNetworkAssociationsContent.d.ts +2 -2
  413. package/popup/content/mixins/MediaInfo.d.ts +2 -2
  414. package/popup/content/support/ChartMediaInfoValue.d.ts +2 -2
  415. package/popup/content/support/ImageMediaInfoValue.d.ts +2 -2
  416. package/popup/support/AttachmentsOrderByInfo.d.ts +3 -3
  417. package/popup/support/FieldInfoFormat.d.ts +3 -3
  418. package/popup/support/RelatedRecordsInfoFieldOrder.d.ts +2 -2
  419. package/popup/support/UtilityNetworkAssociationType.d.ts +3 -3
  420. package/portal/Portal.d.ts +2 -2
  421. package/portal/PortalFolder.d.ts +2 -2
  422. package/portal/PortalGroup.d.ts +2 -2
  423. package/portal/PortalItem.d.ts +2 -2
  424. package/portal/PortalUser.d.ts +2 -2
  425. package/portal/timeUnitKebabDictionary.js +1 -1
  426. package/renderers/FlowRenderer.d.ts +2 -2
  427. package/renderers/PieChartRenderer.d.ts +2 -2
  428. package/renderers/PointCloudRenderer.d.ts +2 -2
  429. package/renderers/RasterColormapRenderer.d.ts +2 -2
  430. package/renderers/RasterShadedReliefRenderer.d.ts +2 -2
  431. package/renderers/RasterStretchRenderer.d.ts +2 -2
  432. package/renderers/Renderer.d.ts +2 -2
  433. package/renderers/VectorFieldRenderer.d.ts +2 -2
  434. package/renderers/support/AttributeColorInfo.d.ts +2 -2
  435. package/renderers/support/AuthoringInfo.d.ts +2 -2
  436. package/renderers/support/AuthoringInfoClassBreakInfo.d.ts +2 -2
  437. package/renderers/support/AuthoringInfoFieldInfo.d.ts +2 -2
  438. package/renderers/support/AuthoringInfoVisualVariable.d.ts +2 -2
  439. package/renderers/support/ClassBreakInfo.d.ts +2 -2
  440. package/renderers/support/ColormapInfo.d.ts +2 -2
  441. package/renderers/support/DotDensityLegendOptions.d.ts +2 -2
  442. package/renderers/support/HeatmapColorStop.d.ts +2 -2
  443. package/renderers/support/HeatmapLegendOptions.d.ts +3 -3
  444. package/renderers/support/OthersCategory.d.ts +3 -3
  445. package/renderers/support/RasterPresetRenderer.d.ts +3 -3
  446. package/renderers/support/RendererLegendOptions.d.ts +3 -3
  447. package/renderers/support/UniqueValue.d.ts +3 -3
  448. package/renderers/support/UniqueValueClass.d.ts +3 -3
  449. package/renderers/support/UniqueValueGroup.d.ts +3 -3
  450. package/renderers/support/UniqueValueInfo.d.ts +2 -2
  451. package/renderers/support/pointCloud/ColorClassBreakInfo.d.ts +2 -2
  452. package/renderers/support/pointCloud/ColorModulation.d.ts +2 -2
  453. package/renderers/support/pointCloud/ColorUniqueValueInfo.d.ts +2 -2
  454. package/renderers/visualVariables/VisualVariable.d.ts +2 -2
  455. package/renderers/visualVariables/support/ColorSizeStop.d.ts +2 -2
  456. package/renderers/visualVariables/support/ColorStop.d.ts +2 -2
  457. package/renderers/visualVariables/support/OpacityStop.d.ts +2 -2
  458. package/renderers/visualVariables/support/SizeStop.d.ts +2 -2
  459. package/renderers/visualVariables/support/VisualVariableLegendOptions.d.ts +3 -3
  460. package/rest/featureService/FeatureService.d.ts +2 -2
  461. package/rest/geoprocessor/GPOptions.d.ts +2 -2
  462. package/rest/geoprocessor/utils.js +1 -1
  463. package/rest/imageService.d.ts +36 -19
  464. package/rest/imageService.js +1 -1
  465. package/rest/knowledgeGraph/DataModel.d.ts +2 -2
  466. package/rest/knowledgeGraph/FieldIndex.d.ts +2 -2
  467. package/rest/knowledgeGraph/GraphObject.d.ts +2 -2
  468. package/rest/knowledgeGraph/GraphObjectType.d.ts +2 -2
  469. package/rest/knowledgeGraph/GraphProperty.d.ts +2 -2
  470. package/rest/knowledgeGraph/KnowledgeGraph.d.ts +2 -2
  471. package/rest/knowledgeGraph/Path.d.ts +2 -2
  472. package/rest/knowledgeGraph/ServiceDefinition.d.ts +2 -2
  473. package/rest/knowledgeGraph/SourceTypeValueBehavior.d.ts +2 -2
  474. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.d.ts +2 -2
  475. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.d.ts +2 -2
  476. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +2 -2
  477. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsResultJSON.d.ts +0 -1
  478. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +2 -2
  479. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.d.ts +0 -1
  480. package/rest/lastMileDelivery/types.d.ts +0 -1
  481. package/rest/layerSources/DynamicDataLayer.d.ts +2 -2
  482. package/rest/layerSources/DynamicMapLayer.d.ts +2 -2
  483. package/rest/layerSources/JoinTableDataSource.d.ts +2 -2
  484. package/rest/layerSources/QueryTableDataSource.d.ts +2 -2
  485. package/rest/layerSources/RasterDataSource.d.ts +2 -2
  486. package/rest/layerSources/TableDataSource.d.ts +2 -2
  487. package/rest/networks/circuits/support/CircuitTraceResult.d.ts +2 -2
  488. package/rest/networks/circuits/support/ExportCircuitsParameters.d.ts +2 -2
  489. package/rest/networks/circuits/support/QueryCircuitsParameters.d.ts +2 -2
  490. package/rest/networks/support/AggregatedGeometry.d.ts +2 -2
  491. package/rest/networks/support/Association.d.ts +2 -2
  492. package/rest/networks/support/AssociationGeometriesResult.d.ts +2 -2
  493. package/rest/networks/support/FunctionResult.d.ts +2 -2
  494. package/rest/networks/support/NetworkElement.d.ts +2 -2
  495. package/rest/networks/support/QueryAssociationsParameters.d.ts +2 -2
  496. package/rest/networks/support/QueryAssociationsResult.d.ts +2 -2
  497. package/rest/networks/support/QueryNamedTraceConfigurationsParameters.d.ts +2 -2
  498. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.d.ts +2 -2
  499. package/rest/networks/support/TraceLocation.d.ts +3 -3
  500. package/rest/networks/support/TraceParameters.d.ts +2 -2
  501. package/rest/networks/support/TraceResult.d.ts +2 -2
  502. package/rest/networks/support/ValidateNetworkTopologyParameters.d.ts +2 -2
  503. package/rest/networks/support/ValidateNetworkTopologyResult.d.ts +2 -2
  504. package/rest/query/support/AttachmentInfo.d.ts +2 -2
  505. package/rest/support/AddressCandidate.d.ts +2 -2
  506. package/rest/support/AddressToLocationsParameters.d.ts +2 -2
  507. package/rest/support/AddressesToLocationsParameters.d.ts +2 -2
  508. package/rest/support/ArealUnit.d.ts +2 -2
  509. package/rest/support/AreasAndLengthsParameters.d.ts +2 -2
  510. package/rest/support/AttachmentQuery.d.ts +2 -2
  511. package/rest/support/AttributeBinsFeatureSet.d.ts +2 -2
  512. package/rest/support/AttributeBinsGrouping.d.ts +3 -3
  513. package/rest/support/AttributeBinsQuery.d.ts +3 -3
  514. package/rest/support/BaseImageMeasureParameters.d.ts +2 -2
  515. package/rest/support/BaseImageMeasureResult.d.ts +2 -2
  516. package/rest/support/BaseImageMeasureResultValue.d.ts +2 -2
  517. package/rest/support/BinParametersBase.d.ts +3 -3
  518. package/rest/support/BufferParameters.d.ts +2 -2
  519. package/rest/support/CameraInfo.d.ts +2 -2
  520. package/rest/support/CameraInfoMixin.d.ts +0 -1
  521. package/rest/support/ClosestFacilityParameters.d.ts +3 -3
  522. package/rest/support/ClosestFacilitySolveResult.d.ts +2 -2
  523. package/rest/support/ColorRamp.d.ts +2 -2
  524. package/rest/support/DataFile.d.ts +2 -2
  525. package/rest/support/DataLayer.d.ts +3 -3
  526. package/rest/support/DateBinTimeInterval.d.ts +3 -3
  527. package/rest/support/DensifyParameters.d.ts +2 -2
  528. package/rest/support/DirectionLine.d.ts +3 -3
  529. package/rest/support/DirectionPoint.d.ts +3 -3
  530. package/rest/support/DirectionsEvent.d.ts +2 -2
  531. package/rest/support/DirectionsString.d.ts +2 -2
  532. package/rest/support/FeatureSet.d.ts +2 -2
  533. package/rest/support/FindImagesParameters.d.ts +3 -3
  534. package/rest/support/FindImagesResult.d.ts +2 -2
  535. package/rest/support/FindParameters.d.ts +2 -2
  536. package/rest/support/FindResult.d.ts +2 -2
  537. package/rest/support/GPMessage.d.ts +2 -2
  538. package/rest/support/GeneralizeParameters.d.ts +2 -2
  539. package/rest/support/IdentifyParameters.d.ts +2 -2
  540. package/rest/support/IdentifyResult.d.ts +2 -2
  541. package/rest/support/ImageAngleParameters.d.ts +2 -2
  542. package/rest/support/ImageAngleResult.d.ts +2 -2
  543. package/rest/support/ImageBoundaryParameters.d.ts +3 -3
  544. package/rest/support/ImageBoundaryResult.d.ts +2 -2
  545. package/rest/support/ImageGPSInfo.d.ts +2 -2
  546. package/rest/support/ImageGPSInfoParameters.d.ts +3 -3
  547. package/rest/support/ImageGPSInfoResult.d.ts +2 -2
  548. package/rest/support/ImageHistogramParameters.d.ts +2 -2
  549. package/rest/support/ImageIdentifyParameters.d.ts +2 -2
  550. package/rest/support/ImageIdentifyResult.d.ts +2 -2
  551. package/rest/support/ImageInspectionInfo.d.ts +2 -2
  552. package/rest/support/ImagePixelLocationParameters.d.ts +2 -2
  553. package/rest/support/ImagePixelLocationResult.d.ts +2 -2
  554. package/rest/support/ImageSample.d.ts +2 -2
  555. package/rest/support/ImageSampleParameters.d.ts +2 -2
  556. package/rest/support/ImageSampleResult.d.ts +2 -2
  557. package/rest/support/ImageToMapMultirayParameters.d.ts +3 -3
  558. package/rest/support/ImageToMapParameters.d.ts +3 -3
  559. package/rest/support/ImageUrlParameters.d.ts +3 -3
  560. package/rest/support/ImageUrlResult.d.ts +2 -2
  561. package/rest/support/ImageVolume.d.ts +2 -2
  562. package/rest/support/ImageVolumeParameters.d.ts +3 -3
  563. package/rest/support/ImageVolumeResult.d.ts +2 -2
  564. package/rest/support/JobInfo.d.ts +2 -2
  565. package/rest/support/LastMileDeliveryParameters.d.ts +3 -3
  566. package/rest/support/LegendLayer.d.ts +2 -2
  567. package/rest/support/LengthsParameters.d.ts +2 -2
  568. package/rest/support/LinearUnit.d.ts +2 -2
  569. package/rest/support/LocateSettingBase.d.ts +3 -3
  570. package/rest/support/LocateSettingSource.d.ts +3 -3
  571. package/rest/support/LocateSettings.d.ts +3 -3
  572. package/rest/support/LocateSettingsOverrides.d.ts +3 -3
  573. package/rest/support/LocationToAddressParameters.d.ts +2 -2
  574. package/rest/support/MapToImageParameters.d.ts +3 -3
  575. package/rest/support/MeasureAreaFromImageResult.d.ts +2 -2
  576. package/rest/support/MeasureFromImageParameters.d.ts +2 -2
  577. package/rest/support/MeasureLengthFromImageResult.d.ts +2 -2
  578. package/rest/support/NetworkUrl.d.ts +3 -3
  579. package/rest/support/NormalizationBinParametersMixin.d.ts +0 -1
  580. package/rest/support/OffsetParameters.d.ts +2 -2
  581. package/rest/support/ParameterValue.d.ts +4 -2
  582. package/rest/support/PointBarrier.d.ts +3 -3
  583. package/rest/support/PolygonBarrier.d.ts +3 -3
  584. package/rest/support/PolylineBarrier.d.ts +3 -3
  585. package/rest/support/ProjectParameters.d.ts +2 -2
  586. package/rest/support/QuantizationParameters.d.ts +2 -2
  587. package/rest/support/Query.d.ts +2 -2
  588. package/rest/support/RasterData.d.ts +2 -2
  589. package/rest/support/RelationParameters.d.ts +2 -2
  590. package/rest/support/RelationshipQuery.d.ts +2 -2
  591. package/rest/support/RouteInfo.d.ts +3 -3
  592. package/rest/support/RouteParameters.d.ts +3 -3
  593. package/rest/support/RouteResult.d.ts +2 -2
  594. package/rest/support/RouteSolveResult.d.ts +2 -2
  595. package/rest/support/ServiceAreaParameters.d.ts +3 -3
  596. package/rest/support/ServiceAreaSolveResult.d.ts +2 -2
  597. package/rest/support/StatisticDefinition.d.ts +2 -2
  598. package/rest/support/Stop.d.ts +3 -3
  599. package/rest/support/SuggestLocationsParameters.d.ts +2 -2
  600. package/rest/support/TimeUnit.d.ts +42 -0
  601. package/rest/support/TimeUnit.js +5 -0
  602. package/rest/support/TopFeaturesQuery.d.ts +2 -2
  603. package/rest/support/TopFilter.d.ts +2 -2
  604. package/rest/support/TravelMode.d.ts +3 -3
  605. package/rest/support/TrimExtendParameters.d.ts +2 -2
  606. package/rest/support/parameterValueUtils.js +1 -1
  607. package/rest/types.d.ts +1 -1
  608. package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.d.ts +2 -2
  609. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.d.ts +2 -2
  610. package/rest/versionManagement/support/CreateVersionParameters.d.ts +2 -2
  611. package/rest/versionManagement/support/GetVersionInfosParameters.d.ts +2 -2
  612. package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
  613. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  614. package/statistics/types.d.ts +0 -1
  615. package/support/MapFloorInfo.d.ts +2 -2
  616. package/support/revision.js +1 -1
  617. package/symbols/Font.d.ts +2 -2
  618. package/symbols/LineStyleMarker3D.d.ts +3 -3
  619. package/symbols/LineSymbolMarker.d.ts +2 -2
  620. package/symbols/Symbol.d.ts +2 -2
  621. package/symbols/Symbol3DLayer.d.ts +2 -2
  622. package/symbols/callouts/Callout3D.d.ts +2 -2
  623. package/symbols/callouts/LineCallout3DBorder.d.ts +2 -2
  624. package/symbols/edges/Edges3D.d.ts +2 -2
  625. package/symbols/patterns/LinePattern3D.d.ts +2 -2
  626. package/symbols/patterns/Pattern3D.d.ts +2 -2
  627. package/symbols/support/ElevationInfo.d.ts +10 -4
  628. package/symbols/support/FeatureExpressionInfo.d.ts +2 -2
  629. package/symbols/support/IconSymbol3DLayerResource.d.ts +2 -2
  630. package/symbols/support/ObjectSymbol3DLayerResource.d.ts +2 -2
  631. package/symbols/support/OccludedVisibility.d.ts +3 -3
  632. package/symbols/support/Symbol3DFillMaterial.js +1 -1
  633. package/symbols/support/Symbol3DHalo.d.ts +2 -2
  634. package/symbols/support/Symbol3DIconOutline.d.ts +2 -2
  635. package/symbols/support/Symbol3DMaterial.d.ts +6 -4
  636. package/symbols/support/Symbol3DMaterial.js +1 -1
  637. package/symbols/support/Symbol3DOutline.d.ts +2 -2
  638. package/symbols/support/Symbol3DTextBackground.d.ts +3 -3
  639. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  640. package/symbols/support/types.d.ts +0 -1
  641. package/tables/AttributeTableTemplate.d.ts +2 -2
  642. package/tables/elements/AttributeTableAttachmentElement.d.ts +2 -2
  643. package/tables/elements/AttributeTableElement.d.ts +2 -2
  644. package/tables/elements/AttributeTableFieldElement.d.ts +2 -2
  645. package/tables/elements/AttributeTableGroupElement.d.ts +2 -2
  646. package/tables/elements/AttributeTableRelationshipElement.d.ts +2 -2
  647. package/tables/support/FieldOrder.d.ts +3 -3
  648. package/time/TimeExtent.d.ts +2 -2
  649. package/time/TimeExtent.js +1 -1
  650. package/time/TimeInterval.d.ts +3 -3
  651. package/time/types.d.ts +0 -1
  652. package/versionManagement/VersionManagementService.d.ts +2 -2
  653. package/versionManagement/VersioningState.d.ts +2 -2
  654. package/versionManagement/support/type.d.ts +0 -1
  655. package/views/2d/ViewState.d.ts +2 -2
  656. package/views/2d/engine/imagery/RasterVFContainer.js +1 -1
  657. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  658. package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
  659. package/views/2d/engine/rasterBrushes.js +1 -1
  660. package/views/2d/engine/webgl/shaderGraph/techniques/raster/VectorFieldTechnique.js +5 -0
  661. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/AspectTechnique.js +1 -1
  662. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BandArithmeticTechnique.js +1 -1
  663. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ColormapToRGBTechnique.js +1 -1
  664. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CompositeBandTechnique.js +1 -1
  665. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ComputeChangeTechnique.js +1 -1
  666. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ContrastBrightnessTechnique.js +1 -1
  667. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ConvolutionTechnique.js +1 -1
  668. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CurvatureTechnique.js +1 -1
  669. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ExtractBandTechnique.js +1 -1
  670. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/FocalStatisticsTechnique.js +1 -1
  671. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/GrayscaleTechnique.js +1 -1
  672. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/HillshadeTechnique.js +1 -1
  673. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/LocalTechnique.js +1 -1
  674. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/MaskTechnique.js +1 -1
  675. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/NDVITechnique.js +1 -1
  676. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/RemapTechnique.js +1 -1
  677. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ReprojectTechnique.js +1 -1
  678. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ShadedReliefTechnique.js +1 -1
  679. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SlopeTechnique.js +1 -1
  680. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/StretchTechnique.js +1 -1
  681. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/MagDirShader.js +5 -0
  682. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/ScalarShader.js +5 -0
  683. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  684. package/views/2d/layers/MediaLayerView2D.js +1 -1
  685. package/views/2d/layers/TileLayerView2D.js +1 -1
  686. package/views/2d/layers/imagery/ImageryVFStrategy.js +1 -1
  687. package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
  688. package/views/2d/layers/support/MediaLayerInteractionOptions.d.ts +0 -1
  689. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  690. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  691. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  692. package/views/3d/analysis/Dimension/types.d.ts +0 -1
  693. package/views/3d/analysis/Slice/types.d.ts +0 -1
  694. package/views/3d/analysis/Viewshed/types.d.ts +0 -1
  695. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  696. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementRawResult.js +5 -0
  697. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.d.ts +5 -1
  698. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.js +1 -1
  699. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  700. package/views/3d/constraints/AltitudeConstraint.d.ts +2 -2
  701. package/views/3d/constraints/ClipDistanceConstraint.d.ts +2 -2
  702. package/views/3d/constraints/Constraints.d.ts +2 -2
  703. package/views/3d/constraints/TiltConstraint.d.ts +2 -2
  704. package/views/3d/environment/CloudyWeather.d.ts +2 -2
  705. package/views/3d/environment/EnvironmentManager.js +1 -1
  706. package/views/3d/environment/FoggyWeather.d.ts +2 -2
  707. package/views/3d/environment/RainyWeather.d.ts +2 -2
  708. package/views/3d/environment/SnowyWeather.d.ts +2 -2
  709. package/views/3d/environment/SunLighting.d.ts +2 -2
  710. package/views/3d/environment/SunnyWeather.d.ts +2 -2
  711. package/views/3d/environment/VirtualLighting.d.ts +2 -2
  712. package/views/3d/layers/ElevationLayerView3D.js +1 -1
  713. package/views/3d/layers/FlowSubView3D.js +1 -1
  714. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  715. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  716. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  717. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  718. package/views/3d/layers/graphics/emissiveUtils.js +5 -0
  719. package/views/3d/layers/support/layerUtils.js +1 -1
  720. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  721. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  722. package/views/3d/support/mathUtils.js +1 -1
  723. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  724. package/views/3d/support/supportedSpatialReference.js +1 -1
  725. package/views/3d/terrain/terrainUtils.js +1 -1
  726. package/views/3d/webgl/ManagedFBO.js +1 -1
  727. package/views/3d/webgl/ManagedFBOResource.d.ts +0 -1
  728. package/views/3d/webgl/RenderNode.d.ts +1 -1
  729. package/views/3d/webgl/RenderNode.js +1 -1
  730. package/views/3d/webgl/types.d.ts +0 -1
  731. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  732. package/views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js +1 -1
  733. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  734. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  735. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  736. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  737. package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
  738. package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
  739. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  740. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  741. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  742. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  743. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +31 -23
  744. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  745. package/views/3d/webgl.d.ts +16 -8
  746. package/views/3d/webgl.js +1 -1
  747. package/views/Theme.d.ts +2 -2
  748. package/views/VideoView.d.ts +4 -4
  749. package/views/VideoView.js +1 -1
  750. package/views/View.d.ts +3 -3
  751. package/views/View2D.d.ts +2 -2
  752. package/views/ViewAnimation.d.ts +2 -2
  753. package/views/Viewport2DMixin.d.ts +0 -2
  754. package/views/analysis/ElevationProfile/ElevationProfileResult.d.ts +2 -2
  755. package/views/animation/types.d.ts +0 -1
  756. package/views/draw/CursorUpdateEvent.d.ts +0 -1
  757. package/views/draw/DrawAction.d.ts +3 -3
  758. package/views/draw/DrawCompleteEvent.d.ts +0 -1
  759. package/views/draw/VertexAddEvent.d.ts +0 -1
  760. package/views/draw/VertexRemoveEvent.d.ts +0 -1
  761. package/views/draw/support/managers/{DrawTooltipManager.js → TooltipManager.js} +1 -1
  762. package/views/draw/types.d.ts +0 -1
  763. package/views/input/ViewEvents.js +1 -1
  764. package/views/input/recognizers/VerticalTwoFingerDrag.js +1 -1
  765. package/views/input/types.d.ts +94 -0
  766. package/views/interactive/Tooltip.d.ts +2 -2
  767. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  768. package/views/interactive/tooltip/types.d.ts +0 -1
  769. package/views/layers/ImageryTileLayerViewMixin.d.ts +0 -1
  770. package/views/layers/LayerView.d.ts +3 -3
  771. package/views/layers/SceneLayerView.js +1 -1
  772. package/views/layers/types.d.ts +0 -1
  773. package/views/navigation/types.d.ts +0 -1
  774. package/views/support/AttributionItem.d.ts +0 -1
  775. package/views/support/MeasurementWorker.js +1 -1
  776. package/views/support/MeasurementWorkerHandle.js +1 -1
  777. package/views/support/measurementUtils.js +1 -1
  778. package/views/support/screenUtils.js +1 -1
  779. package/views/ui/UI.d.ts +2 -2
  780. package/webdoc/GeotriggersInfo.d.ts +3 -3
  781. package/webdoc/IPSInfo.d.ts +3 -3
  782. package/webdoc/Widgets.d.ts +2 -2
  783. package/webdoc/applicationProperties/Search.d.ts +2 -2
  784. package/webdoc/applicationProperties/SearchLayer.d.ts +2 -2
  785. package/webdoc/applicationProperties/SearchLayerField.d.ts +2 -2
  786. package/webdoc/applicationProperties/SearchTable.d.ts +2 -2
  787. package/webdoc/applicationProperties/SearchTableField.d.ts +2 -2
  788. package/webdoc/applicationProperties/Viewing.d.ts +2 -2
  789. package/webdoc/geotriggersInfo/DeviceLocationFeed.d.ts +3 -3
  790. package/webdoc/geotriggersInfo/ExpressionInfo.d.ts +3 -3
  791. package/webdoc/geotriggersInfo/FeatureFenceParameters.d.ts +3 -3
  792. package/webdoc/geotriggersInfo/FeatureFilter.d.ts +3 -3
  793. package/webdoc/geotriggersInfo/FeatureLayerSource.d.ts +3 -3
  794. package/webdoc/geotriggersInfo/Geotrigger.d.ts +3 -3
  795. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.d.ts +3 -3
  796. package/webdoc/geotriggersInfo/support/typeUtils.d.ts +0 -1
  797. package/webdoc/ips/AppleIPSProperties.d.ts +3 -3
  798. package/webdoc/ips/Configuration.d.ts +3 -3
  799. package/webdoc/ips/GNSSProperties.d.ts +3 -3
  800. package/webdoc/ips/PathSnappingProperties.d.ts +3 -3
  801. package/webdoc/ips/PositioningService.d.ts +3 -3
  802. package/webdoc/ips/SmoothingProperties.d.ts +3 -3
  803. package/webdoc/support/SlideThumbnail.d.ts +3 -3
  804. package/webdoc/support/types.d.ts +0 -1
  805. package/webdoc/widgets/FloorFilter.d.ts +2 -2
  806. package/webdoc/widgets/TimeSlider.d.ts +2 -2
  807. package/webmap/ApplicationProperties.d.ts +2 -2
  808. package/webmap/Bookmark.d.ts +2 -2
  809. package/webmap/InitialViewProperties.d.ts +2 -2
  810. package/webmap/background/ColorBackground.d.ts +2 -2
  811. package/webscene/ApplicationProperties.d.ts +2 -2
  812. package/webscene/Environment.d.ts +2 -2
  813. package/webscene/InitialViewProperties.d.ts +3 -3
  814. package/webscene/Presentation.d.ts +3 -3
  815. package/webscene/Slide.d.ts +4 -4
  816. package/webscene/SlideLegendInfo.d.ts +3 -3
  817. package/webscene/SunLighting.d.ts +2 -2
  818. package/webscene/VirtualLighting.d.ts +2 -2
  819. package/webscene/background/Background.d.ts +2 -2
  820. package/webscene/support/Description.d.ts +3 -3
  821. package/webscene/support/FeatureReference.d.ts +3 -3
  822. package/webscene/support/FeatureReferenceId.d.ts +3 -3
  823. package/webscene/support/LayerReference.d.ts +3 -3
  824. package/webscene/support/SlideElements.d.ts +3 -3
  825. package/webscene/support/SlideEnvironment.d.ts +3 -3
  826. package/webscene/support/SlideGround.d.ts +3 -3
  827. package/webscene/support/SlidePopupInfo.d.ts +3 -3
  828. package/webscene/support/SlideVisibleLayer.d.ts +3 -3
  829. package/webscene/support/Title.d.ts +3 -3
  830. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  831. package/widgets/AreaMeasurement2D.d.ts +1 -0
  832. package/widgets/AreaMeasurement2D.js +1 -1
  833. package/widgets/Attachments/types.d.ts +0 -1
  834. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
  835. package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +2 -2
  836. package/widgets/BasemapLayerList/types.d.ts +0 -1
  837. package/widgets/BasemapLayerList.d.ts +1 -0
  838. package/widgets/BasemapLayerList.js +1 -1
  839. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +2 -2
  840. package/widgets/Bookmarks/BookmarksViewModel.d.ts +2 -2
  841. package/widgets/CatalogLayerList/CatalogLayerListViewModel.d.ts +2 -2
  842. package/widgets/CatalogLayerList/types.d.ts +0 -1
  843. package/widgets/CatalogLayerList.d.ts +1 -0
  844. package/widgets/CatalogLayerList.js +1 -1
  845. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
  846. package/widgets/Daylight/DaylightViewModel.d.ts +2 -2
  847. package/widgets/Daylight/types.d.ts +0 -1
  848. package/widgets/DirectionalPad/DirectionalPadViewModel.d.ts +2 -2
  849. package/widgets/DirectionalPad/types.d.ts +0 -1
  850. package/widgets/Directions/DirectionsViewModel.d.ts +2 -2
  851. package/widgets/Directions.d.ts +1 -0
  852. package/widgets/Directions.js +1 -1
  853. package/widgets/DistanceMeasurement2D.d.ts +1 -0
  854. package/widgets/DistanceMeasurement2D.js +1 -1
  855. package/widgets/Editor/EditorViewModel.d.ts +2 -2
  856. package/widgets/Editor/UpdateFeaturesWorkflowData.d.ts +2 -2
  857. package/widgets/Editor/Workflow.d.ts +2 -2
  858. package/widgets/Editor.d.ts +1 -0
  859. package/widgets/Editor.js +1 -1
  860. package/widgets/ElevationProfile/ElevationProfileLine.d.ts +2 -2
  861. package/widgets/FeatureForm/FeatureFormViewModel.d.ts +3 -3
  862. package/widgets/FeatureForm.d.ts +1 -0
  863. package/widgets/FeatureForm.js +1 -1
  864. package/widgets/FeatureTable/Grid/GridViewModel.d.ts +2 -2
  865. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +3 -3
  866. package/widgets/FeatureTable/support/EditableColumnTemplateMixin.d.ts +0 -1
  867. package/widgets/FeatureTable/support/TableTemplate.d.ts +3 -3
  868. package/widgets/FeatureTable.d.ts +1 -0
  869. package/widgets/FeatureTable.js +1 -1
  870. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +2 -2
  871. package/widgets/Features/FeaturesViewModel.d.ts +2 -2
  872. package/widgets/FloorFilter.d.ts +1 -0
  873. package/widgets/FloorFilter.js +1 -1
  874. package/widgets/Histogram/types.d.ts +0 -1
  875. package/widgets/HistogramRangeSlider/types.d.ts +0 -1
  876. package/widgets/Home/HomeViewModel.d.ts +2 -2
  877. package/widgets/Home.d.ts +1 -2
  878. package/widgets/LayerList/LayerListViewModel.d.ts +2 -2
  879. package/widgets/LayerList.d.ts +1 -0
  880. package/widgets/LayerList.js +1 -1
  881. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.d.ts +2 -2
  882. package/widgets/Measurement/types.d.ts +0 -1
  883. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.d.ts +3 -3
  884. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  885. package/widgets/OrientedImageryViewer/adapters/sketch/DataCaptureAdapter.js +1 -1
  886. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  887. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  888. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  889. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  890. package/widgets/OrientedImageryViewer/components/OverlayLayersListViewModel.js +1 -1
  891. package/widgets/OrientedImageryViewer/services/TransformationService.js +5 -0
  892. package/widgets/OrientedImageryViewer/support/dataCaptureUtils.js +5 -0
  893. package/widgets/OrientedImageryViewer/support/geometryUtils.js +5 -0
  894. package/widgets/OrientedImageryViewer/support/typeUtils.js +5 -0
  895. package/widgets/OrientedImageryViewer/types.d.ts +0 -1
  896. package/widgets/Print/CustomTemplate.d.ts +2 -2
  897. package/widgets/Print/PrintViewModel.d.ts +3 -3
  898. package/widgets/ScaleRangeSlider/types.d.ts +0 -1
  899. package/widgets/ScaleRangeSlider.d.ts +1 -0
  900. package/widgets/ScaleRangeSlider.js +1 -1
  901. package/widgets/Search/SearchSource.d.ts +2 -2
  902. package/widgets/Search/SearchViewModel.d.ts +3 -4
  903. package/widgets/ShadowCast/types.d.ts +0 -1
  904. package/widgets/Sketch/SketchViewModel.d.ts +2 -2
  905. package/widgets/Sketch.d.ts +1 -0
  906. package/widgets/Sketch.js +1 -1
  907. package/widgets/Swipe/types.d.ts +0 -1
  908. package/widgets/TableList/TableListViewModel.d.ts +2 -2
  909. package/widgets/TableList.d.ts +1 -0
  910. package/widgets/TableList.js +1 -1
  911. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +2 -2
  912. package/widgets/TimeSlider.d.ts +1 -0
  913. package/widgets/TimeSlider.js +1 -1
  914. package/widgets/Track/types.d.ts +0 -1
  915. package/widgets/UtilityNetworkAssociations.d.ts +1 -0
  916. package/widgets/UtilityNetworkAssociations.js +1 -1
  917. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +2 -2
  918. package/widgets/UtilityNetworkTrace.d.ts +1 -0
  919. package/widgets/UtilityNetworkTrace.js +1 -1
  920. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -0
  921. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  922. package/widgets/ValuePicker/types.d.ts +0 -1
  923. package/widgets/ValuePicker.d.ts +1 -0
  924. package/widgets/ValuePicker.js +1 -1
  925. package/widgets/Weather/types.d.ts +0 -1
  926. package/widgets/Widget.d.ts +3 -3
  927. package/widgets/support/GeolocationPositioning.d.ts +2 -2
  928. package/widgets/support/GridControls/GridControlsViewModel.d.ts +2 -2
  929. package/widgets/support/GridControls/types.d.ts +0 -1
  930. package/widgets/support/forms/types.d.ts +0 -1
  931. package/widgets/types.d.ts +1 -2
  932. package/assets/esri/core/workers/chunks/00e135dc1b4cb024973d.js +0 -1
  933. package/assets/esri/core/workers/chunks/03da31c7635d077e8d99.js +0 -1
  934. package/assets/esri/core/workers/chunks/185c97bc63ce546995ce.js +0 -1
  935. package/assets/esri/core/workers/chunks/1a13b472e0cf9f88e8de.js +0 -1
  936. package/assets/esri/core/workers/chunks/1a62c456e791c82050fe.js +0 -1
  937. package/assets/esri/core/workers/chunks/25dead73dfc5a4c19285.js +0 -1
  938. package/assets/esri/core/workers/chunks/2767b69085c9f7a1e1af.js +0 -1
  939. package/assets/esri/core/workers/chunks/3606fc5537c4d11b9554.js +0 -1
  940. package/assets/esri/core/workers/chunks/3ad7ec46adecf00ae1c2.js +0 -1
  941. package/assets/esri/core/workers/chunks/3b67aa46a60e35469bf8.js +0 -1
  942. package/assets/esri/core/workers/chunks/43e9eaedf65921b58eb2.js +0 -1
  943. package/assets/esri/core/workers/chunks/4b09d92c51c4619b548a.js +0 -1
  944. package/assets/esri/core/workers/chunks/4caec60ac0a5851730c6.js +0 -1
  945. package/assets/esri/core/workers/chunks/5119e3159617b8e1ea13.js +0 -1
  946. package/assets/esri/core/workers/chunks/52684c2abc9e8ce793cf.js +0 -1
  947. package/assets/esri/core/workers/chunks/532935f420ed5f13c011.js +0 -1
  948. package/assets/esri/core/workers/chunks/5348e4dc55428de9bba7.js +0 -1
  949. package/assets/esri/core/workers/chunks/53a1c6e008287d1f12f0.js +0 -1
  950. package/assets/esri/core/workers/chunks/59d3f3fbae775fd7686e.js +0 -1
  951. package/assets/esri/core/workers/chunks/5a706eecd8a988fae6b7.js +0 -1
  952. package/assets/esri/core/workers/chunks/5ba2bbbb42ef1920579d.js +0 -1
  953. package/assets/esri/core/workers/chunks/5cc731f161012b63c77a.js +0 -1
  954. package/assets/esri/core/workers/chunks/5fa8fe6353dbdda0b06a.js +0 -1
  955. package/assets/esri/core/workers/chunks/5fc6cada83bf8462d54c.js +0 -1
  956. package/assets/esri/core/workers/chunks/6107b58457a70c8de9da.js +0 -1
  957. package/assets/esri/core/workers/chunks/654eef3ad30f34c42e12.js +0 -1
  958. package/assets/esri/core/workers/chunks/7130b09300032d3a5925.js +0 -1
  959. package/assets/esri/core/workers/chunks/7a1ec6ac88d974cc5074.js +0 -1
  960. package/assets/esri/core/workers/chunks/7f76566d9b3801742387.js +0 -1
  961. package/assets/esri/core/workers/chunks/7f7c4ffbdf7b20dc7a54.js +0 -1
  962. package/assets/esri/core/workers/chunks/81e395a93c67749c6487.js +0 -1
  963. package/assets/esri/core/workers/chunks/8deae3a426eceae73186.js +0 -1
  964. package/assets/esri/core/workers/chunks/97ad3eb25ad003c16148.js +0 -1
  965. package/assets/esri/core/workers/chunks/9919b3c345785e910c38.js +0 -1
  966. package/assets/esri/core/workers/chunks/a4ee92867ad5cde25aed.js +0 -1
  967. package/assets/esri/core/workers/chunks/a56a5e00964d4cd59a66.js +0 -1
  968. package/assets/esri/core/workers/chunks/a774b4fc7df801503bea.js +0 -1
  969. package/assets/esri/core/workers/chunks/ab3e457c82fa9bd0203f.js +0 -1
  970. package/assets/esri/core/workers/chunks/ac0949ea3d2cf3eb7383.js +0 -1
  971. package/assets/esri/core/workers/chunks/af3d4eba6fe24db3ceba.js +0 -1
  972. package/assets/esri/core/workers/chunks/b1015e1f25b60c08d2cf.js +0 -1
  973. package/assets/esri/core/workers/chunks/b1085fa91724e2d3b24f.js +0 -1
  974. package/assets/esri/core/workers/chunks/b48b0f512a1cd7226bdc.js +0 -1
  975. package/assets/esri/core/workers/chunks/bbb409e54db77bfabdee.js +0 -1
  976. package/assets/esri/core/workers/chunks/c0265669fb616f052b65.js +0 -1
  977. package/assets/esri/core/workers/chunks/c18a2948ae3cb527d8bb.js +0 -1
  978. package/assets/esri/core/workers/chunks/d3c69c9cb3d9c3f5c67a.js +0 -1
  979. package/assets/esri/core/workers/chunks/d477def8bfd8482596d1.js +0 -1
  980. package/assets/esri/core/workers/chunks/d4f4c0201d8b641709c0.js +0 -1
  981. package/assets/esri/core/workers/chunks/dd30c1f5da0af72becd1.js +0 -1
  982. package/assets/esri/core/workers/chunks/dedd9d47ccc019ffc484.js +0 -1
  983. package/assets/esri/core/workers/chunks/dfef6e3d7bbf099de498.js +0 -1
  984. package/assets/esri/core/workers/chunks/ecf7d34b37ce6f0877af.js +0 -1
  985. package/assets/esri/core/workers/chunks/f3fdf9970b3c7acd071d.js +0 -1
  986. package/layers/support/ElevationTileData.d.ts +0 -32
  987. package/rest/geoprocessor/execute.d.ts +0 -6
  988. package/views/2d/engine/imagery/BrushVectorField.js +0 -5
  989. package/views/3d/analysis/AreaMeasurement/support/utils.js +0 -5
  990. package/views/3d/analysis/VolumeMeasurement/volumeMeasurementUtils.js +0 -5
  991. package/widgets/OrientedImageryViewer/dataCaptureUtils.js +0 -5
  992. /package/layers/buildingSublayers/{utils.d.ts → types.d.ts} +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import"../../../Graphic.js";import t from"../../../core/Collection.js";import i from"../../../core/Error.js";import"../../../core/has.js";import s from"../../../core/Logger.js";import{getOrCreateMapValue as r}from"../../../core/MapUtils.js";import{isAbortError as o}from"../../../core/promiseUtils.js";import{watch as n,syncAndInitial as l,on as m}from"../../../core/reactiveUtils.js";import{property as a,subclass as p}from"../../../core/accessorSupport/decorators.js";import c from"../../../geometry/Extent.js";import{create as h}from"../../../geometry/support/aaBoundingRect.js";import{ringsContainsCoords as d}from"../../../geometry/support/contains.js";import{extentIntersectsPolygon as g}from"../../../geometry/support/intersectsBase.js";import{MediaElementView as f}from"../../../layers/support/MediaElementView.js";import"../../../renderers/SimpleRenderer.js";import"../../../symbols/SimpleFillSymbol.js";import"../../../core/scheduling.js";import"../../../core/RandomLCG.js";import"../../../Color.js";import"../../../core/mathUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../core/floatRGBA.js";import"../../../symbols/Font.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/spatialReferenceUtils.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectEnclosingPolygon.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectRadial.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectSuppress.js";import"../../../symbols/cim/effects/EffectTaperedPolygon.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtMeasuredUnits.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../symbols/cim/constants.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../../../geometry/Polygon.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Accessor.js";import"../engine/transitions/FadeTransition.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../../webgl/enums.js";import"../../webgl/Program.js";import"../../webgl/Util.js";import"../../webgl/VertexAttributeLayouts.js";import"../../webgl/BufferObject.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/MappedMesh.js";import"../engine/webgl/number.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../../webgl/Texture.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../../webgl/FramebufferObject.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlitShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/BloomShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlurShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../../webgl/Renderbuffer.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../engine/webgl/shaderGraph/techniques/animated/attributes.js";import"../engine/webgl/mesh/templates/templateUtils.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../core/sql/UnknownTimeZone.js";import"luxon";import"../../../intl/locale.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polyline.js";import"../../../layers/support/fieldUtils.js";import"../../../time/constants.js";import"../engine/webgl/animations/instructions.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/checkWebGLError.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/glsl.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../../../chunks/pe.js";import"../../../core/units.js";import"../../../geometry/ellipsoidUtils.js";import"../engine/webgl/meshing/definitions.js";import"../engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"../LabelManager.js";import"./graphics/GraphicsView2D.js";import"../engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtils.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/operators/support/GeographicTransformation.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../../../geometry/support/Ellipsoid.js";import"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import u from"../tiling/TileQueue.js";import j from"../tiling/TileStrategy.js";import y from"../engine/webgl/Overlay.js";import b from"../engine/webgl/OverlayContainer.js";import{LayerView2DMixin as w}from"./LayerView2D.js";import _ from"../../layers/LayerView.js";import{MediaLayerViewMixin as v}from"../../layers/MediaLayerViewMixin.js";import{TaskPriority as E}from"../../support/Scheduler.js";let G=class extends(w(v(_))){constructor(){super(...arguments),this._overlayContainer=null,this._fetchQueue=null,this._tileStrategy=null,this._elementReferences=new Map,this._debugGraphicsView=null,this._interaction=null,this.layer=null,this.elements=new t}initialize(){this.addHandles([n(()=>[this.interactive,this.suspended],async()=>{if(this.interactive&&!this._interaction){const{MediaLayerInteraction:e}=await import("./support/MediaLayerInteraction.js");this._interaction=new e({view:this.view,layer:this.layer}),this.selectedElement!==this._interaction.selectedElement&&(this._interaction.selectedElement=this.selectedElement),this.interactionOptions!==this._interaction.options&&(this._interaction.options=this.interactionOptions)}this._interaction&&(this._interaction.enabled=!this.suspended&&this.interactive)},l),n(()=>this.interactionOptions,e=>{this._interaction&&(this._interaction.options=e)},l),n(()=>this.selectedElement,e=>{this._interaction&&(this._interaction.selectedElement=e)},l)])}attach(){this.addAttachHandles([m(()=>this.layer.effectiveSource,"refresh",()=>{this._tileStrategy.refresh(e=>this._updateTile(e)),this.requestUpdate()}),m(()=>this.layer.effectiveSource,"change",({element:e})=>this._elementUpdateHandler(e))]),this._overlayContainer=new b,this.container.addChild(this._overlayContainer),this._fetchQueue=new u({tileInfoView:this.view.featuresTilingScheme,concurrency:10,process:(e,t)=>this._queryElements(e,t),scheduler:this.scheduler,priority:E.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new j({cachePolicy:"purge",resampling:!0,acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme}),this.requestUpdate()}detach(){this.elements.removeAll(),this._tileStrategy.destroy(),this._fetchQueue.destroy(),this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this._elementReferences.clear(),this._debugGraphicsView?.destroy()}supportsSpatialReference(e){return!0}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}update(e){this._tileStrategy.update(e),this._debugGraphicsView?.update(e)}async hitTest(e,t){const i=[],s=e.normalize(),r=[s.x,s.y];for(const{elementView:{normalizedCoords:o,element:n}}of this._elementReferences.values())null!=o&&d(o.rings,r)&&i.push({type:"media",element:n,layer:this.layer,mapPoint:e,sourcePoint:n.toSource(e)});return i.reverse()}canResume(){return null!=this.layer.source&&super.canResume()}async doRefresh(){this._fetchQueue.reset(),this._tileStrategy.refresh(e=>this._updateTile(e))}_acquireTile(e){const t=new P(e.clone());return this._updateTile(t),t}_updateTile(e){this._updatingHandles.addPromise(this._fetchQueue.push(e.key).then(t=>{const[i,s]=e.setElements(t);this._referenceElements(e,i),this._dereferenceElements(e,s),this.requestUpdate()},e=>{o(e)||s.getLogger(this).error(e)}))}_releaseTile(e){this._fetchQueue.abort(e.key.id),e.elements&&this._dereferenceElements(e,e.elements),this.requestUpdate()}async _queryElements(e,t){const i=this.layer.effectiveSource;if(null==i)return[];this.view.featuresTilingScheme.getTileBounds(S,e,!0);const s=new c({xmin:S[0],ymin:S[1],xmax:S[2],ymax:S[3],spatialReference:this.view.spatialReference});return i.queryElements(s,t)}_referenceElements(e,t){if(null!=this.layer.source)for(const i of t)this._referenceElement(e,i)}_referenceElement(e,t){r(this._elementReferences,t.uid,()=>{const e=new f({element:t,spatialReference:this.view.spatialReference}),r=new y(e);return this._overlayContainer.addChild(r),this.elements.add(t),this._updatingHandles.addPromise(t.load().catch(e=>{s.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new i("element-load-error","Element cannot be displayed",{element:t,error:e}))})),{debugGraphic:null,elementView:e,overlay:r,tiles:new Set}}).tiles.add(e)}_dereferenceElements(e,t){for(const i of t)this._dereferenceElement(e,i)}_dereferenceElement(e,t){const i=this._elementReferences.get(t.uid);i.tiles.delete(e),i.tiles.size||(this._overlayContainer.removeChild(i.overlay),i.overlay.destroy(),i.elementView.destroy(),this._elementReferences.delete(t.uid),this.elements.remove(t),this._debugGraphicsView?.graphics.remove(i.debugGraphic))}_elementUpdateHandler(e){let t=this._elementReferences.get(e.uid);if(t){const i=t.elementView.normalizedCoords;if(null==i)return this._overlayContainer.removeChild(t.overlay),t.overlay.destroy(),t.elementView.destroy(),this._elementReferences.delete(e.uid),this.elements.remove(e),void this._debugGraphicsView?.graphics.remove(t.debugGraphic);const s=[],r=[];for(const e of this._tileStrategy.tiles){const o=M(this.view.featuresTilingScheme,e,i);t.tiles.has(e)?o||r.push(e):o&&s.push(e)}for(const t of s)this._referenceElement(t,e);for(const t of r)this._dereferenceElement(t,e);return t=this._elementReferences.get(e.uid),void(t?.debugGraphic&&(t.debugGraphic.geometry=t.elementView.normalizedCoords,this._debugGraphicsView.graphicUpdateHandler({graphic:t.debugGraphic,property:"geometry"})))}const i=new f({element:e,spatialReference:this.view.spatialReference}).normalizedCoords;if(null!=i)for(const s of this._tileStrategy.tiles){M(this.view.featuresTilingScheme,s,i)&&this._referenceElement(s,e)}}};e([a()],G.prototype,"layer",void 0),e([a({readOnly:!0})],G.prototype,"elements",void 0),G=e([p("esri.views.2d.layers.MediaLayerView2D")],G);const S=h(),q={xmin:0,ymin:0,xmax:0,ymax:0};function M(e,t,i){return e.getTileBounds(S,t.key,!0),q.xmin=S[0],q.ymin=S[1],q.xmax=S[2],q.ymax=S[3],g(q,i)}class P{constructor(e){this.key=e,this.elements=null,this.isReady=!1,this.visible=!0}setElements(e){const t=[],i=new Set(this.elements);this.elements=e;for(const s of e)i.has(s)?i.delete(s):t.push(s);return this.isReady=!0,[t,Array.from(i)]}destroy(){}}const C=G;export{C as default};
5
+ import{__decorate as e}from"tslib";import"../../../Graphic.js";import t from"../../../core/Collection.js";import i from"../../../core/Error.js";import"../../../core/has.js";import s from"../../../core/Logger.js";import{getOrCreateMapValue as r}from"../../../core/MapUtils.js";import{isAbortError as o}from"../../../core/promiseUtils.js";import{watch as n,syncAndInitial as l,on as m}from"../../../core/reactiveUtils.js";import{property as a,subclass as p}from"../../../core/accessorSupport/decorators.js";import c from"../../../geometry/Extent.js";import{create as h}from"../../../geometry/support/aaBoundingRect.js";import{ringsContainsCoords as d}from"../../../geometry/support/contains.js";import{extentIntersectsPolygon as g}from"../../../geometry/support/intersectsBase.js";import{MediaElementView as f}from"../../../layers/support/MediaElementView.js";import"../../../renderers/SimpleRenderer.js";import"../../../symbols/SimpleFillSymbol.js";import"../../../core/scheduling.js";import"../../../core/RandomLCG.js";import"../../../Color.js";import"../../../core/mathUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../core/floatRGBA.js";import"../../../symbols/Font.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/spatialReferenceUtils.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectEnclosingPolygon.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectRadial.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectSuppress.js";import"../../../symbols/cim/effects/EffectTaperedPolygon.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtMeasuredUnits.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../symbols/cim/constants.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../../../geometry/Polygon.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Accessor.js";import"../engine/transitions/FadeTransition.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../../webgl/enums.js";import"../../webgl/Program.js";import"../../webgl/Util.js";import"../../webgl/VertexAttributeLayouts.js";import"../../webgl/BufferObject.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/MappedMesh.js";import"../engine/webgl/number.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../../webgl/Texture.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../../webgl/FramebufferObject.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlitShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/BloomShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlurShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../../webgl/Renderbuffer.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../engine/webgl/shaderGraph/techniques/animated/attributes.js";import"../engine/webgl/mesh/templates/templateUtils.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../core/sql/UnknownTimeZone.js";import"luxon";import"../../../intl/locale.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polyline.js";import"../../../layers/support/fieldUtils.js";import"../../../time/constants.js";import"../engine/webgl/animations/instructions.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/checkWebGLError.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/glsl.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../../../chunks/pe.js";import"../../../core/units.js";import"../../../geometry/ellipsoidUtils.js";import"../engine/webgl/meshing/definitions.js";import"../engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"../LabelManager.js";import"./graphics/GraphicsView2D.js";import"../engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtils.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/spatialReferenceEllipsoidUtils.js";import"../../../geometry/operators/support/GeographicTransformation.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../../../geometry/support/Ellipsoid.js";import"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import u from"../tiling/TileQueue.js";import j from"../tiling/TileStrategy.js";import y from"../engine/webgl/Overlay.js";import b from"../engine/webgl/OverlayContainer.js";import{LayerView2DMixin as w}from"./LayerView2D.js";import _ from"../../layers/LayerView.js";import{MediaLayerViewMixin as v}from"../../layers/MediaLayerViewMixin.js";import{TaskPriority as E}from"../../support/Scheduler.js";let G=class extends(w(v(_))){constructor(){super(...arguments),this._overlayContainer=null,this._fetchQueue=null,this._tileStrategy=null,this._elementReferences=new Map,this._debugGraphicsView=null,this._interaction=null,this.layer=null,this.elements=new t}initialize(){this.addHandles([n(()=>[this.interactive,this.suspended],async()=>{if(this.interactive&&!this._interaction){const{MediaLayerInteraction:e}=await import("./support/MediaLayerInteraction.js");this._interaction=new e({view:this.view,layer:this.layer}),this.selectedElement!==this._interaction.selectedElement&&(this._interaction.selectedElement=this.selectedElement),this.interactionOptions!==this._interaction.options&&(this._interaction.options=this.interactionOptions)}this._interaction&&(this._interaction.enabled=!this.suspended&&this.interactive)},l),n(()=>this.interactionOptions,e=>{this._interaction&&(this._interaction.options=e)},l),n(()=>this.selectedElement,e=>{this._interaction&&(this._interaction.selectedElement=e)},l)])}attach(){this.addAttachHandles([m(()=>this.layer.effectiveSource,"refresh",()=>{this._tileStrategy.refresh(e=>this._updateTile(e)),this.requestUpdate()}),m(()=>this.layer.effectiveSource,"change",({element:e})=>this._elementUpdateHandler(e))]),this._overlayContainer=new b,this.container.addChild(this._overlayContainer),this._fetchQueue=new u({tileInfoView:this.view.featuresTilingScheme,concurrency:10,process:(e,t)=>this._queryElements(e,t),scheduler:this.scheduler,priority:E.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new j({cachePolicy:"purge",resampling:!0,acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme}),this.requestUpdate()}detach(){this.elements.removeAll(),this._tileStrategy.destroy(),this._fetchQueue.destroy(),this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this._elementReferences.clear(),this._debugGraphicsView?.destroy()}supportsSpatialReference(e){return!0}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}update(e){this._tileStrategy.update(e),this._debugGraphicsView?.update(e)}async hitTest(e,t){const i=[],s=e.normalize(),r=[s.x,s.y];for(const{elementView:{normalizedCoords:o,element:n}}of this._elementReferences.values())null!=o&&d(o.rings,r)&&i.push({type:"media",element:n,layer:this.layer,mapPoint:e,sourcePoint:n.toSource(e)});return i.reverse()}canResume(){return null!=this.layer.source&&super.canResume()}async doRefresh(){this._fetchQueue.reset(),this._tileStrategy.refresh(e=>this._updateTile(e))}_acquireTile(e){const t=new P(e.clone());return this._updateTile(t),t}_updateTile(e){this._updatingHandles.addPromise(this._fetchQueue.push(e.key).then(t=>{const[i,s]=e.setElements(t);this._referenceElements(e,i),this._dereferenceElements(e,s),this.requestUpdate()},e=>{o(e)||s.getLogger(this).error(e)}))}_releaseTile(e){this._fetchQueue.abort(e.key.id),e.elements&&this._dereferenceElements(e,e.elements),this.requestUpdate()}async _queryElements(e,t){const i=this.layer.effectiveSource;if(null==i)return[];this.view.featuresTilingScheme.getTileBounds(S,e,!0);const s=new c({xmin:S[0],ymin:S[1],xmax:S[2],ymax:S[3],spatialReference:this.view.spatialReference});return i.queryElements(s,t)}_referenceElements(e,t){if(null!=this.layer.source)for(const i of t)this._referenceElement(e,i)}_referenceElement(e,t){r(this._elementReferences,t.uid,()=>{const e=new f({element:t,spatialReference:this.view.spatialReference}),r=new y(e);return this._overlayContainer.addChild(r),this.elements.add(t),this._updatingHandles.addPromise(t.load().catch(e=>{s.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new i("element-load-error","Element cannot be displayed",{element:t,error:e}))})),{debugGraphic:null,elementView:e,overlay:r,tiles:new Set}}).tiles.add(e)}_dereferenceElements(e,t){for(const i of t)this._dereferenceElement(e,i)}_dereferenceElement(e,t){const i=this._elementReferences.get(t.uid);i.tiles.delete(e),i.tiles.size||(this._overlayContainer.removeChild(i.overlay),i.overlay.destroy(),i.elementView.destroy(),this._elementReferences.delete(t.uid),this.elements.remove(t),this._debugGraphicsView?.graphics.remove(i.debugGraphic))}_elementUpdateHandler(e){let t=this._elementReferences.get(e.uid);if(t){const i=t.elementView.normalizedCoords;if(null==i)return this._overlayContainer.removeChild(t.overlay),t.overlay.destroy(),t.elementView.destroy(),this._elementReferences.delete(e.uid),this.elements.remove(e),void this._debugGraphicsView?.graphics.remove(t.debugGraphic);const s=[],r=[];for(const e of this._tileStrategy.tiles){const o=M(this.view.featuresTilingScheme,e,i);t.tiles.has(e)?o||r.push(e):o&&s.push(e)}for(const t of s)this._referenceElement(t,e);for(const t of r)this._dereferenceElement(t,e);return t=this._elementReferences.get(e.uid),void(t?.debugGraphic&&(t.debugGraphic.geometry=t.elementView.normalizedCoords,this._debugGraphicsView.graphicUpdateHandler({graphic:t.debugGraphic,property:"geometry"})))}const i=new f({element:e,spatialReference:this.view.spatialReference}).normalizedCoords;if(null!=i)for(const s of this._tileStrategy.tiles){M(this.view.featuresTilingScheme,s,i)&&this._referenceElement(s,e)}}};e([a()],G.prototype,"layer",void 0),e([a({readOnly:!0})],G.prototype,"elements",void 0),G=e([p("esri.views.2d.layers.MediaLayerView2D")],G);const S=h(),q={xmin:0,ymin:0,xmax:0,ymax:0};function M(e,t,i){return e.getTileBounds(S,t.key,!0),q.xmin=S[0],q.ymin=S[1],q.xmax=S[2],q.ymax=S[3],g(q,i)}class P{constructor(e){this.key=e,this.elements=null,this.isReady=!1,this.visible=!0}setElements(e){const t=[],i=new Set(this.elements);this.elements=e;for(const s of e)i.has(s)?i.delete(s):t.push(s);return this.isReady=!0,[t,Array.from(i)]}destroy(){}}const C=G;export{C as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{makeHandle as i}from"../../../core/handleUtils.js";import t from"../../../core/Logger.js";import{isAbortError as s,waitTick as r}from"../../../core/promiseUtils.js";import{property as o,subclass as l}from"../../../core/accessorSupport/decorators.js";import{equals as h}from"../../../geometry/support/spatialReferenceUtils.js";import{GraphicsCollection as a}from"../../../support/GraphicsCollection.js";import"../../../core/RandomLCG.js";import"../../../core/has.js";import"../../../core/scheduling.js";import"../../../Color.js";import"../../../core/mathUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../core/floatRGBA.js";import"../../../geometry/Extent.js";import"../../../symbols/Font.js";import"../../../core/ObjectPool.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectEnclosingPolygon.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectRadial.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectSuppress.js";import"../../../symbols/cim/effects/EffectTaperedPolygon.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtMeasuredUnits.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../symbols/cim/constants.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../../../geometry/Polygon.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Accessor.js";import"../engine/transitions/FadeTransition.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../../webgl/enums.js";import"../../webgl/Program.js";import"../../webgl/Util.js";import"../../webgl/VertexAttributeLayouts.js";import"../../webgl/BufferObject.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/MappedMesh.js";import"../engine/webgl/number.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../../webgl/Texture.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../../webgl/FramebufferObject.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlitShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/BloomShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlurShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../../webgl/Renderbuffer.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../engine/webgl/shaderGraph/techniques/animated/attributes.js";import"../engine/webgl/mesh/templates/templateUtils.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../core/sql/UnknownTimeZone.js";import"luxon";import"../../../intl/locale.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polyline.js";import"../../../layers/support/fieldUtils.js";import"../../../time/constants.js";import"../engine/webgl/animations/instructions.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/checkWebGLError.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/glsl.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../../../chunks/pe.js";import"../../../core/units.js";import"../../../geometry/ellipsoidUtils.js";import"../engine/webgl/meshing/definitions.js";import"../engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"../LabelManager.js";import p from"./graphics/GraphicsView2D.js";import"../engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtils.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/accessorSupport/watch.js";import"../../../core/accessorSupport/tracking/SimpleTrackingTarget.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/operators/support/GeographicTransformation.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../../../geometry/support/Ellipsoid.js";import{BitmapTileLayerView2D as n}from"./BitmapTileLayerView2D.js";import{LayerView2DMixin as m}from"./LayerView2D.js";import c from"./graphics/HighlightGraphicContainer.js";import{createBlankImage as g,resampleImage as f}from"./support/imageUtils.js";import u from"../tiling/TileInfoView.js";import d from"../tiling/TileKey.js";import j from"../tiling/TileQueue.js";import y from"../tiling/TileStrategy.js";import w from"../../layers/LayerView.js";import{RefreshableLayerView as b}from"../../layers/RefreshableLayerView.js";import{getHighlightGraphics as _}from"../../layers/support/highlightUtils.js";import{isMapServiceLayerView as G,MapServiceLayerViewHelper as T}from"../../layers/support/MapServiceLayerViewHelper.js";import{createQueryGeometry as q}from"../../support/drapedUtils.js";import{getHighlightName as V}from"../../support/highlightOptionsUtils.js";import{TaskPriority as S}from"../../support/Scheduler.js";const P=[0,0];let v=class extends(b(n(m(w)))){constructor(){super(...arguments),this._fetchQueue=null,this._highlightGraphics=new a,this._highlightView=null,this._popupHighlightHelper=null,this._tileStrategy=null,this.layer=null}get resampling(){return!("resampling"in this.layer)||!1!==this.layer.resampling}get tilemapCache(){return"tilemapCache"in this.layer?this.layer.tilemapCache:null}update(e){this._fetchQueue.pause(),this._fetchQueue.state=e.state,this._tileStrategy.update(e),this._fetchQueue.resume(),this._highlightView?.processUpdate(e)}attach(){const e="tileServers"in this.layer?this.layer.tileServers:null,i=this.tilemapCache;if(this._tileInfoView=new u(this.layer.tileInfo,this.layer.fullExtent,i?.effectiveMinLOD,i?.effectiveMaxLOD),this._fetchQueue=new j({tileInfoView:this._tileInfoView,concurrency:e&&10*e.length||10,process:(e,i)=>this.fetchTile(e,i),scheduler:this.scheduler,priority:S.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new y({cachePolicy:"keep",resampling:this.resampling,acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView}),G(this,this.layer)){const e=this._highlightView=new p({view:this.view,graphics:this._highlightGraphics,requestUpdateCallback:()=>this.requestUpdate(),container:new c(this.view.featuresTilingScheme),defaultPointSymbolEnabled:!1});this.container.addChild(this._highlightView.container),this._popupHighlightHelper=new T({createFetchPopupFeaturesQueryGeometry:(e,i)=>q(e,i,this.view),highlightGraphics:this._highlightGraphics,highlightGraphicUpdated:({graphic:i,property:t})=>e.graphicUpdateHandler({graphic:i,property:t}),layerView:this,updatingHandles:this._updatingHandles})}this.requestUpdate(),this.addAttachHandles(this._updatingHandles.add(()=>this.resampling,()=>{this.doRefresh()})),super.attach()}detach(){super.detach(),this._tileStrategy.destroy(),this._fetchQueue.clear(),this.container.removeAllChildren(),this._popupHighlightHelper?.destroy(),this._highlightView?.destroy(),this._fetchQueue=this._tileStrategy=this._tileInfoView=this._popupHighlightHelper=null}async fetchPopupFeaturesAtLocation(e,i){return this._popupHighlightHelper?this._popupHighlightHelper.fetchPopupFeaturesAtLocation(e,i):[]}highlight(e,t){const s=_(e);if(0===s.length)return i();const r=V(t);return this._addHighlightGraphics(s,r),i(()=>!this.destroyed&&this._removeHighlightGraphics(s,r))}_processHighlight(){const e=this._getHighlights();this._highlightView?.setHighlight(e)}_addHighlightGraphics(e,i){this._highlightGraphics.addMany(e),this._addHighlights(e.map(e=>e.uid),i)}_removeHighlightGraphics(e,i){this._highlightGraphics.removeMany(e),this._removeHighlights(e.map(e=>e.uid),i)}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}supportsSpatialReference(e){return h(this.layer.tileInfo?.spatialReference,e)}async doRefresh(){if(this.attached){if(this.suspended)return this._tileStrategy.clear(),void this.requestUpdate();this._fetchQueue.reset(),this._tileStrategy.refresh(e=>this._updatingHandles.addPromise(this._enqueueTileFetch(e)))}}acquireTile(e){const i=this._bitmapView.createTile(e),t=i.bitmap;return[t.x,t.y]=this._tileInfoView.getTileCoords(P,i.key),t.resolution=this._tileInfoView.getTileResolution(i.key),[t.width,t.height]=this._tileInfoView.size,this._updatingHandles.addPromise(this._enqueueTileFetch(i)),this._bitmapView.addChild(i),this.requestUpdate(),i}releaseTile(e){this._fetchQueue.abort(e.key.id),this._bitmapView.removeChild(e),e.once("detach",()=>e.destroy()),this.requestUpdate()}async fetchTile(e,i={}){return this.tilemapCache?this._fetchTileWithTilemapCache(e,i):this._fetchTileWithoutTilemapCache(e,i)}async _fetchTileWithoutTilemapCache(e,i={}){const{signal:t,resamplingLevel:r=0}=i;try{return await this._fetchImage(e,t)}catch(o){if(s(o))throw o;if(!this.resampling)return g(this._tileInfoView.size);if(r<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){const s=new d(t),o=await this._fetchTileWithoutTilemapCache(s,{...i,resamplingLevel:r+1});return f(this._tileInfoView,o,s,e)}}return g(this._tileInfoView.size)}}async _fetchTileWithTilemapCache(e,i={}){const t=this.tilemapCache,{signal:o,resamplingLevel:l=0}=i,h=new d(0,0,0,0);let a,p=null;try{if(p=await t.fetchAvailabilityUpsample(e.level,e.row,e.col,h,{signal:o}),!this.resampling&&h.level!==e.level)return await r(i),g(this._tileInfoView.size);a=await this._fetchImage(h,o)}catch(n){if(s(n))throw n;if(this.resampling&&"unknown"===p&&l<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){h.set(t);try{a=await this._fetchTileWithTilemapCache(h,{...i,resamplingLevel:l+1})}catch{}}}}return a?this.resampling?f(this._tileInfoView,a,h,e):a:g(this._tileInfoView.size)}async _enqueueTileFetch(e){if(!this._fetchQueue.has(e.key.id)){try{const i=await this._fetchQueue.push(e.key);e.bitmap.source=i,e.bitmap.width=this._tileInfoView.size[0],e.bitmap.height=this._tileInfoView.size[1],e.once("attach",()=>this.requestUpdate())}catch(i){s(i)||t.getLogger(this).error(i)}this.requestUpdate()}}async _fetchImage(e,i){return this.layer.fetchImageBitmapTile(e.level,e.row,e.col,{signal:i})}};e([o()],v.prototype,"resampling",null),e([o()],v.prototype,"tilemapCache",null),v=e([l("esri.views.2d.layers.TileLayerView2D")],v);const C=v;export{C as default};
5
+ import{__decorate as e}from"tslib";import{makeHandle as i}from"../../../core/handleUtils.js";import t from"../../../core/Logger.js";import{isAbortError as s,waitTick as r}from"../../../core/promiseUtils.js";import{property as o,subclass as l}from"../../../core/accessorSupport/decorators.js";import{equals as h}from"../../../geometry/support/spatialReferenceUtils.js";import{GraphicsCollection as a}from"../../../support/GraphicsCollection.js";import"../../../core/RandomLCG.js";import"../../../core/has.js";import"../../../core/scheduling.js";import"../../../Color.js";import"../../../core/mathUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../core/floatRGBA.js";import"../../../geometry/Extent.js";import"../../../symbols/Font.js";import"../../../core/ObjectPool.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectEnclosingPolygon.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectRadial.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectSuppress.js";import"../../../symbols/cim/effects/EffectTaperedPolygon.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtMeasuredUnits.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../symbols/cim/constants.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../../../geometry/Polygon.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Accessor.js";import"../engine/transitions/FadeTransition.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../../webgl/enums.js";import"../../webgl/Program.js";import"../../webgl/Util.js";import"../../webgl/VertexAttributeLayouts.js";import"../../webgl/BufferObject.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/MappedMesh.js";import"../engine/webgl/number.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../../webgl/Texture.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../../webgl/FramebufferObject.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlitShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/BloomShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlurShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../../webgl/Renderbuffer.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../engine/webgl/shaderGraph/techniques/animated/attributes.js";import"../engine/webgl/mesh/templates/templateUtils.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../core/sql/UnknownTimeZone.js";import"luxon";import"../../../intl/locale.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polyline.js";import"../../../layers/support/fieldUtils.js";import"../../../time/constants.js";import"../engine/webgl/animations/instructions.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/checkWebGLError.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/glsl.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../../../chunks/pe.js";import"../../../core/units.js";import"../../../geometry/ellipsoidUtils.js";import"../engine/webgl/meshing/definitions.js";import"../engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"../LabelManager.js";import p from"./graphics/GraphicsView2D.js";import"../engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtils.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/accessorSupport/watch.js";import"../../../core/accessorSupport/tracking/SimpleTrackingTarget.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/spatialReferenceEllipsoidUtils.js";import"../../../geometry/operators/support/GeographicTransformation.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../../../geometry/support/Ellipsoid.js";import{BitmapTileLayerView2D as n}from"./BitmapTileLayerView2D.js";import{LayerView2DMixin as m}from"./LayerView2D.js";import c from"./graphics/HighlightGraphicContainer.js";import{createBlankImage as g,resampleImage as f}from"./support/imageUtils.js";import u from"../tiling/TileInfoView.js";import d from"../tiling/TileKey.js";import j from"../tiling/TileQueue.js";import y from"../tiling/TileStrategy.js";import w from"../../layers/LayerView.js";import{RefreshableLayerView as b}from"../../layers/RefreshableLayerView.js";import{getHighlightGraphics as _}from"../../layers/support/highlightUtils.js";import{isMapServiceLayerView as G,MapServiceLayerViewHelper as T}from"../../layers/support/MapServiceLayerViewHelper.js";import{createQueryGeometry as q}from"../../support/drapedUtils.js";import{getHighlightName as V}from"../../support/highlightOptionsUtils.js";import{TaskPriority as S}from"../../support/Scheduler.js";const P=[0,0];let v=class extends(b(n(m(w)))){constructor(){super(...arguments),this._fetchQueue=null,this._highlightGraphics=new a,this._highlightView=null,this._popupHighlightHelper=null,this._tileStrategy=null,this.layer=null}get resampling(){return!("resampling"in this.layer)||!1!==this.layer.resampling}get tilemapCache(){return"tilemapCache"in this.layer?this.layer.tilemapCache:null}update(e){this._fetchQueue.pause(),this._fetchQueue.state=e.state,this._tileStrategy.update(e),this._fetchQueue.resume(),this._highlightView?.processUpdate(e)}attach(){const e="tileServers"in this.layer?this.layer.tileServers:null,i=this.tilemapCache;if(this._tileInfoView=new u(this.layer.tileInfo,this.layer.fullExtent,i?.effectiveMinLOD,i?.effectiveMaxLOD),this._fetchQueue=new j({tileInfoView:this._tileInfoView,concurrency:e&&10*e.length||10,process:(e,i)=>this.fetchTile(e,i),scheduler:this.scheduler,priority:S.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new y({cachePolicy:"keep",resampling:this.resampling,acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView}),G(this,this.layer)){const e=this._highlightView=new p({view:this.view,graphics:this._highlightGraphics,requestUpdateCallback:()=>this.requestUpdate(),container:new c(this.view.featuresTilingScheme),defaultPointSymbolEnabled:!1});this.container.addChild(this._highlightView.container),this._popupHighlightHelper=new T({createFetchPopupFeaturesQueryGeometry:(e,i)=>q(e,i,this.view),highlightGraphics:this._highlightGraphics,highlightGraphicUpdated:({graphic:i,property:t})=>e.graphicUpdateHandler({graphic:i,property:t}),layerView:this,updatingHandles:this._updatingHandles})}this.requestUpdate(),this.addAttachHandles(this._updatingHandles.add(()=>this.resampling,()=>{this.doRefresh()})),super.attach()}detach(){super.detach(),this._tileStrategy.destroy(),this._fetchQueue.clear(),this.container.removeAllChildren(),this._popupHighlightHelper?.destroy(),this._highlightView?.destroy(),this._fetchQueue=this._tileStrategy=this._tileInfoView=this._popupHighlightHelper=null}async fetchPopupFeaturesAtLocation(e,i){return this._popupHighlightHelper?this._popupHighlightHelper.fetchPopupFeaturesAtLocation(e,i):[]}highlight(e,t){const s=_(e);if(0===s.length)return i();const r=V(t);return this._addHighlightGraphics(s,r),i(()=>!this.destroyed&&this._removeHighlightGraphics(s,r))}_processHighlight(){const e=this._getHighlights();this._highlightView?.setHighlight(e)}_addHighlightGraphics(e,i){this._highlightGraphics.addMany(e),this._addHighlights(e.map(e=>e.uid),i)}_removeHighlightGraphics(e,i){this._highlightGraphics.removeMany(e),this._removeHighlights(e.map(e=>e.uid),i)}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}supportsSpatialReference(e){return h(this.layer.tileInfo?.spatialReference,e)}async doRefresh(){if(this.attached){if(this.suspended)return this._tileStrategy.clear(),void this.requestUpdate();this._fetchQueue.reset(),this._tileStrategy.refresh(e=>this._updatingHandles.addPromise(this._enqueueTileFetch(e)))}}acquireTile(e){const i=this._bitmapView.createTile(e),t=i.bitmap;return[t.x,t.y]=this._tileInfoView.getTileCoords(P,i.key),t.resolution=this._tileInfoView.getTileResolution(i.key),[t.width,t.height]=this._tileInfoView.size,this._updatingHandles.addPromise(this._enqueueTileFetch(i)),this._bitmapView.addChild(i),this.requestUpdate(),i}releaseTile(e){this._fetchQueue.abort(e.key.id),this._bitmapView.removeChild(e),e.once("detach",()=>e.destroy()),this.requestUpdate()}async fetchTile(e,i={}){return this.tilemapCache?this._fetchTileWithTilemapCache(e,i):this._fetchTileWithoutTilemapCache(e,i)}async _fetchTileWithoutTilemapCache(e,i={}){const{signal:t,resamplingLevel:r=0}=i;try{return await this._fetchImage(e,t)}catch(o){if(s(o))throw o;if(!this.resampling)return g(this._tileInfoView.size);if(r<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){const s=new d(t),o=await this._fetchTileWithoutTilemapCache(s,{...i,resamplingLevel:r+1});return f(this._tileInfoView,o,s,e)}}return g(this._tileInfoView.size)}}async _fetchTileWithTilemapCache(e,i={}){const t=this.tilemapCache,{signal:o,resamplingLevel:l=0}=i,h=new d(0,0,0,0);let a,p=null;try{if(p=await t.fetchAvailabilityUpsample(e.level,e.row,e.col,h,{signal:o}),!this.resampling&&h.level!==e.level)return await r(i),g(this._tileInfoView.size);a=await this._fetchImage(h,o)}catch(n){if(s(n))throw n;if(this.resampling&&"unknown"===p&&l<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){h.set(t);try{a=await this._fetchTileWithTilemapCache(h,{...i,resamplingLevel:l+1})}catch{}}}}return a?this.resampling?f(this._tileInfoView,a,h,e):a:g(this._tileInfoView.size)}async _enqueueTileFetch(e){if(!this._fetchQueue.has(e.key.id)){try{const i=await this._fetchQueue.push(e.key);e.bitmap.source=i,e.bitmap.width=this._tileInfoView.size[0],e.bitmap.height=this._tileInfoView.size[1],e.once("attach",()=>this.requestUpdate())}catch(i){s(i)||t.getLogger(this).error(i)}this.requestUpdate()}}async _fetchImage(e,i){return this.layer.fetchImageBitmapTile(e.level,e.row,e.col,{signal:i})}};e([o()],v.prototype,"resampling",null),e([o()],v.prototype,"tilemapCache",null),v=e([l("esri.views.2d.layers.TileLayerView2D")],v);const C=v;export{C as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import i from"../../../../core/Logger.js";import{debounce as r,isAbortError as o}from"../../../../core/promiseUtils.js";import{property as a,subclass as s}from"../../../../core/accessorSupport/decorators.js";import n from"../../../../geometry/Extent.js";import{RasterVFDisplayObject as l}from"../../engine/imagery/RasterVFDisplayObject.js";let c=class extends t{constructor(e){super(e),this._loading=null,this.update=r((e,t)=>this._update(e,t).catch(e=>{o(e)||i.getLogger(this).error(e)}))}get updating(){return!!this._loading}redraw(e){if(!this.container.children.length)return;const t=this.container.children[0];t.symbolizerParameters=e,t.invalidateVAO(),this.container.symbolTypes="wind_speed"===e.style?["scalar","triangle"]:"simple_scalar"===e.style?["scalar"]:["triangle"],this.container.requestRender()}async _update(e,t,i){if(!e.stationary)return;const{extent:r,spatialReference:o}=e.state,a=new n({xmin:r.xmin,ymin:r.ymin,xmax:r.xmax,ymax:r.ymax,spatialReference:o}),[s,l]=e.state.size;this._loading=this.fetchPixels(a,s,l,i);const c=await this._loading;this._addToDisplay(c,t,e.state),this._loading=null}_addToDisplay(e,t,i){if(null==e.pixelBlock)return this.container.children.forEach(e=>e.destroy()),void this.container.removeAllChildren();const{extent:r,pixelBlock:o}=e,a=new l(o);a.offset=[0,0],a.symbolizerParameters=t,a.rawPixelData=e,a.invalidateVAO(),a.x=r.xmin,a.y=r.ymax,a.pixelRatio=i.pixelRatio,a.rotation=i.rotation,a.resolution=i.resolution,a.width=o.width*t.symbolTileSize,a.height=o.height*t.symbolTileSize,this.container.children.forEach(e=>e.destroy()),this.container.removeAllChildren(),this.container.symbolTypes="wind_speed"===t.style?["scalar","triangle"]:"simple_scalar"===t.style?["scalar"]:["triangle"],this.container.addChild(a)}};e([a()],c.prototype,"fetchPixels",void 0),e([a()],c.prototype,"container",void 0),e([a()],c.prototype,"_loading",void 0),e([a()],c.prototype,"updating",null),c=e([s("esri.views.2d.layers.imagery.ImageryVFStrategy")],c);export{c as default};
5
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import i from"../../../../core/Logger.js";import{debounce as r,isAbortError as s}from"../../../../core/promiseUtils.js";import{property as o,subclass as a}from"../../../../core/accessorSupport/decorators.js";import n from"../../../../geometry/Extent.js";import{RasterVFDisplayObject as l}from"../../engine/imagery/RasterVFDisplayObject.js";let c=class extends t{constructor(e){super(e),this._loading=null,this.update=r((e,t)=>this._update(e,t).catch(e=>{s(e)||i.getLogger(this).error(e)}))}get updating(){return!!this._loading}redraw(e){if(!this.container.children.length)return;const t=this.container.children[0];t.symbolizerParameters=e,t.invalidateMeshes(),this.container.symbolTypes="wind_speed"===e.style?["scalar","triangle"]:"simple_scalar"===e.style?["scalar"]:["triangle"],this.container.requestRender()}async _update(e,t,i){if(!e.stationary)return;const{extent:r,spatialReference:s}=e.state,o=new n({xmin:r.xmin,ymin:r.ymin,xmax:r.xmax,ymax:r.ymax,spatialReference:s}),[a,l]=e.state.size;this._loading=this.fetchPixels(o,a,l,i);const c=await this._loading;this._addToDisplay(c,t,e.state),this._loading=null}_addToDisplay(e,t,i){if(null==e.pixelBlock)return this.container.children.forEach(e=>e.destroy()),void this.container.removeAllChildren();const{extent:r,pixelBlock:s}=e,o=new l(s);o.offset=[0,0],o.symbolizerParameters=t,o.rawPixelData=e,o.invalidateMeshes(),o.x=r.xmin,o.y=r.ymax,o.pixelRatio=i.pixelRatio,o.rotation=i.rotation,o.resolution=i.resolution,o.width=s.width*t.symbolTileSize,o.height=s.height*t.symbolTileSize,this.container.children.forEach(e=>e.destroy()),this.container.removeAllChildren(),this.container.symbolTypes="wind_speed"===t.style?["scalar","triangle"]:"simple_scalar"===t.style?["scalar"]:["triangle"],this.container.addChild(o)}};e([o()],c.prototype,"fetchPixels",void 0),e([o()],c.prototype,"container",void 0),e([o()],c.prototype,"_loading",void 0),e([o()],c.prototype,"updating",null),c=e([a("esri.views.2d.layers.imagery.ImageryVFStrategy")],c);export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{watch as t}from"../../../../core/reactiveUtils.js";import{property as i,subclass as r}from"../../../../core/accessorSupport/decorators.js";import{sampleVectorField as s}from"../../../../layers/raster/functions/vectorFieldUtils.js";import{RasterVFTileContainer as l}from"../../engine/imagery/RasterVFTileContainer.js";import{BaseImageryTileSubView2D as o}from"./BaseImageryTileSubView2D.js";let a=class extends o{constructor(){super(...arguments),this._handle=null,this.type="rasterVF"}async fetchTile(e,t){t={...t,interpolation:"nearest",requestProjectedLocalDirections:!0};const i=await this.layer.fetchTile(e.level,e.row,e.col,t);return"vector-magdir"===this.layer.serviceRasterInfo?.dataType&&i?.pixelBlock&&(i.pixelBlock=await this.layer.convertVectorFieldData(i.pixelBlock,"vector-magdir",t)),i}updateTileSource(e,t){const i=t.symbolizerParams,{tileData:r}=e;r.key=e.key,r.width=this._tileInfoView.size[0],r.height=this._tileInfoView.size[1];const{symbolTileSize:s}=i,{source:l}=t;if(r.offset=this._getTileSymbolOffset(r.key,s),null!=l?.pixelBlock){const e={extent:l.extent,pixelBlock:l.pixelBlock};r.rawPixelData=e,r.symbolizerParameters=i,r.source=this._sampleVectorFieldData(l.pixelBlock,i,r.offset)}else{const e=[Math.round((this._tileInfoView.size[0]-r.offset[0])/s),Math.round((this._tileInfoView.size[1]-r.offset[1])/s)],t=this.createEmptyTilePixelBlock(e);r.source=t,r.symbolizerParameters=i}return r.invalidateVAO(),Promise.resolve()}updateTileSymbolizerParameters(e,t){const i=t.local,{symbolTileSize:r}=i,{tileData:s}=e;s.offset=this._getTileSymbolOffset(s.key,r);const l=s.symbolizerParameters.symbolTileSize;s.symbolizerParameters=i;const o=s.rawPixelData?.pixelBlock;return null!=o&&l!==r&&(s.source=this._sampleVectorFieldData(o,s.symbolizerParameters,s.offset)),Promise.resolve()}attach(){super.attach(),this.container=new l(this._tileInfoView),this.container.isCustomTilingScheme=this._isCustomTilingScheme,this._updateSymbolType(this.layer.renderer),this._handle=t(()=>this.layer.renderer,e=>this._updateSymbolType(e))}detach(){super.detach(),this.container.removeAllChildren(),this._handle?.remove(),this._handle=null,this.container=null}_getTileSymbolOffset(e,t){const i=e.col*this._tileInfoView.size[0]%t,r=e.row*this._tileInfoView.size[1]%t;return[i>t/2?t-i:-i,r>t/2?t-r:-r]}_sampleVectorFieldData(e,t,i){const{symbolTileSize:r}=t;return s(e,"vector-uv",r,i)}_updateSymbolType(e){"vector-field"===e?.type&&(this.container.symbolTypes="wind-barb"===e.style?["scalar","triangle"]:"simple-scalar"===e.style?["scalar"]:["triangle"])}};e([i()],a.prototype,"container",void 0),e([i()],a.prototype,"layer",void 0),e([i()],a.prototype,"type",void 0),a=e([r("esri.views.2d.layers.imagery.VectorFieldTileView2D")],a);export{a as default};
5
+ import{__decorate as e}from"tslib";import{watch as t}from"../../../../core/reactiveUtils.js";import{property as i,subclass as r}from"../../../../core/accessorSupport/decorators.js";import{sampleVectorField as s}from"../../../../layers/raster/functions/vectorFieldUtils.js";import{RasterVFTileContainer as l}from"../../engine/imagery/RasterVFTileContainer.js";import{BaseImageryTileSubView2D as o}from"./BaseImageryTileSubView2D.js";let a=class extends o{constructor(){super(...arguments),this._handle=null,this.type="rasterVF"}async fetchTile(e,t){t={...t,interpolation:"nearest",requestProjectedLocalDirections:!0};const i=await this.layer.fetchTile(e.level,e.row,e.col,t);return"vector-magdir"===this.layer.serviceRasterInfo?.dataType&&i?.pixelBlock&&(i.pixelBlock=await this.layer.convertVectorFieldData(i.pixelBlock,"vector-magdir",t)),i}updateTileSource(e,t){const i=t.symbolizerParams,{tileData:r}=e;r.key=e.key,r.width=this._tileInfoView.size[0],r.height=this._tileInfoView.size[1];const{symbolTileSize:s}=i,{source:l}=t;if(r.offset=this._getTileSymbolOffset(r.key,s),null!=l?.pixelBlock){const e={extent:l.extent,pixelBlock:l.pixelBlock};r.rawPixelData=e,r.symbolizerParameters=i,r.source=this._sampleVectorFieldData(l.pixelBlock,i,r.offset)}else{const e=[Math.round((this._tileInfoView.size[0]-r.offset[0])/s),Math.round((this._tileInfoView.size[1]-r.offset[1])/s)],t=this.createEmptyTilePixelBlock(e);r.source=t,r.symbolizerParameters=i}return r.invalidateMeshes(),Promise.resolve()}updateTileSymbolizerParameters(e,t){const i=t.local,{symbolTileSize:r}=i,{tileData:s}=e;s.offset=this._getTileSymbolOffset(s.key,r);const l=s.symbolizerParameters.symbolTileSize;s.symbolizerParameters=i;const o=s.rawPixelData?.pixelBlock;return null!=o&&l!==r&&(s.source=this._sampleVectorFieldData(o,s.symbolizerParameters,s.offset)),Promise.resolve()}attach(){super.attach(),this.container=new l(this._tileInfoView),this.container.isCustomTilingScheme=this._isCustomTilingScheme,this._updateSymbolType(this.layer.renderer),this._handle=t(()=>this.layer.renderer,e=>this._updateSymbolType(e))}detach(){super.detach(),this.container.removeAllChildren(),this._handle?.remove(),this._handle=null,this.container=null}_getTileSymbolOffset(e,t){const i=e.col*this._tileInfoView.size[0]%t,r=e.row*this._tileInfoView.size[1]%t;return[i>t/2?t-i:-i,r>t/2?t-r:-r]}_sampleVectorFieldData(e,t,i){const{symbolTileSize:r}=t;return s(e,"vector-uv",r,i)}_updateSymbolType(e){"vector-field"===e?.type&&(this.container.symbolTypes="wind-barb"===e.style?["scalar","triangle"]:"simple-scalar"===e.style?["scalar"]:["triangle"])}};e([i()],a.prototype,"container",void 0),e([i()],a.prototype,"layer",void 0),e([i()],a.prototype,"type",void 0),a=e([r("esri.views.2d.layers.imagery.VectorFieldTileView2D")],a);export{a as default};
@@ -1,3 +1,2 @@
1
-
2
1
  /** @since 5.0 */
3
2
  export type MediaLayerInteractionOptionsProperties = any;
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{onLocaleChange as t,fetchMessageBundle as i}from"../../../../../intl.js";import s from"../../../../../core/Accessor.js";import{multiplyOpacityToUnitRGBA as r,getContrast as a,multiplyOpacity as n}from"../../../../../core/colorUtils.js";import"../../../../../core/has.js";import{nextHighestPowerOfTen as o,floatEqualUlp as l}from"../../../../../core/mathUtils.js";import{destroyMaybe as m}from"../../../../../core/maybe.js";import{formatDecimal as h}from"../../../../../core/quantityFormatUtils.js";import{watch as c,syncAndInitial as p,initial as d}from"../../../../../core/reactiveUtils.js";import{lengthUnitFromSpatialReference as u,convertUnit as _,adaptiveAreaUnit as v}from"../../../../../core/units.js";import{property as g,subclass as b}from"../../../../../core/accessorSupport/decorators.js";import{fromTranslation as w}from"../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as f}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{subtract as D,squaredDistance as L}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as y}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{toPreferredAreaUnit as S,preferredLengthUnit as C}from"./utils.js";import{LabelVisualElement as j}from"../../../interactive/visualElements/LabelVisualElement.js";import{LineVisualElement as x}from"../../../interactive/visualElements/LineVisualElement.js";import{MeasurementAreaVisualElement as V}from"../../../interactive/visualElements/MeasurementAreaVisualElement.js";import{GeodesicSegment as A,EuclideanSegment as M}from"../../../interactive/visualElements/support/Segment.js";import{midpoint3d as R}from"../../../support/mathUtils.js";import{createStipplePatternSimple as k}from"../../../webgl-engine/materials/lineStippleUtils.js";let z=class extends s{get _parameters(){const{accentColor:e,textColor:t}=this.view.effectiveTheme,i=e.toUnitRGBA(),s=r(e,.5),o=r(a(e),.5),l=a(t,160);return{accentColor:i,transparentAccentColor:s,transparentContrastColor:o,textColor:t,textBackgroundColor:n(l,.6),textCalloutColor:n(l,.5),pathLineWidth:3,perimeterLineWidth:2,projectionLineWidth:2,projectionLineStippleSize:5,labelDistance:25}}get viewData(){return this._viewData}get visible(){return this.analysisViewData.visible}get _renderUnits(){const e=this.view.renderCoordsHelper.spatialReference;return u(e)??"meters"}get testData(){}constructor(e){super(e),this._path=null,this._perimeter=null,this._projectionLines=null,this._measurementArea=null,this._areaLabel=null,this._perimeterLabel=null,this._pathSegments=[],this._perimeterSegments=[],this._origin=y(),this._originTransform=f(),this.messages=null,this._viewData=new U,this.areaLabel=null,this.perimeterLabel=null,this.loadingMessages=!0}initialize(){const{analysisViewData:e,_parameters:i,view:s}=this;this._path=new x({view:s,attached:!0,width:i.pathLineWidth,polygonOffset:!0,renderOccluded:4,tansparentRenderOrder:1,isDecoration:!0}),this._perimeter=new x({view:s,attached:!0,width:i.perimeterLineWidth,polygonOffset:!0,renderOccluded:4,tansparentRenderOrder:2,isDecoration:!0}),this._projectionLines=new x({view:s,attached:!0,width:i.projectionLineWidth,stipplePattern:k(i.projectionLineStippleSize),polygonOffset:!0,renderOccluded:4,tansparentRenderOrder:3,isDecoration:!0}),this._measurementArea=new V({view:s,attached:!0,isDecoration:!0,renderOccluded:4,testsTransparentRenderOrder:5});const r={attached:!0,view:s,isDecoration:!0};this._areaLabel=new j({...r,fontSize:16,distance:0}),this._perimeterLabel=new j({...r,fontSize:12}),this.addHandles([c(()=>[e.mode,this.visible,e.unit,e.measurementData?.updateId,null!=e.measurementData?.measurements,E(e.measurementData?.measurements?.mode)],()=>this._update(),p),c(()=>e.measurementData?.measurements,e=>this._updateMeasurements(e)),c(()=>s.state?.camera,()=>this._updateLabels(),p),t(()=>this._updateMessageBundle()),c(()=>this._parameters,({accentColor:e,transparentAccentColor:t,transparentContrastColor:i,textColor:s,textBackgroundColor:r,textCalloutColor:a})=>{const{_path:n,_perimeter:o,_projectionLines:l,_measurementArea:m,_areaLabel:h,_perimeterLabel:c}=this;n.color=e,o.color=e,l.color=e,m.color1=t,m.color2=i,h.textColor=s,h.backgroundColor=r,h.calloutColor=a,c.textColor=s,c.backgroundColor=r,c.calloutColor=a},d)]),this._updateMessageBundle()}destroy(){this._measurementArea=m(this._measurementArea),this._path=m(this._path),this._perimeter=m(this._perimeter),this._areaLabel=m(this._areaLabel),this._perimeterLabel=m(this._perimeterLabel),this._projectionLines=m(this._projectionLines),this.set("view",null)}_update(){if(this.destroyed||!this.view.ready||!this.view.renderCoordsHelper)return;const{analysisViewData:{measurementData:e},analysisViewData:t}=this;null!=e&&(this._updateViewData(e,t.path),this._updateOrigin(),this._updatePathSegments(),this._updatePerimeterSegments(),this._updateArea(),this._updateProjectionLines(),this._updateLabels())}_calculateCheckerSize(e){const t=F(e?.mode)?e?.geodesicArea:e?.area;if(null==t)return 1;const i=S(t,this.analysisViewData.unit),s=Math.sqrt(_(1,i.unit,"square-meters"));return _(o(Math.sqrt(i.value)/Math.sqrt(300))*s,"meters",this._renderUnits)}_updateMeasurements(e){Object.assign(this.viewData,this._getMeasurementsViewData(e)),this._updateCheckerSize(),this._updateLabels()}_updateCheckerSize(){this._measurementArea.size=[this.viewData.checkerSize,this.viewData.checkerSize]}_updateViewData(e,t){const i=e.measurements,s=new U({validMeasurement:!!i,numVertices:e.numVertices,hasStagedVertex:e.hasStagedVertex,path:t,mode:i?.mode,vertexData:e.vertexData,perimeterLabelSegmentIndex:0,...this._getMeasurementsViewData(i)});this._viewData=s}_getMeasurementsViewData(e){const t=F(e?.mode),i=this._calculateCheckerSize(e);return{areaCentroid:t?e?.geodesicAreaCentroidRenderCoords:e?.areaCentroidRenderCoords,area:t?e?.geodesicArea:e?.area,perimeter:t?e?.geodesicPerimeter:e?.perimeter,checkerSize:i}}_updateOrigin(){const e=this.viewData;R(e.vertexData.positionsRender,this._origin),w(this._originTransform,this._origin),this._measurementArea.transform=this._originTransform,this._projectionLines.transform=this._originTransform}_createSegments(e,t){const i=this.viewData,s=this.view.renderCoordsHelper.spatialReference,r=E(i.mode),a=[],n=i.numVertices,o=i.validMeasurement?n:n-1;for(let m=0;m<o;++m){const o=i.vertexData[e][m],h=i.vertexData[e][(m+1)%n];let c=!0;if(t){const e=i.vertexData.positionsRender[m],t=i.vertexData.positionsRender[(m+1)%n];let s=!0;for(let i=0;i<3;++i)s&&=l(e[i],o[i])&&l(t[i],h[i]);s&&(c=!1)}let p=null;switch(r){case"geodesic":p=new A(o,h,s,c);break;case"euclidean":p=new M(o,h,c)}a.push(p)}return a}_updatePathSegments(){const{visible:e}=this,t=this._createSegments("positionsRender");this._path.setGeometryFromSegments(t,this._origin),this._path.visible=e,this._pathSegments=t}_updatePerimeterSegments(){const e=this.visible&&"euclidean"===this.viewData.mode&&!!this.viewData.path&&this.viewData.path.numVertices>2,t=!0,i=this._createSegments("positionsFittedRender",t);this._perimeter.setGeometryFromSegments(i,this._origin),this._perimeter.visible=e,this._perimeterSegments=i}_updateArea(){const e=this.viewData;switch(E(e.mode)){case"euclidean":this._updateAreaEuclidean(e);break;case"geodesic":this._updateAreaGeodesic()}}_updateAreaEuclidean(e){const t=this.visible;e.validMeasurement&&e.vertexData.triangleIndices?(this._measurementArea.geometry={uv:e.vertexData.positionsFittedWorldPlaneProjected,position:e.vertexData.positionsFittedRender,triangleIndices:e.vertexData.triangleIndices},this._updateCheckerSize(),this._measurementArea.visible=t):this._measurementArea.visible=!1}_updateAreaGeodesic(){this._measurementArea.visible=!1}_updateProjectionLines(){const e=this.viewData,t=this.visible,i=e.mode,s=e.numVertices;if(s>0&&e.validMeasurement&&"euclidean"===i){const i=[];for(let t=0;t<s;++t){const s=y();D(s,e.vertexData.positionsRender[t],this._origin);const r=y();D(r,e.vertexData.positionsFittedRender[t],this._origin),l(L(s,r),0)||i.push([s,r])}this._projectionLines.geometry=i,this._projectionLines.visible=t}else this._projectionLines.geometry=null,this._projectionLines.visible=!1}_updateLabels(){if(this.destroyed)return;const{viewData:e}=this,{area:t,path:i}=e;if(!i)return;const s=this.visible,r=this._areaLabel,a=this._perimeterLabel,n=e.validMeasurement;r.visible=!0,a.visible=!0;let o=!1;const l=O(this.messages,t,this.analysisViewData.unit);if(null!=l&&e.areaCentroid&&s&&(r.geometry={type:"point",point:e.areaCentroid},r.text=l,o=e.validMeasurement),this._set("areaLabel",l),s&&n){const t=F(e.mode),i=e.perimeter,s=P(this.messages,i,this.analysisViewData.unit);this._set("perimeterLabel",s),a.distance=this._parameters.labelDistance,a.anchor="top",a.text=s;let r=!0;for(let n=0;n<e.numVertices;++n){const i=(e.perimeterLabelSegmentIndex+n)%e.numVertices,s=t?this._pathSegments[i]:this._perimeterSegments[i];if(r=!0,a.geometry={type:"segment",segment:s,sampleLocation:"center"},!a.overlaps(this._areaLabel))break;r=!1}a.visible=r}else a.visible=!1;r.visible=o}_updateMessageBundle(){this.loadingMessages=!0,i("esri/core/t9n/Units").then(e=>{this.messages=e,this.view&&this._update()}).finally(()=>{this.loadingMessages=!1})}};function O(e,t,i){return e&&t&&h(e,t,v(t.value,t.unit,i))}function P(e,t,i){return e&&t&&h(e,t,C(t,i))}e([g()],z.prototype,"_parameters",null),e([g()],z.prototype,"view",void 0),e([g()],z.prototype,"messages",void 0),e([g()],z.prototype,"analysis",void 0),e([g()],z.prototype,"_viewData",void 0),e([g()],z.prototype,"analysisViewData",void 0),e([g({readOnly:!0})],z.prototype,"areaLabel",void 0),e([g({readOnly:!0})],z.prototype,"perimeterLabel",void 0),e([g()],z.prototype,"loadingMessages",void 0),e([g()],z.prototype,"visible",null),e([g()],z.prototype,"_renderUnits",null),z=e([b("esri.views.3d.analysis.AreaMeasurement.support.AreaMeasurementVisualization")],z);class U{constructor(e){this.validMeasurement=e?.validMeasurement??!1,this.numVertices=e?.numVertices??0,this.hasStagedVertex=e?.hasStagedVertex??!1,this.path=e?.path,this.vertexData=e?.vertexData??{positionsRender:[],positionsFittedWorldPlaneProjected:[],positionsFittedRender:[],triangleIndices:null},this.mode=e?.mode,this.areaCentroid=e?.areaCentroid,this.perimeterLabelSegmentIndex=e?.perimeterLabelSegmentIndex??0,this.checkerSize=e?.checkerSize??1,this.area=e?.area,this.perimeter=e?.perimeter}}function E(e){switch(e){case"euclidean":case void 0:case null:return"euclidean";case"geodesic":return"geodesic"}}function F(e){return"geodesic"===E(e)}export{z as AreaMeasurementVisualization,U as ViewData};
5
+ import{__decorate as e}from"tslib";import{onLocaleChange as t,fetchMessageBundle as i}from"../../../../../intl.js";import s from"../../../../../core/Accessor.js";import{multiplyOpacityToUnitRGBA as r,getContrast as a,multiplyOpacity as n}from"../../../../../core/colorUtils.js";import"../../../../../core/has.js";import{nextHighestPowerOfTen as o,floatEqualUlp as l}from"../../../../../core/mathUtils.js";import{destroyMaybe as m}from"../../../../../core/maybe.js";import{toAdaptiveAreaUnit as h,adaptiveLengthUnitForArea as c}from"../../../../../core/quantity.js";import{formatDecimal as p}from"../../../../../core/quantityFormatUtils.js";import{watch as d,syncAndInitial as u,initial as _}from"../../../../../core/reactiveUtils.js";import{lengthUnitFromSpatialReference as v,convertUnit as g,adaptiveAreaUnit as b}from"../../../../../core/units.js";import{property as w,subclass as f}from"../../../../../core/accessorSupport/decorators.js";import{fromTranslation as D}from"../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as L}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{subtract as y,squaredDistance as S}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as C}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{LabelVisualElement as j}from"../../../interactive/visualElements/LabelVisualElement.js";import{LineVisualElement as x}from"../../../interactive/visualElements/LineVisualElement.js";import{MeasurementAreaVisualElement as V}from"../../../interactive/visualElements/MeasurementAreaVisualElement.js";import{GeodesicSegment as A,EuclideanSegment as M}from"../../../interactive/visualElements/support/Segment.js";import{midpoint3d as R}from"../../../support/mathUtils.js";import{createStipplePatternSimple as k}from"../../../webgl-engine/materials/lineStippleUtils.js";let z=class extends s{get _parameters(){const{accentColor:e,textColor:t}=this.view.effectiveTheme,i=e.toUnitRGBA(),s=r(e,.5),o=r(a(e),.5),l=a(t,160);return{accentColor:i,transparentAccentColor:s,transparentContrastColor:o,textColor:t,textBackgroundColor:n(l,.6),textCalloutColor:n(l,.5),pathLineWidth:3,perimeterLineWidth:2,projectionLineWidth:2,projectionLineStippleSize:5,labelDistance:25}}get viewData(){return this._viewData}get visible(){return this.analysisViewData.visible}get _renderUnits(){const e=this.view.renderCoordsHelper.spatialReference;return v(e)??"meters"}get testData(){}constructor(e){super(e),this._path=null,this._perimeter=null,this._projectionLines=null,this._measurementArea=null,this._areaLabel=null,this._perimeterLabel=null,this._pathSegments=[],this._perimeterSegments=[],this._origin=C(),this._originTransform=L(),this.messages=null,this._viewData=new U,this.areaLabel=null,this.perimeterLabel=null,this.loadingMessages=!0}initialize(){const{analysisViewData:e,_parameters:i,view:s}=this;this._path=new x({view:s,attached:!0,width:i.pathLineWidth,polygonOffset:!0,renderOccluded:4,tansparentRenderOrder:1,isDecoration:!0}),this._perimeter=new x({view:s,attached:!0,width:i.perimeterLineWidth,polygonOffset:!0,renderOccluded:4,tansparentRenderOrder:2,isDecoration:!0}),this._projectionLines=new x({view:s,attached:!0,width:i.projectionLineWidth,stipplePattern:k(i.projectionLineStippleSize),polygonOffset:!0,renderOccluded:4,tansparentRenderOrder:3,isDecoration:!0}),this._measurementArea=new V({view:s,attached:!0,isDecoration:!0,renderOccluded:4,testsTransparentRenderOrder:5});const r={attached:!0,view:s,isDecoration:!0};this._areaLabel=new j({...r,fontSize:16,distance:0}),this._perimeterLabel=new j({...r,fontSize:12}),this.addHandles([d(()=>[e.mode,this.visible,e.unit,e.measurementData?.updateId,null!=e.measurementData?.measurements,E(e.measurementData?.measurements?.mode)],()=>this._update(),u),d(()=>e.measurementData?.measurements,e=>this._updateMeasurements(e)),d(()=>s.state?.camera,()=>this._updateLabels(),u),t(()=>this._updateMessageBundle()),d(()=>this._parameters,({accentColor:e,transparentAccentColor:t,transparentContrastColor:i,textColor:s,textBackgroundColor:r,textCalloutColor:a})=>{const{_path:n,_perimeter:o,_projectionLines:l,_measurementArea:m,_areaLabel:h,_perimeterLabel:c}=this;n.color=e,o.color=e,l.color=e,m.color1=t,m.color2=i,h.textColor=s,h.backgroundColor=r,h.calloutColor=a,c.textColor=s,c.backgroundColor=r,c.calloutColor=a},_)]),this._updateMessageBundle()}destroy(){this._measurementArea=m(this._measurementArea),this._path=m(this._path),this._perimeter=m(this._perimeter),this._areaLabel=m(this._areaLabel),this._perimeterLabel=m(this._perimeterLabel),this._projectionLines=m(this._projectionLines),this.set("view",null)}_update(){if(this.destroyed||!this.view.ready||!this.view.renderCoordsHelper)return;const{analysisViewData:{measurementData:e},analysisViewData:t}=this;null!=e&&(this._updateViewData(e,t.path),this._updateOrigin(),this._updatePathSegments(),this._updatePerimeterSegments(),this._updateArea(),this._updateProjectionLines(),this._updateLabels())}_calculateCheckerSize(e){const t=F(e?.mode)?e?.geodesicArea:e?.area;if(null==t)return 1;const i=h(t,this.analysisViewData.unit),s=Math.sqrt(g(1,i.unit,"square-meters"));return g(o(Math.sqrt(i.value)/Math.sqrt(300))*s,"meters",this._renderUnits)}_updateMeasurements(e){Object.assign(this.viewData,this._getMeasurementsViewData(e)),this._updateCheckerSize(),this._updateLabels()}_updateCheckerSize(){this._measurementArea.size=[this.viewData.checkerSize,this.viewData.checkerSize]}_updateViewData(e,t){const i=e.measurements,s=new U({validMeasurement:!!i,numVertices:e.numVertices,hasStagedVertex:e.hasStagedVertex,path:t,mode:i?.mode,vertexData:e.vertexData,perimeterLabelSegmentIndex:0,...this._getMeasurementsViewData(i)});this._viewData=s}_getMeasurementsViewData(e){const t=F(e?.mode),i=this._calculateCheckerSize(e);return{areaCentroid:t?e?.geodesicAreaCentroidRenderCoords:e?.areaCentroidRenderCoords,area:t?e?.geodesicArea:e?.area,perimeter:t?e?.geodesicPerimeter:e?.perimeter,checkerSize:i}}_updateOrigin(){const e=this.viewData;R(e.vertexData.positionsRender,this._origin),D(this._originTransform,this._origin),this._measurementArea.transform=this._originTransform,this._projectionLines.transform=this._originTransform}_createSegments(e,t){const i=this.viewData,s=this.view.renderCoordsHelper.spatialReference,r=E(i.mode),a=[],n=i.numVertices,o=i.validMeasurement?n:n-1;for(let m=0;m<o;++m){const o=i.vertexData[e][m],h=i.vertexData[e][(m+1)%n];let c=!0;if(t){const e=i.vertexData.positionsRender[m],t=i.vertexData.positionsRender[(m+1)%n];let s=!0;for(let i=0;i<3;++i)s&&=l(e[i],o[i])&&l(t[i],h[i]);s&&(c=!1)}let p=null;switch(r){case"geodesic":p=new A(o,h,s,c);break;case"euclidean":p=new M(o,h,c)}a.push(p)}return a}_updatePathSegments(){const{visible:e}=this,t=this._createSegments("positionsRender");this._path.setGeometryFromSegments(t,this._origin),this._path.visible=e,this._pathSegments=t}_updatePerimeterSegments(){const e=this.visible&&"euclidean"===this.viewData.mode&&!!this.viewData.path&&this.viewData.path.numVertices>2,t=!0,i=this._createSegments("positionsFittedRender",t);this._perimeter.setGeometryFromSegments(i,this._origin),this._perimeter.visible=e,this._perimeterSegments=i}_updateArea(){const e=this.viewData;switch(E(e.mode)){case"euclidean":this._updateAreaEuclidean(e);break;case"geodesic":this._updateAreaGeodesic()}}_updateAreaEuclidean(e){const t=this.visible;e.validMeasurement&&e.vertexData.triangleIndices?(this._measurementArea.geometry={uv:e.vertexData.positionsFittedWorldPlaneProjected,position:e.vertexData.positionsFittedRender,triangleIndices:e.vertexData.triangleIndices},this._updateCheckerSize(),this._measurementArea.visible=t):this._measurementArea.visible=!1}_updateAreaGeodesic(){this._measurementArea.visible=!1}_updateProjectionLines(){const e=this.viewData,t=this.visible,i=e.mode,s=e.numVertices;if(s>0&&e.validMeasurement&&"euclidean"===i){const i=[];for(let t=0;t<s;++t){const s=C();y(s,e.vertexData.positionsRender[t],this._origin);const r=C();y(r,e.vertexData.positionsFittedRender[t],this._origin),l(S(s,r),0)||i.push([s,r])}this._projectionLines.geometry=i,this._projectionLines.visible=t}else this._projectionLines.geometry=null,this._projectionLines.visible=!1}_updateLabels(){if(this.destroyed)return;const{viewData:e}=this,{area:t,path:i}=e;if(!i)return;const s=this.visible,r=this._areaLabel,a=this._perimeterLabel,n=e.validMeasurement;r.visible=!0,a.visible=!0;let o=!1;const l=O(this.messages,t,this.analysisViewData.unit);if(null!=l&&e.areaCentroid&&s&&(r.geometry={type:"point",point:e.areaCentroid},r.text=l,o=e.validMeasurement),this._set("areaLabel",l),s&&n){const t=F(e.mode),i=e.perimeter,s=P(this.messages,i,this.analysisViewData.unit);this._set("perimeterLabel",s),a.distance=this._parameters.labelDistance,a.anchor="top",a.text=s;let r=!0;for(let n=0;n<e.numVertices;++n){const i=(e.perimeterLabelSegmentIndex+n)%e.numVertices,s=t?this._pathSegments[i]:this._perimeterSegments[i];if(r=!0,a.geometry={type:"segment",segment:s,sampleLocation:"center"},!a.overlaps(this._areaLabel))break;r=!1}a.visible=r}else a.visible=!1;r.visible=o}_updateMessageBundle(){this.loadingMessages=!0,i("esri/core/t9n/Units").then(e=>{this.messages=e,this.view&&this._update()}).finally(()=>{this.loadingMessages=!1})}};function O(e,t,i){return e&&t&&p(e,t,b(t.value,t.unit,i))}function P(e,t,i){return e&&t&&p(e,t,c(t,i))}e([w()],z.prototype,"_parameters",null),e([w()],z.prototype,"view",void 0),e([w()],z.prototype,"messages",void 0),e([w()],z.prototype,"analysis",void 0),e([w()],z.prototype,"_viewData",void 0),e([w()],z.prototype,"analysisViewData",void 0),e([w({readOnly:!0})],z.prototype,"areaLabel",void 0),e([w({readOnly:!0})],z.prototype,"perimeterLabel",void 0),e([w()],z.prototype,"loadingMessages",void 0),e([w()],z.prototype,"visible",null),e([w()],z.prototype,"_renderUnits",null),z=e([f("esri.views.3d.analysis.AreaMeasurement.support.AreaMeasurementVisualization")],z);class U{constructor(e){this.validMeasurement=e?.validMeasurement??!1,this.numVertices=e?.numVertices??0,this.hasStagedVertex=e?.hasStagedVertex??!1,this.path=e?.path,this.vertexData=e?.vertexData??{positionsRender:[],positionsFittedWorldPlaneProjected:[],positionsFittedRender:[],triangleIndices:null},this.mode=e?.mode,this.areaCentroid=e?.areaCentroid,this.perimeterLabelSegmentIndex=e?.perimeterLabelSegmentIndex??0,this.checkerSize=e?.checkerSize??1,this.area=e?.area,this.perimeter=e?.perimeter}}function E(e){switch(e){case"euclidean":case void 0:case null:return"euclidean";case"geodesic":return"geodesic"}}function F(e){return"geodesic"===E(e)}export{z as AreaMeasurementVisualization,U as ViewData};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import e from"../../../../../core/Accessor.js";import{deg2rad as r}from"../../../../../core/mathUtils.js";import{abortMaybe as s}from"../../../../../core/maybe.js";import{debounce as i,throwIfAborted as o}from"../../../../../core/promiseUtils.js";import{valueInUnit as n}from"../../../../../core/quantity.js";import{lengthUnitFromSpatialReference as a,areaUnitFromSpatialReference as l}from"../../../../../core/units.js";import{property as h}from"../../../../../core/accessorSupport/decorators/property.js";import{subclass as d}from"../../../../../core/accessorSupport/decorators/subclass.js";import{set as p}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as m}from"../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{copy as u,set as c,cross as _,negate as g,subtract as f,dot as j,scale as v,add as P}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as x}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as w}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import C from"../../../../../geometry/Polygon.js";import y from"../../../../../geometry/SpatialReference.js";import{isPCPF as R}from"../../../../../geometry/spatialReferenceEllipsoidUtils.js";import{projectDirection as M}from"../../../../../geometry/projection/projectDirection.js";import{projectPointToVector as U}from"../../../../../geometry/projection/projectPointToVector.js";import{projectVectorToVector as A}from"../../../../../geometry/projection/projectVectorToVector.js";import{compactIndices as W}from"../../../../../geometry/support/Indices.js";import{Sphere as D}from"../../../../../geometry/support/sphere.js";import{bestFitPlane as V,planePointDistance as b,boundingSphere as F}from"../../support/measurementUtils.js";import{getElevationAtPoint as I}from"../../../support/ElevationProvider.js";import{midpoint3d as S,makeOrthonormal as T}from"../../../support/mathUtils.js";import{useGeodesicAreaMeasurement as k}from"../../../../support/automaticAreaMeasurementUtils.js";import{triangulate as z}from"../../../../support/euclideanAreaMeasurementUtils.js";import{computeEuclideanMeasurementSR as O}from"../../../../support/measurementUtils.js";import{MeasurementWorkerHandle as q}from"../../../../support/MeasurementWorkerHandle.js";class E{constructor(t){this.positionsWorld=[],this.positionsRender=[],this.positionsFittedRender=[],this.triangleIndices=null,this.areaPolygon=new C({rings:[[]],spatialReference:t}),this.positionsFittedWorldPlaneProjected=this.areaPolygon.rings[0]}}class H{constructor(t,e=null,r=null,s=null,i=null,o=null,n=null){this.mode=t,this.area=e,this.geodesicArea=r,this.perimeter=s,this.geodesicPerimeter=i,this.areaCentroidRenderCoords=o,this.geodesicAreaCentroidRenderCoords=n}}let L=class extends e{get numVertices(){return this._length}get hasStagedVertex(){return null!=this._lastCursorPoint}get fittingMode(){return this._fittingMode}get measurements(){return this._measurements}get updateId(){return this._updateId}constructor(t){super(t),this._length=0,this._lastCursorPoint=null,this._fittingMode=null,this._measurements=null,this._updateId=0,this._centroidRenderCoords=x(),this._planeWorldCoords=w(),this._worldUp=x(),this._worldTangent=x(),this._frame=[x(),x(),x()],this._worldOrigin=x(),this._updateAxisU=x(),this._updateAxisV=x(),this._updateWorldOrigin=x(),this._lastPathVersion=-1,this._mode=null,this._tempU=x(),this._tempV=x(),this._tempVec3=x(),this._tempSphere=new D,this._measurementWorker=new q,this._updateAbortController=null,this._updateMeasurements=i(async(t,e,r,s,i,n)=>{const a=t.spatialReference,l=k(a);u(this._updateAxisU,this._frame[0]),u(this._updateAxisV,this._frame[1]),u(this._updateWorldOrigin,this._worldOrigin);const h=(e,r)=>(e&&t.renderCoordsHelper.toRenderCoords(e,r)||c(r,0,0,0),r),d=e.areaMeasurement?.geometry,p=l&&1!==r&&d?await this._measurementWorker.geodesicLength(d,{stagedPoint:s?i:null}):null;o(n);const m=this._calculateMode(r,p),_="geodesic"===m,[g,f,j]=await Promise.all([_?null:this._measurementWorker.planarArea(this.vertexData.areaPolygon,{unit:this._areaMeasurementUnit,returnCentroid:!0}),_?null:this._measurementWorker.planarLength(this.vertexData.areaPolygon,{unit:this._lengthMeasurementUnit}),_&&d?await this._measurementWorker.geodesicArea(d,{stagedPoint:s?i:null,returnCentroid:!0}):null]);o(n);const v=_?null:x();v&&g?.centroid&&this._projectPointToFittedRender(v,this._updateWorldOrigin,[g.centroid?.x??0,g.centroid?.y??0],this._updateAxisU,this._updateAxisV,this.view.renderSpatialReference,this._measurementSR);const P=j?.centroid?h(j.centroid,x()):null;this._measurements=new H(m,_?null:g?.area,_?j?.area:null,_?null:f,_?p:null,_?null:v,_?P:null)});const e=O(t.view.spatialReference);this._measurementSR=e,this._lengthMeasurementUnit=a(e)??"meters",this._areaMeasurementUnit=l(e)??"square-meters";const r=R(e)?y.WebMercator:e;this.vertexData=new E(r)}destroy(){this._measurementWorker.destroy()}update(t,e,r,s,i,o,n){const a=this._lastPathVersion===t.version,l=e?e.equals(this._lastCursorPoint):null==this._lastCursorPoint,h=this._mode===i;return!(a&&!o&&h&&l)&&(this._lastPathVersion=t.version,this._lastCursorPoint=e,this._update(t,e,r,s,i,n),!0)}_update(t,e,r,i,o,n){const a=this.view.renderSpatialReference,l=this._measurementSR;let h=t.numVertices;const d=!(null==e||e.equals(t.lastPoint)||h>2&&e.equals(t.firstPoint)||t.polygonIsClosed);d&&(h+=1);const p=!t.polygonIsClosed&&h>2,m=t.polygonIsClosed||p;this._resize(h);const{positionsWorld:u,positionsRender:c}=this.vertexData,_=(t,e)=>{B(r.elevationProvider,t),U(t,u[e],l),U(t,c[e],a)};if(t.forEachVertexPosition((t,e)=>_(t,e)),d&&_(e,h-1),this.vertexData.areaPolygon.clearCache(),!m)return this._measurements=null,this.vertexData.triangleIndices=null,this._updateId++,void(this._updateAbortController=s(this._updateAbortController));this._updateVertexData(r,a,l,i),this._updateId++,this._updateAbortController??=new AbortController,n.addPromise(this._updateMeasurements(r,t,o,d,e,this._updateAbortController.signal))}_resize(t){for(t<this._length&&(this.vertexData.positionsWorld.length=t,this.vertexData.positionsRender.length=t,this.vertexData.positionsFittedWorldPlaneProjected.length=t,this.vertexData.positionsFittedRender.length=t,this._length=t);this._length<t;)this.vertexData.positionsWorld.push(x()),this.vertexData.positionsRender.push(x()),this.vertexData.positionsFittedWorldPlaneProjected.push(m()),this.vertexData.positionsFittedRender.push(x()),++this._length}_updateVertexData(t,e,r,s){const i=t.renderCoordsHelper,{positionsWorld:o,positionsRender:n,positionsFittedWorldPlaneProjected:a,positionsFittedRender:l}=this.vertexData,h=this._planeWorldCoords,d=this._centroidRenderCoords;S(n,d),i.worldUpAtPosition(d,this._worldUp),i.worldBasisAtPosition(d,0,this._worldTangent),M(d,this._worldUp,e,this._worldUp,r),M(d,this._worldTangent,e,this._worldTangent,r),o.length>2&&V(o,h),this._fittingMode=this._selectFittingMode(h,o,this._worldUp,s);let m=0;if("horizontal"===this._fittingMode){let t=-1/0;n.forEach((e,r)=>{const s=i.getAltitude(n[r]);s>t&&(t=s,m=r)})}const{_worldOrigin:c}=this;u(this._worldOrigin,o[m]);let v=h,P=this._worldTangent;"horizontal"===this._fittingMode?v=this._worldUp:"vertical"===this._fittingMode&&(v=this._tempVec3,P=this._worldUp,T(h,this._worldUp,v));const x=this._frame[0],w=this._frame[1];u(this._frame[2],v),T(P,v,x),_(w,x,this._frame[2]),g(w,w);const C=this._tempVec3;for(let u=0;u<this._length;++u){const t=a[u],s=l[u];f(C,o[u],c),p(t,j(x,C),j(w,C)),this._projectPointToFittedRender(s,c,t,x,w,e,r)}this.vertexData.triangleIndices=W(z(a))}_projectPointToFittedRender(t,e,r,s,i,o,n){const a=this._tempU,l=this._tempV;v(a,s,r[0]),v(l,i,r[1]),P(t,a,l),P(t,t,e),A(t,n,t,o)}_selectFittingMode(t,e,s,i){const o=e.map(e=>Math.abs(b(t,e))).reduce((t,e)=>Math.max(t,e),0);F(e,this._tempSphere);const n=o/(2*this._tempSphere.radius),a=n<i.maxRelativeErrorCoplanar,l=n<i.maxRelativeErrorAlmostCoplanar;let h="horizontal";if(a)h="oblique";else if(l){h=Math.abs(j(s,t))>Math.cos(r(i.verticalAngleThreshold))?"horizontal":"vertical"}return h}_calculateMode(t,e){return null!=e&&0===t?n(e,"meters")>Z?"geodesic":"euclidean":null==e||1===t?"euclidean":"geodesic"}};function B(t,e){e.hasZ||(e.z=I(t,e,"ground")??0)}t([h()],L.prototype,"_measurements",void 0),t([h()],L.prototype,"_updateId",void 0),t([h()],L.prototype,"view",void 0),L=t([d("esri.views.3d.analysis.AreaMeasurement.support.MeasurementData")],L);const Z=1e5;export{H as AreaMeasurementQuantities,L as MeasurementData};
5
+ import{__decorate as t}from"tslib";import e from"../../../../../core/Accessor.js";import{deg2rad as r}from"../../../../../core/mathUtils.js";import{abortMaybe as s}from"../../../../../core/maybe.js";import{debounce as i,throwIfAborted as o}from"../../../../../core/promiseUtils.js";import{valueInUnit as n}from"../../../../../core/quantity.js";import{lengthUnitFromSpatialReference as a,areaUnitFromSpatialReference as l}from"../../../../../core/units.js";import{property as h}from"../../../../../core/accessorSupport/decorators/property.js";import{subclass as d}from"../../../../../core/accessorSupport/decorators/subclass.js";import{set as p}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as m}from"../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{copy as u,set as c,cross as _,negate as g,subtract as f,dot as j,scale as v,add as P}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as x}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as w}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import C from"../../../../../geometry/Polygon.js";import R from"../../../../../geometry/SpatialReference.js";import{isPCPF as y}from"../../../../../geometry/spatialReferenceEllipsoidUtils.js";import{projectDirection as M}from"../../../../../geometry/projection/projectDirection.js";import{projectPointToVector as U}from"../../../../../geometry/projection/projectPointToVector.js";import{projectVectorToVector as A}from"../../../../../geometry/projection/projectVectorToVector.js";import{compactIndices as W}from"../../../../../geometry/support/Indices.js";import{Sphere as D}from"../../../../../geometry/support/sphere.js";import{bestFitPlane as V,planePointDistance as b,boundingSphere as F}from"../../support/measurementUtils.js";import{getElevationAtPoint as I}from"../../../support/ElevationProvider.js";import{midpoint3d as S,makeOrthonormal as T}from"../../../support/mathUtils.js";import{useGeodesicAreaMeasurement as z}from"../../../../support/automaticAreaMeasurementUtils.js";import{triangulate as O}from"../../../../support/euclideanAreaMeasurementUtils.js";import{computeEuclideanMeasurementSR as k}from"../../../../support/measurementUtils.js";import{MeasurementWorkerHandle as q}from"../../../../support/MeasurementWorkerHandle.js";class E{constructor(t){this.positionsWorld=[],this.positionsRender=[],this.positionsFittedRender=[],this.triangleIndices=null,this.areaPolygon=new C({rings:[[]],spatialReference:t}),this.positionsFittedWorldPlaneProjected=this.areaPolygon.rings[0]}}class H{constructor(t,e=null,r=null,s=null,i=null,o=null,n=null){this.mode=t,this.area=e,this.geodesicArea=r,this.perimeter=s,this.geodesicPerimeter=i,this.areaCentroidRenderCoords=o,this.geodesicAreaCentroidRenderCoords=n}}let L=class extends e{get numVertices(){return this._length}get hasStagedVertex(){return null!=this._lastCursorPoint}get fittingMode(){return this._fittingMode}get measurements(){return this._measurements}get updateId(){return this._updateId}constructor(t){super(t),this._length=0,this._lastCursorPoint=null,this._fittingMode=null,this._measurements=null,this._updateId=0,this._centroidRenderCoords=x(),this._planeWorldCoords=w(),this._worldUp=x(),this._worldTangent=x(),this._frame=[x(),x(),x()],this._worldOrigin=x(),this._updateAxisU=x(),this._updateAxisV=x(),this._updateWorldOrigin=x(),this._lastPathVersion=-1,this._mode=null,this._tempU=x(),this._tempV=x(),this._tempVec3=x(),this._tempSphere=new D,this._measurementWorker=new q,this._updateAbortController=null,this._updateMeasurements=i(async(t,e,r,s,i,n)=>{const a=t.spatialReference,l=z(a);u(this._updateAxisU,this._frame[0]),u(this._updateAxisV,this._frame[1]),u(this._updateWorldOrigin,this._worldOrigin);const h=(e,r)=>(e&&t.renderCoordsHelper.toRenderCoords(e,r)||c(r,0,0,0),r),d=e.areaMeasurement?.geometry,p=l&&1!==r&&d?await this._measurementWorker.geodesicLength(d,{stagedPoint:s?i:null}):null;o(n);const m=this._calculateMode(r,p),_="geodesic"===m,[g,f]=await Promise.all([_?null:this._measurementWorker.area2D(this.vertexData.areaPolygon,{unit:this._areaMeasurementUnit,lengthUnit:this._lengthMeasurementUnit,returnCentroid:!0,returnLength:!0}),_&&d?await this._measurementWorker.geodesicArea(d,{stagedPoint:s?i:null,returnCentroid:!0}):null]);o(n);const j=_?null:x();j&&g?.centroid&&this._projectPointToFittedRender(j,this._updateWorldOrigin,[g.centroid?.x??0,g.centroid?.y??0],this._updateAxisU,this._updateAxisV,this.view.renderSpatialReference,this._measurementSR);const v=f?.centroid?h(f.centroid,x()):null;this._measurements=new H(m,_?null:g?.area,_?f?.area:null,_?null:g?.length,_?p:null,_?null:j,_?v:null)});const e=k(t.view.spatialReference);this._measurementSR=e,this._lengthMeasurementUnit=a(e)??"meters",this._areaMeasurementUnit=l(e)??"square-meters";const r=y(e)?R.WebMercator:e;this.vertexData=new E(r)}destroy(){this._measurementWorker.destroy()}update(t,e,r,s,i,o,n){const a=this._lastPathVersion===t.version,l=e?e.equals(this._lastCursorPoint):null==this._lastCursorPoint,h=this._mode===i;return!(a&&!o&&h&&l)&&(this._lastPathVersion=t.version,this._lastCursorPoint=e,this._update(t,e,r,s,i,n),!0)}_update(t,e,r,i,o,n){const a=this.view.renderSpatialReference,l=this._measurementSR;let h=t.numVertices;const d=!(null==e||e.equals(t.lastPoint)||h>2&&e.equals(t.firstPoint)||t.polygonIsClosed);d&&(h+=1);const p=!t.polygonIsClosed&&h>2,m=t.polygonIsClosed||p;this._resize(h);const{positionsWorld:u,positionsRender:c}=this.vertexData,_=(t,e)=>{B(r.elevationProvider,t),U(t,u[e],l),U(t,c[e],a)};if(t.forEachVertexPosition((t,e)=>_(t,e)),d&&_(e,h-1),this.vertexData.areaPolygon.clearCache(),!m)return this._measurements=null,this.vertexData.triangleIndices=null,this._updateId++,void(this._updateAbortController=s(this._updateAbortController));this._updateVertexData(r,a,l,i),this._updateId++,this._updateAbortController??=new AbortController,n.addPromise(this._updateMeasurements(r,t,o,d,e,this._updateAbortController.signal))}_resize(t){for(t<this._length&&(this.vertexData.positionsWorld.length=t,this.vertexData.positionsRender.length=t,this.vertexData.positionsFittedWorldPlaneProjected.length=t,this.vertexData.positionsFittedRender.length=t,this._length=t);this._length<t;)this.vertexData.positionsWorld.push(x()),this.vertexData.positionsRender.push(x()),this.vertexData.positionsFittedWorldPlaneProjected.push(m()),this.vertexData.positionsFittedRender.push(x()),++this._length}_updateVertexData(t,e,r,s){const i=t.renderCoordsHelper,{positionsWorld:o,positionsRender:n,positionsFittedWorldPlaneProjected:a,positionsFittedRender:l}=this.vertexData,h=this._planeWorldCoords,d=this._centroidRenderCoords;S(n,d),i.worldUpAtPosition(d,this._worldUp),i.worldBasisAtPosition(d,0,this._worldTangent),M(d,this._worldUp,e,this._worldUp,r),M(d,this._worldTangent,e,this._worldTangent,r),o.length>2&&V(o,h),this._fittingMode=this._selectFittingMode(h,o,this._worldUp,s);let m=0;if("horizontal"===this._fittingMode){let t=-1/0;n.forEach((e,r)=>{const s=i.getAltitude(n[r]);s>t&&(t=s,m=r)})}const{_worldOrigin:c}=this;u(this._worldOrigin,o[m]);let v=h,P=this._worldTangent;"horizontal"===this._fittingMode?v=this._worldUp:"vertical"===this._fittingMode&&(v=this._tempVec3,P=this._worldUp,T(h,this._worldUp,v));const x=this._frame[0],w=this._frame[1];u(this._frame[2],v),T(P,v,x),_(w,x,this._frame[2]),g(w,w);const C=this._tempVec3;for(let u=0;u<this._length;++u){const t=a[u],s=l[u];f(C,o[u],c),p(t,j(x,C),j(w,C)),this._projectPointToFittedRender(s,c,t,x,w,e,r)}this.vertexData.triangleIndices=W(O(a))}_projectPointToFittedRender(t,e,r,s,i,o,n){const a=this._tempU,l=this._tempV;v(a,s,r[0]),v(l,i,r[1]),P(t,a,l),P(t,t,e),A(t,n,t,o)}_selectFittingMode(t,e,s,i){const o=e.map(e=>Math.abs(b(t,e))).reduce((t,e)=>Math.max(t,e),0);F(e,this._tempSphere);const n=o/(2*this._tempSphere.radius),a=n<i.maxRelativeErrorCoplanar,l=n<i.maxRelativeErrorAlmostCoplanar;let h="horizontal";if(a)h="oblique";else if(l){h=Math.abs(j(s,t))>Math.cos(r(i.verticalAngleThreshold))?"horizontal":"vertical"}return h}_calculateMode(t,e){return null!=e&&0===t?n(e,"meters")>Z?"geodesic":"euclidean":null==e||1===t?"euclidean":"geodesic"}};function B(t,e){e.hasZ||(e.z=I(t,e,"ground")??0)}t([h()],L.prototype,"_measurements",void 0),t([h()],L.prototype,"_updateId",void 0),t([h()],L.prototype,"view",void 0),L=t([d("esri.views.3d.analysis.AreaMeasurement.support.MeasurementData")],L);const Z=1e5;export{H as AreaMeasurementQuantities,L as MeasurementData};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import"../../../core/has.js";import{abortMaybe as t,destroyMaybe as s}from"../../../core/maybe.js";import{property as i,subclass as a}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as r}from"../../../support/getDefaultUnitForView.js";import o from"./AnalysisView3D.js";import{AreaMeasurementController as n}from"./AreaMeasurement/support/AreaMeasurementController.js";import{AreaMeasurement3DPathHelper as l}from"./AreaMeasurement/support/AreaMeasurementPathHelper.js";import{AreaMeasurementVisualization as p}from"./AreaMeasurement/support/AreaMeasurementVisualization.js";import{toPreferredLengthUnit as u,toPreferredAreaUnit as m}from"./AreaMeasurement/support/utils.js";import y from"../interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js";import{connectAnalysisViewToTool as h,removeAnalysisViewTool as d,startPlaceOperation as v}from"../../analysis/analysisViewUtils.js";let g=class extends o{constructor(e){super(e),this.type="area-measurement-view-3d",this.analysis=null,this.measurementData=null,this.lastDraggedVertex=null,this.stagedPoint=null,this.mode=0,this.tool=null,this.userOperation=null}initialize(){const{analysis:e,view:t}=this;this.path=new l({view:t,areaMeasurement:e}),this._analysisVisualization=new p({view:t,analysis:e,analysisViewData:this}),this._analysisController=new n({view:t,analysis:e,analysisViewData:this}),this.addHandles(h(this,y))}destroy(){d(this),this.userOperation=t(this.userOperation),this._analysisController=s(this._analysisController),this._analysisVisualization=s(this._analysisVisualization),this.path.destroy()}get visible(){return super.visible}set visible(e){super.visible=e}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get updating(){return!!this._analysisVisualization?.loadingMessages||!!this._analysisController?.updating}get result(){const e=this.measurementData?.measurements;if(!e)return null;const{unit:t}=this,{mode:s}=e,i="geodesic"===s,a=i?e.geodesicArea:e.area,r=i?e.geodesicPerimeter:e.perimeter;return{mode:s,area:a?m(a,t):null,perimeter:r?u(r,t):null}}get viewData(){return this._analysisVisualization.viewData}get areaLabel(){return this._analysisVisualization.areaLabel}get perimeterLabel(){return this._analysisVisualization.perimeterLabel}get validMeasurement(){return this.path.isValidPolygon}get unit(){return this.analysis.unit??r(this.view)}get testData(){}place(e){return v(this,{placementOptions:e})}};e([i()],g.prototype,"_analysisVisualization",void 0),e([i()],g.prototype,"_analysisController",void 0),e([i({readOnly:!0})],g.prototype,"type",void 0),e([i({constructOnly:!0,nonNullable:!0})],g.prototype,"analysis",void 0),e([i()],g.prototype,"updating",null),e([i()],g.prototype,"result",null),e([i()],g.prototype,"measurementData",void 0),e([i()],g.prototype,"viewData",null),e([i()],g.prototype,"areaLabel",null),e([i()],g.prototype,"perimeterLabel",null),e([i()],g.prototype,"validMeasurement",null),e([i()],g.prototype,"path",void 0),e([i()],g.prototype,"lastDraggedVertex",void 0),e([i()],g.prototype,"stagedPoint",void 0),e([i()],g.prototype,"mode",void 0),e([i()],g.prototype,"unit",null),e([i()],g.prototype,"tool",void 0),e([i()],g.prototype,"userOperation",void 0),g=e([a("esri.views.3d.analysis.AreaMeasurementAnalysisView3D")],g);const c=g;export{c as default};
5
+ import{__decorate as e}from"tslib";import"../../../core/has.js";import{abortMaybe as t,destroyMaybe as i}from"../../../core/maybe.js";import{toAdaptiveLengthUnitForArea as s,toAdaptiveAreaUnit as a}from"../../../core/quantity.js";import{property as r,subclass as o}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as n}from"../../../support/getDefaultUnitForView.js";import l from"./AnalysisView3D.js";import{AreaMeasurementController as p}from"./AreaMeasurement/support/AreaMeasurementController.js";import{AreaMeasurement3DPathHelper as u}from"./AreaMeasurement/support/AreaMeasurementPathHelper.js";import{AreaMeasurementVisualization as m}from"./AreaMeasurement/support/AreaMeasurementVisualization.js";import y from"../interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js";import{connectAnalysisViewToTool as h,removeAnalysisViewTool as d,startPlaceOperation as v}from"../../analysis/analysisViewUtils.js";let c=class extends l{constructor(e){super(e),this.type="area-measurement-view-3d",this.analysis=null,this.measurementData=null,this.lastDraggedVertex=null,this.stagedPoint=null,this.mode=0,this.tool=null,this.userOperation=null}initialize(){const{analysis:e,view:t}=this;this.path=new u({view:t,areaMeasurement:e}),this._analysisVisualization=new m({view:t,analysis:e,analysisViewData:this}),this._analysisController=new p({view:t,analysis:e,analysisViewData:this}),this.addHandles(h(this,y))}destroy(){d(this),this.userOperation=t(this.userOperation),this._analysisController=i(this._analysisController),this._analysisVisualization=i(this._analysisVisualization),this.path.destroy()}get visible(){return super.visible}set visible(e){super.visible=e}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get updating(){return!!this._analysisVisualization?.loadingMessages||!!this._analysisController?.updating}get result(){const e=this.measurementData?.measurements;if(!e)return null;const{unit:t}=this,{mode:i}=e,r="geodesic"===i,o=r?e.geodesicArea:e.area,n=r?e.geodesicPerimeter:e.perimeter;return{mode:i,area:o?a(o,t):null,perimeter:n?s(n,t):null}}get viewData(){return this._analysisVisualization.viewData}get areaLabel(){return this._analysisVisualization.areaLabel}get perimeterLabel(){return this._analysisVisualization.perimeterLabel}get validMeasurement(){return this.path.isValidPolygon}get unit(){return this.analysis.unit??n(this.view)}get testData(){}place(e){return v(this,{placementOptions:e})}};e([r()],c.prototype,"_analysisVisualization",void 0),e([r()],c.prototype,"_analysisController",void 0),e([r({readOnly:!0})],c.prototype,"type",void 0),e([r({constructOnly:!0,nonNullable:!0})],c.prototype,"analysis",void 0),e([r()],c.prototype,"updating",null),e([r()],c.prototype,"result",null),e([r()],c.prototype,"measurementData",void 0),e([r()],c.prototype,"viewData",null),e([r()],c.prototype,"areaLabel",null),e([r()],c.prototype,"perimeterLabel",null),e([r()],c.prototype,"validMeasurement",null),e([r()],c.prototype,"path",void 0),e([r()],c.prototype,"lastDraggedVertex",void 0),e([r()],c.prototype,"stagedPoint",void 0),e([r()],c.prototype,"mode",void 0),e([r()],c.prototype,"unit",null),e([r()],c.prototype,"tool",void 0),e([r()],c.prototype,"userOperation",void 0),c=e([o("esri.views.3d.analysis.AreaMeasurementAnalysisView3D")],c);const g=c;export{g as default};
@@ -1,4 +1,3 @@
1
-
2
1
  /**
3
2
  * Types for the [DimensionAnalysisView3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-DimensionAnalysisView3D.html).
4
3
  *
@@ -1,4 +1,3 @@
1
-
2
1
  /**
3
2
  * Types for the [SliceAnalysisView3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-SliceAnalysisView3D.html).
4
3
  *
@@ -1,4 +1,3 @@
1
-
2
1
  /**
3
2
  * Types for the [ViewshedAnalysisView3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-ViewshedAnalysisView3D.html).
4
3
  *
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{volumeMeasurementConfiguration as t}from"../../../../analysis/VolumeMeasurement/volumeMeasurementConfiguration.js";import r from"../../../../core/Accessor.js";import o from"../../../../core/Logger.js";import{debounce as n}from"../../../../core/promiseUtils.js";import{whenOnce as i,watch as s,syncAndInitial as l}from"../../../../core/reactiveUtils.js";import{createScreenPointArray as a}from"../../../../core/screenUtils.js";import{property as p,subclass as u}from"../../../../core/accessorSupport/decorators.js";import{e as m}from"../../../../chunks/earcut.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as d,scaleAndAdd as h,sqrDist as g}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{fromValues as y,create as f,clone as _}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as v}from"../../../../core/support/UpdatingHandles.js";import{projectOrLoad as w}from"../../../../geometry/projectionUtils.js";import{computeTranslationToOriginAndRotation as j}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBoundingRect as E}from"../../../../geometry/projection/projectBoundingRect.js";import{empty as b,create as R,expand as G,width as x,height as L,fromExtent as T,intersects as C}from"../../../../geometry/support/aaBoundingRect.js";import{newDoubleArray as P}from"../../../../geometry/support/DoubleArray.js";import{t as H}from"../../../../chunks/vec3.js";import M from"../../../../symbols/support/ElevationInfo.js";import{logFailedGeometryProjectionError as V}from"../support/projectionUtils.js";import{VolumeMeasurementCutFillComputation as U}from"./VolumeMeasurementCutFillComputation.js";import{VolumeMeasurementDistanceTooCloseError as A,VolumeMeasurementDistanceTooFarError as I,VolumeMeasurementPerimeterTooLargeError as O,VolumeMeasurementUnsupportedCoordinateSystemError as D,VolumeMeasurementUnsupportedLayerTransparencyError as F}from"./volumeMeasurementErrors.js";import S from"./VolumeMeasurementResult.js";import{getRawResult as N}from"./volumeMeasurementUtils.js";import{ElevationContext as k}from"../../layers/graphics/ElevationContext.js";import{getElevationAtPoint as z}from"../../support/ElevationProvider.js";import{polygonToRenderInfo as B}from"../../support/renderInfoUtils/polygon.js";import{CutFillDepth as W,TargetGeometryRenderInfo as q}from"../../webgl-engine/lib/CutFillDepth.js";let J=class extends r{constructor(e){super(e),this._getElevationProvider=()=>this.view.elevationProvider,this.labelAnchors=null,this._updatingHandles=new v,this._rawResult=null,this._debouncedUpdate=n(async(e,t,r)=>{if(!this._renderer.done)return;const{renderCoordsHelper:o}=this.view,n=new U({extent:e,localOrigin:t,renderCoordsHelper:o});if(this._renderer.setup(n,r),this._renderer.start(),await i(()=>this._renderer.done),!this._enabled)return;const s=this._renderer.getResults();this._updateResult(n,s),this._updateLabelAnchors(n,s)})}initialize(){const e=this.view;this._renderer=new W({view:e}),this.addHandles([this._createElevationUpdateHandle(),s(()=>({extent:this._projectedGeometry?.extent,localOrigin:this._localOrigin,targetGeometryRenderInfo:this._targetGeometryRenderInfo,enabled:this._enabled}),({extent:e,localOrigin:t,targetGeometryRenderInfo:r,enabled:o})=>{e&&t&&r&&o?this._updatingHandles.addPromise(this._debouncedUpdate(e,t,r)):this._rawResult=null},l)])}destroy(){this._updatingHandles.destroy(),this._renderer.destroy()}get _projectedGeometry(){if(!this.analysis.valid)return null;const e=this.analysis.geometry,t=w(e,this.view.spatialReference);return t.pending?(this._updatingHandles.addPromise(t.pending),null):(e&&!t.geometry&&V(this.analysis,e.spatialReference,o.getLogger(this)),t.geometry)}get _localOrigin(){const e=this._projectedGeometry?.extent;return e?y(e.center.x,e.center.y,0):null}get elevationAlignedGeometry(){const e=this._projectedGeometry;if(!e)return null;const t=e.clone();return K(this._getElevationProvider(),t),t}get targetGeometry(){const{elevationAlignedGeometry:e}=this;if(!e)return null;const t=this.analysis.measureType,{effectiveTargetElevation:r}=this.analysisViewData;if("stockpile"===t||null==r)return e;const o=e.clone();return o.rings[0].forEach(e=>e[2]=r),o}get _targetGeometryRenderInfo(){const e=this.targetGeometry,t=this._projectedGeometry?.extent,r=this._localOrigin;if(!e||!t||!r)return null;const{elevationProvider:o,renderCoordsHelper:n}=this.view,i=B(e,o,n,k.fromElevationInfo(new M({mode:"absolute-height"}))),{polygons:s}=i,l=s[0],a=m(l.position,l.holeIndices,3),p=P(3*l.count),u=c(),d=c();return j(t.spatialReference,r,u,n.spatialReference),d[12]=-u[12],d[13]=-u[13],d[14]=-u[14],H(p,l.position,d),new q(p,a)}get updating(){return this._renderer.updating||this._updatingHandles.updating}get result(){const e=this._rawResult;return e?new S({measureType:this.analysis.measureType,rawResult:e,unit:this.analysisViewData.effectiveDisplayUnits.volume}):null}get error(){return this._unsupportedCoordinateSystemError??this._unsupportedLayerTransparencyError??this._perimeterTooLargeError??this._tooNearFarError}get _tooNearFarError(){const e=this.elevationAlignedGeometry;if(!e)return null;const{view:r}=this,{elevationProvider:o,renderCoordsHelper:n}=r,{camera:i}=r.state,s=B(e,o,n,k.fromElevationInfo(new M({mode:"absolute-height"}))),{polygons:l}=s,a=l[0].position;b(te);for(let t=0;t<a.length;t+=3)i.projectToScreen(d(ee,a[t],a[t+1],a[t+2]),re),G(te,re,te);const p=x(te),u=L(te),{maxVolumeExtentSizeVw:m,minVolumeExtentSizePixels:c}=t;return p>i.width/i.pixelRatio*m||u>i.height/i.pixelRatio*m?new A:Math.max(p,u)<c?new I:null}get _perimeterTooLargeError(){return this._perimeterTooLargeLocalError??this._perimeterTooLargeGlobalError}get _perimeterTooLargeLocalError(){const{spatialReference:e,state:{isLocal:r}}=this.view;if(!r||!e.isWebMercator)return null;const o=this._perimeter,{maxPerimeterLocalWebMercator:n}=t;return null!=o&&o>n?new O:null}get _perimeterTooLargeGlobalError(){if(!this.view.state.isGlobal)return null;const e=this._perimeter,{maxPerimeterGlobal:r}=t;return null!=e&&e>r?new O:null}get _unsupportedCoordinateSystemError(){return this.view.state.isLocal&&this.view.spatialReference.isGeographic?new D:null}get _unsupportedLayerTransparencyError(){return(this.view.map?.ground.opacity??1)<1?new F:null}get _perimeter(){const e=this._targetGeometryRenderInfo?.positions,t=e?X(Y(e)):null;return null!=t?t/this.view.renderCoordsHelper.unitInMeters:null}get _enabled(){return!this.error}_createElevationUpdateHandle(){const e=e=>{const t=this._projectedGeometry?.extent;"ground"===e.context&&t&&(E(e.extent,e.spatialReference,Z,this.view.spatialReference),T(t,$),C(Z,$)&&(this._getElevationProvider=()=>this.view.elevationProvider))};return this.view.elevationProvider.on("elevation-change",t=>e(t))}_updateResult(e,t){const{dimensions:{width:r,height:o},cameraNearFar:{near:n,far:i}}=e,s=r/t.width*(o/t.height),l=Q(t.cut.totalDepth,n,i)*s,a=Q(t.fill.totalDepth,n,i)*s;this._rawResult=N(Math.abs(l),a)}_updateLabelAnchors(e,t){const{dimensions:{width:r,height:o},cameraNearFar:{near:n,far:i},cameraPositionRenderSpace:s,northVector:l,eastVector:a,upVector:p}=e,u=e=>{const{labelDepth:u,labelCoords:m,totalDepth:c}=e,d=_(s);return 0!==c&&(h(d,d,a,r*(m[0]/t.width-.5)),h(d,d,l,o*(m[1]/t.height-.5))),h(d,d,p,-Q(u,n,i)),d};this.labelAnchors={cut:u(t.cut),fill:u(t.fill)}}};function K(e,t){t.rings[0].forEach(t=>{t[2]=z(e,t,"ground")??0})}function Q(e,t,r){return e*(r-t)+t}function X(e){if(!e)return null;let t=null,r=null,o=0;for(const n of e)t||(t=[n[0],n[1],n[2]??0]),r?o+=g(r,n):r=[0,0,0],r[0]=n[0],r[1]=n[1],r[2]=n[2];return t&&r&&(o+=g(r,t)),Math.sqrt(o)}function*Y(e){const t=f();for(let r=0;r<e.length;r+=3)t[0]=e[r],t[1]=e[r+1],t[2]=e[r+2],yield t}e([p()],J.prototype,"_projectedGeometry",null),e([p()],J.prototype,"_localOrigin",null),e([p()],J.prototype,"_getElevationProvider",void 0),e([p()],J.prototype,"elevationAlignedGeometry",null),e([p()],J.prototype,"targetGeometry",null),e([p()],J.prototype,"_targetGeometryRenderInfo",null),e([p({constructOnly:!0})],J.prototype,"analysis",void 0),e([p({constructOnly:!0})],J.prototype,"analysisViewData",void 0),e([p({constructOnly:!0})],J.prototype,"view",void 0),e([p()],J.prototype,"updating",null),e([p()],J.prototype,"result",null),e([p()],J.prototype,"labelAnchors",void 0),e([p()],J.prototype,"error",null),e([p()],J.prototype,"_tooNearFarError",null),e([p()],J.prototype,"_perimeterTooLargeError",null),e([p()],J.prototype,"_perimeterTooLargeLocalError",null),e([p()],J.prototype,"_perimeterTooLargeGlobalError",null),e([p()],J.prototype,"_unsupportedCoordinateSystemError",null),e([p()],J.prototype,"_unsupportedLayerTransparencyError",null),e([p()],J.prototype,"_perimeter",null),e([p()],J.prototype,"_enabled",null),e([p()],J.prototype,"_renderer",void 0),e([p({readOnly:!0})],J.prototype,"_updatingHandles",void 0),e([p()],J.prototype,"_rawResult",void 0),J=e([u("esri.views.3d.analysis.VolumeMeasurement.VolumeMeasurementCutFillController")],J);const Z=b(),$=b(),ee=f(),te=R(),re=a();export{J as VolumeMeasurementCutFillController};
5
+ import{__decorate as e}from"tslib";import{volumeMeasurementConfiguration as t}from"../../../../analysis/VolumeMeasurement/volumeMeasurementConfiguration.js";import r from"../../../../core/Accessor.js";import o from"../../../../core/Logger.js";import{debounce as n}from"../../../../core/promiseUtils.js";import{createVolume as i}from"../../../../core/quantity.js";import{whenOnce as s,watch as l,syncAndInitial as a}from"../../../../core/reactiveUtils.js";import{createScreenPointArray as p}from"../../../../core/screenUtils.js";import{property as u,subclass as m}from"../../../../core/accessorSupport/decorators.js";import{e as c}from"../../../../chunks/earcut.js";import{create as d}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as h,scaleAndAdd as g,sqrDist as y}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{fromValues as f,create as _,clone as v}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as w}from"../../../../core/support/UpdatingHandles.js";import{projectOrLoad as j}from"../../../../geometry/projectionUtils.js";import{computeTranslationToOriginAndRotation as b}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBoundingRect as E}from"../../../../geometry/projection/projectBoundingRect.js";import{empty as R,create as G,expand as x,width as L,height as H,fromExtent as T,intersects as P}from"../../../../geometry/support/aaBoundingRect.js";import{newDoubleArray as V}from"../../../../geometry/support/DoubleArray.js";import{t as C}from"../../../../chunks/vec3.js";import M from"../../../../symbols/support/ElevationInfo.js";import{logFailedGeometryProjectionError as U}from"../support/projectionUtils.js";import{VolumeMeasurementCutFillComputation as A}from"./VolumeMeasurementCutFillComputation.js";import{VolumeMeasurementDistanceTooCloseError as I,VolumeMeasurementDistanceTooFarError as O,VolumeMeasurementPerimeterTooLargeError as D,VolumeMeasurementUnsupportedCoordinateSystemError as S,VolumeMeasurementUnsupportedLayerTransparencyError as F}from"./volumeMeasurementErrors.js";import{VolumeMeasurementRawResult as k}from"./VolumeMeasurementRawResult.js";import W from"./VolumeMeasurementResult.js";import{ElevationContext as N}from"../../layers/graphics/ElevationContext.js";import{getElevationAtPoint as z}from"../../support/ElevationProvider.js";import{polygonToRenderInfo as q}from"../../support/renderInfoUtils/polygon.js";import{CutFillDepth as B,TargetGeometryRenderInfo as J}from"../../webgl-engine/lib/CutFillDepth.js";import{MeasurementWorkerHandle as K}from"../../../support/MeasurementWorkerHandle.js";let Q=class extends r{constructor(e){super(e),this._measurementWorkerHandle=new K,this._getElevationProvider=()=>this.view.elevationProvider,this.labelAnchors=null,this._updatingHandles=new w,this._rawResult=null,this._debouncedUpdate=n(async(e,t,r,o)=>{if(!this._renderer.done)return;const{renderCoordsHelper:n}=this.view,i=new A({extent:t,localOrigin:r,renderCoordsHelper:n});this._renderer.setup(i,o),this._renderer.start();const[l]=await Promise.allSettled([this._measurementWorkerHandle.areaHorizontal(e,{returnLength:!0}),s(()=>this._renderer.done).then(()=>{this._updateLabelAnchors(i,this._renderer.getResults())})]);if(!this._enabled)return;const a=this._renderer.getResults();this._updateResult(i,a,"fulfilled"===l.status?l.value:null)})}initialize(){const e=this.view;this._renderer=new B({view:e}),this.addHandles([this._createElevationUpdateHandle(),l(()=>({projectedGeometry:this._projectedGeometry,localOrigin:this._localOrigin,targetGeometryRenderInfo:this._targetGeometryRenderInfo,enabled:this._enabled}),({projectedGeometry:e,localOrigin:t,targetGeometryRenderInfo:r,enabled:o})=>{const n=e?.extent;e&&n&&t&&r&&o?this._updatingHandles.addPromise(this._debouncedUpdate(e,n,t,r)):this._rawResult=null},a)])}destroy(){this._updatingHandles.destroy(),this._renderer.destroy(),this._measurementWorkerHandle.destroy()}get _projectedGeometry(){if(!this.analysis.valid)return null;const e=this.analysis.geometry,t=j(e,this.view.spatialReference);return t.pending?(this._updatingHandles.addPromise(t.pending),null):(e&&!t.geometry&&U(this.analysis,e.spatialReference,o.getLogger(this)),t.geometry)}get _localOrigin(){const e=this._projectedGeometry?.extent;return e?f(e.center.x,e.center.y,0):null}get elevationAlignedGeometry(){const e=this._projectedGeometry;if(!e)return null;const t=e.clone();return X(this._getElevationProvider(),t),t}get targetGeometry(){const{elevationAlignedGeometry:e}=this;if(!e)return null;const t=this.analysis.measureType,{effectiveTargetElevation:r}=this.analysisViewData;if("stockpile"===t||null==r)return e;const o=e.clone();return o.rings[0].forEach(e=>e[2]=r),o}get _targetGeometryRenderInfo(){const e=this.targetGeometry,t=this._projectedGeometry?.extent,r=this._localOrigin;if(!e||!t||!r)return null;const{elevationProvider:o,renderCoordsHelper:n}=this.view,i=q(e,o,n,N.fromElevationInfo(new M({mode:"absolute-height"}))),{polygons:s}=i,l=s[0],a=c(l.position,l.holeIndices,3),p=V(3*l.count),u=d(),m=d();return b(t.spatialReference,r,u,n.spatialReference),m[12]=-u[12],m[13]=-u[13],m[14]=-u[14],C(p,l.position,m),new J(p,a)}get updating(){return this._renderer.updating||this._updatingHandles.updating}get result(){const e=this._rawResult,{volume:t,area:r,length:o}=this.analysisViewData.effectiveDisplayUnits;return e?new W({measureType:this.analysis.measureType,rawResult:e,volumeUnit:t,areaUnit:r,lengthUnit:o}):null}get error(){return this._unsupportedCoordinateSystemError??this._unsupportedLayerTransparencyError??this._perimeterTooLargeError??this._tooNearFarError}get _tooNearFarError(){const e=this.elevationAlignedGeometry;if(!e)return null;const{view:r}=this,{elevationProvider:o,renderCoordsHelper:n}=r,{camera:i}=r.state,s=q(e,o,n,N.fromElevationInfo(new M({mode:"absolute-height"}))),{polygons:l}=s,a=l[0].position;R(oe);for(let t=0;t<a.length;t+=3)i.projectToScreen(h(re,a[t],a[t+1],a[t+2]),ne),x(oe,ne,oe);const p=L(oe),u=H(oe),{maxVolumeExtentSizeVw:m,minVolumeExtentSizePixels:c}=t;return p>i.width/i.pixelRatio*m||u>i.height/i.pixelRatio*m?new I:Math.max(p,u)<c?new O:null}get _perimeterTooLargeError(){return this._perimeterTooLargeLocalError??this._perimeterTooLargeGlobalError}get _perimeterTooLargeLocalError(){const{spatialReference:e,state:{isLocal:r}}=this.view;if(!r||!e.isWebMercator)return null;const o=this._perimeter,{maxPerimeterLocalWebMercator:n}=t;return null!=o&&o>n?new D:null}get _perimeterTooLargeGlobalError(){if(!this.view.state.isGlobal)return null;const e=this._perimeter,{maxPerimeterGlobal:r}=t;return null!=e&&e>r?new D:null}get _unsupportedCoordinateSystemError(){return this.view.state.isLocal&&this.view.spatialReference.isGeographic?new S:null}get _unsupportedLayerTransparencyError(){return(this.view.map?.ground.opacity??1)<1?new F:null}get _perimeter(){const e=this._targetGeometryRenderInfo?.positions,t=e?Z($(e)):null;return null!=t?t/this.view.renderCoordsHelper.unitInMeters:null}get _enabled(){return!this.error}_createElevationUpdateHandle(){const e=e=>{const t=this._projectedGeometry?.extent;"ground"===e.context&&t&&(E(e.extent,e.spatialReference,ee,this.view.spatialReference),T(t,te),P(ee,te)&&(this._getElevationProvider=()=>this.view.elevationProvider))};return this.view.elevationProvider.on("elevation-change",t=>e(t))}_updateResult(e,t,r){const{dimensions:{width:o,height:n},cameraNearFar:{near:s,far:l}}=e,a=o/t.width*(n/t.height),p=Y(t.cut.totalDepth,s,l)*a,u=Y(t.fill.totalDepth,s,l)*a;this._rawResult=new k({cutVolume:i(Math.abs(p),"cubic-meters"),fillVolume:i(u,"cubic-meters"),area:r?.area,perimeter:r?.length})}_updateLabelAnchors(e,t){const{dimensions:{width:r,height:o},cameraNearFar:{near:n,far:i},cameraPositionRenderSpace:s,northVector:l,eastVector:a,upVector:p}=e,u=e=>{const{labelDepth:u,labelCoords:m,totalDepth:c}=e,d=v(s);return 0!==c&&(g(d,d,a,r*(m[0]/t.width-.5)),g(d,d,l,o*(m[1]/t.height-.5))),g(d,d,p,-Y(u,n,i)),d};this.labelAnchors={cut:u(t.cut),fill:u(t.fill)}}};function X(e,t){t.rings[0].forEach(t=>{t[2]=z(e,t,"ground")??0})}function Y(e,t,r){return e*(r-t)+t}function Z(e){if(!e)return null;let t=null,r=null,o=0;for(const n of e)t||(t=[n[0],n[1],n[2]??0]),r?o+=y(r,n):r=[0,0,0],r[0]=n[0],r[1]=n[1],r[2]=n[2];return t&&r&&(o+=y(r,t)),Math.sqrt(o)}function*$(e){const t=_();for(let r=0;r<e.length;r+=3)t[0]=e[r],t[1]=e[r+1],t[2]=e[r+2],yield t}e([u()],Q.prototype,"_projectedGeometry",null),e([u()],Q.prototype,"_localOrigin",null),e([u()],Q.prototype,"_getElevationProvider",void 0),e([u()],Q.prototype,"elevationAlignedGeometry",null),e([u()],Q.prototype,"targetGeometry",null),e([u()],Q.prototype,"_targetGeometryRenderInfo",null),e([u({constructOnly:!0})],Q.prototype,"analysis",void 0),e([u({constructOnly:!0})],Q.prototype,"analysisViewData",void 0),e([u({constructOnly:!0})],Q.prototype,"view",void 0),e([u()],Q.prototype,"updating",null),e([u()],Q.prototype,"result",null),e([u()],Q.prototype,"labelAnchors",void 0),e([u()],Q.prototype,"error",null),e([u()],Q.prototype,"_tooNearFarError",null),e([u()],Q.prototype,"_perimeterTooLargeError",null),e([u()],Q.prototype,"_perimeterTooLargeLocalError",null),e([u()],Q.prototype,"_perimeterTooLargeGlobalError",null),e([u()],Q.prototype,"_unsupportedCoordinateSystemError",null),e([u()],Q.prototype,"_unsupportedLayerTransparencyError",null),e([u()],Q.prototype,"_perimeter",null),e([u()],Q.prototype,"_enabled",null),e([u()],Q.prototype,"_renderer",void 0),e([u({readOnly:!0})],Q.prototype,"_updatingHandles",void 0),e([u()],Q.prototype,"_rawResult",void 0),Q=e([m("esri.views.3d.analysis.VolumeMeasurement.VolumeMeasurementCutFillController")],Q);const ee=R(),te=R(),re=_(),oe=G(),ne=p();export{Q as VolumeMeasurementCutFillController};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
+ */
5
+ import{valueInUnit as t,createVolume as e}from"../../../../core/quantity.js";class l{constructor({cutVolume:l,fillVolume:o,area:i,perimeter:u}){this.cutVolume=l,this.fillVolume=o;const r=l.unit,s=t(o,r);this.netVolume=e(l.value-s,r),this.totalVolume=e(l.value+s,r),this.area=i,this.perimeter=u}}export{l as VolumeMeasurementRawResult};
@@ -1,6 +1,6 @@
1
1
  import type Accessor from "../../../../core/Accessor.js";
2
2
  import type { VolumeMeasureType } from "../../../../analysis/VolumeMeasurement/types.js";
3
- import type { Volume } from "../../../../core/quantity.js";
3
+ import type { Area, Length, Volume } from "../../../../core/quantity.js";
4
4
 
5
5
  export interface VolumeMeasurementResultProperties {
6
6
  /** Volume measure type. */
@@ -20,6 +20,8 @@ export interface VolumeMeasurementResultProperties {
20
20
  */
21
21
  export default class VolumeMeasurementResult extends Accessor {
22
22
  constructor(properties?: VolumeMeasurementResultProperties);
23
+ /** The area of the measured volume. */
24
+ get area(): Area | null | undefined;
23
25
  /** Volume that needs to be removed to reach the target surface defined by the polygon. */
24
26
  get cutVolume(): Volume | null | undefined;
25
27
  /** Volume that needs to be added to reach the target surface defined by the polygon. */
@@ -31,6 +33,8 @@ export default class VolumeMeasurementResult extends Accessor {
31
33
  * A positive value indicates a surplus volume that needs to be removed.
32
34
  */
33
35
  get netVolume(): Volume | null | undefined;
36
+ /** The perimeter of the measured volume. */
37
+ get perimeter(): Length | null | undefined;
34
38
  /** Sum of the cut volume and fill volume. */
35
39
  get totalVolume(): Volume | null | undefined;
36
40
  }
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import e from"../../../../core/Accessor.js";import{property as o,subclass as u}from"../../../../core/accessorSupport/decorators.js";import{toPreferredVolumeUnit as l}from"./volumeMeasurementUtils.js";let r=class extends e{constructor(t){super(t)}get cutVolume(){return l(this.rawResult.cutVolume,this.unit)}get fillVolume(){return l(this.rawResult.fillVolume,this.unit)}get netVolume(){return l(this.rawResult.netVolume,this.unit)}get totalVolume(){return l(this.rawResult.totalVolume,this.unit)}};t([o({constructOnly:!0})],r.prototype,"measureType",void 0),t([o()],r.prototype,"cutVolume",null),t([o()],r.prototype,"fillVolume",null),t([o()],r.prototype,"netVolume",null),t([o()],r.prototype,"totalVolume",null),t([o({constructOnly:!0})],r.prototype,"rawResult",void 0),t([o({constructOnly:!0})],r.prototype,"unit",void 0),r=t([u("esri.views.3d.analysis.VolumeMeasurement.VolumeMeasurementResult")],r);export{r as default};
5
+ import{__decorate as t}from"tslib";import e from"../../../../core/Accessor.js";import{toAdaptiveAreaUnit as o,toAdaptiveVolumeUnit as r,toAdaptiveLengthUnit as l}from"../../../../core/quantity.js";import{property as u,subclass as s}from"../../../../core/accessorSupport/decorators.js";let n=class extends e{constructor(t){super(t)}get area(){const{area:t}=this.rawResult;return t?o(t,this.areaUnit):null}get cutVolume(){const{cutVolume:t}=this.rawResult;return r(t,this.volumeUnit)}get fillVolume(){const{fillVolume:t}=this.rawResult;return r(t,this.volumeUnit)}get netVolume(){const{netVolume:t}=this.rawResult;return r(t,this.volumeUnit)}get perimeter(){const{perimeter:t}=this.rawResult;return t?l(t,this.lengthUnit):null}get totalVolume(){const{totalVolume:t}=this.rawResult;return r(t,this.volumeUnit)}};t([u({constructOnly:!0})],n.prototype,"measureType",void 0),t([u()],n.prototype,"cutVolume",null),t([u()],n.prototype,"fillVolume",null),t([u()],n.prototype,"netVolume",null),t([u()],n.prototype,"totalVolume",null),t([u({constructOnly:!0})],n.prototype,"rawResult",void 0),t([u({constructOnly:!0})],n.prototype,"volumeUnit",void 0),t([u({constructOnly:!0})],n.prototype,"areaUnit",void 0),t([u({constructOnly:!0})],n.prototype,"lengthUnit",void 0),n=t([s("esri.views.3d.analysis.VolumeMeasurement.VolumeMeasurementResult")],n);export{n as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import"../../../core/has.js";import{destroyMaybe as t}from"../../../core/maybe.js";import{verticalLengthUnitFromSpatialReference as i,convertUnit as s}from"../../../core/units.js";import{property as l,subclass as r}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as n}from"../../../support/getDefaultUnitForView.js";import o from"./AnalysisView3D.js";import{VolumeMeasurementCutFillController as a}from"./VolumeMeasurement/VolumeMeasurementCutFillController.js";import{VolumeMeasurementCutFillVisualization as u}from"./VolumeMeasurement/VolumeMeasurementCutFillVisualization.js";import y from"./VolumeMeasurement/VolumeMeasurementTool.js";let p=class extends o{constructor(e){super(e),this.type="volume-measurement-view-3d",this.analysis=null}initialize(){const{analysis:e,view:t}=this;this._analysisController=new a({view:t,analysis:e,analysisViewData:this}),this._analysisTool=new y({analysis:e,view:t,analysisViewData:this}),this._analysisVisualization=new u({view:t,analysis:e,analysisViewData:this})}destroy(){this._analysisController=t(this._analysisController),this._analysisVisualization=t(this._analysisVisualization),this._analysisTool.destroy()}get error(){return this._analysisController?.error??null}get result(){return this._analysisController?.result}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get visible(){return super.visible}set visible(e){super.visible=e}get elevationAlignedGeometry(){return this._analysisController?.elevationAlignedGeometry}get effectiveTargetElevation(){const{cutFillOptions:e,inputUnits:t}=this.analysis,{targetElevation:l}=e,r=t?.elevation??"meters",n=i(this.view.spatialReference);if(null!=l&&null!=n)return s(l,r,n);const o=this.elevationAlignedGeometry?.extent;return null==o?.zmin||null==o?.zmax?null:(o.zmax+o.zmin)/2}get targetGeometry(){return this._analysisController?.targetGeometry}get effectiveDisplayUnits(){const{displayUnits:e}=this.analysis,t=n(this.view);return{elevation:e.elevation??t,volume:e.volume??t}}get labelAnchors(){return this._analysisController?.labelAnchors}get updating(){return this._analysisController?.updating||this._analysisTool?.updating||this._analysisVisualization?.updating}place(e){return this._analysisTool.place(e)}get test(){}};e([l()],p.prototype,"error",null),e([l({readOnly:!0})],p.prototype,"type",void 0),e([l({constructOnly:!0,nonNullable:!0})],p.prototype,"analysis",void 0),e([l({readOnly:!0})],p.prototype,"result",null),e([l()],p.prototype,"elevationAlignedGeometry",null),e([l({type:Number})],p.prototype,"effectiveTargetElevation",null),e([l()],p.prototype,"targetGeometry",null),e([l()],p.prototype,"effectiveDisplayUnits",null),e([l()],p.prototype,"labelAnchors",null),e([l()],p.prototype,"updating",null),e([l()],p.prototype,"_analysisController",void 0),p=e([r("esri.views.3d.analysis.VolumeMeasurementAnalysisView3D")],p);const m=p;export{m as default};
5
+ import{__decorate as e}from"tslib";import"../../../core/has.js";import{destroyMaybe as t}from"../../../core/maybe.js";import{verticalLengthUnitFromSpatialReference as i,convertUnit as s}from"../../../core/units.js";import{property as l,subclass as r}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as n}from"../../../support/getDefaultUnitForView.js";import a from"./AnalysisView3D.js";import{VolumeMeasurementCutFillController as o}from"./VolumeMeasurement/VolumeMeasurementCutFillController.js";import{VolumeMeasurementCutFillVisualization as u}from"./VolumeMeasurement/VolumeMeasurementCutFillVisualization.js";import y from"./VolumeMeasurement/VolumeMeasurementTool.js";let p=class extends a{constructor(e){super(e),this.type="volume-measurement-view-3d",this.analysis=null}initialize(){const{analysis:e,view:t}=this;this._analysisController=new o({view:t,analysis:e,analysisViewData:this}),this._analysisTool=new y({analysis:e,view:t,analysisViewData:this}),this._analysisVisualization=new u({view:t,analysis:e,analysisViewData:this})}destroy(){this._analysisController=t(this._analysisController),this._analysisVisualization=t(this._analysisVisualization),this._analysisTool.destroy()}get error(){return this._analysisController?.error??null}get result(){return this._analysisController?.result}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get visible(){return super.visible}set visible(e){super.visible=e}get elevationAlignedGeometry(){return this._analysisController?.elevationAlignedGeometry}get effectiveTargetElevation(){const{cutFillOptions:e,inputUnits:t}=this.analysis,{targetElevation:l}=e,r=t?.elevation??"meters",n=i(this.view.spatialReference);if(null!=l&&null!=n)return s(l,r,n);const a=this.elevationAlignedGeometry?.extent;return null==a?.zmin||null==a?.zmax?null:(a.zmax+a.zmin)/2}get targetGeometry(){return this._analysisController?.targetGeometry}get effectiveDisplayUnits(){const{displayUnits:e}=this.analysis,t=n(this.view);return{elevation:e.elevation??t,volume:e.volume??t,area:e.area??t,length:e.length??t}}get labelAnchors(){return this._analysisController?.labelAnchors}get updating(){return this._analysisController?.updating||this._analysisTool?.updating||this._analysisVisualization?.updating}place(e){return this._analysisTool.place(e)}get test(){}};e([l()],p.prototype,"error",null),e([l({readOnly:!0})],p.prototype,"type",void 0),e([l({constructOnly:!0,nonNullable:!0})],p.prototype,"analysis",void 0),e([l({readOnly:!0})],p.prototype,"result",null),e([l()],p.prototype,"elevationAlignedGeometry",null),e([l({type:Number})],p.prototype,"effectiveTargetElevation",null),e([l()],p.prototype,"targetGeometry",null),e([l()],p.prototype,"effectiveDisplayUnits",null),e([l()],p.prototype,"labelAnchors",null),e([l()],p.prototype,"updating",null),e([l()],p.prototype,"_analysisController",void 0),p=e([r("esri.views.3d.analysis.VolumeMeasurementAnalysisView3D")],p);const m=p;export{m as default};
@@ -1,7 +1,7 @@
1
- import type { Clonable, ClonableMixinProperties } from "../../../core/Clonable.js";
1
+ import type { Clonable } from "../../../core/Clonable.js";
2
2
 
3
3
  /** @since 5.0 */
4
- export interface AltitudeConstraintProperties extends ClonableMixinProperties, Partial<Pick<AltitudeConstraint, "max" | "min">> {}
4
+ export interface AltitudeConstraintProperties extends Partial<Pick<AltitudeConstraint, "max" | "min">> {}
5
5
 
6
6
  /** @since 5.0 */
7
7
  export default abstract class AltitudeConstraint extends Clonable {
@@ -1,7 +1,7 @@
1
- import type { Clonable, ClonableMixinProperties } from "../../../core/Clonable.js";
1
+ import type { Clonable } from "../../../core/Clonable.js";
2
2
 
3
3
  /** @since 5.0 */
4
- export interface ClipDistanceConstraintProperties extends ClonableMixinProperties, Partial<Pick<ClipDistanceConstraint, "far" | "mode" | "near">> {}
4
+ export interface ClipDistanceConstraintProperties extends Partial<Pick<ClipDistanceConstraint, "far" | "mode" | "near">> {}
5
5
 
6
6
  /** @since 5.0 */
7
7
  export default abstract class ClipDistanceConstraint extends Clonable {
@@ -1,13 +1,13 @@
1
1
  import type AltitudeConstraint from "./AltitudeConstraint.js";
2
2
  import type ClipDistanceConstraint from "./ClipDistanceConstraint.js";
3
3
  import type TiltConstraint from "./TiltConstraint.js";
4
- import type { Clonable, ClonableMixinProperties } from "../../../core/Clonable.js";
4
+ import type { Clonable } from "../../../core/Clonable.js";
5
5
  import type { TiltConstraintProperties } from "./TiltConstraint.js";
6
6
  import type { AltitudeConstraintProperties } from "./AltitudeConstraint.js";
7
7
  import type { ClipDistanceConstraintProperties } from "./ClipDistanceConstraint.js";
8
8
 
9
9
  /** @since 5.0 */
10
- export interface ConstraintsProperties extends ClonableMixinProperties {
10
+ export interface ConstraintsProperties {
11
11
  /**
12
12
  * Specifies a constraint on the minimum and maximum allowed camera altitude.
13
13
  * > [!WARNING]
@@ -1,7 +1,7 @@
1
- import type { Clonable, ClonableMixinProperties } from "../../../core/Clonable.js";
1
+ import type { Clonable } from "../../../core/Clonable.js";
2
2
 
3
3
  /** @since 5.0 */
4
- export interface TiltConstraintProperties extends ClonableMixinProperties, Partial<Pick<TiltConstraint, "max" | "mode">> {}
4
+ export interface TiltConstraintProperties extends Partial<Pick<TiltConstraint, "max" | "mode">> {}
5
5
 
6
6
  /** @since 5.0 */
7
7
  export default abstract class TiltConstraint extends Clonable {
@@ -1,6 +1,6 @@
1
- import type { JSONSupport, JSONSupportMixinProperties } from "../../../core/JSONSupport.js";
1
+ import type { JSONSupport } from "../../../core/JSONSupport.js";
2
2
 
3
- export interface CloudyWeatherProperties extends JSONSupportMixinProperties, Partial<Pick<CloudyWeather, "cloudCover">> {}
3
+ export interface CloudyWeatherProperties extends Partial<Pick<CloudyWeather, "cloudCover">> {}
4
4
 
5
5
  /**
6
6
  * The CloudyWeather class allows you to change the weather conditions in the scene to cloudy weather.