@arcgis/core 4.33.0-next.20250526 → 4.33.0-next.20250528
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/Map.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0716b21b1cfb8df066fa.js +1 -0
- package/assets/esri/core/workers/chunks/{b70f65ccee01d48a610e.js → 08583c74b8c538aef4d5.js} +2 -2
- package/assets/esri/core/workers/chunks/3027eb0c20e996ad374a.js +1 -0
- package/assets/esri/core/workers/chunks/{28e31ac00dc95a1318e9.js → 3916879b9ca8c6979011.js} +1 -1
- package/assets/esri/core/workers/chunks/6408b7845858cf18102f.js +1 -0
- package/assets/esri/core/workers/chunks/87623ebe32c6ae9cb223.js +1 -0
- package/assets/esri/core/workers/chunks/adf6982e2d8102669cdf.js +1 -0
- package/assets/esri/core/workers/chunks/cc9dd8924bfeb8bcd278.js +1 -0
- package/assets/esri/core/workers/chunks/cdb022ffffc6554de83a.js +1 -0
- package/assets/esri/core/workers/chunks/f5741d09fd4e1809f580.js +1 -0
- package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
- package/core/workers/Connection.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/core/workers/WorkerHandle.js +1 -1
- package/effects/FocusArea.d.ts +4 -0
- package/effects/FocusArea.js +1 -1
- package/effects/FocusAreaOutline.d.ts +4 -0
- package/effects/FocusAreaOutline.js +1 -1
- package/effects/FocusAreas.d.ts +4 -0
- package/effects/FocusAreas.js +1 -1
- package/interfaces.d.ts +231 -3
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/support/PromiseQueue.js +1 -1
- package/networks/support/UNTraceConfiguration.js +1 -1
- package/networks/support/typeUtils.js +1 -1
- package/package.json +1 -1
- package/rest/networks/support/CircuitTraceResult.js +5 -0
- package/rest/networks/support/TraceResult.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/animationUtils.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/defaultCIMValues.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/views/2d/engine/webgl/animations/infos.js +1 -1
- package/views/2d/engine/webgl/animations/instructions.js +1 -1
- package/views/2d/engine/webgl/animations/utils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueRegistry.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueType.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +5 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +5 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +5 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +5 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +5 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechniques.js +5 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/ComputedAnimatedParams.js +5 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +5 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/enums.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/utils.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/support/TextureCompressionTracker.js +5 -0
- package/views/webgl/Texture.js +1 -1
- package/widgets/Directions/DirectionsVisibleElements.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/AddAssociationWorkflowData.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateRecordWorkflowData.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/featureFormUtils.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/003ddb190a5cc56f7925.js +0 -1
- package/assets/esri/core/workers/chunks/0fb5de3f8a4d69b2d514.js +0 -1
- package/assets/esri/core/workers/chunks/377a7f0f7d304ff9fe5b.js +0 -1
- package/assets/esri/core/workers/chunks/5200be8bce60fa831026.js +0 -1
- package/assets/esri/core/workers/chunks/c9ab067b07d1eab974d1.js +0 -1
- package/assets/esri/core/workers/chunks/e89345c7af9d3d4d8452.js +0 -1
- package/assets/esri/core/workers/chunks/ef7955a2509be0f03ca2.js +0 -1
- package/assets/esri/core/workers/chunks/fd4c020297badcb81947.js +0 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerTechnique.js +0 -5
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedShader.js +0 -5
- package/views/support/TextureCompressionHandle.js +0 -5
package/interfaces.d.ts
CHANGED
|
@@ -2483,10 +2483,11 @@ declare namespace __esri {
|
|
|
2483
2483
|
*
|
|
2484
2484
|
* @param script The {@link https://developers.arcgis.com/javascript/latest/arcade/ Arcade expression} to compile and execute.
|
|
2485
2485
|
* @param profile The profile definition used to execute the given expression. The profile defines the profile variable names and data types the user may use as inputs in the expression. The variable instances are provided to the executor function.
|
|
2486
|
+
* @param options _Since 4.33_ Options used to configure the executor.
|
|
2486
2487
|
*
|
|
2487
2488
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-arcade.html#createArcadeExecutor Read more...}
|
|
2488
2489
|
*/
|
|
2489
|
-
createArcadeExecutor(script: string, profile: Profile): Promise<ArcadeExecutor>;
|
|
2490
|
+
createArcadeExecutor(script: string, profile: Profile, options?: arcadeCreateArcadeExecutorOptions): Promise<ArcadeExecutor>;
|
|
2490
2491
|
/**
|
|
2491
2492
|
* Creates a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-arcade.html#Profile Profile} definition for an Arcade profile implemented in the ArcGIS Maps SDK for JavaScript.
|
|
2492
2493
|
*
|
|
@@ -2513,6 +2514,11 @@ declare namespace __esri {
|
|
|
2513
2514
|
|
|
2514
2515
|
export const arcade: arcade;
|
|
2515
2516
|
|
|
2517
|
+
export interface arcadeCreateArcadeExecutorOptions {
|
|
2518
|
+
lruCache?: any;
|
|
2519
|
+
services?: ArcadeServices;
|
|
2520
|
+
}
|
|
2521
|
+
|
|
2516
2522
|
/**
|
|
2517
2523
|
* An executor provides a synchronous (if applicable) and asynchronous function used to evaluate the
|
|
2518
2524
|
* compiled Arcade expression with the inputs of the declared profile variables.
|
|
@@ -2528,6 +2534,15 @@ declare namespace __esri {
|
|
|
2528
2534
|
isAsync: boolean;
|
|
2529
2535
|
}
|
|
2530
2536
|
|
|
2537
|
+
/**
|
|
2538
|
+
* ArcadeServices provides access to services and user information that are required for executing Arcade expressions.
|
|
2539
|
+
*
|
|
2540
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-arcade.html#ArcadeServices Read more...}
|
|
2541
|
+
*/
|
|
2542
|
+
export interface ArcadeServices {
|
|
2543
|
+
portal?: Portal;
|
|
2544
|
+
}
|
|
2545
|
+
|
|
2531
2546
|
/**
|
|
2532
2547
|
* The type definition of a profile variable of type `array`.
|
|
2533
2548
|
*
|
|
@@ -2593,6 +2608,8 @@ declare namespace __esri {
|
|
|
2593
2608
|
export interface ExecuteContext {
|
|
2594
2609
|
spatialReference?: SpatialReference;
|
|
2595
2610
|
timeZone?: string;
|
|
2611
|
+
lruCache?: any;
|
|
2612
|
+
services?: ArcadeServices;
|
|
2596
2613
|
}
|
|
2597
2614
|
|
|
2598
2615
|
export type ExecuteFunction = (profileVariableInstances: any, context?: ExecuteContext) => ResultType;
|
|
@@ -4722,6 +4739,207 @@ declare namespace __esri {
|
|
|
4722
4739
|
url: string;
|
|
4723
4740
|
}
|
|
4724
4741
|
|
|
4742
|
+
export interface FocusArea extends Accessor, JSONSupport, Clonable {
|
|
4743
|
+
}
|
|
4744
|
+
|
|
4745
|
+
export class FocusArea {
|
|
4746
|
+
/**
|
|
4747
|
+
* A boolean indicating whether the focus area is enabled and displayed.
|
|
4748
|
+
*
|
|
4749
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#enabled Read more...}
|
|
4750
|
+
*/
|
|
4751
|
+
enabled: boolean;
|
|
4752
|
+
/**
|
|
4753
|
+
* The unique identifier for the focus area.
|
|
4754
|
+
*
|
|
4755
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#id Read more...}
|
|
4756
|
+
*/
|
|
4757
|
+
id: string;
|
|
4758
|
+
/**
|
|
4759
|
+
* A class representing a single focus area.
|
|
4760
|
+
*
|
|
4761
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html Read more...}
|
|
4762
|
+
*/
|
|
4763
|
+
constructor(properties?: FocusAreaProperties);
|
|
4764
|
+
/**
|
|
4765
|
+
* The geometries defining the focused area.
|
|
4766
|
+
*
|
|
4767
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#geometries Read more...}
|
|
4768
|
+
*/
|
|
4769
|
+
get geometries(): Collection<any>;
|
|
4770
|
+
set geometries(value: CollectionProperties<any>);
|
|
4771
|
+
/**
|
|
4772
|
+
* An object describing the color of the focus area outline.
|
|
4773
|
+
*
|
|
4774
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#outline Read more...}
|
|
4775
|
+
*/
|
|
4776
|
+
get outline(): FocusAreaOutline | nullish;
|
|
4777
|
+
set outline(value: FocusAreaOutlineProperties | nullish);
|
|
4778
|
+
/**
|
|
4779
|
+
* Creates a deep clone of this object.
|
|
4780
|
+
*
|
|
4781
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#clone Read more...}
|
|
4782
|
+
*/
|
|
4783
|
+
clone(): this;
|
|
4784
|
+
/**
|
|
4785
|
+
* Converts an instance of this class to its [ArcGIS portal JSON](https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm) representation.
|
|
4786
|
+
*
|
|
4787
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#toJSON Read more...}
|
|
4788
|
+
*/
|
|
4789
|
+
toJSON(): any;
|
|
4790
|
+
/**
|
|
4791
|
+
* Creates a new instance of this class and initializes it with values from a JSON object
|
|
4792
|
+
* generated from an ArcGIS product.
|
|
4793
|
+
*
|
|
4794
|
+
* @param json A JSON representation of the instance in the ArcGIS format. See the [ArcGIS REST API documentation](https://developers.arcgis.com/documentation/common-data-types/overview-of-common-data-types.htm) for examples of the structure of various input JSON objects.
|
|
4795
|
+
*
|
|
4796
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#fromJSON Read more...}
|
|
4797
|
+
*/
|
|
4798
|
+
static fromJSON(json: any): any | nullish;
|
|
4799
|
+
static fromJSON(json: any): FocusArea;
|
|
4800
|
+
}
|
|
4801
|
+
|
|
4802
|
+
interface FocusAreaProperties {
|
|
4803
|
+
/**
|
|
4804
|
+
* A boolean indicating whether the focus area is enabled and displayed.
|
|
4805
|
+
*
|
|
4806
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#enabled Read more...}
|
|
4807
|
+
*/
|
|
4808
|
+
enabled?: boolean;
|
|
4809
|
+
/**
|
|
4810
|
+
* The geometries defining the focused area.
|
|
4811
|
+
*
|
|
4812
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#geometries Read more...}
|
|
4813
|
+
*/
|
|
4814
|
+
geometries?: CollectionProperties<any>;
|
|
4815
|
+
/**
|
|
4816
|
+
* The unique identifier for the focus area.
|
|
4817
|
+
*
|
|
4818
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#id Read more...}
|
|
4819
|
+
*/
|
|
4820
|
+
id?: string;
|
|
4821
|
+
/**
|
|
4822
|
+
* An object describing the color of the focus area outline.
|
|
4823
|
+
*
|
|
4824
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html#outline Read more...}
|
|
4825
|
+
*/
|
|
4826
|
+
outline?: FocusAreaOutlineProperties | nullish;
|
|
4827
|
+
}
|
|
4828
|
+
|
|
4829
|
+
export interface FocusAreaOutline extends Accessor, JSONSupport, Clonable {
|
|
4830
|
+
}
|
|
4831
|
+
|
|
4832
|
+
export class FocusAreaOutline {
|
|
4833
|
+
/**
|
|
4834
|
+
* A class defining the outline of the focus area.
|
|
4835
|
+
*
|
|
4836
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreaOutline.html Read more...}
|
|
4837
|
+
*/
|
|
4838
|
+
constructor(properties?: FocusAreaOutlineProperties);
|
|
4839
|
+
/**
|
|
4840
|
+
* The color of the outline for the focus area.
|
|
4841
|
+
*
|
|
4842
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreaOutline.html#color Read more...}
|
|
4843
|
+
*/
|
|
4844
|
+
get color(): Color | nullish;
|
|
4845
|
+
set color(value: ColorProperties | nullish);
|
|
4846
|
+
/**
|
|
4847
|
+
* Creates a deep clone of this object.
|
|
4848
|
+
*
|
|
4849
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreaOutline.html#clone Read more...}
|
|
4850
|
+
*/
|
|
4851
|
+
clone(): this;
|
|
4852
|
+
/**
|
|
4853
|
+
* Converts an instance of this class to its [ArcGIS portal JSON](https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm) representation.
|
|
4854
|
+
*
|
|
4855
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreaOutline.html#toJSON Read more...}
|
|
4856
|
+
*/
|
|
4857
|
+
toJSON(): any;
|
|
4858
|
+
/**
|
|
4859
|
+
* Creates a new instance of this class and initializes it with values from a JSON object
|
|
4860
|
+
* generated from an ArcGIS product.
|
|
4861
|
+
*
|
|
4862
|
+
* @param json A JSON representation of the instance in the ArcGIS format. See the [ArcGIS REST API documentation](https://developers.arcgis.com/documentation/common-data-types/overview-of-common-data-types.htm) for examples of the structure of various input JSON objects.
|
|
4863
|
+
*
|
|
4864
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreaOutline.html#fromJSON Read more...}
|
|
4865
|
+
*/
|
|
4866
|
+
static fromJSON(json: any): any | nullish;
|
|
4867
|
+
static fromJSON(json: any): FocusAreaOutline;
|
|
4868
|
+
}
|
|
4869
|
+
|
|
4870
|
+
interface FocusAreaOutlineProperties {
|
|
4871
|
+
/**
|
|
4872
|
+
* The color of the outline for the focus area.
|
|
4873
|
+
*
|
|
4874
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreaOutline.html#color Read more...}
|
|
4875
|
+
*/
|
|
4876
|
+
color?: ColorProperties | nullish;
|
|
4877
|
+
}
|
|
4878
|
+
|
|
4879
|
+
export interface FocusAreas extends Accessor, JSONSupport, Clonable {
|
|
4880
|
+
}
|
|
4881
|
+
|
|
4882
|
+
export class FocusAreas {
|
|
4883
|
+
/**
|
|
4884
|
+
* The style of the focus area effect.
|
|
4885
|
+
*
|
|
4886
|
+
* @default "bright"
|
|
4887
|
+
*
|
|
4888
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html#style Read more...}
|
|
4889
|
+
*/
|
|
4890
|
+
style: "bright" | "dark";
|
|
4891
|
+
/**
|
|
4892
|
+
* A class representing a collection of focus areas.
|
|
4893
|
+
*
|
|
4894
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html Read more...}
|
|
4895
|
+
*/
|
|
4896
|
+
constructor(properties?: FocusAreasProperties);
|
|
4897
|
+
/**
|
|
4898
|
+
* A collection containing all focus areas.
|
|
4899
|
+
*
|
|
4900
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html#areas Read more...}
|
|
4901
|
+
*/
|
|
4902
|
+
get areas(): Collection<FocusArea>;
|
|
4903
|
+
set areas(value: CollectionProperties<FocusAreaProperties>);
|
|
4904
|
+
/**
|
|
4905
|
+
* Creates a deep clone of this object.
|
|
4906
|
+
*
|
|
4907
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html#clone Read more...}
|
|
4908
|
+
*/
|
|
4909
|
+
clone(): this;
|
|
4910
|
+
/**
|
|
4911
|
+
* Converts an instance of this class to its [ArcGIS portal JSON](https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm) representation.
|
|
4912
|
+
*
|
|
4913
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html#toJSON Read more...}
|
|
4914
|
+
*/
|
|
4915
|
+
toJSON(): any;
|
|
4916
|
+
/**
|
|
4917
|
+
* Creates a new instance of this class and initializes it with values from a JSON object
|
|
4918
|
+
* generated from an ArcGIS product.
|
|
4919
|
+
*
|
|
4920
|
+
* @param json A JSON representation of the instance in the ArcGIS format. See the [ArcGIS REST API documentation](https://developers.arcgis.com/documentation/common-data-types/overview-of-common-data-types.htm) for examples of the structure of various input JSON objects.
|
|
4921
|
+
*
|
|
4922
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html#fromJSON Read more...}
|
|
4923
|
+
*/
|
|
4924
|
+
static fromJSON(json: any): any | nullish;
|
|
4925
|
+
static fromJSON(json: any): FocusAreas;
|
|
4926
|
+
}
|
|
4927
|
+
|
|
4928
|
+
interface FocusAreasProperties {
|
|
4929
|
+
/**
|
|
4930
|
+
* A collection containing all focus areas.
|
|
4931
|
+
*
|
|
4932
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html#areas Read more...}
|
|
4933
|
+
*/
|
|
4934
|
+
areas?: CollectionProperties<FocusAreaProperties>;
|
|
4935
|
+
/**
|
|
4936
|
+
* The style of the focus area effect.
|
|
4937
|
+
*
|
|
4938
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html#style Read more...}
|
|
4939
|
+
*/
|
|
4940
|
+
style?: "bright" | "dark";
|
|
4941
|
+
}
|
|
4942
|
+
|
|
4725
4943
|
/**
|
|
4726
4944
|
* A convenience module for importing {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-Element.html Element} classes
|
|
4727
4945
|
* when developing with {@link https://developers.arcgis.com/javascript/latest/typescript-setup/ TypeScript}.
|
|
@@ -48314,6 +48532,12 @@ declare namespace __esri {
|
|
|
48314
48532
|
readonly editableLayers: Collection<
|
|
48315
48533
|
FeatureLayer | SceneLayer | SubtypeGroupLayer | GeoJSONLayer | OrientedImageryLayer
|
|
48316
48534
|
>;
|
|
48535
|
+
/**
|
|
48536
|
+
* Represents a collection of all {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusArea.html focus areas} present in the scene.
|
|
48537
|
+
*
|
|
48538
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#focusAreas Read more...}
|
|
48539
|
+
*/
|
|
48540
|
+
readonly focusAreas: FocusAreas;
|
|
48317
48541
|
/**
|
|
48318
48542
|
* The Map class contains properties and methods for storing, managing, and overlaying {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#layers layers}
|
|
48319
48543
|
* common to both 2D and 3D viewing.
|
|
@@ -48871,6 +49095,7 @@ declare namespace __esri {
|
|
|
48871
49095
|
| "loops"
|
|
48872
49096
|
| "isolation"
|
|
48873
49097
|
| "path"
|
|
49098
|
+
| "circuit"
|
|
48874
49099
|
| nullish;
|
|
48875
49100
|
constructor(properties?: any);
|
|
48876
49101
|
}
|
|
@@ -65013,6 +65238,7 @@ declare namespace __esri {
|
|
|
65013
65238
|
| "loops"
|
|
65014
65239
|
| "isolation"
|
|
65015
65240
|
| "path"
|
|
65241
|
+
| "circuit"
|
|
65016
65242
|
| nullish;
|
|
65017
65243
|
/**
|
|
65018
65244
|
* The list of parameters that are needed to determine how the trace analytic will be executed.
|
|
@@ -65116,6 +65342,7 @@ declare namespace __esri {
|
|
|
65116
65342
|
| "loops"
|
|
65117
65343
|
| "isolation"
|
|
65118
65344
|
| "path"
|
|
65345
|
+
| "circuit"
|
|
65119
65346
|
| nullish;
|
|
65120
65347
|
}
|
|
65121
65348
|
|
|
@@ -65125,7 +65352,7 @@ declare namespace __esri {
|
|
|
65125
65352
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-networks-support-TraceParameters.html#ResultTypeJSON Read more...}
|
|
65126
65353
|
*/
|
|
65127
65354
|
export interface ResultTypeJSON {
|
|
65128
|
-
type: "elements" | "aggregatedGeometry" | "paths";
|
|
65355
|
+
type: "elements" | "aggregatedGeometry" | "paths" | "circuits";
|
|
65129
65356
|
includeGeometry: boolean;
|
|
65130
65357
|
includePropagatedValues: boolean;
|
|
65131
65358
|
networkAttributeNames: string[];
|
|
@@ -110544,6 +110771,7 @@ declare namespace __esri {
|
|
|
110544
110771
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Directions.html#VisibleElements Read more...}
|
|
110545
110772
|
*/
|
|
110546
110773
|
export interface DirectionsVisibleElements {
|
|
110774
|
+
editRouteButton?: boolean;
|
|
110547
110775
|
layerDetails?: boolean;
|
|
110548
110776
|
saveAsButton?: boolean;
|
|
110549
110777
|
saveButton?: boolean;
|
|
@@ -125585,7 +125813,7 @@ declare namespace __esri {
|
|
|
125585
125813
|
/**
|
|
125586
125814
|
* The printed export.
|
|
125587
125815
|
*
|
|
125588
|
-
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-
|
|
125816
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Print-PrintViewModel.html#PrintExport Read more...}
|
|
125589
125817
|
*/
|
|
125590
125818
|
export interface PrintExport {
|
|
125591
125819
|
link: FileLink;
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import has from"../../../core/has.js";import i from"../../../core/Logger.js";import s from"../../../core/PooledArray.js";import r from"../../../core/Promise.js";import{isAbortError as a}from"../../../core/promiseUtils.js";import{watch as d,initial as o,sync as n}from"../../../core/reactiveUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/RandomLCG.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import{projectBoundingRect as u}from"../../../geometry/projection/projectBoundingRect.js";import{create as _}from"../../../geometry/support/aaBoundingRect.js";import{PromiseQueue as c}from"../../support/PromiseQueue.js";import{viewingModeFromString as p}from"../../../views/ViewingMode.js";import{I3SClientNodeLoader as g}from"../../../views/3d/layers/i3s/I3SClientNodeLoader.js";import{addCallback as m}from"../../../views/3d/layers/i3s/I3SFrameTask.js";import{I3SIndex as y}from"../../../views/3d/layers/i3s/I3SIndex.js";import f from"../../../views/3d/layers/i3s/I3SLodHandling.js";import{NodeState as x,CacheState as N}from"../../../views/3d/layers/i3s/I3SNode.js";import b from"../../../views/3d/layers/i3s/I3SNodeLoader.js";import{I3SStreamDataController as w}from"../../../views/3d/layers/i3s/I3SStreamDataController.js";import{getVertexCrs as v,getIndexCrs as C,findIntersectingNodes as L}from"../../../views/3d/layers/i3s/I3SUtil.js";import D from"../../../views/3d/layers/i3s/I3SViewportQueries.js";import{FadeDirection as V}from"../../../views/3d/layers/support/I3SLayerView.js";import{toBoundingRect as I}from"../../../views/3d/support/extentUtils.js";import{ClientType as A,maxDownloadSlots as S}from"../../../views/3d/support/index.js";import{minQuality as M}from"../../../views/3d/support/MemoryController.js";import{noBudget as F}from"../../../views/support/Scheduler.js";const O=100,P=2,U=1e4,q=1e-4,G=1.2,Q=500,j=1.5;let T=class extends(r.EsriPromiseMixin(t)){get isMeshPyramid(){return"mesh-pyramids"===this.layer.profile||"MeshPyramid"===this.layer.store?.lodType}get isGraphics3D(){return"points"===this.layer.profile}get useMaximumNumberOfFeatures(){return!this.isMeshPyramid&&(null==this.layer.priority||"High"===this.layer.priority)}get indexStreamController(){const e=this.layerView.view.resourceController.createStreamDataRequester(A.I3S_INDEX);return new w(e,this.layer.customParameters,this.layer.apiKey)}get dataStreamController(){const e=this.layerView.view.resourceController.createStreamDataRequester(A.I3S_DATA);return new w(e,this.layer.customParameters,this.layer.apiKey)}get crsVertex(){return v(this.layer)}get crsIndex(){return C(this.layer)}get layer(){return this.layerView.i3slayer}get running(){return this.updating}get rootNodeVisible(){if(this._index){const e=this._index.rootNode;if(e)return this._updateViewData(),this._index.isNodeVisible(e.index)}return!0}get index(){return this._index}get requiredAttributes(){return this._requiredAttributes}constructor(e){super(e),this.featureTarget=5e4,this.fixedFeatureTarget=!1,this.updating=!0,this.updatingProgress=1,this.leavesReached=!1,this.worker=null,this._featureLOD=1,this._stableFeatureLOD=!1,this._isIdle=!1,this._cameraDirty=!0,this._invisibleDirty=!1,this._idleStateCallbacks=null,this._newLoadingNodes=new s({deallocator:null}),this._modificationsNodeFilteringArray=new s,this._downloadingCount=0,this._loadingNodes=new Map,this._updatingNodes=new Map,this._progressMaxNumNodes=1,this._requiredAttributes=new Array,this._requiredAttributesDirty=!0,this._updatesDisabled=!1,this.disableIDBCache=!1,this._disableMemCache=!1,this._restartNodeLoading=!1,this._fields=null,this._attributeStorageInfo=null,this._idleQueue=new c,this._elevationUpdateNodes=new s({deallocator:null}),this._errorCount=0}initialize(){const{layerView:e,layer:t}=this;this._disableMemCache=!e.loadCachedGPUData||!e.addCachedGPUData,this._lodHandling=new f(e),this._defaultGeometrySchema=t.store.defaultGeometrySchema,this.disableIDBCache=!!has("disable-feature:idb-cache"),"fields"in t&&(this._fields=t.fields,this._attributeStorageInfo=t.attributeStorageInfo),this.addResolvingPromise(Promise.all([t.indexInfo,t.when(),e.when()]).then((([s])=>{if(this.destroyed||!e||e.destroyed||!s)return;const{view:r,clientGeometry:a}=e,{resourceController:l}=r;if(this._setClippingArea(r.clippingArea),this.addHandles([d((()=>r?.pointsOfInterest?.focus?.renderLocation),(e=>this._pointOfInterestChanged(e)),o),d((()=>r.quality),(()=>this._setCameraDirty()),n),d((()=>e.contentVisible),(e=>{const t=e?()=>this._updateIdleState(!0):()=>this._updateViewData(),i=e?()=>this._updateIdleState(!1):()=>{};e&&null!=this._index&&this._index.invalidateAllElevationRanges(),this._idleStateCallbacks?(e||this.cancelNodeLoading(),this.restartNodeLoading(),this._idleStateCallbacks.idleBegin=t,this._idleStateCallbacks.idleEnd=i):this._idleStateCallbacks=l.scheduler.registerIdleStateCallbacks(t,i)}),o),m(e.view.resourceController.scheduler,this),d((()=>[this.featureTarget,this.fixedFeatureTarget]),(()=>{this._setCameraDirty(),this._stableFeatureLOD=!1})),d((()=>r.state?.contentCamera),(()=>this._setCameraDirty())),d((()=>t.elevationInfo),(e=>this._elevationInfoChanged(e))),d((()=>e.lodFactor),(()=>this._setCameraDirty())),d((()=>e.availableFields),(()=>this._requiredFieldsChange())),d((()=>e.holeFilling),(e=>null!=this._index&&(this._index.holeFilling=e)))]),this._viewportQueries=new D(this.crsIndex,r.renderCoordsHelper,r.state.contentCamera,!r.state.fixedContentCamera||this.isGraphics3D,this._clippingArea,this.isMeshPyramid?r.basemapTerrain:r.elevationProvider,p(r.viewingMode),this.layer.elevationInfo,{progressiveLoadFactor:this._getProgressiveLoadFactor(),screenspaceErrorBias:this._lod,angleDependentLoD:this._lod<.5}),this._clientNodeLoader=new g(this.layer.uid,{indexSR:this.crsIndex,vertexSR:this.crsVertex,renderSR:r.renderCoordsHelper.spatialReference},r.resourceController.memoryController,this.worker),this._index=new y(p(r.viewingMode),t,s,this.indexStreamController,this._clientNodeLoader,this._viewportQueries,i.getLogger(this),e.holeFilling,(t=>e.isNodeLoaded(t)),(t=>e.isNodeReloading(t)),(e=>this._shouldLoadNode(e)),(e=>this._enableFromGPUCache(e,x.Leaf)),(e=>this._needsUpdate(e)),(()=>!this.indexStreamController.busy),(t=>e.computeVisibilityObb?.(t)??null),e?.computeNodeFiltering?t=>e.computeNodeFiltering(t):void 0),this._index.updateElevationInfo(this.layer.elevationInfo,this.isMeshPyramid||this.isGraphics3D),this._index.imModificationsChanged(!!e.hasModifications),this._index.layerFilterChanged(!!e.hasGeometryFilter),null!=a){for(const e of a)this._addMesh(e.mesh,e.oid);this.addHandles(a.on("change",(e=>{for(const t of e.removed)this._removeMesh(t.oid);for(const t of e.added)this._addMesh(t.mesh,t.oid)})))}this._startNodeLoading()})))}updateNodeModificationStatus(e){const t=this._index,i=this.layerView;null!=t&&i?.updateNodeModificationStatus&&(this._modificationsNodeFilteringArray.clear(),e.forAll((e=>{const i=t.getNode(e);null!=i&&this._modificationsNodeFilteringArray.push(i)})),i.updateNodeModificationStatus(this._modificationsNodeFilteringArray),this._invisibleDirty=!0)}destroy(){this.cancelNodeLoading(),this._idleStateCallbacks&&(this._isIdle=!1,this._idleStateCallbacks.remove(),this._idleStateCallbacks=null),this._nodeLoader=null,k.prune()}get viewportQueries(){return this._viewportQueries}_getRequiredAttributes(){if(null==this._attributeStorageInfo||!this._fields||!this.layerView.availableFields)return[];const e=this._attributeStorageInfo,t=this._fields,i=this.layer.objectIdField;return this.layerView.availableFields.map((i=>{const s=R(e,i),r=R(t,i);return s>=0&&r>=0?{index:s,name:t[r].name,field:t[r],attributeStorageInfo:e[s]}:null})).filter((e=>null!=e&&e.name!==i))}_requiredFieldsChange(){const e=this._getRequiredAttributes();E(this._requiredAttributes,e)||(this._requiredAttributes=e,this._requiredAttributesDirty=!1,this.restartNodeLoading())}requestUpdate(){this._requiredAttributesDirty=!0,this.restartNodeLoading()}_setClippingArea(e){const t=_();I(e,t,this.layerView.view.renderSpatialReference)?this._clippingArea=t:this._clippingArea=null}_pointOfInterestChanged(e){null!=this._viewportQueries&&(this._viewportQueries.setPointOfInterest(e),null!=this._index&&(this._index.progressiveLoadPenalty=H.distancePenalty*this._viewportQueries.distCameraToPOI(),this._index.requestUpdate()))}updateClippingArea(e){this._setClippingArea(e),null!=this._viewportQueries&&null!=this._index&&(this._viewportQueries.updateClippingArea(this._clippingArea),this._index.invalidateVisibilityCache()),this._setCameraDirty()}_setCameraDirty(){this._cameraDirty=!0,this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating()}_addMesh(e,t){if(null==this._index)return;const i=this._clientNodeLoader.createMeshNodeInfo(e,t),s=this._index.addClientNodeToIndex(i.id,i.mbs);this._clientNodeLoader.addMeshNode(s,i),this._evaluateUpdating(),this.notifyChange("rootNodeVisible")}_removeMesh(e){const t=this._clientNodeLoader.getMeshNodeIndex(e);if(null!=t){if(null==this._index)throw new Error("delayed removal of client side i3s node geometry not supported yet.");{const e=(e,t)=>{this.layerView.removeNode(t),this._clientNodeLoader.removeNode(e),this.layerView.deleteCachedNodeData&&null!=e&&this.layerView.deleteCachedNodeData(e),this.layerView.deleteCachedGPUData?.(this.layerView.loadCachedGPUData?.(t))},i=(e,t,i)=>{this._clientNodeLoader.updateNodeIndex(e,t,i),this.layerView.updateNodeIndex&&this.layerView.updateNodeIndex(t,i)};this._index.removeClientNodeFromIndex(t,e,i),this.notifyChange("rootNodeVisible")}}}updateElevationChanged(e,t){const i=this._index;if(null==i?.rootNode||null==t)return null;this.crsIndex.equals(t)||(u(e,t,B,this.crsIndex),e=B);const s=this._elevationUpdateNodes;return s.clear(),L(e,i.rootNode,i,(e=>s.push(e.index))),s.length&&(s.forAll((e=>i.updateElevationChanged(e))),this._setCameraDirty()),s}removeAllGeometryObbs(){null!=this._index&&this._index.removeAllGeometryObbs()}getRenderMbs(e){return null!=this._viewportQueries?this._viewportQueries.getServiceMbsInRenderSR(e):null}_elevationInfoChanged(e){null!=this._index&&(this._index.updateElevationInfo(e,this.isMeshPyramid||this.isGraphics3D),this._setCameraDirty())}restartNodeLoading(){this._restartNodeLoading=!0,this.cancelNodeLoading(),this._evaluateUpdating()}schedule(e,t){return this._idleQueue.push(e,t)}reschedule(e,t){return this._idleQueue.unshift(e,t)}get _isIntegratedMesh(){return"integrated-mesh"===this.layer.type}get unloadedMemoryEstimate(){return null!=this._index&&this.layerView.contentVisible?this._index.unloadedMemoryEstimate*this._lodDropFactor:0}async _loadNodeData(e,t){return e.index<0?this._clientNodeLoader.loadNodeData(e.id,t):this._nodeLoader.loadNodeData(e,t)}async _loadAttributes(e,t,i){return(e.index<0?this._clientNodeLoader:this._nodeLoader).loadAttributes(e,t,i)}get indexDepth(){return null!=this._index?this._index.maxLevel:0}set disableMemCache(e){this.layerView.loadCachedGPUData&&this.layerView.addCachedGPUData?this._disableMemCache=e:this._disableMemCache=!0}runTask(e,t){return this.layerView.contentVisible?this.layerView.visible&&null!=this._index?(this._processWithErrorLogging(e,t),this._index.maxPriority):-1/0:(this._updateViewData(),this._evaluateUpdating(),-1/0)}_processWithErrorLogging(e,t){try{this._process(e,t)}catch(s){this._errorCount<50?i.getLogger(this).error(`Error during processing: ${s} at ${s.stack}`):50===this._errorCount&&i.getLogger(this).error("Too many errors for this layer. Further errors will not be displayed."),this._errorCount++}}_process(e,t){this._restartNodeLoading&&this._startNodeLoading(),null!=this._nodeLoader&&null!=this._index&&(this._updateViewData(),this._invisibleDirty&&this._removeInvisibleNodes(e)&&(this._invisibleDirty=!1),this._isIntegratedMesh&&(e.enabled=!1),e.run((()=>this._processIndex(e))),this._updateFeatureLOD(),e.run((()=>this._processCache(e))),this._isIntegratedMesh&&(e.enabled=!0),e.run((()=>this._processNodes(e,t))),this._idleQueue.runTask(e),e.run((()=>this._prefetchIndex())),t.numIndexLoading+=this._index.indexLoading,t.numNodesLoading+=this._downloadingCount,e.run((()=>this._lodHandling.lodGlobalHandling(e))),this._evaluateUpdating())}_processIndex(e){if(null==this._index)return!1;if(this._index.dirty){this._newLoadingNodes.clear(),this._index.update(Array.from(this._loadingNodes.keys()),e,(e=>this.updateNodeModificationStatus(e))),this._disableMemCache||(this._newLoadingNodes.pushArray(this._index.updates.add.data,this._index.updates.add.length),this._newLoadingNodes.pushArray(this._index.updates.missing.data,this._index.updates.missing.length));const t=this._index.featureEstimate.leavesReached;this._index.isLoading||t===this._get("leavesReached")||this._set("leavesReached",t)}return this._index.load()}_prefetchIndex(){return!(null==this._index||this._loadingNodes.size>0||this._index.updates.add.length>0)&&this._index.prefetch()}_updateFeatureLOD(){if(!this.useMaximumNumberOfFeatures||null==this._index||null==this._viewportQueries)return;const e=!this._index.isLoading,t=this.featureTarget*this._baseLOD,i=this._index.featureEstimate;if(i.estimate=i.estimate||t/2,this._index.indexMissing>Q){if(this._featureLOD<=q)return;this._featureLOD/=j,this._stableFeatureLOD=!1}else if(e&&i.estimate<t){if(i.leavesReached||this._featureLOD>=U||this._stableFeatureLOD)return;const e=Math.min(10,Math.max(t/i.estimate,1.001));this._featureLOD*=e;const s=this._lod,r=this._index.checkFeatureTarget(t,s);r!==s&&(this._featureLOD=r/this._baseLOD,this._stableFeatureLOD=!0)}else{if(!(i.estimate>t*G||e&&i.estimate>t))return;if(this._featureLOD<=q)return;this._featureLOD/=1+.25*(i.estimate/t-1),this._stableFeatureLOD=!1}this._featureLOD=Math.min(U,Math.max(q,this._featureLOD)),this._viewportQueries.updateScreenSpaceErrorBias(this._lod),this._index.requestUpdate()}_processCache(e){const t=this._index;if(null==t)return!1;for(;this._newLoadingNodes.length>0&&!e.done;){const i=this._newLoadingNodes.pop();for(let s=t.getParent(i);null!=s&&!this.layerView.isNodeLoaded(s.index);s=t.getParent(s.index))if(this._enableFromGPUCache(s,x.Hole)){e.madeProgress();break}}return e.hasProgressed}_processNodes(e,t){if(null==this._index)return!1;let i=(this._isIdle?O:P)-this._loadingNodes.size;const s=this._index.updates;for(s.cancel.forEach(this._cancelNode,this),s.cancel=[];s.remove.length>0&&!e.done;)this.layerView.removeNode(s.remove.pop()),e.madeProgress();for(;s.update.length>0&&!e.done;){const t=this._index.getNode(s.update.pop());null!=t&&(this._updateLoadedNode(t),e.madeProgress())}for(;s.add.length>0&&!e.done&&i>0;){--i;const r=this._index.getNode(s.add.back());if(null==r||r.cacheState!==N.Cached&&!this._hasNodeLoadToken(t))break;s.add.pop(),this._loadNode(r),e.madeProgress()}return e.hasProgressed}_cancelAllNodes(){this._loadingNodes.forEach((e=>e.abort())),this._loadingNodes.clear(),this._updatingNodes.forEach((e=>e.abort())),this._updatingNodes.clear()}_cancelNode(e){const t=this._loadingNodes.get(e);t&&(t.abort(),this._loadingNodes.delete(e))}_hasNodeLoadToken(e){return!(!this._isIdle&&e.numNodesLoading+this._loadingNodes.size>=P)&&(this._downloadingCount<S&&!this.dataStreamController.busy)}_evaluateUpdating(){let e=!1,t=0;if(this.layerView){if(this.layerView.contentVisible){const i=(this._index?.indexMissing??0)+3*(this._index?.updates.add.length??0)+2*this._loadingNodes.size;e=!!(i>0||this._updatingNodes.size>0||this._restartNodeLoading||this._cameraDirty||this._idleQueue.running||this._lodHandling&&this._lodHandling.requiresLODGlobalHandling||null!=this._index&&this._index.isPrefetching),0===i&&(this._progressMaxNumNodes=1),this._progressMaxNumNodes=Math.max(i,this._progressMaxNumNodes),t=1-i/this._progressMaxNumNodes}else e=this._cameraDirty,t=e?0:1;this.updating=e,this.updatingProgress=t}}_updateViewData(){if(!this._cameraDirty||null==this._index||null==this._viewportQueries)return;const e=this.layerView.view,{contentCamera:t,fixedContentCamera:i}=e.state;this._viewportQueries.updateCamera(t,!i||this.isGraphics3D),this._viewportQueries.setPointOfInterest(e.pointsOfInterest.focus.renderLocation),this._viewportQueries.updateScreenSpaceErrorBias(this._lod),this._index.invalidateVisibilityCache(),this._index.progressiveLoadPenalty=H.distancePenalty*this._viewportQueries.distCameraToPOI(),this._index.requestUpdate(),this._stableFeatureLOD=!1,this._invisibleDirty=!0,this._cameraDirty=!1,this.notifyChange("rootNodeVisible")}_getProgressiveLoadFactor(){return this.layerView.view.quality<1?1:this.layerView.progressiveLoadFactor}get _lod(){return this._featureLOD*this._baseLOD}get _baseLOD(){const e=this.layerView.lodFactor;return this.fixedFeatureTarget?1:(e>0?e:1)*this.layerView.view.quality}get _lodDropFactor(){if(this.fixedFeatureTarget)return 1;return(Math.min(this.layerView.view.quality,.5)-M)/(.5-M)}isGeometryVisible(e){return!!this._index?.isGeometryVisible(e.index)}updateVisibility(e){this._index?.invalidateNodeVisibilityCache(e)}invalidateGeometryVisibility(e){this._index?.invalidateGeometryVisibility(e)}invalidateVisibilityObbs(){this._index?.invalidateVisibilityObbs()}modificationsChanged(){this._index?.imModificationsChanged(!!this.layerView.hasModifications),this._invisibleDirty=!0}_shouldLoadNode(e){return!(!this._lodHandling.shouldLoadNode(e)||this._shouldDropNode(e))&&!(null==this._index||!this._index.isGeometryVisible(e.index))}_shouldDropNode(e){if(null==this._viewportQueries)return!1;const t=this._lodDropFactor;if(t>=1||!this._lodHandling.hasNoVisibleChildren(e))return!1;return Math.abs(this._viewportQueries.calcCameraDistanceToCenter(e))-this._viewportQueries.minDistance>(this._viewportQueries.maxDistance-this._viewportQueries.minDistance)*t}_startNodeLoading(){this._restartNodeLoading=!1;const e=this._index;if(this._updatesDisabled||null==e||null==this._viewportQueries)return;this._updateViewData(),this._requiredAttributesDirty&&(this._requiredAttributes=this._getRequiredAttributes(),this._requiredAttributesDirty=!1);const t={textureEncodings:this.layerView.supportedTextureEncodings,textureUsageMask:this.layerView.rendererTextureUsage,loadFeatureData:this.useMaximumNumberOfFeatures};this._nodeLoader=new b(this.layer,this.dataStreamController,i.getLogger(this),this._defaultGeometrySchema,this._requiredAttributes,t),e.requestUpdate(),this._lodHandling.startNodeLoading(((e,t)=>this._removeNodes(e,t,z.fadeout)),e,{maxLodLevel:this._viewportQueries.maxLodLevel}),this._evaluateUpdating()}isNodeLoading(){return null!=this._nodeLoader&&null!=this._index}cancelNodeLoading(){this.isNodeLoading()&&(this.indexStreamController.cancelAll(),this.dataStreamController.cancelAll(),this._idleQueue.cancelAll(),this._cancelAllNodes(),this._nodeLoader=null,this._evaluateUpdating())}_removeInvisibleNodes(e){const t=this._index;if(null==t||null==this._viewportQueries)return!1;k.clear(),this.layerView.getLoadedNodeIndices(k);const i=0===this._viewportQueries.maxDistance,s=i?()=>!1:e=>this._shouldDropNode(e);return k.filterInPlace((e=>{const i=t.getNode(e);return null==i||!t.isGeometryVisible(e)||s(i)})),k.length>0&&this._lodHandling.setLodGlobalDirty(),this._removeNodes(k,e,z.pop),!(i&&this._lodDropFactor<1)&&(0===k.length||(k.clear(),!1))}markNodeToRemove(e){k.push(e)}removeMarkedNodes(){this._removeNodes(k,F,z.pop)}_removeNodes(e,t,i){if(0!==e.length&&!t.done)for(null!=this._index&&this._index.requestUpdate();e.length>0&&!t.done;){const s=e.pop(),r=this._index;i===z.fadeout&&this.layerView.nodeFadeoutEnabled&&null!=r&&r.isGeometryVisible(s)?this.layerView.fadeNode(s,V.FadeOut,!0):this.layerView.removeNode(s),t.madeProgress()}}_needsUpdate(e){if(e.resources.isEmpty||this._updatingNodes.has(e.index))return!1;const t=this.layerView.getLoadedAttributes(e.index);return null!=t&&t!==this._requiredAttributes}async _updateLoadedNode(e){const t=new AbortController;this._updatingNodes.set(e.index,t),this._evaluateUpdating();try{const i=this.layerView.getLoadedAttributes(e.index),s=E(i,this._requiredAttributes)?this.layerView.getAttributeData(e.index):await this._loadAttributes(e,this._requiredAttributes,t.signal);await this.schedule((()=>this.layerView.updateAttributes(e.index,{loadedAttributes:this._requiredAttributes,attributeData:s},t.signal)),t.signal)}catch(i){if(!a(i))return this.layerView.updateAttributes(e.index,{loadedAttributes:this._requiredAttributes,attributeData:{}},t.signal)}this._updatingNodes.delete(e.index),this._evaluateUpdating()}_loadNode(e){if(this._loadingNodes.has(e.index))return void i.getLogger(this).error("already loading node "+e.index);const t=new AbortController;this._loadingNodes.set(e.index,t),this._evaluateUpdating(),this._loadAndAddNode(e,t.signal).then((i=>{i&&null!=this._index&&this._loadingNodes.get(e.index)===t&&(this._loadingNodes.delete(e.index),this._index.requestUpdate())})).catch((e=>{if(!a(e))throw e})).finally((()=>{this._loadingNodes.get(e.index)===t&&this._loadingNodes.delete(e.index),this._evaluateUpdating()}))}_loadAndAddNode(e,t){return e.cacheState===N.Uncached?this._loadUncached(e,t).then((()=>!1)):this._loadCached(e,t).then((t=>!t&&(e.cacheState=N.Uncached,!0))).catch((t=>!a(t)&&(e.cacheState=N.Uncached,!0)))}_enableFromGPUCache(e,t){if(this._disableMemCache||null==this._index)return!1;if(t===x.Hole&&!this._index.useNodeAsHole(e.index))return!0;const i=this._loadCachedGPUData(e);return!!i&&(this.layerView.addCachedGPUData(e,i,t),this._nodeAdded(),!0)}_loadCachedGPUData(e){const t=this.layerView.loadCachedGPUData(e.index);return null!=t?.attributeInfo&&E(t.attributeInfo.loadedAttributes,this._requiredAttributes)?t:(this.layerView.deleteCachedGPUData(t),null)}_nodeAdded(){null!=this._index&&this._index.requestUpdate(),this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating()}updateLoadStatus(e,t){const i=this._index;null!=i&&i.updateChildrenLoaded(e,t?1:-1)}async _loadCached(e,t){if(this._enableFromGPUCache(e,x.Leaf))return!0;const i=this.layerView;if(this.disableIDBCache||!i.loadCachedNodeData||!i.addCachedNodeData)return!1;const s=(t,i)=>this._nodeLoader.loadTextures(e,t,i),r=(t,i)=>this._clientNodeLoader.loadTextures(e,t,i),a=e.index>=0?s:r,d=await this.schedule((()=>i.loadCachedNodeData(e,t,a)),t);if(null==d)return!1;const o=this._requiredAttributes,n=await this.reschedule((()=>this._loadAttributes(e,o,t)),t);return await this.reschedule((()=>i.addCachedNodeData(e,d,{loadedAttributes:o,attributeData:n},t)),t),this._nodeAdded(),!0}_loadUncached(e,t){return this._downloadingCount++,this._loadNodeData(e,t).catch((e=>{throw this._downloadingCount--,e})).then((i=>(this._downloadingCount--,this.schedule((()=>this.layerView.addNode(e,i,t)),t)))).then((()=>{this._nodeAdded(),e.cacheState=N.Cached})).catch((t=>{if(!a(t))throw i.getLogger(this).error("#loadNodeData()",this.layer,`Failed to load node '${e.id}'`,t),e.failed=!0,null!=this._index&&this._index.requestUpdate(),t}))}_updateIdleState(e){e!==this._isIdle&&(this._isIdle=e,this._evaluateUpdating(),e&&this._index&&null!=this._index&&this._index.resetFailedNodes())}get test(){}notifyLODUpdate(){this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating(),null!=this._index&&this._index.requestUpdate()}geometryFilterChanged(e){const t=this._index;null!=t&&t.layerFilterChanged(e),this._setCameraDirty()}};e([l({readOnly:!0})],T.prototype,"isMeshPyramid",null),e([l({readOnly:!0})],T.prototype,"isGraphics3D",null),e([l({readOnly:!0})],T.prototype,"useMaximumNumberOfFeatures",null),e([l({readOnly:!0})],T.prototype,"indexStreamController",null),e([l({readOnly:!0})],T.prototype,"dataStreamController",null),e([l({readOnly:!0})],T.prototype,"crsVertex",null),e([l({readOnly:!0})],T.prototype,"crsIndex",null),e([l()],T.prototype,"featureTarget",void 0),e([l()],T.prototype,"fixedFeatureTarget",void 0),e([l()],T.prototype,"layerView",void 0),e([l()],T.prototype,"layer",null),e([l()],T.prototype,"updating",void 0),e([l({readOnly:!0})],T.prototype,"running",null),e([l()],T.prototype,"updatingProgress",void 0),e([l({readOnly:!0})],T.prototype,"leavesReached",void 0),e([l({constructOnly:!0})],T.prototype,"worker",void 0),e([l({readOnly:!0,dependsOn:[]})],T.prototype,"rootNodeVisible",null),T=e([h("esri.layers.graphics.controllers.I3SOnDemandController")],T);const k=new s({deallocator:null});function E(e,t){return null!=e&&e.length===t.length&&e.every((e=>R(t,e.name)>=0))}function R(e,t){const i=t.toLowerCase();for(let s=0;s<e.length;s++)if(e[s].name.toLowerCase()===i)return s;return-1}const H={distancePenalty:10},B=_();var z;!function(e){e[e.pop=0]="pop",e[e.fadeout=1]="fadeout"}(z||(z={}));export{T as default};
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import has from"../../../core/has.js";import i from"../../../core/Logger.js";import s from"../../../core/PooledArray.js";import r from"../../../core/Promise.js";import{isAbortError as a}from"../../../core/promiseUtils.js";import{watch as d,initial as o,sync as n}from"../../../core/reactiveUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/RandomLCG.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import{projectBoundingRect as u}from"../../../geometry/projection/projectBoundingRect.js";import{create as _}from"../../../geometry/support/aaBoundingRect.js";import{PromiseQueue as c}from"../../support/PromiseQueue.js";import{viewingModeFromString as p}from"../../../views/ViewingMode.js";import{I3SClientNodeLoader as g}from"../../../views/3d/layers/i3s/I3SClientNodeLoader.js";import{addCallback as m}from"../../../views/3d/layers/i3s/I3SFrameTask.js";import{I3SIndex as y}from"../../../views/3d/layers/i3s/I3SIndex.js";import f from"../../../views/3d/layers/i3s/I3SLodHandling.js";import{NodeState as x,CacheState as N}from"../../../views/3d/layers/i3s/I3SNode.js";import b from"../../../views/3d/layers/i3s/I3SNodeLoader.js";import{I3SStreamDataController as w}from"../../../views/3d/layers/i3s/I3SStreamDataController.js";import{getVertexCrs as v,getIndexCrs as C,findIntersectingNodes as L}from"../../../views/3d/layers/i3s/I3SUtil.js";import D from"../../../views/3d/layers/i3s/I3SViewportQueries.js";import{FadeDirection as V}from"../../../views/3d/layers/support/I3SLayerView.js";import{toBoundingRect as I}from"../../../views/3d/support/extentUtils.js";import{ClientType as A,maxDownloadSlots as S}from"../../../views/3d/support/index.js";import{minQuality as M}from"../../../views/3d/support/MemoryController.js";import{noBudget as F}from"../../../views/support/Scheduler.js";const O=100,P=2,U=1e4,q=1e-4,G=1.2,Q=500,j=1.5;let T=class extends(r.EsriPromiseMixin(t)){get isMeshPyramid(){return"mesh-pyramids"===this.layer.profile||"MeshPyramid"===this.layer.store?.lodType}get isGraphics3D(){return"points"===this.layer.profile}get useMaximumNumberOfFeatures(){return!this.isMeshPyramid&&(null==this.layer.priority||"High"===this.layer.priority)}get indexStreamController(){const e=this.layerView.view.resourceController.createStreamDataRequester(A.I3S_INDEX);return new w(e,this.layer.customParameters,this.layer.apiKey)}get dataStreamController(){const e=this.layerView.view.resourceController.createStreamDataRequester(A.I3S_DATA);return new w(e,this.layer.customParameters,this.layer.apiKey)}get crsVertex(){return v(this.layer)}get crsIndex(){return C(this.layer)}get layer(){return this.layerView.i3slayer}get running(){return this.updating}get rootNodeVisible(){if(this._index){const e=this._index.rootNode;if(e)return this._updateViewData(),this._index.isNodeVisible(e.index)}return!0}get index(){return this._index}get requiredAttributes(){return this._requiredAttributes}constructor(e){super(e),this.featureTarget=5e4,this.fixedFeatureTarget=!1,this.updating=!0,this.updatingProgress=1,this.leavesReached=!1,this.worker=null,this._featureLOD=1,this._stableFeatureLOD=!1,this._isIdle=!1,this._cameraDirty=!0,this._invisibleDirty=!1,this._idleStateCallbacks=null,this._newLoadingNodes=new s({deallocator:null}),this._modificationsNodeFilteringArray=new s,this._downloadingCount=0,this._loadingNodes=new Map,this._updatingNodes=new Map,this._progressMaxNumNodes=1,this._requiredAttributes=new Array,this._requiredAttributesDirty=!0,this._updatesDisabled=!1,this.disableIDBCache=!1,this._disableMemCache=!1,this._restartNodeLoading=!1,this._fields=null,this._attributeStorageInfo=null,this._idleQueue=new c,this._elevationUpdateNodes=new s({deallocator:null}),this._errorCount=0}initialize(){const{layerView:e,layer:t}=this;this._disableMemCache=!e.loadCachedGPUData||!e.addCachedGPUData,this._lodHandling=new f(e),this._defaultGeometrySchema=t.store.defaultGeometrySchema,this.disableIDBCache=!!has("disable-feature:idb-cache"),"fields"in t&&(this._fields=t.fields,this._attributeStorageInfo=t.attributeStorageInfo),this.addResolvingPromise(Promise.all([t.indexInfo,t.when(),e.when()]).then((([s])=>{if(this.destroyed||!e||e.destroyed||!s)return;const{view:r,clientGeometry:a}=e,{resourceController:l}=r;if(this._setClippingArea(r.clippingArea),this.addHandles([d((()=>r?.pointsOfInterest?.focus?.renderLocation),(e=>this._pointOfInterestChanged(e)),o),d((()=>r.quality),(()=>this._setCameraDirty()),n),d((()=>e.contentVisible),(e=>{const t=e?()=>this._updateIdleState(!0):()=>this._updateViewData(),i=e?()=>this._updateIdleState(!1):()=>{};e&&null!=this._index&&this._index.invalidateAllElevationRanges(),this._idleStateCallbacks?(e||this.cancelNodeLoading(),this.restartNodeLoading(),this._idleStateCallbacks.idleBegin=t,this._idleStateCallbacks.idleEnd=i):this._idleStateCallbacks=l.scheduler.registerIdleStateCallbacks(t,i)}),o),m(e.view.resourceController.scheduler,this),d((()=>[this.featureTarget,this.fixedFeatureTarget]),(()=>{this._setCameraDirty(),this._stableFeatureLOD=!1})),d((()=>r.state?.contentCamera),(()=>this._setCameraDirty())),d((()=>t.elevationInfo),(e=>this._elevationInfoChanged(e))),d((()=>e.lodFactor),(()=>this._setCameraDirty())),d((()=>e.availableFields),(()=>this._requiredFieldsChange())),d((()=>e.holeFilling),(e=>null!=this._index&&(this._index.holeFilling=e)))]),this._viewportQueries=new D(this.crsIndex,r.renderCoordsHelper,r.state.contentCamera,!r.state.fixedContentCamera||this.isGraphics3D,this._clippingArea,this.isMeshPyramid?r.basemapTerrain:r.elevationProvider,p(r.viewingMode),this.layer.elevationInfo,{progressiveLoadFactor:this._getProgressiveLoadFactor(),screenspaceErrorBias:this._lod,angleDependentLoD:this._lod<.5}),this._clientNodeLoader=new g(this.layer.uid,{indexSR:this.crsIndex,vertexSR:this.crsVertex,renderSR:r.renderCoordsHelper.spatialReference},r.resourceController.memoryController,this.worker),this._index=new y(p(r.viewingMode),t,s,this.indexStreamController,this._clientNodeLoader,this._viewportQueries,i.getLogger(this),e.holeFilling,(t=>e.isNodeLoaded(t)),(t=>e.isNodeReloading(t)),(e=>this._shouldLoadNode(e)),(e=>this._enableFromGPUCache(e,x.Leaf)),(e=>this._needsUpdate(e)),(()=>!this.indexStreamController.busy),(t=>e.computeVisibilityObb?.(t)??null),e?.computeNodeFiltering?t=>e.computeNodeFiltering(t):void 0),this._index.updateElevationInfo(this.layer.elevationInfo,this.isMeshPyramid||this.isGraphics3D),this._index.imModificationsChanged(!!e.hasModifications),this._index.layerFilterChanged(!!e.hasGeometryFilter),null!=a){for(const e of a)this._addMesh(e.mesh,e.oid);this.addHandles(a.on("change",(e=>{for(const t of e.removed)this._removeMesh(t.oid);for(const t of e.added)this._addMesh(t.mesh,t.oid)})))}this._startNodeLoading()})))}updateNodeModificationStatus(e){const t=this._index,i=this.layerView;null!=t&&i?.updateNodeModificationStatus&&(this._modificationsNodeFilteringArray.clear(),e.forAll((e=>{const i=t.getNode(e);null!=i&&this._modificationsNodeFilteringArray.push(i)})),i.updateNodeModificationStatus(this._modificationsNodeFilteringArray),this._invisibleDirty=!0)}destroy(){this.cancelNodeLoading(),this._idleStateCallbacks&&(this._isIdle=!1,this._idleStateCallbacks.remove(),this._idleStateCallbacks=null),this._nodeLoader=null,k.prune()}get viewportQueries(){return this._viewportQueries}_getRequiredAttributes(){if(null==this._attributeStorageInfo||!this._fields||!this.layerView.availableFields)return[];const e=this._attributeStorageInfo,t=this._fields,i=this.layer.objectIdField;return this.layerView.availableFields.map((i=>{const s=R(e,i),r=R(t,i);return s>=0&&r>=0?{index:s,name:t[r].name,field:t[r],attributeStorageInfo:e[s]}:null})).filter((e=>null!=e&&e.name!==i))}_requiredFieldsChange(){const e=this._getRequiredAttributes();E(this._requiredAttributes,e)||(this._requiredAttributes=e,this._requiredAttributesDirty=!1,this.restartNodeLoading())}requestUpdate(){this._requiredAttributesDirty=!0,this.restartNodeLoading()}_setClippingArea(e){const t=_();I(e,t,this.layerView.view.renderSpatialReference)?this._clippingArea=t:this._clippingArea=null}_pointOfInterestChanged(e){null!=this._viewportQueries&&(this._viewportQueries.setPointOfInterest(e),null!=this._index&&(this._index.progressiveLoadPenalty=H.distancePenalty*this._viewportQueries.distCameraToPOI(),this._index.requestUpdate()))}updateClippingArea(e){this._setClippingArea(e),null!=this._viewportQueries&&null!=this._index&&(this._viewportQueries.updateClippingArea(this._clippingArea),this._index.invalidateVisibilityCache()),this._setCameraDirty()}_setCameraDirty(){this._cameraDirty=!0,this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating()}_addMesh(e,t){if(null==this._index)return;const i=this._clientNodeLoader.createMeshNodeInfo(e,t),s=this._index.addClientNodeToIndex(i.id,i.mbs);this._clientNodeLoader.addMeshNode(s,i),this._evaluateUpdating(),this.notifyChange("rootNodeVisible")}_removeMesh(e){const t=this._clientNodeLoader.getMeshNodeIndex(e);if(null!=t){if(null==this._index)throw new Error("delayed removal of client side i3s node geometry not supported yet.");{const e=(e,t)=>{this.layerView.removeNode(t),this._clientNodeLoader.removeNode(e),this.layerView.deleteCachedNodeData&&null!=e&&this.layerView.deleteCachedNodeData(e),this.layerView.deleteCachedGPUData?.(this.layerView.loadCachedGPUData?.(t))},i=(e,t,i)=>{this._clientNodeLoader.updateNodeIndex(e,t,i),this.layerView.updateNodeIndex&&this.layerView.updateNodeIndex(t,i)};this._index.removeClientNodeFromIndex(t,e,i),this.notifyChange("rootNodeVisible")}}}updateElevationChanged(e,t){const i=this._index;if(null==i?.rootNode||null==t)return null;this.crsIndex.equals(t)||(u(e,t,B,this.crsIndex),e=B);const s=this._elevationUpdateNodes;return s.clear(),L(e,i.rootNode,i,(e=>s.push(e.index))),s.length&&(s.forAll((e=>i.updateElevationChanged(e))),this._setCameraDirty()),s}removeAllGeometryObbs(){null!=this._index&&this._index.removeAllGeometryObbs()}getRenderMbs(e){return null!=this._viewportQueries?this._viewportQueries.getServiceMbsInRenderSR(e):null}_elevationInfoChanged(e){null!=this._index&&(this._index.updateElevationInfo(e,this.isMeshPyramid||this.isGraphics3D),this._setCameraDirty())}restartNodeLoading(){this._restartNodeLoading=!0,this.cancelNodeLoading(),this._evaluateUpdating()}schedule(e,t){return this._idleQueue.push(e,t)}reschedule(e,t){return this._idleQueue.unshift(e,t)}get _isIntegratedMesh(){return"integrated-mesh"===this.layer.type}get unloadedMemoryEstimate(){return null!=this._index&&this.layerView.contentVisible?this._index.unloadedMemoryEstimate*this._lodDropFactor:0}async _loadNodeData(e,t){return e.index<0?this._clientNodeLoader.loadNodeData(e.id,t):this._nodeLoader.loadNodeData(e,t)}async _loadAttributes(e,t,i){return(e.index<0?this._clientNodeLoader:this._nodeLoader).loadAttributes(e,t,i)}get indexDepth(){return null!=this._index?this._index.maxLevel:0}set disableMemCache(e){this.layerView.loadCachedGPUData&&this.layerView.addCachedGPUData?this._disableMemCache=e:this._disableMemCache=!0}runTask(e,t){return this.layerView.contentVisible?this.layerView.visible&&null!=this._index?(this._processWithErrorLogging(e,t),this._index.maxPriority):-1/0:(this._updateViewData(),this._evaluateUpdating(),-1/0)}_processWithErrorLogging(e,t){try{this._process(e,t)}catch(s){this._errorCount<50?i.getLogger(this).error(`Error during processing: ${s} at ${s.stack}`):50===this._errorCount&&i.getLogger(this).error("Too many errors for this layer. Further errors will not be displayed."),this._errorCount++}}_process(e,t){this._restartNodeLoading&&this._startNodeLoading(),null!=this._nodeLoader&&null!=this._index&&(this._updateViewData(),this._invisibleDirty&&this._removeInvisibleNodes(e)&&(this._invisibleDirty=!1),this._isIntegratedMesh&&(e.enabled=!1),e.run((()=>this._processIndex(e))),this._updateFeatureLOD(),e.run((()=>this._processCache(e))),this._isIntegratedMesh&&(e.enabled=!0),e.run((()=>this._processNodes(e,t))),this._idleQueue.runTask(e),e.run((()=>this._prefetchIndex())),t.numIndexLoading+=this._index.indexLoading,t.numNodesLoading+=this._downloadingCount,e.run((()=>this._lodHandling.lodGlobalHandling(e))),this._evaluateUpdating())}_processIndex(e){if(null==this._index)return!1;if(this._index.dirty){this._newLoadingNodes.clear(),this._index.update(Array.from(this._loadingNodes.keys()),e,(e=>this.updateNodeModificationStatus(e))),this._disableMemCache||(this._newLoadingNodes.pushArray(this._index.updates.add.data,this._index.updates.add.length),this._newLoadingNodes.pushArray(this._index.updates.missing.data,this._index.updates.missing.length));const t=this._index.featureEstimate.leavesReached;this._index.isLoading||t===this._get("leavesReached")||this._set("leavesReached",t)}return this._index.load()}_prefetchIndex(){return!(null==this._index||this._loadingNodes.size>0||this._index.updates.add.length>0)&&this._index.prefetch()}_updateFeatureLOD(){if(!this.useMaximumNumberOfFeatures||null==this._index||null==this._viewportQueries)return;const e=!this._index.isLoading,t=this.featureTarget*this._baseLOD,i=this._index.featureEstimate;if(i.estimate=i.estimate||t/2,this._index.indexMissing>Q){if(this._featureLOD<=q)return;this._featureLOD/=j,this._stableFeatureLOD=!1}else if(e&&i.estimate<t){if(i.leavesReached||this._featureLOD>=U||this._stableFeatureLOD)return;const e=Math.min(10,Math.max(t/i.estimate,1.001));this._featureLOD*=e;const s=this._lod,r=this._index.checkFeatureTarget(t,s);r!==s&&(this._featureLOD=r/this._baseLOD,this._stableFeatureLOD=!0)}else{if(!(i.estimate>t*G||e&&i.estimate>t))return;if(this._featureLOD<=q)return;this._featureLOD/=1+.25*(i.estimate/t-1),this._stableFeatureLOD=!1}this._featureLOD=Math.min(U,Math.max(q,this._featureLOD)),this._viewportQueries.updateScreenSpaceErrorBias(this._lod),this._index.requestUpdate()}_processCache(e){const t=this._index;if(null==t)return!1;for(;this._newLoadingNodes.length>0&&!e.done;){const i=this._newLoadingNodes.pop();for(let s=t.getParent(i);null!=s&&!this.layerView.isNodeLoaded(s.index);s=t.getParent(s.index))if(this._enableFromGPUCache(s,x.Hole)){e.madeProgress();break}}return e.hasProgressed}_processNodes(e,t){if(null==this._index)return!1;let i=(this._isIdle?O:P)-this._loadingNodes.size;const s=this._index.updates;for(s.cancel.forEach(this._cancelNode,this),s.cancel=[];s.remove.length>0&&!e.done;)this.layerView.removeNode(s.remove.pop()),e.madeProgress();for(;s.update.length>0&&!e.done;){const t=this._index.getNode(s.update.pop());null!=t&&(this._updateLoadedNode(t),e.madeProgress())}for(;s.add.length>0&&!e.done&&i>0;){--i;const r=this._index.getNode(s.add.back());if(null==r||r.cacheState!==N.Cached&&!this._hasNodeLoadToken(t))break;s.add.pop(),this._loadNode(r),e.madeProgress()}return e.hasProgressed}_cancelAllNodes(){this._loadingNodes.forEach((e=>e.abort())),this._loadingNodes.clear(),this._updatingNodes.forEach((e=>e.abort())),this._updatingNodes.clear()}_cancelNode(e){const t=this._loadingNodes.get(e);t&&(t.abort(),this._loadingNodes.delete(e))}_hasNodeLoadToken(e){return!(!this._isIdle&&e.numNodesLoading+this._loadingNodes.size>=P)&&(this._downloadingCount<S&&!this.dataStreamController.busy)}_evaluateUpdating(){let e=!1,t=0;if(this.layerView){if(this.layerView.contentVisible){const i=(this._index?.indexMissing??0)+3*(this._index?.updates.add.length??0)+2*this._loadingNodes.size;e=!!(i>0||this._updatingNodes.size>0||this._restartNodeLoading||this._cameraDirty||this._idleQueue.updating||this._lodHandling&&this._lodHandling.requiresLODGlobalHandling||null!=this._index&&this._index.isPrefetching),0===i&&(this._progressMaxNumNodes=1),this._progressMaxNumNodes=Math.max(i,this._progressMaxNumNodes),t=1-i/this._progressMaxNumNodes}else e=this._cameraDirty,t=e?0:1;this.updating=e,this.updatingProgress=t}}_updateViewData(){if(!this._cameraDirty||null==this._index||null==this._viewportQueries)return;const e=this.layerView.view,{contentCamera:t,fixedContentCamera:i}=e.state;this._viewportQueries.updateCamera(t,!i||this.isGraphics3D),this._viewportQueries.setPointOfInterest(e.pointsOfInterest.focus.renderLocation),this._viewportQueries.updateScreenSpaceErrorBias(this._lod),this._index.invalidateVisibilityCache(),this._index.progressiveLoadPenalty=H.distancePenalty*this._viewportQueries.distCameraToPOI(),this._index.requestUpdate(),this._stableFeatureLOD=!1,this._invisibleDirty=!0,this._cameraDirty=!1,this.notifyChange("rootNodeVisible")}_getProgressiveLoadFactor(){return this.layerView.view.quality<1?1:this.layerView.progressiveLoadFactor}get _lod(){return this._featureLOD*this._baseLOD}get _baseLOD(){const e=this.layerView.lodFactor;return this.fixedFeatureTarget?1:(e>0?e:1)*this.layerView.view.quality}get _lodDropFactor(){if(this.fixedFeatureTarget)return 1;return(Math.min(this.layerView.view.quality,.5)-M)/(.5-M)}isGeometryVisible(e){return!!this._index?.isGeometryVisible(e.index)}updateVisibility(e){this._index?.invalidateNodeVisibilityCache(e)}invalidateGeometryVisibility(e){this._index?.invalidateGeometryVisibility(e)}invalidateVisibilityObbs(){this._index?.invalidateVisibilityObbs()}modificationsChanged(){this._index?.imModificationsChanged(!!this.layerView.hasModifications),this._invisibleDirty=!0}_shouldLoadNode(e){return!(!this._lodHandling.shouldLoadNode(e)||this._shouldDropNode(e))&&!(null==this._index||!this._index.isGeometryVisible(e.index))}_shouldDropNode(e){if(null==this._viewportQueries)return!1;const t=this._lodDropFactor;if(t>=1||!this._lodHandling.hasNoVisibleChildren(e))return!1;return Math.abs(this._viewportQueries.calcCameraDistanceToCenter(e))-this._viewportQueries.minDistance>(this._viewportQueries.maxDistance-this._viewportQueries.minDistance)*t}_startNodeLoading(){this._restartNodeLoading=!1;const e=this._index;if(this._updatesDisabled||null==e||null==this._viewportQueries)return;this._updateViewData(),this._requiredAttributesDirty&&(this._requiredAttributes=this._getRequiredAttributes(),this._requiredAttributesDirty=!1);const t={textureEncodings:this.layerView.supportedTextureEncodings,textureUsageMask:this.layerView.rendererTextureUsage,loadFeatureData:this.useMaximumNumberOfFeatures};this._nodeLoader=new b(this.layer,this.dataStreamController,i.getLogger(this),this._defaultGeometrySchema,this._requiredAttributes,t),e.requestUpdate(),this._lodHandling.startNodeLoading(((e,t)=>this._removeNodes(e,t,z.fadeout)),e,{maxLodLevel:this._viewportQueries.maxLodLevel}),this._evaluateUpdating()}isNodeLoading(){return null!=this._nodeLoader&&null!=this._index}cancelNodeLoading(){this.isNodeLoading()&&(this.indexStreamController.cancelAll(),this.dataStreamController.cancelAll(),this._idleQueue.cancelAll(),this._cancelAllNodes(),this._nodeLoader=null,this._evaluateUpdating())}_removeInvisibleNodes(e){const t=this._index;if(null==t||null==this._viewportQueries)return!1;k.clear(),this.layerView.getLoadedNodeIndices(k);const i=0===this._viewportQueries.maxDistance,s=i?()=>!1:e=>this._shouldDropNode(e);return k.filterInPlace((e=>{const i=t.getNode(e);return null==i||!t.isGeometryVisible(e)||s(i)})),k.length>0&&this._lodHandling.setLodGlobalDirty(),this._removeNodes(k,e,z.pop),!(i&&this._lodDropFactor<1)&&(0===k.length||(k.clear(),!1))}markNodeToRemove(e){k.push(e)}removeMarkedNodes(){this._removeNodes(k,F,z.pop)}_removeNodes(e,t,i){if(0!==e.length&&!t.done)for(null!=this._index&&this._index.requestUpdate();e.length>0&&!t.done;){const s=e.pop(),r=this._index;i===z.fadeout&&this.layerView.nodeFadeoutEnabled&&null!=r&&r.isGeometryVisible(s)?this.layerView.fadeNode(s,V.FadeOut,!0):this.layerView.removeNode(s),t.madeProgress()}}_needsUpdate(e){if(e.resources.isEmpty||this._updatingNodes.has(e.index))return!1;const t=this.layerView.getLoadedAttributes(e.index);return null!=t&&t!==this._requiredAttributes}async _updateLoadedNode(e){const t=new AbortController;this._updatingNodes.set(e.index,t),this._evaluateUpdating();try{const i=this.layerView.getLoadedAttributes(e.index),s=E(i,this._requiredAttributes)?this.layerView.getAttributeData(e.index):await this._loadAttributes(e,this._requiredAttributes,t.signal);await this.schedule((()=>this.layerView.updateAttributes(e.index,{loadedAttributes:this._requiredAttributes,attributeData:s},t.signal)),t.signal)}catch(i){if(!a(i))return this.layerView.updateAttributes(e.index,{loadedAttributes:this._requiredAttributes,attributeData:{}},t.signal)}this._updatingNodes.delete(e.index),this._evaluateUpdating()}_loadNode(e){if(this._loadingNodes.has(e.index))return void i.getLogger(this).error("already loading node "+e.index);const t=new AbortController;this._loadingNodes.set(e.index,t),this._evaluateUpdating(),this._loadAndAddNode(e,t.signal).then((i=>{i&&null!=this._index&&this._loadingNodes.get(e.index)===t&&(this._loadingNodes.delete(e.index),this._index.requestUpdate())})).catch((e=>{if(!a(e))throw e})).finally((()=>{this._loadingNodes.get(e.index)===t&&this._loadingNodes.delete(e.index),this._evaluateUpdating()}))}_loadAndAddNode(e,t){return e.cacheState===N.Uncached?this._loadUncached(e,t).then((()=>!1)):this._loadCached(e,t).then((t=>!t&&(e.cacheState=N.Uncached,!0))).catch((t=>!a(t)&&(e.cacheState=N.Uncached,!0)))}_enableFromGPUCache(e,t){if(this._disableMemCache||null==this._index)return!1;if(t===x.Hole&&!this._index.useNodeAsHole(e.index))return!0;const i=this._loadCachedGPUData(e);return!!i&&(this.layerView.addCachedGPUData(e,i,t),this._nodeAdded(),!0)}_loadCachedGPUData(e){const t=this.layerView.loadCachedGPUData(e.index);return null!=t?.attributeInfo&&E(t.attributeInfo.loadedAttributes,this._requiredAttributes)?t:(this.layerView.deleteCachedGPUData(t),null)}_nodeAdded(){null!=this._index&&this._index.requestUpdate(),this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating()}updateLoadStatus(e,t){const i=this._index;null!=i&&i.updateChildrenLoaded(e,t?1:-1)}async _loadCached(e,t){if(this._enableFromGPUCache(e,x.Leaf))return!0;const i=this.layerView;if(this.disableIDBCache||!i.loadCachedNodeData||!i.addCachedNodeData)return!1;const s=(t,i)=>this._nodeLoader.loadTextures(e,t,i),r=(t,i)=>this._clientNodeLoader.loadTextures(e,t,i),a=e.index>=0?s:r,d=await this.schedule((()=>i.loadCachedNodeData(e,t,a)),t);if(null==d)return!1;const o=this._requiredAttributes,n=await this.reschedule((()=>this._loadAttributes(e,o,t)),t);return await this.reschedule((()=>i.addCachedNodeData(e,d,{loadedAttributes:o,attributeData:n},t)),t),this._nodeAdded(),!0}_loadUncached(e,t){return this._downloadingCount++,this._loadNodeData(e,t).catch((e=>{throw this._downloadingCount--,e})).then((i=>(this._downloadingCount--,this.schedule((()=>this.layerView.addNode(e,i,t)),t)))).then((()=>{this._nodeAdded(),e.cacheState=N.Cached})).catch((t=>{if(!a(t))throw i.getLogger(this).error("#loadNodeData()",this.layer,`Failed to load node '${e.id}'`,t),e.failed=!0,null!=this._index&&this._index.requestUpdate(),t}))}_updateIdleState(e){e!==this._isIdle&&(this._isIdle=e,this._evaluateUpdating(),e&&this._index&&null!=this._index&&this._index.resetFailedNodes())}get test(){}notifyLODUpdate(){this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating(),null!=this._index&&this._index.requestUpdate()}geometryFilterChanged(e){const t=this._index;null!=t&&t.layerFilterChanged(e),this._setCameraDirty()}};e([l({readOnly:!0})],T.prototype,"isMeshPyramid",null),e([l({readOnly:!0})],T.prototype,"isGraphics3D",null),e([l({readOnly:!0})],T.prototype,"useMaximumNumberOfFeatures",null),e([l({readOnly:!0})],T.prototype,"indexStreamController",null),e([l({readOnly:!0})],T.prototype,"dataStreamController",null),e([l({readOnly:!0})],T.prototype,"crsVertex",null),e([l({readOnly:!0})],T.prototype,"crsIndex",null),e([l()],T.prototype,"featureTarget",void 0),e([l()],T.prototype,"fixedFeatureTarget",void 0),e([l()],T.prototype,"layerView",void 0),e([l()],T.prototype,"layer",null),e([l()],T.prototype,"updating",void 0),e([l({readOnly:!0})],T.prototype,"running",null),e([l()],T.prototype,"updatingProgress",void 0),e([l({readOnly:!0})],T.prototype,"leavesReached",void 0),e([l({constructOnly:!0})],T.prototype,"worker",void 0),e([l({readOnly:!0,dependsOn:[]})],T.prototype,"rootNodeVisible",null),T=e([h("esri.layers.graphics.controllers.I3SOnDemandController")],T);const k=new s({deallocator:null});function E(e,t){return null!=e&&e.length===t.length&&e.every((e=>R(t,e.name)>=0))}function R(e,t){const i=t.toLowerCase();for(let s=0;s<e.length;s++)if(e[s].name.toLowerCase()===i)return s;return-1}const H={distancePenalty:10},B=_();var z;!function(e){e[e.pop=0]="pop",e[e.fadeout=1]="fadeout"}(z||(z={}));export{T as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isAborted as s,createAbortError as t,isPromiseLike as
|
|
5
|
+
import{isAborted as s,createAbortError as t,isPromiseLike as n}from"../../core/promiseUtils.js";import{signal as e}from"../../core/signal.js";import{Yield as i}from"../../views/support/Yield.js";class r{constructor(){this._tasks=new Array,this._numPendingTasks=e(0),this._running=e(!1)}get length(){return this._tasks.length}get updating(){return this._numPendingTasks.value>0}get running(){return this._running.value}_updateRunning(){this._running.value=this._tasks.length>0}destroy(){this.cancelAll()}runTask(s){if(0===this.length)return i;for(;!s.done&&this._process(s);)s.madeProgress()}push(s,t,n){return new Promise(((e,i)=>{this._tasks.push(new a(e,i,s,t,n)),++this._numPendingTasks.value,this._updateRunning()})).finally((()=>--this._numPendingTasks.value))}unshift(s,t,n){return new Promise(((e,i)=>{this._tasks.unshift(new a(e,i,s,t,n)),++this._numPendingTasks.value,this._updateRunning()})).finally((()=>--this._numPendingTasks.value))}_process(e){if(0===this._tasks.length)return!1;const i=this._tasks.shift();this._updateRunning();try{const r=s(i.signal);if(r&&!i.abortCallback)i.reject(t());else{const s=r?i.abortCallback?.(t()):i.callback(e);n(s)?s.then(i.resolve,i.reject):i.resolve(s)}}catch(r){i.reject(r)}return!0}cancelAll(){const s=t();for(const t of this._tasks)if(t.abortCallback){const n=t.abortCallback(s);t.resolve(n)}else t.reject(s);this._tasks.length=0,this._updateRunning()}}class a{constructor(s,t,n,e=void 0,i=void 0){this.resolve=s,this.reject=t,this.callback=n,this.signal=e,this.abortCallback=i}}export{r as PromiseQueue};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../chunks/tslib.es6.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import r from"./TraceConfiguration.js";let i=class extends r{constructor(t){super(t),this.filterBarriers=[],this.arcadeExpressionBarrier=null,this.domainNetworkName=null,this.filterBitsetNetworkAttributeName=null,this.filterFunctionBarriers=[],this.filterScope=null,this.includeContainers=null,this.includeContent=null,this.includeIsolated=null,this.includeStructures=null,this.allowIndeterminateFlow=null,this.includeUpToFirstSpatialContainer=null,this.inferConnectivity=null,this.maxHops=null,this.nearestNeighbor=null,this.numPaths=null,this.outputFilterCategories=[],this.outputFilters=[],this.propagators=[],this.subnetworkName=null,this.targetTierName=null,this.diagramTemplateName=null,this.tierName=null,this.validateLocatability=null}};t([e({type:[Object],json:{write:!0}})],i.prototype,"filterBarriers",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"arcadeExpressionBarrier",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"domainNetworkName",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"filterBitsetNetworkAttributeName",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,"filterFunctionBarriers",void 0),t([e({type:["junctions","edges","junctionsAndEdges"],json:{write:!0}})],i.prototype,"filterScope",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeContainers",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeContent",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeIsolated",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeStructures",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"allowIndeterminateFlow",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeUpToFirstSpatialContainer",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"inferConnectivity",void 0),t([e({type:Number,json:{write:!0}})],i.prototype,"maxHops",void 0),t([e({type:Object,json:{write:!0}})],i.prototype,"nearestNeighbor",void 0),t([e({type:Number,json:{write:!0}})],i.prototype,"numPaths",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,"outputFilterCategories",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,"outputFilters",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,"propagators",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"subnetworkName",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"targetTierName",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"diagramTemplateName",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"tierName",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"validateLocatability",void 0),i=t([o("esri.networks.support.UNTraceConfiguration")],i);const n=i;export{n as default};
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import r from"./TraceConfiguration.js";let i=class extends r{constructor(t){super(t),this.filterBarriers=[],this.arcadeExpressionBarrier=null,this.circuitName=null,this.domainNetworkName=null,this.filterBitsetNetworkAttributeName=null,this.filterFunctionBarriers=[],this.filterScope=null,this.includeContainers=null,this.includeContent=null,this.includeIsolated=null,this.includeStructures=null,this.allowIndeterminateFlow=null,this.includeUpToFirstSpatialContainer=null,this.inferConnectivity=null,this.maxHops=null,this.nearestNeighbor=null,this.numPaths=null,this.outputFilterCategories=[],this.outputFilters=[],this.propagators=[],this.subnetworkName=null,this.targetTierName=null,this.diagramTemplateName=null,this.tierName=null,this.validateLocatability=null}};t([e({type:[Object],json:{write:!0}})],i.prototype,"filterBarriers",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"arcadeExpressionBarrier",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"circuitName",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"domainNetworkName",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"filterBitsetNetworkAttributeName",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,"filterFunctionBarriers",void 0),t([e({type:["junctions","edges","junctionsAndEdges"],json:{write:!0}})],i.prototype,"filterScope",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeContainers",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeContent",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeIsolated",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeStructures",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"allowIndeterminateFlow",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"includeUpToFirstSpatialContainer",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"inferConnectivity",void 0),t([e({type:Number,json:{write:!0}})],i.prototype,"maxHops",void 0),t([e({type:Object,json:{write:!0}})],i.prototype,"nearestNeighbor",void 0),t([e({type:Number,json:{write:!0}})],i.prototype,"numPaths",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,"outputFilterCategories",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,"outputFilters",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,"propagators",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"subnetworkName",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"targetTierName",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"diagramTemplateName",void 0),t([e({type:String,json:{write:!0}})],i.prototype,"tierName",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,"validateLocatability",void 0),i=t([o("esri.networks.support.UNTraceConfiguration")],i);const n=i;export{n as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{JSONMap as n}from"../../core/jsonMap.js";var t;!function(n){n[n.RTJunctionJunctionConnectivity=1]="RTJunctionJunctionConnectivity",n[n.RTContainment=2]="RTContainment",n[n.RTAttachment=3]="RTAttachment",n[n.RTJunctionEdgeConnectivity=4]="RTJunctionEdgeConnectivity",n[n.RTEdgeJunctionEdgeConnectivity=5]="RTEdgeJunctionEdgeConnectivity"}(t||(t={}));const o=new n({connected:"connected",upstream:"upstream",downstream:"downstream",shortestPath:"shortest-path",subnetwork:"subnetwork",subnetworkController:"subnetwork-controller",loops:"loops",isolation:"isolation",path:"path"}),i=new n({junctionJunctionConnectivity:"junction-junction-connectivity",connectivity:"connectivity",attachment:"attachment",containment:"containment",junctionEdgeFromConnectivity:"junction-edge-from-connectivity",junctionEdgeMidspanConnectivity:"junction-edge-midspan-connectivity",junctionEdgeToConnectivity:"junction-edge-to-connectivity"}),e={connectivity:1,"junction-junction-connectivity":1,containment:2,attachment:3,"junction-edge-from-connectivity":4,"junction-edge-midspan-connectivity":5,"junction-edge-to-connectivity":6},c=new n({normal:"normal",rebuild:"rebuild",forceRebuild:"force-rebuild"});export{e as AssociationTypeEnum,t as RuleType,i as associationTypeKebabDict,o as traceTypeKebabDict,c as validationTypeKebabDict};
|
|
5
|
+
import{JSONMap as n}from"../../core/jsonMap.js";var t;!function(n){n[n.RTJunctionJunctionConnectivity=1]="RTJunctionJunctionConnectivity",n[n.RTContainment=2]="RTContainment",n[n.RTAttachment=3]="RTAttachment",n[n.RTJunctionEdgeConnectivity=4]="RTJunctionEdgeConnectivity",n[n.RTEdgeJunctionEdgeConnectivity=5]="RTEdgeJunctionEdgeConnectivity"}(t||(t={}));const o=new n({connected:"connected",upstream:"upstream",downstream:"downstream",shortestPath:"shortest-path",subnetwork:"subnetwork",subnetworkController:"subnetwork-controller",loops:"loops",isolation:"isolation",path:"path",circuit:"circuit"}),i=new n({junctionJunctionConnectivity:"junction-junction-connectivity",connectivity:"connectivity",attachment:"attachment",containment:"containment",junctionEdgeFromConnectivity:"junction-edge-from-connectivity",junctionEdgeMidspanConnectivity:"junction-edge-midspan-connectivity",junctionEdgeToConnectivity:"junction-edge-to-connectivity"}),e={connectivity:1,"junction-junction-connectivity":1,containment:2,attachment:3,"junction-edge-from-connectivity":4,"junction-edge-midspan-connectivity":5,"junction-edge-to-connectivity":6},c=new n({normal:"normal",rebuild:"rebuild",forceRebuild:"force-rebuild"});export{e as AssociationTypeEnum,t as RuleType,i as associationTypeKebabDict,o as traceTypeKebabDict,c as validationTypeKebabDict};
|
package/package.json
CHANGED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import o from"../../../core/JSONSupport.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{reader as e}from"../../../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import i from"../../../geometry/Polyline.js";import c from"./CircuitPath.js";let a=class extends o{constructor(t){super(t),this.circuit=null,this.geometry=null,this.path=null}readCircuit(t,o){const r=o.sections?.map((t=>({...t,path:c.fromJSON(t.path)})));return{name:o.name,globalId:o.globalId,isSectioned:o.isSectioned,sectionOrder:o.sectionOrder,startLocation:o.startLocation,stopLocation:o.stopLocation,sections:r,subcircuits:o.subcircuits,lastVerifiedTime:o.lastVerifiedTime?new Date(o.lastVerifiedTime):null,lastExportedTime:o.lastExportedTime?new Date(o.lastExportedTime):null,circuitType:o.circuitType,status:o.status}}};t([r({type:Object,json:{write:!0,read:{source:["name","globalId","isSectioned","sectionOrder","startLocation","stopLocation","sections","subcircuits","lastVerifiedTime","lastExportedTime","circuitType","status"]}}})],a.prototype,"circuit",void 0),t([e("circuit")],a.prototype,"readCircuit",null),t([r({type:i,json:{write:!0}})],a.prototype,"geometry",void 0),t([r({type:c,json:{write:!0}})],a.prototype,"path",void 0),a=t([s("esri.rest.networks.support.CircuitTraceResult")],a);const p=a;export{p as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/JSONSupport.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{reader as o}from"../../../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import{writer as n}from"../../../core/accessorSupport/decorators/writer.js";import
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/JSONSupport.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{reader as o}from"../../../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import{writer as n}from"../../../core/accessorSupport/decorators/writer.js";import i from"./AggregatedGeometry.js";import p from"./CircuitPath.js";import l from"./CircuitTraceResult.js";import a from"./FunctionResult.js";import m from"./NetworkElement.js";import u from"./TelecomNetworkElement.js";let c=class extends t{constructor(e){super(e),this.aggregatedGeometry=null,this.circuits=null,this.elements=null,this.globalFunctionResults=null,this.kFeaturesForKNNFound=!1,this.paths=null,this.startingPointsIgnored=!1,this.warnings=null}readNetworkElements(e,t){return null!=t.elements?t.elements.map((e=>"firstUnit"in e&&"numUnits"in e?new u({...e}):new m({...e}))):[]}writeNetworkElements(e,t){t.elements=e.map((e=>e.toJSON()))}};e([r({type:i,json:{write:!0},readOnly:!0})],c.prototype,"aggregatedGeometry",void 0),e([r({type:[l],json:{write:!0},readOnly:!0})],c.prototype,"circuits",void 0),e([r({type:[m],json:{write:!0},readOnly:!0})],c.prototype,"elements",void 0),e([o("elements")],c.prototype,"readNetworkElements",null),e([n("elements")],c.prototype,"writeNetworkElements",null),e([r({type:[a],json:{write:!0},readOnly:!0})],c.prototype,"globalFunctionResults",void 0),e([r({type:Boolean,json:{write:!0},readOnly:!0})],c.prototype,"kFeaturesForKNNFound",void 0),e([r({type:[p],json:{write:!0},readOnly:!0})],c.prototype,"paths",void 0),e([r({type:Boolean,json:{write:!0},readOnly:!0})],c.prototype,"startingPointsIgnored",void 0),e([r({type:[String],json:{write:!0},readOnly:!0})],c.prototype,"warnings",void 0),c=e([s("esri.rest.networks.support.TraceResult")],c);export{c as default};
|
package/support/revision.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const
|
|
5
|
+
const f="20250528",d="6a6620b5a8fff8dd3915356710145dfcf4112602";export{f as buildDate,d as commitHash};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import t from"../../core/Logger.js";import{animationDebugFlags as e}from"./animationDebugFlags.js";import{defaultCIMValues as
|
|
5
|
+
import t from"../../core/Logger.js";import{animationDebugFlags as e}from"./animationDebugFlags.js";import{defaultCIMValues as n}from"./defaultCIMValues.js";import{AnimatedSymbolEasingType as o,AnimatedSymbolRepeatType as r}from"./enums.js";import{getExtent as i}from"./SDFHelper.js";import{getProcessParam as a,hasProcessParam as s,getSize as l,getValue as m}from"./utils.js";import{TimeOrigin as c}from"../../views/2d/engine/webgl/animations/instructions.js";function f(t,e,n){return{transform:I(t,e,n.transform),fromColor:T(t,e,n.fromColor),toColor:k(t,e,n.toColor),colorMix:v(t,e,n.colorMix),toOpacity:x(t,e,n.toOpacity),opacityMix:D(t,e,n.opacityMix),shift:O(t,e,n.shift),hasAnimations:n.hasAnimations||p(e),hasShiftAnimation:n.hasShiftAnimation||u(e)}}function p(t){return!!t.animations&&t.animations.length>0}function u(t){return!!t.animations&&t.animations.some((t=>"CIMSymbolAnimationMoveAlongLine"===t.type))}function y(t){return!e.forceStaticPath&&(e.forceAnimatedPath||t.hasAnimations)}function d(e,n,o){if("CIMCharacterMarker"===n.type)return t.getLogger("animationUtils").error("#handleMarker()","CIM character markers do not support animations"),o;const r=a(e,n,"OffsetX"),i=a(e,n,"OffsetY");if("CIMPictureMarker"===n.type)return{...o,transform:{type:"AnimatedTransform",relativeTranslation:!1,absoluteScale:!0,translation:z([r,i]),rotation:z(0),scale:z(a(e,n,"Size")),parent:o.transform}};const s=n.frame,l=s.ymax-s.ymin;return{...o,transform:{type:"AnimatedTransform",relativeTranslation:!1,absoluteScale:!1,translation:z([r,i]),rotation:z(0),scale:z({type:"Process",op:"Divide",left:a(e,n,"Size"),right:l}),parent:o.transform}}}function S(t,e){let n=0,o=0;const r="Absolute"!==t.anchorPointUnits;return t.anchorPoint&&(n=-t.anchorPoint.x,o=-t.anchorPoint.y),{...e,transform:{type:"AnimatedTransform",relativeTranslation:r,absoluteScale:!1,translation:z([n,o]),rotation:z(0),scale:z(1),parent:e.transform}}}function M(t,e){return"Absolute"===t.anchorPointUnits?e:S(t,e)}function C(t,e){return"Absolute"!==t.anchorPointUnits?e:S(t,e)}function A(t,e,n){return{...t,transform:{type:"AnimatedTransform",relativeTranslation:!1,absoluteScale:!1,translation:z([e,n]),rotation:z(0),scale:z(1),parent:t.transform}}}function g(t,e){const n=e?.5*-(e.xmin+e.xmax):0,o=e?.5*-(e.ymin+e.ymax):0;let r=0,a=0;if("x"in t&&"y"in t)r=t.x+n,a=t.y+o;else{const e=i(t);if(e){r=(e[0]+e[2])/2+n,a=(e[1]+e[3])/2+o}}return[r,a]}function h(t,e){switch(e.type){case"CIMPictureMarker":case"CIMVectorMarker":return a(t,e,"Rotation")}return 0}function P(t,e){switch(e.type){case"CIMPictureMarker":case"CIMVectorMarker":return a(t,e,"RotateClockwise")}return 0}function b(t,e){switch(e.type){case"CIMPointSymbol":case"CIMVectorMarker":return[1,1,1,1];case"CIMSolidStroke":case"CIMSolidFill":return a(t,e,"Color");case"CIMPictureMarker":case"CIMPictureStroke":case"CIMPictureFill":return a(t,e,"TintColor")}return[1,1,1,1]}function I(t,e,n){return{type:"AnimatedTransform",relativeTranslation:!1,absoluteScale:!1,translation:w(t,e),rotation:j(t,e),scale:R(t,e),parent:n}}function T(t,e,n){return{type:"AnimatedColor",color:z(b(t,e)),opacity:z(1),parent:n}}function k(t,e,n){const{animations:o}=e;let r=b(t,e);const i=o?.filter((t=>"CIMSymbolAnimationColor"===t.type))[0];return i&&(r=a(t,i,"ToColor")),{type:"AnimatedColor",color:z(r),opacity:z(1),parent:n}}function v(t,e,n){const{animations:o}=e,r=o?.filter((t=>"CIMSymbolAnimationColor"===t.type))[0];return r?{type:"AnimatedColor",color:z([1,1,1,1]),opacity:{from:0,to:1,timing:L(t,r?.animatedSymbolProperties)},parent:[1,1,1,1]}:n}function x(t,e,n){const{animations:o}=e;let r=z(1);const i=o?.filter((t=>"CIMSymbolAnimationTransparency"===t.type))[0];if(i){r=z({type:"Process",op:"Transparency",value:a(t,i,"ToTransparency")})}return{type:"AnimatedColor",color:z([1,1,1,1]),opacity:r,parent:n}}function D(t,e,n){const{animations:o}=e,r=o?.filter((t=>"CIMSymbolAnimationTransparency"===t.type))[0];return r?{type:"AnimatedColor",color:z([1,1,1,1]),opacity:{from:0,to:1,timing:L(t,r?.animatedSymbolProperties)},parent:[1,1,1,1]}:n}function O(t,e,n){const{animations:o}=e,r=o?.filter((t=>"CIMSymbolAnimationMoveAlongLine"===t.type))[0];if(!r)return n;let i,l;const m=L(t,r.animatedSymbolProperties),c=s(t,r,"DistanceAlong"),f=s(t,r,"Speed"),p=c&&a(t,r,"DistanceAlong"),u=f&&a(t,r,"Speed"),y=!0===r.continuous;if(!1!==p)i={type:"Process",op:"Divide",left:p,right:100},l=!0;else if(!1!==u)i={type:"Process",op:"Multiply",left:u,right:m.duration},l=!1;else{if(!y)throw new Error("Either distanceAlong, speed or continuous must be specified.");i=1,l=!0}return{type:"AnimatedShift",multiplyByLineLength:l,shift:{from:0,to:i,timing:m},parent:n}}function L(t,e){if(!e)return{duration:1,startTimeOffset:0,repeatDelay:0,timeOriginSelector:c.Local,repeatType:r.Loop,easing:o.Linear,playAnimation:1,reverseAnimation:0};const i=a(t,e,"Duration");let s;if(a(t,e,"RandomizeStartTime")){s={type:"Process",op:"Random",min:0,max:i,seed:a(t,e,"RandomizeStartSeed")}}else s=a(t,e,"StartTimeOffset");const l=a(t,e,"RepeatDelay"),f=a(t,e,"PlayAnimation"),p=a(t,e,"ReverseAnimation"),u=m(e.repeatType,n.CIMAnimatedSymbolProperties.repeattype);return{duration:i,startTimeOffset:s,repeatDelay:l,timeOriginSelector:u===r.None?c.Local:c.Global,repeatType:u,easing:m(e.easing,n.CIMAnimatedSymbolProperties.easing),playAnimation:f,reverseAnimation:p}}function R(t,e){const{animations:n}=e;let o;o="CIMPictureMarker"===e.type||"CIMVectorMarker"===e.type?a(t,e,"Size"):"CIMSolidStroke"===e.type||"CIMPictureStroke"===e.type?a(t,e,"Width"):l(e)||10;const r=n?.filter((t=>"CIMSymbolAnimationScale"===t.type))[0];if(!r){const e=n?.filter((t=>"CIMSymbolAnimationSize"===t.type))[0];if(!e)return z(1);return{from:1,to:{type:"Process",op:"Divide",left:a(t,e,"ToSize"),right:o},timing:L(t,e.animatedSymbolProperties)}}return{from:1,to:a(t,r,"ScaleFactor"),timing:L(t,r.animatedSymbolProperties)}}function w(t,e){const{animations:n}=e,o=n?.filter((t=>"CIMSymbolAnimationOffset"===t.type))[0];if(!o)return z([0,0]);return{from:[0,0],to:[a(t,o,"OffsetX"),a(t,o,"OffsetY")],timing:L(t,o.animatedSymbolProperties)}}function j(t,e){const{animations:n}=e,o=P(t,e),r={type:"Process",op:"Divide",left:h(t,e),right:{type:"Process",op:"Cond",condition:o,ifTrue:-1,ifFalse:1}},i=n?.filter((t=>"CIMSymbolAnimationRotation"===t.type))[0];if(!i)return z(r);const s={type:"Process",op:"Add",left:a(t,i,"ToRotation"),right:{type:"Process",op:"Divide",left:r,right:-1}};return{from:r,to:{type:"Process",op:"Add",left:r,right:{type:"Process",op:"Cond",condition:a(t,i,"RotateClockwise"),ifTrue:{type:"Process",op:"MatchWinding",sign:-1,angle:s},ifFalse:{type:"Process",op:"MatchWinding",sign:1,angle:s}}},timing:L(t,i.animatedSymbolProperties)}}function z(t){return{from:t,to:t,timing:{duration:1,startTimeOffset:0,repeatDelay:0,timeOriginSelector:c.Local,repeatType:r.Loop,easing:o.Linear,playAnimation:1,reverseAnimation:0}}}function F(t){if(null==t)return!1;if("object"!=typeof t)return!1;if(t.animations&&Array.isArray(t.animations)&&t.animations.length>0)return!0;for(const e in t)if(F(t[e]))return!0;return!1}export{F as checkForAnimations,f as getAnimationParams,g as getFrameTranslation,z as getStaticParam,C as handleAbsoluteAnchor,S as handleAnchor,d as handleMarker,M as handleRelativeAnchor,y as shouldUseAnimatedPath,A as translate};
|