@arcgis/core 5.0.0-next.85 → 5.0.0-next.86
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/Basemap.d.ts +2 -2
- package/Camera.d.ts +3 -3
- package/CameraLayout.d.ts +2 -2
- package/Graphic.d.ts +3 -3
- package/Ground.d.ts +2 -2
- package/Map.d.ts +2 -2
- package/PopupTemplate.d.ts +3 -3
- package/Viewpoint.d.ts +2 -2
- package/WebDocument2D.d.ts +3 -3
- package/WebScene.d.ts +3 -3
- package/analysis/Analysis.d.ts +3 -3
- package/analysis/Dimension/types.d.ts +0 -1
- package/analysis/DimensionSimpleStyle.d.ts +3 -3
- package/analysis/ElevationProfile/ElevationProfileDisplayUnits.d.ts +2 -2
- package/analysis/ElevationProfile/ElevationProfileLine.d.ts +2 -2
- package/analysis/ElevationProfile/ElevationProfileLineChartOptions.d.ts +2 -2
- package/analysis/ElevationProfile/ElevationProfileLineViewOptions.d.ts +2 -2
- package/analysis/ElevationProfile/ElevationProfileViewOptions.d.ts +2 -2
- package/analysis/LengthDimension.d.ts +3 -3
- package/analysis/LineOfSightAnalysisObserver.d.ts +3 -3
- package/analysis/LineOfSightAnalysisTarget.d.ts +3 -3
- package/analysis/ShadowCast/DiscreteOptions.d.ts +2 -2
- package/analysis/ShadowCast/MinDurationOptions.d.ts +2 -2
- package/analysis/ShadowCast/TotalDurationOptions.d.ts +2 -2
- package/analysis/ShadowCast/types.d.ts +0 -1
- package/analysis/SlicePlane.d.ts +3 -3
- package/analysis/Viewshed.d.ts +3 -3
- package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.d.ts +3 -3
- package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.d.ts +3 -3
- package/analysis/VolumeMeasurement/VolumeMeasurementInputUnits.d.ts +3 -3
- package/analysis/VolumeMeasurement/types.d.ts +0 -1
- package/analysis/support/AnalysisOriginWebScene.d.ts +2 -2
- package/applications/Components/templateUtils.d.ts +30 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{9919b3c345785e910c38.js → 03d037f9f04f165aac63.js} +1 -1
- package/assets/esri/core/workers/chunks/09ca0d05b090e9a70e61.js +1 -0
- package/assets/esri/core/workers/chunks/{84a4390b1c277c415d44.js → 0c358199ada2ff71e7d9.js} +1 -1
- package/assets/esri/core/workers/chunks/{bbb409e54db77bfabdee.js → 0dcf1f3b6aa84cbe03a9.js} +1 -1
- package/assets/esri/core/workers/chunks/{59e7a0215791b2b51180.js → 126183819921e6025c90.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a41c9127ca5a260d5ef.js → 15132d36e7ccbb3c009e.js} +1 -1
- package/assets/esri/core/workers/chunks/1919ed99166e70021917.js +1 -0
- package/assets/esri/core/workers/chunks/{9fac9eda0a41f7f4c2c6.js → 198ae9e02366870d3ec8.js} +1 -1
- package/assets/esri/core/workers/chunks/{6de843d1809cba61ded3.js → 1aee859eaffa54ef2515.js} +1 -1
- package/assets/esri/core/workers/chunks/1c68befc39d39799fcb8.js +1 -0
- package/assets/esri/core/workers/chunks/{b190a776de4859ac00f8.js → 1cf27708d17a4de75b68.js} +1 -1
- package/assets/esri/core/workers/chunks/{f3fdf9970b3c7acd071d.js → 21163137e345badb1aaf.js} +1 -1
- package/assets/esri/core/workers/chunks/{055aead7135a2f8bca29.js → 32b09ca094377a305881.js} +1 -1
- package/assets/esri/core/workers/chunks/365cb8aab4ca56999b47.js +1 -0
- package/assets/esri/core/workers/chunks/{c825ca22894bdb4d01ba.js → 3b434f318fdbbe4111e3.js} +1 -1
- package/assets/esri/core/workers/chunks/{98e04c2382fa5ba382fc.js → 3dc1ae04cfa2c06daf48.js} +1 -1
- package/assets/esri/core/workers/chunks/{c46a4681cbba638b58c1.js → 3ebd4cdafa7682062447.js} +1 -1
- package/assets/esri/core/workers/chunks/45c1a3376b138eeee329.js +1 -0
- package/assets/esri/core/workers/chunks/{301fa6276f4098521106.js → 476e51284e6ed7dc5c99.js} +1 -1
- package/assets/esri/core/workers/chunks/{18cdd268fc921ffd92e2.js → 47bea83ae7fe0e1acee0.js} +1 -1
- package/assets/esri/core/workers/chunks/{304ea784c28dc78e5e65.js → 4a857a7f5e00dfab2b44.js} +1 -1
- package/assets/esri/core/workers/chunks/{04fddd41a8e6a4c1bc57.js → 5139bbe8f94df01467c7.js} +1 -1
- package/assets/esri/core/workers/chunks/5734aefbce8b6425630c.js +1 -0
- package/assets/esri/core/workers/chunks/{5543de9a0435c319f4f9.js → 5852d291ef41201030d5.js} +11 -11
- package/assets/esri/core/workers/chunks/{348560f083350ad0bf2e.js → 5a0c5271304189a2401d.js} +1 -1
- package/assets/esri/core/workers/chunks/{1fe1a131be1d5e1e23ed.js → 5a1921c177580f17ff96.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a13b472e0cf9f88e8de.js → 5d791bfca20791d8e0af.js} +1 -1
- package/assets/esri/core/workers/chunks/{3b6fc34b6d92eef030e5.js → 6298e71e6c480d6f46e3.js} +1 -1
- package/assets/esri/core/workers/chunks/{854adab6a06af861c104.js → 68d0bae1816061d96307.js} +1 -1
- package/assets/esri/core/workers/chunks/6d9e92d9c2503d5dc8dd.js +1 -0
- package/assets/esri/core/workers/chunks/{156c73a948bde11f0d53.js → 743165f9bc4d85748a0d.js} +1 -1
- package/assets/esri/core/workers/chunks/{9ff1e650ce0912afa780.js → 7449af8f3637c1694660.js} +1 -1
- package/assets/esri/core/workers/chunks/7f15d15c7e2c5d3e70c3.js +1 -0
- package/assets/esri/core/workers/chunks/804c9666d0dc548b9f79.js +1 -0
- package/assets/esri/core/workers/chunks/8258b1c8ba6d44ba19c3.js +1 -0
- package/assets/esri/core/workers/chunks/890833e98e79b8fd3747.js +1 -0
- package/assets/esri/core/workers/chunks/{d6e11f05db698d14f21d.js → 8a7f56139b7de0011a37.js} +1 -1
- package/assets/esri/core/workers/chunks/{ec03d59984782529031a.js → 8b575ac55bc396c0c477.js} +1 -1
- package/assets/esri/core/workers/chunks/{db9a9712038df76e3eda.js → 8ef337e25d65670eb73b.js} +1 -1
- package/assets/esri/core/workers/chunks/8f2fc50eb988c0228b05.js +1 -0
- package/assets/esri/core/workers/chunks/{c500b59cd7da54fe72ec.js → 8f3abaabc61858e929a5.js} +1 -1
- package/assets/esri/core/workers/chunks/{e201bfe3158c025edc99.js → 93faad2a759b08dce619.js} +1 -1
- package/assets/esri/core/workers/chunks/{1779e6eabc299831fc9f.js → 94c4ef224ff38eca7b87.js} +1 -1
- package/assets/esri/core/workers/chunks/{e8f6305744f87bbed961.js → 96616126aaf319cd1c6f.js} +1 -1
- package/assets/esri/core/workers/chunks/{c791e8ebf3ee0805c479.js → 981f05b5ef6f9c3f7e8a.js} +1 -1
- package/assets/esri/core/workers/chunks/{841058de8bc6e328fd68.js → 9d77a7d04872b4535e9e.js} +1 -1
- package/assets/esri/core/workers/chunks/{338768f94cc49559b209.js → 9ebc4303e29ee0fc1716.js} +1 -1
- package/assets/esri/core/workers/chunks/a270e34bb248114ec280.js +1 -0
- package/assets/esri/core/workers/chunks/a6b8ce1c2996ee392bdf.js +1 -0
- package/assets/esri/core/workers/chunks/{b91a157fb5f729de6597.js → b5ca894a6cb1a19676d5.js} +1 -1
- package/assets/esri/core/workers/chunks/{a2c0c1bb5e775abefc90.js → b6530c66804bede649d7.js} +1 -1
- package/assets/esri/core/workers/chunks/{3849dc35941e569fae5f.js → c12c095937b21e39ad3c.js} +1 -1
- package/assets/esri/core/workers/chunks/{4ff3c03cfbec928c0720.js → c4fb3f0b0cfb21e68413.js} +1 -1
- package/assets/esri/core/workers/chunks/{f5b32bc3f7ee911e3c59.js → c5d56b85d34026507902.js} +1 -1
- package/assets/esri/core/workers/chunks/{181fab86394f1f912490.js → cc464d5a83f8f405e66c.js} +1 -1
- package/assets/esri/core/workers/chunks/cee29c3a94376f6740d7.js +1 -0
- package/assets/esri/core/workers/chunks/d6d9d56b3733622deab6.js +1 -0
- package/assets/esri/core/workers/chunks/{ce9467dc1ff695d795e5.js → d8b72c6f5f9b2d013b7f.js} +1 -1
- package/assets/esri/core/workers/chunks/{f0eb2bfe5a8607b251f5.js → dc2c9b584f8e4627de7f.js} +1 -1
- package/assets/esri/core/workers/chunks/{b586d7e608e8ba8b88fe.js → e067bbf12f711fd5b9a6.js} +1 -1
- package/assets/esri/core/workers/chunks/e271065410ba5c872f53.js +1 -0
- package/assets/esri/core/workers/chunks/{d9d2178d436597b1afaf.js → e7e508258ad27468a6a5.js} +1 -1
- package/assets/esri/core/workers/chunks/e8a0654cebafa22b5b56.js +1 -0
- package/assets/esri/core/workers/chunks/e95f90d59041640727da.js +1 -0
- package/assets/esri/core/workers/chunks/eb063660c37093f85349.js +1 -0
- package/assets/esri/core/workers/chunks/{a09099697955eb44bfac.js → f1e1666bede364c069fc.js} +1 -1
- package/assets/esri/core/workers/chunks/{ac0949ea3d2cf3eb7383.js → f25eb512592a84a508c1.js} +1 -1
- package/assets/esri/core/workers/chunks/f64ec13167eb51da2f9b.js +1 -0
- package/assets/esri/core/workers/chunks/{14f8215ab716c6d9d5f8.js → fbf21fda283836e8633c.js} +1 -1
- package/assets/esri/core/workers/chunks/fc763ce37d631e006199.js +1 -0
- package/assets/esri/core/workers/chunks/ff2a170acd98edfd0e06.js +1 -0
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/config.js +1 -1
- package/core/Clonable.d.ts +0 -2
- package/core/Collection.d.ts +1 -1
- package/core/Error.d.ts +0 -1
- package/core/Evented.d.ts +0 -2
- package/core/Identifiable.d.ts +0 -1
- package/core/JSONSupport.d.ts +0 -2
- package/core/MultiOriginJSONSupport.d.ts +1 -3
- package/core/Promise.d.ts +8 -4
- package/core/ReadOnlyMultiOriginJSONSupport.d.ts +0 -2
- package/core/Version.d.ts +0 -1
- package/core/accessorSupport/types.d.ts +0 -1
- package/core/sql/types.d.ts +0 -1
- package/core/timeUtils.js +1 -1
- package/core/types.d.ts +0 -1
- package/core/units.d.ts +1 -1
- package/editing/sharedTemplates/types.d.ts +0 -1
- package/effects/FocusArea.d.ts +3 -3
- package/effects/FocusAreaOutline.d.ts +3 -3
- package/effects/FocusAreas.d.ts +3 -3
- package/effects/types.d.ts +0 -1
- package/form/ExpressionInfo.d.ts +2 -2
- package/form/FormTemplate.d.ts +2 -2
- package/form/elements/Element.d.ts +2 -2
- package/form/elements/UtilityNetworkAssociationsElement.d.ts +2 -2
- package/geometry/Geometry.d.ts +2 -2
- package/geometry/HeightModelInfo.d.ts +2 -2
- package/geometry/Mesh.d.ts +3 -3
- package/geometry/SpatialReference.d.ts +2 -2
- package/geometry/geometryEngineTypes.d.ts +0 -1
- package/geometry/support/MeshComponent.d.ts +3 -3
- package/geometry/support/MeshGeoreferencedVertexSpace.d.ts +3 -3
- package/geometry/support/MeshLocalVertexSpace.d.ts +3 -3
- package/geometry/support/MeshMaterial.d.ts +3 -3
- package/geometry/support/MeshTexture.d.ts +3 -3
- package/geometry/support/MeshTextureTransform.d.ts +3 -3
- package/geometry/support/MeshTransform.d.ts +3 -3
- package/geometry/support/MeshVertexAttributes.d.ts +3 -3
- package/graphic/GraphicOrigin.d.ts +0 -1
- package/ground/NavigationConstraint.d.ts +2 -2
- package/identity/Credential.d.ts +2 -2
- package/identity/OAuthInfo.d.ts +2 -2
- package/identity/ServerInfo.d.ts +2 -2
- package/interfaces.d.ts +2 -3
- package/intl/locale.d.ts +0 -1
- package/intl/messages.d.ts +0 -1
- package/intl/number.d.ts +0 -1
- package/intl/substitute.d.ts +0 -1
- package/intl/t9n.d.ts +0 -1
- package/kernel.js +1 -1
- package/layers/BaseElevationLayer.d.ts +3 -4
- package/layers/BingMapsLayer.d.ts +2 -2
- package/layers/BuildingSceneLayer.d.ts +5 -4
- package/layers/CatalogLayer.d.ts +3 -3
- package/layers/DimensionLayer.d.ts +2 -2
- package/layers/ElevationLayer.d.ts +3 -4
- package/layers/ElevationLayer.js +1 -1
- package/layers/FeatureLayer.d.ts +4 -4
- package/layers/GaussianSplatLayer.d.ts +2 -2
- package/layers/GeoJSONLayer.d.ts +2 -2
- package/layers/GeoRSSLayer.d.ts +2 -2
- package/layers/GroupLayer.d.ts +2 -2
- package/layers/ImageryLayer.d.ts +3 -3
- package/layers/ImageryTileLayer.d.ts +3 -3
- package/layers/IntegratedMesh3DTilesLayer.d.ts +2 -2
- package/layers/IntegratedMeshLayer.d.ts +5 -4
- package/layers/KMLLayer.d.ts +2 -2
- package/layers/KnowledgeGraphLayer.d.ts +2 -2
- package/layers/Layer.d.ts +2 -2
- package/layers/LineOfSightLayer.d.ts +2 -2
- package/layers/LinkChartLayer.d.ts +2 -2
- package/layers/MapImageLayer.d.ts +2 -2
- package/layers/MapNotesLayer.d.ts +2 -2
- package/layers/MediaLayer.d.ts +2 -2
- package/layers/OGCFeatureLayer.d.ts +2 -2
- package/layers/ParquetLayer.d.ts +3 -3
- package/layers/PointCloudLayer.d.ts +5 -4
- package/layers/RouteLayer.d.ts +2 -2
- package/layers/SceneLayer.d.ts +6 -5
- package/layers/StreamLayer.d.ts +3 -3
- package/layers/SubtypeGroupLayer.d.ts +4 -4
- package/layers/TileLayer.d.ts +2 -2
- package/layers/UnknownLayer.d.ts +2 -2
- package/layers/UnsupportedLayer.d.ts +2 -2
- package/layers/VectorTileLayer.d.ts +2 -2
- package/layers/VideoLayer.d.ts +2 -2
- package/layers/ViewshedLayer.d.ts +2 -2
- package/layers/VoxelLayer.d.ts +2 -2
- package/layers/WCSLayer.d.ts +3 -3
- package/layers/WFSLayer.d.ts +2 -2
- package/layers/WMSLayer.d.ts +2 -2
- package/layers/WMTSLayer.d.ts +2 -2
- package/layers/WebTileLayer.d.ts +2 -2
- package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +2 -2
- package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +1 -1
- package/layers/buildingSublayers/BuildingSublayer.d.ts +2 -2
- package/layers/catalog/CatalogDynamicGroupLayer.d.ts +2 -2
- package/layers/catalog/CatalogFootprintLayer.d.ts +2 -2
- package/layers/effects/types.d.ts +0 -1
- package/layers/knowledgeGraph/IdTypePair.d.ts +0 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +2 -2
- package/layers/mixins/APIKeyMixin.d.ts +0 -1
- package/layers/mixins/CustomParametersMixin.d.ts +0 -1
- package/layers/mixins/EditBusLayer.d.ts +0 -2
- package/layers/mixins/OperationalLayer.d.ts +0 -1
- package/layers/mixins/ScaleRangeLayer.d.ts +0 -1
- package/layers/mixins/SceneService.d.ts +0 -6
- package/layers/pointCloudFilters/PointCloudFilter.d.ts +2 -2
- package/layers/raster/datasets/pixelReader.d.ts +0 -1
- package/layers/raster/datasets/types.d.ts +0 -1
- package/layers/raster/functions/changeDetectionUtils.d.ts +0 -1
- package/layers/raster/functions/focalStatUtils.d.ts +0 -1
- package/layers/scene/types.d.ts +11 -0
- package/layers/support/AggregateField.d.ts +2 -2
- package/layers/support/BuildingFilter.d.ts +2 -2
- package/layers/support/BuildingFilterBlock.d.ts +2 -2
- package/layers/support/BuildingSummaryStatistics.d.ts +3 -3
- package/layers/support/CodedValue.d.ts +2 -2
- package/layers/support/ControlPoint.d.ts +2 -2
- package/layers/support/ControlPointsGeoreference.d.ts +2 -2
- package/layers/support/DimensionalDefinition.d.ts +2 -2
- package/layers/support/DisplayFilter.d.ts +3 -3
- package/layers/support/DisplayFilterInfo.d.ts +3 -3
- package/layers/support/Domain.d.ts +2 -2
- package/layers/support/EditFieldsInfo.d.ts +3 -3
- package/layers/support/ElevationQuery.js +1 -1
- package/layers/support/ElevationTileData.js +1 -1
- package/layers/support/ExpressionInfo.d.ts +3 -3
- package/layers/support/FacilityLayerInfo.d.ts +2 -2
- package/layers/support/FeatureEffect.d.ts +2 -2
- package/layers/support/FeatureFilter.d.ts +2 -2
- package/layers/support/FeatureReductionBinning.d.ts +2 -2
- package/layers/support/FeatureReductionCluster.d.ts +2 -2
- package/layers/support/FeatureReductionSelection.d.ts +2 -2
- package/layers/support/FeatureTemplate.d.ts +3 -3
- package/layers/support/FeatureType.d.ts +3 -3
- package/layers/support/Field.d.ts +2 -2
- package/layers/support/FieldConfiguration.d.ts +3 -3
- package/layers/support/GeometryFieldsInfo.d.ts +3 -3
- package/layers/support/KMLSublayer.d.ts +3 -3
- package/layers/support/LOD.d.ts +2 -2
- package/layers/support/LabelClass.d.ts +2 -2
- package/layers/support/LabelExpressionInfo.d.ts +2 -2
- package/layers/support/LayerFloorInfo.d.ts +2 -2
- package/layers/support/LevelLayerInfo.d.ts +2 -2
- package/layers/support/LocalMediaElementSource.d.ts +3 -3
- package/layers/support/MapImage.d.ts +2 -2
- package/layers/support/MediaElementBase.d.ts +2 -2
- package/layers/support/MosaicRule.d.ts +2 -2
- package/layers/support/MultidimensionalSubset.d.ts +13 -4
- package/layers/support/OrderByInfo.d.ts +2 -2
- package/layers/support/ParquetGeometryEncodingLocation.d.ts +3 -3
- package/layers/support/ParquetGeometryEncodingWkb.d.ts +3 -3
- package/layers/support/PixelBlock.d.ts +2 -2
- package/layers/support/PlaybackInfo.d.ts +3 -3
- package/layers/support/PurgeOptions.d.ts +2 -2
- package/layers/support/RasterBandInfo.d.ts +2 -2
- package/layers/support/RasterFunction.d.ts +2 -2
- package/layers/support/RasterInfo.d.ts +2 -2
- package/layers/support/RasterSensorInfo.d.ts +2 -2
- package/layers/support/Relationship.d.ts +5 -3
- package/layers/support/RouteStopSymbols.d.ts +2 -2
- package/layers/support/RouteSymbols.d.ts +2 -2
- package/layers/support/SceneFilter.d.ts +2 -2
- package/layers/support/SceneLayerViewFilter.js +5 -0
- package/layers/support/SceneModification.d.ts +2 -2
- package/layers/support/SceneModifications.d.ts +1 -1
- package/layers/support/SiteLayerInfo.d.ts +2 -2
- package/layers/support/Sublayer.d.ts +2 -2
- package/layers/support/Subtype.d.ts +3 -3
- package/layers/support/SubtypeSublayer.d.ts +3 -3
- package/layers/support/TelemetryData.d.ts +3 -3
- package/layers/support/TelemetryDisplay.d.ts +3 -3
- package/layers/support/TileInfo.d.ts +2 -2
- package/layers/support/TileMatrixSet.d.ts +2 -2
- package/layers/support/TimeInfo.d.ts +3 -3
- package/layers/support/TrackInfo.d.ts +3 -3
- package/layers/support/TrackPartInfo.d.ts +3 -3
- package/layers/support/VideoTimeExtent.d.ts +3 -3
- package/layers/support/WMSSublayer.d.ts +2 -2
- package/layers/support/WMTSStyle.d.ts +2 -2
- package/layers/support/WMTSSublayer.d.ts +2 -2
- package/layers/support/types.d.ts +32 -0
- package/layers/video/types.d.ts +0 -1
- package/layers/voxel/VoxelColorStop.d.ts +3 -3
- package/layers/voxel/VoxelDynamicSection.d.ts +3 -3
- package/layers/voxel/VoxelIsosurface.d.ts +3 -3
- package/layers/voxel/VoxelOpacityStop.d.ts +3 -3
- package/layers/voxel/VoxelRangeFilter.d.ts +3 -3
- package/layers/voxel/VoxelSlice.d.ts +3 -3
- package/layers/voxel/VoxelTransferFunctionStyle.d.ts +3 -3
- package/layers/voxel/VoxelUniqueValue.d.ts +3 -3
- package/layers/voxel/VoxelVariable.d.ts +2 -2
- package/layers/voxel/VoxelVariableStyle.d.ts +2 -2
- package/layers/voxel/VoxelVolumeStyle.d.ts +2 -2
- package/layers/wms/types.d.ts +0 -1
- package/layers/wmts/types.d.ts +0 -1
- package/linkChart/ChronologicalLayoutSettings.d.ts +3 -3
- package/linkChart/LayoutSettings.d.ts +3 -3
- package/linkChart/LinkChartProperties.d.ts +3 -3
- package/linkChart/NonspatialDataDisplay.d.ts +3 -3
- package/linkChart/OrganicLayoutSettings.d.ts +3 -3
- package/linkChart/types.d.ts +0 -1
- package/networks/CircuitManager.d.ts +2 -2
- package/networks/Network.d.ts +2 -2
- package/networks/UnitIdentifierManager.d.ts +2 -2
- package/networks/support/Circuit.d.ts +2 -2
- package/networks/support/CircuitLocation.d.ts +2 -2
- package/networks/support/CircuitPath.d.ts +2 -2
- package/networks/support/CircuitPathConnectivityElement.d.ts +2 -2
- package/networks/support/CircuitSection.d.ts +2 -2
- package/networks/support/NamedTraceConfiguration.d.ts +2 -2
- package/networks/support/Subcircuit.d.ts +2 -2
- package/networks/support/Terminal.d.ts +2 -2
- package/networks/support/TerminalConfiguration.d.ts +2 -2
- package/networks/support/TraceConfiguration.d.ts +2 -2
- package/networks/support/UNTraceConfiguration.d.ts +2 -2
- package/networks/support/typeUtils.d.ts +0 -1
- package/package.json +1 -1
- package/popup/ElementExpressionInfo.d.ts +2 -2
- package/popup/ExpressionInfo.d.ts +2 -2
- package/popup/FieldInfo.d.ts +3 -3
- package/popup/LayerOptions.d.ts +2 -2
- package/popup/RelatedRecordsInfo.d.ts +2 -2
- package/popup/content/AttachmentsContent.d.ts +2 -2
- package/popup/content/Content.d.ts +2 -2
- package/popup/content/RelationshipContent.d.ts +2 -2
- package/popup/content/UtilityNetworkAssociationsContent.d.ts +2 -2
- package/popup/content/mixins/MediaInfo.d.ts +2 -2
- package/popup/content/support/ChartMediaInfoValue.d.ts +2 -2
- package/popup/content/support/ImageMediaInfoValue.d.ts +2 -2
- package/popup/support/AttachmentsOrderByInfo.d.ts +3 -3
- package/popup/support/FieldInfoFormat.d.ts +3 -3
- package/popup/support/RelatedRecordsInfoFieldOrder.d.ts +2 -2
- package/popup/support/UtilityNetworkAssociationType.d.ts +3 -3
- package/portal/Portal.d.ts +2 -2
- package/portal/PortalFolder.d.ts +2 -2
- package/portal/PortalGroup.d.ts +2 -2
- package/portal/PortalItem.d.ts +2 -2
- package/portal/PortalUser.d.ts +2 -2
- package/portal/timeUnitKebabDictionary.js +1 -1
- package/renderers/FlowRenderer.d.ts +2 -2
- package/renderers/PieChartRenderer.d.ts +2 -2
- package/renderers/PointCloudRenderer.d.ts +2 -2
- package/renderers/RasterColormapRenderer.d.ts +2 -2
- package/renderers/RasterShadedReliefRenderer.d.ts +2 -2
- package/renderers/RasterStretchRenderer.d.ts +2 -2
- package/renderers/Renderer.d.ts +2 -2
- package/renderers/VectorFieldRenderer.d.ts +2 -2
- package/renderers/support/AttributeColorInfo.d.ts +2 -2
- package/renderers/support/AuthoringInfo.d.ts +2 -2
- package/renderers/support/AuthoringInfoClassBreakInfo.d.ts +2 -2
- package/renderers/support/AuthoringInfoFieldInfo.d.ts +2 -2
- package/renderers/support/AuthoringInfoVisualVariable.d.ts +2 -2
- package/renderers/support/ClassBreakInfo.d.ts +2 -2
- package/renderers/support/ColormapInfo.d.ts +2 -2
- package/renderers/support/DotDensityLegendOptions.d.ts +2 -2
- package/renderers/support/HeatmapColorStop.d.ts +2 -2
- package/renderers/support/HeatmapLegendOptions.d.ts +3 -3
- package/renderers/support/OthersCategory.d.ts +3 -3
- package/renderers/support/RasterPresetRenderer.d.ts +3 -3
- package/renderers/support/RendererLegendOptions.d.ts +3 -3
- package/renderers/support/UniqueValue.d.ts +3 -3
- package/renderers/support/UniqueValueClass.d.ts +3 -3
- package/renderers/support/UniqueValueGroup.d.ts +3 -3
- package/renderers/support/UniqueValueInfo.d.ts +2 -2
- package/renderers/support/pointCloud/ColorClassBreakInfo.d.ts +2 -2
- package/renderers/support/pointCloud/ColorModulation.d.ts +2 -2
- package/renderers/support/pointCloud/ColorUniqueValueInfo.d.ts +2 -2
- package/renderers/visualVariables/VisualVariable.d.ts +2 -2
- package/renderers/visualVariables/support/ColorSizeStop.d.ts +2 -2
- package/renderers/visualVariables/support/ColorStop.d.ts +2 -2
- package/renderers/visualVariables/support/OpacityStop.d.ts +2 -2
- package/renderers/visualVariables/support/SizeStop.d.ts +2 -2
- package/renderers/visualVariables/support/VisualVariableLegendOptions.d.ts +3 -3
- package/rest/featureService/FeatureService.d.ts +2 -2
- package/rest/geoprocessor/GPOptions.d.ts +2 -2
- package/rest/geoprocessor/utils.js +1 -1
- package/rest/knowledgeGraph/DataModel.d.ts +2 -2
- package/rest/knowledgeGraph/FieldIndex.d.ts +2 -2
- package/rest/knowledgeGraph/GraphObject.d.ts +2 -2
- package/rest/knowledgeGraph/GraphObjectType.d.ts +2 -2
- package/rest/knowledgeGraph/GraphProperty.d.ts +2 -2
- package/rest/knowledgeGraph/KnowledgeGraph.d.ts +2 -2
- package/rest/knowledgeGraph/Path.d.ts +2 -2
- package/rest/knowledgeGraph/ServiceDefinition.d.ts +2 -2
- package/rest/knowledgeGraph/SourceTypeValueBehavior.d.ts +2 -2
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.d.ts +2 -2
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.d.ts +2 -2
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +2 -2
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsResultJSON.d.ts +0 -1
- package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +2 -2
- package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.d.ts +0 -1
- package/rest/lastMileDelivery/types.d.ts +0 -1
- package/rest/layerSources/DynamicDataLayer.d.ts +2 -2
- package/rest/layerSources/DynamicMapLayer.d.ts +2 -2
- package/rest/layerSources/JoinTableDataSource.d.ts +2 -2
- package/rest/layerSources/QueryTableDataSource.d.ts +2 -2
- package/rest/layerSources/RasterDataSource.d.ts +2 -2
- package/rest/layerSources/TableDataSource.d.ts +2 -2
- package/rest/networks/circuits/support/CircuitTraceResult.d.ts +2 -2
- package/rest/networks/circuits/support/ExportCircuitsParameters.d.ts +2 -2
- package/rest/networks/circuits/support/QueryCircuitsParameters.d.ts +2 -2
- package/rest/networks/support/AggregatedGeometry.d.ts +2 -2
- package/rest/networks/support/Association.d.ts +2 -2
- package/rest/networks/support/AssociationGeometriesResult.d.ts +2 -2
- package/rest/networks/support/FunctionResult.d.ts +2 -2
- package/rest/networks/support/NetworkElement.d.ts +2 -2
- package/rest/networks/support/QueryAssociationsParameters.d.ts +2 -2
- package/rest/networks/support/QueryAssociationsResult.d.ts +2 -2
- package/rest/networks/support/QueryNamedTraceConfigurationsParameters.d.ts +2 -2
- package/rest/networks/support/SynthesizeAssociationGeometriesParameters.d.ts +2 -2
- package/rest/networks/support/TraceLocation.d.ts +3 -3
- package/rest/networks/support/TraceParameters.d.ts +2 -2
- package/rest/networks/support/TraceResult.d.ts +2 -2
- package/rest/networks/support/ValidateNetworkTopologyParameters.d.ts +2 -2
- package/rest/networks/support/ValidateNetworkTopologyResult.d.ts +2 -2
- package/rest/query/support/AttachmentInfo.d.ts +2 -2
- package/rest/support/AddressCandidate.d.ts +2 -2
- package/rest/support/AddressToLocationsParameters.d.ts +2 -2
- package/rest/support/AddressesToLocationsParameters.d.ts +2 -2
- package/rest/support/ArealUnit.d.ts +2 -2
- package/rest/support/AreasAndLengthsParameters.d.ts +2 -2
- package/rest/support/AttachmentQuery.d.ts +2 -2
- package/rest/support/AttributeBinsFeatureSet.d.ts +2 -2
- package/rest/support/AttributeBinsGrouping.d.ts +3 -3
- package/rest/support/AttributeBinsQuery.d.ts +3 -3
- package/rest/support/BaseImageMeasureParameters.d.ts +2 -2
- package/rest/support/BaseImageMeasureResult.d.ts +2 -2
- package/rest/support/BaseImageMeasureResultValue.d.ts +2 -2
- package/rest/support/BinParametersBase.d.ts +3 -3
- package/rest/support/BufferParameters.d.ts +2 -2
- package/rest/support/CameraInfo.d.ts +2 -2
- package/rest/support/CameraInfoMixin.d.ts +0 -1
- package/rest/support/ClosestFacilityParameters.d.ts +3 -3
- package/rest/support/ClosestFacilitySolveResult.d.ts +2 -2
- package/rest/support/ColorRamp.d.ts +2 -2
- package/rest/support/DataFile.d.ts +2 -2
- package/rest/support/DataLayer.d.ts +3 -3
- package/rest/support/DateBinTimeInterval.d.ts +3 -3
- package/rest/support/DensifyParameters.d.ts +2 -2
- package/rest/support/DirectionLine.d.ts +3 -3
- package/rest/support/DirectionPoint.d.ts +3 -3
- package/rest/support/DirectionsEvent.d.ts +2 -2
- package/rest/support/DirectionsString.d.ts +2 -2
- package/rest/support/FeatureSet.d.ts +2 -2
- package/rest/support/FindImagesParameters.d.ts +3 -3
- package/rest/support/FindImagesResult.d.ts +2 -2
- package/rest/support/FindParameters.d.ts +2 -2
- package/rest/support/FindResult.d.ts +2 -2
- package/rest/support/GPMessage.d.ts +2 -2
- package/rest/support/GeneralizeParameters.d.ts +2 -2
- package/rest/support/IdentifyParameters.d.ts +2 -2
- package/rest/support/IdentifyResult.d.ts +2 -2
- package/rest/support/ImageAngleParameters.d.ts +2 -2
- package/rest/support/ImageAngleResult.d.ts +2 -2
- package/rest/support/ImageBoundaryParameters.d.ts +3 -3
- package/rest/support/ImageBoundaryResult.d.ts +2 -2
- package/rest/support/ImageGPSInfo.d.ts +2 -2
- package/rest/support/ImageGPSInfoParameters.d.ts +3 -3
- package/rest/support/ImageGPSInfoResult.d.ts +2 -2
- package/rest/support/ImageHistogramParameters.d.ts +2 -2
- package/rest/support/ImageIdentifyParameters.d.ts +2 -2
- package/rest/support/ImageIdentifyResult.d.ts +2 -2
- package/rest/support/ImageInspectionInfo.d.ts +2 -2
- package/rest/support/ImagePixelLocationParameters.d.ts +2 -2
- package/rest/support/ImagePixelLocationResult.d.ts +2 -2
- package/rest/support/ImageSample.d.ts +2 -2
- package/rest/support/ImageSampleParameters.d.ts +2 -2
- package/rest/support/ImageSampleResult.d.ts +2 -2
- package/rest/support/ImageToMapMultirayParameters.d.ts +3 -3
- package/rest/support/ImageToMapParameters.d.ts +3 -3
- package/rest/support/ImageUrlParameters.d.ts +3 -3
- package/rest/support/ImageUrlResult.d.ts +2 -2
- package/rest/support/ImageVolume.d.ts +2 -2
- package/rest/support/ImageVolumeParameters.d.ts +3 -3
- package/rest/support/ImageVolumeResult.d.ts +2 -2
- package/rest/support/JobInfo.d.ts +2 -2
- package/rest/support/LastMileDeliveryParameters.d.ts +3 -3
- package/rest/support/LegendLayer.d.ts +2 -2
- package/rest/support/LengthsParameters.d.ts +2 -2
- package/rest/support/LinearUnit.d.ts +2 -2
- package/rest/support/LocateSettingBase.d.ts +3 -3
- package/rest/support/LocateSettingSource.d.ts +3 -3
- package/rest/support/LocateSettings.d.ts +3 -3
- package/rest/support/LocateSettingsOverrides.d.ts +3 -3
- package/rest/support/LocationToAddressParameters.d.ts +2 -2
- package/rest/support/MapToImageParameters.d.ts +3 -3
- package/rest/support/MeasureAreaFromImageResult.d.ts +2 -2
- package/rest/support/MeasureFromImageParameters.d.ts +2 -2
- package/rest/support/MeasureLengthFromImageResult.d.ts +2 -2
- package/rest/support/NetworkUrl.d.ts +3 -3
- package/rest/support/NormalizationBinParametersMixin.d.ts +0 -1
- package/rest/support/OffsetParameters.d.ts +2 -2
- package/rest/support/ParameterValue.d.ts +4 -2
- package/rest/support/PointBarrier.d.ts +3 -3
- package/rest/support/PolygonBarrier.d.ts +3 -3
- package/rest/support/PolylineBarrier.d.ts +3 -3
- package/rest/support/ProjectParameters.d.ts +2 -2
- package/rest/support/QuantizationParameters.d.ts +2 -2
- package/rest/support/Query.d.ts +2 -2
- package/rest/support/RasterData.d.ts +2 -2
- package/rest/support/RelationParameters.d.ts +2 -2
- package/rest/support/RelationshipQuery.d.ts +2 -2
- package/rest/support/RouteInfo.d.ts +3 -3
- package/rest/support/RouteParameters.d.ts +3 -3
- package/rest/support/RouteResult.d.ts +2 -2
- package/rest/support/RouteSolveResult.d.ts +2 -2
- package/rest/support/ServiceAreaParameters.d.ts +3 -3
- package/rest/support/ServiceAreaSolveResult.d.ts +2 -2
- package/rest/support/StatisticDefinition.d.ts +2 -2
- package/rest/support/Stop.d.ts +3 -3
- package/rest/support/SuggestLocationsParameters.d.ts +2 -2
- package/rest/support/TimeUnit.d.ts +42 -0
- package/rest/support/TimeUnit.js +5 -0
- package/rest/support/TopFeaturesQuery.d.ts +2 -2
- package/rest/support/TopFilter.d.ts +2 -2
- package/rest/support/TravelMode.d.ts +3 -3
- package/rest/support/TrimExtendParameters.d.ts +2 -2
- package/rest/support/parameterValueUtils.js +1 -1
- package/rest/types.d.ts +1 -1
- package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.d.ts +2 -2
- package/rest/versionManagement/gdbVersion/support/ReconcileParameters.d.ts +2 -2
- package/rest/versionManagement/support/CreateVersionParameters.d.ts +2 -2
- package/rest/versionManagement/support/GetVersionInfosParameters.d.ts +2 -2
- package/statistics/types.d.ts +0 -1
- package/support/MapFloorInfo.d.ts +2 -2
- package/support/revision.js +1 -1
- package/symbols/Font.d.ts +2 -2
- package/symbols/LineStyleMarker3D.d.ts +3 -3
- package/symbols/LineSymbolMarker.d.ts +2 -2
- package/symbols/Symbol.d.ts +2 -2
- package/symbols/Symbol3DLayer.d.ts +2 -2
- package/symbols/callouts/Callout3D.d.ts +2 -2
- package/symbols/callouts/LineCallout3DBorder.d.ts +2 -2
- package/symbols/edges/Edges3D.d.ts +2 -2
- package/symbols/patterns/LinePattern3D.d.ts +2 -2
- package/symbols/patterns/Pattern3D.d.ts +2 -2
- package/symbols/support/ElevationInfo.d.ts +10 -4
- package/symbols/support/FeatureExpressionInfo.d.ts +2 -2
- package/symbols/support/IconSymbol3DLayerResource.d.ts +2 -2
- package/symbols/support/ObjectSymbol3DLayerResource.d.ts +2 -2
- package/symbols/support/OccludedVisibility.d.ts +3 -3
- package/symbols/support/Symbol3DFillMaterial.js +1 -1
- package/symbols/support/Symbol3DHalo.d.ts +2 -2
- package/symbols/support/Symbol3DIconOutline.d.ts +2 -2
- package/symbols/support/Symbol3DMaterial.d.ts +6 -4
- package/symbols/support/Symbol3DMaterial.js +1 -1
- package/symbols/support/Symbol3DOutline.d.ts +2 -2
- package/symbols/support/Symbol3DTextBackground.d.ts +3 -3
- package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
- package/symbols/support/types.d.ts +0 -1
- package/tables/AttributeTableTemplate.d.ts +2 -2
- package/tables/elements/AttributeTableAttachmentElement.d.ts +2 -2
- package/tables/elements/AttributeTableElement.d.ts +2 -2
- package/tables/elements/AttributeTableFieldElement.d.ts +2 -2
- package/tables/elements/AttributeTableGroupElement.d.ts +2 -2
- package/tables/elements/AttributeTableRelationshipElement.d.ts +2 -2
- package/tables/support/FieldOrder.d.ts +3 -3
- package/time/TimeExtent.d.ts +2 -2
- package/time/TimeExtent.js +1 -1
- package/time/TimeInterval.d.ts +3 -3
- package/time/types.d.ts +0 -1
- package/versionManagement/VersionManagementService.d.ts +2 -2
- package/versionManagement/VersioningState.d.ts +2 -2
- package/versionManagement/support/type.d.ts +0 -1
- package/views/2d/ViewState.d.ts +2 -2
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/support/MediaLayerInteractionOptions.d.ts +0 -1
- package/views/3d/analysis/Dimension/types.d.ts +0 -1
- package/views/3d/analysis/Slice/types.d.ts +0 -1
- package/views/3d/analysis/Viewshed/types.d.ts +0 -1
- package/views/3d/constraints/AltitudeConstraint.d.ts +2 -2
- package/views/3d/constraints/ClipDistanceConstraint.d.ts +2 -2
- package/views/3d/constraints/Constraints.d.ts +2 -2
- package/views/3d/constraints/TiltConstraint.d.ts +2 -2
- package/views/3d/environment/CloudyWeather.d.ts +2 -2
- package/views/3d/environment/FoggyWeather.d.ts +2 -2
- package/views/3d/environment/RainyWeather.d.ts +2 -2
- package/views/3d/environment/SnowyWeather.d.ts +2 -2
- package/views/3d/environment/SunLighting.d.ts +2 -2
- package/views/3d/environment/SunnyWeather.d.ts +2 -2
- package/views/3d/environment/VirtualLighting.d.ts +2 -2
- package/views/3d/layers/ElevationLayerView3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
- package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
- package/views/3d/webgl/ManagedFBO.js +1 -1
- package/views/3d/webgl/ManagedFBOResource.d.ts +0 -1
- package/views/3d/webgl/RenderNode.d.ts +1 -1
- package/views/3d/webgl/RenderNode.js +1 -1
- package/views/3d/webgl/types.d.ts +0 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
- package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
- package/views/3d/webgl.d.ts +16 -8
- package/views/3d/webgl.js +1 -1
- package/views/Theme.d.ts +2 -2
- package/views/VideoView.d.ts +4 -4
- package/views/View.d.ts +3 -3
- package/views/View2D.d.ts +2 -2
- package/views/ViewAnimation.d.ts +2 -2
- package/views/Viewport2DMixin.d.ts +0 -2
- package/views/analysis/ElevationProfile/ElevationProfileResult.d.ts +2 -2
- package/views/animation/types.d.ts +0 -1
- package/views/draw/CursorUpdateEvent.d.ts +0 -1
- package/views/draw/DrawAction.d.ts +3 -3
- package/views/draw/DrawCompleteEvent.d.ts +0 -1
- package/views/draw/VertexAddEvent.d.ts +0 -1
- package/views/draw/VertexRemoveEvent.d.ts +0 -1
- package/views/draw/support/managers/{DrawTooltipManager.js → TooltipManager.js} +1 -1
- package/views/draw/types.d.ts +0 -1
- package/views/interactive/Tooltip.d.ts +2 -2
- package/views/interactive/tooltip/types.d.ts +0 -1
- package/views/layers/ImageryTileLayerViewMixin.d.ts +0 -1
- package/views/layers/LayerView.d.ts +3 -3
- package/views/layers/SceneLayerView.js +1 -1
- package/views/layers/types.d.ts +0 -1
- package/views/navigation/types.d.ts +0 -1
- package/views/support/AttributionItem.d.ts +0 -1
- package/views/ui/UI.d.ts +2 -2
- package/webdoc/GeotriggersInfo.d.ts +3 -3
- package/webdoc/IPSInfo.d.ts +3 -3
- package/webdoc/Widgets.d.ts +2 -2
- package/webdoc/applicationProperties/Search.d.ts +2 -2
- package/webdoc/applicationProperties/SearchLayer.d.ts +2 -2
- package/webdoc/applicationProperties/SearchLayerField.d.ts +2 -2
- package/webdoc/applicationProperties/SearchTable.d.ts +2 -2
- package/webdoc/applicationProperties/SearchTableField.d.ts +2 -2
- package/webdoc/applicationProperties/Viewing.d.ts +2 -2
- package/webdoc/geotriggersInfo/DeviceLocationFeed.d.ts +3 -3
- package/webdoc/geotriggersInfo/ExpressionInfo.d.ts +3 -3
- package/webdoc/geotriggersInfo/FeatureFenceParameters.d.ts +3 -3
- package/webdoc/geotriggersInfo/FeatureFilter.d.ts +3 -3
- package/webdoc/geotriggersInfo/FeatureLayerSource.d.ts +3 -3
- package/webdoc/geotriggersInfo/Geotrigger.d.ts +3 -3
- package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.d.ts +3 -3
- package/webdoc/geotriggersInfo/support/typeUtils.d.ts +0 -1
- package/webdoc/ips/AppleIPSProperties.d.ts +3 -3
- package/webdoc/ips/Configuration.d.ts +3 -3
- package/webdoc/ips/GNSSProperties.d.ts +3 -3
- package/webdoc/ips/PathSnappingProperties.d.ts +3 -3
- package/webdoc/ips/PositioningService.d.ts +3 -3
- package/webdoc/ips/SmoothingProperties.d.ts +3 -3
- package/webdoc/support/SlideThumbnail.d.ts +3 -3
- package/webdoc/support/types.d.ts +0 -1
- package/webdoc/widgets/FloorFilter.d.ts +2 -2
- package/webdoc/widgets/TimeSlider.d.ts +2 -2
- package/webmap/ApplicationProperties.d.ts +2 -2
- package/webmap/Bookmark.d.ts +2 -2
- package/webmap/InitialViewProperties.d.ts +2 -2
- package/webmap/background/ColorBackground.d.ts +2 -2
- package/webscene/ApplicationProperties.d.ts +2 -2
- package/webscene/Environment.d.ts +2 -2
- package/webscene/InitialViewProperties.d.ts +3 -3
- package/webscene/Presentation.d.ts +3 -3
- package/webscene/Slide.d.ts +4 -4
- package/webscene/SlideLegendInfo.d.ts +3 -3
- package/webscene/SunLighting.d.ts +2 -2
- package/webscene/VirtualLighting.d.ts +2 -2
- package/webscene/background/Background.d.ts +2 -2
- package/webscene/support/Description.d.ts +3 -3
- package/webscene/support/FeatureReference.d.ts +3 -3
- package/webscene/support/FeatureReferenceId.d.ts +3 -3
- package/webscene/support/LayerReference.d.ts +3 -3
- package/webscene/support/SlideElements.d.ts +3 -3
- package/webscene/support/SlideEnvironment.d.ts +3 -3
- package/webscene/support/SlideGround.d.ts +3 -3
- package/webscene/support/SlidePopupInfo.d.ts +3 -3
- package/webscene/support/SlideVisibleLayer.d.ts +3 -3
- package/webscene/support/Title.d.ts +3 -3
- package/widgets/Attachments/types.d.ts +0 -1
- package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
- package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +2 -2
- package/widgets/BasemapLayerList/types.d.ts +0 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +2 -2
- package/widgets/Bookmarks/BookmarksViewModel.d.ts +2 -2
- package/widgets/CatalogLayerList/CatalogLayerListViewModel.d.ts +2 -2
- package/widgets/CatalogLayerList/types.d.ts +0 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
- package/widgets/Daylight/DaylightViewModel.d.ts +2 -2
- package/widgets/Daylight/types.d.ts +0 -1
- package/widgets/DirectionalPad/DirectionalPadViewModel.d.ts +2 -2
- package/widgets/DirectionalPad/types.d.ts +0 -1
- package/widgets/Directions/DirectionsViewModel.d.ts +2 -2
- package/widgets/Editor/EditorViewModel.d.ts +2 -2
- package/widgets/Editor/UpdateFeaturesWorkflowData.d.ts +2 -2
- package/widgets/Editor/Workflow.d.ts +2 -2
- package/widgets/ElevationProfile/ElevationProfileLine.d.ts +2 -2
- package/widgets/FeatureForm/FeatureFormViewModel.d.ts +3 -3
- package/widgets/FeatureTable/Grid/GridViewModel.d.ts +2 -2
- package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +3 -3
- package/widgets/FeatureTable/support/EditableColumnTemplateMixin.d.ts +0 -1
- package/widgets/FeatureTable/support/TableTemplate.d.ts +3 -3
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +2 -2
- package/widgets/Features/FeaturesViewModel.d.ts +2 -2
- package/widgets/Histogram/types.d.ts +0 -1
- package/widgets/HistogramRangeSlider/types.d.ts +0 -1
- package/widgets/Home/HomeViewModel.d.ts +2 -2
- package/widgets/Home.d.ts +1 -2
- package/widgets/LayerList/LayerListViewModel.d.ts +2 -2
- package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.d.ts +2 -2
- package/widgets/Measurement/types.d.ts +0 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.d.ts +3 -3
- package/widgets/OrientedImageryViewer/types.d.ts +0 -1
- package/widgets/Print/CustomTemplate.d.ts +2 -2
- package/widgets/Print/PrintViewModel.d.ts +3 -3
- package/widgets/ScaleRangeSlider/types.d.ts +0 -1
- package/widgets/Search/SearchSource.d.ts +2 -2
- package/widgets/Search/SearchViewModel.d.ts +3 -4
- package/widgets/ShadowCast/types.d.ts +0 -1
- package/widgets/Sketch/SketchViewModel.d.ts +2 -2
- package/widgets/Swipe/types.d.ts +0 -1
- package/widgets/TableList/TableListViewModel.d.ts +2 -2
- package/widgets/TimeSlider/TimeSliderViewModel.d.ts +2 -2
- package/widgets/Track/types.d.ts +0 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +2 -2
- package/widgets/ValuePicker/types.d.ts +0 -1
- package/widgets/Weather/types.d.ts +0 -1
- package/widgets/Widget.d.ts +3 -3
- package/widgets/support/GeolocationPositioning.d.ts +2 -2
- package/widgets/support/GridControls/GridControlsViewModel.d.ts +2 -2
- package/widgets/support/GridControls/types.d.ts +0 -1
- package/widgets/support/forms/types.d.ts +0 -1
- package/widgets/types.d.ts +1 -2
- package/assets/esri/core/workers/chunks/3606fc5537c4d11b9554.js +0 -1
- package/assets/esri/core/workers/chunks/3ad7ec46adecf00ae1c2.js +0 -1
- package/assets/esri/core/workers/chunks/3b67aa46a60e35469bf8.js +0 -1
- package/assets/esri/core/workers/chunks/4b09d92c51c4619b548a.js +0 -1
- package/assets/esri/core/workers/chunks/52684c2abc9e8ce793cf.js +0 -1
- package/assets/esri/core/workers/chunks/532935f420ed5f13c011.js +0 -1
- package/assets/esri/core/workers/chunks/5348e4dc55428de9bba7.js +0 -1
- package/assets/esri/core/workers/chunks/53a1c6e008287d1f12f0.js +0 -1
- package/assets/esri/core/workers/chunks/5fc6cada83bf8462d54c.js +0 -1
- package/assets/esri/core/workers/chunks/7a1ec6ac88d974cc5074.js +0 -1
- package/assets/esri/core/workers/chunks/7f76566d9b3801742387.js +0 -1
- package/assets/esri/core/workers/chunks/81e395a93c67749c6487.js +0 -1
- package/assets/esri/core/workers/chunks/8deae3a426eceae73186.js +0 -1
- package/assets/esri/core/workers/chunks/a4ee92867ad5cde25aed.js +0 -1
- package/assets/esri/core/workers/chunks/ab3e457c82fa9bd0203f.js +0 -1
- package/assets/esri/core/workers/chunks/af3d4eba6fe24db3ceba.js +0 -1
- package/assets/esri/core/workers/chunks/b1085fa91724e2d3b24f.js +0 -1
- package/assets/esri/core/workers/chunks/b48b0f512a1cd7226bdc.js +0 -1
- package/assets/esri/core/workers/chunks/c0265669fb616f052b65.js +0 -1
- package/assets/esri/core/workers/chunks/d3c69c9cb3d9c3f5c67a.js +0 -1
- package/assets/esri/core/workers/chunks/d477def8bfd8482596d1.js +0 -1
- package/assets/esri/core/workers/chunks/dd30c1f5da0af72becd1.js +0 -1
- package/assets/esri/core/workers/chunks/dfef6e3d7bbf099de498.js +0 -1
- package/layers/support/ElevationTileData.d.ts +0 -32
- package/rest/geoprocessor/execute.d.ts +0 -6
- /package/layers/buildingSublayers/{utils.d.ts → types.d.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type WebSceneVirtualLighting from "../../../webscene/VirtualLighting.js";
|
|
2
|
-
import type { EventedMixin
|
|
2
|
+
import type { EventedMixin } from "../../../core/Evented.js";
|
|
3
3
|
import type { VirtualLightingProperties as WebSceneVirtualLightingProperties } from "../../../webscene/VirtualLighting.js";
|
|
4
4
|
|
|
5
|
-
export interface VirtualLightingProperties extends WebSceneVirtualLightingProperties
|
|
5
|
+
export interface VirtualLightingProperties extends WebSceneVirtualLightingProperties {}
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* The VirtualLighting class allows you to change the lighting in the scene to virtual light. The position of the light
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import o from"../../../request.js";import i from"../../../core/Error.js";import t from"../../../core/Logger.js";import{releaseMaybe as r}from"../../../core/maybe.js";import{isAborted as s}from"../../../core/promiseUtils.js";import{property as a,subclass as n}from"../../../core/accessorSupport/decorators.js";import l from"../../../layers/support/ElevationTileData.js";import{acquireDecoder as c}from"../../../layers/support/LercDecoder.js";import{queueHighPriority as m}from"../../../request/queue.js";import{ElevationLayerView3DModifications as p,ElevationLayerView3DModification as f}from"./ElevationLayerView3DModifications.js";import{LayerView3D as d}from"./LayerView3D.js";import{TiledLayerView3D as y}from"./TiledLayerView3D.js";import{elevationNoDataValue as h}from"../terrain/TerrainConst.js";import{useFetchTileForLayer as g}from"../terrain/terrainUtils.js";import u from"../../layers/LayerView.js";let w=class extends(y(d(u))){constructor(){super(...arguments),this.type="elevation-3d",this.modifications=new p}get tileInfo(){return this.layer.tileInfo}initialize(){const e=this.view,o=e.map?.allLayers,t=o&&o.includes(this.layer),r=e.map?.ground?.layers,s=r&&r.includes(this.layer);if(t&&!s){const e=new i("layerview:elevation-layer-only",`3D elevation layer '${this.layer.id}' can only be added to layers in map.ground`);this.addResolvingPromise(Promise.reject(e))}this._lercDecoder=c(e.resourceController),this._addTilingSchemeMatchPromise()}destroy(){this._lercDecoder=r(this._lercDecoder)}async fetchElevationTile(e,o){const i=await this._fetchTileData(e.lij,o);if(!s(o))return i&&await this.modifications.apply(i,e,o.signal),i}async _fetchTileData(e,i){const r=this.layer;if(g(r)){const o=await r.fetchTile(e[0],e[1],e[2],{noDataValue:h,signal:i.signal});return s(i)?void t.getLogger(this).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true."):o}i={...m,responseType:"array-buffer",...i};const a=this.getTileUrl(e),n=(await o(a,i)).data,c=await this._lercDecoder.decode(n,{noDataValue:h},i.signal);if(c)return new l(c);throw new Error("LERC decoding failed")}async setModifications(e){if(this.modifications.modifications.length=0,!e||0===e.length)return;this._simplifyOperatorPromise??=import("../../../geometry/operators/simplifyOperator.js");const o=await this._simplifyOperatorPromise;for(const i of e){const e=i.geometry;if("polygon"===e?.type){const r=o.execute(e);if("polygon"===r?.type){const e=new f(i.type,r);this.modifications.modifications.push(e)}else t.getLogger(this).warn("Failed to simplify modification polygon")}else t.getLogger(this).warn("Invalid modification added to elevation layer: "+(e?`non polygon geometry ${e.type}`:"no geometry"))}}};e([a()],w.prototype,"layer",void 0),e([a()],w.prototype,"tileInfo",null),e([a()],w.prototype,"modifications",void 0),w=e([n("esri.views.3d.layers.ElevationLayerView3D")],w);const v=w;export{v as default};
|
|
5
|
+
import{__decorate as e}from"tslib";import o from"../../../request.js";import i from"../../../core/Error.js";import t from"../../../core/Logger.js";import{releaseMaybe as r}from"../../../core/maybe.js";import{isAborted as s}from"../../../core/promiseUtils.js";import{property as a,subclass as n}from"../../../core/accessorSupport/decorators.js";import l from"../../../layers/support/ElevationTileData.js";import{acquireDecoder as c}from"../../../layers/support/LercDecoder.js";import{queueHighPriority as m}from"../../../request/queue.js";import{ElevationLayerView3DModifications as p,ElevationLayerView3DModification as f}from"./ElevationLayerView3DModifications.js";import{LayerView3D as d}from"./LayerView3D.js";import{TiledLayerView3D as y}from"./TiledLayerView3D.js";import{elevationNoDataValue as h}from"../terrain/TerrainConst.js";import{useFetchTileForLayer as g}from"../terrain/terrainUtils.js";import u from"../../layers/LayerView.js";let w=class extends(y(d(u))){constructor(){super(...arguments),this.type="elevation-3d",this.modifications=new p}get tileInfo(){return this.layer.tileInfo}initialize(){const e=this.view,o=e.map?.allLayers,t=o&&o.includes(this.layer),r=e.map?.ground?.layers,s=r&&r.includes(this.layer);if(t&&!s){const e=new i("layerview:elevation-layer-only",`3D elevation layer '${this.layer.id}' can only be added to layers in map.ground`);this.addResolvingPromise(Promise.reject(e))}this._lercDecoder=c(e.resourceController),this._addTilingSchemeMatchPromise()}destroy(){this._lercDecoder=r(this._lercDecoder)}async fetchElevationTile(e,o){const i=await this._fetchTileData(e.lij,o);if(!s(o))return i&&await this.modifications.apply(i,e,o.signal),i}async _fetchTileData(e,i){const r=this.layer;if(g(r)){const o=await r.fetchTile(e[0],e[1],e[2],{noDataValue:h,signal:i.signal});return s(i)?void t.getLogger(this).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true."):l.from(o)}i={...m,responseType:"array-buffer",...i};const a=this.getTileUrl(e),n=(await o(a,i)).data,c=await this._lercDecoder.decode(n,{noDataValue:h},i.signal);if(c)return new l(c);throw new Error("LERC decoding failed")}async setModifications(e){if(this.modifications.modifications.length=0,!e||0===e.length)return;this._simplifyOperatorPromise??=import("../../../geometry/operators/simplifyOperator.js");const o=await this._simplifyOperatorPromise;for(const i of e){const e=i.geometry;if("polygon"===e?.type){const r=o.execute(e);if("polygon"===r?.type){const e=new f(i.type,r);this.modifications.modifications.push(e)}else t.getLogger(this).warn("Failed to simplify modification polygon")}else t.getLogger(this).warn("Invalid modification added to elevation layer: "+(e?`non polygon geometry ${e.type}`:"no geometry"))}}};e([a()],w.prototype,"layer",void 0),e([a()],w.prototype,"tileInfo",null),e([a()],w.prototype,"modifications",void 0),w=e([n("esri.views.3d.layers.ElevationLayerView3D")],w);const v=w;export{v as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{equals as t}from"../../../core/arrayUtils.js";import"../../../core/has.js";import{removeMaybe as i,abortMaybe as s}from"../../../core/maybe.js";import{debounce as r,ignoreAbortErrors as l,throwIfAborted as n}from"../../../core/promiseUtils.js";import{watch as a,when as o,sync as u,whenOnce as d}from"../../../core/reactiveUtils.js";import{addFrameTask as h}from"../../../core/scheduling.js";import{Seconds as p,secondsFromMilliseconds as c}from"../../../core/time.js";import{property as m,subclass as g}from"../../../core/accessorSupport/decorators.js";import{projectOrLoad as f}from"../../../geometry/projectionUtils.js";import _ from"../../../geometry/SpatialReference.js";import{fromExtent as y,intersection as v,toExtent as T,create as w,contains as S,area as b,intersects as R}from"../../../geometry/support/aaBoundingRect.js";import{getInfo as x}from"../../../geometry/support/spatialReferenceUtils.js";import L from"../../../symbols/support/ElevationInfo.js";import{simulationSettingsEqual as A,getPositions as j,getFlowSimulationSettings as E}from"../../2d/engine/flow/utils.js";import M from"./SubView3D.js";import{getFeatureTileId as U}from"./support/FeatureTileDescriptor.js";import{makeScheduleFunction as P}from"./support/makeScheduleFunction.js";import{debugFlags as C}from"../support/debugFlags.js";import{tileFilterDistance as F,scaleThresholdForLoadingAllTiles as I,defaultTransitionDuration as D,transitionDurationFactor as W,seamlessTransitionEnabled as q,densityFactor as V,loadAllTilesDensityFactor as k,averageLoadingTimeSmoothingFactor as G,fadeOutTime as O,fadeInTime as B,minimumTracingResolution as H}from"../support/flow/constants.js";import{isFullExtent as z,wrappedWidth as N,FlowQuery3D as Q}from"../support/flow/FlowQuery3D.js";import{FlowWorkerHandle as J}from"../support/flow/FlowWorkerHandle.js";import{materialParametersFromRenderer as K,createStreamlineGeometry as X}from"../support/flow/geometryUtils.js";import{boundingRectOfTiles as Y}from"../support/flow/loadUtils.js";import{StreamlineResources3DOverlay as Z}from"../support/flow/StreamlineResources3DOverlay.js";import{StreamlineResources3DShape as $}from"../support/flow/StreamlineResources3DShape.js";import{webMercatorWorldExtent as ee}from"../terrain/TerrainConst.js";import{descendantsAtLevel as te,tilesAreRelated as ie}from"../terrain/tileUtils.js";import{isScreenSizePerspectiveEnabled as se}from"../webgl-engine/lib/screenSizePerspectiveUtils.js";import{RibbonLineMaterial as re}from"../webgl-engine/materials/RibbonLineMaterial.js";import{isInEffectiveScaleRange as le,hasLayerBasedScaleVisibility as ne}from"../../support/layerViewUtils.js";import{TaskPriority as ae}from"../../support/Scheduler.js";let oe=class extends M{constructor(e){super(e),this.type="flow",this.renderedTiles=null,this.requireLoad=!1,this.workerHandle=null,this.frameTask=null,this._averageLoadingTime=p(0),this._abortController=null,this._loadingState="ready-to-load",this._tilesUpdateIsWaiting=!1,this._debugAllowAutoLoading=!0,this.emissiveStrength=0,this._overrideMaterialParameters=null,this._overrideSimulationSettings=null,this._overrideTransitionEnabled=null,this._updateTask=null,this._debouncedTileUpdate=r(async()=>{const{allTiles:e}=this.surface,t=this._getTileFilterFunction(),i=new Set;function*s(s){for(let r=0;r<e.length;++r){const l=e.at(r);t(l)&&i.add(l),s.madeProgress(),s.done&&(s=yield)}}await this.frameTask.scheduleGenerator(s),this.renderedTiles=i})}initialize(){const{surface:e,view:t}=this,{resourceController:i}=t;this.workerHandle=new J(P(i)),this.frameTask=i.scheduler.registerTask(ae.FLOW_GENERATOR),this._updateTask=h({update:()=>this._update()}),this.addHandles([a(()=>this._simulationSettings,()=>this.triggerLoad(),{sync:!0,equals:(e,t)=>null==e&&null==t||null!=e&&null!=t&&A(e,t)}),a(()=>{const{elevationInfo:e}=this;return[this._clippingArea,this._visible,this._draped,this.view.state.contentPixelRatio,this.view.viewingMode,e?.mode,e?.offset,e?.unit,this._effectiveDensity]},()=>this.triggerLoad(),u),o(()=>!this.view.animationsEnabled,()=>{const{_resources:e,_lastResources:t}=this;null!=e&&(e.startTime=pe),null!=t&&(t.startTime=pe)},u),a(()=>this._materialParameters,e=>{this._resources?.setMaterialParameters(e),this._lastResources?.setMaterialParameters(e)}),o(()=>e.allTilesCreated,()=>this._triggerTilesUpdate,u),t.enableFeatureTiles(),a(()=>[this._dataBounds,this._featureTilesBounds,this.loadAllTiles],()=>this._triggerTilesUpdate()),a(()=>this._flowRenderer,(e,t)=>{const i=t?.visualVariables??[],s=e?.visualVariables??[];s.length===i.length&&s.every((e,t)=>e.type===i[t].type)||this.clear()}),o(()=>!t.featureTiles?.updating,()=>{this._triggerTilesUpdate()})]),this._triggerTilesUpdate()}destroy(){this._updateTask=i(this._updateTask),this.abort(),this.clear()}abort(){this._abortController=s(this._abortController),this.requireLoad=!1}get _clippingArea(){const e=f(this.view.clippingArea,this.surface.spatialReference).geometry;return null==e?null:y(e)}get _dataBounds(){const e=this._fullExtentSurfaceSpatialReference;return null==e?null:y(e)}get _fullExtentSurfaceSpatialReference(){return f(this.layer.fullExtent,this.surface.spatialReference).geometry}get _draped(){return"on-the-ground"===this.elevationInfo.mode}get extent(){if(this.loadAllTiles)return ce(this._fullExtentSurfaceSpatialReference);const{spatialReference:e}=this.surface;let t=this.renderedTiles;if(null==e||null==t)return null;const i=this.view.terrainLevel;if(null!=i){const e=new Set;t.forEach(t=>{Math.abs(i-t.level)<F&&e.add(t)}),t=e}const s=Y(t,this.spatialReferenceInfo);return null==s?null:(v(s,this._clippingArea,s),ce(T(s,e)))}get loadAllTiles(){return this.view.scale>(C.FLOW_GLOBAL_SCALE_THRESHOLD??I)}get isDataGlobal(){const{extent:e,spatialReferenceInfo:t}=this;return null!=e&&z(e.xmin,e.xmax,t)}get loadAllTilesLevel(){const{tilingScheme:e}=this.surface;return Math.min(Math.ceil(e.levelAtScale(C.FLOW_GLOBAL_SCALE_THRESHOLD??I)),e.getMaxLod())}get targetTiles(){const e=new Map;if(this.loadAllTiles){const{_dataBounds:t}=this;if(null==t)return e;const i=w(),s=this.loadAllTilesLevel,r=this.surface.tilingScheme,l=r.rootTilesInExtent(t).flatMap(e=>te(e,s));for(const n of l){const[l,a,o]=n;r.getExtent(s,a,o,i),de(t,i)&&e.set(U(s,a,o),n)}return e}const{renderedTiles:t}=this;for(const i of t??[])e.set(i.key,i.lij);return e}get _featureTilesBounds(){const e=this.view.featureTiles?.filterExtent,t=f(e,this.surface.spatialReference).geometry;return null==t?null:y(t)}get _flowRenderer(){const e=this.layer.renderer;return"flow"!==e?.type?null:e}get _materialParameters(){return{...K(this._flowRenderer,this.layerView.fullOpacity,this.emissiveStrength),...this._overrideMaterialParameters,hasSlicePlane:this.layerView.slicePlaneEnabled,screenSizePerspective:!this._draped&&se(this.layer.screenSizePerspectiveEnabled)?this.view.screenSizePerspective.parameters:null}}get _opacity(){return this.layerView.fullOpacity}get _seamlessTransitionWaitingTime(){const{_averageLoadingTime:e}=this;return p(0===e?D:this._averageLoadingTime*W)}get _seamlessTransitionEnabled(){return null!=this._overrideTransitionEnabled?this._overrideTransitionEnabled:q}get _tracingResolution(){const{extent:e}=this;if(!e)return[0,0];const t=N(e.xmin,e.xmax,this.spatialReferenceInfo?.valid)/(e.ymax-e.ymin),[i,s]=this.view.size;let r,l;i<s?(r=i,l=i/t):(r=s*t,l=s);const n=H,a=this.view.qualitySettings.flow.maxTracingResolution,o=Math.max(1,n/Math.min(r,l)),u=o*Math.min(1,a/Math.max(r*o,l*o));return[Math.round(r*u),Math.round(l*u)]}get _visible(){const e=this._flowRenderer?.color;return this.visibleAtCurrentScale&&this.layer.effectiveVisible&&this._opacity>0&&(null==e||e.a>0)}get _estimatedStreamlines(){const{extent:e,_simulationSettings:t,renderedTiles:i,loadAllTiles:s}=this;if(null==t||null==i)return 0;const r=this._tracingResolution[0]*this._tracingResolution[1]/t.lineSpacing**2*t.density;if(s)return 2*r;const l=null==e?null:y(e);if(null==l)return 0;let n=0;for(const u of i)S(l,u.extent)&&(n+=b(u.extent));const a=b(l),o=0===a?0:n/a;return 2*Math.round(r*o)}get _effectiveDensity(){const{_estimatedStreamlines:e,_simulationSettings:t}=this,{qualitySettings:i,quality:s}=this.view;if(null==t)return 0;const r=i.flow.maxTotalNumberOfStreamlines,l=e>=r?r/e:1,n=t.density*l*s;return t.lineSpacing/Math.sqrt(n)<t.lineCollisionWidth?(t.lineSpacing/t.lineCollisionWidth)**2:n}get elevationInfo(){return this.layer.elevationInfo??ue}startPositions(e){if(!this._seamlessTransitionEnabled)return[];const{_flowRenderer:t,_resources:i}=this;return null==t||null==i?[]:j(i.streamlines,i.query,e,t.flowSpeed)}get needsMagnitude(){return this._flowRenderer?.hasVisualVariables()??!1}get spatialReferenceInfo(){return x(this.surface.spatialReference)}get layer(){return this.layerView.layer}get loadingState(){return this._loadingState}get loadRequirementsMet(){return null!=this.renderedTiles&&(this.renderedTiles.size>0||this.loadAllTiles)&&null!=this.extent}getUpdating(){return!this.destroyed&&(null==this.extent||this.updatingHandles.updating||this.requireLoad||"before-transition"===this._loadingState)}get updating(){return this.getUpdating()}get visibleAtCurrentScale(){return!ne()||le(this.layer.effectiveScaleRange,this.view.scale)}get _simulationSettings(){const{_flowRenderer:e,_overrideSimulationSettings:t}=this;if(null==e)return null;let i=E(e);return i.segmentLength=i.lineCollisionWidth/2,i.onlyForwardTracing=!1,i.density*=V,this.loadAllTiles&&this.isDataGlobal&&(i.density*=k),null!=t&&(i={...i,...t}),i}getSimulationSettings(e){const{_simulationSettings:t,spatialReferenceInfo:i}=this;if(null==t)return null;const s="global"===this.view.viewingMode&&null!=i&&z(e.extent.xmin,e.extent.xmax,i);return{...t,wrapAround:s,density:this._effectiveDensity}}get surface(){return this.view.basemapTerrain}doRefresh(){this.triggerLoad()}clear(){this._resources?.detach(),this._resources=null,this._lastResources?.detach(),this._lastResources=null,this._loadingState="ready-to-load"}_update(){const e=this._time;this._lastResources?.hasFadedOut(e)&&this._lastResources.detach();const t=this._nextStateForTransition(e);if(!this.requireLoad||this.updatingHandles.updating||"ready-to-load"!==t||!this.loadRequirementsMet)return void(this._loadingState=t);this._loadingState="loading";const i=async()=>{const t=this._time,i=this._seamlessTransitionEnabled&&null!=this._resources?p(e+this._seamlessTransitionWaitingTime):e;await this._load(i);const s=p((this._time-t)/1e3);this._updateAverageLoadingTime(s)};this.updatingHandles.addPromise(l(i())),this.requireLoad=!1}_updateAverageLoadingTime(e){const t=G;this._averageLoadingTime=p(t*e+(1-t)*this._averageLoadingTime)}triggerLoad(){this._debugAllowAutoLoading&&(this.requireLoad=!0)}get _time(){return c(this.layerView.view.stage.renderer.renderContext.time)}async _load(e){const{extent:t,view:i}=this;if(!this._visible)return this.clear(),void(this._loadingState="ready-to-load");if(null==t)return void(this._loadingState="ready-to-load");const s=new Q(t,this.layerView.timeExtent,this._tracingResolution,i.state.contentPixelRatio,e);null==this._abortController&&(this._abortController=new AbortController);const r=this._abortController,l=await this._loadStreamlines(s,r.signal);if(n(r.signal),this._visible&&null!=l){this._lastResources?.detach(),this._lastResources=this._resources,this._resources=l;const t=this._getStartTime(e);null!=this._lastResources&&(this._lastResources.endTime=t),this._resources.startTime=t,this.view.animationsEnabled||(this._lastResources?.detach(),this._lastResources=null),await l.attach(),this._loadingState=this._seamlessTransitionEnabled?"before-transition":"transitioning"}else this._loadingState="ready-to-load"}async _loadStreamlines(e,t){const i=await this.fetchDataAndGenerateStreamlines(e,t);if(null==i)return null;const{geometries:s,material:r}=await this._createGeometry(e,i);return this._draped?new Z(e,i,r,s,this.layerView):new $(e,i,r,s,this.view)}async fetchDataAndGenerateStreamlines(e,t){return null}async _createGeometry(e,t){const i=new re(this._materialParameters,this.view.state.isGlobal),s=new Array,{elevationInfo:r,_draped:l,view:n}=this;function*a(a){for(let o=0;o<t.length;++o)s.push(X(n,e,t[o],r,i,l)),a.madeProgress(),a.done&&(a=yield)}return await this.frameTask.scheduleGenerator(a),{geometries:s,material:i}}_triggerTilesUpdate(){if(this._tilesUpdateIsWaiting)return;this._tilesUpdateIsWaiting=!0;const e=async()=>{await d(()=>this.view.stationary),this._tilesUpdateIsWaiting=!1,await this._debouncedTileUpdate()};this.updatingHandles.addPromise(l(e()))}_getTileFilterFunction(){const{_dataBounds:e,view:i,_featureTilesBounds:s,loadAllTiles:r}=this;if(r){const{loadAllTilesLevel:t}=this;return i=>i.level===t&&de(e,i.extent)}const l=t=>t.rendered&&t.visible&&de(e,t.extent),{featureTiles:n}=i;if(!n)return l;const a=n.tiles.filter(e=>e.measures.visible);return e=>l(e)&&de(s,e.extent)&&a.some(({lij:i})=>t(i,e.lij)||ie(i,e.lij))}_nextStateForTransition(e){const{_resources:t}=this;if(null==this._flowRenderer||null==t||"ready-to-load"===this._loadingState||"loading"===this._loadingState)return this._loadingState;const i=t.startTime;return e<i?"before-transition":e<i+O?"transitioning":"ready-to-load"}_getStartTime(e){if(!this.view.animationsEnabled)return pe;const t=this._time;return p(t>e?t:e)}get usedMemory(){return(this._lastResources?.usedMemory??0)+(this._resources?.usedMemory??0)}get test(){}};e([m()],oe.prototype,"type",void 0),e([m()],oe.prototype,"renderedTiles",void 0),e([m()],oe.prototype,"_resources",void 0),e([m()],oe.prototype,"_lastResources",void 0),e([m()],oe.prototype,"requireLoad",void 0),e([m()],oe.prototype,"_averageLoadingTime",void 0),e([m()],oe.prototype,"_loadingState",void 0),e([m()],oe.prototype,"emissiveStrength",void 0),e([m()],oe.prototype,"_clippingArea",null),e([m()],oe.prototype,"_dataBounds",null),e([m()],oe.prototype,"_fullExtentSurfaceSpatialReference",null),e([m()],oe.prototype,"_draped",null),e([m()],oe.prototype,"extent",null),e([m()],oe.prototype,"loadAllTiles",null),e([m()],oe.prototype,"isDataGlobal",null),e([m()],oe.prototype,"loadAllTilesLevel",null),e([m()],oe.prototype,"targetTiles",null),e([m()],oe.prototype,"_featureTilesBounds",null),e([m()],oe.prototype,"_flowRenderer",null),e([m()],oe.prototype,"_materialParameters",null),e([m()],oe.prototype,"_opacity",null),e([m()],oe.prototype,"_seamlessTransitionWaitingTime",null),e([m()],oe.prototype,"_seamlessTransitionEnabled",null),e([m()],oe.prototype,"_tracingResolution",null),e([m()],oe.prototype,"_visible",null),e([m()],oe.prototype,"_estimatedStreamlines",null),e([m()],oe.prototype,"_effectiveDensity",null),e([m()],oe.prototype,"elevationInfo",null),e([m()],oe.prototype,"needsMagnitude",null),e([m()],oe.prototype,"spatialReferenceInfo",null),e([m()],oe.prototype,"layer",null),e([m()],oe.prototype,"loadingState",null),e([m()],oe.prototype,"updating",null),e([m()],oe.prototype,"visibleAtCurrentScale",null),e([m()],oe.prototype,"_overrideMaterialParameters",void 0),e([m()],oe.prototype,"_overrideSimulationSettings",void 0),e([m()],oe.prototype,"_overrideTransitionEnabled",void 0),e([m()],oe.prototype,"_simulationSettings",null),e([m()],oe.prototype,"surface",null),oe=e([g("esri.views.3d.layers.FlowSubView3D")],oe);const ue=new L({mode:"on-the-ground"});function de(e,t){return null==e||null==t||R(e,t)}const he=T(ee,_.WebMercator),pe=p(-B);function ce(e){return null!=e&&e.spatialReference.isWebMercator?e?.intersection(he):e}export{oe as default};
|
|
5
|
+
import{__decorate as e}from"tslib";import{equals as t}from"../../../core/arrayUtils.js";import"../../../core/has.js";import{removeMaybe as i,abortMaybe as s}from"../../../core/maybe.js";import{debounce as r,ignoreAbortErrors as l,throwIfAborted as n}from"../../../core/promiseUtils.js";import{watch as a,when as o,sync as u,whenOnce as d}from"../../../core/reactiveUtils.js";import{addFrameTask as h}from"../../../core/scheduling.js";import{Seconds as c,secondsFromMilliseconds as p}from"../../../core/time.js";import{property as m,subclass as g}from"../../../core/accessorSupport/decorators.js";import{projectOrLoad as f}from"../../../geometry/projectionUtils.js";import _ from"../../../geometry/SpatialReference.js";import{fromExtent as y,intersection as v,toExtent as T,create as w,contains as S,area as b,intersects as R}from"../../../geometry/support/aaBoundingRect.js";import{getInfo as x}from"../../../geometry/support/spatialReferenceUtils.js";import A from"../../../symbols/support/ElevationInfo.js";import{simulationSettingsEqual as L,getPositions as j,getFlowSimulationSettings as E}from"../../2d/engine/flow/utils.js";import M from"./SubView3D.js";import{getFeatureTileId as P}from"./support/FeatureTileDescriptor.js";import{makeScheduleFunction as U}from"./support/makeScheduleFunction.js";import{debugFlags as C}from"../support/debugFlags.js";import{tileFilterDistance as W,scaleThresholdForLoadingAllTiles as F,defaultTransitionDuration as I,transitionDurationFactor as D,seamlessTransitionEnabled as k,densityFactor as q,loadAllTilesDensityFactor as V,averageLoadingTimeSmoothingFactor as G,fadeOutTime as O,fadeInTime as B,minimumTracingResolution as H}from"../support/flow/constants.js";import{isFullExtent as z,wrappedWidth as N,FlowQuery3D as Q}from"../support/flow/FlowQuery3D.js";import{FlowWorkerHandle as J}from"../support/flow/FlowWorkerHandle.js";import{materialParametersFromRenderer as K,createStreamlineGeometry as X}from"../support/flow/geometryUtils.js";import{boundingRectOfTiles as Y}from"../support/flow/loadUtils.js";import{StreamlineResources3DOverlay as Z}from"../support/flow/StreamlineResources3DOverlay.js";import{StreamlineResources3DShape as $}from"../support/flow/StreamlineResources3DShape.js";import{webMercatorWorldExtent as ee}from"../terrain/TerrainConst.js";import{descendantsAtLevel as te,tilesAreRelated as ie}from"../terrain/tileUtils.js";import{isScreenSizePerspectiveEnabled as se}from"../webgl-engine/lib/screenSizePerspectiveUtils.js";import{RibbonLineMaterial as re}from"../webgl-engine/materials/RibbonLineMaterial.js";import{isInEffectiveScaleRange as le,hasLayerBasedScaleVisibility as ne}from"../../support/layerViewUtils.js";import{TaskPriority as ae}from"../../support/Scheduler.js";let oe=class extends M{constructor(e){super(e),this.type="flow",this.renderedTiles=null,this.requireLoad=!1,this.workerHandle=null,this.frameTask=null,this._averageLoadingTime=c(0),this._abortController=null,this._loadingState="ready-to-load",this._tilesUpdateIsWaiting=!1,this._debugAllowAutoLoading=!0,this.emissiveStrength=0,this._overrideMaterialParameters=null,this._overrideSimulationSettings=null,this._overrideTransitionEnabled=null,this._updateTask=null,this._debouncedTileUpdate=r(async()=>{const{allTiles:e}=this.surface,t=this._getTileFilterFunction(),i=new Set;function*s(s){for(let r=0;r<e.length;++r){const l=e.at(r);t(l)&&i.add(l),s.madeProgress(),s.done&&(s=yield)}}await this.frameTask.scheduleGenerator(s),this.renderedTiles=i})}initialize(){const{surface:e,view:t}=this,{resourceController:i}=t;this.workerHandle=new J(U(i)),this.frameTask=i.scheduler.registerTask(ae.FLOW_GENERATOR),this._updateTask=h({update:()=>this._update()}),this.addHandles([a(()=>this._simulationSettings,()=>this.triggerLoad(),{sync:!0,equals:(e,t)=>null==e&&null==t||null!=e&&null!=t&&L(e,t)}),a(()=>{const{elevationInfo:e}=this;return[this._clippingArea,this.visible,this._draped,this.view.state.contentPixelRatio,this.view.viewingMode,e?.mode,e?.offset,e?.unit,this._effectiveDensity]},()=>this.triggerLoad(),u),o(()=>!this.view.animationsEnabled,()=>{const{_resources:e,_lastResources:t}=this;null!=e&&(e.startTime=ce),null!=t&&(t.startTime=ce)},u),a(()=>this._materialParameters,e=>{this._resources?.setMaterialParameters(e),this._lastResources?.setMaterialParameters(e)}),o(()=>e.allTilesCreated,()=>this._triggerTilesUpdate,u),t.enableFeatureTiles(),a(()=>[this._dataBounds,this._featureTilesBounds,this.loadAllTiles],()=>this._triggerTilesUpdate()),a(()=>this._flowRenderer,(e,t)=>{const i=t?.visualVariables??[],s=e?.visualVariables??[];s.length===i.length&&s.every((e,t)=>e.type===i[t].type)||this.clear()}),o(()=>!t.featureTiles?.updating,()=>{this._triggerTilesUpdate()})]),this._triggerTilesUpdate()}destroy(){this._updateTask=i(this._updateTask),this.abort(),this.clear()}abort(){this._abortController=s(this._abortController),this.requireLoad=!1}get _clippingArea(){const e=f(this.view.clippingArea,this.surface.spatialReference).geometry;return null==e?null:y(e)}get _dataBounds(){const e=this._fullExtentSurfaceSpatialReference;return null==e?null:y(e)}get _fullExtentSurfaceSpatialReference(){return f(this.layer.fullExtent,this.surface.spatialReference).geometry}get _draped(){return"on-the-ground"===this.elevationInfo.mode}get extent(){if(this.loadAllTiles)return pe(this._fullExtentSurfaceSpatialReference);const{spatialReference:e}=this.surface;let t=this.renderedTiles;if(null==e||null==t)return null;const i=this.view.terrainLevel;if(null!=i){const e=new Set;t.forEach(t=>{Math.abs(i-t.level)<W&&e.add(t)}),t=e}const s=Y(t,this.spatialReferenceInfo);return null==s?null:(v(s,this._clippingArea,s),pe(T(s,e)))}get loadAllTiles(){return this.view.scale>(C.FLOW_GLOBAL_SCALE_THRESHOLD??F)}get isDataGlobal(){const{extent:e,spatialReferenceInfo:t}=this;return null!=e&&z(e.xmin,e.xmax,t)}get loadAllTilesLevel(){const{tilingScheme:e}=this.surface;return Math.min(Math.ceil(e.levelAtScale(C.FLOW_GLOBAL_SCALE_THRESHOLD??F)),e.getMaxLod())}get targetTiles(){const e=new Map;if(this.loadAllTiles){const{_dataBounds:t}=this;if(null==t)return e;const i=w(),s=this.loadAllTilesLevel,r=this.surface.tilingScheme,l=r.rootTilesInExtent(t).flatMap(e=>te(e,s));for(const n of l){const[l,a,o]=n;r.getExtent(s,a,o,i),de(t,i)&&e.set(P(s,a,o),n)}return e}const{renderedTiles:t}=this;for(const i of t??[])e.set(i.key,i.lij);return e}get _featureTilesBounds(){const e=this.view.featureTiles?.filterExtent,t=f(e,this.surface.spatialReference).geometry;return null==t?null:y(t)}get _flowRenderer(){const e=this.layer.renderer;return"flow"!==e?.type?null:e}get _materialParameters(){return{...K(this._flowRenderer,this.layerView.fullOpacity,this.emissiveStrength),...this._overrideMaterialParameters,hasSlicePlane:this.layerView.slicePlaneEnabled,screenSizePerspective:!this._draped&&se(this.layer.screenSizePerspectiveEnabled)?this.view.screenSizePerspective.parameters:null}}get _opacity(){return this.layerView.fullOpacity}get _seamlessTransitionWaitingTime(){const{_averageLoadingTime:e}=this;return c(0===e?I:this._averageLoadingTime*D)}get _seamlessTransitionEnabled(){return null!=this._overrideTransitionEnabled?this._overrideTransitionEnabled:k}get _tracingResolution(){const{extent:e}=this;if(!e)return[0,0];const t=N(e.xmin,e.xmax,this.spatialReferenceInfo?.valid)/(e.ymax-e.ymin),[i,s]=this.view.size;let r,l;i<s?(r=i,l=i/t):(r=s*t,l=s);const n=H,a=this.view.qualitySettings.flow.maxTracingResolution,o=Math.max(1,n/Math.min(r,l)),u=o*Math.min(1,a/Math.max(r*o,l*o));return[Math.round(r*u),Math.round(l*u)]}get visible(){const e=this._flowRenderer?.color;return this.visibleAtCurrentScale&&this.layer.effectiveVisible&&this._opacity>0&&(null==e||e.a>0)}get _estimatedStreamlines(){const{extent:e,_simulationSettings:t,renderedTiles:i,loadAllTiles:s}=this;if(null==t||null==i)return 0;const r=this._tracingResolution[0]*this._tracingResolution[1]/t.lineSpacing**2*t.density;if(s)return 2*r;const l=null==e?null:y(e);if(null==l)return 0;let n=0;for(const u of i)S(l,u.extent)&&(n+=b(u.extent));const a=b(l),o=0===a?0:n/a;return 2*Math.round(r*o)}get _effectiveDensity(){const{_estimatedStreamlines:e,_simulationSettings:t}=this,{qualitySettings:i,quality:s}=this.view;if(null==t)return 0;const r=i.flow.maxTotalNumberOfStreamlines,l=e>=r?r/e:1,n=t.density*l*s;return t.lineSpacing/Math.sqrt(n)<t.lineCollisionWidth?(t.lineSpacing/t.lineCollisionWidth)**2:n}get elevationInfo(){return this.layer.elevationInfo??ue}startPositions(e){if(!this._seamlessTransitionEnabled)return[];const{_flowRenderer:t,_resources:i}=this;return null==t||null==i?[]:j(i.streamlines,i.query,e,t.flowSpeed)}get needsMagnitude(){return this._flowRenderer?.hasVisualVariables()??!1}get spatialReferenceInfo(){return x(this.surface.spatialReference)}get layer(){return this.layerView.layer}get loadingState(){return this._loadingState}get loadRequirementsMet(){return null!=this.renderedTiles&&(this.renderedTiles.size>0||this.loadAllTiles)&&null!=this.extent}hasWork(){return null==this.extent||this.updatingHandles.updating||this.requireLoad||"before-transition"===this._loadingState}get updating(){return this._debugAllowAutoLoading&&this.visible&&!(this.destroyed||this.destroying)&&this.hasWork()}get visibleAtCurrentScale(){return!ne()||le(this.layer.effectiveScaleRange,this.view.scale)}get _simulationSettings(){const{_flowRenderer:e,_overrideSimulationSettings:t}=this;if(null==e)return null;let i=E(e);return i.segmentLength=i.lineCollisionWidth/2,i.onlyForwardTracing=!1,i.density*=q,this.loadAllTiles&&this.isDataGlobal&&(i.density*=V),null!=t&&(i={...i,...t}),i}getSimulationSettings(e){const{_simulationSettings:t,spatialReferenceInfo:i}=this;if(null==t)return null;const s="global"===this.view.viewingMode&&null!=i&&z(e.extent.xmin,e.extent.xmax,i);return{...t,wrapAround:s,density:this._effectiveDensity}}get surface(){return this.view.basemapTerrain}doRefresh(){}clear(){this._resources?.detach(),this._resources=null,this._lastResources?.detach(),this._lastResources=null,this._loadingState="ready-to-load"}_update(){const e=this._time;this._lastResources?.hasFadedOut(e)&&this._lastResources.detach();const t=this._nextStateForTransition(e);if(!this.requireLoad||this.updatingHandles.updating||"ready-to-load"!==t||!this.loadRequirementsMet)return void(this._loadingState=t);this._loadingState="loading";const i=async()=>{const t=this._time,i=this._seamlessTransitionEnabled&&null!=this._resources?c(e+this._seamlessTransitionWaitingTime):e;await this._load(i);const s=c((this._time-t)/1e3);this._updateAverageLoadingTime(s)};this.updatingHandles.addPromise(l(i())),this.requireLoad=!1}_updateAverageLoadingTime(e){const t=G;this._averageLoadingTime=c(t*e+(1-t)*this._averageLoadingTime)}triggerLoad(){this._debugAllowAutoLoading&&(this.visible?this.requireLoad=!0:this.clear())}get _time(){return p(this.layerView.view.stage.renderer.renderContext.time)}async _load(e){const{extent:t,view:i}=this;if(!this.visible)return void this.clear();if(null==t)return void(this._loadingState="ready-to-load");const s=new Q(t,this.layerView.timeExtent,this._tracingResolution,i.state.contentPixelRatio,e);null==this._abortController&&(this._abortController=new AbortController);const r=this._abortController,l=await this._loadStreamlines(s,r.signal);if(n(r.signal),null!=l){this._lastResources?.detach(),this._lastResources=this._resources,this._resources=l;const t=this._getStartTime(e);null!=this._lastResources&&(this._lastResources.endTime=t),this._resources.startTime=t,this.view.animationsEnabled||(this._lastResources?.detach(),this._lastResources=null),await l.attach(),this._loadingState=this._seamlessTransitionEnabled?"before-transition":"transitioning"}else this._loadingState="ready-to-load"}async _loadStreamlines(e,t){const i=await this.fetchDataAndGenerateStreamlines(e,t);if(null==i)return null;const{geometries:s,material:r}=await this._createGeometry(e,i);return this._draped?new Z(e,i,r,s,this.layerView):new $(e,i,r,s,this.view)}async fetchDataAndGenerateStreamlines(e,t){return null}async _createGeometry(e,t){const i=new re(this._materialParameters,this.view.state.isGlobal),s=new Array,{elevationInfo:r,_draped:l,view:n}=this;function*a(a){for(let o=0;o<t.length;++o)s.push(X(n,e,t[o],r,i,l)),a.madeProgress(),a.done&&(a=yield)}return await this.frameTask.scheduleGenerator(a),{geometries:s,material:i}}_triggerTilesUpdate(){if(this._tilesUpdateIsWaiting)return;this._tilesUpdateIsWaiting=!0;const e=async()=>{await d(()=>this.view.stationary),this._tilesUpdateIsWaiting=!1,await this._debouncedTileUpdate()};this.updatingHandles.addPromise(l(e()))}_getTileFilterFunction(){const{_dataBounds:e,view:i,_featureTilesBounds:s,loadAllTiles:r}=this;if(r){const{loadAllTilesLevel:t}=this;return i=>i.level===t&&de(e,i.extent)}const l=t=>t.rendered&&t.visible&&de(e,t.extent),{featureTiles:n}=i;if(!n)return l;const a=n.tiles.filter(e=>e.measures.visible);return e=>l(e)&&de(s,e.extent)&&a.some(({lij:i})=>t(i,e.lij)||ie(i,e.lij))}_nextStateForTransition(e){const{_resources:t}=this;if(null==this._flowRenderer||null==t||"ready-to-load"===this._loadingState||"loading"===this._loadingState)return this._loadingState;const i=t.startTime;return e<i?"before-transition":e<i+O?"transitioning":"ready-to-load"}_getStartTime(e){if(!this.view.animationsEnabled)return ce;const t=this._time;return c(t>e?t:e)}get usedMemory(){return(this._lastResources?.usedMemory??0)+(this._resources?.usedMemory??0)}get test(){}};e([m()],oe.prototype,"type",void 0),e([m()],oe.prototype,"renderedTiles",void 0),e([m()],oe.prototype,"_resources",void 0),e([m()],oe.prototype,"_lastResources",void 0),e([m()],oe.prototype,"requireLoad",void 0),e([m()],oe.prototype,"_averageLoadingTime",void 0),e([m()],oe.prototype,"_loadingState",void 0),e([m()],oe.prototype,"emissiveStrength",void 0),e([m()],oe.prototype,"_clippingArea",null),e([m()],oe.prototype,"_dataBounds",null),e([m()],oe.prototype,"_fullExtentSurfaceSpatialReference",null),e([m()],oe.prototype,"_draped",null),e([m()],oe.prototype,"extent",null),e([m()],oe.prototype,"loadAllTiles",null),e([m()],oe.prototype,"isDataGlobal",null),e([m()],oe.prototype,"loadAllTilesLevel",null),e([m()],oe.prototype,"targetTiles",null),e([m()],oe.prototype,"_featureTilesBounds",null),e([m()],oe.prototype,"_flowRenderer",null),e([m()],oe.prototype,"_materialParameters",null),e([m()],oe.prototype,"_opacity",null),e([m()],oe.prototype,"_seamlessTransitionWaitingTime",null),e([m()],oe.prototype,"_seamlessTransitionEnabled",null),e([m()],oe.prototype,"_tracingResolution",null),e([m()],oe.prototype,"visible",null),e([m()],oe.prototype,"_estimatedStreamlines",null),e([m()],oe.prototype,"_effectiveDensity",null),e([m()],oe.prototype,"elevationInfo",null),e([m()],oe.prototype,"needsMagnitude",null),e([m()],oe.prototype,"spatialReferenceInfo",null),e([m()],oe.prototype,"layer",null),e([m()],oe.prototype,"loadingState",null),e([m()],oe.prototype,"updating",null),e([m()],oe.prototype,"visibleAtCurrentScale",null),e([m()],oe.prototype,"_overrideMaterialParameters",void 0),e([m()],oe.prototype,"_overrideSimulationSettings",void 0),e([m()],oe.prototype,"_overrideTransitionEnabled",void 0),e([m()],oe.prototype,"_simulationSettings",null),e([m()],oe.prototype,"surface",null),oe=e([g("esri.views.3d.layers.FlowSubView3D")],oe);const ue=new A({mode:"on-the-ground"});function de(e,t){return null==e||null==t||R(e,t)}const he=T(ee,_.WebMercator),ce=c(-B);function pe(e){return null!=e&&e.spatialReference.isWebMercator?e?.intersection(he):e}export{oe as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{throwIfAborted as e}from"../../../../core/promiseUtils.js";import{pt2px as t}from"../../../../core/screenUtils.js";import{identity as s,scale as r,translate as i,copy as a}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as o}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{length as n,negate as l,copy as c,multiply as h,add as d,set as m}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{fromArray as u,ONES as p,create as f,ZEROS as y,fromValues as _}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ZEROS as g,ONES as b,create as v}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{computeTranslationToOriginAndRotation as P}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectPointToVector as x}from"../../../../geometry/projection/projectPointToVector.js";import{create as R,size as S,containsPoint as C,center as w}from"../../../../geometry/support/aaBoundingBox.js";import{getEmissiveMode as L}from"../../../../symbols/support/materialUtils.js";import{defaultObjectPrimitive as O}from"../../../../symbols/support/primitives.js";import{objectSymbolLayerPrimitiveBoundingBox as U,objectSymbolLayerSizeWithResourceSize as j}from"../../../../symbols/support/symbolLayerUtils3D.js";import{estimateNumVerticesForLods as E,defaultSymbolLayerMemoryComplexity as T}from"./defaultSymbolComplexity.js";import{perLodInstanceElevationAligner as B}from"./ElevationAligners.js";import{needsElevationUpdates3D as G,SampleElevationInfo as z,evaluateElevationInfoAtPoint as D}from"./elevationAlignmentUtils.js";import{Graphics3DLodInstanceGraphicLayer as V}from"./Graphics3DLodInstanceGraphicLayer.js";import{Graphics3DSymbolLayer as F,nanFallbackColor as A}from"./Graphics3DSymbolLayer.js";import{validateSymbolLayerSize as I,computeObjectScale as k,computeObjectRotation as H}from"./graphicUtils.js";import{makeLodResources as M}from"./lodResourceUtils.js";import{fetch as W}from"./objectResourceUtils.js";import{placePointOnGeometry as N,extendPointGraphicElevationContext as q}from"./pointUtils.js";import{isValidPrimitive as $,primitiveLodResources as Z}from"./primitiveObjectSymbolUtils.js";import{SymbolComplexity as J}from"./SymbolComplexity.js";import{getResourceUrlFromSymbolStyle as K}from"./webStyleUtils.js";import{initFastSymbolUpdatesState as Q,updateFastSymbolUpdatesState as X,ConvertOptions as Y,evaluateModelTransformScale as ee,evaluateModelTransform as te}from"../support/FastSymbolUpdates.js";import{VerticalOffsetParameters as se}from"../../webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{LodRenderer as re}from"../../webgl-engine/lib/lodRendering/LodRenderer.js";import{DefaultMaterial as ie}from"../../webgl-engine/materials/DefaultMaterial.js";import{schematicMRRFactors as ae}from"../../webgl-engine/materials/pbrUtils.js";class oe{constructor(e,t,s,r,i,a,o,n,l,c,h=null){this.lodResources=e,this.lodRenderer=t,this.stageResources=s,this.resourceSize=r,this.isEsriSymbolResource=i,this.isWosr=a,this.resourceBoundingBox=o,this.symbolSize=n,this.extentPadding=l,this.physicalBasedRenderingEnabled=c,this.pivotOffset=h}}class ne extends F{getCachedSize(){const[e,t,s]=null!=this._resources?this._resources.symbolSize:[1,1,1];return{width:e,depth:t,height:s}}constructor(e,t,s,r){super(e,t,s,r,he(t)),this._resources=null,this._instanceIndexToGraphicUid=new Map,this._hasLoadedPBRTextures=!1,this._disposeResourceHandles=new Array,this.skipHighSymbolLodsChanged=!1,this.ensureDrapedStatus(!1),this._hasLoadedPBRTextures=s.physicalBasedRenderingEnabled}async doLoad(e){if(!this._drivenProperties.size){const e=I(this.symbolLayer);if(e)throw new Error(e)}if(this._isPrimitive){const t=this.symbolLayer.resource,s=t&&$(t?.primitive)?t.primitive:O;this._resources=await this._createResourcesForPrimitive(s,e)}else{const t=await K(this.symbol.styleOrigin),s=t?.href??this.symbolLayer.resource?.href;this._resources=await this._createResourcesForUrl(s,e)}this.layerOpacityChanged(),this.slicePlaneEnabledChanged(),this.physicalBasedRenderingChanged(),this.updateComplexity()}get extentPadding(){return null!=this._resources?this._resources.extentPadding:0}get _isPrimitive(){return null!=this._primitive}get lodRenderer(){return this._resources?.lodRenderer}get materials(){return this._resources?.stageResources.materials??[]}async _createResourcesForPrimitive(e,t){const s=this.symbolLayer,r=R(U(e)),i=u(S(r)),a=u(j(i,s)),o=n(a),l=!1,c=!1,h=s?.material,d={usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0,mrrFactors:ae,ambient:p,diffuse:p,opacity:1,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:s.castShadows,emissiveStrengthFromSymbol:h?.emissive?.strength??0,emissiveSource:1,offsetTransparentBackfaces:!1,drivenOpacity:this.needsDrivenTransparentPass},m=!!d.usePBR,f=this.symbol;"point-3d"===f.type&&f.verticalOffset&&(d.verticalOffset=new se(f.verticalOffset),d.castShadows=!1),this._context.screenSizePerspectiveEnabled&&(d.screenSizePerspective=this.view.screenSizePerspective.parameters),this._hasDrivenColorOrOpacity?d.externalColor=A:d.externalColor=this._materialColor?.toUnitRGBA()??g,this._fastUpdates=Q(this._context.renderer,this._fastVisualVariableConvertOptions(r,a,i,null)),d.instanced=!0,this._fastUpdates?(Object.assign(d,this._fastUpdates.materialParameters),d.instancedFeatureAttribute=!0):this._hasDrivenColorOrOpacity&&(d.instancedColor=!0);const y=new ie(d,this._context);y.setParameters({cullFace:de(y.transparent)});const _=Z(e,y);if(!_)throw new Error(`Unknown object symbol primitive: ${e}`);const b=await this._createStageResources(_,m,t),v=await this._createLodRenderer(_,t);return new oe(_,v,b,i,l,c,r,a,o,m)}async _createResourcesForUrl(e,s){const r={instanced:!0,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:this.symbolLayer.castShadows},i={spherical:this._context.spherical,materialParameters:r,cache:this._context.sharedResources.objectResourceCache,compressionOptions:{compressionTracker:this._context.compressionTracker,compressionCallback:()=>this.updateComplexity()}};this._fastUpdates=Q(this._context.renderer,this._fastVisualVariableConvertOptions(null,null,null,null)),this._fastUpdates?(Object.assign(i.materialParameters,this._fastUpdates.materialParameters),i.materialParameters.instancedFeatureAttribute=!0):this._hasDrivenColorOrOpacity&&(i.materialParameters.instancedColor=!0);const a=this.symbol;if("point-3d"===a.type&&a.verticalOffset){const{screenLength:e,minWorldLength:s,maxWorldLength:r}=a.verticalOffset;i.materialParameters.verticalOffset={screenLength:t(e),minWorldLength:s||0,maxWorldLength:null!=r?r:1/0},i.materialParameters.castShadows=!1}const o=this._context.physicalBasedRenderingEnabled;i.signal=s,i.usePBR=o,i.useEmissive=this.view.stage.renderView.renderingContext.driverTest.floatBufferBlend.result,i.skipHighLods=this._context.skipHighSymbolLods;const l=this.symbolLayer.material;i.materialParameters.emissiveStrengthFromSymbol=l?.emissive?.strength??1,i.materialParameters.emissiveSource=L(l?.emissive?.source??"emissive");const c=await W(e,i),h=c.isEsriSymbolResource,d=c.isWosr,m=M(c.lods),p=this._context,f=this._getExternalColorParameters(l),y=this.needsDrivenTransparentPass,_=m.getMaterials();_.forEach(e=>{e.setParameters({...f,drivenOpacity:y}),p.screenSizePerspectiveEnabled&&e.setParameters({screenSizePerspective:this.view.screenSizePerspective.parameters})});const g=c.referenceBoundingBox,b=u(S(g)),v=u(m.levels[0].pivotOffset),P=u(j(b,this.symbolLayer)),x=n(P),R=this._fastUpdates;X(R,this._context.renderer,this._fastVisualVariableConvertOptions(g,P,b,v))&&_.forEach(e=>e.setParameters(R.materialParameters));const C=await this._createStageResources(m,o,s),w=await this._createLodRenderer(m,s);return new oe(m,w,C,b,h,d,g,P,x,o,v)}_addDisposeResource(e){this._disposeResourceHandles.push(e)}async _createStageResources(t,s,r){const i=this._context.stage,a=t.getMaterials();s!==this._context.physicalBasedRenderingEnabled&&this.physicalBasedRenderingChanged();const o=t.getTextures();i.addTextures(o),this._addDisposeResource(()=>{o.forEach(e=>e.unload()),i.removeTextures(o)}),await Promise.all(o.map(e=>this._context.stage.schedule(()=>e.load(i.renderView.renderingContext),r))),e(r);const n=t.getEngineGeometries();return{materials:a,textures:o,geometries:n}}async _createLodRenderer(e,t){const s=this._context.stage,r={layerViewUid:this._context.layerViewUid,graphicUid:e=>this._instanceIndexToGraphicUid.get(e),notifyGraphicGeometryChanged:e=>this._context.notifyGraphicGeometryChanged(this._instanceIndexToGraphicUid.get(e)),notifyGraphicVisibilityChanged:e=>this._context.notifyGraphicVisibilityChanged(this._instanceIndexToGraphicUid.get(e))},i=this._fastUpdates,o=new re({symbol:e,metadata:r,shaderTransformation:i?{applyTransform:(e,t,s)=>{e.getFeatureAttribute(t,fe),a(s,te(i.materialParameters,fe,s))},scaleFactor:(e,t,s)=>{t.getFeatureAttribute(s,fe),ee(e,i.materialParameters,fe)}}:null},this._context.scheduler);return o.slicePlaneEnabled=this._context.slicePlaneEnabled,this._addDisposeResource(()=>{s.removeRenderPlugin(o),o.destroy()}),await s.addRenderPlugin(o,t),o}_getExternalColorParameters(e){const t={};if(t.externalColor=A,!this._drivenProperties.color&&null!=e?.color){const s=e.color.toUnitRGBA();this._drivenProperties.opacity&&(s[3]=NaN),t.externalColor=s}return t}destroy(){super.destroy(),this._cleanupResources()}_cleanupResources(){this._disposeResourceHandles.forEach(e=>e()),this._disposeResourceHandles.length=0,this._resources=null}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry))return null;const s=N(t.geometry);if(null==s)return this.logger.warn(`unsupported geometry type for object symbol: ${t.geometry.type}`),null;const r=this.createElevationContextForGraphic(t),i=e.renderingInfo;return this._createAs3DShape(t,s,i,r,t.uid)}notifyDestroyGraphicLayer(e){this._instanceIndexToGraphicUid.delete(e.instanceIndex)}graphicLayerToGraphicId(){return 0}layerOpacityChanged(){if(null==this._resources)return;const e=this._getLayerOpacity(),t=this._resources.stageResources.materials;for(let s=0;s<t.length;s++){const r=t[s];r.setParameters({layerOpacity:e}),this._isPrimitive&&r.setParameters({cullFace:de(r.transparent)})}}layerScreenSizePerspectiveChanged(){if(null==this._resources)return;const e=this._context.screenSizePerspectiveEnabled?this.view.screenSizePerspective.parameters:null;for(const t of this._resources.stageResources.materials)t.setParameters({screenSizePerspective:e})}layerElevationInfoChanged(e,t){return this.updateGraphics3DGraphicElevationInfo(e,t,G)}slicePlaneEnabledChanged(){if(null==this._resources)return!0;this._resources.lodRenderer.slicePlaneEnabled=this._context.slicePlaneEnabled;for(const e of this._resources.stageResources.materials)e.setParameters({hasSlicePlane:this._context.slicePlaneEnabled});return!0}physicalBasedRenderingChanged(){if(null==this._resources)return!0;const{stageResources:e,isWosr:t}=this._resources;for(const s of e.materials)this._isPrimitive?s.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0}):t||s.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!1});return!1!==this._hasLoadedPBRTextures||!0!==this._context.physicalBasedRenderingEnabled||(this._hasLoadedPBRTextures=!0,!1)}applyRendererDiff(e,t){if(null==this._resources)return 0;const{stageResources:{materials:s},lodRenderer:r,resourceBoundingBox:i,symbolSize:a,resourceSize:o,pivotOffset:n}=this._resources;for(const l in e.diff){if("visualVariables"!==l)return 0;if(!X(this._fastUpdates,t,this._fastVisualVariableConvertOptions(i,a,o,n)))return 0;for(const e of s)e.setParameters(this._fastUpdates.materialParameters);r.notifyShaderTransformationChanged()}return 2}computeComplexity(){if(null==this._resources)return super.computeComplexity();const e=this._resources.lodResources,t=E(e.levels),s=e.computeUsedMemory(),r={...T(this.symbol,this.symbolLayer),resourceBytes:s};return new J({verticesPerFeature:t,memory:r})}_hasLodRenderer(){return null!=this._resources}_createAs3DShape(e,t,s,r,i){if(!this._hasLodRenderer()||null==this._resources)return null;const a=this.getFastUpdateAttrValues(e),o=this._context.clippingExtent;if(x(t,me,this._context.elevationProvider.spatialReference),null!=o&&!C(o,me))return null;const n=ce(r),l=this._computeGlobalTransform(t,r,pe,ye),c=this._computeLocalTransform(this._resources,this.symbolLayer,s,ue),h=this._resources.lodRenderer.instanceData,d=h.addInstance();this._instanceIndexToGraphicUid.set(d,i),h.setLocalTransform(d,c,!1),h.setGlobalTransform(d,l),a&&h.setFeatureAttribute(d,a),null==this._fastUpdates&&this._hasDrivenColorOrOpacity&&h.setColor(d,this._getDrivenUInt8ColorWithNaNSupport(s,this._materialColor,!this._isPrimitive));const m=this._context.stage.renderView.olidRenderHelper;if(m){const e=m.getObjectAndLayerIdColor({graphicUid:i,layerViewUid:this._context.layerViewUid});h.setObjectAndLayerIdColor(d,e)}const u=new V(this,d,B,r,this._context.stage.view.state.highlightOrderMap);return n&&(u.alignedSampledElevation=ye.sampledElevation),u.needsElevationUpdates=G(r.mode),q(u,t,this._context.elevationProvider),u}_computeGlobalTransform(e,t,s,r){return D(e,this._context.elevationProvider,t,this._context.renderCoordsHelper,r),me[0]=e.x,me[1]=e.y,me[2]=r.z,P(e.spatialReference,me,s,this._context.renderCoordsHelper.spatialReference),s}_computeLocalTransform(e,t,r,i){return s(i),this._applyObjectRotation(r,!1,i),this._applyObjectRotation(t,!0,i),this._applyObjectScale(e,r,i),this._applyAnchor(e,t,i),i}_applyObjectScale(e,t,s){if(this._fastUpdates?.requiresShaderTransformation)return;const i=this._drivenProperties.size&&t.size?t.size:e.symbolSize,a=k(i,e.symbolSize,e.resourceSize,this._context.renderCoordsHelper.unitInMeters);1===a[0]&&1===a[1]&&1===a[2]||r(s,s,a)}prepareSymbolLayerPatch(e){if("partial"!==e.diff.type)return;const t=e.diff.diff;this._preparePatchTransform(e,t),this._preparePatchColor(e,t)}updateGeometry(e,t){if(null==this._resources)return!0;const s=e.geometry;if(!s)return!1;const r=N(s);if(null==r)return!1;const i=this.getGeometryElevationMode(s),{elevationContext:a}=t;return a.mode===i&&(a.updateFeatureExpressionFeature(e,this._context.layer),this._computeGlobalTransform(r,a,pe,ye),ce(a)&&(t.alignedSampledElevation=ye.sampledElevation),this._resources.lodRenderer.instanceData.setGlobalTransform(t.instanceIndex,pe,!0),q(t,r,this._context.elevationProvider),!0)}_preparePatchTransform(e,t){if(!(t.heading||t.tilt||t.roll||t.width||t.height||t.depth||t.anchor||t.anchorPosition))return;if(null==this._resources)return;const s=(e,t,s)=>(null!=e&&"complete"===e.type?e.newValue:t)??s,r=s(t.heading,this.symbolLayer.heading,0),i=s(t.tilt,this.symbolLayer.tilt,0),a=s(t.roll,this.symbolLayer.roll,0),o=s(t.width,this.symbolLayer.width,void 0),n=s(t.height,this.symbolLayer.height,void 0),l=s(t.depth,this.symbolLayer.depth,void 0),c=s(t.anchor,this.symbolLayer.anchor,void 0),h=s(t.anchorPosition,this.symbolLayer.anchorPosition,void 0);delete t.heading,delete t.tilt,delete t.roll,delete t.width,delete t.height,delete t.depth,delete t.anchor,delete t.anchorPosition;const d={heading:r,tilt:i,roll:a,anchor:c,anchorPosition:h},m=this._resources;1===this.loadStatus&&e.symbolLayerStatePatches.push(()=>{m.symbolSize=u(j(m.resourceSize,{width:o,height:n,depth:l,isPrimitive:this._isPrimitive}))}),e.graphics3DGraphicPatches.push(({instanceIndex:e},t)=>{const s=this._computeLocalTransform(m,d,t,ue);m.lodRenderer.instanceData.setLocalTransform(e,s,!0)})}_preparePatchColor(e,t){if(!t.material||"partial"!==t.material.type)return;const s=t.material.diff;if(!s.color||"complete"!==s.color.type||null==s.color.newValue||null==s.color.oldValue)return;const r=s.color.newValue,i=null!=r?r.toUnitRGBA():b;delete s.color;const a=this._resources;if(null==a)return;const o=this._isPrimitive;e.graphics3DGraphicPatches.push(({instanceIndex:e})=>{if(this._hasDrivenColorOrOpacity)a.lodRenderer.instanceData.setColor(e,i);else{const e={externalColor:i};for(const t of a.stageResources.materials)t.setParameters(e),o&&t.setParameters({cullFace:de(t.transparent)})}})}_applyObjectRotation(e,t,s){if(!this._fastUpdates?.requiresShaderTransformation||!t)return H(e.heading,e.tilt,e.roll,s)}_applyAnchor(e,t,s){if(this._fastUpdates?.requiresShaderTransformation)return;const r=le(e.resourceBoundingBox,e.pivotOffset,t);r&&i(s,s,r)}_fastVisualVariableConvertOptions(e,t,s,r){const i=null!=e?u(S(e)):p,a=null!=e?le(e,r,this.symbolLayer):y,o=this._context.renderCoordsHelper.unitInMeters,n=k(null!=t?t:void 0,t,s,o),l=_(this.symbolLayer.tilt||0,this.symbolLayer.roll||0,this.symbolLayer.heading||0);return new Y({supports:{size:!0,color:!0,rotation:!0,opacity:!1},modelSize:i,symbolSize:t??p,unitInMeters:o,anchor:a,scale:n,rotation:l,fallbackColor:this._getFallbackOpacityAndColor(),fallbackSize:n})}get _primitive(){const{resource:e}=this.symbolLayer;return null!=e?.href?null:e?.primitive??O}_getFallbackOpacityAndColor(){return this._materialColor?.toUnitRGBA()??(this._isPrimitive?g:A)}get _materialColor(){return this.symbolLayer.material?.color}}function le(e,t,s){const r=f();switch(s.anchor){case"center":c(r,w(e)),l(r,r);break;case"top":{const t=w(e);m(r,-t[0],-t[1],-e[5]);break}case"bottom":{const t=w(e);m(r,-t[0],-t[1],-e[2]);break}case"relative":{const t=w(e),i=S(e),a=s.anchorPosition,o=a?_(a.x,a.y,a.z):y;h(r,i,o),d(r,r,t),l(r,r);break}default:null!=t?l(r,t):c(r,y)}return r}function ce(e){return"absolute-height"!==e.mode}function he(e){return 1===(e.material?.color?.a??0)&&null==e.resource?.href}function de(e){return e?0:2}const me=f(),ue=o(),pe=o(),fe=v(),ye=new z;export{ne as Graphics3DObjectSymbolLayer};
|
|
5
|
+
import{throwIfAborted as e}from"../../../../core/promiseUtils.js";import{pt2px as t}from"../../../../core/screenUtils.js";import{identity as s,scale as r,translate as i,copy as a}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as o}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{length as n,negate as l,copy as c,multiply as h,add as d,set as m}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{fromArray as p,ONES as u,create as f,ZEROS as y,fromValues as _}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ZEROS as g,ONES as b,create as v}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{computeTranslationToOriginAndRotation as P}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectPointToVector as x}from"../../../../geometry/projection/projectPointToVector.js";import{create as R,size as S,containsPoint as C,center as w}from"../../../../geometry/support/aaBoundingBox.js";import{getEmissiveMode as L}from"../../../../symbols/support/materialUtils.js";import{defaultObjectPrimitive as O}from"../../../../symbols/support/primitives.js";import{objectSymbolLayerPrimitiveBoundingBox as U,objectSymbolLayerSizeWithResourceSize as E}from"../../../../symbols/support/symbolLayerUtils3D.js";import{estimateNumVerticesForLods as j,defaultSymbolLayerMemoryComplexity as T}from"./defaultSymbolComplexity.js";import{perLodInstanceElevationAligner as B}from"./ElevationAligners.js";import{needsElevationUpdates3D as G,SampleElevationInfo as z,evaluateElevationInfoAtPoint as D}from"./elevationAlignmentUtils.js";import{Graphics3DLodInstanceGraphicLayer as V}from"./Graphics3DLodInstanceGraphicLayer.js";import{Graphics3DSymbolLayer as F,nanFallbackColor as A}from"./Graphics3DSymbolLayer.js";import{validateSymbolLayerSize as I,computeObjectScale as k,computeObjectRotation as H}from"./graphicUtils.js";import{makeLodResources as M}from"./lodResourceUtils.js";import{fetch as W}from"./objectResourceUtils.js";import{placePointOnGeometry as N,extendPointGraphicElevationContext as q}from"./pointUtils.js";import{isValidPrimitive as $,primitiveLodResources as Z}from"./primitiveObjectSymbolUtils.js";import{SymbolComplexity as J}from"./SymbolComplexity.js";import{getResourceUrlFromSymbolStyle as K}from"./webStyleUtils.js";import{initFastSymbolUpdatesState as Q,updateFastSymbolUpdatesState as X,ConvertOptions as Y,evaluateModelTransformScale as ee,evaluateModelTransform as te}from"../support/FastSymbolUpdates.js";import{VerticalOffsetParameters as se}from"../../webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{LodRenderer as re}from"../../webgl-engine/lib/lodRendering/LodRenderer.js";import{DefaultMaterial as ie}from"../../webgl-engine/materials/DefaultMaterial.js";import{schematicMRRFactors as ae}from"../../webgl-engine/materials/pbrUtils.js";class oe{constructor(e,t,s,r,i,a,o,n,l,c,h=null){this.lodResources=e,this.lodRenderer=t,this.stageResources=s,this.resourceSize=r,this.isEsriSymbolResource=i,this.isWosr=a,this.resourceBoundingBox=o,this.symbolSize=n,this.extentPadding=l,this.physicalBasedRenderingEnabled=c,this.pivotOffset=h}}class ne extends F{getCachedSize(){const[e,t,s]=null!=this._resources?this._resources.symbolSize:[1,1,1];return{width:e,depth:t,height:s}}constructor(e,t,s,r){super(e,t,s,r,he(t)),this._resources=null,this._instanceIndexToGraphicUid=new Map,this._hasLoadedPBRTextures=!1,this._disposeResourceHandles=new Array,this.skipHighSymbolLodsChanged=!1,this.ensureDrapedStatus(!1),this._hasLoadedPBRTextures=s.physicalBasedRenderingEnabled}async doLoad(e){if(!this._drivenProperties.size){const e=I(this.symbolLayer);if(e)throw new Error(e)}if(this._isPrimitive){const t=this.symbolLayer.resource,s=t&&$(t?.primitive)?t.primitive:O;this._resources=await this._createResourcesForPrimitive(s,e)}else{const t=await K(this.symbol.styleOrigin),s=t?.href??this.symbolLayer.resource?.href;this._resources=await this._createResourcesForUrl(s,e)}this.layerOpacityChanged(),this.slicePlaneEnabledChanged(),this.physicalBasedRenderingChanged(),this.updateComplexity()}get extentPadding(){return null!=this._resources?this._resources.extentPadding:0}get _isPrimitive(){return null!=this._primitive}get lodRenderer(){return this._resources?.lodRenderer}get materials(){return this._resources?.stageResources.materials??[]}async _createResourcesForPrimitive(e,t){const s=this.symbolLayer,r=R(U(e)),i=p(S(r)),a=p(E(i,s)),o=n(a),l=!1,c=!1,h=s?.material,d={usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0,mrrFactors:ae,ambient:u,diffuse:u,opacity:1,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:s.castShadows,emissiveStrengthFromSymbol:h?.emissive?.strength??0,emissiveSource:1,offsetTransparentBackfaces:!1,drivenOpacity:this.needsDrivenTransparentPass},m=!!d.usePBR,f=this.symbol;"point-3d"===f.type&&f.verticalOffset&&(d.verticalOffset=new se(f.verticalOffset),d.castShadows=!1),this._context.screenSizePerspectiveEnabled&&(d.screenSizePerspective=this.view.screenSizePerspective.parameters),this._hasDrivenColorOrOpacity?d.externalColor=A:d.externalColor=this._materialColor?.toUnitRGBA()??g,this._fastUpdates=Q(this._context.renderer,this._fastVisualVariableConvertOptions(r,a,i,null)),d.instanced=!0,this._fastUpdates?(Object.assign(d,this._fastUpdates.materialParameters),d.instancedFeatureAttribute=!0):this._hasDrivenColorOrOpacity&&(d.instancedColor=!0);const y=new ie(d,this._context);y.setParameters({cullFace:de(y.transparent)});const _=Z(e,y);if(!_)throw new Error(`Unknown object symbol primitive: ${e}`);const b=await this._createStageResources(_,m,t),v=await this._createLodRenderer(_,t);return new oe(_,v,b,i,l,c,r,a,o,m)}async _createResourcesForUrl(e,s){const r={instanced:!0,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:this.symbolLayer.castShadows},i={spherical:this._context.spherical,materialParameters:r,cache:this._context.sharedResources.objectResourceCache,compressionOptions:{compressionTracker:this._context.compressionTracker,compressionCallback:()=>this.updateComplexity()}};this._fastUpdates=Q(this._context.renderer,this._fastVisualVariableConvertOptions(null,null,null,null)),this._fastUpdates?(Object.assign(i.materialParameters,this._fastUpdates.materialParameters),i.materialParameters.instancedFeatureAttribute=!0):this._hasDrivenColorOrOpacity&&(i.materialParameters.instancedColor=!0);const a=this.symbol;if("point-3d"===a.type&&a.verticalOffset){const{screenLength:e,minWorldLength:s,maxWorldLength:r}=a.verticalOffset;i.materialParameters.verticalOffset={screenLength:t(e),minWorldLength:s||0,maxWorldLength:null!=r?r:1/0},i.materialParameters.castShadows=!1}const o=this._context.physicalBasedRenderingEnabled;i.signal=s,i.usePBR=o,i.useEmissive=this.view.stage.renderView.renderingContext.driverTest.floatBufferBlend.result,i.skipHighLods=this._context.skipHighSymbolLods;const l=this.symbolLayer.material;i.materialParameters.emissiveStrengthFromSymbol=l?.emissive?.strength??1,i.materialParameters.emissiveSource=L(l?.emissive?.source??"emissive");const c=await W(e,i),h=c.isEsriSymbolResource,d=c.isWosr,m=M(c.lods),u=this._context,f=this._getExternalColorParameters(l),y=this.needsDrivenTransparentPass,_=m.getMaterials();_.forEach(e=>{e.setParameters({...f,drivenOpacity:y}),u.screenSizePerspectiveEnabled&&e.setParameters({screenSizePerspective:this.view.screenSizePerspective.parameters})});const g=c.referenceBoundingBox,b=p(S(g)),v=p(m.levels[0].pivotOffset),P=p(E(b,this.symbolLayer)),x=n(P),R=this._fastUpdates;X(R,this._context.renderer,this._fastVisualVariableConvertOptions(g,P,b,v))&&_.forEach(e=>e.setParameters(R.materialParameters));const C=await this._createStageResources(m,o,s),w=await this._createLodRenderer(m,s);return new oe(m,w,C,b,h,d,g,P,x,o,v)}_addDisposeResource(e){this._disposeResourceHandles.push(e)}async _createStageResources(t,s,r){const i=this._context.stage,a=t.getMaterials();s!==this._context.physicalBasedRenderingEnabled&&this.physicalBasedRenderingChanged();const o=t.getTextures();i.addTextures(o),this._addDisposeResource(()=>{o.forEach(e=>e.unload()),i.removeTextures(o)}),await Promise.all(o.map(e=>this._context.stage.schedule(()=>e.load(i.renderView.renderingContext),r))),e(r);const n=t.getEngineGeometries();return{materials:a,textures:o,geometries:n}}async _createLodRenderer(e,t){const s=this._context.stage,r={layerViewUid:this._context.layerViewUid,graphicUid:e=>this._instanceIndexToGraphicUid.get(e),notifyGraphicGeometryChanged:e=>this._context.notifyGraphicGeometryChanged(this._instanceIndexToGraphicUid.get(e)),notifyGraphicVisibilityChanged:e=>this._context.notifyGraphicVisibilityChanged(this._instanceIndexToGraphicUid.get(e))},i=this._fastUpdates,o=new re({symbol:e,metadata:r,shaderTransformation:i?{applyTransform:(e,t,s)=>{e.getFeatureAttribute(t,fe),a(s,te(i.materialParameters,fe,s))},scaleFactor:(e,t,s)=>{t.getFeatureAttribute(s,fe),ee(e,i.materialParameters,fe)}}:null},this._context.scheduler);return o.slicePlaneEnabled=this._context.slicePlaneEnabled,this._addDisposeResource(()=>{s.removeRenderPlugin(o),o.destroy()}),await s.addRenderPlugin(o,t),o}_getExternalColorParameters(e){const t={};if(t.externalColor=A,!this._drivenProperties.color&&null!=e?.color){const s=e.color.toUnitRGBA();this._drivenProperties.opacity&&(s[3]=NaN),t.externalColor=s}return t}destroy(){super.destroy(),this._cleanupResources()}_cleanupResources(){this._disposeResourceHandles.forEach(e=>e()),this._disposeResourceHandles.length=0,this._resources=null}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry))return null;const s=N(t.geometry);if(null==s)return this.logger.warn(`unsupported geometry type for object symbol: ${t.geometry.type}`),null;const r=this.createElevationContextForGraphic(t),i=e.renderingInfo;return this._createAs3DShape(t,s,i,r,t.uid)}notifyDestroyGraphicLayer(e){this._instanceIndexToGraphicUid.delete(e.instanceIndex)}graphicLayerToGraphicId(){return 0}layerOpacityChanged(){if(null==this._resources)return;const e=this._getLayerOpacity(),t=this._resources.stageResources.materials;for(let s=0;s<t.length;s++){const r=t[s];r.setParameters({layerOpacity:e}),this._isPrimitive&&r.setParameters({cullFace:de(r.transparent)})}}layerScreenSizePerspectiveChanged(){if(null==this._resources)return;const e=this._context.screenSizePerspectiveEnabled?this.view.screenSizePerspective.parameters:null;for(const t of this._resources.stageResources.materials)t.setParameters({screenSizePerspective:e})}layerElevationInfoChanged(e,t){return this.updateGraphics3DGraphicElevationInfo(e,t,G)}slicePlaneEnabledChanged(){if(null==this._resources)return!0;this._resources.lodRenderer.slicePlaneEnabled=this._context.slicePlaneEnabled;for(const e of this._resources.stageResources.materials)e.setParameters({hasSlicePlane:this._context.slicePlaneEnabled});return!0}physicalBasedRenderingChanged(){if(null==this._resources)return!0;const{stageResources:e,isWosr:t}=this._resources;for(const s of e.materials)this._isPrimitive?s.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0}):t||s.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!1});return!1!==this._hasLoadedPBRTextures||!0!==this._context.physicalBasedRenderingEnabled||(this._hasLoadedPBRTextures=!0,!1)}applyRendererDiff(e,t){if(null==this._resources)return 0;const{stageResources:{materials:s},lodRenderer:r,resourceBoundingBox:i,symbolSize:a,resourceSize:o,pivotOffset:n}=this._resources;for(const l in e.diff){if("visualVariables"!==l)return 0;if(!X(this._fastUpdates,t,this._fastVisualVariableConvertOptions(i,a,o,n)))return 0;for(const e of s)e.setParameters(this._fastUpdates.materialParameters);r.notifyShaderTransformationChanged()}return 2}computeComplexity(){if(null==this._resources)return super.computeComplexity();const e=this._resources.lodResources,t=j(e.levels),s=e.computeUsedMemory(),r={...T(this.symbol,this.symbolLayer),resourceBytes:s};return new J({verticesPerFeature:t,memory:r})}_hasLodRenderer(){return null!=this._resources}_createAs3DShape(e,t,s,r,i){if(!this._hasLodRenderer()||null==this._resources)return null;const a=this.getFastUpdateAttrValues(e),o=this._context.clippingExtent;if(x(t,me,this._context.elevationProvider.spatialReference),null!=o&&!C(o,me))return null;const n=ce(r),l=this._computeGlobalTransform(t,r,ue,ye),c=this._computeLocalTransform(this._resources,this.symbolLayer,s,pe),h=this._resources.lodRenderer.instanceData,d=h.addInstance();this._instanceIndexToGraphicUid.set(d,i),h.setLocalTransform(d,c,!1),h.setGlobalTransform(d,l),a&&h.setFeatureAttribute(d,a),null==this._fastUpdates&&this._hasDrivenColorOrOpacity&&h.setColor(d,this._getDrivenUInt8ColorWithNaNSupport(s,this._materialColor,!this._isPrimitive));const m=this._context.stage.renderView.olidRenderHelper;if(m){const e=m.getObjectAndLayerIdColor({graphicUid:i,layerViewUid:this._context.layerViewUid});h.setObjectAndLayerIdColor(d,e)}const p=new V(this,d,B,r,this._context.stage.view.state.highlightOrderMap);return n&&(p.alignedSampledElevation=ye.sampledElevation),p.needsElevationUpdates=G(r.mode),q(p,t,this._context.elevationProvider),p}_computeGlobalTransform(e,t,s,r){return D(e,this._context.elevationProvider,t,this._context.renderCoordsHelper,r),me[0]=e.x,me[1]=e.y,me[2]=r.z,P(e.spatialReference,me,s,this._context.renderCoordsHelper.spatialReference),s}_computeLocalTransform(e,t,r,i){return s(i),this._applyObjectRotation(r,!1,i),this._applyObjectRotation(t,!0,i),this._applyObjectScale(e,r,i),this._applyAnchor(e,t,i),i}_applyObjectScale(e,t,s){if(this._fastUpdates?.requiresShaderTransformation)return;const i=this._drivenProperties.size&&t.size?t.size:e.symbolSize,a=k(i,e.symbolSize,e.resourceSize,this._context.renderCoordsHelper.unitInMeters);1===a[0]&&1===a[1]&&1===a[2]||r(s,s,a)}prepareSymbolLayerPatch(e){if("partial"!==e.diff.type)return;const t=e.diff.diff;this._preparePatchTransform(e,t),this._preparePatchColor(e,t),this._preparePatchEmissive(e,t)}updateGeometry(e,t){if(null==this._resources)return!0;const s=e.geometry;if(!s)return!1;const r=N(s);if(null==r)return!1;const i=this.getGeometryElevationMode(s),{elevationContext:a}=t;return a.mode===i&&(a.updateFeatureExpressionFeature(e,this._context.layer),this._computeGlobalTransform(r,a,ue,ye),ce(a)&&(t.alignedSampledElevation=ye.sampledElevation),this._resources.lodRenderer.instanceData.setGlobalTransform(t.instanceIndex,ue,!0),q(t,r,this._context.elevationProvider),!0)}_preparePatchTransform(e,t){if(!(t.heading||t.tilt||t.roll||t.width||t.height||t.depth||t.anchor||t.anchorPosition))return;if(null==this._resources)return;const s=(e,t,s)=>(null!=e&&"complete"===e.type?e.newValue:t)??s,r=s(t.heading,this.symbolLayer.heading,0),i=s(t.tilt,this.symbolLayer.tilt,0),a=s(t.roll,this.symbolLayer.roll,0),o=s(t.width,this.symbolLayer.width,void 0),n=s(t.height,this.symbolLayer.height,void 0),l=s(t.depth,this.symbolLayer.depth,void 0),c=s(t.anchor,this.symbolLayer.anchor,void 0),h=s(t.anchorPosition,this.symbolLayer.anchorPosition,void 0);delete t.heading,delete t.tilt,delete t.roll,delete t.width,delete t.height,delete t.depth,delete t.anchor,delete t.anchorPosition;const d={heading:r,tilt:i,roll:a,anchor:c,anchorPosition:h},m=this._resources;1===this.loadStatus&&e.symbolLayerStatePatches.push(()=>{m.symbolSize=p(E(m.resourceSize,{width:o,height:n,depth:l,isPrimitive:this._isPrimitive}))}),e.graphics3DGraphicPatches.push(({instanceIndex:e},t)=>{const s=this._computeLocalTransform(m,d,t,pe);m.lodRenderer.instanceData.setLocalTransform(e,s,!0)})}_preparePatchColor(e,t){if(!t.material||"partial"!==t.material.type)return;const s=t.material.diff;if(!s.color||"complete"!==s.color.type||null==s.color.newValue||null==s.color.oldValue)return;const r=s.color.newValue,i=null!=r?r.toUnitRGBA():b;delete s.color;const a=this._resources;if(null==a)return;const o=this._isPrimitive;e.graphics3DGraphicPatches.push(({instanceIndex:e})=>{if(this._hasDrivenColorOrOpacity)a.lodRenderer.instanceData.setColor(e,i);else{const e={externalColor:i};for(const t of a.stageResources.materials)t.setParameters(e),o&&t.setParameters({cullFace:de(t.transparent)})}})}_preparePatchEmissive(e,t){if(!this.view.stage.renderView.renderingContext.driverTest.floatBufferBlend.result||!t.material||"partial"!==t.material.type||!t.material.diff)return;const s=t.material.diff;if(!s.emissive)return;const r=s.emissive.type;if("collection"===r||"complete"===r)return;const i=s.emissive.diff,a=i?.strength,o=i?.source;if(!i||o||!a||"complete"!==a.type)return;const n={emissiveStrengthFromSymbol:a.newValue??(this._isPrimitive?0:1)};e.graphics3DGraphicPatches.push(()=>{this._resources?.stageResources.materials.forEach(e=>e.setParameters(n))}),delete s.emissive}_applyObjectRotation(e,t,s){if(!this._fastUpdates?.requiresShaderTransformation||!t)return H(e.heading,e.tilt,e.roll,s)}_applyAnchor(e,t,s){if(this._fastUpdates?.requiresShaderTransformation)return;const r=le(e.resourceBoundingBox,e.pivotOffset,t);r&&i(s,s,r)}_fastVisualVariableConvertOptions(e,t,s,r){const i=null!=e?p(S(e)):u,a=null!=e?le(e,r,this.symbolLayer):y,o=this._context.renderCoordsHelper.unitInMeters,n=k(null!=t?t:void 0,t,s,o),l=_(this.symbolLayer.tilt||0,this.symbolLayer.roll||0,this.symbolLayer.heading||0);return new Y({supports:{size:!0,color:!0,rotation:!0,opacity:!1},modelSize:i,symbolSize:t??u,unitInMeters:o,anchor:a,scale:n,rotation:l,fallbackColor:this._getFallbackOpacityAndColor(),fallbackSize:n})}get _primitive(){const{resource:e}=this.symbolLayer;return null!=e?.href?null:e?.primitive??O}_getFallbackOpacityAndColor(){return this._materialColor?.toUnitRGBA()??(this._isPrimitive?g:A)}get _materialColor(){return this.symbolLayer.material?.color}}function le(e,t,s){const r=f();switch(s.anchor){case"center":c(r,w(e)),l(r,r);break;case"top":{const t=w(e);m(r,-t[0],-t[1],-e[5]);break}case"bottom":{const t=w(e);m(r,-t[0],-t[1],-e[2]);break}case"relative":{const t=w(e),i=S(e),a=s.anchorPosition,o=a?_(a.x,a.y,a.z):y;h(r,i,o),d(r,r,t),l(r,r);break}default:null!=t?l(r,t):c(r,y)}return r}function ce(e){return"absolute-height"!==e.mode}function he(e){return 1===(e.material?.color?.a??0)&&null==e.resource?.href}function de(e){return e?0:2}const me=f(),pe=o(),ue=o(),fe=v(),ye=new z;export{ne as Graphics3DObjectSymbolLayer};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{watch as t,when as s,syncAndInitial as i,sync as l}from"../../../../core/reactiveUtils.js";import{throttle as a}from"../../../../core/throttle.js";import{property as r,subclass as o}from"../../../../core/accessorSupport/decorators.js";import{clone as n,create as d}from"../../../../geometry/support/aaBoundingRect.js";import{toFlowData as h}from"../../../2d/engine/flow/dataUtils.js";import u from"../../layers/FlowSubView3D.js";import{getFeatureTileId as p}from"../../layers/support/FeatureTileDescriptor.js";import{tilesWaitingTime as c}from"./constants.js";import{FlowDataTile as f}from"./loadUtils.js";import{isRasterTile as T}from"../../terrain/TerrainData.js";import{descendantsAtLevel as
|
|
5
|
+
import{__decorate as e}from"tslib";import{watch as t,when as s,syncAndInitial as i,sync as l}from"../../../../core/reactiveUtils.js";import{throttle as a}from"../../../../core/throttle.js";import{property as r,subclass as o}from"../../../../core/accessorSupport/decorators.js";import{clone as n,create as d}from"../../../../geometry/support/aaBoundingRect.js";import{toFlowData as h}from"../../../2d/engine/flow/dataUtils.js";import u from"../../layers/FlowSubView3D.js";import{getFeatureTileId as p}from"../../layers/support/FeatureTileDescriptor.js";import{tilesWaitingTime as c}from"./constants.js";import{FlowDataTile as f}from"./loadUtils.js";import{isRasterTile as T}from"../../terrain/TerrainData.js";import{descendantsAtLevel as _}from"../../terrain/tileUtils.js";const g={type:"delete"},D={type:"invalid"};let y=class extends u{constructor(e){super(e),this._flowDataTiles=m(),this._flowDataTilesSet=!1,this._throttledTriggerLoad=null,this._throttling=!1,this._resetTileData=!0}initialize(){this.addHandles([this.surface.on("tile-data-changed",({tile:e,layerIndex:t,layerClass:s})=>{if(t!==this._layerIndex||1!==s)return;const i=this.frameTask.schedule(()=>{this._applyTileDataUpdate(e)&&this.triggerLoad()});this.updatingHandles.addPromise(i)}),t(()=>this.renderedTiles,e=>{const t=this.frameTask.scheduleGenerator(this.loadAllTiles?t=>this._applyTileDataUpdates(e,t):t=>this._syncToTiles(e,t));this.updatingHandles.addPromise(t)},i),s(()=>null!=this.renderedTiles&&null!=this.extent&&this.loadAllTiles,()=>{const e=this.frameTask.scheduleGenerator(e=>this._enterAllTilesMode(e));this.updatingHandles.addPromise(e)},i),t(()=>this._pixelSize,()=>{this.invalidateTileData(),this._resetTileData=!0},l),this.layerView.on("data-changed",()=>{this.invalidateTileData(),this._resetTileData=!0})]),this._throttledTriggerLoad=a(()=>{super.triggerLoad(),this._throttling=!1},()=>this._throttling=!0,c,this),this.addHandles(this._throttledTriggerLoad)}*_enterAllTilesMode(e){const{targetTiles:t,_flowDataTiles:s}=this,i=m();for(const[l,a]of s)t.has(l)&&i.set(l,a);this._setFlowDataTiles(i),e.madeProgress(),e.done&&(e=yield),yield*this._applyTileDataUpdates(new Set(this.surface.allTiles),e),this.triggerLoad()}*_syncToTiles(e,t){const s=m();for(const i of e??[]){const e=this._flowDataTiles.get(i.key),l=null==e||"delete"===e.type||"invalid"===e.type?this._getLoadedState(i):e;null!=l&&s.set(i.key,l),t.madeProgress(),t.done&&(t=yield)}this._setFlowDataTiles(s),this.triggerLoad()}*_applyTileDataUpdates(e,t){let s=!1;for(const i of e??[]){const e=this._applyTileDataUpdate(i);s||=e,t.madeProgress(),t.done&&(t=yield)}s&&this.triggerLoad()}abort(){super.abort(),this._throttling=!1}get _layerIndex(){return this.surface.getLayerIndexByUID(1,this.layerView.uid)}get _pixelSize(){return this.surface.tilingScheme.pixelSize}doRefresh(){this.invalidateTileData(),super.doRefresh()}triggerLoad(){const{_throttledTriggerLoad:e}=this;this._allTilesLoaded?(e.hasPendingUpdates()||e(),e.forceUpdate()):e()}async fetchDataAndGenerateStreamlines(e,t){const{_flowDataTiles:s,needsMagnitude:i,workerHandle:l}=this,a=this.getSimulationSettings(e);if(null==a||null==l||0===s.size)return;const r=this._resetTileData;this._resetTileData=!1;const o=m();s.forEach((e,t)=>{"delete"===e.type?(o.set(t,g),s.delete(t)):(r||"on-worker"!==e.type&&"invalid"!==e.type)&&(o.set(t,e),s.set(t,"invalid"===e.type?D:{type:"on-worker",sourceLevel:e.sourceLevel}))});const n={simulationSettings:a,flowExtentInfo:e.flowExtentInfo,flowDataTiles:o,reset:r,needsMagnitude:i,startPositions:this.startPositions(e)},{streamlines:d}=await l.generateTiledStreamlines(n,t);return d}hasWork(){return super.hasWork()||this._throttling||this._resetTileData}get loadRequirementsMet(){return super.loadRequirementsMet&&this._flowDataTilesSet}_getLoadedState(e){const{_layerIndex:t}=this,s=e.isDisposed;if(null==t||s)return null;const i=e.getLayerInfo(t,1);if(null==i)return null;const l=this._getRasterTile(i,e,t);return null==l?this._upsampleFlowData(t,i.upsampleInfo,e.lij,e.extent):{type:"loaded",data:this._createFlowDataTile(l,e.lij,e.extent,this._pixelSize),sourceLevel:e.level}}_upsampleFlowData(e,t,s,i){if(null==t)return null;const l=t.tile;if(null==l)return null;const a=l.getLayerInfo(e,1);if(null==a)return null;const r=this._getRasterTile(a,l,e);if(null==r)return null;const{scale:o,offset:n}=t,d=Math.max(Math.floor(this._pixelSize*o),1),h=r.source,u=Math.floor(n[0]*h.width),p=Math.floor((1-n[1]-o)*h.height);return{type:"loaded",data:this._createFlowDataTile(r,s,i,d,u,p),sourceLevel:l.level}}_getRasterTile(e,t,s){const{data:i}=e;return!e.dataMissing&&t.hasLayerData(s,1)&&T(i)?i:null}_createFlowDataTile(e,t,s,i,l,a){const r=h(this.layer.serviceRasterInfo.dataType,e.source,i,i,l,a),o=r.mask.slice();return new f(r.data,o,r.width,r.height,t,n(s))}_applyTileDataUpdate(e){const{renderedTiles:t,_layerIndex:s,loadAllTiles:i,loadAllTilesLevel:l}=this;if(null==t||null==s||i&&e.level>l)return!1;if(t.has(e))return this._updateRenderedTile(e);const a=e.key;let r=this._setTileData(a,g);const o=this._updateUpsampledTiles(t,e,s);r||=o;const n=i&&this._updateDescendants(e,s);return r||=n,r}_updateRenderedTile(e){const t=e.key,{_flowDataTiles:s}=this;if(w(s.get(t),e))return!1;const i=this._getLoadedState(e);return this._setTileData(t,i)}_updateUpsampledTiles(e,t,s){const{_flowDataTiles:i}=this;let l=!1;for(const a of e.values()){const e=a.key;if(w(i.get(e),t))continue;const r=a.getLayerInfo(s,1);if(null==r)continue;if(null!=this._getRasterTile(r,a,s))continue;const o=r.upsampleInfo?.tile;if(o!==t)continue;const n=this._getLoadedState(a),d=this._setTileData(e,n);l||=d}return l}_updateDescendants(e,t){let s=!1;const{tilingScheme:i,upsampleInfoPool:l}=this.surface,{targetTiles:a,_flowDataTiles:r,loadAllTilesLevel:o}=this,n=e.lij,h=_(n,o).map(e=>[p(e[0],e[1],e[2]),e]).filter(([e])=>a.has(e));if(0===h.length)return s;const u=1<<o-n[0],c=1/u,f=n[1]*u,T=n[2]*u,g=l.acquire();for(const[p,_]of h){if(w(r.get(p),e))continue;const l=d();i.getExtent(_[0],_[1],_[2],l);const a=1-(_[1]-f)*c-c,o=(_[2]-T)*c;g.init(e,o,a,c);const n=this._upsampleFlowData(t,g,_,l),h=this._setTileData(p,n);s||=h}return l.release(g),s}_setTileData(e,t){if(null==t)return!1;const{_flowDataTiles:s}=this;return(null!=s.get(e)||"delete"!==t.type)&&(s.set(e,t),!0)}_setFlowDataTiles(e){this._flowDataTiles=e,this._resetTileData=!0,this._flowDataTilesSet=!0}get _allTilesLoaded(){let e=0;for(const t of this._flowDataTiles.values()??[])"delete"!==t.type&&"invalid"!==t.type&&e++;return this.loadAllTiles?e===this.targetTiles.size:e===this.renderedTiles?.size}invalidateTileData(){const{_flowDataTiles:e}=this;for(const t of e.keys())e.set(t,D)}get usedMemory(){const e=9*this._pixelSize**2,t=(this._flowDataTiles.size??0)*e;return super.usedMemory+t}get test(){return{...super.test,loadedTiles:this._flowDataTiles}}};function m(){return new Map}function w(e,t){return null!=e&&("loaded"===e.type||"on-worker"===e.type)&&e.sourceLevel>=t.level}e([r()],y.prototype,"_throttling",void 0),e([r()],y.prototype,"_resetTileData",void 0),y=e([o("esri.views.3d.support.flow.FlowSubViewTiles3D")],y);export{y as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{signal as i}from"../../../../core/signal.js";class e{static{this.fadeInEase=i=>i*(2-i)}static{this.fadeOutEase=i=>i*i}constructor(e){this.layerView=e,this._numFadingTiles=i(0)}get numFadingTiles(){return this._numFadingTiles.value}fadeTile(i,e){const t=this._getTargetOpacity(e);if(i.fadeDirection=e,0===this.fadeDuration)return void this._instantTileFading(i,t);const a=i.opacityModifier;if(a!==t){const e=1-Math.abs(t-a);this._startTileFading(i,e)}else this._stopTileFading(i)}updateAllTileFading(i){this.layerView.tileHandles.forEach(e=>this._updateTileFading(e,i)),this.layerView.updateGaussians()}onFadeDurationChanged(i){0===i&&this.numFadingTiles>0&&this._instantlyFullyFadeAllTiles()}isTileFadingOut(i){return null!=i.fadeProgress&&1===i.fadeDirection}isUpdating(){return this._numFadingTiles.value>0}get fadeDuration(){return
|
|
5
|
+
import{signal as i}from"../../../../core/signal.js";class e{static{this.fadeInEase=i=>i*(2-i)}static{this.fadeOutEase=i=>i*i}constructor(e){this.layerView=e,this._numFadingTiles=i(0)}get numFadingTiles(){return this._numFadingTiles.value}fadeTile(i,e){const t=this._getTargetOpacity(e);if(i.fadeDirection=e,0===this.fadeDuration)return void this._instantTileFading(i,t);const a=i.opacityModifier;if(a!==t){const e=1-Math.abs(t-a);this._startTileFading(i,e)}else this._stopTileFading(i)}updateAllTileFading(i){this.layerView.tileHandles.forEach(e=>this._updateTileFading(e,i)),this.layerView.updateGaussians()}onFadeDurationChanged(i){0===i&&this.numFadingTiles>0&&this._instantlyFullyFadeAllTiles()}isTileFadingOut(i){return null!=i.fadeProgress&&1===i.fadeDirection}isUpdating(){return this._numFadingTiles.value>0}get fadeDuration(){return this.layerView.view.qualitySettings.fadeDuration}get fadingEnabled(){return 0!==this.fadeDuration}_startTileFading(i,e){null==i.fadeProgress&&this._numFadingTiles.value++,i.fadeProgress=e}_stopTileFading(i){null!=i.fadeProgress&&(1===i.fadeDirection&&this._onTileFullyFadedOut(i),this._numFadingTiles.value--,i.fadeProgress=null)}_updateTileFading(i,t){const{fadeProgress:a,fadeDirection:s}=i;if(null==a)return;const n=this._fadeDirectionToSign(s),l=n*this.fadeDuration,d=this._getTargetOpacity(s),r=t/Math.abs(l||1),o=Math.min(a+r,1),u=n*(1-(0===s?e.fadeInEase:e.fadeOutEase)(o)),g=1===o;i.opacityModifier=g?d:d-u,g?this._stopTileFading(i):i.fadeProgress=o,this._updateOpacityModifier(i)}_updateOpacityModifier(i){const e=255*i.opacityModifier;for(let t=0;t<i.pageIds.length;t++){const a=i.pageIds[t];this.layerView.data.fadingTexture.updateBuffer(e,a)}}_instantTileFading(i,e){i.fadeProgress=null,i.opacityModifier=e,this._updateOpacityModifier(i),1===i.fadeDirection&&this._onTileFullyFadedOut(i)}_instantlyFullyFadeAllTiles(){this.layerView.tileHandles.forEach(i=>{null!=i.fadeProgress&&this._instantTileFading(i,this._getTargetOpacity(i.fadeDirection))}),this.layerView.updateGaussians(),this._numFadingTiles.value=0}_onTileFullyFadedOut(i){i.isVisible=!1,this.layerView.moveTileToCache(i)}_fadeDirectionToSign(i){return 0===i?1:-1}_getTargetOpacity(i){return 0===i?1:0}}export{e as GaussianSplatFadeHelper};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as t}from"tslib";import e from"../../../../core/Accessor.js";import"../../../../core/has.js";import{abortMaybe as o}from"../../../../core/maybe.js";import"../../../../core/RandomLCG.js";import"../../../../core/Logger.js";import{watch as r,on as i}from"../../../../core/reactiveUtils.js";import{property as s,subclass as n}from"../../../../core/accessorSupport/decorators.js";import{create as l}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import p from"../../../../geometry/Point.js";import{center as a}from"../../../../geometry/support/aaBoundingRect.js";import"../../../../core/asyncUtils.js";import"../../../../core/units.js";import"../../../../geometry/ellipsoidUtils.js";import"../../../../geometry/Extent.js";import"../../../../geometry/Geometry.js";import"../../../../geometry/Multipoint.js";import"../../../../geometry/Polygon.js";import"../../../../geometry/Polyline.js";import"../../../../geometry/SpatialReference.js";import"../../../../geometry/operators/support/GeographicTransformation.js";import"../../../../geometry/projection/projectors.js";import"../../../../geometry/support/spatialReferenceUtils.js";import"../../../../layers/support/TileElevationSampler.js";let u=class extends e{constructor(t){super(t),this.location=null,this._updateController=null}initialize(){this.view.state.isLocal&&(this.addHandles([r(()=>[this._groundView?.spatialReference,this._groundView?.groundExtent],()=>this._update()),i(()=>this._ground?.layers,"change",()=>this._update())]),this._update())}destroy(){this._updateController=o(this._updateController)}get renderLocation(){if(!this.location)return null;const t=l();return this.view.renderCoordsHelper.toRenderCoords(this.location,t),t}get _ground(){return this.view.map?.ground}get _groundView(){return this.view.groundView}_update(){if(this._updateController=o(this._updateController),null==this._groundView?.groundExtent||null==this._groundView?.spatialReference)return void this._set("location",null);const t=a(this._groundView.groundExtent),e=new p({x:t[0],y:t[1],z:0,spatialReference:this._groundView.spatialReference});this._ground&&this._ground.layers.length>0?(this._set("location",null),this._updateController=new AbortController,this._ground.queryElevation(e,{noDataValue:0,signal:this._updateController.signal,cache:this.cache}).then(t=>{this._updateController=null,this._set("location",t.geometry)}).catch(t=>{})):this._set("location",e)}};t([s({constructOnly:!0})],u.prototype,"view",void 0),t([s({constructOnly:!0})],u.prototype,"cache",void 0),t([s({readOnly:!0})],u.prototype,"location",void 0),t([s({readOnly:!0})],u.prototype,"renderLocation",null),t([s()],u.prototype,"_ground",null),t([s()],u.prototype,"_groundView",null),u=t([n("esri.views.3d.support.pointsOfInterest.StableSurfaceCenter")],u);export{u as StableSurfaceCenter};
|
|
5
|
+
import{__decorate as t}from"tslib";import e from"../../../../core/Accessor.js";import"../../../../core/has.js";import{abortMaybe as o}from"../../../../core/maybe.js";import"../../../../core/RandomLCG.js";import"../../../../core/Logger.js";import{watch as r,on as i}from"../../../../core/reactiveUtils.js";import{property as s,subclass as n}from"../../../../core/accessorSupport/decorators.js";import{create as l}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import p from"../../../../geometry/Point.js";import{center as a}from"../../../../geometry/support/aaBoundingRect.js";import"../../../../core/asyncUtils.js";import"../../../../core/units.js";import"../../../../geometry/ellipsoidUtils.js";import"../../../../geometry/Extent.js";import"../../../../geometry/Geometry.js";import"../../../../geometry/Multipoint.js";import"../../../../geometry/Polygon.js";import"../../../../geometry/Polyline.js";import"../../../../geometry/SpatialReference.js";import"../../../../geometry/operators/support/GeographicTransformation.js";import"../../../../geometry/projection/projectors.js";import"../../../../geometry/support/spatialReferenceUtils.js";import"../../../../layers/support/ElevationTileData.js";import"../../../../layers/support/TileElevationSampler.js";let u=class extends e{constructor(t){super(t),this.location=null,this._updateController=null}initialize(){this.view.state.isLocal&&(this.addHandles([r(()=>[this._groundView?.spatialReference,this._groundView?.groundExtent],()=>this._update()),i(()=>this._ground?.layers,"change",()=>this._update())]),this._update())}destroy(){this._updateController=o(this._updateController)}get renderLocation(){if(!this.location)return null;const t=l();return this.view.renderCoordsHelper.toRenderCoords(this.location,t),t}get _ground(){return this.view.map?.ground}get _groundView(){return this.view.groundView}_update(){if(this._updateController=o(this._updateController),null==this._groundView?.groundExtent||null==this._groundView?.spatialReference)return void this._set("location",null);const t=a(this._groundView.groundExtent),e=new p({x:t[0],y:t[1],z:0,spatialReference:this._groundView.spatialReference});this._ground&&this._ground.layers.length>0?(this._set("location",null),this._updateController=new AbortController,this._ground.queryElevation(e,{noDataValue:0,signal:this._updateController.signal,cache:this.cache}).then(t=>{this._updateController=null,this._set("location",t.geometry)}).catch(t=>{})):this._set("location",e)}};t([s({constructOnly:!0})],u.prototype,"view",void 0),t([s({constructOnly:!0})],u.prototype,"cache",void 0),t([s({readOnly:!0})],u.prototype,"location",void 0),t([s({readOnly:!0})],u.prototype,"renderLocation",null),t([s()],u.prototype,"_ground",null),t([s()],u.prototype,"_groundView",null),u=t([n("esri.views.3d.support.pointsOfInterest.StableSurfaceCenter")],u);export{u as StableSurfaceCenter};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{someMap as t}from"../../../core/MapUtils.js";import{releaseMaybe as e}from"../../../core/maybe.js";import{
|
|
5
|
+
import{someMap as t}from"../../../core/MapUtils.js";import{releaseMaybe as e}from"../../../core/maybe.js";import{RenderNodeOutput as h}from"../webgl.js";import{isManagedDepthTexture as o}from"./ManagedDepthTexture.js";import r from"./ManagedFBOResource.js";import{ColorAttachment0 as s,DepthStencilAttachment as i}from"../../webgl/enums.js";class a extends r{constructor(t,e,o,r,s,i){super(t,i),this.fbo=o,this.type=0,this._colors=new Map,this._name=h.COMPOSITE,this.acquireColor=null,this.acquireDepth=null,this._name=e,this.acquireColor=r,this.acquireDepth=s}dispose(){this.fbo?.dispose()}get usedMemory(){return this.fbo?.usedMemory||0}get numberOfColorAttachments(){return this._colors.size}get name(){return this._name}setName(t){this._name=t}getTexture(t=s){return t===i?this.fbo?.depthStencilTexture:this.fbo?.getColorTexture(t)}get depthTexture(){return this.getTexture(i)}getAttachment(t=s){return t===i?this._depth:this._colors.get(t)}hasAttachment(e){return t(this._colors,t=>t.name===e)}attachDepth(t){return t?.retain(),this.detachDepth(),t&&this.fbo?.attachDepthStencil(t.attachment),this._depth=t,this}detachDepth(){this.fbo?.detachDepthStencilTexture(),this.fbo?.detachDepthStencilBuffer(),this._depth=e(this._depth)}obtainDepthTexture(){const t=this._depth;return o(t)?(this.fbo?.detachDepthStencilTexture(),this._depth=null,t):null}attachColor(t,e){return t.retain(),this.detachColor(e),this.fbo?.attachColorTexture(t.attachment,e),this._colors.set(e,t),this}detachColor(t){this.fbo?.detachColorTexture(t);const e=this._colors.get(t);this._colors.delete(t),e?.release()}detachAllColors(){this._colors.forEach((t,e)=>this.detachColor(e))}detachAll(){this.detachAllColors(),this.detachDepth()}detachAllColorsBut0(){this._colors.forEach((t,e)=>{e!==s&&this.detachColor(e)})}detachAllButColor0(){this.detachAllColorsBut0(),this.detachDepth()}}export{a as default};
|
|
@@ -2,7 +2,7 @@ import type Accessor from "../../../core/Accessor.js";
|
|
|
2
2
|
import type SceneView from "../../SceneView.js";
|
|
3
3
|
import type ManagedFBO from "./ManagedFBO.js";
|
|
4
4
|
import type RenderCamera from "./RenderCamera.js";
|
|
5
|
-
import type {
|
|
5
|
+
import type { RenderNodeOutput, ConsumedNodes } from "../webgl.js";
|
|
6
6
|
import type { SunLight } from "./types.js";
|
|
7
7
|
|
|
8
8
|
export interface RenderNodeProperties extends Partial<Pick<RenderNode, "produces">> {
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import r from"../../../core/Accessor.js";import t from"../../../core/Error.js";import{watch as i,initial as s}from"../../../core/reactiveUtils.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{
|
|
5
|
+
import{__decorate as e}from"tslib";import r from"../../../core/Accessor.js";import t from"../../../core/Error.js";import{watch as i,initial as s}from"../../../core/reactiveUtils.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{RenderNodeOutput as d}from"../webgl.js";let a=class extends r{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces=d.COMPOSITE,this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([i(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},s)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new t("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,r=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return r.fbo?.initializeAndBind(),r}bindRenderTarget(){return this._frameBuffer?.fbo?.initializeAndBind(),this._frameBuffer}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};e([n({constructOnly:!0})],a.prototype,"view",void 0),e([n({constructOnly:!0})],a.prototype,"consumes",void 0),e([n()],a.prototype,"produces",void 0),e([n({readOnly:!0})],a.prototype,"techniques",null),a=e([o("esri.views.3d.webgl.RenderNode")],a);export{a as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{exactEquals as s}from"../../../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as t}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{defaultComponentParameters as i}from"../ComponentDrawParameters.js";import{ComponentTechnique as r}from"./ComponentTechnique.js";import{ComponentTechniqueConfiguration as o}from"./ComponentTechniqueConfiguration.js";import{parameter as a,MaterialBase as n}from"../../../core/material/MaterialBase.js";import{isColor as l}from"../../../core/shaderLibrary/ShaderOutput.js";class u extends n{constructor(e,r,a,n,l,u){super(),this.floatBufferBlendSupported=l,this.emissiveOverride=i.emissiveOverride,this.emissiveSourceOverride=i.emissiveSourceOverride,this.transparent=i.transparent,this.opaqueOverride=i.opaqueOverride,this.castShadows=i.castShadows,this.baseColorTranslucent=e.baseColor[3]<1,this.usePBR=e.usePBR,this.hasParametersFromSource=e.hasParametersFromSource,this.hasEmissiveBase=null!=e.emissionTexture||!s(e.emissiveBaseColor,t),this.isGround=e.isGround,this.slicePlaneEnabled=e.slicePlaneEnabled,this.updateOpacity(e.objectOpacity),this.isIntegratedMesh=e.isIntegratedMesh,this.polygonOffsetEnabled=e.polygonOffsetEnabled,this.applySSAO=e.applySSAO,this.hasEmissiveTexture=null!=e.emissionTexture,this._configuration=new o(n),this._initializeMaterialConfiguration(e,r,u),this.updateComponentParameters(a)}dispose(){}get _hasEmissiveStrength(){return 2!==this.emissiveOverride}get hasEmissions(){return this.floatBufferBlendSupported&&this._hasEmissiveStrength&&(this.hasEmissiveBase||2!==this.emissiveSourceOverride)}acquireTechnique(e,s,t,i){const o=this._updateConfiguration(s,t);return e.get(r,o,i.layout)}_initializeMaterialConfiguration(e,s,t){const i=this._configuration;i.hasMetallicRoughnessTexture=null!=e.metallicRoughnessTexture,i.hasOcclusionTexture=null!=e.occlusionTexture,i.hasNormalTexture=null!=e.normalTexture,i.sphereDepthInterpolate=e.sphereDepthInterpolate&&i.spherical,i.ellipsoidMode=e.ellipsoidMode,i.doubleSidedMode=e.doubleSided?1:0,i.hasColorTexture=null!=e.baseColorTexture,i.cullFace=e.cullFace,i.alphaDiscardMode=e.alphaDiscardMode,i.hasVertexColors=s.hasVertexColors,i.textureCoordinateType=s.textureCoordinateType,i.shadeNormals=s.shadeNormals,i.normalType=s.hasNormals?1:2,i.hasPolygonOffset=this.polygonOffsetEnabled,i.hasModelRotationScale=t}_updateConfiguration(e,s){const t=this._configuration,i=e.identifier,r=0===i;t.hasEmission=s.hasEmission&&r,t.renderOccluded=10===s.slot,t.oitPass=r?s.oitPass:0,t.terrainDepthTest=r&&s.terrainDepthTest,t.cullAboveTerrain=!!r&&s.cullAboveTerrain;const o=this.isIntegratedMesh?d(s)?h(s)?3:2:1:0;t.integratedMeshMode=o,t.pbrMode=3===o?4:this.usePBR?this.hasParametersFromSource?t.shadeNormals&&this.isIntegratedMesh?0:2:1:0;const{hasEmissiveTexture:a,emissiveSourceOverride:n}=this,u=1===n,c=2===n;t.emissionSource=this.hasEmissions?this.hasEmissiveBase?c?a?4:2:u?a?5:7:6:u?7:6:0
|
|
5
|
+
import{__decorate as e}from"tslib";import{exactEquals as s}from"../../../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as t}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{defaultComponentParameters as i}from"../ComponentDrawParameters.js";import{ComponentTechnique as r}from"./ComponentTechnique.js";import{ComponentTechniqueConfiguration as o}from"./ComponentTechniqueConfiguration.js";import{parameter as a,MaterialBase as n}from"../../../core/material/MaterialBase.js";import{isColor as l}from"../../../core/shaderLibrary/ShaderOutput.js";class u extends n{constructor(e,r,a,n,l,u){super(),this.floatBufferBlendSupported=l,this.objectTransparent=!1,this.emissiveOverride=i.emissiveOverride,this.emissiveSourceOverride=i.emissiveSourceOverride,this.transparent=i.transparent,this.opaqueOverride=i.opaqueOverride,this.castShadows=i.castShadows,this.baseColorTranslucent=e.baseColor[3]<1,this.usePBR=e.usePBR,this.hasParametersFromSource=e.hasParametersFromSource,this.hasEmissiveBase=null!=e.emissionTexture||!s(e.emissiveBaseColor,t),this.isGround=e.isGround,this.slicePlaneEnabled=e.slicePlaneEnabled,this.updateOpacity(e.objectOpacity),this.isIntegratedMesh=e.isIntegratedMesh,this.polygonOffsetEnabled=e.polygonOffsetEnabled,this.applySSAO=e.applySSAO,this.hasEmissiveTexture=null!=e.emissionTexture,this._configuration=new o(n),this._initializeMaterialConfiguration(e,r,u),this.updateComponentParameters(a)}dispose(){}get _hasEmissiveStrength(){return 2!==this.emissiveOverride}get hasEmissions(){return this.floatBufferBlendSupported&&this._hasEmissiveStrength&&(this.hasEmissiveBase||2!==this.emissiveSourceOverride)}acquireTechnique(e,s,t,i){const o=this._updateConfiguration(s,t);return e.get(r,o,i.layout)}_initializeMaterialConfiguration(e,s,t){const i=this._configuration;i.hasMetallicRoughnessTexture=null!=e.metallicRoughnessTexture,i.hasOcclusionTexture=null!=e.occlusionTexture,i.hasNormalTexture=null!=e.normalTexture,i.sphereDepthInterpolate=e.sphereDepthInterpolate&&i.spherical,i.ellipsoidMode=e.ellipsoidMode,i.doubleSidedMode=e.doubleSided?1:0,i.hasColorTexture=null!=e.baseColorTexture,i.cullFace=e.cullFace,i.alphaDiscardMode=e.alphaDiscardMode,i.hasVertexColors=s.hasVertexColors,i.textureCoordinateType=s.textureCoordinateType,i.shadeNormals=s.shadeNormals,i.normalType=s.hasNormals?1:2,i.hasPolygonOffset=this.polygonOffsetEnabled,i.hasModelRotationScale=t}_updateConfiguration(e,s){const t=this._configuration,i=e.identifier,r=0===i;t.hasEmission=s.hasEmission&&r,t.renderOccluded=10===s.slot,t.oitPass=r?s.oitPass:0,t.terrainDepthTest=r&&s.terrainDepthTest,t.cullAboveTerrain=!!r&&s.cullAboveTerrain;const o=this.isIntegratedMesh?d(s)?h(s)?3:2:1:0;t.integratedMeshMode=o,t.pbrMode=3===o?4:this.usePBR?this.hasParametersFromSource?t.shadeNormals&&this.isIntegratedMesh?0:2:1:0;const{hasEmissiveTexture:a,emissiveSourceOverride:n}=this,u=1===n,c=2===n;t.emissionSource=this.hasEmissions?this.hasEmissiveBase?c?a?4:2:u?a?5:7:6:u?7:6:0,t.hasSlicePlane=null!=s.slicePlane&&this.slicePlaneEnabled,t.isGroundSlice=t.hasSlicePlane&&this.isGround;const p=this.computeMaterialPass();t.blendingEnabled=1===p||2===p||4===p||t.isGroundSlice,t.hasHighlightMixTexture=2===i&&null!=s.highlightMixTexture,t.output=e.output,t.snowCover=r&&s.snowCover>0,t.vertexDiscardMode=r&&2===p?e.transparent?2:1:0;const m=r&&l(e.output);return t.receiveAmbientOcclusion=m&&this.applySSAO&&null!=s.ssao?.getTexture(),t.hasOccludees=m&&s.hasOccludees,t.receiveShadows=m&&s.shadowMap.ready,t.screenSpaceReflections=m&&null!=s.ssr.lastFrameColor,t.cloudReflections=m&&null!=s.clouds.data?.cubeMap?.colorTexture,t}computeMaterialPass(){const{_configuration:e,objectTransparent:s,baseColorTranslucent:t,isIntegratedMesh:i,transparent:r,opaqueOverride:o}=this,{alphaDiscardMode:a,hasSlicePlane:n}=e;if(i)return s||n?4:3;if(s)return 1;if(0===o)return 0;if(t||0===a||3===a)return 1;switch(r){case 2:return 0;case 0:return 1;case 1:return 2}}updateOpacity(e){this.objectTransparent=e<1}updateComponentParameters(e){this.transparent=e.transparent,this.opaqueOverride=e.opaqueOverride,this.emissiveOverride=e.emissiveOverride,this.emissiveSourceOverride=e.emissiveSourceOverride,this.castShadows=e.castShadows,this._configuration.componentDataType=e.componentDataType,this._setDirty()}update(e){void 0!==e.usePBR&&(this.usePBR=e.usePBR),void 0!==e.slicePlaneEnabled&&(this.slicePlaneEnabled=e.slicePlaneEnabled),void 0!==e.polygonOffsetEnabled&&(this.polygonOffsetEnabled=e.polygonOffsetEnabled,this._configuration.hasPolygonOffset=this.polygonOffsetEnabled,this._setDirty())}}function h(e){return null!=e.overlay?.getTexture(3)}function d(e){return null!=e.overlay?.getTexture(1)}e([a()],u.prototype,"objectTransparent",void 0),e([a()],u.prototype,"polygonOffsetEnabled",void 0),e([a()],u.prototype,"slicePlaneEnabled",void 0),e([a()],u.prototype,"usePBR",void 0),e([a()],u.prototype,"emissiveOverride",void 0),e([a()],u.prototype,"emissiveSourceOverride",void 0),e([a()],u.prototype,"transparent",void 0),e([a()],u.prototype,"opaqueOverride",void 0),e([a()],u.prototype,"castShadows",void 0);export{u as ComponentMaterial};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{property as r,subclass as t}from"../../../../../core/accessorSupport/decorators.js";import{ZEROS as o}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{
|
|
5
|
+
import{__decorate as e}from"tslib";import{property as r,subclass as t}from"../../../../../core/accessorSupport/decorators.js";import{ZEROS as o}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{RenderNodeOutput as n}from"../../../webgl.js";import i from"../../../webgl/RenderNode.js";import{If as a,glsl as s}from"../../core/shaderModules/glsl.js";import{Pos2Locations as c}from"../../lib/DefaultVertexBufferLayouts.js";import{checkWebGLError as l}from"../../../../webgl/checkWebGLError.js";import{ColorAttachment0 as u,SizedPixelFormat as h,DataType as p}from"../../../../webgl/enums.js";let f=class extends i{constructor(e){super(e),this.destroyedCB=null,this.produces=n.FINAL,this.consumes={required:[n.FINAL]},this.clearColor=o,this._focusedFBOType=7,this._program=new Map}destroy(){this._program.forEach(e=>e.dispose()),this._program.clear(),this.destroyedCB()}render(e){const r=e.find(({name:e})=>e===n.FINAL);if(!this._focusedFBO)return r;const t=this.renderingContext;t.bindFramebuffer(r.fbo),t.setClearColor(0,0,0,0),t.clear(16384);const o=this._focusedFBO.getTexture(),i=[m(o)],a=this._ensureProgram(t,!1,i);return t.useProgram(a),t.bindTexture(o,0),a.setUniform1i("colorTex0",0),a.setUniform1i("inputType",this._focusedFBOType),3===this._focusedFBOType&&a.setUniform2fv("nearFar",this.camera.nearFar),t.screen.draw(),r}getDownscaledFBO(e,r,t,o,n){0===r&&(o=e.width,n=e.height);const i=e.colorAttachments.length,a=[],s=new Array;for(let l=0;l<i;++l){const r=e.getColorTexture(u+l);if(r){const e=m(r);a.push(e);const{descriptor:t}=r;"float"!==e||t.hasMipmap||t.isImmutable||(r.generateMipmap(),s[l]=!0)}}const c=this.renderingContext,{depthStencilTexture:p}=e,f=this._ensureProgram(c,null!=p,a),d=this.fboCache.acquire(o,n,"fbo visualizer");c.useProgram(f),c.bindFramebuffer(d.fbo);const g=[];for(let l=0;l<i;++l){const r=u+l,t=`colorTex${l.toFixed()}`;c.bindTexture(e.getColorTexture(r),l),f.setUniform1i(t,l),l>0&&d.acquireColor(r,5,"fbo visualizer"),g.push(r)}const v=p?.descriptor.linearFilterDepth??!1;if(p){const e=i;p.setShadowFiltering(!1),c.bindTexture(p,e),f.setUniform1i("depthTex",e);const r=u+e;r>u&&d.acquireColor(r,5,"fbo visualizer"),g.push(r)}c.gl.drawBuffers(g),l(c.gl);const x=c.getViewport();c.setViewport(0,0,o,n),c.setClearColor(0,0,0,0),c.clear(16384),c.setBlendingEnabled(!0),c.setBlendFunction(1,771);const F="linear depth"===t||t.includes("shadow"),T="overlay highlight"===t||"highlights"===t||"highlight mix"===t,b="highlight coverage"===t,C=e.colorTexture?.descriptor,R=C?.internalFormat,B=F?0:T?1:b?2:R===h.R16F||R===h.R32F||R===h.R8?3:R===h.RG8?4:R===h.RGBA16F?5:R===h.RG8UI?6:7;f.setUniform1i("inputType",B),f.setUniform2fv("nearFar",this.camera.nearFar),c.screen.draw(),l(c.gl),c.bindFramebuffer(null),c.setViewport(x.x,x.y,x.width,x.height),0===r&&(this._focusedFBO=d,this._focusedFBOType=B);for(let l=0;l<i;++l)if(s[l]){const r=e.getColorTexture(u+l);r?.clearMipmap()}return p&&p.setShadowFiltering(v),d}clearFocusedFBO(){this._focusedFBO=null}getPreviewContent(e,r,t,o){const n=this.renderingContext,i=o.includes("\ndepth"),a=this.fboCache.acquire(e,r,"fbo visualizer");n.bindFramebuffer(a?.fbo);const s=n.getViewport();n.setViewport(0,0,e,r),n.setClearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),n.clear(16384),n.setBlendingEnabled(!0),n.setBlendFunction(1,771);const c=t.attachment,u=this._ensureProgram(n,!1,[m(c)]);n.useProgram(u),n.bindTexture(c,0),u.setUniform1i("colorTex0",0),u.setUniform1i("inputType",i||c.descriptor.internalFormat!==h.RGBA16F?7:5),n.screen.draw();const f=new ImageData(new Uint8ClampedArray(e*r*4),e,r);return n.gl.readPixels(0,0,e,r,6408,p.UNSIGNED_BYTE,new Uint8Array(f.data.buffer)),l(n.gl),n.bindFramebuffer(null),n.setViewport(s.x,s.y,s.width,s.height),a?.release(),f}_ensureProgram(e,r,t){const o=g({hasDepthAttachment:r,colorAttachmentTypes:t}),n=this._program.get(o);if(n)return n;const i="#version 300 es\n in vec2 position;\n out vec2 uv;\n\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n uv = position * 0.5 + vec2(0.5);\n }",l=e=>{let r="";for(let t=0;t<e.length;++t){const o=e[t];r+=`layout(location = ${s.int(t)}) out vec4 fragColor${s.int(t)};\n uniform ${d(o)} colorTex${s.int(t)};`}return r},u=e=>{let r="";for(let t=1;t<e.length;++t){const o=e[t],n="float"===o?`vec4(texture(colorTex${t.toFixed()}, uv).rgb, 1.0)`:`texture(colorTex${t.toFixed()}, uv)`,i="float"===o?n:`vec4(vec2(${n}), 0.0, 1.0)`;r+=`fragColor${t.toFixed()} = ${i};`}return r},h=t.length,p=`#version 300 es\n precision highp float;\n precision highp usampler2D;\n\n in vec2 uv;\n ${l(t)}\n ${a(r,`layout(location = ${s.int(h)}) out vec4 fragDepth;\n uniform sampler2D depthTex;`)}\n\n uniform int inputType;\n uniform vec2 nearFar;\n\n // Factors to convert rgba back to float\n const vec4 RGBA_2_FLOAT_FACTORS = vec4(\n 255.0 / (256.0),\n 255.0 / (256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\n );\n\n\n float rgbaTofloat(vec4 rgba) {\n // Convert components from 0->1 back to 0->255 and then add the components together with their corresponding\n // fixed point factors, i.e. (256^1, 256^2, 256^3, 256^4)\n return dot(rgba, RGBA_2_FLOAT_FACTORS);\n }\n\n float linearDepthFromFloat(float depth) {\n depth = pow(depth, 0.2);\n return -(depth * (nearFar[1] - nearFar[0]) + nearFar[0]);\n }\n\n float linearDepthFromRGBA(vec4 depth) {\n return linearDepthFromFloat(rgbaTofloat(depth));\n }\n\n ${"float"===t[0]?"float linearDepthFromTexture(sampler2D depthTex, vec2 uv) {\n ivec2 iuv = ivec2(uv * vec2(textureSize(depthTex, 0)));\n return linearDepthFromRGBA(texelFetch(depthTex, iuv, 0));\n }":"float linearDepthFromTexture(usampler2D depthTex, vec2 uv) {\n ivec2 iuv = ivec2(uv * vec2(textureSize(depthTex, 0)));\n return linearDepthFromRGBA(vec4(texelFetch(depthTex, iuv, 0)) * 255.0);\n }"}\n\n void main() {\n ${a(t.length>0,s`
|
|
6
6
|
if (inputType == ${3..toFixed()}) {
|
|
7
7
|
fragColor0 = vec4(vec3(texture(colorTex0, uv).r), 1.0);
|
|
8
8
|
} else if (inputType == ${4..toFixed()}) {
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{property as t,subclass as s}from"../../../../../core/accessorSupport/decorators.js";import{
|
|
5
|
+
import{__decorate as e}from"tslib";import{property as t,subclass as s}from"../../../../../core/accessorSupport/decorators.js";import{RenderNodeOutput as r,InternalRenderCategory as i}from"../../../webgl.js";import o from"../../../webgl/RenderNode.js";import{F as n}from"../../../../../chunks/FocusAreaMask.glsl.js";import{FocusAreaMaskTechnique as a}from"./FocusAreaMaskTechnique.js";import{Pos3 as h}from"../../lib/DefaultVertexBufferLayouts.js";import{VertexArrayObject as c}from"../../lib/VertexArrayObject.js";import{DepthStencilAttachment as l,PrimitiveType as u}from"../../../../webgl/enums.js";import{noParameters as p}from"../../../../webgl/NoParameters.js";import{VertexBuffer as m}from"../../../../webgl/VertexBuffer.js";let d=class extends o{constructor(e){super({...e,view:e.focusAreasView.view}),this.consumes={required:[r.TRANSPARENT]},this.produces=i.FOCUSAREA,this._vaos=new Array,this._counts=new Array,this._origins=new Array,this._maskParameters=new n}initialize(){this.updateGeometries()}destroy(){this._vaos.forEach(e=>e.dispose()),this._vaos.length=this._counts.length=this._origins.length=0}precompile(){this.techniques.precompile(a)}render(e){const t=this.techniques.get(a),s=this.bindParameters,o=s.camera,n=o.fullViewport[2],h=o.fullViewport[3];if(!t.compiled||!this._vaos)return void this.requestRender(1);const c=e.find(({name:e})=>e===r.TRANSPARENT),m=this.renderingContext,d=this.fboCache.acquire(n,h,i.FOCUSAREA,2);this.view.stage.renderer.occludedRequiresStencil?(d.acquireDepth(14),m.blitFramebuffer(c.fbo,d.fbo,256)):d.attachDepth(c.getAttachment(l)),m.bindFramebuffer(d.fbo),m.setClearColor(0,0,0,1),m.clear(17408),m.setViewport(0,0,n,h);const f=m.bindTechnique(t,s);m.setFaceCullingEnabled(!1),m.setStencilTestEnabled(!0),m.setStencilOpSeparate(1028,7680,34055,7680),m.setStencilOpSeparate(1029,7680,34056,7680),m.setDepthWriteEnabled(!1);for(let r=0;r<this._vaos.length;r++){const e=this._vaos[r],t=this._counts[r];this._maskParameters.origin=this._origins[r],f.bindDraw(s,p,this._maskParameters),m.bindVAO(e),m.setDepthTestEnabled(!0),m.setStencilWriteMask(255),m.setStencilFunction(519,0,255),m.setColorMask(!1,!1,!1,!1),m.drawArrays(u.TRIANGLES,0,t),m.setDepthTestEnabled(!1),m.setStencilWriteMask(0),m.setStencilFunction(517,0,255),m.setColorMask(!0,!0,!0,!0),m.drawArrays(u.TRIANGLES,0,t)}return d}updateGeometries(){if(!this.view.stage)return;this._vaos.forEach(e=>e.dispose()),this._vaos.length=this._counts.length=this._origins.length=0;this.focusAreasView.volumes.forEach(e=>{const t=new Array;let s=0,r=0;e.geometryVolumes.forEach(e=>{const i=e.indicesBottom;s+=i.length;for(let s=0;s<i.length;s++)t.push(e.positions[3*(i[s]-1)]),t.push(e.positions[3*(i[s]-1)+1]),t.push(e.positions[3*(i[s]-1)+2]);const o=e.indicesExtruded;r+=o.length;for(let s=0;s<o.length;s++)t.push(e.positions[3*o[s]]),t.push(e.positions[3*o[s]+1]),t.push(e.positions[3*o[s]+2])});const i=new c(this.renderingContext,new m(this.renderingContext,h,new Float32Array(t)));this._vaos.push(i),this._counts.push(s+r),this._origins.push(e.origin)}),this.requestRender(1)}};e([t()],d.prototype,"consumes",void 0),e([t()],d.prototype,"produces",void 0),e([t({constructOnly:!0})],d.prototype,"focusAreasView",void 0),d=e([s("esri.views.3d.webgl-engine.effects.focusArea.FocusAreaMaskNode")],d);export{d as FocusAreaMaskNode};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{smoothstep as t,clamp as s}from"../../../../../core/mathUtils.js";import{watch as i,syncAndInitial as r}from"../../../../../core/reactiveUtils.js";import{property as a,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{normalize as h,set as c,dot as p}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as n}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getDefaultHighlightOptions as d}from"../../../../2d/support/highlightOptionsUtils.js";import{
|
|
5
|
+
import{__decorate as e}from"tslib";import{smoothstep as t,clamp as s}from"../../../../../core/mathUtils.js";import{watch as i,syncAndInitial as r}from"../../../../../core/reactiveUtils.js";import{property as a,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{normalize as h,set as c,dot as p}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as n}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getDefaultHighlightOptions as d}from"../../../../2d/support/highlightOptionsUtils.js";import{RenderNodeOutput as m}from"../../../webgl.js";import l from"../../../webgl/RenderNode.js";import{ShadowHighlightPassParameters as u,ShadowHighlightTechnique as g}from"./ShadowHighlightTechnique.js";import{defaultShadowOpacity as f,defaultShadowDifference as w,defaultShadowColor as _}from"../../../../support/HighlightDefaults.js";const O=1/512,y=4e4,P=5e4;let v=class extends l{constructor(e){super(e),this.produces=m.COMPOSITE,this.consumes={required:[m.COMPOSITE,"highlights"]},this._passParameters=new u,this._maxOpacity=1,this._shadowDifference=.2}initialize(){this.addHandles([i(()=>d(this.view)?.shadowOpacity,e=>{this._passParameters.shadowOpacity=e??f,this._updateOccludedShadowOpacity(),this._ensureMaxOpacity()},r),i(()=>d(this.view)?.shadowDifference,e=>{this._shadowDifference=e??w,this._updateOccludedShadowOpacity(),this._ensureMaxOpacity()},r),i(()=>d(this.view)?.shadowColor,e=>{this._passParameters.shadowColor=(e??_).toUnitRGBA(),this._ensureMaxOpacity()},r)])}_updateOccludedShadowOpacity(){this._passParameters.occludedShadowOpacity=this._passParameters.shadowOpacity*(1-this._shadowDifference)}_ensureMaxOpacity(){const e=Math.max(this._passParameters.shadowOpacity,this._passParameters.occludedShadowOpacity);this._maxOpacity=e*this._passParameters.shadowColor[3],this.requestRender(1)}precompile(){this.techniques.precompile(g)}render(e){const t=e.find(({name:e})=>e===m.COMPOSITE),s=this.bindParameters;if(!s.shadowHighlightsVisible||!s.depth||!this._ensureIfVisible(s.camera,s.lighting.mainLight.direction))return t;const i=this.techniques.get(g);if(!i.compiled)return this.requestRender(1),t;this._passParameters.highlightTexture=e.find(({name:e})=>"highlights"===e)?.getTexture(),this._passParameters.origin=s.camera.center;const r=this.renderingContext;return r.bindFramebuffer(t.fbo),r.bindTechnique(i,s,this._passParameters),r.screen.draw(),t}_ensureIfVisible(e,i){this._passParameters.opacityElevation=1-t(y,P,e.relativeElevation);const r=1===this.viewingMode?h(x,e.center):c(x,0,0,1),a=p(r,i);return this._passParameters.dayNightTerminator=t(0,1,s(30*a,0,1)),this._maxOpacity*this._passParameters.opacityElevation*this._passParameters.dayNightTerminator>=O}};e([a()],v.prototype,"produces",void 0),e([a()],v.prototype,"consumes",void 0),e([a({constructOnly:!0})],v.prototype,"viewingMode",void 0),v=e([o("esri.views.3d.webgl-engine.effects.highlight.ShadowHighlight")],v);const x=n();export{v as ShadowHighlight};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import r from"../../../../../core/Logger.js";import{abortMaybe as t,disposeMaybe as s}from"../../../../../core/maybe.js";import{throwIfAborted as i,isAbortError as a}from"../../../../../core/promiseUtils.js";import{watch as o,syncAndInitial as n}from"../../../../../core/reactiveUtils.js";import{property as h,subclass as l}from"../../../../../core/accessorSupport/decorators.js";import{requestImage as u}from"../../../../../request/image.js";import{
|
|
5
|
+
import{__decorate as e}from"tslib";import r from"../../../../../core/Logger.js";import{abortMaybe as t,disposeMaybe as s}from"../../../../../core/maybe.js";import{throwIfAborted as i,isAbortError as a}from"../../../../../core/promiseUtils.js";import{watch as o,syncAndInitial as n}from"../../../../../core/reactiveUtils.js";import{property as h,subclass as l}from"../../../../../core/accessorSupport/decorators.js";import{requestImage as u}from"../../../../../request/image.js";import{RenderNodeOutput as c,InternalRenderCategory as m}from"../../../webgl.js";import d from"../../../webgl/RenderNode.js";import{SMAABlendWeightsTechnique as p}from"./SMAABlendWeightsTechnique.js";import{SMAABlurTechnique as b}from"./SMAABlurTechnique.js";import{SMAAEdgeDetectTechnique as f}from"./SMAAEdgeDetectTechnique.js";import{SMAAPassParameters as T}from"./SMAAPassParameters.js";import x from"../../../../webgl/Texture.js";import{TextureDescriptor as _}from"../../../../webgl/TextureDescriptor.js";let g=class extends d{constructor(e){super(e),this.produces="disabled",this.consumes={required:[m.ANTIALIASING],optional:[c.COMPOSITE]},this._areaTexture=null,this._searchTexture=null,this._smaaParameters=new T}initialize(){this.addHandles([o(()=>this.isEnabled(),e=>e?this.enable():this.disable(),n)])}async enable(){if(this.destroyed)return;if(this.produces=m.ANTIALIASING,this.requestRender(1),this._abortController||this._areaTexture&&this._searchTexture)return;this._abortController=new AbortController;const e=this._abortController.signal;try{const r=await import("./SMAAData.js");i(e),await this._loadTextures(r,e),i(e),this.requestRender(1)}catch(t){a(t)||r.getLogger(this).errorOnce(t)}this._abortController=null}async _loadTextures(e,r){i(r);const[t,s]=await Promise.allSettled([u(e.areaTexture,{signal:r}),u(e.searchTexure,{signal:r})]);if(i(r),"fulfilled"!==t.status||"fulfilled"!==s.status)return;const a=this.renderingContext;this._areaTexture=w(a,9729,6407,t.value),this._searchTexture=w(a,9728,6409,s.value)}disable(){this.produces="disabled",this.requestRender(1)}destroy(){this._abortController=t(this._abortController),this._searchTexture=s(this._searchTexture),this._areaTexture=s(this._areaTexture)}precompile(){this.techniques.precompile(f),this.techniques.precompile(p),this.techniques.precompile(b)}render(e){const r=e.find(({name:e})=>e===m.ANTIALIASING),t=e.find(({name:e})=>e===c.COMPOSITE);if(!t)return r;if(!this._areaTexture||!this._searchTexture)return this.view.stage.renderer.blitFBO(t,r,!1),this.requestRender(1),r;const s=this.techniques.get(f),i=this.techniques.get(p),a=this.techniques.get(b);if(!s.compiled||!i.compiled||!a.compiled)return this.view.stage.renderer.blitFBO(t,r,!1),this.requestRender(1),r;const o=t.fbo.width,n=t.fbo.height,h=this.renderingContext;h.setViewport(0,0,o,n);const l=this.fboCache.acquire(o,n,"smaa edges",2);h.bindFramebuffer(l.fbo),h.setClearColor(0,0,0,1),h.clear(16384),this._smaaParameters.color=t.getTexture();const u=this.bindParameters;h.bindTechnique(s,u,this._smaaParameters),h.screen.draw();const d=this.fboCache.acquire(o,n,"smaa blend");return h.bindFramebuffer(d.fbo),h.setClearColor(0,0,1,1),h.clear(16384),this._smaaParameters.inputTexture=l.getTexture(),this._smaaParameters.areaTexture=this._areaTexture,this._smaaParameters.searchTexture=this._searchTexture,h.bindTechnique(i,u,this._smaaParameters),h.screen.draw(),l.release(),h.bindFramebuffer(r.fbo),h.setClearColor(0,1,0,1),h.clear(16384),this._smaaParameters.inputTexture=d.getTexture(),h.bindTechnique(a,u,this._smaaParameters),h.screen.draw(),d.release(),r}};function w(e,r,t,s){const i=new _(s.width,s.height);return i.pixelFormat=t,i.wrapMode=33071,i.samplingMode=r,new x(e,i,s)}e([h()],g.prototype,"produces",void 0),e([h()],g.prototype,"consumes",void 0),e([h({constructOnly:!0})],g.prototype,"isEnabled",void 0),e([h()],g.prototype,"_abortController",void 0),g=e([l("esri.views.3d.webgl-engine.effects.smaa.SMAA")],g);export{g as SMAA};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{disposeMaybe as t}from"../../../../core/maybe.js";import{watch as i,syncAndInitial as s}from"../../../../core/reactiveUtils.js";import{property as o,subclass as r}from"../../../../core/accessorSupport/decorators.js";import{copy as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{
|
|
5
|
+
import{__decorate as e}from"tslib";import{disposeMaybe as t}from"../../../../core/maybe.js";import{watch as i,syncAndInitial as s}from"../../../../core/reactiveUtils.js";import{property as o,subclass as r}from"../../../../core/accessorSupport/decorators.js";import{copy as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{RenderNodeOutput as a,InternalRenderCategory as n}from"../../webgl.js";import{glLayout as u}from"../../support/buffer/glUtil.js";import{newLayout as c}from"../../support/buffer/InterleavedLayout.js";import h from"../../webgl/RenderNode.js";import{VertexArrayObject as m}from"./VertexArrayObject.js";import{C as d}from"../../../../chunks/CutFillComposition.glsl.js";import{CutFillCompositionTechnique as f}from"../shaders/CutFillCompositionTechnique.js";import{C as p}from"../../../../chunks/CutFillMask.glsl.js";import{CutFillMaskTechnique as C}from"../shaders/CutFillMaskTechnique.js";import{DefaultMaterialPassParameters as _,DefaultMaterialDrawParameters as g,DefaultMaterialTechnique as b}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as T}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{DepthStencilAttachment as q,PrimitiveType as V}from"../../../webgl/enums.js";import{noParameters as v}from"../../../webgl/NoParameters.js";import{VertexBuffer as F}from"../../../webgl/VertexBuffer.js";let w=class extends h{constructor(e){super(e),this.consumes={required:[a.OPAQUE]},this.produces=n.CUTFILL_COLOR,this.measureType="cut-fill",this._vaoCut=null,this._vaoFill=null,this._countCut=0,this._countFill=0,this._maskParameters=new p,this._cutVolumeParameters=new _,this._fillVolumeParameters=new _,this._compositeParameters=new d,this._drawParameters=new g;const t=1===e.view.state.viewingMode;this._cutVolumeTechniqueConfiguration=new T(t),this._cutVolumeTechniqueConfiguration.customDepthTest=2,this._cutVolumeTechniqueConfiguration.writeDepth=!1,this._cutVolumeTechniqueConfiguration.cullFace=1,this._cutVolumeTechniqueConfiguration.doubleSidedMode=2,this._fillVolumeTechniqueConfiguration=new T(t),this._fillVolumeTechniqueConfiguration.cullFace=2}initialize(){this.addHandles([i(()=>[this.cutColor,this.fillColor],()=>this._updateColors(),s),i(()=>this.measureType,()=>{this.precompile(),this.requestRender(1)},s)])}destroy(){this._vaoCut=t(this._vaoCut),this._vaoFill=t(this._vaoFill)}precompile(){"cut-fill"===this.measureType?(this._cutVolumeTechniqueConfiguration.cullFace=1,this._cutVolumeTechniqueConfiguration.doubleSidedMode=2):(this._cutVolumeTechniqueConfiguration.cullFace=0,this._cutVolumeTechniqueConfiguration.doubleSidedMode=0),this.techniques.precompile(b,this._cutVolumeTechniqueConfiguration),this.techniques.precompile(b,this._fillVolumeTechniqueConfiguration),this.techniques.precompile(C),this.techniques.precompile(f)}render(e){const t=this.techniques.get(b,this._cutVolumeTechniqueConfiguration),i=this.techniques.get(b,this._fillVolumeTechniqueConfiguration),s=this.techniques.get(C),o=this.techniques.get(f),r=e.find(({name:e})=>e===this.produces);if(!this._vaoCut||!this._vaoFill)return r;if(!(t&&i&&s.compiled&&o.compiled))return this.requestRender(1),r;const l=this.bindParameters,a=l.camera,n=a.fullViewport[2],u=a.fullViewport[3],c=this.renderingContext,h=this.fboCache,m=h.acquire(n,u,"cutfill color mask",2);m.attachDepth(r.getAttachment(q)),c.bindFramebuffer(m.fbo),c.setClearColor(0,0,0,1),c.clear(17408),c.setViewport(0,0,n,u),c.bindTechnique(s,l,v,this._maskParameters),c.setFaceCullingEnabled(!1),c.setStencilTestEnabled(!0),c.setStencilOpSeparate(1028,7680,34055,7680),c.setStencilOpSeparate(1029,7680,34056,7680),c.setDepthWriteEnabled(!1),c.bindVAO(this._vaoCut),c.setDepthTestEnabled(!0),c.setStencilWriteMask(255),c.setStencilFunction(519,0,255),c.setColorMask(!1,!1,!1,!1),c.drawArrays(V.TRIANGLES,0,this._countCut),c.setDepthTestEnabled(!1),c.setStencilWriteMask(0),c.setStencilFunction(517,0,255),c.setColorMask(!0,!1,!1,!1),c.drawArrays(V.TRIANGLES,0,this._countCut),c.bindVAO(this._vaoFill),c.setDepthTestEnabled(!0),c.setStencilWriteMask(255),c.setStencilFunction(519,0,255),c.setColorMask(!1,!0,!1,!1),c.drawArrays(V.TRIANGLES,0,this._countFill);const d=h.acquire(n,u,"cutfill color volumes",5);d.attachDepth(r.getAttachment(q)),c.bindFramebuffer(d.fbo),c.setClearColor(0,0,0,0),c.clear(16384),c.setColorMask(!0,!0,!0,!0),c.bindTechnique(t,this.bindParameters,this._cutVolumeParameters,this._drawParameters),c.setPolygonOffset(1,1),c.setPolygonOffsetFillEnabled(!0),c.bindVAO(this._vaoCut),c.drawArrays(V.TRIANGLES,0,this._countCut),c.bindTechnique(i,this.bindParameters,this._fillVolumeParameters,this._drawParameters),c.setPolygonOffset(0,0),c.setPolygonOffsetFillEnabled(!1),c.bindVAO(this._vaoFill),c.drawArrays(V.TRIANGLES,0,this._countFill);const p=this.fboCache.acquire(n,u,this.produces);return c.bindFramebuffer(p.fbo),this._compositeParameters.color=r.getTexture(),this._compositeParameters.cutFillVolumes=d.getTexture(),this._compositeParameters.cutFillMask=m.getTexture(),this.borderColor.toUnitRGBA(this._compositeParameters.borderColor),c.bindTechnique(o,l,this._compositeParameters),c.screen.draw(),m.release(),d.release(),p.attachDepth(r.getAttachment(q)),p}enable(){this.produces=n.CUTFILL_COLOR,this.requestRender(1)}disable(){this.produces="disabled",this.requestRender(1)}updateGeometries(e,i,s){this._vaoCut=t(this._vaoCut),this._vaoCut=this._createVao(e),this._countCut=e.indicesBottom.length+e.indicesExtruded.length,this._vaoFill=t(this._vaoFill),this._vaoFill=this._createVao(i),this._countFill=i.indicesBottom.length+i.indicesExtruded.length,this._maskParameters.origin=s,l(this._drawParameters.origin,s),this.requestRender(1)}_updateColors(){this._cutVolumeParameters.diffuse=this.cutColor.toUnitRGB(),this._cutVolumeParameters.opacity=this.cutColor.a,this._fillVolumeParameters.diffuse=this.fillColor.toUnitRGB(),this._fillVolumeParameters.opacity=this.fillColor.a,this.requestRender(1)}_createVao(e){const t=this.renderingContext,{vertices:i,normals:s,indicesBottom:o,indicesExtruded:r}=e,l=P.createBuffer(o.length+r.length),{position:a,normal:n}=l;for(let u=0;u<o.length;u++){const e=3*o[u];a.set(u,0,i[e]),a.set(u,1,i[e+1]),a.set(u,2,i[e+2]),n.set(u,0,s[e]),n.set(u,1,s[e+1]),n.set(u,2,s[e+2])}for(let u=0;u<r.length;u++){const e=u+o.length,t=3*r[u];a.set(e,0,i[t]),a.set(e,1,i[t+1]),a.set(e,2,i[t+2]),n.set(e,0,s[t]),n.set(e,1,s[t+1]),n.set(e,2,s[t+2])}const c=new F(t,u(P),l.buffer);return new m(t,c)}};e([o()],w.prototype,"consumes",void 0),e([o()],w.prototype,"produces",void 0),e([o()],w.prototype,"cutColor",void 0),e([o()],w.prototype,"fillColor",void 0),e([o()],w.prototype,"borderColor",void 0),e([o()],w.prototype,"measureType",void 0),w=e([r("esri.views.3d.webgl-engine.lib.CutFillColor")],w);const P=c().vec3f("position").vec3f("normal").freeze();class y{constructor(e,t,i,s){this.vertices=e,this.indicesBottom=t,this.indicesExtruded=i,this.normals=s}}export{w as CutFillColor,y as VolumeGeometry};
|