@arcgis/core 6.0.0-next.21 → 6.0.0-next.22
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.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/092e311cb7aea92a6a26.js +1 -0
- package/assets/esri/core/workers/chunks/0df9a906f7823c23d426.js +1 -0
- package/assets/esri/core/workers/chunks/{3704b4e7efc3abc1a7b1.js → 242a77066ac5cdb5b7d7.js} +1 -1
- package/assets/esri/core/workers/chunks/2ad69cc496235702bbf2.js +1 -0
- package/assets/esri/core/workers/chunks/2f91fd61019d2a37476d.js +1 -0
- package/assets/esri/core/workers/chunks/3cd04d23b73beaf79650.js +1 -0
- package/assets/esri/core/workers/chunks/434a8ba841a59e0deab9.js +1 -0
- package/assets/esri/core/workers/chunks/{60f92eb03c6e17ab4747.js → 435b90168f79c5587a07.js} +1 -1
- package/assets/esri/core/workers/chunks/{f00458654c7c34c369ef.js → 45ba4aa87a4732198596.js} +1 -1
- package/assets/esri/core/workers/chunks/504184828048310a052c.js +1 -0
- package/assets/esri/core/workers/chunks/{eca44e53bcee9b08d70a.js → 5046214dd32029cb733d.js} +1 -1
- package/assets/esri/core/workers/chunks/53ff68d4f9e365fc15cd.js +1 -0
- package/assets/esri/core/workers/chunks/542e5640ea1b80ef801a.js +1 -0
- package/assets/esri/core/workers/chunks/58865772bed48141a56a.js +1 -0
- package/assets/esri/core/workers/chunks/5a9b7eb26f936f03d02e.js +1 -0
- package/assets/esri/core/workers/chunks/5d76f4d97beee494bbbf.js +1 -0
- package/assets/esri/core/workers/chunks/5f07f52bb8b7721f08d3.js +1 -0
- package/assets/esri/core/workers/chunks/67f54efc817b241f8746.js +1 -0
- package/assets/esri/core/workers/chunks/6d41444b46677aa762a7.js +1 -0
- package/assets/esri/core/workers/chunks/6dfe96b056bec30068df.js +1 -0
- package/assets/esri/core/workers/chunks/7159d9c36869cd82599e.js +29 -0
- package/assets/esri/core/workers/chunks/792d2b62356a1d953c88.js +1 -0
- package/assets/esri/core/workers/chunks/{461e63a0f436c41a9f4a.js → 84940d8e14caf5a27e04.js} +1 -1
- package/assets/esri/core/workers/chunks/{601e1d020b8115497944.js → 8a485130781b49dbf608.js} +1 -1
- package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +1 -0
- package/assets/esri/core/workers/chunks/a64446a3328a7323e307.js +1 -0
- package/assets/esri/core/workers/chunks/a65951f1d5702cfd996e.js +1 -0
- package/assets/esri/core/workers/chunks/{7bbfe9ff352afc566367.js → a679207c3458cc0b1fec.js} +1 -1
- package/assets/esri/core/workers/chunks/aa4f3751f0d830113bed.js +1 -0
- package/assets/esri/core/workers/chunks/b0ca81a07cff25df19d2.js +1 -0
- package/assets/esri/core/workers/chunks/b1d989b72203113a06fe.js +1 -0
- package/assets/esri/core/workers/chunks/{9e0559cd0bb01a0ed9d7.js → b3273f847405799e3362.js} +1 -1
- package/assets/esri/core/workers/chunks/b4c3ec081874b49ff89b.js +1 -0
- package/assets/esri/core/workers/chunks/b6d71a4ab788a09714f3.js +1 -0
- package/assets/esri/core/workers/chunks/{a0c9e3f8b7d55d6dc1d5.js → baed828b7846c0863289.js} +4 -4
- package/assets/esri/core/workers/chunks/c0d7ae314ebfad1e3791.js +1 -0
- package/assets/esri/core/workers/chunks/c82daefb193aae895bc0.js +1 -0
- package/assets/esri/core/workers/chunks/d8a7eba588d374b2f961.js +1 -0
- package/assets/esri/core/workers/chunks/ee08ae5b73439a1ff666.js +1 -0
- package/assets/esri/core/workers/chunks/{557671c897ca5563be6c.js → f6bd7b52745b82ba73dc.js} +1 -1
- package/assets/esri/core/workers/chunks/fcaf9450642fcef83286.js +1 -0
- package/assets/esri/core/workers/chunks/feb41abc03d677df6f73.js +1 -0
- package/assets/esri/core/workers/chunks/ffcb99693182a621a93e.js +1 -0
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +4 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/CloudsComposition.glsl.js +2 -2
- package/config.d.ts +11 -30
- package/config.js +1 -1
- package/core/accessorSupport/trackingUtils.js +1 -1
- package/core/accessorSupport/watch.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/core/workers.d.ts +17 -0
- package/geometry/support/MeshComponent.d.ts +1 -1
- package/geometry/support/vcsData.js +1 -1
- package/kernel.js +1 -1
- package/layers/FeatureLayer.d.ts +32 -14
- package/layers/MapImageLayer.d.ts +2 -1
- package/layers/SubtypeGroupLayer.d.ts +63 -0
- package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/support/QueryTask.js +1 -1
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/support/LabelClass.d.ts +20 -2
- package/layers/support/Sublayer.d.ts +32 -2
- package/layers/support/TimeInformation.js +2 -0
- package/libs/basisu/textureMetadata.js +2 -0
- package/package.json +3 -3
- package/rest/layerSources/DynamicWorkspaceLayer.d.ts +10 -6
- package/rest/query/operations/queryUtils.js +1 -1
- package/rest/support/timeUtils.js +2 -0
- package/symbols/TextSymbol.d.ts +27 -2
- package/time/legacyTimeZoneMap.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
- package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
- package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
- package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
- package/views/3d/GroundView3D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementController.js +1 -1
- package/views/3d/environment/SunLighting.d.ts +17 -1
- package/views/3d/environment/SunLighting.js +1 -1
- package/views/3d/environment/VirtualLighting.d.ts +17 -1
- package/views/3d/environment/VirtualLighting.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/support/elevationUpdateUtils.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TileAgent.js +1 -1
- package/views/3d/terrain/tileUtils.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +6 -6
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
- package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/BasemapView.js +1 -1
- package/views/GroundView.d.ts +1 -1
- package/views/GroundView.js +1 -1
- package/views/SceneView.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer.js +2 -2
- package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +61 -2
- package/widgets/TimeSlider/TimeSliderViewModel.d.ts +3 -2
- package/widgets/TimeSlider.d.ts +5 -4
- package/assets/esri/core/workers/chunks/0bd5012da287469b17d5.js +0 -1
- package/assets/esri/core/workers/chunks/1f6b601147521a42e65c.js +0 -1
- package/assets/esri/core/workers/chunks/25d14874198773d2d836.js +0 -1
- package/assets/esri/core/workers/chunks/2d13a22f7b2427927fdc.js +0 -1
- package/assets/esri/core/workers/chunks/34e0a8a3a2beea50f4f5.js +0 -1
- package/assets/esri/core/workers/chunks/42fd2a7b22b03dacc6a7.js +0 -1
- package/assets/esri/core/workers/chunks/494bd434fee9032e1d02.js +0 -1
- package/assets/esri/core/workers/chunks/4e350d6c76957f5beb70.js +0 -1
- package/assets/esri/core/workers/chunks/4fe34da1c5d63e66ce98.js +0 -1
- package/assets/esri/core/workers/chunks/501c6e14ab119785252b.js +0 -1
- package/assets/esri/core/workers/chunks/6c255c029d67423e4dac.js +0 -1
- package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +0 -1
- package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +0 -1
- package/assets/esri/core/workers/chunks/728837812940d7f2ef43.js +0 -1
- package/assets/esri/core/workers/chunks/74c866e0b66e61751861.js +0 -1
- package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +0 -1
- package/assets/esri/core/workers/chunks/95dbbddac6581b9d671f.js +0 -1
- package/assets/esri/core/workers/chunks/a8df3f59728f841b608e.js +0 -1
- package/assets/esri/core/workers/chunks/aa1ac7954e4f0fefe15b.js +0 -1
- package/assets/esri/core/workers/chunks/b48952e1fb4cb7360dd0.js +0 -1
- package/assets/esri/core/workers/chunks/b5df193c93e9c19f9700.js +0 -1
- package/assets/esri/core/workers/chunks/befa32b9e7b3fbdd431e.js +0 -1
- package/assets/esri/core/workers/chunks/c2c1f51a4668055c2838.js +0 -1
- package/assets/esri/core/workers/chunks/d0f5bee9db1ad51ae687.js +0 -1
- package/assets/esri/core/workers/chunks/d678828726371243d5eb.js +0 -1
- package/assets/esri/core/workers/chunks/dd0310184fe4832755a8.js +0 -1
- package/assets/esri/core/workers/chunks/de5ecb567bd69c613e9d.js +0 -1
- package/assets/esri/core/workers/chunks/dfc81e66196c402f39b4.js +0 -29
- package/assets/esri/core/workers/chunks/e1f5d00878f27e1d413e.js +0 -1
- package/assets/esri/core/workers/chunks/fb70ab267a08e24b710f.js +0 -1
- package/assets/esri/core/workers/chunks/fc44d45598a7476bc606.js +0 -1
|
@@ -20,11 +20,20 @@ export interface LabelClassProperties extends Partial<Pick<LabelClass, "allowOve
|
|
|
20
20
|
* property. If `true`, then [labelExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LabelClass/#labelExpression) or labelExpressionInfo can be used.
|
|
21
21
|
* If `false`, then only labelExpression can be used.
|
|
22
22
|
*
|
|
23
|
+
* This property supports [formatting tags](https://doc.esri.com/en/arcgis-pro/latest/help/mapping/text/text-formatting-tags.html) if
|
|
24
|
+
* the associated [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) supports it. See the [Labeling guide](https://developers.arcgis.com/javascript/latest/labeling/#formatting-tags)
|
|
25
|
+
* for more details.
|
|
26
|
+
*
|
|
23
27
|
* @see [Arcade Labeling Profile](https://developers.arcgis.com/javascript/latest/arcade/#labeling)
|
|
24
28
|
* @example
|
|
25
29
|
* // For Spokane County, WA, label will display: "Spokane County, Washington"
|
|
26
30
|
* labelClass.labelExpressionInfo = {
|
|
27
|
-
* expression: "$feature.COUNTY_NAME + ' County, ' + $feature.STATE_NAME"
|
|
31
|
+
* expression: "$feature.COUNTY_NAME + ' County, ' + $feature.STATE_NAME",
|
|
32
|
+
* };
|
|
33
|
+
* @example
|
|
34
|
+
* // For Spokane County, WA, label will display: "Spokane County, Washington" where "Washington" is bold and underlined
|
|
35
|
+
* labelClass.labelExpressionInfo = {
|
|
36
|
+
* expression: "return `${$feature.COUNTY_NAME} County, <BOL><UND>${$feature.STATE_NAME}</UND></BOL>`",
|
|
28
37
|
* };
|
|
29
38
|
*/
|
|
30
39
|
labelExpressionInfo?: LabelExpressionInfoProperties | null;
|
|
@@ -230,11 +239,20 @@ export default class LabelClass extends JSONSupport {
|
|
|
230
239
|
* property. If `true`, then [labelExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LabelClass/#labelExpression) or labelExpressionInfo can be used.
|
|
231
240
|
* If `false`, then only labelExpression can be used.
|
|
232
241
|
*
|
|
242
|
+
* This property supports [formatting tags](https://doc.esri.com/en/arcgis-pro/latest/help/mapping/text/text-formatting-tags.html) if
|
|
243
|
+
* the associated [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) supports it. See the [Labeling guide](https://developers.arcgis.com/javascript/latest/labeling/#formatting-tags)
|
|
244
|
+
* for more details.
|
|
245
|
+
*
|
|
233
246
|
* @see [Arcade Labeling Profile](https://developers.arcgis.com/javascript/latest/arcade/#labeling)
|
|
234
247
|
* @example
|
|
235
248
|
* // For Spokane County, WA, label will display: "Spokane County, Washington"
|
|
236
249
|
* labelClass.labelExpressionInfo = {
|
|
237
|
-
* expression: "$feature.COUNTY_NAME + ' County, ' + $feature.STATE_NAME"
|
|
250
|
+
* expression: "$feature.COUNTY_NAME + ' County, ' + $feature.STATE_NAME",
|
|
251
|
+
* };
|
|
252
|
+
* @example
|
|
253
|
+
* // For Spokane County, WA, label will display: "Spokane County, Washington" where "Washington" is bold and underlined
|
|
254
|
+
* labelClass.labelExpressionInfo = {
|
|
255
|
+
* expression: "return `${$feature.COUNTY_NAME} County, <BOL><UND>${$feature.STATE_NAME}</UND></BOL>`",
|
|
238
256
|
* };
|
|
239
257
|
*/
|
|
240
258
|
get labelExpressionInfo(): LabelExpressionInfo | null | undefined;
|
|
@@ -245,6 +245,19 @@ export interface SublayerProperties extends LoadableMixinProperties, Identifiabl
|
|
|
245
245
|
* }
|
|
246
246
|
* }]
|
|
247
247
|
* });
|
|
248
|
+
* @example
|
|
249
|
+
* ```js
|
|
250
|
+
* const layer = new MapImageLayer({
|
|
251
|
+
* url: "<your-map-service-url>",
|
|
252
|
+
* sublayers: [{
|
|
253
|
+
* source: {
|
|
254
|
+
* type: "workspace-layer",
|
|
255
|
+
* workspaceId: "lyrx_folder",
|
|
256
|
+
* layerId: "WorldCities.lyrx"
|
|
257
|
+
* }
|
|
258
|
+
* }]
|
|
259
|
+
* });
|
|
260
|
+
* ```
|
|
248
261
|
*/
|
|
249
262
|
source?: (DynamicMapLayerProperties & { type: "map-layer" }) | (DynamicDataLayerProperties & { type: "data-layer" }) | (DynamicWorkspaceLayerProperties & { type: "workspace-layer" });
|
|
250
263
|
/**
|
|
@@ -295,8 +308,9 @@ export interface SublayerProperties extends LoadableMixinProperties, Identifiabl
|
|
|
295
308
|
* ## Dynamic layers
|
|
296
309
|
*
|
|
297
310
|
* Sublayers may be rendered on the fly as dynamic layers. Dynamic layers are created using
|
|
298
|
-
* the [source](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/#source) property of the sublayer. There are
|
|
299
|
-
* [dynamic map layers](https://developers.arcgis.com/javascript/latest/references/core/rest/layerSources/DynamicMapLayer/)
|
|
311
|
+
* the [source](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/#source) property of the sublayer. There are three types of dynamic layers:
|
|
312
|
+
* [dynamic map layers](https://developers.arcgis.com/javascript/latest/references/core/rest/layerSources/DynamicMapLayer/), [dynamic data layers](https://developers.arcgis.com/javascript/latest/references/core/rest/layerSources/DynamicDataLayer/), and
|
|
313
|
+
* [dynamic workspace layers](https://developers.arcgis.com/javascript/latest/references/core/rest/layerSources/DynamicWorkspaceLayer/).
|
|
300
314
|
*
|
|
301
315
|
* [Dynamic map layers](https://developers.arcgis.com/javascript/latest/references/core/rest/layerSources/DynamicMapLayer/) allow you to override sublayers in the map service with new renderers,
|
|
302
316
|
* definition expressions, opacity, scale visibility, etc. Multiple dynamic map layers may exist
|
|
@@ -309,6 +323,9 @@ export interface SublayerProperties extends LoadableMixinProperties, Identifiabl
|
|
|
309
323
|
* published and configured with the ArcGIS Server Manager. Data from tables may be joined to other
|
|
310
324
|
* tables or dynamic map layers.
|
|
311
325
|
*
|
|
326
|
+
* [Dynamic workspace layers](https://developers.arcgis.com/javascript/latest/references/core/rest/layerSources/DynamicWorkspaceLayer/) let you create sublayers from pre-authored
|
|
327
|
+
* ArcGIS Pro layer files (`.lyrx`) in registered workspaces.
|
|
328
|
+
*
|
|
312
329
|
* @since 4.1
|
|
313
330
|
* @see [MapImageLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapImageLayer/)
|
|
314
331
|
* @see [Sample - MapImageLayer: toggle sublayer visibility](https://developers.arcgis.com/javascript/latest/sample-code/layers-mapimagelayer-sublayers/)
|
|
@@ -888,6 +905,19 @@ export default class Sublayer extends SublayerSuperclass {
|
|
|
888
905
|
* }
|
|
889
906
|
* }]
|
|
890
907
|
* });
|
|
908
|
+
* @example
|
|
909
|
+
* ```js
|
|
910
|
+
* const layer = new MapImageLayer({
|
|
911
|
+
* url: "<your-map-service-url>",
|
|
912
|
+
* sublayers: [{
|
|
913
|
+
* source: {
|
|
914
|
+
* type: "workspace-layer",
|
|
915
|
+
* workspaceId: "lyrx_folder",
|
|
916
|
+
* layerId: "WorldCities.lyrx"
|
|
917
|
+
* }
|
|
918
|
+
* }]
|
|
919
|
+
* });
|
|
920
|
+
* ```
|
|
891
921
|
*/
|
|
892
922
|
get source(): DynamicMapLayer | DynamicDataLayer | DynamicWorkspaceLayer;
|
|
893
923
|
set source(value: (DynamicMapLayerProperties & { type: "map-layer" }) | (DynamicDataLayerProperties & { type: "data-layer" }) | (DynamicWorkspaceLayerProperties & { type: "workspace-layer" }));
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import{isMultiOriginJSONMixin as n}from"../../core/multiOriginJSONSupportUtils.js";import{sqlAnd as r,sqlName as i,sqlLiteral as a}from"../../core/sql.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{timeExtentToQueryParameter as c}from"../../rest/support/timeUtils.js";function l(e,t,n,r){let o=r.get(e)?.type,s=r.getTimeZone(e);return`${i(e)} ${t} ${a(n,{type:`date`},{type:o,timeZone:s})}`}let u=class extends t{constructor(e){super(e),this.fieldsIndex=null,this.layer=null}getExpression(e){let{layer:t}=this;if(!t)return;if(!n(t))return{type:`where`,value:this._getLayerCondition(e)};let r=t.timeInfo,i=t.getAtOrigin(`timeInfo`,`service`);if(i)return r?r===i||(r.startField===i.startField||!r.startField&&!i.startField)&&(r.endField===i.endField||!r.endField&&!i.endField)?{type:`time`,value:c(e)}:{type:`where`,value:this._getLayerCondition(e)}:void 0;if(r)return{type:`where`,value:this._getLayerCondition(e)}}_getLayerCondition(e){let{fieldsIndex:t,layer:n}=this;if(!t||!n)return;let{timeInfo:i}=n;if(!i)return;let{startField:a,endField:o}=i,{start:s,end:c}=e;if(!s&&!c||!a&&!o)return;let u=a??o,d=o??a;if(u&&d){if(s&&c){if(s.getTime()===c.getTime())return l(u,`==`,s,t);if(!a||!o){let e=l(u,`>=`,s,t),n=l(u,`<=`,c,t);return r(e,n)}let e=l(a,`>=`,s,t),n=l(o,`<=`,c,t);return r(e,n)}if(s)return l(u,`>=`,s,t);if(c)return l(d,`<=`,c,t)}}};e([o({constructOnly:!0})],u.prototype,`fieldsIndex`,void 0),e([o({constructOnly:!0})],u.prototype,`layer`,void 0),u=e([s(`esri.layers.support.TimeInformation`)],u);export{u as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
+
import e from"../../core/Logger.js";const t=[171,75,84,88,32,50,48,187,13,10,26,10];function n(e){let t=i(e);if(t.byteLength<77)return s(`Basis`);let n=t.getUint16(0,!0),r=t.getUint16(2,!0),c=t.getUint16(4,!0),l=t.getUint8(20);if(n!==17011||r!==19||c!==77||l!==0)return s(`Basis`);let u=t.getUint32(8,!0),d=a(t,14),f=a(t,17),p=t.getUint16(21,!0),m=!!(p&4),h=t.getUint32(65,!0),g=m&&d%2!=0;if(f===0||d<f||!(p&1)||g||!o(t,77,u)||h<77||!o(t,h,d*23))return s(`Basis`);let _=a(t,h),v=t.getUint8(h+3);if(_!==0||v!==0)return s(`Basis`);let y=t.getUint16(h+5,!0),b=t.getUint16(h+7,!0),x=1;for(let e=1;e<d;++e){let n=h+e*23;if(a(t,n)!==0)break;let r=t.getUint8(n+3);x=Math.max(x,r+1)}return y===0||b===0||x>16?s(`Basis`):{width:y,height:b,levels:x,hasAlpha:m}}function r(e){let n=i(e);if(n.byteLength<80||!t.every((e,t)=>n.getUint8(t)===e))return s(`KTX2`);let r=n.getUint32(12,!0),a=n.getUint32(16,!0),c=n.getUint32(20,!0),l=n.getUint32(24,!0),u=n.getUint32(28,!0),d=n.getUint32(36,!0),f=n.getUint32(40,!0),p=n.getUint32(44,!0),m=n.getUint32(48,!0),h=n.getUint32(52,!0);if(r!==0||a!==1||c===0||l===0||u!==0||d!==1&&d!==6||d===6&&c!==l||f===0||f>32||!o(n,80,f*24)||m<80||h!==44&&h!==60||!o(n,m,h))return s(`KTX2`);let g=n.getUint32(m,!0),_=n.getUint8(m+12),v=n.getUint8(m+14);if(g!==h||v!==1&&v!==2||_!==163&&_!==166||(_===163?p!==1:p!==0&&p!==2))return s(`KTX2`);for(let e=0;e<f;++e){let t=80+e*24,r=Number(n.getBigUint64(t,!0)),i=Number(n.getBigUint64(t+8,!0));if(r<80||i===0||!o(n,r,i))return s(`KTX2`)}let y=n.getUint32(56,!0),b=n.getUint32(60,!0),x=Number(n.getBigUint64(64,!0)),S=Number(n.getBigUint64(72,!0));if(b>0&&(y<80||!o(n,y,b))||p===1&&(x<80||!o(n,x,S)))return s(`KTX2`);let C=n.getUint8(m+31)&15;return{width:c,height:l,levels:f,hasAlpha:_===163?h===60:C===3}}function i(e){return ArrayBuffer.isView(e)?new DataView(e.buffer,e.byteOffset,e.byteLength):new DataView(e)}function a(e,t){return e.getUint16(t,!0)+e.getUint8(t+2)*2**16}function o(e,t,n){return t<=e.byteLength&&n<=e.byteLength-t}function s(t){return e.getLogger(`esri.libs.basisu.textureMetadata`).error(`Invalid or unsupported ${t} texture metadata`),null}export{n as readBasisTextureMetadata,r as readKTX2TextureMetadata};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcgis/core",
|
|
3
|
-
"version": "6.0.0-next.
|
|
3
|
+
"version": "6.0.0-next.22",
|
|
4
4
|
"description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ArcGIS",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@amcharts/amcharts5": "~5.21.5",
|
|
23
|
-
"@arcgis/toolkit": "6.0.0-next.
|
|
23
|
+
"@arcgis/toolkit": "6.0.0-next.22",
|
|
24
24
|
"@esri/arcgis-html-sanitizer": "~4.2.0-next.2",
|
|
25
25
|
"@esri/calcite-components": "^5.2.0",
|
|
26
26
|
"@vaadin/grid": "~25.3.4",
|
|
27
27
|
"@zip.js/zip.js": "~2.24.0",
|
|
28
28
|
"luxon": "~3.7.2",
|
|
29
|
-
"marked": "~18.1.
|
|
29
|
+
"marked": "~18.1.2",
|
|
30
30
|
"tslib": "^2.8.1"
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -4,21 +4,24 @@ import type { JSONSupport } from "../../core/JSONSupport.js";
|
|
|
4
4
|
export interface DynamicWorkspaceLayerProperties extends Partial<Pick<DynamicWorkspaceLayer, "definitionExpression" | "layerId" | "workspaceId">> {}
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* A dynamic workspace layer
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* A dynamic workspace layer references a pre-authored ArcGIS Pro layer file (`.lyrx`) stored in a registered folder.
|
|
8
|
+
* It allows a map service to use the layer's advanced renderer and cartographically enriched symbols, including
|
|
9
|
+
* symbols that are not supported by the map service's REST API specifications.
|
|
10
|
+
*
|
|
11
|
+
* Use it as the [source](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/#source) of a sublayer in a [MapImageLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapImageLayer/), or as the
|
|
12
|
+
* [dynamic data source](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#dynamicDataSource) of a [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/).
|
|
11
13
|
*
|
|
12
14
|
* > [!WARNING]
|
|
13
15
|
* >
|
|
14
16
|
* > **Known Limitations**
|
|
15
17
|
* >
|
|
16
|
-
* > [Sublayers](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/)
|
|
18
|
+
* > [Sublayers](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) and [FeatureLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/) with a `DynamicWorkspaceLayer` source cannot be persisted to web maps, web scenes, link charts, or portal items.
|
|
17
19
|
*
|
|
18
20
|
* @since 5.2
|
|
19
21
|
* @see [ArcGIS REST API - Layer source object](https://developers.arcgis.com/rest/services-reference/enterprise/layer-source-object/#dynamic-workspace-layer)
|
|
20
22
|
* @see [ArcGIS Server - Enabling dynamic layers](https://enterprise.arcgis.com/en/server/latest/publish-services/windows/about-dynamic-layers.htm#GUID-C302852F-9E23-44C6-A71E-09E95EAF0E49)
|
|
21
23
|
* @example
|
|
24
|
+
* ```js
|
|
22
25
|
* const sublayer = new Sublayer({
|
|
23
26
|
* source: new DynamicWorkspaceLayer({
|
|
24
27
|
* workspaceId: "lyrx_folder",
|
|
@@ -27,9 +30,10 @@ export interface DynamicWorkspaceLayerProperties extends Partial<Pick<DynamicWor
|
|
|
27
30
|
* });
|
|
28
31
|
*
|
|
29
32
|
* const layer = new MapImageLayer({
|
|
30
|
-
* url: "<your-map-service-url>"
|
|
33
|
+
* url: "<your-map-service-url>",
|
|
31
34
|
* sublayers: [sublayer]
|
|
32
35
|
* });
|
|
36
|
+
* ```
|
|
33
37
|
*/
|
|
34
38
|
export default class DynamicWorkspaceLayer extends DynamicWorkspaceLayerSuperclass {
|
|
35
39
|
constructor(properties?: DynamicWorkspaceLayerProperties);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{sqlAnd as e}from"../../../core/sql.js";import{getJsonType as t}from"../../../geometry/support/jsonTypeUtils.js";import{srToRESTValue as n}from"../../../geometry/support/spatialReferenceUtils.js";import{timeExtentToQueryParameter as r}from"../../support/timeUtils.js";function i(e,t){if(t&&e.type===`extent`)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&e.type===`point`)return`${e.x},${e.y}`;let n=e.toJSON();return delete n.spatialReference,JSON.stringify(n)}function a(a,o,s){let{geometry:c}=a,l=a.compactGeometryEnabled??!1,u=a.toJSON();delete u.compactGeometryEnabled,delete u.defaultSpatialReferenceEnabled;let d=u,f,p,m;if(c&&(p=c.spatialReference,m=n(p),d.geometryType=t(c),d.geometry=i(c,l),d.inSR=m),u.groupByFieldsForStatistics&&(d.groupByFieldsForStatistics=u.groupByFieldsForStatistics.join(`,`)),u.objectIds)switch(s?.uniqueIdFields?.length){case void 0:d.objectIds=u.objectIds.join(`,`);break;case 1:d.uniqueIds=JSON.stringify(u.objectIds),delete d.objectIds;break;default:d.uniqueIds=JSON.stringify(u.objectIds.map(e=>JSON.parse(e))),delete d.objectIds}if(u.orderByFields&&(d.orderByFields=u.orderByFields.join(`,`)),u.outFields&&(u.returnDistinctValues||!(o?.returnCountOnly||o?.returnExtentOnly||o?.returnIdsOnly))?d.outFields=u.outFields.includes(`*`)?`*`:u.outFields.join(`,`):delete d.outFields,u.outSR?(d.outSR=n(u.outSR),f=a.outSpatialReference):c&&(u.returnGeometry||u.returnCentroid)&&(d.outSR=d.inSR,f=p),u.returnGeometry&&delete u.returnGeometry,u.outStatistics&&(d.outStatistics=JSON.stringify(u.outStatistics)),u.outDistance&&(d.outDistance=JSON.stringify(u.outDistance)),u.fullText&&(d.fullText=JSON.stringify(u.fullText)),u.pixelSize&&(d.pixelSize=JSON.stringify(u.pixelSize)),u.quantizationParameters&&(a.defaultSpatialReferenceEnabled&&p!=null&&a.quantizationParameters?.extent!=null&&p.equals(a.quantizationParameters.extent.spatialReference)&&delete u.quantizationParameters.extent.spatialReference,d.quantizationParameters=JSON.stringify(u.quantizationParameters)),u.parameterValues&&(d.parameterValues=JSON.stringify(u.parameterValues)),u.rangeValues&&(d.rangeValues=JSON.stringify(u.rangeValues)),u.dynamicDataSource){if(`definitionExpression`in u.dynamicDataSource&&u.dynamicDataSource.definitionExpression){let{definitionExpression:e,...t}=u.dynamicDataSource;d.layer=JSON.stringify({query:e,source:t})}else d.layer=JSON.stringify({source:u.dynamicDataSource});delete u.dynamicDataSource}if(a.timeExtent){let t=s?.timeInformation;if(t){let n=t.getExpression(a.timeExtent);switch(n?.type){case`time`:d.time=n.value;break;case`where`:n.value&&(d.where=e(d.where,n.value))}}else d.time=r(a.timeExtent);delete u.timeExtent}return a.defaultSpatialReferenceEnabled&&p!=null&&f!=null&&p.equals(f)&&(d.defaultSR=d.inSR,delete d.inSR,delete d.outSR),d}const o=`json`;export{i as encodeGeometry,a as queryLikeToQueryStringParameters,o as safeExtentResultFormat};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
+
function e(e){let{start:t,end:n}=e;if(t||n){if(!t&&n)return`null,${n.getTime()}`;if(!n&&t)return`${t.getTime()},null`;if(n&&t)return t.getTime()===n.getTime()?`${t.getTime()}`:`${t.getTime()},${n.getTime()}`}}export{e as timeExtentToQueryParameter};
|
package/symbols/TextSymbol.d.ts
CHANGED
|
@@ -38,6 +38,8 @@ export interface TextSymbolProperties extends SymbolProperties, Partial<Pick<Tex
|
|
|
38
38
|
/**
|
|
39
39
|
* The [Font](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/) used to style the text.
|
|
40
40
|
* This property allows the developer to set the font's family, decoration, size, style, and weight properties.
|
|
41
|
+
* The font can also be defined using [formatting tags](https://doc.esri.com/en/arcgis-pro/latest/help/mapping/text/text-formatting-tags.html)
|
|
42
|
+
* in the [text](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#text) if the associated [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) supports it.
|
|
41
43
|
*
|
|
42
44
|
* See the [Labeling guide page](https://developers.arcgis.com/javascript/latest/labeling/) for more information and known limitations.
|
|
43
45
|
*
|
|
@@ -48,7 +50,6 @@ export interface TextSymbolProperties extends SymbolProperties, Partial<Pick<Tex
|
|
|
48
50
|
* > The available [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) property values depend on whether you are
|
|
49
51
|
* > working with a 2D [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) or a 3D [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
|
|
50
52
|
*
|
|
51
|
-
* @see [Labeling Guide](https://developers.arcgis.com/javascript/latest/labeling/)
|
|
52
53
|
* @example
|
|
53
54
|
* let textSymbol = {
|
|
54
55
|
* type: "text", // autocasts as new TextSymbol()
|
|
@@ -60,6 +61,15 @@ export interface TextSymbolProperties extends SymbolProperties, Partial<Pick<Tex
|
|
|
60
61
|
* weight: "bold"
|
|
61
62
|
* }
|
|
62
63
|
* };
|
|
64
|
+
* @example
|
|
65
|
+
* ```js
|
|
66
|
+
* // same example but using formatting tags
|
|
67
|
+
*
|
|
68
|
+
* let textSymbol = {
|
|
69
|
+
* type: "text", // autocasts as new TextSymbol()
|
|
70
|
+
* text: "<BOL><ITA><FNT name='Merriweather' size='12'>Science of Where</FNT></ITA></BOL>",
|
|
71
|
+
* };
|
|
72
|
+
* ```
|
|
63
73
|
*/
|
|
64
74
|
font?: FontProperties;
|
|
65
75
|
/**
|
|
@@ -303,6 +313,8 @@ export default class TextSymbol extends Symbol {
|
|
|
303
313
|
/**
|
|
304
314
|
* The [Font](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/) used to style the text.
|
|
305
315
|
* This property allows the developer to set the font's family, decoration, size, style, and weight properties.
|
|
316
|
+
* The font can also be defined using [formatting tags](https://doc.esri.com/en/arcgis-pro/latest/help/mapping/text/text-formatting-tags.html)
|
|
317
|
+
* in the [text](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#text) if the associated [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) supports it.
|
|
306
318
|
*
|
|
307
319
|
* See the [Labeling guide page](https://developers.arcgis.com/javascript/latest/labeling/) for more information and known limitations.
|
|
308
320
|
*
|
|
@@ -313,7 +325,6 @@ export default class TextSymbol extends Symbol {
|
|
|
313
325
|
* > The available [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) property values depend on whether you are
|
|
314
326
|
* > working with a 2D [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) or a 3D [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
|
|
315
327
|
*
|
|
316
|
-
* @see [Labeling Guide](https://developers.arcgis.com/javascript/latest/labeling/)
|
|
317
328
|
* @example
|
|
318
329
|
* let textSymbol = {
|
|
319
330
|
* type: "text", // autocasts as new TextSymbol()
|
|
@@ -325,6 +336,15 @@ export default class TextSymbol extends Symbol {
|
|
|
325
336
|
* weight: "bold"
|
|
326
337
|
* }
|
|
327
338
|
* };
|
|
339
|
+
* @example
|
|
340
|
+
* ```js
|
|
341
|
+
* // same example but using formatting tags
|
|
342
|
+
*
|
|
343
|
+
* let textSymbol = {
|
|
344
|
+
* type: "text", // autocasts as new TextSymbol()
|
|
345
|
+
* text: "<BOL><ITA><FNT name='Merriweather' size='12'>Science of Where</FNT></ITA></BOL>",
|
|
346
|
+
* };
|
|
347
|
+
* ```
|
|
328
348
|
*/
|
|
329
349
|
get font(): Font;
|
|
330
350
|
set font(value: FontProperties);
|
|
@@ -468,6 +488,10 @@ export default class TextSymbol extends Symbol {
|
|
|
468
488
|
* The length of the line is controlled by the [lineWidth](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#lineWidth) property.
|
|
469
489
|
* To manually create a new line, use the `\n` escape character.
|
|
470
490
|
*
|
|
491
|
+
* This property supports [formatting tags](https://doc.esri.com/en/arcgis-pro/latest/help/mapping/text/text-formatting-tags.html) if
|
|
492
|
+
* the associated [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) supports it. See the [Labeling guide](https://developers.arcgis.com/javascript/latest/labeling/#formatting-tags)
|
|
493
|
+
* for more details.
|
|
494
|
+
*
|
|
471
495
|
* > [!WARNING]
|
|
472
496
|
* >
|
|
473
497
|
* > **Known Limitations**
|
|
@@ -478,6 +502,7 @@ export default class TextSymbol extends Symbol {
|
|
|
478
502
|
* @see [lineWidth](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#lineWidth)
|
|
479
503
|
* @example symbol.text = "You are here";
|
|
480
504
|
* @example symbol.text = "Wish you were \n here";
|
|
505
|
+
* @example symbol.text = "Wish you were <BOL>Bold</BOL> and <UND>Underlined</UND>";
|
|
481
506
|
*/
|
|
482
507
|
accessor text: string;
|
|
483
508
|
/** The symbol type. */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
const e=new Map([[`AUS Central Standard Time`,`Australia/Darwin`],[`AUS Eastern Standard Time`,`Australia/Sydney`],[`Afghanistan Standard Time`,`Asia/Kabul`],[`Alaskan Standard Time`,`America/Anchorage`],[`Aleutian Standard Time`,`America/Adak`],[`Altai Standard Time`,`Asia/Barnaul`],[`Arab Standard Time`,`Asia/Riyadh`],[`Arabian Standard Time`,`Asia/Dubai`],[`Arabic Standard Time`,`Asia/Baghdad`],[`Argentina Standard Time`,`America/Buenos_Aires`],[`Astrakhan Standard Time`,`Europe/Astrakhan`],[`Atlantic Standard Time`,`America/Halifax`],[`Aus Central W. Standard Time`,`Australia/Eucla`],[`Azerbaijan Standard Time`,`Asia/Baku`],[`Azores Standard Time`,`Atlantic/Azores`],[`Bahia Standard Time`,`America/Bahia`],[`Bangladesh Standard Time`,`Asia/Dhaka`],[`Belarus Standard Time`,`Europe/Minsk`],[`Bougainville Standard Time`,`Pacific/Bougainville`],[`Canada Central Standard Time`,`America/Regina`],[`Cape Verde Standard Time`,`Atlantic/Cape_Verde`],[`Caucasus Standard Time`,`Asia/Yerevan`],[`Cen. Australia Standard Time`,`Australia/Adelaide`],[`Central America Standard Time`,`America/Guatemala`],[`Central Asia Standard Time`,`Asia/Bishkek`],[`Central Brazilian Standard Time`,`America/Cuiaba`],[`Central Europe Standard Time`,`Europe/Budapest`],[`Central European Standard Time`,`Europe/Warsaw`],[`Central Pacific Standard Time`,`Pacific/Guadalcanal`],[`Central Standard Time`,`America/Chicago`],[`Central Standard Time (Mexico)`,`America/Mexico_City`],[`Chatham Islands Standard Time`,`Pacific/Chatham`],[`China Standard Time`,`Asia/Shanghai`],[`Cuba Standard Time`,`America/Havana`],[`Dateline Standard Time`,`Etc/GMT+12`],[`E. Africa Standard Time`,`Africa/Nairobi`],[`E. Australia Standard Time`,`Australia/Brisbane`],[`E. Europe Standard Time`,`Europe/Chisinau`],[`E. South America Standard Time`,`America/Sao_Paulo`],[`Easter Island Standard Time`,`Pacific/Easter`],[`Eastern Standard Time`,`America/New_York`],[`Eastern Standard Time (Mexico)`,`America/Cancun`],[`Egypt Standard Time`,`Africa/Cairo`],[`Ekaterinburg Standard Time`,`Asia/Yekaterinburg`],[`FLE Standard Time`,`Europe/Kiev`],[`Fiji Standard Time`,`Pacific/Fiji`],[`GMT Standard Time`,`Europe/London`],[`GTB Standard Time`,`Europe/Bucharest`],[`Georgian Standard Time`,`Asia/Tbilisi`],[`Greenland Standard Time`,`America/Godthab`],[`Greenwich Standard Time`,`Atlantic/Reykjavik`],[`Haiti Standard Time`,`America/Port-au-Prince`],[`Hawaiian Standard Time`,`Pacific/Honolulu`],[`India Standard Time`,`Asia/Calcutta`],[`Iran Standard Time`,`Asia/Tehran`],[`Israel Standard Time`,`Asia/Jerusalem`],[`Jordan Standard Time`,`Asia/Amman`],[`Kaliningrad Standard Time`,`Europe/Kaliningrad`],[`Korea Standard Time`,`Asia/Seoul`],[`Libya Standard Time`,`Africa/Tripoli`],[`Line Islands Standard Time`,`Pacific/Kiritimati`],[`Lord Howe Standard Time`,`Australia/Lord_Howe`],[`Magadan Standard Time`,`Asia/Magadan`],[`Magallanes Standard Time`,`America/Punta_Arenas`],[`Marquesas Standard Time`,`Pacific/Marquesas`],[`Mauritius Standard Time`,`Indian/Mauritius`],[`Middle East Standard Time`,`Asia/Beirut`],[`Montevideo Standard Time`,`America/Montevideo`],[`Morocco Standard Time`,`Africa/Casablanca`],[`Mountain Standard Time`,`America/Denver`],[`Mountain Standard Time (Mexico)`,`America/Mazatlan`],[`Myanmar Standard Time`,`Asia/Rangoon`],[`N. Central Asia Standard Time`,`Asia/Novosibirsk`],[`Namibia Standard Time`,`Africa/Windhoek`],[`Nepal Standard Time`,`Asia/Katmandu`],[`New Zealand Standard Time`,`Pacific/Auckland`],[`Newfoundland Standard Time`,`America/St_Johns`],[`Norfolk Standard Time`,`Pacific/Norfolk`],[`North Asia East Standard Time`,`Asia/Irkutsk`],[`North Asia Standard Time`,`Asia/Krasnoyarsk`],[`North Korea Standard Time`,`Asia/Pyongyang`],[`Omsk Standard Time`,`Asia/Omsk`],[`Pacific SA Standard Time`,`America/Santiago`],[`Pacific Standard Time`,`America/Los_Angeles`],[`Pacific Standard Time (Mexico)`,`America/Tijuana`],[`Pakistan Standard Time`,`Asia/Karachi`],[`Paraguay Standard Time`,`America/Asuncion`],[`Qyzylorda Standard Time`,`Asia/Qyzylorda`],[`Romance Standard Time`,`Europe/Paris`],[`Russia Time Zone 10`,`Asia/Srednekolymsk`],[`Russia Time Zone 11`,`Asia/Kamchatka`],[`Russia Time Zone 3`,`Europe/Samara`],[`Russian Standard Time`,`Europe/Moscow`],[`SA Eastern Standard Time`,`America/Cayenne`],[`SA Pacific Standard Time`,`America/Bogota`],[`SA Western Standard Time`,`America/La_Paz`],[`SE Asia Standard Time`,`Asia/Bangkok`],[`Saint Pierre Standard Time`,`America/Miquelon`],[`Sakhalin Standard Time`,`Asia/Sakhalin`],[`Samoa Standard Time`,`Pacific/Apia`],[`Sao Tome Standard Time`,`Africa/Sao_Tome`],[`Saratov Standard Time`,`Europe/Saratov`],[`Singapore Standard Time`,`Asia/Singapore`],[`South Africa Standard Time`,`Africa/Johannesburg`],[`South Sudan Standard Time`,`Africa/Juba`],[`Sri Lanka Standard Time`,`Asia/Colombo`],[`Sudan Standard Time`,`Africa/Khartoum`],[`Syria Standard Time`,`Asia/Damascus`],[`Taipei Standard Time`,`Asia/Taipei`],[`Tasmania Standard Time`,`Australia/Hobart`],[`Tocantins Standard Time`,`America/Araguaina`],[`Tokyo Standard Time`,`Asia/Tokyo`],[`Tomsk Standard Time`,`Asia/Tomsk`],[`Tonga Standard Time`,`Pacific/Tongatapu`],[`Transbaikal Standard Time`,`Asia/Chita`],[`Turkey Standard Time`,`Europe/Istanbul`],[`Turks And Caicos Standard Time`,`America/Grand_Turk`],[`US Eastern Standard Time`,`America/Indianapolis`],[`US Mountain Standard Time`,`America/Phoenix`],[`UTC`,`Etc/GMT`],[`UTC+01`,`Etc/GMT-1`],[`UTC+02`,`Etc/GMT-2`],[`UTC+03`,`Etc/GMT-3`],[`UTC+04`,`Etc/GMT-4`],[`UTC+05`,`Etc/GMT-5`],[`UTC+06`,`Etc/GMT-6`],[`UTC+07`,`Etc/GMT-7`],[`UTC+08`,`Etc/GMT-8`],[`UTC+09`,`Etc/GMT-9`],[`UTC+10`,`Etc/GMT-10`],[`UTC+11`,`Etc/GMT-11`],[`UTC+12`,`Etc/GMT-12`],[`UTC+13`,`Etc/GMT-13`],[`UTC+14`,`Etc/GMT-14`],[`UTC-01`,`Etc/GMT+1`],[`UTC-02`,`Etc/GMT+2`],[`UTC-03`,`Etc/GMT+3`],[`UTC-04`,`Etc/GMT+4`],[`UTC-05`,`Etc/GMT+5`],[`UTC-06`,`Etc/GMT+6`],[`UTC-07`,`Etc/GMT+7`],[`UTC-08`,`Etc/GMT+8`],[`UTC-09`,`Etc/GMT+9`],[`UTC-10`,`Etc/GMT+10`],[`UTC-11`,`Etc/GMT+11`],[`UTC-12`,`Etc/GMT+12`],[`Ulaanbaatar Standard Time`,`Asia/Ulaanbaatar`],[`Venezuela Standard Time`,`America/Caracas`],[`Vladivostok Standard Time`,`Asia/Vladivostok`],[`Volgograd Standard Time`,`Europe/Volgograd`],[`W. Australia Standard Time`,`Australia/Perth`],[`W. Central Africa Standard Time`,`Africa/Lagos`],[`W. Europe Standard Time`,`Europe/Berlin`],[`W. Mongolia Standard Time`,`Asia/Hovd`],[`West Asia Standard Time`,`Asia/Tashkent`],[`West Bank Standard Time`,`Asia/Hebron`],[`West Pacific Standard Time`,`Pacific/Port_Moresby`],[`Yakutsk Standard Time`,`Asia/Yakutsk`],[`Yukon Standard Time`,`America/Whitehorse`]]);export{e as legacyTimeZoneMap};
|
|
2
|
+
const e=new Map([[`AUS Central Standard Time`,`Australia/Darwin`],[`AUS Eastern Standard Time`,`Australia/Sydney`],[`Afghanistan Standard Time`,`Asia/Kabul`],[`Alaskan Standard Time`,`America/Anchorage`],[`Alberta Standard Time`,`America/Edmonton`],[`Aleutian Standard Time`,`America/Adak`],[`Altai Standard Time`,`Asia/Barnaul`],[`Arab Standard Time`,`Asia/Riyadh`],[`Arabian Standard Time`,`Asia/Dubai`],[`Arabic Standard Time`,`Asia/Baghdad`],[`Argentina Standard Time`,`America/Buenos_Aires`],[`Astrakhan Standard Time`,`Europe/Astrakhan`],[`Atlantic Standard Time`,`America/Halifax`],[`Aus Central W. Standard Time`,`Australia/Eucla`],[`Azerbaijan Standard Time`,`Asia/Baku`],[`Azores Standard Time`,`Atlantic/Azores`],[`Bahia Standard Time`,`America/Bahia`],[`Bangladesh Standard Time`,`Asia/Dhaka`],[`Belarus Standard Time`,`Europe/Minsk`],[`Bougainville Standard Time`,`Pacific/Bougainville`],[`British Columbia Standard Time`,`America/Vancouver`],[`Canada Central Standard Time`,`America/Regina`],[`Cape Verde Standard Time`,`Atlantic/Cape_Verde`],[`Caucasus Standard Time`,`Asia/Yerevan`],[`Cen. Australia Standard Time`,`Australia/Adelaide`],[`Central America Standard Time`,`America/Guatemala`],[`Central Asia Standard Time`,`Asia/Bishkek`],[`Central Brazilian Standard Time`,`America/Cuiaba`],[`Central Europe Standard Time`,`Europe/Budapest`],[`Central European Standard Time`,`Europe/Warsaw`],[`Central Pacific Standard Time`,`Pacific/Guadalcanal`],[`Central Standard Time`,`America/Chicago`],[`Central Standard Time (Mexico)`,`America/Mexico_City`],[`Chatham Islands Standard Time`,`Pacific/Chatham`],[`China Standard Time`,`Asia/Shanghai`],[`Cuba Standard Time`,`America/Havana`],[`Dateline Standard Time`,`Etc/GMT+12`],[`E. Africa Standard Time`,`Africa/Nairobi`],[`E. Australia Standard Time`,`Australia/Brisbane`],[`E. Europe Standard Time`,`Europe/Chisinau`],[`E. South America Standard Time`,`America/Sao_Paulo`],[`Easter Island Standard Time`,`Pacific/Easter`],[`Eastern Standard Time`,`America/New_York`],[`Eastern Standard Time (Mexico)`,`America/Cancun`],[`Egypt Standard Time`,`Africa/Cairo`],[`Ekaterinburg Standard Time`,`Asia/Yekaterinburg`],[`FLE Standard Time`,`Europe/Kiev`],[`Fiji Standard Time`,`Pacific/Fiji`],[`GMT Standard Time`,`Europe/London`],[`GTB Standard Time`,`Europe/Bucharest`],[`Georgian Standard Time`,`Asia/Tbilisi`],[`Greenland Standard Time`,`America/Godthab`],[`Greenwich Standard Time`,`Atlantic/Reykjavik`],[`Haiti Standard Time`,`America/Port-au-Prince`],[`Hawaiian Standard Time`,`Pacific/Honolulu`],[`India Standard Time`,`Asia/Calcutta`],[`Iran Standard Time`,`Asia/Tehran`],[`Israel Standard Time`,`Asia/Jerusalem`],[`Jordan Standard Time`,`Asia/Amman`],[`Kaliningrad Standard Time`,`Europe/Kaliningrad`],[`Korea Standard Time`,`Asia/Seoul`],[`Libya Standard Time`,`Africa/Tripoli`],[`Line Islands Standard Time`,`Pacific/Kiritimati`],[`Lord Howe Standard Time`,`Australia/Lord_Howe`],[`Magadan Standard Time`,`Asia/Magadan`],[`Magallanes Standard Time`,`America/Punta_Arenas`],[`Manitoba Standard Time`,`America/Winnipeg`],[`Marquesas Standard Time`,`Pacific/Marquesas`],[`Mauritius Standard Time`,`Indian/Mauritius`],[`Middle East Standard Time`,`Asia/Beirut`],[`Montevideo Standard Time`,`America/Montevideo`],[`Morocco Standard Time`,`Africa/Casablanca`],[`Mountain Standard Time`,`America/Denver`],[`Mountain Standard Time (Mexico)`,`America/Mazatlan`],[`Myanmar Standard Time`,`Asia/Rangoon`],[`N. Central Asia Standard Time`,`Asia/Novosibirsk`],[`Namibia Standard Time`,`Africa/Windhoek`],[`Nepal Standard Time`,`Asia/Katmandu`],[`New Zealand Standard Time`,`Pacific/Auckland`],[`Newfoundland Standard Time`,`America/St_Johns`],[`Norfolk Standard Time`,`Pacific/Norfolk`],[`North Asia East Standard Time`,`Asia/Irkutsk`],[`North Asia Standard Time`,`Asia/Krasnoyarsk`],[`North Korea Standard Time`,`Asia/Pyongyang`],[`Omsk Standard Time`,`Asia/Omsk`],[`Pacific SA Standard Time`,`America/Santiago`],[`Pacific Standard Time`,`America/Los_Angeles`],[`Pacific Standard Time (Mexico)`,`America/Tijuana`],[`Pakistan Standard Time`,`Asia/Karachi`],[`Paraguay Standard Time`,`America/Asuncion`],[`Qyzylorda Standard Time`,`Asia/Qyzylorda`],[`Romance Standard Time`,`Europe/Paris`],[`Russia Time Zone 10`,`Asia/Srednekolymsk`],[`Russia Time Zone 11`,`Asia/Kamchatka`],[`Russia Time Zone 3`,`Europe/Samara`],[`Russian Standard Time`,`Europe/Moscow`],[`SA Eastern Standard Time`,`America/Cayenne`],[`SA Pacific Standard Time`,`America/Bogota`],[`SA Western Standard Time`,`America/La_Paz`],[`SE Asia Standard Time`,`Asia/Bangkok`],[`Saint Pierre Standard Time`,`America/Miquelon`],[`Sakhalin Standard Time`,`Asia/Sakhalin`],[`Samoa Standard Time`,`Pacific/Apia`],[`Sao Tome Standard Time`,`Africa/Sao_Tome`],[`Saratov Standard Time`,`Europe/Saratov`],[`Singapore Standard Time`,`Asia/Singapore`],[`South Africa Standard Time`,`Africa/Johannesburg`],[`South Sudan Standard Time`,`Africa/Juba`],[`Sri Lanka Standard Time`,`Asia/Colombo`],[`Sudan Standard Time`,`Africa/Khartoum`],[`Syria Standard Time`,`Asia/Damascus`],[`Taipei Standard Time`,`Asia/Taipei`],[`Tasmania Standard Time`,`Australia/Hobart`],[`Tocantins Standard Time`,`America/Araguaina`],[`Tokyo Standard Time`,`Asia/Tokyo`],[`Tomsk Standard Time`,`Asia/Tomsk`],[`Tonga Standard Time`,`Pacific/Tongatapu`],[`Transbaikal Standard Time`,`Asia/Chita`],[`Turkey Standard Time`,`Europe/Istanbul`],[`Turks And Caicos Standard Time`,`America/Grand_Turk`],[`US Eastern Standard Time`,`America/Indianapolis`],[`US Mountain Standard Time`,`America/Phoenix`],[`UTC`,`Etc/GMT`],[`UTC+01`,`Etc/GMT-1`],[`UTC+02`,`Etc/GMT-2`],[`UTC+03`,`Etc/GMT-3`],[`UTC+04`,`Etc/GMT-4`],[`UTC+05`,`Etc/GMT-5`],[`UTC+06`,`Etc/GMT-6`],[`UTC+07`,`Etc/GMT-7`],[`UTC+08`,`Etc/GMT-8`],[`UTC+09`,`Etc/GMT-9`],[`UTC+10`,`Etc/GMT-10`],[`UTC+11`,`Etc/GMT-11`],[`UTC+12`,`Etc/GMT-12`],[`UTC+13`,`Etc/GMT-13`],[`UTC+14`,`Etc/GMT-14`],[`UTC-01`,`Etc/GMT+1`],[`UTC-02`,`Etc/GMT+2`],[`UTC-03`,`Etc/GMT+3`],[`UTC-04`,`Etc/GMT+4`],[`UTC-05`,`Etc/GMT+5`],[`UTC-06`,`Etc/GMT+6`],[`UTC-07`,`Etc/GMT+7`],[`UTC-08`,`Etc/GMT+8`],[`UTC-09`,`Etc/GMT+9`],[`UTC-10`,`Etc/GMT+10`],[`UTC-11`,`Etc/GMT+11`],[`UTC-12`,`Etc/GMT+12`],[`Ulaanbaatar Standard Time`,`Asia/Ulaanbaatar`],[`Venezuela Standard Time`,`America/Caracas`],[`Vladivostok Standard Time`,`Asia/Vladivostok`],[`Volgograd Standard Time`,`Europe/Volgograd`],[`W. Australia Standard Time`,`Australia/Perth`],[`W. Central Africa Standard Time`,`Africa/Lagos`],[`W. Europe Standard Time`,`Europe/Berlin`],[`W. Mongolia Standard Time`,`Asia/Hovd`],[`West Asia Standard Time`,`Asia/Tashkent`],[`West Bank Standard Time`,`Asia/Hebron`],[`West Pacific Standard Time`,`Pacific/Port_Moresby`],[`Yakutsk Standard Time`,`Asia/Yakutsk`],[`Yukon Standard Time`,`America/Whitehorse`]]);export{e as legacyTimeZoneMap};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{multiplyOpacity as n}from"../../../../core/colorUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import{isAborted as i,ignoreAbortErrors as a}from"../../../../core/promiseUtils.js";import{watch as o,initial as s}from"../../../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as u}from"../../../../core/support/UpdatingHandles.js";import d from"../../../../symbols/SimpleFillSymbol.js";import f from"../../../../symbols/SimpleLineSymbol.js";import{ExclusiveOperationManager as p}from"../../../analysis/ExclusiveOperationManager.js";import{bindViewToolOptions as m}from"../../../interactive/options/bindViewToolOptions.js";import h from"../../../../widgets/Sketch/SketchViewModel.js";function g(e){return e?.type===`polygon`}let _=class extends t{constructor(e){super(e),this._invisibleAreaSymbol=new d({color:null,outline:null}),this._invisibleLineSymbol=new f({color:null,width:0}),this._operationManager=new p,this._updatingHandles=new u}initialize(){this._sketchViewModel=new h({defaultCreateOptions:{mode:`click`},defaultUpdateOptions:{enableMoveAllGraphics:!1,enableRotation:!1,enableScaling:!1,enableZ:!1,highlightOptions:{enabled:!1},multipleSelectionEnabled:!1,reshapeOptions:{edgeOperation:`none`,shapeOperation:`none`},toggleToolOnClick:!1,tool:`reshape`},updateOnGraphicClick:!1,cancelUpdateOnClickAway:!1,view:this.view}),this.addHandles([o(()=>({interactive:this.measurementViewData.interactive,visible:this.measurementViewData.visible}),({interactive:e,visible:t})=>{!t||!e?this._operationManager.stop():this._analysis.geometry&&this._operationManager.currentOperationType!==`place`&&this.reshape().catch(()=>{})}),o(()=>this.measurementViewData.analysis.geometry,e=>{e||(this._operationManager.stop(),this._sketchViewModel?.cancel(),this.measurementViewData.sketchGraphicsLayer?.removeAll())}),o(()=>this.measurementViewData.snappingOptions,e=>{this._sketchViewModel&&(this._sketchViewModel.snappingOptions=e)},s),m(this._sketchViewModel.sketchOptions,()=>this.view.options,()=>({values:{displayUnits:{area:this._analysis.unit}}})),o(()=>this.view.effectiveTheme.accentColor,e=>{this._areaSymbol=new d({color:n(e,.3),outline:new f({color:e,width:2})})},s)])}destroy(){this._areaSymbol?.destroy(),this._invisibleAreaSymbol.destroy(),this._invisibleLineSymbol.destroy(),this._operationManager.destroy(),this._sketchViewModel?.destroy(),this._updatingHandles.destroy()}get state(){if(!this.measurementViewData.visible||!this._operationManager.currentOperationType)return`idle`;switch(this._operationManager.currentOperationType){case`place`:return`placing`;case`reshape`:return`reshaping`}}get updating(){return!this._sketchViewModel||this._sketchViewModel.updating||this._updatingHandles.updating}async place(e){return this._operationManager.start(`place`,async t=>{if(!
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{multiplyOpacity as n}from"../../../../core/colorUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import{isAborted as i,ignoreAbortErrors as a}from"../../../../core/promiseUtils.js";import{watch as o,initial as s}from"../../../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as u}from"../../../../core/support/UpdatingHandles.js";import d from"../../../../symbols/SimpleFillSymbol.js";import f from"../../../../symbols/SimpleLineSymbol.js";import{ExclusiveOperationManager as p}from"../../../analysis/ExclusiveOperationManager.js";import{bindViewToolOptions as m}from"../../../interactive/options/bindViewToolOptions.js";import h from"../../../../widgets/Sketch/SketchViewModel.js";function g(e){return e?.type===`polygon`}let _=class extends t{constructor(e){super(e),this._invisibleAreaSymbol=new d({color:null,outline:null}),this._invisibleLineSymbol=new f({color:null,width:0}),this._operationManager=new p,this._updatingHandles=new u}initialize(){this._sketchViewModel=new h({defaultCreateOptions:{mode:`click`},defaultUpdateOptions:{enableMoveAllGraphics:!1,enableRotation:!1,enableScaling:!1,enableZ:!1,highlightOptions:{enabled:!1},multipleSelectionEnabled:!1,reshapeOptions:{edgeOperation:`none`,shapeOperation:`none`},toggleToolOnClick:!1,tool:`reshape`},updateOnGraphicClick:!1,cancelUpdateOnClickAway:!1,view:this.view}),this.addHandles([o(()=>({interactive:this.measurementViewData.interactive,visible:this.measurementViewData.visible}),({interactive:e,visible:t})=>{!t||!e?this._operationManager.stop():this._analysis.geometry&&this._operationManager.currentOperationType!==`place`&&this.reshape().catch(()=>{})}),o(()=>this.measurementViewData.analysis.geometry,e=>{e||(this._operationManager.stop(),this._sketchViewModel?.cancel(),this.measurementViewData.sketchGraphicsLayer?.removeAll())}),o(()=>this.measurementViewData.snappingOptions,e=>{this._sketchViewModel&&(this._sketchViewModel.snappingOptions=e)},s),m(this._sketchViewModel.sketchOptions,()=>this.view.options,()=>({values:{displayUnits:{area:this._analysis.unit}}})),o(()=>this.view.effectiveTheme.accentColor,e=>{this._areaSymbol=new d({color:n(e,.3),outline:new f({color:e,width:2})})},s)])}destroy(){this._areaSymbol?.destroy(),this._invisibleAreaSymbol.destroy(),this._invisibleLineSymbol.destroy(),this._operationManager.destroy(),this._sketchViewModel?.destroy(),this._updatingHandles.destroy()}get state(){if(!this.measurementViewData.visible||!this._operationManager.currentOperationType)return`idle`;switch(this._operationManager.currentOperationType){case`place`:return`placing`;case`reshape`:return`reshaping`}}get updating(){return!this._sketchViewModel||this._sketchViewModel.updating||this._updatingHandles.updating}async place(e){return this._operationManager.start(`place`,async t=>{let n=this._sketchViewModel;if(!n||!this.measurementViewData.sketchGraphicsLayer)return;let o=this._analysis.clone(),s,c=n.on([`create`,`undo`,`redo`],e=>{let n=`state`in e?e.state:`active`,r=`graphic`in e?e.graphic:e.graphics?.at(0);r&&(s=r);let i=r?.geometry;switch(n){case`start`:case`active`:i?.type===`polygon`&&(this._analysis.geometry=i);break;case`cancel`:case`complete`:n===`complete`&&i?.type===`polygon`&&(this._analysis.geometry=i),t.stop(),a(this.reshape())}});t.handles.push(c,r(()=>{c.remove(),n.cancel(),s&&this._analysis.geometry&&(this._analysis.geometry=g(s.geometry)?s.geometry:null),this.measurementViewData.sketchGraphicsLayer?.removeAll();let r=this._analysis;if(!r.valid)return r.clear(),t.reject();if(i(e)||o.equals(r))return t.reject();t.resolve({})})),n.activeLineSymbol=this._invisibleLineSymbol,n.polygonSymbol=this._invisibleAreaSymbol,n.layer=this.measurementViewData.sketchGraphicsLayer,this._updatingHandles.consumePromise(a(n.create(`polygon`)))},e)}async reshape(e){return this._operationManager.start(`reshape`,async t=>{if(!this._sketchViewModel)return;let n=()=>!this._areaSymbol||!this._sketchViewModel||!this.measurementViewData.manipulatorGraphic||!this.measurementViewData.manipulatorGraphicsLayer?Promise.resolve():(this._sketchViewModel.activeLineSymbol=null,this._sketchViewModel.polygonSymbol=this._areaSymbol,this._sketchViewModel.layer=this.measurementViewData.manipulatorGraphicsLayer,this._updatingHandles.addPromise(a(this._sketchViewModel.update(this.measurementViewData.manipulatorGraphic,{tool:`reshape`})))),o=this._sketchViewModel.on(`update`,e=>{let r=e.graphics[0]?.geometry;this._analysis.geometry=g(r)?r:null,e.state===`complete`&&(this.measurementViewData.interactive?n():t.stop())});t.handles.push(o,r(()=>{if(o.remove(),this._sketchViewModel?.cancel(),i(e))return t.reject();t.resolve()})),await n()},e)}get _analysis(){return this.measurementViewData.analysis}get test(){}};e([c()],_.prototype,`_sketchViewModel`,void 0),e([c()],_.prototype,`measurementViewData`,void 0),e([c()],_.prototype,`state`,null),e([c()],_.prototype,`updating`,null),e([c()],_.prototype,`view`,void 0),_=e([l(`esri.views.2d.analysis.AreaMeasurement.AreaMeasurementTool`)],_);export{_ as AreaMeasurementTool};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{toAdaptiveLengthUnitForArea as t,toAdaptiveAreaUnit as n}from"../../../core/quantity.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as a}from"../../../support/getDefaultUnitForView.js";import o from"./AnalysisView2D.js";import{AreaMeasurementAreaVisualization as s}from"./AreaMeasurement/AreaMeasurementAreaVisualization.js";import{AreaMeasurementController as c}from"./AreaMeasurement/AreaMeasurementController.js";import{AreaMeasurementManipulatorVisualization as l}from"./AreaMeasurement/AreaMeasurementManipulatorVisualization.js";import{AreaMeasurementSketchVisualization as u}from"./AreaMeasurement/AreaMeasurementSketchVisualization.js";import{AreaMeasurementTool as d}from"./AreaMeasurement/AreaMeasurementTool.js";import f from"../../interactive/snapping/SnappingOptions.js";let p=class extends o{constructor(e){super(e),this.analysis=null,this.snappingOptions=new f,this.type=`area-measurement-view-2d`}initialize(){let{view:e}=this;this._areaVisualization=new s({view:e,measurementViewData:this}),this._controller=new c({view:e,measurementViewData:this}),this._manipulatorVisualization=new l({view:e,measurementViewData:this}),this._sketchVisualization=new u({view:e,measurementViewData:this}),this._tool=new d({view:e,measurementViewData:this})}destroy(){this._areaVisualization?.destroy(),this._controller?.destroy(),this._manipulatorVisualization?.destroy(),this._sketchVisualization?.destroy(),this._tool?.destroy()}get manipulatorGraphic(){return this._manipulatorVisualization?.graphic}get manipulatorGraphicsLayer(){return this._manipulatorVisualization?.graphicsLayer}get sketchGraphicsLayer(){return this._sketchVisualization?.graphicsLayer}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get result(){let e=this._controller?.result;if(!e)return e;let{unit:r}=this,{area:i,display:a,mode:o,perimeter:s}=e;return{area:i?n(i,r):null,display:a,mode:o,perimeter:s?t(s,r):null}}get unit(){return this.analysis.unit??this.view.options.displayUnits.area??a(this.view)}get updating(){return(this._areaVisualization?.updating??!0)||(this._controller?.updating??!0)||(this._sketchVisualization?.updating??!0)||(this._tool?.updating??!0)}get visible(){return super.visible}set visible(e){super.visible=e}async place(e){return this.interactive=!0,this._tool.place(e)}};e([r()],p.prototype,`_areaVisualization`,void 0),e([r()],p.prototype,`_controller`,void 0),e([r()],p.prototype,`_manipulatorVisualization`,void 0),e([r()],p.prototype,`_sketchVisualization`,void 0),e([r()],p.prototype,`_tool`,void 0),e([r({constructOnly:!0})],p.prototype,`analysis`,void 0),e([r()],p.prototype,`manipulatorGraphic`,null),e([r()],p.prototype,`manipulatorGraphicsLayer`,null),e([r()],p.prototype,`sketchGraphicsLayer`,null),e([r({readOnly:!0})],p.prototype,`result`,null),e([r({type:f,nonNullable:!0})],p.prototype,`snappingOptions`,void 0),e([r({readOnly:!0})],p.prototype,`type`,void 0),e([r({readOnly:!0})],p.prototype,`unit`,null),e([r({readOnly:!0})],p.prototype,`updating`,null),p=e([i(`esri.views.2d.analysis.AreaMeasurementAnalysisView2D`)],p);const m=p;export{m as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import"../../../core/has.js";import{toAdaptiveLengthUnitForArea as t,toAdaptiveAreaUnit as n}from"../../../core/quantity.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as a}from"../../../support/getDefaultUnitForView.js";import o from"./AnalysisView2D.js";import{AreaMeasurementAreaVisualization as s}from"./AreaMeasurement/AreaMeasurementAreaVisualization.js";import{AreaMeasurementController as c}from"./AreaMeasurement/AreaMeasurementController.js";import{AreaMeasurementManipulatorVisualization as l}from"./AreaMeasurement/AreaMeasurementManipulatorVisualization.js";import{AreaMeasurementSketchVisualization as u}from"./AreaMeasurement/AreaMeasurementSketchVisualization.js";import{AreaMeasurementTool as d}from"./AreaMeasurement/AreaMeasurementTool.js";import f from"../../interactive/snapping/SnappingOptions.js";let p=class extends o{constructor(e){super(e),this.analysis=null,this.snappingOptions=new f,this.type=`area-measurement-view-2d`}initialize(){let{view:e}=this;this._areaVisualization=new s({view:e,measurementViewData:this}),this._controller=new c({view:e,measurementViewData:this}),this._manipulatorVisualization=new l({view:e,measurementViewData:this}),this._sketchVisualization=new u({view:e,measurementViewData:this}),this._tool=new d({view:e,measurementViewData:this})}destroy(){this._areaVisualization?.destroy(),this._controller?.destroy(),this._manipulatorVisualization?.destroy(),this._sketchVisualization?.destroy(),this._tool?.destroy()}get manipulatorGraphic(){return this._manipulatorVisualization?.graphic}get manipulatorGraphicsLayer(){return this._manipulatorVisualization?.graphicsLayer}get sketchGraphicsLayer(){return this._sketchVisualization?.graphicsLayer}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get result(){let e=this._controller?.result;if(!e)return e;let{unit:r}=this,{area:i,display:a,mode:o,perimeter:s}=e;return{area:i?n(i,r):null,display:a,mode:o,perimeter:s?t(s,r):null}}get unit(){return this.analysis.unit??this.view.options.displayUnits.area??a(this.view)}get updating(){return(this._areaVisualization?.updating??!0)||(this._controller?.updating??!0)||(this._sketchVisualization?.updating??!0)||(this._tool?.updating??!0)}get visible(){return super.visible}set visible(e){super.visible=e}async place(e){return this.interactive=!0,this._tool.place(e)}get test(){}};e([r()],p.prototype,`_areaVisualization`,void 0),e([r()],p.prototype,`_controller`,void 0),e([r()],p.prototype,`_manipulatorVisualization`,void 0),e([r()],p.prototype,`_sketchVisualization`,void 0),e([r()],p.prototype,`_tool`,void 0),e([r({constructOnly:!0})],p.prototype,`analysis`,void 0),e([r()],p.prototype,`manipulatorGraphic`,null),e([r()],p.prototype,`manipulatorGraphicsLayer`,null),e([r()],p.prototype,`sketchGraphicsLayer`,null),e([r({readOnly:!0})],p.prototype,`result`,null),e([r({type:f,nonNullable:!0})],p.prototype,`snappingOptions`,void 0),e([r({readOnly:!0})],p.prototype,`type`,void 0),e([r({readOnly:!0})],p.prototype,`unit`,null),e([r({readOnly:!0})],p.prototype,`updating`,null),p=e([i(`esri.views.2d.analysis.AreaMeasurementAnalysisView2D`)],p);const m=p;export{m as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{multiplyOpacity as n}from"../../../../core/colorUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{multiplyOpacity as n}from"../../../../core/colorUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import{isAborted as i,ignoreAbortErrors as a}from"../../../../core/promiseUtils.js";import{watch as o,initial as s}from"../../../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as u}from"../../../../core/support/UpdatingHandles.js";import d from"../../../../symbols/SimpleLineSymbol.js";import{ExclusiveOperationManager as f}from"../../../analysis/ExclusiveOperationManager.js";import{bindViewToolOptions as p}from"../../../interactive/options/bindViewToolOptions.js";import m from"../../../../widgets/Sketch/SketchViewModel.js";function h(e){return e?.type===`polyline`}let g=class extends t{constructor(e){super(e),this._invisibleLineSymbol=new d({color:null,width:0}),this._operationManager=new f,this._updatingHandles=new u}initialize(){this._sketchViewModel=new m({defaultCreateOptions:{mode:`click`},defaultUpdateOptions:{enableMoveAllGraphics:!1,enableRotation:!1,enableScaling:!1,enableZ:!1,highlightOptions:{enabled:!1},multipleSelectionEnabled:!1,reshapeOptions:{edgeOperation:`none`,shapeOperation:`none`},toggleToolOnClick:!1,tool:`reshape`},updateOnGraphicClick:!1,view:this.view}),this.addHandles([o(()=>({interactive:this.measurementViewData.interactive,visible:this.measurementViewData.visible}),({interactive:e,visible:t})=>{!t||!e?this._operationManager.stop():this._analysis.geometry&&this._operationManager.currentOperationType!==`place`&&this.reshape().catch(()=>{})}),o(()=>this.measurementViewData.analysis.geometry,e=>{e||(this._operationManager.stop(),this._sketchViewModel?.cancel(),this.measurementViewData.sketchGraphicsLayer?.removeAll())}),o(()=>this.measurementViewData.snappingOptions,e=>{this._sketchViewModel&&(this._sketchViewModel.snappingOptions=e)},s),p(this._sketchViewModel.sketchOptions,()=>this.view.options,()=>({values:{displayUnits:{length:this._analysis.unit}}})),o(()=>this.view.effectiveTheme.accentColor,e=>{this._lineSymbol=new d({color:n(e,.3),width:2})},s)])}destroy(){this._invisibleLineSymbol.destroy(),this._lineSymbol?.destroy(),this._operationManager.destroy(),this._sketchViewModel?.destroy(),this._updatingHandles.destroy()}get state(){if(!this.measurementViewData.visible||!this._operationManager.currentOperationType)return`idle`;switch(this._operationManager.currentOperationType){case`place`:return`placing`;case`reshape`:return`reshaping`}}get updating(){return!this._sketchViewModel||this._sketchViewModel.updating||this._updatingHandles.updating}async place(e){return this._operationManager.start(`place`,async t=>{let n=this._sketchViewModel;if(!n||!this.measurementViewData.sketchGraphicsLayer)return;let o=this._analysis.clone(),s,c=n.on([`create`,`undo`,`redo`],e=>{let n=`state`in e?e.state:`active`,r=`graphic`in e?e.graphic:e.graphics?.at(0);r&&(s=r);let i=r?.geometry;switch(n){case`start`:case`active`:i?.type===`polyline`&&(this._analysis.geometry=i);break;case`cancel`:case`complete`:n===`complete`&&i?.type===`polyline`&&(this._analysis.geometry=i),t.stop(),a(this.reshape())}});t.handles.push(c,r(()=>{c.remove(),n.cancel(),s&&this._analysis.geometry&&(this._analysis.geometry=h(s.geometry)?s.geometry:null),this.measurementViewData.sketchGraphicsLayer?.removeAll();let r=this._analysis;if(!r.valid)return r.clear(),t.reject();if(i(e)||o.equals(r))return t.reject();t.resolve({})})),n.activeLineSymbol=this._invisibleLineSymbol,n.polylineSymbol=this._invisibleLineSymbol,n.layer=this.measurementViewData.sketchGraphicsLayer,this._updatingHandles.consumePromise(a(n.create(`polyline`)))},e)}async reshape(e){return this._operationManager.start(`reshape`,async t=>{if(!this._sketchViewModel)return;let n=()=>!this._lineSymbol||!this._sketchViewModel||!this.measurementViewData.manipulatorGraphic||!this.measurementViewData.manipulatorGraphicsLayer?Promise.resolve():(this._sketchViewModel.activeLineSymbol=null,this._sketchViewModel.polylineSymbol=this._lineSymbol,this._sketchViewModel.layer=this.measurementViewData.manipulatorGraphicsLayer,this._updatingHandles.addPromise(a(this._sketchViewModel.update(this.measurementViewData.manipulatorGraphic,{tool:`reshape`})))),o=this._sketchViewModel.on(`update`,e=>{let r=e.graphics[0]?.geometry;this._analysis.geometry=h(r)?r:null,e.state===`complete`&&(this.measurementViewData.interactive?n():t.stop())});t.handles.push(o,r(()=>{if(o.remove(),this._sketchViewModel?.cancel(),i(e))return t.reject();t.resolve()})),await n()},e)}get _analysis(){return this.measurementViewData.analysis}get test(){}};e([c()],g.prototype,`_sketchViewModel`,void 0),e([c()],g.prototype,`measurementViewData`,void 0),e([c()],g.prototype,`state`,null),e([c()],g.prototype,`updating`,null),e([c()],g.prototype,`view`,void 0),g=e([l(`esri.views.2d.analysis.DistanceMeasurement.DistanceMeasurementTool`)],g);export{g as DistanceMeasurementTool};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{toAdaptiveLengthUnit as t}from"../../../core/quantity.js";import{property as n,subclass as r}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as i}from"../../../support/getDefaultUnitForView.js";import a from"./AnalysisView2D.js";import{DistanceMeasurementController as o}from"./DistanceMeasurement/DistanceMeasurementController.js";import{DistanceMeasurementLineVisualization as s}from"./DistanceMeasurement/DistanceMeasurementLineVisualization.js";import{DistanceMeasurementManipulatorVisualization as c}from"./DistanceMeasurement/DistanceMeasurementManipulatorVisualization.js";import{DistanceMeasurementSketchVisualization as l}from"./DistanceMeasurement/DistanceMeasurementSketchVisualization.js";import{DistanceMeasurementTool as u}from"./DistanceMeasurement/DistanceMeasurementTool.js";import d from"../../interactive/snapping/SnappingOptions.js";let f=class extends a{constructor(e){super(e),this.analysis=null,this.snappingOptions=new d,this.type=`distance-measurement-view-2d`}initialize(){let{view:e}=this;this._lineVisualization=new s({view:e,measurementViewData:this}),this._controller=new o({view:e,measurementViewData:this}),this._manipulatorVisualization=new c({view:e,measurementViewData:this}),this._sketchVisualization=new l({view:e,measurementViewData:this}),this._tool=new u({view:e,measurementViewData:this})}destroy(){this._lineVisualization?.destroy(),this._controller?.destroy(),this._manipulatorVisualization?.destroy(),this._sketchVisualization?.destroy(),this._tool?.destroy()}get manipulatorGraphic(){return this._manipulatorVisualization?.graphic}get manipulatorGraphicsLayer(){return this._manipulatorVisualization?.graphicsLayer}get sketchGraphicsLayer(){return this._sketchVisualization?.graphicsLayer}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get result(){let e=this._controller?.result;return e&&{...e,length:t(e.length,this.unit)}}get unit(){return this.analysis.unit??this.view.options.displayUnits.length??i(this.view)}get updating(){return(this._controller?.updating??!0)||(this._lineVisualization?.updating??!0)||(this._sketchVisualization?.updating??!0)||(this._tool?.updating??!0)}get visible(){return super.visible}set visible(e){super.visible=e}async place(e){return this.interactive=!0,this._tool.place(e)}};e([n()],f.prototype,`_lineVisualization`,void 0),e([n()],f.prototype,`_controller`,void 0),e([n()],f.prototype,`_manipulatorVisualization`,void 0),e([n()],f.prototype,`_sketchVisualization`,void 0),e([n()],f.prototype,`_tool`,void 0),e([n({constructOnly:!0})],f.prototype,`analysis`,void 0),e([n()],f.prototype,`manipulatorGraphic`,null),e([n()],f.prototype,`manipulatorGraphicsLayer`,null),e([n()],f.prototype,`sketchGraphicsLayer`,null),e([n({readOnly:!0})],f.prototype,`result`,null),e([n({type:d,nonNullable:!0})],f.prototype,`snappingOptions`,void 0),e([n({readOnly:!0})],f.prototype,`type`,void 0),e([n({readOnly:!0})],f.prototype,`unit`,null),e([n({readOnly:!0})],f.prototype,`updating`,null),f=e([r(`esri.views.2d.analysis.DistanceMeasurementAnalysisView2D`)],f);const p=f;export{p as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import"../../../core/has.js";import{toAdaptiveLengthUnit as t}from"../../../core/quantity.js";import{property as n,subclass as r}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as i}from"../../../support/getDefaultUnitForView.js";import a from"./AnalysisView2D.js";import{DistanceMeasurementController as o}from"./DistanceMeasurement/DistanceMeasurementController.js";import{DistanceMeasurementLineVisualization as s}from"./DistanceMeasurement/DistanceMeasurementLineVisualization.js";import{DistanceMeasurementManipulatorVisualization as c}from"./DistanceMeasurement/DistanceMeasurementManipulatorVisualization.js";import{DistanceMeasurementSketchVisualization as l}from"./DistanceMeasurement/DistanceMeasurementSketchVisualization.js";import{DistanceMeasurementTool as u}from"./DistanceMeasurement/DistanceMeasurementTool.js";import d from"../../interactive/snapping/SnappingOptions.js";let f=class extends a{constructor(e){super(e),this.analysis=null,this.snappingOptions=new d,this.type=`distance-measurement-view-2d`}initialize(){let{view:e}=this;this._lineVisualization=new s({view:e,measurementViewData:this}),this._controller=new o({view:e,measurementViewData:this}),this._manipulatorVisualization=new c({view:e,measurementViewData:this}),this._sketchVisualization=new l({view:e,measurementViewData:this}),this._tool=new u({view:e,measurementViewData:this})}destroy(){this._lineVisualization?.destroy(),this._controller?.destroy(),this._manipulatorVisualization?.destroy(),this._sketchVisualization?.destroy(),this._tool?.destroy()}get manipulatorGraphic(){return this._manipulatorVisualization?.graphic}get manipulatorGraphicsLayer(){return this._manipulatorVisualization?.graphicsLayer}get sketchGraphicsLayer(){return this._sketchVisualization?.graphicsLayer}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get result(){let e=this._controller?.result;return e&&{...e,length:t(e.length,this.unit)}}get unit(){return this.analysis.unit??this.view.options.displayUnits.length??i(this.view)}get updating(){return(this._controller?.updating??!0)||(this._lineVisualization?.updating??!0)||(this._sketchVisualization?.updating??!0)||(this._tool?.updating??!0)}get visible(){return super.visible}set visible(e){super.visible=e}async place(e){return this.interactive=!0,this._tool.place(e)}get test(){}};e([n()],f.prototype,`_lineVisualization`,void 0),e([n()],f.prototype,`_controller`,void 0),e([n()],f.prototype,`_manipulatorVisualization`,void 0),e([n()],f.prototype,`_sketchVisualization`,void 0),e([n()],f.prototype,`_tool`,void 0),e([n({constructOnly:!0})],f.prototype,`analysis`,void 0),e([n()],f.prototype,`manipulatorGraphic`,null),e([n()],f.prototype,`manipulatorGraphicsLayer`,null),e([n()],f.prototype,`sketchGraphicsLayer`,null),e([n({readOnly:!0})],f.prototype,`result`,null),e([n({type:d,nonNullable:!0})],f.prototype,`snappingOptions`,void 0),e([n({readOnly:!0})],f.prototype,`type`,void 0),e([n({readOnly:!0})],f.prototype,`unit`,null),e([n({readOnly:!0})],f.prototype,`updating`,null),f=e([r(`esri.views.2d.analysis.DistanceMeasurementAnalysisView2D`)],f);const p=f;export{p as default};
|
package/views/3d/GroundView3D.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{EventedMixin as t}from"../../core/Evented.js";import has from"../../core/has.js";import{when as n,watch as r,syncAndInitial as i}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{create as s,equals as c,intersection as l,union as u}from"../../geometry/support/aaBoundingRect.js";import d from"../GroundView.js";import{ElevationRange as f}from"./support/ElevationRange.js";import{toBoundingRect as p}from"./support/extentUtils.js";import{webMercatorWorldExtent as m,geographicWorldExtent as h}from"./terrain/TerrainConst.js";import{isIntegratedMeshLayerView as g}from"../support/layerViewUtils.js";const _=Symbol(`integrated-mesh-elevation-providers`);let v=class extends t(d){initialize(){super.initialize(),this.addHandles(n(()=>this._terrainSurface,e=>e.on(`elevation-change`,e=>this._elevationChange(e)))),r(()=>[this.view?.basemapView?.groundLayerViews.toArray(),this.layerViews.toArray()],()=>{this.removeHandles(_),this.addHandles(this._integratedMeshGroundLayerViews.map(({elevationProvider:e})=>e.on(`elevation-change`,e=>this._elevationChange(e))),_)},i),this.addHandles([r(()=>this.memoizedElevationQueryDependencies,()=>{this.emit(`elevation-query-change`)})])}get memoizedElevationQueryDependencies(){return(this.ground?.allLayers??[]).filter(e=>e.type===`elevation`||e.type===`integrated-mesh-3dtiles`&&e.replacesTerrain).map(e=>e.memoizedElevationQueryDependencies)}_elevationChange(e){this.emit(`elevation-change`,e)}get _integratedMeshGroundLayerViews(){return has(`enable-feature:im-as-ground`)?[...this.view?.basemapView?.groundLayerViews.filter(g)??[],...this.layerViews.filter(g)]:[...this.view?.basemapView?.groundLayerViews.filter(g).filter(e=>e.replacesTerrain)??[]]}get _terrainSurface(){return this.view.basemapTerrain}get _usingTerrain(){return!this.hasTerrainReplacement&&(this._terrainSurface?.enabled??!1)}get spatialReference(){return this._terrainSurface?.spatialReference}get userClippingExtent(){let{spatialReference:e}=this,{clippingArea:t}=this.view;if(t==null||e==null)return null;let n=s(),r=p(t,n,e)?n:null,i=this._get(`userClippingExtent`);return c(r,i)?i:r}
|
|
2
|
+
import{__decorate as e}from"tslib";import{EventedMixin as t}from"../../core/Evented.js";import has from"../../core/has.js";import{when as n,watch as r,syncAndInitial as i}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{create as s,equals as c,intersection as l,union as u}from"../../geometry/support/aaBoundingRect.js";import d from"../GroundView.js";import{ElevationRange as f}from"./support/ElevationRange.js";import{toBoundingRect as p}from"./support/extentUtils.js";import{webMercatorWorldExtent as m,geographicWorldExtent as h}from"./terrain/TerrainConst.js";import{isIntegratedMeshLayerView as g}from"../support/layerViewUtils.js";const _=Symbol(`integrated-mesh-elevation-providers`);let v=class extends t(d){initialize(){super.initialize(),this.addHandles(n(()=>this._terrainSurface,e=>e.on(`elevation-change`,e=>this._elevationChange(e)))),r(()=>[this.view?.basemapView?.groundLayerViews.toArray(),this.layerViews.toArray()],()=>{this.removeHandles(_),this.addHandles(this._integratedMeshGroundLayerViews.map(({elevationProvider:e})=>e.on(`elevation-change`,e=>this._elevationChange(e))),_)},i),this.addHandles([r(()=>this.memoizedElevationQueryDependencies,()=>{this.emit(`elevation-query-change`)})])}get memoizedElevationQueryDependencies(){return(this.ground?.allLayers??[]).filter(e=>e.type===`elevation`||e.type===`integrated-mesh-3dtiles`&&e.replacesTerrain).map(e=>e.memoizedElevationQueryDependencies)}_elevationChange(e){this.emit(`elevation-change`,e)}get _integratedMeshGroundLayerViews(){return has(`enable-feature:im-as-ground`)?[...this.view?.basemapView?.groundLayerViews.filter(g)??[],...this.layerViews.filter(g)]:[...this.view?.basemapView?.groundLayerViews.filter(g).filter(e=>e.replacesTerrain)??[]]}get _terrainSurface(){return this.view.basemapTerrain}get _usingTerrain(){return!this.hasTerrainReplacement&&(this._terrainSurface?.enabled??!1)}get spatialReference(){return this._terrainSurface?.spatialReference}get userClippingExtent(){let{spatialReference:e}=this,{clippingArea:t}=this.view;if(t==null||e==null)return null;let n=s(),r=p(t,n,e)?n:null,i=this._get(`userClippingExtent`);return c(r,i)?i:r}isUpdating(){return this._usingTerrain&&this._terrainSurface.updating||super.isUpdating()}getElevation(e,t,n,r){let i=this._usingTerrain?this._terrainSurface?.getElevation(e,t,n,r):null;return this._integratedMeshGroundLayerViews.reduce((i,a)=>{let o=a.elevationProvider.getElevation(e,t,n,r);return o==null?i:Math.max(o,i??o)},i)}getElevations(e,t,n){let r=this.view.groundSpatialReference;if(r==null)for(let e=0;e<t;++e)n(e,null);else for(let i=0;i<t;++i){let t=i*3;n(i,this.getElevation(e[t],e[t+1],e[t+2],r))}}intersect(e,t,n,r){this._usingTerrain&&this._terrainSurface.intersect(e,t,n,r),this._integratedMeshGroundLayerViews.forEach(i=>i.intersect(e,t,n,r))}getSphereElevationRange(e,t,n){let r=this._usingTerrain?this._terrainSurface?.getSphereElevationRange?.(e,t):null;return this._integratedMeshGroundLayerViews.reduce((n,r)=>{let i=r.elevationProvider.getSphereElevationRange?.(e,t);return i==null||(n??=new f,n.expandElevationRange(i)),n},r?new f(r.minElevation,r.maxElevation):null)}getRootElevationRange(){let e=this._usingTerrain?this._terrainSurface?.getRootElevationRange?.():null;return this._integratedMeshGroundLayerViews.reduce((e,t)=>{let n=t.elevationProvider.getRootElevationRange?.();return n==null||(e??=new f,e.expandElevationRange(n)),e},e?new f(e.minElevation,e.maxElevation):null)}get elevationQueryCache(){let e=this.view?.basemapTerrain;return e?.enabled?e.elevationQueryCache:null}get elevationQueryReady(){for(let e of this.ground?.allLayers??[])if(e.type===`integrated-mesh-3dtiles`&&e.replacesTerrain&&e.loadStatus!==`failed`&&e.queryElevationCallback==null)return!1;return!0}get groundExtent(){let{fullGroundExtent:e}=this;return e?this.userClippingExtent?l(e,this.userClippingExtent,s()):this.fullGroundExtent:null}get fullGroundExtent(){let e=this._usingTerrain?this._terrainSurface.fullGroundExtent:null;if(this._integratedMeshGroundLayerViews.length===0)return e;let t=this.view.spatialReference;if(!t.isWebMercator&&!t.isWGS84)return e;let n=b(t);return e?u(e,n,s()):n}get visibleElevationRange(){let e=this._usingTerrain?this._terrainSurface.visibleElevationRange:null;return this._integratedMeshGroundLayerViews.reduce((e,t)=>e==null?new f(t.visibleElevationRange.minElevation,t.visibleElevationRange.maxElevation):(e.expandElevationRange(t.visibleElevationRange),e),e?new f(e.minElevation,e.maxElevation):null)??y}get opaque(){return this._usingTerrain&&this._terrainSurface.opaque||this._integratedMeshGroundLayerViews.some(({opaque:e})=>e)}get invisible(){return(!this._usingTerrain||this._terrainSurface.invisible)&&this._integratedMeshGroundLayerViews.every(({invisible:e})=>e)}get baseOpacity(){return this.ground?.opacity??1}get wireframe(){return this._usingTerrain?this._terrainSurface?.wireframe??!1:!1}get freeze(){return this._usingTerrain&&(this._terrainSurface?.freeze??!1)||this._integratedMeshGroundLayerViews.some(e=>e.type===`integrated-mesh-3dtiles`&&e.freeze)}set freeze(e){this._usingTerrain&&(this._terrainSurface.freeze=e),this._integratedMeshGroundLayerViews.forEach(t=>{t.type===`integrated-mesh-3dtiles`&&(t.freeze=e)})}get suspended(){return(!this._usingTerrain||super.suspended)&&this._integratedMeshGroundLayerViews.length>0&&this._integratedMeshGroundLayerViews.every(({suspended:e})=>e)}get ready(){return!this._usingTerrain&&this._integratedMeshGroundLayerViews.length===0?!1:(!this._usingTerrain||this._terrainSurface.ready)&&this._integratedMeshGroundLayerViews.every(({ready:e})=>e)}updateOverlayParameters(){this._terrainSurface?.updateOverlayParameters()}requestRender(e){this.view.stage.renderView?.requestRender(e)}};e([a()],v.prototype,`memoizedElevationQueryDependencies`,null),e([a({readOnly:!0})],v.prototype,`_integratedMeshGroundLayerViews`,null),e([a({readOnly:!0})],v.prototype,`_terrainSurface`,null),e([a({readOnly:!0})],v.prototype,`_usingTerrain`,null),e([a({readOnly:!0})],v.prototype,`spatialReference`,null),e([a({readOnly:!0})],v.prototype,`userClippingExtent`,null),e([a({readOnly:!0})],v.prototype,`elevationQueryCache`,null),e([a()],v.prototype,`elevationQueryReady`,null),e([a({readOnly:!0})],v.prototype,`groundExtent`,null),e([a({readOnly:!0})],v.prototype,`fullGroundExtent`,null),e([a({readOnly:!0})],v.prototype,`visibleElevationRange`,null),e([a({readOnly:!0})],v.prototype,`opaque`,null),e([a({readOnly:!0})],v.prototype,`invisible`,null),e([a({readOnly:!0})],v.prototype,`baseOpacity`,null),e([a({readOnly:!0})],v.prototype,`wireframe`,null),e([a()],v.prototype,`freeze`,null),e([a({readOnly:!0})],v.prototype,`suspended`,null),e([a({readOnly:!0})],v.prototype,`ready`,null),v=e([o(`esri.views.3d.GroundView3D`)],v);const y=new f(0,0);function b(e){return e.isWebMercator?m:h}export{v as GroundView3D};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{volumeMeasurementConfiguration as t}from"../../../../analysis/VolumeMeasurement/volumeMeasurementConfiguration.js";import n from"../../../../core/Accessor.js";import r from"../../../../core/Logger.js";import{debounce as i,isPromiseLike as a}from"../../../../core/promiseUtils.js";import{createVolume as o}from"../../../../core/quantity.js";import s from"../../../../core/ReactiveMap.js";import{whenOnce as c}from"../../../../core/reactiveUtils.js";import{property as l,subclass as u}from"../../../../core/accessorSupport/decorators.js";import{runUntracked as d}from"../../../../core/accessorSupport/tracking.js";import{create as f}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{setAxes as p}from"../../../../core/libs/gl-matrix-2/math/quat.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/quatf64.js";import{sqrDist as h}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as ee}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{scaleAndAdd as g,scale as te,set as ne,negate as re}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as _,fromValues as v,clone as ie}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as ae}from"../../../../core/support/UpdatingHandles.js";import oe from"../../../../geometry/Multipoint.js";import{projectOrLoad as y}from"../../../../geometry/projectionUtils.js";import{containsExecute as b}from"../../../../geometry/operators/containsOperator.js";import{convexHullExecute as se}from"../../../../geometry/operators/convexHullOperator.js";import{simplifyExecute as ce}from"../../../../geometry/operators/simplifyOperator.js";import{unionExecuteMany as le}from"../../../../geometry/operators/unionOperator.js";import{computeTranslationToOriginAndRotation as ue}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBoundingRect as de}from"../../../../geometry/projection/projectBoundingRect.js";import{empty as x,create as fe,fromExtent as S,intersects as C}from"../../../../geometry/support/aaBoundingRect.js";import{vectorCoordinates as w}from"../../../../geometry/support/coordinateSystem.js";import{isClockwise as T}from"../../../../geometry/support/coordsUtils.js";import{newDoubleArray as E}from"../../../../geometry/support/DoubleArray.js";import{t as D}from"../../../../chunks/vec3.js";import O from"../../../../symbols/support/ElevationInfo.js";import{logFailedGeometryProjectionError as k}from"../support/projectionUtils.js";import{VolumeMeasurementCutFillComputation as A}from"./VolumeMeasurementCutFillComputation.js";import{VolumeMeasurementInsufficientDataError as j,VolumeMeasurementPerimeterTooLargeError as M,VolumeMeasurementUnsupportedCoordinateSystemError as N,VolumeMeasurementUnsupportedLayerTransparencyError as P}from"./volumeMeasurementErrors.js";import{VolumeMeasurementRawResult as F}from"./VolumeMeasurementRawResult.js";import I from"./VolumeMeasurementResult.js";import{ElevationContext as L}from"../../layers/graphics/ElevationContext.js";import{getElevationAtPoint as R}from"../../support/ElevationProvider.js";import{Obb as z}from"../../support/orientedBoundingBox.js";import{polygonToRenderInfoElevationAligned as B}from"../../support/renderInfoUtils/polygon.js";import{IteratorPreorder as V}from"../../terrain/tileUtils.js";import{CutFillComputation as pe,TargetGeometryRenderInfo as me}from"../../webgl-engine/lib/CutFillComputation.js";import{GeometryWorkerHandle as he}from"../../../support/GeometryWorkerHandle.js";import{isIntegratedMeshLayerView as ge}from"../../../support/layerViewUtils.js";let H=class extends n{constructor(e){super(e),this._measurementWorkerHandle=new he,this.depthExtremaPositions=null,this.analysisObb=null,this._updatingHandles=new ae,this._rawResult=null,this._sufficientDataCoverage=!0,this._tileIterator=new V,this._intersectingObbsByLayerView=new s,this._intersectingTiles=[],this._debouncedUpdate=i(async(e,t,n,r)=>{if(!this._computation.done)return;let{renderCoordsHelper:i}=this.view,a=new A({extent:t,localOrigin:n,renderCoordsHelper:i});this._computation.update(a,r),this._determineDataCoverage(a,e);let[o]=await Promise.allSettled([this._measurementWorkerHandle.areaHorizontal(e,{returnLength:!0}),c(()=>this._computation.done).then(()=>{this._updateDepthExtremaPositions(a,this._computation.result)})]);if(this.error){this._rawResult=null;return}let s=this._computation.result;this._updateResult(a,s,o.status===`fulfilled`?o.value:null)}),this._determineDataCoverage=(e,t)=>{let{frustum:n}=this._computation,{cameraDimensions:r}=e;t.extent&&n&&(this._intersectingObbsByLayerView.clear(),this._imLayerViewsAffectingMeasurement.forEach(e=>{this._findIntersectingObbs(e,n)}),this._intersectingObbsByLayerView.size>0?this._sufficientDataCoverage=this._sufficientIntegratedMeshCoverage(t,r):(this._findIntersectingTerrainTiles(t.extent),this._sufficientDataCoverage=this._sufficientTerrainCoverage(r)))}}initialize(){let e=this.view;this._computation=new pe({view:e}),this.addHandles([this._createElevationUpdateHandle(),this._updatingHandles.add(()=>({localOrigin:this._localOrigin,targetGeometryRenderInfo:this._targetGeometryRenderInfo}),({localOrigin:e,targetGeometryRenderInfo:t})=>{let n=this._projectedGeometry,r=n?.extent;!n||!r||!e||!t?(this._rawResult=null,this.depthExtremaPositions=null,this.analysisObb=null,this._sufficientDataCoverage=!0):this._updatingHandles.consumePromise(this._debouncedUpdate(n,r,e,t))})])}destroy(){this._updatingHandles.destroy(),this._computation.destroy(),this._measurementWorkerHandle.destroy()}get _projectedGeometry(){let e=this.analysis.geometry;if(!e||!this.analysis.valid)return null;let t=ce(e),n=y(t,this.view.spatialReference);return n.pending?(this._updatingHandles.consumePromise(n.pending),null):(t&&!n.geometry&&k(this.analysis,e.spatialReference,r.getLogger(this)),n.geometry)}get _localOrigin(){let e=this._projectedGeometry?.extent;return e?v(e.center.x,e.center.y,0):null}get elevationAlignedGeometry(){let e=this._projectedGeometry;return e?d(()=>{let t=e.clone();return _e(this.view.elevationProvider,t),t}):null}get targetGeometry(){let{elevationAlignedGeometry:e}=this;if(!e)return null;let t=this.analysis.measureType,{effectiveTargetElevation:n}=this.viewData;if(t===`stockpile`||n==null)return e;let r=e.clone();return r.rings.forEach(e=>e.forEach(e=>e[2]=n)),r}get _targetGeometryRenderInfo(){let e=this.targetGeometry,t=this._localOrigin;if(!e||!t)return null;let{elevationProvider:n,renderCoordsHelper:r}=this.view,i=B(e,n,r,L.fromElevationInfo(new O({mode:`absolute-height`})));if(a(i))return this._updatingHandles.consumePromise(i),null;if(i==null)return null;let{positions:o,polygonIndices:s,vertexCount:c}=i,l=E(c*3),u=f(),d=f();return ue(e.spatialReference,t,u,r.spatialReference),d[12]=-u[12],d[13]=-u[13],d[14]=-u[14],D(l,o,d),new me(l,s)}get updating(){return this._computation.updating||this._updatingHandles.updating}get result(){let e=this._rawResult,{volume:t,area:n,length:r}=this.viewData.effectiveDisplayUnits;return e&&!this.error?new I({measureType:this.analysis.measureType,rawResult:e,volumeUnit:t,areaUnit:n,lengthUnit:r}):null}get error(){return this._unsupportedCoordinateSystemError??this._unsupportedLayerTransparencyError??this._perimeterTooLargeError??this._insufficientDataError}get _imLayerViewsAffectingMeasurement(){return this.view.allLayerViews.filter(e=>ge(e)).filter(e=>e.visible&&!e.suspended)}get _insufficientDataError(){return this._sufficientDataCoverage?null:new j}get _perimeterTooLargeError(){return this._perimeterTooLargeLocalError??this._perimeterTooLargeGlobalError}get _perimeterTooLargeLocalError(){let{spatialReference:e,state:{isLocal:n}}=this.view;if(!n||!e.isWebMercator)return null;let r=this._perimeterForError,{maxPerimeterLocalWebMercator:i}=t;return r!=null&&r>i?new M:null}get _perimeterTooLargeGlobalError(){if(!this.view.state.isGlobal)return null;let e=this._perimeterForError,{maxPerimeterGlobal:n}=t;return e!=null&&e>n?new M:null}get _unsupportedCoordinateSystemError(){return this.view.state.isLocal&&this.view.spatialReference.isGeographic?new N:null}get _unsupportedLayerTransparencyError(){let e=this.view.map.ground&&this.view.map.ground.opacity<1,t=this._intersectingObbsByLayerView.size>0;return this._intersectingObbsByLayerView.keys().some(e=>e.fullOpacity<1)||e&&!t?new P:null}get _perimeterForError(){let e=this._projectedGeometry;if(e==null)return null;let t=null;for(let n of e.rings){if(!T(n))continue;let e=ye(be(n));t=e?Math.max(t??0,e):t}return t==null?null:t*e.spatialReference.metersPerUnit}_createElevationUpdateHandle(){let e=e=>{let t=this._projectedGeometry?.extent;e.context===`ground`&&t&&(de(e.extent,e.spatialReference,G,this.view.spatialReference),S(t,K),C(G,K)&&this.notifyChange(`elevationAlignedGeometry`))};return this.view.elevationProvider.on(`elevation-change`,t=>e(t))}_updateResult(e,t,n){if(!t)return;let{unitInMeters:r}=this.view.renderCoordsHelper,{dimensions:{width:i,height:a},cameraNearFar:{near:s,far:c}}=e,l=i/t.width*(a/t.height),u=U(t.cut.totalDepth,s,c)*l,d=U(t.fill.totalDepth,s,c)*l,f=r**3;this._rawResult=new F({cutVolume:o(Math.abs(u*f),`cubic-meters`),fillVolume:o(d*f,`cubic-meters`),area:n?.area,perimeter:n?.length})}_updateDepthExtremaPositions(e,t){if(!t)return;let{dimensions:{width:n,height:r},cameraNearFar:{near:i,far:a},cameraPositionRenderSpace:o,northVector:s,eastVector:c,upVector:l}=e,u=e=>{let{depthExtremum:u,depthExtremumCoords:[d,f],totalDepth:p}=e,m=ie(o);return p!==0&&(g(m,m,c,n*(d/t.width-.5)),g(m,m,s,r*(f/t.height-.5))),g(m,m,l,-U(u,i,a)),m},d={cut:u(t.cut),fill:u(t.fill)};this.depthExtremaPositions=d,this.analysisObb=ve(e,d)}_findIntersectingObbs(e,t){let n=[];e.type===`integrated-mesh-3d`&&e.getVisibleNodes().forEach(r=>{e.isNodeLoaded(r.index)&&r.geometryObbInRenderSR?.intersectsFrustum(t)&&n.push(r.geometryObbInRenderSR)}),e.type===`integrated-mesh-3dtiles`&&e.forEachVisibleComponentObject(({obb:e})=>{e.intersectsFrustum(t)&&n.push(e)}),n.length>0&&this._intersectingObbsByLayerView.set(e,n)}_sufficientIntegratedMeshCoverage(e,t){let{renderCoordsHelper:n,spatialReference:r}=this.view,i=[],a=new oe({spatialReference:r});if(this._intersectingObbsByLayerView.forEach(e=>{e.forEach(e=>{if(W(e.radius,t)&&(e.getCorners($),a.points.length=0,$.forEach(e=>{let t=n.fromRenderCoords(e,Se,r);t&&a.addPoint([t[0],t[1]])}),a.points.length)){let e=se(a);e?.type===`polygon`&&i.push(e)}})}),!i.length)return!1;let o=le(i);return!!o&&b(o,e)}_findIntersectingTerrainTiles(e){let{basemapTerrain:t}=this.view;this._intersectingTiles.length=0,S(e,q);let n=this._tileIterator;n.reset(t.rootTiles);for(let e=n.next();e;e=n.next())e.intersectsExtent(q)?e.rendered&&this._intersectingTiles.push(e):n.skipSubtree()}_sufficientTerrainCoverage(e){let{basemapTerrain:{tilingScheme:t}}=this.view;if(!this._intersectingTiles.length)return!1;let n=256/t.pixelSize;return this._intersectingTiles.every(t=>W(t.radius*n,e))}};e([l()],H.prototype,`_projectedGeometry`,null),e([l()],H.prototype,`_localOrigin`,null),e([l()],H.prototype,`elevationAlignedGeometry`,null),e([l()],H.prototype,`targetGeometry`,null),e([l()],H.prototype,`_targetGeometryRenderInfo`,null),e([l({constructOnly:!0})],H.prototype,`analysis`,void 0),e([l({constructOnly:!0})],H.prototype,`viewData`,void 0),e([l({constructOnly:!0})],H.prototype,`view`,void 0),e([l()],H.prototype,`updating`,null),e([l()],H.prototype,`result`,null),e([l()],H.prototype,`depthExtremaPositions`,void 0),e([l()],H.prototype,`analysisObb`,void 0),e([l()],H.prototype,`error`,null),e([l()],H.prototype,`_imLayerViewsAffectingMeasurement`,null),e([l()],H.prototype,`_insufficientDataError`,null),e([l()],H.prototype,`_perimeterTooLargeError`,null),e([l()],H.prototype,`_perimeterTooLargeLocalError`,null),e([l()],H.prototype,`_perimeterTooLargeGlobalError`,null),e([l()],H.prototype,`_unsupportedCoordinateSystemError`,null),e([l()],H.prototype,`_unsupportedLayerTransparencyError`,null),e([l()],H.prototype,`_perimeterForError`,null),e([l()],H.prototype,`_computation`,void 0),e([l({readOnly:!0})],H.prototype,`_updatingHandles`,void 0),e([l()],H.prototype,`_rawResult`,void 0),e([l()],H.prototype,`_sufficientDataCoverage`,void 0),H=e([u(`esri.views.3d.analysis.VolumeMeasurement.VolumeMeasurementController`)],H);function _e(e,t){t.hasZ=!0,t.rings.forEach(t=>t.forEach(t=>t[2]=R(e,t,`ground`)??0))}function U(e,t,n){return e*(n-t)+t}function ve(e,t){let{boundingRect:n,eastVector:r,northVector:i,upVector:a}=e;w(t.cut,r,i,a,J),w(t.fill,r,i,a,Y);let o=(n[0]+n[2])*.5,s=(n[1]+n[3])*.5,c=Math.min(J[2],Y[2]),l=Math.max(J[2],Y[2]),u=(c+l)*.5;return te(X,r,o),g(X,X,i,s),g(X,X,a,u),ne(Z,(n[2]-n[0])*.5,(n[3]-n[1])*.5,(l-c)*.5),re(Q,a),new z(X,Z,p(xe,Q,r,i))}function ye(e){if(!e)return null;let t=null,n=null,r=0;for(let i of e)t||=[i[0],i[1]],n?r+=h(n,i):n=[0,0],n[0]=i[0],n[1]=i[1];return t&&n&&(r+=h(n,t)),Math.sqrt(r)}function*be(e){let t=ee();for(let n=0;n<e.length;n++)t[0]=e[n][0],t[1]=e[n][1],yield t}const W=(e,t)=>e<(t.width+t.height)/2,G=x(),K=x(),q=fe(),J=_(),Y=_(),X=_(),Z=_(),Q=_(),xe=m(),$=Array(8).fill(0).map(()=>_()),Se=_();export{H as VolumeMeasurementController};
|
|
2
|
+
import{__decorate as e}from"tslib";import{volumeMeasurementConfiguration as t}from"../../../../analysis/VolumeMeasurement/volumeMeasurementConfiguration.js";import n from"../../../../core/Accessor.js";import r from"../../../../core/Logger.js";import{debounce as i,isPromiseLike as a}from"../../../../core/promiseUtils.js";import{createVolume as o}from"../../../../core/quantity.js";import s from"../../../../core/ReactiveMap.js";import{whenOnce as c}from"../../../../core/reactiveUtils.js";import{property as l,subclass as u}from"../../../../core/accessorSupport/decorators.js";import{runUntracked as d}from"../../../../core/accessorSupport/tracking.js";import{create as f}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{setAxes as p}from"../../../../core/libs/gl-matrix-2/math/quat.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/quatf64.js";import{sqrDist as h}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as ee}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{scaleAndAdd as g,scale as te,set as ne,negate as re}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as _,fromValues as v,clone as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as b}from"../../../../core/support/UpdatingHandles.js";import x from"../../../../geometry/Multipoint.js";import{projectOrLoad as ie}from"../../../../geometry/projectionUtils.js";import{containsExecute as ae}from"../../../../geometry/operators/containsOperator.js";import{convexHullExecute as oe}from"../../../../geometry/operators/convexHullOperator.js";import{simplifyExecute as se}from"../../../../geometry/operators/simplifyOperator.js";import{unionExecuteMany as ce}from"../../../../geometry/operators/unionOperator.js";import{computeTranslationToOriginAndRotation as le}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{create as S,fromExtent as C}from"../../../../geometry/support/aaBoundingRect.js";import{vectorCoordinates as w}from"../../../../geometry/support/coordinateSystem.js";import{isClockwise as T}from"../../../../geometry/support/coordsUtils.js";import{newDoubleArray as E}from"../../../../geometry/support/DoubleArray.js";import{t as D}from"../../../../chunks/vec3.js";import O from"../../../../symbols/support/ElevationInfo.js";import{logFailedGeometryProjectionError as k}from"../support/projectionUtils.js";import{VolumeMeasurementCutFillComputation as A}from"./VolumeMeasurementCutFillComputation.js";import{VolumeMeasurementInsufficientDataError as j,VolumeMeasurementPerimeterTooLargeError as M,VolumeMeasurementUnsupportedCoordinateSystemError as N,VolumeMeasurementUnsupportedLayerTransparencyError as P}from"./volumeMeasurementErrors.js";import{VolumeMeasurementRawResult as F}from"./VolumeMeasurementRawResult.js";import I from"./VolumeMeasurementResult.js";import{ElevationContext as L}from"../../layers/graphics/ElevationContext.js";import{getElevationAtPoint as R}from"../../support/ElevationProvider.js";import{createElevationUpdateHandle as z}from"../../support/elevationUpdateUtils.js";import{Obb as B}from"../../support/orientedBoundingBox.js";import{polygonToRenderInfoElevationAligned as ue}from"../../support/renderInfoUtils/polygon.js";import{IteratorPreorder as V}from"../../terrain/tileUtils.js";import{CutFillComputation as H,TargetGeometryRenderInfo as U}from"../../webgl-engine/lib/CutFillComputation.js";import{GeometryWorkerHandle as de}from"../../../support/GeometryWorkerHandle.js";import{isIntegratedMeshLayerView as fe}from"../../../support/layerViewUtils.js";let W=class extends n{constructor(e){super(e),this._measurementWorkerHandle=new de,this.depthExtremaPositions=null,this.analysisObb=null,this._updatingHandles=new b,this._rawResult=null,this._sufficientDataCoverage=!0,this._tileIterator=new V,this._intersectingObbsByLayerView=new s,this._intersectingTiles=[],this._debouncedUpdate=i(async(e,t,n,r)=>{if(!this._computation.done)return;let{renderCoordsHelper:i}=this.view,a=new A({extent:t,localOrigin:n,renderCoordsHelper:i});this._computation.update(a,r),this._determineDataCoverage(a,e);let[o]=await Promise.allSettled([this._measurementWorkerHandle.areaHorizontal(e,{returnLength:!0}),c(()=>this._computation.done).then(()=>{this._updateDepthExtremaPositions(a,this._computation.result)})]);if(this.error){this._rawResult=null;return}let s=this._computation.result;this._updateResult(a,s,o.status===`fulfilled`?o.value:null)}),this._determineDataCoverage=(e,t)=>{let{frustum:n}=this._computation,{cameraDimensions:r}=e;t.extent&&n&&(this._intersectingObbsByLayerView.clear(),this._imLayerViewsAffectingMeasurement.forEach(e=>{this._findIntersectingObbs(e,n)}),this._intersectingObbsByLayerView.size>0?this._sufficientDataCoverage=this._sufficientIntegratedMeshCoverage(t,r):(this._findIntersectingTerrainTiles(t.extent),this._sufficientDataCoverage=this._sufficientTerrainCoverage(r)))}}initialize(){let e=this.view;this._computation=new H({view:e}),this.addHandles([z({view:e,geometry:()=>this._projectedGeometry,context:`ground`,onElevationChanges:()=>this.notifyChange(`elevationAlignedGeometry`)}),this._updatingHandles.add(()=>({localOrigin:this._localOrigin,targetGeometryRenderInfo:this._targetGeometryRenderInfo}),({localOrigin:e,targetGeometryRenderInfo:t})=>{let n=this._projectedGeometry,r=n?.extent;!n||!r||!e||!t?(this._rawResult=null,this.depthExtremaPositions=null,this.analysisObb=null,this._sufficientDataCoverage=!0):this._updatingHandles.consumePromise(this._debouncedUpdate(n,r,e,t))})])}destroy(){this._updatingHandles.destroy(),this._computation.destroy(),this._measurementWorkerHandle.destroy()}get _projectedGeometry(){let e=this.analysis.geometry;if(!e||!this.analysis.valid)return null;let t=se(e),n=ie(t,this.view.spatialReference);return n.pending?(this._updatingHandles.consumePromise(n.pending),null):(t&&!n.geometry&&k(this.analysis,e.spatialReference,r.getLogger(this)),n.geometry)}get _localOrigin(){let e=this._projectedGeometry?.extent;return e?v(e.center.x,e.center.y,0):null}get elevationAlignedGeometry(){let e=this._projectedGeometry;return e?d(()=>{let t=e.clone();return pe(this.view.elevationProvider,t),t}):null}get targetGeometry(){let{elevationAlignedGeometry:e}=this;if(!e)return null;let t=this.analysis.measureType,{effectiveTargetElevation:n}=this.viewData;if(t===`stockpile`||n==null)return e;let r=e.clone();return r.rings.forEach(e=>e.forEach(e=>e[2]=n)),r}get _targetGeometryRenderInfo(){let e=this.targetGeometry,t=this._localOrigin;if(!e||!t)return null;let{elevationProvider:n,renderCoordsHelper:r}=this.view,i=ue(e,n,r,L.fromElevationInfo(new O({mode:`absolute-height`})));if(a(i))return this._updatingHandles.consumePromise(i),null;if(i==null)return null;let{positions:o,polygonIndices:s,vertexCount:c}=i,l=E(c*3),u=f(),d=f();return le(e.spatialReference,t,u,r.spatialReference),d[12]=-u[12],d[13]=-u[13],d[14]=-u[14],D(l,o,d),new U(l,s)}get updating(){return this._computation.updating||this._updatingHandles.updating}get result(){let e=this._rawResult,{volume:t,area:n,length:r}=this.viewData.effectiveDisplayUnits;return e&&!this.error?new I({measureType:this.analysis.measureType,rawResult:e,volumeUnit:t,areaUnit:n,lengthUnit:r}):null}get error(){return this._unsupportedCoordinateSystemError??this._unsupportedLayerTransparencyError??this._perimeterTooLargeError??this._insufficientDataError}get _imLayerViewsAffectingMeasurement(){return this.view.allLayerViews.filter(e=>fe(e)).filter(e=>e.visible&&!e.suspended)}get _insufficientDataError(){return this._sufficientDataCoverage?null:new j}get _perimeterTooLargeError(){return this._perimeterTooLargeLocalError??this._perimeterTooLargeGlobalError}get _perimeterTooLargeLocalError(){let{spatialReference:e,state:{isLocal:n}}=this.view;if(!n||!e.isWebMercator)return null;let r=this._perimeterForError,{maxPerimeterLocalWebMercator:i}=t;return r!=null&&r>i?new M:null}get _perimeterTooLargeGlobalError(){if(!this.view.state.isGlobal)return null;let e=this._perimeterForError,{maxPerimeterGlobal:n}=t;return e!=null&&e>n?new M:null}get _unsupportedCoordinateSystemError(){return this.view.state.isLocal&&this.view.spatialReference.isGeographic?new N:null}get _unsupportedLayerTransparencyError(){let e=this.view.map.ground&&this.view.map.ground.opacity<1,t=this._intersectingObbsByLayerView.size>0;return this._intersectingObbsByLayerView.keys().some(e=>e.fullOpacity<1)||e&&!t?new P:null}get _perimeterForError(){let e=this._projectedGeometry;if(e==null)return null;let t=null;for(let n of e.rings){if(!T(n))continue;let e=he(ge(n));t=e?Math.max(t??0,e):t}return t==null?null:t*e.spatialReference.metersPerUnit}_updateResult(e,t,n){if(!t)return;let{unitInMeters:r}=this.view.renderCoordsHelper,{dimensions:{width:i,height:a},cameraNearFar:{near:s,far:c}}=e,l=i/t.width*(a/t.height),u=G(t.cut.totalDepth,s,c)*l,d=G(t.fill.totalDepth,s,c)*l,f=r**3;this._rawResult=new F({cutVolume:o(Math.abs(u*f),`cubic-meters`),fillVolume:o(d*f,`cubic-meters`),area:n?.area,perimeter:n?.length})}_updateDepthExtremaPositions(e,t){if(!t)return;let{dimensions:{width:n,height:r},cameraNearFar:{near:i,far:a},cameraPositionRenderSpace:o,northVector:s,eastVector:c,upVector:l}=e,u=e=>{let{depthExtremum:u,depthExtremumCoords:[d,f],totalDepth:p}=e,m=y(o);return p!==0&&(g(m,m,c,n*(d/t.width-.5)),g(m,m,s,r*(f/t.height-.5))),g(m,m,l,-G(u,i,a)),m},d={cut:u(t.cut),fill:u(t.fill)};this.depthExtremaPositions=d,this.analysisObb=me(e,d)}_findIntersectingObbs(e,t){let n=[];e.type===`integrated-mesh-3d`&&e.getVisibleNodes().forEach(r=>{e.isNodeLoaded(r.index)&&r.geometryObbInRenderSR?.intersectsFrustum(t)&&n.push(r.geometryObbInRenderSR)}),e.type===`integrated-mesh-3dtiles`&&e.forEachVisibleComponentObject(({obb:e})=>{e.intersectsFrustum(t)&&n.push(e)}),n.length>0&&this._intersectingObbsByLayerView.set(e,n)}_sufficientIntegratedMeshCoverage(e,t){let{renderCoordsHelper:n,spatialReference:r}=this.view,i=[],a=new x({spatialReference:r});if(this._intersectingObbsByLayerView.forEach(e=>{e.forEach(e=>{if(K(e.radius,t)&&(e.getCorners($),a.points.length=0,$.forEach(e=>{let t=n.fromRenderCoords(e,ve,r);t&&a.addPoint([t[0],t[1]])}),a.points.length)){let e=oe(a);e?.type===`polygon`&&i.push(e)}})}),!i.length)return!1;let o=ce(i);return!!o&&ae(o,e)}_findIntersectingTerrainTiles(e){let{basemapTerrain:t}=this.view;this._intersectingTiles.length=0,C(e,q);let n=this._tileIterator;n.reset(t.rootTiles);for(let e=n.next();e;e=n.next())e.intersectsExtent(q)?e.rendered&&this._intersectingTiles.push(e):n.skipSubtree()}_sufficientTerrainCoverage(e){let{basemapTerrain:{tilingScheme:t}}=this.view;if(!this._intersectingTiles.length)return!1;let n=256/t.pixelSize;return this._intersectingTiles.every(t=>K(t.radius*n,e))}};e([l()],W.prototype,`_projectedGeometry`,null),e([l()],W.prototype,`_localOrigin`,null),e([l()],W.prototype,`elevationAlignedGeometry`,null),e([l()],W.prototype,`targetGeometry`,null),e([l()],W.prototype,`_targetGeometryRenderInfo`,null),e([l({constructOnly:!0})],W.prototype,`analysis`,void 0),e([l({constructOnly:!0})],W.prototype,`viewData`,void 0),e([l({constructOnly:!0})],W.prototype,`view`,void 0),e([l()],W.prototype,`updating`,null),e([l()],W.prototype,`result`,null),e([l()],W.prototype,`depthExtremaPositions`,void 0),e([l()],W.prototype,`analysisObb`,void 0),e([l()],W.prototype,`error`,null),e([l()],W.prototype,`_imLayerViewsAffectingMeasurement`,null),e([l()],W.prototype,`_insufficientDataError`,null),e([l()],W.prototype,`_perimeterTooLargeError`,null),e([l()],W.prototype,`_perimeterTooLargeLocalError`,null),e([l()],W.prototype,`_perimeterTooLargeGlobalError`,null),e([l()],W.prototype,`_unsupportedCoordinateSystemError`,null),e([l()],W.prototype,`_unsupportedLayerTransparencyError`,null),e([l()],W.prototype,`_perimeterForError`,null),e([l()],W.prototype,`_computation`,void 0),e([l({readOnly:!0})],W.prototype,`_updatingHandles`,void 0),e([l()],W.prototype,`_rawResult`,void 0),e([l()],W.prototype,`_sufficientDataCoverage`,void 0),W=e([u(`esri.views.3d.analysis.VolumeMeasurement.VolumeMeasurementController`)],W);function pe(e,t){t.hasZ=!0,t.rings.forEach(t=>t.forEach(t=>t[2]=R(e,t,`ground`)??0))}function G(e,t,n){return e*(n-t)+t}function me(e,t){let{boundingRect:n,eastVector:r,northVector:i,upVector:a}=e;w(t.cut,r,i,a,J),w(t.fill,r,i,a,Y);let o=(n[0]+n[2])*.5,s=(n[1]+n[3])*.5,c=Math.min(J[2],Y[2]),l=Math.max(J[2],Y[2]),u=(c+l)*.5;return te(X,r,o),g(X,X,i,s),g(X,X,a,u),ne(Z,(n[2]-n[0])*.5,(n[3]-n[1])*.5,(l-c)*.5),re(Q,a),new B(X,Z,p(_e,Q,r,i))}function he(e){if(!e)return null;let t=null,n=null,r=0;for(let i of e)t||=[i[0],i[1]],n?r+=h(n,i):n=[0,0],n[0]=i[0],n[1]=i[1];return t&&n&&(r+=h(n,t)),Math.sqrt(r)}function*ge(e){let t=ee();for(let n=0;n<e.length;n++)t[0]=e[n][0],t[1]=e[n][1],yield t}const K=(e,t)=>e<(t.width+t.height)/2,q=S(),J=_(),Y=_(),X=_(),Z=_(),Q=_(),_e=m(),$=Array(8).fill(0).map(()=>_()),ve=_();export{W as VolumeMeasurementController};
|
|
@@ -2,7 +2,7 @@ import type WebSceneSunLighting from "../../../webscene/SunLighting.js";
|
|
|
2
2
|
import type { EventedMixin } from "../../../core/Evented.js";
|
|
3
3
|
import type { SunLightingProperties as WebSceneSunLightingProperties } from "../../../webscene/SunLighting.js";
|
|
4
4
|
|
|
5
|
-
export interface SunLightingProperties extends WebSceneSunLightingProperties, Partial<Pick<SunLighting, "cameraTrackingEnabled">> {
|
|
5
|
+
export interface SunLightingProperties extends WebSceneSunLightingProperties, Partial<Pick<SunLighting, "cameraTrackingEnabled" | "globalIllumination">> {
|
|
6
6
|
/**
|
|
7
7
|
* The current date and time of the simulated sun. When setting the date, specifying the time zone is important,
|
|
8
8
|
* otherwise the time zone of the browser will be used. This might lead to different lighting for users in different
|
|
@@ -63,6 +63,22 @@ export default class SunLighting extends SunLightingSuperclass {
|
|
|
63
63
|
*/
|
|
64
64
|
get date(): Date;
|
|
65
65
|
set date(value: (Date | number | string));
|
|
66
|
+
/**
|
|
67
|
+
* Enables global illumination for more realistic lighting in the scene. Emissive materials illuminate nearby
|
|
68
|
+
* surfaces, while areas where surrounding objects block ambient light receive more natural shading.
|
|
69
|
+
*
|
|
70
|
+
* **Known limitations**
|
|
71
|
+
*
|
|
72
|
+
* - Is not supported with [GaussianSplatLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GaussianSplatLayer/).
|
|
73
|
+
* - Is disabled at high camera altitudes.
|
|
74
|
+
* - May produce temporarily noisy lighting after camera or scene changes.
|
|
75
|
+
* - May reduce rendering performance.
|
|
76
|
+
*
|
|
77
|
+
* @default false
|
|
78
|
+
* @beta
|
|
79
|
+
* @since 5.2
|
|
80
|
+
*/
|
|
81
|
+
accessor globalIllumination: boolean;
|
|
66
82
|
/** Indicates that the light source is simulated position of the sun. */
|
|
67
83
|
get type(): "sun";
|
|
68
84
|
}
|