@itwin/core-frontend 5.1.1 → 5.1.3-experimental.1
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/CHANGELOG.md +13 -1
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
- package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
- package/lib/cjs/AuxCoordSys.js.map +1 -1
- package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
- package/lib/cjs/BingLocation.js.map +1 -1
- package/lib/cjs/BriefcaseConnection.js.map +1 -1
- package/lib/cjs/BriefcaseTxns.js.map +1 -1
- package/lib/cjs/CatalogConnection.js.map +1 -1
- package/lib/cjs/CategorySelectorState.js.map +1 -1
- package/lib/cjs/ChangeFlags.js.map +1 -1
- package/lib/cjs/CheckpointConnection.js.map +1 -1
- package/lib/cjs/ContextRealityModelState.js.map +1 -1
- package/lib/cjs/CoordSystem.js.map +1 -1
- package/lib/cjs/DecorationsCache.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/ElementLocateManager.js.map +1 -1
- package/lib/cjs/EmphasizeElements.js.map +1 -1
- package/lib/cjs/EntityState.js.map +1 -1
- package/lib/cjs/EnvironmentDecorations.js.map +1 -1
- package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
- package/lib/cjs/FlashSettings.js.map +1 -1
- package/lib/cjs/FrontendHubAccess.js.map +1 -1
- package/lib/cjs/Frustum2d.js.map +1 -1
- package/lib/cjs/FrustumAnimator.js.map +1 -1
- package/lib/cjs/FuzzySearch.js.map +1 -1
- package/lib/cjs/GeoServices.js.map +1 -1
- package/lib/cjs/GlobeAnimator.js.map +1 -1
- package/lib/cjs/GraphicalEditingScope.js.map +1 -1
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IModelRoutingContext.js.map +1 -1
- package/lib/cjs/IModeljs-css.js.map +1 -1
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/LinePlaneIntersect.js.map +1 -1
- package/lib/cjs/LocalhostIpcApp.js.map +1 -1
- package/lib/cjs/MarginPercent.js.map +1 -1
- package/lib/cjs/Marker.js.map +1 -1
- package/lib/cjs/ModelSelectorState.js.map +1 -1
- package/lib/cjs/ModelState.js.map +1 -1
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/NativeAppLogger.js.map +1 -1
- package/lib/cjs/NoRenderApp.js.map +1 -1
- package/lib/cjs/NotificationManager.js.map +1 -1
- package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
- package/lib/cjs/PlanarClipMaskState.js.map +1 -1
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/cjs/SelectionSet.js.map +1 -1
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/SpatialClassifiersState.js.map +1 -1
- package/lib/cjs/SpatialViewState.js.map +1 -1
- package/lib/cjs/Sprites.js.map +1 -1
- package/lib/cjs/StandardView.js.map +1 -1
- package/lib/cjs/SubCategoriesCache.js.map +1 -1
- package/lib/cjs/TentativePoint.js.map +1 -1
- package/lib/cjs/Tiles.js.map +1 -1
- package/lib/cjs/TxnEntityChanges.js.map +1 -1
- package/lib/cjs/UserPreferences.js.map +1 -1
- package/lib/cjs/ViewAnimation.js.map +1 -1
- package/lib/cjs/ViewContext.js.map +1 -1
- package/lib/cjs/ViewCreator2d.js.map +1 -1
- package/lib/cjs/ViewCreator3d.js.map +1 -1
- package/lib/cjs/ViewGlobalLocation.js.map +1 -1
- package/lib/cjs/ViewManager.js.map +1 -1
- package/lib/cjs/ViewPose.js.map +1 -1
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/ViewStatus.js.map +1 -1
- package/lib/cjs/ViewingSpace.js.map +1 -1
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/ViewportSync.js.map +1 -1
- package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
- package/lib/cjs/common/ImageUtil.js.map +1 -1
- package/lib/cjs/common/ViewRect.js.map +1 -1
- package/lib/cjs/common/WorkerProxy.js.map +1 -1
- package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
- package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
- package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/cjs/common/internal/Symbols.js.map +1 -1
- package/lib/cjs/common/internal/render/AnimationNodeId.js.map +1 -1
- package/lib/cjs/common/internal/render/AuxChannelTable.js.map +1 -1
- package/lib/cjs/common/internal/render/ColorMap.js.map +1 -1
- package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -1
- package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryList.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryPrimitives.js.map +1 -1
- package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
- package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
- package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/LineCode.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshPrimitive.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -1
- package/lib/cjs/common/internal/render/PointCloudPrimitive.js.map +1 -1
- package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -1
- package/lib/cjs/common/internal/render/Polyface.js.map +1 -1
- package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
- package/lib/cjs/common/internal/render/Primitives.js.map +1 -1
- package/lib/cjs/common/internal/render/Strokes.js.map +1 -1
- package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexIndices.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexKey.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
- package/lib/cjs/common/render/BatchOptions.js.map +1 -1
- package/lib/cjs/common/render/GraphicAssembler.js.map +1 -1
- package/lib/cjs/common/render/GraphicDescriptionBuilder.js.map +1 -1
- package/lib/cjs/common/render/GraphicDescriptionContext.js.map +1 -1
- package/lib/cjs/common/render/GraphicPrimitive.js.map +1 -1
- package/lib/cjs/common/render/GraphicType.js.map +1 -1
- package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
- package/lib/cjs/common/render/MaterialParams.js.map +1 -1
- package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -1
- package/lib/cjs/common/render/TextureParams.js.map +1 -1
- package/lib/cjs/common.js.map +1 -1
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/extension/Extension.js.map +1 -1
- package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
- package/lib/cjs/extension/ExtensionHost.js.map +1 -1
- package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
- package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
- package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
- package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
- package/lib/cjs/internal/ScriptUtils.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/render/AnimationBranchState.js.map +1 -1
- package/lib/cjs/internal/render/FrameStatsCollector.js.map +1 -1
- package/lib/cjs/internal/render/GraphicBranchFrustum.js.map +1 -1
- package/lib/cjs/internal/render/GraphicTemplateImpl.js.map +1 -1
- package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
- package/lib/cjs/internal/render/MockRender.js.map +1 -1
- package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
- package/lib/cjs/internal/render/QueryVisibileFeatures.js.map +1 -1
- package/lib/cjs/internal/render/RenderAreaPattern.js.map +1 -1
- package/lib/cjs/internal/render/RenderGeometry.js.map +1 -1
- package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -1
- package/lib/cjs/internal/render/RenderMaterialSource.js.map +1 -1
- package/lib/cjs/internal/render/RenderPlan.js.map +1 -1
- package/lib/cjs/internal/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/cjs/internal/render/RenderSkyBoxParams.js.map +1 -1
- package/lib/cjs/internal/render/RenderSystemDebugControl.js.map +1 -1
- package/lib/cjs/internal/render/RenderTargetDebugControl.js.map +1 -1
- package/lib/cjs/internal/render/RenderTerrain.js.map +1 -1
- package/lib/cjs/internal/render/RenderTextureDrape.js.map +1 -1
- package/lib/cjs/internal/render/SceneVolumeClassifier.js.map +1 -1
- package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BatchState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClipVolume.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Diagnostics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Disposable.js.map +1 -1
- package/lib/cjs/internal/render/webgl/DrawCommand.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EdgeSettings.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/GL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/internal/render/webgl/HiliteUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
- package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Layer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/LayerCommands.js.map +1 -1
- package/lib/cjs/internal/render/webgl/LightingUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/LineCode.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Material.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Matrix.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MeshGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PointString.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Polyline.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Primitive.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/cjs/internal/render/webgl/StyleUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Sync.js.map +1 -1
- package/lib/cjs/internal/render/webgl/System.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TargetUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TechniqueId.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TextureDrape.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ThematicUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/UniformHandle.js.map +1 -1
- package/lib/cjs/internal/render/webgl/VertexLUT.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ViewRectUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Common.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Lighting.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Viewport.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
- package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
- package/lib/cjs/internal/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/cjs/internal/tile/CesiumAssetProvider.js.map +1 -1
- package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/ContextShareProvider.js.map +1 -1
- package/lib/cjs/internal/tile/DynamicIModelTile.js +1 -0
- package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
- package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -1
- package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlParser.js.map +1 -1
- package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeHandler.js.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/cjs/internal/tile/MeshoptCompression.js.map +1 -1
- package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/PntsReader.js.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
- package/lib/cjs/internal/tile/ViewFlagOverrides.js.map +1 -1
- package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/cjs/internal/tile/map/MapTileLoader.js.map +1 -1
- package/lib/cjs/internal/tile/map/UrlUtils.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmsUtilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/internal/webgl.js.map +1 -1
- package/lib/cjs/properties/AngleDescription.js.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/cjs/properties/LengthDescription.js.map +1 -1
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
- package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
- package/lib/cjs/render/CanvasDecoration.js.map +1 -1
- package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
- package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
- package/lib/cjs/render/Decorations.js.map +1 -1
- package/lib/cjs/render/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/FrameStats.js.map +1 -1
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/GraphicBuilder.js.map +1 -1
- package/lib/cjs/render/GraphicTemplate.js.map +1 -1
- package/lib/cjs/render/MeshArgs.js.map +1 -1
- package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/cjs/render/Pixel.js.map +1 -1
- package/lib/cjs/render/PolylineArgs.js.map +1 -1
- package/lib/cjs/render/RealityMeshParams.js.map +1 -1
- package/lib/cjs/render/RenderClipVolume.js.map +1 -1
- package/lib/cjs/render/RenderGraphic.js.map +1 -1
- package/lib/cjs/render/RenderMemory.js.map +1 -1
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/RenderTarget.js.map +1 -1
- package/lib/cjs/render/Scene.js.map +1 -1
- package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/cjs/render/VisibleFeature.js.map +1 -1
- package/lib/cjs/request/Request.js.map +1 -1
- package/lib/cjs/request/utils.js.map +1 -1
- package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/RealityTile.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.js.map +1 -1
- package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -1
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/TileContent.js.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
- package/lib/cjs/tile/TileParams.js.map +1 -1
- package/lib/cjs/tile/TileRequest.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
- package/lib/cjs/tile/TileStorage.js.map +1 -1
- package/lib/cjs/tile/TileTree.js.map +1 -1
- package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
- package/lib/cjs/tile/TileTreeParams.js.map +1 -1
- package/lib/cjs/tile/TileTreeReference.js.map +1 -1
- package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
- package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
- package/lib/cjs/tile/TileUser.js.map +1 -1
- package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/internal.js.map +1 -1
- package/lib/cjs/tile/map/BingElevation.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/cjs/tile/map/QuadId.js.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
- package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
- package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/cjs/tools/ClipViewTool.js.map +1 -1
- package/lib/cjs/tools/EditManipulator.js.map +1 -1
- package/lib/cjs/tools/ElementSetTool.js.map +1 -1
- package/lib/cjs/tools/EventController.js.map +1 -1
- package/lib/cjs/tools/IdleTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTool.js.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
- package/lib/cjs/tools/SelectTool.js.map +1 -1
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/tools/ToolAssistance.js.map +1 -1
- package/lib/cjs/tools/ToolSettings.js.map +1 -1
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
- package/lib/cjs/workers/RegisterWorker.js.map +1 -1
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
- package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
- package/lib/esm/AuxCoordSys.js.map +1 -1
- package/lib/esm/BackgroundMapGeometry.js.map +1 -1
- package/lib/esm/BingLocation.js.map +1 -1
- package/lib/esm/BriefcaseConnection.js.map +1 -1
- package/lib/esm/BriefcaseTxns.js.map +1 -1
- package/lib/esm/CatalogConnection.js.map +1 -1
- package/lib/esm/CategorySelectorState.js.map +1 -1
- package/lib/esm/ChangeFlags.js.map +1 -1
- package/lib/esm/CheckpointConnection.js.map +1 -1
- package/lib/esm/ContextRealityModelState.js.map +1 -1
- package/lib/esm/CoordSystem.js.map +1 -1
- package/lib/esm/DecorationsCache.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/ElementLocateManager.js.map +1 -1
- package/lib/esm/EmphasizeElements.js.map +1 -1
- package/lib/esm/EntityState.js.map +1 -1
- package/lib/esm/EnvironmentDecorations.js.map +1 -1
- package/lib/esm/FeatureOverrideProvider.js.map +1 -1
- package/lib/esm/FlashSettings.js.map +1 -1
- package/lib/esm/FrontendHubAccess.js.map +1 -1
- package/lib/esm/Frustum2d.js.map +1 -1
- package/lib/esm/FrustumAnimator.js.map +1 -1
- package/lib/esm/FuzzySearch.js.map +1 -1
- package/lib/esm/GeoServices.js.map +1 -1
- package/lib/esm/GlobeAnimator.js.map +1 -1
- package/lib/esm/GraphicalEditingScope.js.map +1 -1
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IModelRoutingContext.js.map +1 -1
- package/lib/esm/IModeljs-css.js.map +1 -1
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/LinePlaneIntersect.js.map +1 -1
- package/lib/esm/LocalhostIpcApp.js.map +1 -1
- package/lib/esm/MarginPercent.js.map +1 -1
- package/lib/esm/Marker.js.map +1 -1
- package/lib/esm/ModelSelectorState.js.map +1 -1
- package/lib/esm/ModelState.js.map +1 -1
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/NativeAppLogger.js.map +1 -1
- package/lib/esm/NoRenderApp.js.map +1 -1
- package/lib/esm/NotificationManager.js.map +1 -1
- package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
- package/lib/esm/PlanarClipMaskState.js.map +1 -1
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/esm/SelectionSet.js.map +1 -1
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/SpatialClassifiersState.js.map +1 -1
- package/lib/esm/SpatialViewState.js.map +1 -1
- package/lib/esm/Sprites.js.map +1 -1
- package/lib/esm/StandardView.js.map +1 -1
- package/lib/esm/SubCategoriesCache.js.map +1 -1
- package/lib/esm/TentativePoint.js.map +1 -1
- package/lib/esm/Tiles.js.map +1 -1
- package/lib/esm/TxnEntityChanges.js.map +1 -1
- package/lib/esm/UserPreferences.js.map +1 -1
- package/lib/esm/ViewAnimation.js.map +1 -1
- package/lib/esm/ViewContext.js.map +1 -1
- package/lib/esm/ViewCreator2d.js.map +1 -1
- package/lib/esm/ViewCreator3d.js.map +1 -1
- package/lib/esm/ViewGlobalLocation.js.map +1 -1
- package/lib/esm/ViewManager.js.map +1 -1
- package/lib/esm/ViewPose.js.map +1 -1
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/ViewStatus.js.map +1 -1
- package/lib/esm/ViewingSpace.js.map +1 -1
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/ViewportSync.js.map +1 -1
- package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
- package/lib/esm/common/ImageUtil.js.map +1 -1
- package/lib/esm/common/ViewRect.js.map +1 -1
- package/lib/esm/common/WorkerProxy.js.map +1 -1
- package/lib/esm/common/gltf/GltfModel.js.map +1 -1
- package/lib/esm/common/gltf/GltfParser.js.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
- package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
- package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
- package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/esm/common/internal/Symbols.js.map +1 -1
- package/lib/esm/common/internal/render/AnimationNodeId.js.map +1 -1
- package/lib/esm/common/internal/render/AuxChannelTable.js.map +1 -1
- package/lib/esm/common/internal/render/ColorMap.js.map +1 -1
- package/lib/esm/common/internal/render/DisplayParams.js.map +1 -1
- package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryList.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryPrimitives.js.map +1 -1
- package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
- package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
- package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/LineCode.js.map +1 -1
- package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -1
- package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
- package/lib/esm/common/internal/render/MeshPrimitive.js.map +1 -1
- package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/esm/common/internal/render/OvrFlags.js.map +1 -1
- package/lib/esm/common/internal/render/PointCloudPrimitive.js.map +1 -1
- package/lib/esm/common/internal/render/PointStringParams.js.map +1 -1
- package/lib/esm/common/internal/render/Polyface.js.map +1 -1
- package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
- package/lib/esm/common/internal/render/Primitives.js.map +1 -1
- package/lib/esm/common/internal/render/Strokes.js.map +1 -1
- package/lib/esm/common/internal/render/SurfaceParams.js.map +1 -1
- package/lib/esm/common/internal/render/VertexIndices.js.map +1 -1
- package/lib/esm/common/internal/render/VertexKey.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
- package/lib/esm/common/render/BatchOptions.js.map +1 -1
- package/lib/esm/common/render/GraphicAssembler.js.map +1 -1
- package/lib/esm/common/render/GraphicDescriptionBuilder.js.map +1 -1
- package/lib/esm/common/render/GraphicDescriptionContext.js.map +1 -1
- package/lib/esm/common/render/GraphicPrimitive.js.map +1 -1
- package/lib/esm/common/render/GraphicType.js.map +1 -1
- package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
- package/lib/esm/common/render/MaterialParams.js.map +1 -1
- package/lib/esm/common/render/RenderInstancesParams.js.map +1 -1
- package/lib/esm/common/render/TextureParams.js.map +1 -1
- package/lib/esm/common.js.map +1 -1
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/extension/Extension.js.map +1 -1
- package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
- package/lib/esm/extension/ExtensionHost.js.map +1 -1
- package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
- package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
- package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
- package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
- package/lib/esm/internal/ScriptUtils.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/render/AnimationBranchState.js.map +1 -1
- package/lib/esm/internal/render/FrameStatsCollector.js.map +1 -1
- package/lib/esm/internal/render/GraphicBranchFrustum.js.map +1 -1
- package/lib/esm/internal/render/GraphicTemplateImpl.js.map +1 -1
- package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
- package/lib/esm/internal/render/MockRender.js.map +1 -1
- package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
- package/lib/esm/internal/render/QueryVisibileFeatures.js.map +1 -1
- package/lib/esm/internal/render/RenderAreaPattern.js.map +1 -1
- package/lib/esm/internal/render/RenderGeometry.js.map +1 -1
- package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -1
- package/lib/esm/internal/render/RenderMaterialSource.js.map +1 -1
- package/lib/esm/internal/render/RenderPlan.js.map +1 -1
- package/lib/esm/internal/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/esm/internal/render/RenderSkyBoxParams.js.map +1 -1
- package/lib/esm/internal/render/RenderSystemDebugControl.js.map +1 -1
- package/lib/esm/internal/render/RenderTargetDebugControl.js.map +1 -1
- package/lib/esm/internal/render/RenderTerrain.js.map +1 -1
- package/lib/esm/internal/render/RenderTextureDrape.js.map +1 -1
- package/lib/esm/internal/render/SceneVolumeClassifier.js.map +1 -1
- package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/esm/internal/render/webgl/BatchState.js.map +1 -1
- package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClipVolume.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
- package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/Diagnostics.js.map +1 -1
- package/lib/esm/internal/render/webgl/Disposable.js.map +1 -1
- package/lib/esm/internal/render/webgl/DrawCommand.js.map +1 -1
- package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
- package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/EdgeSettings.js.map +1 -1
- package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/esm/internal/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/GL.js.map +1 -1
- package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
- package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/internal/render/webgl/HiliteUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
- package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/Layer.js.map +1 -1
- package/lib/esm/internal/render/webgl/LayerCommands.js.map +1 -1
- package/lib/esm/internal/render/webgl/LightingUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/LineCode.js.map +1 -1
- package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/Material.js.map +1 -1
- package/lib/esm/internal/render/webgl/Matrix.js.map +1 -1
- package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
- package/lib/esm/internal/render/webgl/MeshGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.js +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
- package/lib/esm/internal/render/webgl/PointString.js.map +1 -1
- package/lib/esm/internal/render/webgl/Polyline.js.map +1 -1
- package/lib/esm/internal/render/webgl/Primitive.js.map +1 -1
- package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderState.js.map +1 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/esm/internal/render/webgl/StyleUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/Sync.js.map +1 -1
- package/lib/esm/internal/render/webgl/System.js.map +1 -1
- package/lib/esm/internal/render/webgl/Target.js.map +1 -1
- package/lib/esm/internal/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/esm/internal/render/webgl/TargetUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
- package/lib/esm/internal/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/esm/internal/render/webgl/TechniqueId.js.map +1 -1
- package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
- package/lib/esm/internal/render/webgl/TextureDrape.js.map +1 -1
- package/lib/esm/internal/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/esm/internal/render/webgl/ThematicUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/UniformHandle.js.map +1 -1
- package/lib/esm/internal/render/webgl/VertexLUT.js.map +1 -1
- package/lib/esm/internal/render/webgl/ViewRectUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Common.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Lighting.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Viewport.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
- package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
- package/lib/esm/internal/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/esm/internal/tile/CesiumAssetProvider.js.map +1 -1
- package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/internal/tile/ContextShareProvider.js.map +1 -1
- package/lib/esm/internal/tile/DynamicIModelTile.js +1 -0
- package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
- package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -1
- package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
- package/lib/esm/internal/tile/IModelTile.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -1
- package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/esm/internal/tile/ImdlParser.js.map +1 -1
- package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeHandler.js.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/esm/internal/tile/MeshoptCompression.js.map +1 -1
- package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/esm/internal/tile/PntsReader.js.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
- package/lib/esm/internal/tile/ViewFlagOverrides.js.map +1 -1
- package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/esm/internal/tile/map/MapTileLoader.js.map +1 -1
- package/lib/esm/internal/tile/map/UrlUtils.js.map +1 -1
- package/lib/esm/internal/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/esm/internal/tile/map/WmsUtilities.js.map +1 -1
- package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/internal/webgl.js.map +1 -1
- package/lib/esm/properties/AngleDescription.js.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/esm/properties/LengthDescription.js.map +1 -1
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
- package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
- package/lib/esm/render/CanvasDecoration.js.map +1 -1
- package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
- package/lib/esm/render/CreateTextureArgs.js.map +1 -1
- package/lib/esm/render/Decorations.js.map +1 -1
- package/lib/esm/render/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/FrameStats.js.map +1 -1
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/GraphicBuilder.js.map +1 -1
- package/lib/esm/render/GraphicTemplate.js.map +1 -1
- package/lib/esm/render/MeshArgs.js.map +1 -1
- package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/esm/render/Pixel.js.map +1 -1
- package/lib/esm/render/PolylineArgs.js.map +1 -1
- package/lib/esm/render/RealityMeshParams.js.map +1 -1
- package/lib/esm/render/RenderClipVolume.js.map +1 -1
- package/lib/esm/render/RenderGraphic.js.map +1 -1
- package/lib/esm/render/RenderMemory.js.map +1 -1
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/RenderTarget.js.map +1 -1
- package/lib/esm/render/Scene.js.map +1 -1
- package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/esm/render/VisibleFeature.js.map +1 -1
- package/lib/esm/request/Request.js.map +1 -1
- package/lib/esm/request/utils.js.map +1 -1
- package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/RealityTile.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.js.map +1 -1
- package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -1
- package/lib/esm/tile/Tile.js.map +1 -1
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/TileContent.js.map +1 -1
- package/lib/esm/tile/TileDrawArgs.js.map +1 -1
- package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
- package/lib/esm/tile/TileParams.js.map +1 -1
- package/lib/esm/tile/TileRequest.js.map +1 -1
- package/lib/esm/tile/TileRequestChannel.js.map +1 -1
- package/lib/esm/tile/TileRequestChannels.js.map +1 -1
- package/lib/esm/tile/TileStorage.js.map +1 -1
- package/lib/esm/tile/TileTree.js.map +1 -1
- package/lib/esm/tile/TileTreeOwner.js.map +1 -1
- package/lib/esm/tile/TileTreeParams.js.map +1 -1
- package/lib/esm/tile/TileTreeReference.js.map +1 -1
- package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
- package/lib/esm/tile/TileUsageMarker.js.map +1 -1
- package/lib/esm/tile/TileUser.js.map +1 -1
- package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/internal.js.map +1 -1
- package/lib/esm/tile/map/BingElevation.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
- package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
- package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/esm/tile/map/MapTile.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/esm/tile/map/QuadId.js.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
- package/lib/esm/tools/AccuDrawTool.js.map +1 -1
- package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/esm/tools/ClipViewTool.js.map +1 -1
- package/lib/esm/tools/EditManipulator.js.map +1 -1
- package/lib/esm/tools/ElementSetTool.js.map +1 -1
- package/lib/esm/tools/EventController.js.map +1 -1
- package/lib/esm/tools/IdleTool.js.map +1 -1
- package/lib/esm/tools/MeasureTool.js.map +1 -1
- package/lib/esm/tools/PrimitiveTool.js.map +1 -1
- package/lib/esm/tools/SelectTool.js.map +1 -1
- package/lib/esm/tools/Tool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/tools/ToolAssistance.js.map +1 -1
- package/lib/esm/tools/ToolSettings.js.map +1 -1
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
- package/lib/esm/workers/RegisterWorker.js.map +1 -1
- package/package.json +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealityModelTileTree.js","sourceRoot":"","sources":["../../../../src/internal/tile/RealityModelTileTree.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utils\r\n */\r\n\r\nimport {\r\n assert, compareBooleans, compareNumbers, comparePossiblyUndefined, compareStrings,\r\n compareStringsOrUndefined, CompressedId64Set, Id64, Id64String,\r\n} from \"@itwin/core-bentley\";\r\nimport {\r\n BaseLayerSettings,\r\n Cartographic, DefaultSupportedTypes, GeoCoordStatus, MapLayerSettings, ModelMapLayerDrapeTarget, ModelMapLayerSettings, PlanarClipMaskPriority, PlanarClipMaskSettings,\r\n RealityDataProvider, RealityDataSourceKey, RealityModelDisplaySettings, ViewFlagOverrides,\r\n} from \"@itwin/core-common\";\r\nimport { Angle, Constant, Ellipsoid, Matrix3d, Point3d, Range3d, Ray3d, Transform, TransformProps, Vector3d, XYZ } from \"@itwin/core-geometry\";\r\nimport { calculateEcefToDbTransformAtLocation } from \"../../BackgroundMapGeometry\";\r\nimport { DisplayStyleState } from \"../../DisplayStyleState\";\r\nimport { HitDetail } from \"../../HitDetail\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { PlanarClipMaskState } from \"../../PlanarClipMaskState\";\r\nimport { RealityDataSource } from \"../../RealityDataSource\";\r\nimport { RenderMemory } from \"../../render/RenderMemory\";\r\nimport { DecorateContext, SceneContext } from \"../../ViewContext\";\r\nimport { ViewState } from \"../../ViewState\";\r\nimport {\r\n BatchedTileIdMap, CesiumIonAssetProvider, createClassifierTileTreeReference, createDefaultViewFlagOverrides, DisclosedTileTreeSet, GeometryTileTreeReference,\r\n GeometryTileTreeReferenceOptions,\r\n getGcsConverterAvailable, LayerTileTreeHandler, LayerTileTreeReferenceHandler, MapLayerTileTreeReference, MapLayerTreeSetting, RealityTile, RealityTileLoader, RealityTileParams, RealityTileTree, RealityTileTreeParams, SpatialClassifierTileTreeReference, Tile,\r\n TileDrawArgs, TileLoadPriority, TileRequest, TileTree, TileTreeOwner, TileTreeReference, TileTreeSupplier,\r\n} from \"../../tile/internal\";\r\nimport { SpatialClassifiersState } from \"../../SpatialClassifiersState\";\r\nimport { RealityDataSourceTilesetUrlImpl } from \"../../RealityDataSourceTilesetUrlImpl\";\r\nimport { ScreenViewport } from \"../../Viewport\";\r\n\r\nfunction getUrl(content: any) {\r\n return content ? (content.url ? content.url : content.uri) : undefined;\r\n}\r\n\r\n/** Option for whether or not to produce geometry. If value is \"reproject\", geometry will be reprojected when loaded in [[RealityTileLoader.loadGeometryFromStream]]. */\r\nexport type ProduceGeometryOption = \"yes\" | \"no\" | \"reproject\";\r\n\r\ninterface RealityTreeId {\r\n rdSourceKey: RealityDataSourceKey;\r\n transform?: Transform;\r\n modelId: Id64String;\r\n maskModelIds?: string;\r\n deduplicateVertices: boolean;\r\n produceGeometry?: ProduceGeometryOption;\r\n displaySettings: RealityModelDisplaySettings;\r\n backgroundBase?: BaseLayerSettings;\r\n backgroundLayers?: MapLayerSettings[];\r\n}\r\n\r\nnamespace RealityTreeId {\r\n function compareOrigins(lhs: XYZ, rhs: XYZ): number {\r\n return compareNumbers(lhs.x, rhs.x) || compareNumbers(lhs.y, rhs.y) || compareNumbers(lhs.z, rhs.z);\r\n }\r\n\r\n function compareMatrices(lhs: Matrix3d, rhs: Matrix3d): number {\r\n for (let i = 0; i < 9; i++) {\r\n const cmp = compareNumbers(lhs.coffs[i], rhs.coffs[i]);\r\n if (0 !== cmp)\r\n return cmp;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n function compareTransforms(lhs: Transform, rhs: Transform) {\r\n return compareOrigins(lhs.origin, rhs.origin) || compareMatrices(lhs.matrix, rhs.matrix);\r\n }\r\n\r\n function compareRealityDataSourceKeys(lhs: RealityDataSourceKey, rhs: RealityDataSourceKey): number {\r\n return compareStringsOrUndefined(lhs.id, rhs.id) || compareStringsOrUndefined(lhs.format, rhs.format) || compareStringsOrUndefined(lhs.iTwinId, rhs.iTwinId);\r\n }\r\n\r\n export function compareWithoutModelId(lhs: RealityTreeId, rhs: RealityTreeId): number {\r\n return (\r\n compareRealityDataSourceKeys(lhs.rdSourceKey, rhs.rdSourceKey) ||\r\n compareBooleans(lhs.deduplicateVertices, rhs.deduplicateVertices) ||\r\n compareStringsOrUndefined(lhs.produceGeometry, rhs.produceGeometry) ||\r\n compareStringsOrUndefined(lhs.maskModelIds, rhs.maskModelIds) ||\r\n comparePossiblyUndefined((ltf, rtf) => compareTransforms(ltf, rtf), lhs.transform, rhs.transform)\r\n );\r\n }\r\n\r\n export function compare(lhs: RealityTreeId, rhs: RealityTreeId): number {\r\n return compareStrings(lhs.modelId, rhs.modelId) || compareWithoutModelId(lhs, rhs);\r\n }\r\n}\r\n\r\nclass RealityTreeSupplier implements TileTreeSupplier {\r\n public readonly isEcefDependent = true;\r\n\r\n public getOwner(treeId: RealityTreeId, iModel: IModelConnection): TileTreeOwner {\r\n return iModel.tiles.getTileTreeOwner(treeId, this);\r\n }\r\n\r\n public async createTileTree(treeId: RealityTreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\r\n if (treeId.maskModelIds)\r\n await iModel.models.load(CompressedId64Set.decompressSet(treeId.maskModelIds));\r\n\r\n const opts = { deduplicateVertices: treeId.deduplicateVertices, produceGeometry: treeId.produceGeometry };\r\n return RealityModelTileTree.createRealityModelTileTree(treeId.rdSourceKey, iModel, treeId.modelId, treeId.transform, opts);\r\n }\r\n\r\n public compareTileTreeIds(lhs: RealityTreeId, rhs: RealityTreeId): number {\r\n return RealityTreeId.compare(lhs, rhs);\r\n }\r\n\r\n public findCompatibleContextRealityModelId(id: RealityTreeId, style: DisplayStyleState): Id64String | undefined {\r\n const owners = style.iModel.tiles.getTreeOwnersForSupplier(this);\r\n for (const owner of owners) {\r\n // Find an existing tree with the same Id, ignoring its model Id.\r\n if (0 === RealityTreeId.compareWithoutModelId(id, owner.id)) {\r\n const modelId = owner.id.modelId;\r\n assert(undefined !== modelId);\r\n\r\n // If the model Id is unused by any other context reality model in the view and does not identify a persistent reality model, use it.\r\n if (Id64.isTransientId64(modelId) && !style.contextRealityModelStates.some((model) => model.modelId === modelId))\r\n return modelId;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n}\r\n\r\nconst realityTreeSupplier = new RealityTreeSupplier();\r\n\r\nexport function createRealityTileTreeReference(props: RealityModelTileTree.ReferenceProps): RealityModelTileTree.Reference {\r\n return new RealityTreeReference(props);\r\n}\r\n\r\nconst zeroPoint = Point3d.createZero();\r\nconst earthEllipsoid = Ellipsoid.createCenterMatrixRadii(zeroPoint, undefined, Constant.earthRadiusWGS84.equator, Constant.earthRadiusWGS84.equator, Constant.earthRadiusWGS84.polar);\r\nconst scratchRay = Ray3d.createXAxis();\r\n\r\nexport class RealityTileRegion {\r\n constructor(values: { minLongitude: number, minLatitude: number, minHeight: number, maxLongitude: number, maxLatitude: number, maxHeight: number }) {\r\n this.minLongitude = values.minLongitude;\r\n this.minLatitude = values.minLatitude;\r\n this.minHeight = values.minHeight;\r\n this.maxLongitude = values.maxLongitude;\r\n this.maxLatitude = values.maxLatitude;\r\n this.maxHeight = values.maxHeight;\r\n }\r\n public minLongitude: number;\r\n public minLatitude: number;\r\n public minHeight: number;\r\n public maxLongitude: number;\r\n public maxLatitude: number;\r\n public maxHeight: number;\r\n\r\n public static create(region: number[]): RealityTileRegion {\r\n const minHeight = region[4];\r\n const maxHeight = region[5];\r\n const minLongitude = region[0];\r\n const maxLongitude = region[2];\r\n const minLatitude = Cartographic.parametricLatitudeFromGeodeticLatitude(region[1]);\r\n const maxLatitude = Cartographic.parametricLatitudeFromGeodeticLatitude(region[3]);\r\n return new RealityTileRegion({ minLongitude, minLatitude, minHeight, maxLongitude, maxLatitude, maxHeight });\r\n }\r\n\r\n public static isGlobal(boundingVolume: any) {\r\n return Array.isArray(boundingVolume?.region) && (boundingVolume.region[2] - boundingVolume.region[0]) > Angle.piRadians && (boundingVolume.region[3] - boundingVolume.region[1]) > Angle.piOver2Radians;\r\n }\r\n public getRange(): { range: Range3d, corners?: Point3d[] } {\r\n const maxAngle = Math.max(Math.abs(this.maxLatitude - this.minLatitude), Math.abs(this.maxLongitude - this.minLongitude));\r\n let corners;\r\n let range: Range3d;\r\n if (maxAngle < Math.PI / 8) {\r\n corners = new Array<Point3d>(8);\r\n const chordTolerance = (1 - Math.cos(maxAngle / 2)) * Constant.earthRadiusWGS84.polar;\r\n const addEllipsoidCorner = ((long: number, lat: number, index: number) => {\r\n const ray = earthEllipsoid.radiansToUnitNormalRay(long, lat, scratchRay)!;\r\n corners[index] = ray.fractionToPoint(this.minHeight - chordTolerance);\r\n corners[index + 4] = ray.fractionToPoint(this.maxHeight + chordTolerance);\r\n });\r\n addEllipsoidCorner(this.minLongitude, this.minLatitude, 0);\r\n addEllipsoidCorner(this.minLongitude, this.maxLatitude, 1);\r\n addEllipsoidCorner(this.maxLongitude, this.minLatitude, 2);\r\n addEllipsoidCorner(this.maxLongitude, this.maxLatitude, 3);\r\n range = Range3d.createArray(corners);\r\n } else {\r\n const minEq = Constant.earthRadiusWGS84.equator + this.minHeight, maxEq = Constant.earthRadiusWGS84.equator + this.maxHeight;\r\n const minEllipsoid = Ellipsoid.createCenterMatrixRadii(zeroPoint, undefined, minEq, minEq, Constant.earthRadiusWGS84.polar + this.minHeight);\r\n const maxEllipsoid = Ellipsoid.createCenterMatrixRadii(zeroPoint, undefined, maxEq, maxEq, Constant.earthRadiusWGS84.polar + this.maxHeight);\r\n range = minEllipsoid.patchRangeStartEndRadians(this.minLongitude, this.maxLongitude, this.minLatitude, this.maxLatitude);\r\n range.extendRange(maxEllipsoid.patchRangeStartEndRadians(this.minLongitude, this.maxLongitude, this.minLatitude, this.maxLatitude));\r\n }\r\n return { range, corners };\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class RealityModelTileUtils {\r\n public static rangeFromBoundingVolume(boundingVolume: any): { range: Range3d, corners?: Point3d[], region?: RealityTileRegion } | undefined {\r\n if (undefined === boundingVolume)\r\n return undefined;\r\n\r\n let corners: Point3d[] | undefined;\r\n let range: Range3d | undefined;\r\n if (undefined !== boundingVolume.box) {\r\n const box: number[] = boundingVolume.box;\r\n const center = Point3d.create(box[0], box[1], box[2]);\r\n const ux = Vector3d.create(box[3], box[4], box[5]);\r\n const uy = Vector3d.create(box[6], box[7], box[8]);\r\n const uz = Vector3d.create(box[9], box[10], box[11]);\r\n corners = new Array<Point3d>();\r\n for (let j = 0; j < 2; j++) {\r\n for (let k = 0; k < 2; k++) {\r\n for (let l = 0; l < 2; l++) {\r\n corners.push(center.plus3Scaled(ux, (j ? -1.0 : 1.0), uy, (k ? -1.0 : 1.0), uz, (l ? -1.0 : 1.0)));\r\n }\r\n }\r\n }\r\n range = Range3d.createArray(corners);\r\n } else if (Array.isArray(boundingVolume.sphere)) {\r\n const sphere: number[] = boundingVolume.sphere;\r\n const center = Point3d.create(sphere[0], sphere[1], sphere[2]);\r\n const radius = sphere[3];\r\n range = Range3d.createXYZXYZ(center.x - radius, center.y - radius, center.z - radius, center.x + radius, center.y + radius, center.z + radius);\r\n } else if (Array.isArray(boundingVolume.region)) {\r\n const region = RealityTileRegion.create(boundingVolume.region);\r\n const regionRange = region.getRange();\r\n return { range: regionRange.range, corners: regionRange.corners, region };\r\n }\r\n return range ? { range, corners } : undefined;\r\n\r\n }\r\n public static maximumSizeFromGeometricTolerance(range: Range3d, geometricError: number): number {\r\n const minToleranceRatio = true === IModelApp.renderSystem.isMobile ? IModelApp.tileAdmin.mobileRealityTileMinToleranceRatio : 1.0; // Nominally the error on screen size of a tile. Increasing generally increases performance (fewer draw calls) at expense of higher load times.\r\n\r\n // NB: We increase the above minToleranceRatio on mobile devices in order to help avoid pruning too often based on the memory threshold for\r\n // pruning currently used by reality tile trees on mobile.\r\n\r\n return minToleranceRatio * range.diagonal().magnitude() / geometricError;\r\n }\r\n public static transformFromJson(jTrans: number[] | undefined): Transform {\r\n return (jTrans === undefined) ? Transform.createIdentity() : Transform.createOriginAndMatrix(Point3d.create(jTrans[12], jTrans[13], jTrans[14]), Matrix3d.createRowValues(jTrans[0], jTrans[4], jTrans[8], jTrans[1], jTrans[5], jTrans[9], jTrans[2], jTrans[6], jTrans[10]));\r\n }\r\n}\r\n\r\nenum SMTextureType {\r\n None = 0, // no textures\r\n Embedded = 1, // textures are available and stored in the nodes\r\n Streaming = 2, // textures need to be downloaded, Bing Maps, etc…\r\n}\r\n\r\n/** Exported strictly for tests. */\r\nexport class RealityModelTileTreeProps {\r\n public location: Transform;\r\n public tilesetJson: any;\r\n public doDrapeBackgroundMap: boolean = false;\r\n public dataSource: RealityDataSource;\r\n public yAxisUp = false;\r\n public root: any;\r\n public readonly maximumScreenSpaceError?: number;\r\n\r\n public get usesGeometricError(): boolean {\r\n return undefined !== this.maximumScreenSpaceError;\r\n }\r\n\r\n constructor(json: any, root: any, rdSource: RealityDataSource, tilesetToDbTransform: Transform, public readonly tilesetToEcef?: Transform) {\r\n this.tilesetJson = root;\r\n this.dataSource = rdSource;\r\n this.location = tilesetToDbTransform;\r\n this.doDrapeBackgroundMap = (json.root && json.root.SMMasterHeader && SMTextureType.Streaming === json.root.SMMasterHeader.IsTextured);\r\n if (json.asset.gltfUpAxis === undefined || json.asset.gltfUpAxis === \"y\" || json.asset.gltfUpAxis === \"Y\") {\r\n this.yAxisUp = true;\r\n }\r\n\r\n const maxSSE = json.asset.extras?.maximumScreenSpaceError;\r\n if (typeof maxSSE === \"number\") {\r\n this.maximumScreenSpaceError = json.asset.extras?.maximumScreenSpaceError;\r\n } else if (rdSource.usesGeometricError) {\r\n this.maximumScreenSpaceError = rdSource.maximumScreenSpaceError ?? 16;\r\n }\r\n }\r\n}\r\n\r\nclass RealityModelTileTreeParams implements RealityTileTreeParams {\r\n public id: string;\r\n public modelId: string;\r\n public iModel: IModelConnection;\r\n public is3d = true;\r\n public loader: RealityModelTileLoader;\r\n public rootTile: RealityTileParams;\r\n public baseUrl?: string;\r\n public reprojectGeometry?: boolean;\r\n\r\n public get location() { return this.loader.tree.location; }\r\n public get yAxisUp() { return this.loader.tree.yAxisUp; }\r\n public get priority() { return this.loader.priority; }\r\n\r\n public constructor(tileTreeId: string, iModel: IModelConnection, modelId: Id64String, loader: RealityModelTileLoader, public readonly gcsConverterAvailable: boolean, public readonly rootToEcef: Transform | undefined, baseUrl?: string, reprojectGeometry?: boolean) {\r\n this.loader = loader;\r\n this.id = tileTreeId;\r\n this.modelId = modelId;\r\n this.iModel = iModel;\r\n const refine = loader.tree.tilesetJson.refine;\r\n this.rootTile = new RealityModelTileProps({\r\n json: loader.tree.tilesetJson,\r\n id: \"\",\r\n // If not specified explicitly, additiveRefinement is inherited from parent tile.\r\n additiveRefinement: undefined !== refine ? \"ADD\" === refine : undefined,\r\n usesGeometricError: loader.tree.usesGeometricError,\r\n });\r\n this.baseUrl = baseUrl;\r\n this.reprojectGeometry = reprojectGeometry;\r\n }\r\n}\r\n\r\nclass RealityModelTileProps implements RealityTileParams {\r\n public readonly contentId: string;\r\n public readonly range: Range3d;\r\n public readonly contentRange?: Range3d;\r\n public readonly maximumSize: number;\r\n public readonly isLeaf: boolean;\r\n public readonly transformToRoot?: Transform;\r\n public readonly additiveRefinement?: boolean;\r\n public readonly parent?: RealityTile;\r\n public readonly noContentButTerminateOnSelection?: boolean;\r\n public readonly rangeCorners?: Point3d[];\r\n public readonly region?: RealityTileRegion;\r\n public readonly geometricError?: number;\r\n\r\n constructor(args: {\r\n json: any;\r\n parent?: RealityTile;\r\n id: string;\r\n transformToRoot?: Transform;\r\n additiveRefinement?: boolean;\r\n usesGeometricError?: boolean;\r\n }) {\r\n this.contentId = args.id;\r\n this.parent = args.parent;\r\n this.transformToRoot = args.transformToRoot;\r\n this.additiveRefinement = args.additiveRefinement;\r\n\r\n const json = args.json;\r\n const boundingVolume = RealityModelTileUtils.rangeFromBoundingVolume(json.boundingVolume);\r\n if (boundingVolume) {\r\n this.range = boundingVolume.range;\r\n this.rangeCorners = boundingVolume.corners;\r\n this.region = boundingVolume?.region;\r\n } else {\r\n this.range = Range3d.createNull();\r\n assert(false, \"Unbounded tile\");\r\n }\r\n\r\n this.isLeaf = !Array.isArray(json.children) || 0 === json.children.length;\r\n const hasContents = undefined !== getUrl(json.content);\r\n if (hasContents)\r\n this.contentRange = RealityModelTileUtils.rangeFromBoundingVolume(json.content.boundingVolume)?.range;\r\n else {\r\n // A node without content should probably be selectable even if not additive refinement - But restrict it to that case here\r\n // to avoid potential problems with existing reality models, but still avoid overselection in the OSM world building set.\r\n if (this.additiveRefinement || args.parent?.additiveRefinement)\r\n this.noContentButTerminateOnSelection = true;\r\n }\r\n\r\n this.maximumSize = (this.noContentButTerminateOnSelection || hasContents) ? RealityModelTileUtils.maximumSizeFromGeometricTolerance(Range3d.fromJSON(this.range), json.geometricError) : 0;\r\n if (args.usesGeometricError)\r\n this.geometricError = json.geometricError;\r\n }\r\n}\r\n\r\nclass FindChildResult {\r\n constructor(public id: string, public json: any, public transformToRoot?: Transform) { }\r\n}\r\n\r\nfunction assembleUrl(prefix: string, url: string): string {\r\n if (url.startsWith(\"/\")) {\r\n // Relative to base origin, not to parent tile\r\n return url.substring(1);\r\n }\r\n\r\n if (url.startsWith(\"./\")) {\r\n // Relative to parent tile\r\n url = url.substring(2);\r\n } else {\r\n const prefixParts = prefix.split(\"/\");\r\n prefixParts.pop();\r\n while (url.startsWith(\"../\")) {\r\n prefixParts.pop();\r\n url = url.substring(3);\r\n }\r\n\r\n prefixParts.push(\"\");\r\n prefix = prefixParts.join(\"/\");\r\n }\r\n\r\n return prefix + url;\r\n}\r\n\r\nfunction addUrlPrefix(subTree: any, prefix: string) {\r\n if (undefined === subTree)\r\n return;\r\n\r\n if (undefined !== subTree.content) {\r\n if (undefined !== subTree.content.url)\r\n subTree.content.url = assembleUrl(prefix, subTree.content.url);\r\n else if (undefined !== subTree.content.uri)\r\n subTree.content.uri = assembleUrl(prefix, subTree.content.uri);\r\n }\r\n\r\n if (undefined !== subTree.children)\r\n for (const child of subTree.children)\r\n addUrlPrefix(child, prefix);\r\n}\r\n\r\nasync function expandSubTree(root: any, rdsource: RealityDataSource): Promise<any> {\r\n const childUrl = getUrl(root.content);\r\n if (undefined === childUrl || \"tileset\" !== rdsource.getTileContentType(childUrl))\r\n return root;\r\n\r\n const subTree = await rdsource.getTileJson(childUrl);\r\n const prefixIndex = childUrl.lastIndexOf(\"/\");\r\n if (prefixIndex > 0)\r\n addUrlPrefix(subTree.root, childUrl.substring(0, prefixIndex + 1));\r\n\r\n return subTree.root;\r\n}\r\n\r\nclass RealityModelTileLoader extends RealityTileLoader {\r\n public readonly tree: RealityModelTileTreeProps;\r\n private readonly _batchedIdMap?: BatchedTileIdMap;\r\n private _viewFlagOverrides: ViewFlagOverrides;\r\n private readonly _deduplicateVertices: boolean;\r\n\r\n public constructor(tree: RealityModelTileTreeProps, batchedIdMap?: BatchedTileIdMap, opts?: { deduplicateVertices?: boolean, produceGeometry?: ProduceGeometryOption }) {\r\n super(opts?.produceGeometry);\r\n this.tree = tree;\r\n this._batchedIdMap = batchedIdMap;\r\n this._deduplicateVertices = opts?.deduplicateVertices ?? false;\r\n\r\n let clipVolume;\r\n if (RealityTileRegion.isGlobal(tree.tilesetJson.boundingVolume))\r\n clipVolume = false;\r\n this._viewFlagOverrides = createDefaultViewFlagOverrides({ lighting: true, clipVolume });\r\n\r\n // Display edges if they are present (Cesium outline extension) and enabled for view.\r\n this._viewFlagOverrides.visibleEdges = undefined;\r\n this._viewFlagOverrides.hiddenEdges = undefined;\r\n\r\n // Allow wiremesh display.\r\n this._viewFlagOverrides.wiremesh = undefined;\r\n }\r\n\r\n public get doDrapeBackgroundMap(): boolean { return this.tree.doDrapeBackgroundMap; }\r\n public override get wantDeduplicatedVertices() { return this._deduplicateVertices; }\r\n\r\n public get maxDepth(): number { return Number.MAX_SAFE_INTEGER; }\r\n public get minDepth(): number { return 0; }\r\n public get priority(): TileLoadPriority { return TileLoadPriority.Context; }\r\n public override getBatchIdMap(): BatchedTileIdMap | undefined { return this._batchedIdMap; }\r\n public get clipLowResolutionTiles(): boolean { return true; }\r\n public override get viewFlagOverrides(): ViewFlagOverrides { return this._viewFlagOverrides; }\r\n public override get maximumScreenSpaceError(): number | undefined {\r\n return this.tree.maximumScreenSpaceError;\r\n }\r\n\r\n public async loadChildren(tile: RealityTile): Promise<Tile[] | undefined> {\r\n const props = await this.getChildrenProps(tile);\r\n if (undefined === props)\r\n return undefined;\r\n\r\n const children = [];\r\n for (const prop of props)\r\n children.push(tile.realityRoot.createTile(prop));\r\n\r\n return children;\r\n }\r\n\r\n public async getChildrenProps(parent: RealityTile): Promise<RealityTileParams[]> {\r\n const props: RealityModelTileProps[] = [];\r\n const thisId = parent.contentId;\r\n const prefix = thisId.length ? `${thisId}_` : \"\";\r\n const findResult = await this.findTileInJson(this.tree.tilesetJson, thisId, \"\", undefined);\r\n if (undefined !== findResult && Array.isArray(findResult.json.children)) {\r\n for (let i = 0; i < findResult.json.children.length; i++) {\r\n const childId = prefix + i;\r\n const foundChild = await this.findTileInJson(this.tree.tilesetJson, childId, \"\", undefined);\r\n if (undefined !== foundChild) {\r\n const refine = foundChild.json.refine;\r\n props.push(new RealityModelTileProps({\r\n json: foundChild.json,\r\n parent,\r\n id: foundChild.id,\r\n transformToRoot: foundChild.transformToRoot,\r\n // If not specified explicitly, additiveRefinement is inherited from parent tile.\r\n additiveRefinement: undefined !== refine ? refine === \"ADD\" : undefined,\r\n usesGeometricError: this.tree.usesGeometricError,\r\n }));\r\n }\r\n }\r\n }\r\n return props;\r\n }\r\n\r\n public getRequestChannel(_tile: Tile) {\r\n // ###TODO: May want to extract the hostname from the URL.\r\n return IModelApp.tileAdmin.channels.getForHttp(\"itwinjs-reality-model\");\r\n }\r\n\r\n public async requestTileContent(tile: Tile, isCanceled: () => boolean): Promise<TileRequest.Response> {\r\n const foundChild = await this.findTileInJson(this.tree.tilesetJson, tile.contentId, \"\");\r\n if (undefined === foundChild || undefined === foundChild.json.content || isCanceled())\r\n return undefined;\r\n\r\n return this.tree.dataSource.getTileContent(getUrl(foundChild.json.content));\r\n }\r\n\r\n private async findTileInJson(tilesetJson: any, id: string, parentId: string, transformToRoot?: Transform): Promise<FindChildResult | undefined> {\r\n if (id.length === 0)\r\n return new FindChildResult(id, tilesetJson, transformToRoot); // Root.\r\n\r\n const separatorIndex = id.indexOf(\"_\");\r\n const childId = (separatorIndex < 0) ? id : id.substring(0, separatorIndex);\r\n const childIndex = parseInt(childId, 10);\r\n\r\n if (isNaN(childIndex) || tilesetJson === undefined || tilesetJson.children === undefined || childIndex >= tilesetJson.children.length) {\r\n assert(false, \"scalable mesh child not found.\");\r\n return undefined;\r\n }\r\n\r\n const foundChild = tilesetJson.children[childIndex];\r\n const thisParentId = parentId.length ? (`${parentId}_${childId}`) : childId;\r\n if (foundChild.transform) {\r\n const thisTransform = RealityModelTileUtils.transformFromJson(foundChild.transform);\r\n transformToRoot = transformToRoot ? transformToRoot.multiplyTransformTransform(thisTransform) : thisTransform;\r\n }\r\n\r\n if (separatorIndex >= 0) {\r\n return this.findTileInJson(foundChild, id.substring(separatorIndex + 1), thisParentId, transformToRoot);\r\n }\r\n\r\n tilesetJson.children[childIndex] = await expandSubTree(foundChild, this.tree.dataSource);\r\n\r\n return new FindChildResult(thisParentId, tilesetJson.children[childIndex], transformToRoot);\r\n }\r\n}\r\n\r\nexport type RealityModelSource = ViewState | DisplayStyleState;\r\n\r\n/** @internal */\r\nexport class RealityModelTileTree extends RealityTileTree {\r\n private readonly _isContentUnbounded: boolean;\r\n private readonly _layerHandler: LayerTileTreeHandler;\r\n public layerImageryTrees: MapLayerTreeSetting[] = [];\r\n\r\n public override get layerHandler() { return this._layerHandler; }\r\n\r\n public constructor(params: RealityTileTreeParams) {\r\n super(params);\r\n\r\n this._layerHandler = new LayerTileTreeHandler(this);\r\n\r\n this._isContentUnbounded = this.rootTile.contentRange.diagonal().magnitude() > 2 * Constant.earthRadiusWGS84.equator;\r\n }\r\n public override get isContentUnbounded() { return this._isContentUnbounded; }\r\n\r\n protected override collectClassifierGraphics(args: TileDrawArgs, selectedTiles: RealityTile[]) {\r\n super.collectClassifierGraphics(args, selectedTiles);\r\n this._layerHandler.collectClassifierGraphics(args, selectedTiles);\r\n }\r\n}\r\n\r\nexport namespace RealityModelTileTree {\r\n export interface ReferenceBaseProps {\r\n iModel: IModelConnection;\r\n source: RealityModelSource;\r\n rdSourceKey: RealityDataSourceKey;\r\n modelId?: Id64String;\r\n tilesetToDbTransform?: TransformProps;\r\n name?: string;\r\n classifiers?: SpatialClassifiersState;\r\n planarClipMask?: PlanarClipMaskSettings;\r\n getDisplaySettings(): RealityModelDisplaySettings;\r\n getBackgroundBase?(): BaseLayerSettings;\r\n getBackgroundLayers?(): MapLayerSettings[];\r\n }\r\n\r\n export interface ReferenceProps extends ReferenceBaseProps {\r\n url?: string;\r\n requestAuthorization?: string;\r\n produceGeometry?: ProduceGeometryOption;\r\n }\r\n\r\n export abstract class Reference extends TileTreeReference {\r\n protected readonly _name: string;\r\n protected _transform?: Transform;\r\n private _isGlobal?: boolean;\r\n protected readonly _source: RealityModelSource;\r\n protected _planarClipMask?: PlanarClipMaskState;\r\n protected _classifier?: SpatialClassifierTileTreeReference;\r\n protected _mapDrapeTree?: TileTreeReference;\r\n protected _getDisplaySettings: () => RealityModelDisplaySettings;\r\n private _layerRefHandler: LayerTileTreeReferenceHandler;\r\n public readonly iModel: IModelConnection;\r\n\r\n // public get classifiers(): SpatialClassifiers | undefined { return undefined !== this._classifier ? this._classifier.classifiers : undefined; }\r\n public abstract get modelId(): Id64String;\r\n\r\n public get planarClipMask(): PlanarClipMaskState | undefined { return this._planarClipMask; }\r\n public set planarClipMask(planarClipMask: PlanarClipMaskState | undefined) { this._planarClipMask = planarClipMask; }\r\n\r\n public override get planarClipMaskPriority(): number {\r\n if (this._planarClipMask?.settings.priority !== undefined)\r\n return this._planarClipMask.settings.priority;\r\n\r\n return this.isGlobal ? PlanarClipMaskPriority.GlobalRealityModel : PlanarClipMaskPriority.RealityModel;\r\n }\r\n\r\n protected get maskModelIds(): string | undefined {\r\n return this._planarClipMask?.settings.compressedModelIds;\r\n }\r\n\r\n public shouldDrapeLayer(layerTreeRef?: MapLayerTileTreeReference): boolean {\r\n const mapLayerSettings = layerTreeRef?.layerSettings;\r\n if (mapLayerSettings && mapLayerSettings instanceof ModelMapLayerSettings)\r\n return ModelMapLayerDrapeTarget.RealityData === mapLayerSettings.drapeTarget;\r\n return false;\r\n }\r\n\r\n public constructor(props: RealityModelTileTree.ReferenceBaseProps) {\r\n super();\r\n\r\n this.iModel = props.iModel;\r\n\r\n this._layerRefHandler = new LayerTileTreeReferenceHandler(this, false, props.getBackgroundBase?.(), props.getBackgroundLayers?.(), false);\r\n\r\n this._name = undefined !== props.name ? props.name : \"\";\r\n let transform;\r\n if (undefined !== props.tilesetToDbTransform) {\r\n const tf = Transform.fromJSON(props.tilesetToDbTransform);\r\n if (!tf.isIdentity)\r\n transform = tf;\r\n\r\n this._transform = transform;\r\n }\r\n\r\n this._source = props.source;\r\n this._getDisplaySettings = () => props.getDisplaySettings();\r\n\r\n if (props.planarClipMask)\r\n this._planarClipMask = PlanarClipMaskState.create(props.planarClipMask);\r\n\r\n if (undefined !== props.classifiers)\r\n this._classifier = createClassifierTileTreeReference(props.classifiers, this, props.iModel, props.source);\r\n }\r\n\r\n public get planarClassifierTreeRef() { return this._classifier && this._classifier.activeClassifier && this._classifier.isPlanar ? this._classifier : undefined; }\r\n\r\n public override unionFitRange(union: Range3d): void {\r\n const contentRange = this.computeWorldContentRange();\r\n if (!contentRange.isNull && contentRange.diagonal().magnitude() < Constant.earthRadiusWGS84.equator)\r\n union.extendRange(contentRange);\r\n }\r\n\r\n public override get isGlobal() {\r\n if (undefined === this._isGlobal) {\r\n const range = this.computeWorldContentRange();\r\n if (!range.isNull)\r\n this._isGlobal = range.diagonal().magnitude() > 2 * Constant.earthRadiusWGS84.equator;\r\n }\r\n return this._isGlobal === undefined ? false : this._isGlobal;\r\n }\r\n\r\n public override addToScene(context: SceneContext): void {\r\n const tree = this.treeOwner.load() as RealityModelTileTree;\r\n if (undefined === tree || !this._layerRefHandler.initializeLayers(context))\r\n return; // Not loaded yet.\r\n\r\n // NB: The classifier must be added first, so we can find it when adding our own tiles.\r\n if (this._classifier && this._classifier.activeClassifier)\r\n this._classifier.addToScene(context);\r\n\r\n this.addPlanarClassifierOrMaskToScene(context);\r\n super.addToScene(context);\r\n }\r\n\r\n protected addPlanarClassifierOrMaskToScene(context: SceneContext) {\r\n // A planarClassifier is required if there is a classification tree OR planar masking is required.\r\n const classifierTree = this.planarClassifierTreeRef;\r\n const planarClipMask = this._planarClipMask ?? context.viewport.displayStyle.getPlanarClipMaskState(this.modelId);\r\n if (!classifierTree && !planarClipMask)\r\n return;\r\n\r\n if (classifierTree && !classifierTree.treeOwner.load())\r\n return;\r\n\r\n context.addPlanarClassifier(this.modelId, classifierTree, planarClipMask);\r\n }\r\n\r\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\r\n super.discloseTileTrees(trees);\r\n\r\n if (undefined !== this._classifier)\r\n this._classifier.discloseTileTrees(trees);\r\n\r\n if (undefined !== this._mapDrapeTree)\r\n this._mapDrapeTree.discloseTileTrees(trees);\r\n\r\n if (undefined !== this._planarClipMask)\r\n this._planarClipMask.discloseTileTrees(trees);\r\n\r\n this._layerRefHandler.discloseTileTrees(trees);\r\n }\r\n\r\n public override collectStatistics(stats: RenderMemory.Statistics): void {\r\n super.collectStatistics(stats);\r\n\r\n const tree = undefined !== this._classifier ? this._classifier.treeOwner.tileTree : undefined;\r\n if (undefined !== tree)\r\n tree.collectStatistics(stats);\r\n }\r\n\r\n public override createDrawArgs(context: SceneContext): TileDrawArgs | undefined {\r\n const args = super.createDrawArgs(context);\r\n if (args) {\r\n args.graphics.realityModelDisplaySettings = this._getDisplaySettings();\r\n args.graphics.realityModelRange = args.tree.rootTile.contentRange;\r\n\r\n if (args.tree instanceof RealityTileTree) {\r\n const maxSSE = args.tree.loader.maximumScreenSpaceError;\r\n if (undefined !== maxSSE)\r\n args.maximumScreenSpaceError = maxSSE;\r\n }\r\n }\r\n\r\n return args;\r\n }\r\n }\r\n\r\n export async function createRealityModelTileTree(\r\n rdSourceKey: RealityDataSourceKey,\r\n iModel: IModelConnection,\r\n modelId: Id64String,\r\n tilesetToDb: Transform | undefined,\r\n opts?: { deduplicateVertices?: boolean, produceGeometry?: ProduceGeometryOption },\r\n ): Promise<TileTree | undefined> {\r\n const rdSource = await RealityDataSource.fromKey(rdSourceKey, iModel.iTwinId);\r\n // If we can get a valid connection from sourceKey, returns the tile tree\r\n if (rdSource) {\r\n // Serialize the reality data source key into a string to uniquely identify this tile tree\r\n const tileTreeId = RealityDataSourceKey.convertToString(rdSource.key);\r\n if (tileTreeId === undefined)\r\n return undefined;\r\n const props = await getTileTreeProps(rdSource, tilesetToDb, iModel);\r\n const loader = new RealityModelTileLoader(props, new BatchedTileIdMap(iModel), opts);\r\n const gcsConverterAvailable = await getGcsConverterAvailable(iModel);\r\n // The full tileset url is needed so that it includes the url's search parameters if any are present\r\n const baseUrl = rdSource instanceof RealityDataSourceTilesetUrlImpl ? rdSource.getTilesetUrl() : undefined;\r\n const params = new RealityModelTileTreeParams(tileTreeId, iModel, modelId, loader, gcsConverterAvailable, props.tilesetToEcef, baseUrl, opts?.produceGeometry === \"reproject\");\r\n return new RealityModelTileTree(params);\r\n }\r\n return undefined;\r\n }\r\n\r\n async function getTileTreeProps(rdSource: RealityDataSource, tilesetToDbJson: any, iModel: IModelConnection): Promise<RealityModelTileTreeProps> {\r\n const json = await rdSource.getRootDocument(iModel.iTwinId);\r\n let rootTransform = iModel.ecefLocation ? iModel.getMapEcefToDb(0) : Transform.createIdentity();\r\n const geoConverter = iModel.noGcsDefined ? undefined : iModel.geoServices.getConverter(\"WGS84\");\r\n if (geoConverter !== undefined) {\r\n let realityTileRange = RealityModelTileUtils.rangeFromBoundingVolume(json.root.boundingVolume)!.range;\r\n if (json.root.transform) {\r\n const realityToEcef = RealityModelTileUtils.transformFromJson(json.root.transform);\r\n realityTileRange = realityToEcef.multiplyRange(realityTileRange);\r\n }\r\n\r\n if (iModel.ecefLocation) {\r\n // In initial publishing version the iModel ecef Transform was used to locate the reality model.\r\n // This would work well only for tilesets published from that iModel but for iModels the ecef transform is calculated\r\n // at the center of the project extents and the reality model location may differ greatly, and the curvature of the earth\r\n // could introduce significant errors.\r\n // The publishing was modified to calculate the ecef transform at the reality model range center and at the same time the \"iModelPublishVersion\"\r\n // member was added to the root object. In order to continue to locate reality models published from older versions at the\r\n // project extents center we look for Tileset version 0.0 and no root.iModelVersion.\r\n const ecefOrigin = realityTileRange.localXYZToWorld(.5, .5, .5)!;\r\n const dbOrigin = rootTransform.multiplyPoint3d(ecefOrigin);\r\n const realityOriginToProjectDistance = iModel.projectExtents.distanceToPoint(dbOrigin);\r\n const maxProjectDistance = 1E5; // Only use the project GCS projection if within 100KM of the project. Don't attempt to use GCS if global reality model or in another locale - Results will be unreliable.\r\n if (realityOriginToProjectDistance < maxProjectDistance && json.asset?.version !== \"0.0\" || undefined !== json.root?.iModelPublishVersion) {\r\n const cartographicOrigin = Cartographic.fromEcef(ecefOrigin);\r\n\r\n if (cartographicOrigin !== undefined) {\r\n const geoOrigin = Point3d.create(cartographicOrigin.longitudeDegrees, cartographicOrigin.latitudeDegrees, cartographicOrigin.height);\r\n const response = await geoConverter.getIModelCoordinatesFromGeoCoordinates([geoOrigin]);\r\n if (response.iModelCoords[0].s === GeoCoordStatus.Success) {\r\n const ecefToDb = await calculateEcefToDbTransformAtLocation(Point3d.fromJSON(response.iModelCoords[0].p), iModel);\r\n if (ecefToDb)\r\n rootTransform = ecefToDb;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let tilesetToEcef = Transform.createIdentity();\r\n\r\n if (json.root.transform) {\r\n tilesetToEcef = RealityModelTileUtils.transformFromJson(json.root.transform);\r\n rootTransform = rootTransform.multiplyTransformTransform(tilesetToEcef);\r\n }\r\n\r\n if (undefined !== tilesetToDbJson)\r\n rootTransform = Transform.fromJSON(tilesetToDbJson).multiplyTransformTransform(rootTransform);\r\n\r\n const root = await expandSubTree(json.root, rdSource);\r\n return new RealityModelTileTreeProps(json, root, rdSource, rootTransform, tilesetToEcef);\r\n }\r\n}\r\n\r\n/** Supplies a reality data [[TileTree]] from a URL. May be associated with a persistent [[GeometricModelState]], or attached at run-time via a [[ContextRealityModelState]].\r\n */\r\nexport class RealityTreeReference extends RealityModelTileTree.Reference {\r\n protected _rdSourceKey: RealityDataSourceKey;\r\n private readonly _produceGeometry?: ProduceGeometryOption;\r\n private readonly _modelId: Id64String;\r\n public readonly useCachedDecorations?: true | undefined;\r\n\r\n public constructor(props: RealityModelTileTree.ReferenceProps) {\r\n super(props);\r\n this._produceGeometry = props.produceGeometry;\r\n\r\n // Maybe we should throw if both props.rdSourceKey && props.url are undefined\r\n if (props.rdSourceKey)\r\n this._rdSourceKey = props.rdSourceKey;\r\n else\r\n this._rdSourceKey = RealityDataSource.createKeyFromUrl(props.url ?? \"\", RealityDataProvider.ContextShare);\r\n\r\n if (this._produceGeometry)\r\n this.collectTileGeometry = (collector) => this._collectTileGeometry(collector);\r\n\r\n let modelId = props.modelId;\r\n if (undefined === modelId && this._source instanceof DisplayStyleState) {\r\n const treeId = this.createTreeId(Id64.invalid);\r\n modelId = realityTreeSupplier.findCompatibleContextRealityModelId(treeId, this._source);\r\n }\r\n\r\n this._modelId = modelId ?? props.iModel.transientIds.getNext();\r\n const provider = IModelApp.realityDataSourceProviders.find(this._rdSourceKey.provider);\r\n this.useCachedDecorations = provider?.useCachedDecorations;\r\n }\r\n\r\n public override get modelId() { return this._modelId; }\r\n\r\n private createTreeId(modelId: Id64String): RealityTreeId {\r\n return {\r\n rdSourceKey: this._rdSourceKey,\r\n transform: this._transform,\r\n modelId,\r\n maskModelIds: this.maskModelIds,\r\n deduplicateVertices: this._wantWiremesh,\r\n produceGeometry: this._produceGeometry,\r\n displaySettings: this._getDisplaySettings(),\r\n };\r\n }\r\n\r\n public get treeOwner(): TileTreeOwner {\r\n return realityTreeSupplier.getOwner(this.createTreeId(this.modelId), this.iModel);\r\n }\r\n\r\n protected override _createGeometryTreeReference(options?: GeometryTileTreeReferenceOptions): GeometryTileTreeReference {\r\n const ref = new RealityTreeReference({\r\n iModel: this.iModel,\r\n modelId: this.modelId,\r\n source: this._source,\r\n rdSourceKey: this._rdSourceKey,\r\n name: this._name,\r\n produceGeometry: options?.reprojectGeometry ? \"reproject\" : \"yes\",\r\n getDisplaySettings: () => RealityModelDisplaySettings.defaults,\r\n });\r\n\r\n assert(undefined !== ref.collectTileGeometry);\r\n return ref as GeometryTileTreeReference;\r\n }\r\n\r\n private get _wantWiremesh(): boolean {\r\n return this._source.viewFlags.wiremesh;\r\n }\r\n\r\n public override get castsShadows() {\r\n return true;\r\n }\r\n\r\n protected override get _isLoadingComplete(): boolean {\r\n return !this._mapDrapeTree || this._mapDrapeTree.isLoadingComplete;\r\n }\r\n\r\n public override createDrawArgs(context: SceneContext): TileDrawArgs | undefined {\r\n // For global reality models (OSM Building layer only) - offset the reality model by the BIM elevation bias. This would not be necessary\r\n // if iModels had their elevation set correctly but unfortunately many GCS erroneously report Sea (Geoid) elevation rather than\r\n // Geodetic.\r\n const tree = this.treeOwner.load();\r\n if (undefined === tree)\r\n return undefined;\r\n\r\n const drawArgs = super.createDrawArgs(context);\r\n if (drawArgs !== undefined && this.iModel.isGeoLocated && tree.isContentUnbounded) {\r\n const elevationBias = context.viewport.view.displayStyle.backgroundMapElevationBias;\r\n\r\n if (undefined !== elevationBias)\r\n drawArgs.location.origin.z -= elevationBias;\r\n }\r\n\r\n return drawArgs;\r\n }\r\n\r\n public override addToScene(context: SceneContext): void {\r\n const tree = this.treeOwner.tileTree as RealityTileTree;\r\n if (undefined !== tree && context.viewport.iModel.isGeoLocated && (tree.loader as RealityModelTileLoader).doDrapeBackgroundMap) {\r\n // NB: We save this off strictly so that discloseTileTrees() can find it...better option?\r\n this._mapDrapeTree = context.viewport.backgroundDrapeMap;\r\n context.addBackgroundDrapedModel(this, undefined);\r\n }\r\n\r\n super.addToScene(context);\r\n }\r\n\r\n public override canSupplyToolTip(hit: HitDetail): boolean {\r\n const classifier = this._classifier?.activeClassifier?.tileTreeReference;\r\n if (classifier && classifier.canSupplyToolTip(hit)) {\r\n return true;\r\n }\r\n\r\n const tree = this.treeOwner.tileTree;\r\n return tree instanceof RealityTileTree && hit.iModel === tree.iModel && undefined !== tree.batchTableProperties?.getFeatureProperties(hit.sourceId);\r\n }\r\n\r\n public override async getToolTip(hit: HitDetail): Promise<HTMLElement | string | undefined> {\r\n const tooltip = this._getToolTip(hit);\r\n if (tooltip) {\r\n return tooltip;\r\n }\r\n\r\n const classifierTree = this._classifier?.activeClassifier?.tileTreeReference;\r\n if (classifierTree) {\r\n return classifierTree.getToolTip(hit);\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private _getToolTip(hit: HitDetail): HTMLElement | string | undefined {\r\n const tree = this.treeOwner.tileTree;\r\n if (!(tree instanceof RealityTileTree) || hit.iModel !== tree.iModel)\r\n return undefined;\r\n\r\n const batch = tree.batchTableProperties?.getFeatureProperties(hit.sourceId);\r\n if (undefined === batch && tree.modelId !== hit.sourceId)\r\n return undefined;\r\n\r\n const strings = [];\r\n\r\n const loader = (tree as RealityModelTileTree).loader;\r\n const type = (loader as RealityModelTileLoader).tree.dataSource.realityDataType;\r\n\r\n // If a type is specified, display it\r\n if (type !== undefined) {\r\n // Case insensitive\r\n switch (type.toUpperCase()) {\r\n case DefaultSupportedTypes.RealityMesh3dTiles.toUpperCase():\r\n strings.push(IModelApp.localization.getLocalizedString(\"iModelJs:RealityModelTypes.RealityMesh3DTiles\"));\r\n break;\r\n case DefaultSupportedTypes.Terrain3dTiles.toUpperCase():\r\n strings.push(IModelApp.localization.getLocalizedString(\"iModelJs:RealityModelTypes.Terrain3DTiles\"));\r\n break;\r\n case DefaultSupportedTypes.Cesium3dTiles.toUpperCase():\r\n strings.push(IModelApp.localization.getLocalizedString(\"iModelJs:RealityModelTypes.Cesium3DTiles\"));\r\n break;\r\n }\r\n }\r\n\r\n if (this._name) {\r\n strings.push(`${IModelApp.localization.getLocalizedString(\"iModelJs:TooltipInfo.Name\")} ${this._name}`);\r\n } else {\r\n const cesiumAsset = this._rdSourceKey.provider === RealityDataProvider.CesiumIonAsset ? CesiumIonAssetProvider.parseCesiumUrl(this._rdSourceKey.id) : undefined;\r\n strings.push(cesiumAsset ? `Cesium Asset: ${cesiumAsset.id}` : this._rdSourceKey.id);\r\n }\r\n\r\n if (batch !== undefined)\r\n for (const key of Object.keys(batch))\r\n if (-1 === key.indexOf(\"#\")) // Avoid internal cesium\r\n strings.push(`${key}: ${JSON.stringify(batch[key])}`);\r\n\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = strings.join(\"<br>\");\r\n return div;\r\n }\r\n\r\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [addAttributions] instead. */\r\n public override addLogoCards(cards: HTMLTableElement): void {\r\n if (this._rdSourceKey.provider === RealityDataProvider.CesiumIonAsset && !cards.dataset.openStreetMapLogoCard) {\r\n cards.dataset.openStreetMapLogoCard = \"true\";\r\n cards.appendChild(IModelApp.makeLogoCard({ heading: \"OpenStreetMap\", notice: `©<a href=\\\"https://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> ${IModelApp.localization.getLocalizedString(\"iModelJs:BackgroundMap:OpenStreetMapContributors\")}` }));\r\n }\r\n }\r\n\r\n public override async addAttributions(cards: HTMLTableElement, vp: ScreenViewport): Promise<void> {\r\n const provider = IModelApp.realityDataSourceProviders.find(this._rdSourceKey.provider);\r\n if (provider?.addAttributions) {\r\n await provider.addAttributions(cards, vp);\r\n }\r\n }\r\n\r\n public override decorate(_context: DecorateContext): void {\r\n const provider = IModelApp.realityDataSourceProviders.find(this._rdSourceKey.provider);\r\n if (provider?.decorate) {\r\n provider.decorate(_context);\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"RealityModelTileTree.js","sourceRoot":"","sources":["../../../../src/internal/tile/RealityModelTileTree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealityTileDrawArgs.js","sourceRoot":"","sources":["../../../../src/internal/tile/RealityTileDrawArgs.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,kDAAmD;AAGnD,MAAa,mBAAoB,SAAQ,uBAAY;IAKgD;IAAoC;IAJtH,eAAe,CAAQ;IACxC,IAAoB,cAAc,KAAY,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAC5E,IAAoB,oBAAoB,KAAK,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAA,CAAC;IAEhF,YAAmB,IAAkB,EAAE,cAAqB,EAAE,aAA4B,EAAS,iBAA0B,EAAU,qBAA2D;QAChM,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,CAAC;QAD9C,sBAAiB,GAAjB,iBAAiB,CAAS;QAAU,0BAAqB,GAArB,qBAAqB,CAAsC;QAGhM,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;CACF;AAXD,kDAWC"
|
|
1
|
+
{"version":3,"file":"RealityTileDrawArgs.js","sourceRoot":"","sources":["../../../../src/internal/tile/RealityTileDrawArgs.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH,kDAAmD;AAGnD,MAAa,mBAAoB,SAAQ,uBAAY;IAKgD;IAAoC;IAJtH,eAAe,CAAQ;IACxC,IAAoB,cAAc,KAAY,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAC5E,IAAoB,oBAAoB,KAAK,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAA,CAAC;IAEhF,YAAmB,IAAkB,EAAE,cAAqB,EAAE,aAA4B,EAAS,iBAA0B,EAAU,qBAA2D;QAChM,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,CAAC;QAD9C,sBAAiB,GAAjB,iBAAiB,CAAS;QAAU,0BAAqB,GAArB,qBAAqB,CAAsC;QAGhM,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;CACF;AAXD,kDAWC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealityTileLoader.js","sourceRoot":"","sources":["../../../../src/internal/tile/RealityTileLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert, ByteStream } from \"@itwin/core-bentley\";\r\nimport { Point2d, Point3d, Transform } from \"@itwin/core-geometry\";\r\nimport { BatchType, CompositeTileHeader, TileFormat, ViewFlagOverrides } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { GraphicBranch } from \"../../render/GraphicBranch\";\r\nimport { RenderSystem } from \"../../render/RenderSystem\";\r\nimport { ScreenViewport, Viewport } from \"../../Viewport\";\r\nimport { GltfWrapMode } from \"../../common/gltf/GltfSchema\";\r\nimport {\r\n B3dmReader, BatchedTileIdMap, createDefaultViewFlagOverrides, GltfGraphicsReader, GltfReader, GltfReaderProps, I3dmReader, ImdlReader, ProduceGeometryOption, readPointCloudTileContent,\r\n RealityTile, RealityTileContent, Tile, TileContent, TileDrawArgs, TileLoadPriority, TileRequest, TileRequestChannel, TileUser,\r\n} from \"../../tile/internal\";\r\nimport { LayerTileData } from \"../render/webgl/MapLayerParams\";\r\n\r\nconst defaultViewFlagOverrides = createDefaultViewFlagOverrides({});\r\n\r\nconst scratchTileCenterWorld = new Point3d();\r\nconst scratchTileCenterView = new Point3d();\r\n\r\n/** Serves as a \"handler\" for a specific type of [[TileTree]]. Its primary responsibilities involve loading tile content.\r\n * @internal\r\n */\r\nexport abstract class RealityTileLoader {\r\n private _containsPointClouds = false;\r\n public readonly preloadRealityParentDepth: number;\r\n public readonly preloadRealityParentSkip: number;\r\n\r\n public constructor(private _produceGeometry?: ProduceGeometryOption) {\r\n this.preloadRealityParentDepth = IModelApp.tileAdmin.contextPreloadParentDepth;\r\n this.preloadRealityParentSkip = IModelApp.tileAdmin.contextPreloadParentSkip;\r\n }\r\n\r\n public computeTilePriority(tile: Tile, viewports: Iterable<Viewport>, _users: Iterable<TileUser>): number {\r\n // ###TODO: Handle case where tile tree reference(s) have a transform different from tree's (background map with ground bias).\r\n return RealityTileLoader.computeTileLocationPriority(tile, viewports, tile.tree.iModelTransform);\r\n }\r\n\r\n public abstract loadChildren(tile: RealityTile): Promise<Tile[] | undefined>;\r\n public abstract getRequestChannel(tile: Tile): TileRequestChannel;\r\n public abstract requestTileContent(tile: Tile, isCanceled: () => boolean): Promise<TileRequest.Response>;\r\n public get wantDeduplicatedVertices(): boolean { return false; }\r\n public abstract get maxDepth(): number;\r\n public abstract get minDepth(): number;\r\n public abstract get priority(): TileLoadPriority;\r\n protected get _batchType(): BatchType { return BatchType.Primary; }\r\n protected get _loadEdges(): boolean { return true; }\r\n public getBatchIdMap(): BatchedTileIdMap | undefined { return undefined; }\r\n public get isContentUnbounded(): boolean { return false; }\r\n public get containsPointClouds(): boolean { return this._containsPointClouds; }\r\n public get parentsAndChildrenExclusive(): boolean { return true; }\r\n public forceTileLoad(_tile: Tile): boolean { return false; }\r\n public get maximumScreenSpaceError(): number | undefined { return undefined; }\r\n\r\n public processSelectedTiles(selected: Tile[], _args: TileDrawArgs): Tile[] { return selected; }\r\n\r\n // NB: The isCanceled arg is chiefly for tests...in usual case it just returns false if the tile is no longer in 'loading' state.\r\n public async loadTileContent(tile: Tile, data: TileRequest.ResponseData, system: RenderSystem, isCanceled?: () => boolean): Promise<RealityTileContent> {\r\n assert(data instanceof Uint8Array);\r\n const blob = data;\r\n const streamBuffer = ByteStream.fromUint8Array(blob);\r\n const realityTile = tile as RealityTile;\r\n return (this._produceGeometry && this._produceGeometry !== \"no\") ? this.loadGeometryFromStream(realityTile, streamBuffer, system) : this.loadGraphicsFromStream(realityTile, streamBuffer, system, isCanceled);\r\n }\r\n\r\n private _getFormat(streamBuffer: ByteStream) {\r\n const position = streamBuffer.curPos;\r\n const format = streamBuffer.readUint32();\r\n streamBuffer.curPos = position;\r\n return format;\r\n\r\n }\r\n\r\n public async loadGeometryFromStream(tile: RealityTile, streamBuffer: ByteStream, system: RenderSystem): Promise<RealityTileContent> {\r\n const format = this._getFormat(streamBuffer);\r\n if (format !== TileFormat.B3dm)\r\n return {};\r\n\r\n const { is3d, yAxisUp, iModel, modelId } = tile.realityRoot;\r\n const reader = B3dmReader.create(streamBuffer, iModel, modelId, is3d, tile.contentRange, system, yAxisUp, tile.isLeaf, tile.center, tile.transformToRoot, undefined, this.getBatchIdMap());\r\n if (reader)\r\n reader.defaultWrapMode = GltfWrapMode.ClampToEdge;\r\n\r\n const geom = reader?.readGltfAndCreateGeometry(tile.tree.iModelTransform);\r\n const xForm = tile.reprojectionTransform;\r\n if (tile.tree.reprojectGeometry && geom?.polyfaces && xForm) {\r\n const polyfaces = geom.polyfaces.map((pf) => pf.cloneTransformed(xForm));\r\n return { geometry: { polyfaces } };\r\n } else {\r\n return { geometry: geom };\r\n }\r\n }\r\n\r\n private async loadGraphicsFromStream(tile: RealityTile, streamBuffer: ByteStream, system: RenderSystem, isCanceled?: () => boolean): Promise<TileContent> {\r\n const format = this._getFormat(streamBuffer);\r\n if (undefined === isCanceled)\r\n isCanceled = () => !tile.isLoading;\r\n\r\n const { is3d, yAxisUp, iModel, modelId } = tile.realityRoot;\r\n let reader: GltfReader | ImdlReader | undefined;\r\n\r\n const ecefTransform = tile.tree.iModel.isGeoLocated ? tile.tree.iModel.getEcefTransform() : Transform.createIdentity();\r\n const tileData: LayerTileData = {\r\n ecefTransform,\r\n range: tile.range,\r\n layerClassifiers: tile.tree.layerHandler?.layerClassifiers,\r\n };\r\n\r\n switch (format) {\r\n case TileFormat.IModel:\r\n reader = ImdlReader.create({\r\n stream: streamBuffer,\r\n iModel,\r\n modelId,\r\n is3d,\r\n system,\r\n isCanceled,\r\n });\r\n break;\r\n case TileFormat.Pnts:\r\n this._containsPointClouds = true;\r\n const res = await readPointCloudTileContent(streamBuffer, iModel, modelId, is3d, tile, system);\r\n let graphic = res.graphic;\r\n const rtcCenter = res.rtcCenter;\r\n if (graphic && (rtcCenter || tile.transformToRoot && !tile.transformToRoot.isIdentity)) {\r\n const transformBranch = new GraphicBranch(true);\r\n transformBranch.add(graphic);\r\n let xform: Transform;\r\n if (!tile.transformToRoot && rtcCenter)\r\n xform = Transform.createTranslation(rtcCenter);\r\n else {\r\n if (rtcCenter)\r\n xform = Transform.createOriginAndMatrix(rtcCenter.plus(tile.transformToRoot!.origin), tile.transformToRoot!.matrix);\r\n else\r\n xform = tile.transformToRoot!;\r\n }\r\n graphic = system.createBranch(transformBranch, xform);\r\n }\r\n\r\n return { graphic };\r\n case TileFormat.B3dm:\r\n reader = B3dmReader.create(streamBuffer, iModel, modelId, is3d, tile.contentRange, system, yAxisUp, tile.isLeaf, tile.center, tile.transformToRoot, isCanceled, this.getBatchIdMap(), this.wantDeduplicatedVertices, tileData);\r\n if (reader) {\r\n // glTF spec defaults wrap mode to \"repeat\" but many reality tiles omit the wrap mode and should not repeat.\r\n // The render system also currently only produces mip-maps for repeating textures, and we don't want mip-maps for reality tile textures.\r\n assert(reader instanceof GltfReader);\r\n reader.defaultWrapMode = GltfWrapMode.ClampToEdge;\r\n }\r\n\r\n break;\r\n case TileFormat.I3dm:\r\n reader = I3dmReader.create(streamBuffer, iModel, modelId, is3d, tile.contentRange, system, yAxisUp, tile.isLeaf, isCanceled, undefined, this.wantDeduplicatedVertices, tileData);\r\n break;\r\n case TileFormat.Gltf:\r\n const tree = tile.tree;\r\n const baseUrl = tree.baseUrl;\r\n const props = createReaderPropsWithBaseUrl(streamBuffer, yAxisUp, baseUrl);\r\n if (props) {\r\n reader = new GltfGraphicsReader(props, {\r\n iModel,\r\n gltf: props.glTF,\r\n contentRange: tile.contentRange,\r\n transform: tile.transformToRoot,\r\n hasChildren: !tile.isLeaf,\r\n pickableOptions: { id: modelId },\r\n idMap: this.getBatchIdMap(),\r\n tileData\r\n });\r\n }\r\n break;\r\n case TileFormat.Cmpt:\r\n const header = new CompositeTileHeader(streamBuffer);\r\n if (!header.isValid)\r\n return {};\r\n\r\n const branch = new GraphicBranch(true);\r\n for (let i = 0; i < header.tileCount; i++) {\r\n const tilePosition = streamBuffer.curPos;\r\n streamBuffer.advance(8); // Skip magic and version.\r\n const tileBytes = streamBuffer.readUint32();\r\n streamBuffer.curPos = tilePosition;\r\n const result = await this.loadGraphicsFromStream(tile, streamBuffer, system, isCanceled);\r\n if (result.graphic)\r\n branch.add(result.graphic);\r\n streamBuffer.curPos = tilePosition + tileBytes;\r\n }\r\n return { graphic: branch.isEmpty ? undefined : system.createBranch(branch, Transform.createIdentity()), isLeaf: tile.isLeaf };\r\n\r\n default:\r\n assert(false, `unknown tile format ${format}`);\r\n break;\r\n }\r\n\r\n let content: TileContent = {};\r\n if (undefined !== reader) {\r\n try {\r\n content = await reader.read();\r\n if (content.containsPointCloud)\r\n this._containsPointClouds = true;\r\n } catch {\r\n // Failure to load should prevent us from trying to load children\r\n content.isLeaf = true;\r\n }\r\n }\r\n\r\n return content;\r\n }\r\n\r\n public get viewFlagOverrides(): ViewFlagOverrides { return defaultViewFlagOverrides; }\r\n\r\n public static computeTileLocationPriority(tile: Tile, viewports: Iterable<Viewport>, location: Transform): number {\r\n // Compute a priority value for tiles that are:\r\n // * Closer to the eye;\r\n // * Closer to the center of attention (center of the screen or zoom target).\r\n // This way, we can load in priority tiles that are more likely to be important.\r\n let center: Point3d | undefined;\r\n let minDistance = 1.0;\r\n\r\n const currentInputState = IModelApp.toolAdmin.currentInputState;\r\n const now = Date.now();\r\n const wheelEventRelevanceTimeout = 1000; // Wheel events older than this value will not be considered\r\n\r\n for (const viewport of viewports) {\r\n center = center ?? location.multiplyPoint3d(tile.center, scratchTileCenterWorld);\r\n const npc = viewport.worldToNpc(center, scratchTileCenterView);\r\n\r\n let focusPoint = new Point2d(0.5, 0.5);\r\n\r\n if (currentInputState.viewport === viewport && viewport instanceof ScreenViewport) {\r\n // Try to get a better target point from the last zoom target\r\n const { lastWheelEvent } = currentInputState;\r\n\r\n if (lastWheelEvent !== undefined && now - lastWheelEvent.time < wheelEventRelevanceTimeout) {\r\n const focusPointCandidate = Point2d.fromJSON(viewport.worldToNpc(lastWheelEvent.point));\r\n\r\n if (focusPointCandidate.x > 0 && focusPointCandidate.x < 1 && focusPointCandidate.y > 0 && focusPointCandidate.y < 1)\r\n focusPoint = focusPointCandidate;\r\n }\r\n }\r\n\r\n // NB: In NPC coords, 0 = far plane, 1 = near plane.\r\n const distanceToEye = 1.0 - npc.z;\r\n const distanceToCenter = Math.min(npc.distanceXY(focusPoint) / 0.707, 1.0); // Math.sqrt(0.5) = 0.707\r\n\r\n // Distance is a mix of the two previously computed values, still in range [0; 1]\r\n // We use this factor to determine how much the distance to the center of attention is important compared to distance to the eye\r\n const distanceToCenterWeight = 0.3;\r\n const distance = distanceToEye * (1.0 - distanceToCenterWeight) + distanceToCenter * distanceToCenterWeight;\r\n\r\n minDistance = Math.min(distance, minDistance);\r\n }\r\n\r\n return minDistance;\r\n }\r\n}\r\n\r\n/** Exposed strictly for testing purposes.\r\n* @internal\r\n*/\r\nexport function createReaderPropsWithBaseUrl(streamBuffer: ByteStream, yAxisUp: boolean, baseUrl?: string): GltfReaderProps | undefined {\r\n let url: URL | undefined;\r\n if (baseUrl) {\r\n try {\r\n url = new URL(baseUrl);\r\n } catch {\r\n url = undefined;\r\n }\r\n }\r\n return GltfReaderProps.create(streamBuffer.nextBytes(streamBuffer.arrayBuffer.byteLength), yAxisUp, url);\r\n}"]}
|
|
1
|
+
{"version":3,"file":"RealityTileLoader.js","sourceRoot":"","sources":["../../../../src/internal/tile/RealityTileLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreeDTileFormatInterpreter.js","sourceRoot":"","sources":["../../../../src/internal/tile/ThreeDTileFormatInterpreter.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { JsonUtils, Logger, LoggingMetaData, RealityDataStatus } from \"@itwin/core-bentley\";\r\nimport { Cartographic, EcefLocation } from \"@itwin/core-common\";\r\nimport { Matrix3d, Point3d, Range3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { FrontendLoggerCategory } from \"../../common/FrontendLoggerCategory\";\r\nimport { PublisherProductInfo, RealityDataError, SpatialLocationAndExtents } from \"../../RealityDataSource\";\r\n\r\nconst loggerCategory: string = FrontendLoggerCategory.RealityData;\r\n/** This interface provides information about 3dTile files for this reality data\r\n * Currently only used for debbugging\r\n */\r\nexport interface ThreeDTileFileInfo {\r\n /** the number of children at the root of this reality data */\r\n rootChildren?: number;\r\n}\r\n/**\r\n * This class provide methods used to interpret Cesium 3dTile format\r\n */\r\nexport class ThreeDTileFormatInterpreter {\r\n /** Gets reality data spatial location and extents\r\n * @param json root document file in json format\r\n * @returns spatial location and volume of interest, in meters, centered around `spatial location`\r\n * @throws [[RealityDataError]] if source is invalid or cannot be read\r\n */\r\n public static getSpatialLocationAndExtents(json: any): SpatialLocationAndExtents {\r\n const worldRange = new Range3d();\r\n let isGeolocated = true;\r\n let location: Cartographic | EcefLocation;\r\n Logger.logTrace(loggerCategory, \"RealityData getSpatialLocationAndExtents\");\r\n if (undefined === json?.root) {\r\n Logger.logWarning(loggerCategory, `Error getSpatialLocationAndExtents - no root in json`);\r\n // return first 1024 char from the json\r\n const getMetaData: LoggingMetaData = () => {\r\n return {json: JSON.stringify(json).substring(0,1024)};\r\n };\r\n const error = new RealityDataError(RealityDataStatus.InvalidData, \"Invalid or unknown data - no root in json\", getMetaData);\r\n throw error;\r\n }\r\n try {\r\n if (undefined !== json?.root?.boundingVolume?.region) {\r\n const region = JsonUtils.asArray(json.root.boundingVolume.region);\r\n\r\n Logger.logTrace(loggerCategory, \"RealityData json.root.boundingVolume.region\", () => ({ ...region }));\r\n if (undefined === region) {\r\n Logger.logError(loggerCategory, `Error getSpatialLocationAndExtents - region undefined`);\r\n throw new TypeError(\"Unable to determine GeoLocation - no root Transform or Region on root.\");\r\n }\r\n const ecefLow = (Cartographic.fromRadians({ longitude: region[0], latitude: region[1], height: region[4] })).toEcef();\r\n const ecefHigh = (Cartographic.fromRadians({ longitude: region[2], latitude: region[3], height: region[5] })).toEcef();\r\n const ecefRange = Range3d.create(ecefLow, ecefHigh);\r\n const cartoCenter = Cartographic.fromRadians({ longitude: (region[0] + region[2]) / 2.0, latitude: (region[1] + region[3]) / 2.0, height: (region[4] + region[5]) / 2.0 });\r\n location = cartoCenter;\r\n const ecefLocation = EcefLocation.createFromCartographicOrigin(cartoCenter);\r\n // iModelDb.setEcefLocation(ecefLocation);\r\n const ecefToWorld = ecefLocation.getTransform().inverse()!;\r\n worldRange.extendRange(Range3d.fromJSON(ecefToWorld.multiplyRange(ecefRange)));\r\n } else {\r\n let worldToEcefTransform = ThreeDTileFormatInterpreter.transformFromJson(json.root.transform);\r\n\r\n Logger.logTrace(loggerCategory, \"RealityData json.root.transform\", () => ({ ...worldToEcefTransform }));\r\n const range = ThreeDTileFormatInterpreter.rangeFromBoundingVolume(json.root.boundingVolume)!;\r\n if (undefined === worldToEcefTransform)\r\n worldToEcefTransform = Transform.createIdentity();\r\n\r\n const ecefRange = worldToEcefTransform.multiplyRange(range); // range in model -> range in ecef\r\n const ecefCenter = worldToEcefTransform.multiplyPoint3d(range.center); // range center in model -> range center in ecef\r\n const cartoCenter = Cartographic.fromEcef(ecefCenter); // ecef center to cartographic center\r\n const isNotNearEarthSurface = cartoCenter && (cartoCenter.height < -5000); // 5 km under ground!\r\n const earthCenterToRangeCenterRayLenght = range.center.magnitude();\r\n\r\n if (worldToEcefTransform.matrix.isIdentity && (earthCenterToRangeCenterRayLenght < 1.0E5 || isNotNearEarthSurface)) {\r\n isGeolocated = false;\r\n worldRange.extendRange(Range3d.fromJSON(ecefRange));\r\n const centerOfEarth = new EcefLocation({ origin: { x: 0.0, y: 0.0, z: 0.0 }, orientation: { yaw: 0.0, pitch: 0.0, roll: 0.0 } });\r\n location = centerOfEarth;\r\n Logger.logTrace(loggerCategory, \"RealityData NOT Geolocated\", () => ({ ...location }));\r\n } else {\r\n let ecefLocation = EcefLocation.createFromTransform(worldToEcefTransform);\r\n // Fix Bug 445630: [RDV][Regression] Orientation of georeferenced Reality Mesh is wrong.\r\n // Use json.root.transform only if defined and not identity -> otherwise will use a transform computed from cartographic center.\r\n if (worldToEcefTransform.matrix.isIdentity) {\r\n // For georeferenced Reality Meshes, its origin is translated to model origin (0,0,0).\r\n // Apply range center to translate it back to its original position.\r\n const worldCenter = !worldToEcefTransform.matrix.isIdentity ? range.center : undefined;\r\n if (cartoCenter)\r\n ecefLocation = EcefLocation.createFromCartographicOrigin(cartoCenter, worldCenter);\r\n }\r\n\r\n location = ecefLocation;\r\n Logger.logTrace(loggerCategory, \"RealityData is worldToEcefTransform.matrix.isIdentity\", () => ({ isIdentity: worldToEcefTransform.matrix.isIdentity }));\r\n // iModelDb.setEcefLocation(ecefLocation);\r\n const ecefToWorld = ecefLocation.getTransform().inverse()!;\r\n worldRange.extendRange(Range3d.fromJSON(ecefToWorld.multiplyRange(ecefRange)));\r\n Logger.logTrace(loggerCategory, \"RealityData ecefToWorld\", () => ({ ...ecefToWorld }));\r\n }\r\n }\r\n } catch {\r\n Logger.logWarning(loggerCategory, `Error getSpatialLocationAndExtents - cannot interpret json`);\r\n // return first 1024 char from the json\r\n const getMetaData: LoggingMetaData = () => {\r\n return {json: JSON.stringify(json).substring(0,1024)};\r\n };\r\n const error = new RealityDataError(RealityDataStatus.InvalidData, \"Invalid or unknown data\", getMetaData);\r\n throw error;\r\n }\r\n\r\n const spatialLocation: SpatialLocationAndExtents = { location, worldRange, isGeolocated };\r\n return spatialLocation;\r\n }\r\n /** Gets information to identify the product and engine that create this reality data\r\n * Will return undefined if cannot be resolved\r\n * @param rootDocjson root document file in json format\r\n * @returns information to identify the product and engine that create this reality data\r\n */\r\n public static getPublisherProductInfo(rootDocjson: any): PublisherProductInfo {\r\n const info: PublisherProductInfo = {product: \"\", engine: \"\", version: \"\"};\r\n if (rootDocjson && rootDocjson.root) {\r\n if (rootDocjson.root.SMPublisherInfo) {\r\n info.product = rootDocjson.root.SMPublisherInfo.Product ? rootDocjson.root.SMPublisherInfo.Product : \"\";\r\n info.engine = rootDocjson.root.SMPublisherInfo.Publisher ? rootDocjson.root.SMPublisherInfo.Publisher : \"\";\r\n info.version = rootDocjson.root.SMPublisherInfo[\"Publisher Version\"] ? rootDocjson.root.SMPublisherInfo[\"Publisher Version\"] : \"\" ;\r\n }\r\n }\r\n return info;\r\n }\r\n /** Gets information about 3dTile file for this reality data\r\n * Will return undefined if cannot be resolved\r\n * @param rootDocjson root document file in json format\r\n * @returns information about 3dTile file for this reality data\r\n */\r\n public static getFileInfo(rootDocjson: any): ThreeDTileFileInfo {\r\n const info: ThreeDTileFileInfo = {\r\n rootChildren: rootDocjson?.root?.children?.length ?? 0,\r\n };\r\n return info;\r\n }\r\n /** Convert a boundingVolume into a range\r\n * @param boundingVolume the bounding volume to convert\r\n * @returns the range or undefined if cannot convert\r\n */\r\n public static rangeFromBoundingVolume(boundingVolume: any): Range3d | undefined {\r\n if (undefined === boundingVolume)\r\n return undefined;\r\n if (Array.isArray(boundingVolume.box)) {\r\n const box: number[] = boundingVolume.box;\r\n const center = Point3d.create(box[0], box[1], box[2]);\r\n const ux = Vector3d.create(box[3], box[4], box[5]);\r\n const uy = Vector3d.create(box[6], box[7], box[8]);\r\n const uz = Vector3d.create(box[9], box[10], box[11]);\r\n const corners: Point3d[] = [];\r\n for (let j = 0; j < 2; j++) {\r\n for (let k = 0; k < 2; k++) {\r\n for (let l = 0; l < 2; l++) {\r\n corners.push(center.plus3Scaled(ux, (j ? -1.0 : 1.0), uy, (k ? -1.0 : 1.0), uz, (l ? -1.0 : 1.0)));\r\n }\r\n }\r\n }\r\n return Range3d.createArray(corners);\r\n } else if (Array.isArray(boundingVolume.sphere)) {\r\n const sphere: number[] = boundingVolume.sphere;\r\n const center = Point3d.create(sphere[0], sphere[1], sphere[2]);\r\n const radius = sphere[3];\r\n return Range3d.createXYZXYZ(center.x - radius, center.y - radius, center.z - radius, center.x + radius, center.y + radius, center.z + radius);\r\n }\r\n return undefined;\r\n }\r\n /** Convert a boundingVolume into a range\r\n */\r\n public static maximumSizeFromGeometricTolerance(range: Range3d, geometricError: number): number {\r\n const minToleranceRatio = .5; // Nominally the error on screen size of a tile. Increasing generally increases performance (fewer draw calls) at expense of higher load times.\r\n return minToleranceRatio * range.diagonal().magnitude() / geometricError;\r\n }\r\n /** Convert a boundingVolume into a range\r\n */\r\n public static transformFromJson(jTrans: number[] | undefined): Transform | undefined {\r\n return (jTrans === undefined) ? undefined : Transform.createOriginAndMatrix(Point3d.create(jTrans[12], jTrans[13], jTrans[14]), Matrix3d.createRowValues(jTrans[0], jTrans[4], jTrans[8], jTrans[1], jTrans[5], jTrans[9], jTrans[2], jTrans[6], jTrans[10]));\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ThreeDTileFormatInterpreter.js","sourceRoot":"","sources":["../../../../src/internal/tile/ThreeDTileFormatInterpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileUserSet.js","sourceRoot":"","sources":["../../../../src/internal/tile/TileUserSet.ts"],"names":[],"mappings":"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"
|
|
1
|
+
{"version":3,"file":"TileUserSet.js","sourceRoot":"","sources":["../../../../src/internal/tile/TileUserSet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewFlagOverrides.js","sourceRoot":"","sources":["../../../../src/internal/tile/ViewFlagOverrides.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AAOH,wEA2BC;AAhCD,oDAA8E;AAE9E;;GAEG;AACH,SAAgB,8BAA8B,CAAC,OAA0F;IACvI,MAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,SAAS,GAAG,uBAAS,CAAC,QAAQ,CAAC;QACnC,UAAU,EAAE,wBAAU,CAAC,WAAW;QAClC,cAAc,EAAE,QAAQ;QACxB,cAAc,EAAE,QAAQ;QACxB,YAAY,EAAE,QAAQ;QACtB,OAAO,EAAE,OAAO,CAAC,UAAU;QAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,sBAAsB,EAAE,IAAI;QAC5B,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAsB,EAAE,GAAG,SAAS,EAAE,CAAC;IACjD,IAAI,SAAS,KAAK,OAAO,CAAC,UAAU;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,IAAI,SAAS,KAAK,OAAO,CAAC,OAAO;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAE3B,IAAI,SAAS,KAAK,OAAO,CAAC,QAAQ;QAChC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAE5B,IAAI,SAAS,KAAK,OAAO,CAAC,QAAQ;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IAEnC,OAAO,IAAI,CAAC;AACd,CAAC"
|
|
1
|
+
{"version":3,"file":"ViewFlagOverrides.js","sourceRoot":"","sources":["../../../../src/internal/tile/ViewFlagOverrides.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AAOH,wEA2BC;AAhCD,oDAA8E;AAE9E;;GAEG;AACH,SAAgB,8BAA8B,CAAC,OAA0F;IACvI,MAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,SAAS,GAAG,uBAAS,CAAC,QAAQ,CAAC;QACnC,UAAU,EAAE,wBAAU,CAAC,WAAW;QAClC,cAAc,EAAE,QAAQ;QACxB,cAAc,EAAE,QAAQ;QACxB,YAAY,EAAE,QAAQ;QACtB,OAAO,EAAE,OAAO,CAAC,UAAU;QAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,sBAAsB,EAAE,IAAI;QAC5B,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAsB,EAAE,GAAG,SAAS,EAAE,CAAC;IACjD,IAAI,SAAS,KAAK,OAAO,CAAC,UAAU;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,IAAI,SAAS,KAAK,OAAO,CAAC,OAAO;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAE3B,IAAI,SAAS,KAAK,OAAO,CAAC,QAAQ;QAChC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAE5B,IAAI,SAAS,KAAK,OAAO,CAAC,QAAQ;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IAEnC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGISTileMap.js","sourceRoot":"","sources":["../../../../../src/internal/tile/map/ArcGISTileMap.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert, compareStrings, Dictionary, Logger } from \"@itwin/core-bentley\";\r\nimport { QuadId } from \"../../../tile/internal\";\r\nimport { ImageMapLayerSettings } from \"@itwin/core-common\";\r\nconst loggerCategory = \"ArcGISTileMap\";\r\n\r\nexport type FetchFunction = (url: URL, options?: RequestInit) => Promise<Response>;\r\n\r\nconst nonVisibleChildren = [false, false, false, false];\r\n\r\nexport class ArcGISTileMap {\r\n\r\n // For similar reasons as the corner offset, we need to keep the tile map size not too big to avoid covering multiple bundles.\r\n public tileMapRequestSize = 8;\r\n private static maxLod = 30;\r\n\r\n // We want to query a tile map that covers an area all around the top-lef missing tile, we offset the top-left corner position of the tilemap.\r\n // We used to create a 32x32 tiles area around the missing tiles, but this was causing the tilemap top-left position\r\n // to fall outside the dataset bundle of the remote server, thus giving invalid response.\r\n public get tileMapOffset() {return (this.tileMapRequestSize * 0.5);}\r\n\r\n public fallbackTileMapRequestSize = 2;\r\n\r\n private _callQueues: Array<Promise<boolean[]>> | undefined;\r\n private _tilesCache = new Dictionary<string, boolean>((lhs, rhs) => compareStrings(lhs, rhs));\r\n private _restBaseUrl: string;\r\n private _fetchFunc: FetchFunction;\r\n private _settings: ImageMapLayerSettings;\r\n\r\n constructor(restBaseUrl: string, settings: ImageMapLayerSettings, fetchFunc: FetchFunction ){\r\n this._restBaseUrl = restBaseUrl;\r\n this._fetchFunc = fetchFunc;\r\n this._settings = settings;\r\n this._callQueues = new Array<Promise<boolean[]>>(ArcGISTileMap.maxLod).fill(Promise.resolve<boolean[]>(nonVisibleChildren));\r\n\r\n }\r\n protected async fetchTileMapFromServer(level: number, row: number, column: number, width: number, height: number): Promise<any> {\r\n const tmpUrl = `${this._restBaseUrl}/tilemap/${level}/${row}/${column}/${width}/${height}?f=json`;\r\n const response = await this._fetchFunc(new URL(tmpUrl));\r\n return response.json();\r\n }\r\n\r\n protected getAvailableTilesFromCache(tiles: QuadId[]): {allTilesFound: boolean, available: boolean[]} {\r\n let allTilesFound = true;\r\n\r\n // Check children visibility from cache\r\n const available = tiles.map((tileId) => {\r\n const avail = this._tilesCache.get(tileId.contentId);\r\n if (undefined === avail) {\r\n allTilesFound = false;\r\n }\r\n return avail ?? false;\r\n });\r\n\r\n return {allTilesFound, available};\r\n }\r\n\r\n public async getChildrenAvailability(childIds: QuadId[]): Promise<boolean[]> {\r\n if (!childIds.length)\r\n return [];\r\n\r\n // Before entering the queue for a backend request,\r\n // let check if cache doesn't already contain what we are looking for.\r\n const cacheInfo = this.getAvailableTilesFromCache(childIds);\r\n if (cacheInfo.allTilesFound) {\r\n\r\n if (cacheInfo.available.includes(false))\r\n return cacheInfo.available;\r\n\r\n return cacheInfo.available;\r\n }\r\n\r\n // If we never encountered this tile level before, then a tilemap request must be made to get tiles visibility.\r\n // However, we dont want several overlapping large tilemap request being made simultaneously for tiles on the same level.\r\n // To avoid this from happening, we 'serialize' async calls so that we wait until the first tilemap request has completed\r\n // before making another one.\r\n const childLevel = childIds[0].level+1;\r\n if (this._callQueues && childLevel < this._callQueues.length ) {\r\n const res = this._callQueues[childLevel].then(async () => {\r\n return this.getChildrenAvailabilityFromServer(childIds);\r\n });\r\n this._callQueues[childLevel] = res.catch(() => nonVisibleChildren);\r\n return res;\r\n } else {\r\n // We should not be in this case, probably because server info is missing LODs in the capabilities?!\r\n Logger.logWarning(loggerCategory, `Skipped request queue for child level ${childLevel}`);\r\n return this.getChildrenAvailabilityFromServer(childIds);\r\n }\r\n }\r\n\r\n private isCacheMissingTile(level: number, startRow: number, startColumn: number, endRow: number, endColumn: number) {\r\n let missingTileFound = false;\r\n\r\n if (endRow <= startRow || endColumn <= startColumn)\r\n return missingTileFound;\r\n\r\n for (let j = startColumn; j <= endColumn && !missingTileFound; j++) {\r\n for (let i = startRow; i<=endRow && !missingTileFound; i++) {\r\n if (j >= 0 && i >= 0) {\r\n const contentId = QuadId.getTileContentId(level, j, i);\r\n if (this._tilesCache.get(contentId) === undefined) {\r\n missingTileFound = true;\r\n }\r\n }\r\n }\r\n }\r\n return missingTileFound;\r\n }\r\n\r\n private collectTilesMissingFromCache( missingQueryTiles: QuadId[]) {\r\n const missingTiles: QuadId[] = [];\r\n for (const quad of missingQueryTiles) {\r\n const contentId = QuadId.getTileContentId(quad.level, quad.column, quad.row);\r\n const avail = this._tilesCache.get(contentId);\r\n if (avail === undefined)\r\n missingTiles.push(quad);\r\n\r\n }\r\n return missingTiles;\r\n }\r\n\r\n // Query tiles are tiles that we need to check availability\r\n // The array is assumed to be in in row major orientation, i.e.: [TileRow0Col0, TileRow0Col1, TileRow1Col0, TileRow1Col1,]\r\n public async fetchAndReadTilemap(queryTiles: QuadId[], reqWidth: number, reqHeight: number) {\r\n let available = queryTiles.map(()=>false);\r\n if (queryTiles.length === 0 ) {\r\n return available;\r\n }\r\n\r\n // console.log(`queryTiles: ${queryTiles.map((quad) => quad.contentId)}`);\r\n\r\n // Find the top-left most corner of the extent covering the query tiles.\r\n const getTopLeftCorner = (tiles: QuadId[]): {row: number|undefined, column: number|undefined} => {\r\n let row: number|undefined;\r\n let column: number|undefined;\r\n for (const quad of tiles) {\r\n if (row === undefined || quad.row <= row )\r\n row = quad.row;\r\n if (column === undefined || quad.column <= column) {\r\n column = quad.column ;\r\n }\r\n }\r\n return {row, column};\r\n };\r\n\r\n const level = queryTiles[0].level; // We assume all tiles to be on the same level\r\n\r\n let missingQueryTiles = this.collectTilesMissingFromCache(queryTiles);\r\n let gotAdjusted = false;\r\n let nbAttempt = 0; // Safety: We should never be making more requests than the number of queries tiles (otherwise something is wrong)\r\n while (missingQueryTiles.length > 0\r\n && (nbAttempt++ < queryTiles.length) ) {\r\n const tileMapTopLeft = getTopLeftCorner(missingQueryTiles);\r\n if (tileMapTopLeft.row === undefined || tileMapTopLeft.column === undefined)\r\n return available; // Should not occurs since missingQueryTiles is non empty\r\n\r\n let tileMapRow = tileMapTopLeft.row;\r\n let tileMapColumn = tileMapTopLeft.column;\r\n\r\n const logLocationOffset = (newRow: number, newCol: number) => `[Row:${newRow !== tileMapTopLeft.row ? `${tileMapTopLeft.row}->${newRow}` : `${newRow}`} Column:${newCol !== tileMapTopLeft.column ? `${tileMapTopLeft.column}->${newCol}` : `${newCol}`}]`;\r\n\r\n // Position the top-left missing tile in the middle of the tilemap; minimizing requests if sibling tiles are requested right after\r\n // If previous response got adjusted, don't try to optimize tile map location\r\n if (queryTiles.length < this.tileMapRequestSize && !gotAdjusted) {\r\n const tileMapOffset = this.tileMapOffset - Math.floor(Math.sqrt(queryTiles.length) * 0.5);\r\n const missingTileBufferSize = Math.ceil(tileMapOffset * 0.5);\r\n if (this.isCacheMissingTile(level, tileMapRow-missingTileBufferSize, tileMapColumn-missingTileBufferSize, tileMapRow-1, tileMapColumn-1)) {\r\n tileMapRow = Math.max(tileMapRow - tileMapOffset, 0);\r\n tileMapColumn = Math.max(tileMapColumn - tileMapOffset, 0);\r\n Logger.logTrace(loggerCategory, `Offset applied to location in top-left direction: ${logLocationOffset(tileMapRow, tileMapColumn)}`);\r\n } else {\r\n const leftMissingTiles = this.isCacheMissingTile(level, tileMapRow, tileMapColumn-missingTileBufferSize, tileMapRow+missingTileBufferSize, tileMapColumn-1);\r\n const topMissingTiles = this.isCacheMissingTile(level, tileMapRow-missingTileBufferSize, tileMapColumn, tileMapRow-1, tileMapColumn+missingTileBufferSize);\r\n if (leftMissingTiles && topMissingTiles) {\r\n tileMapRow = Math.max(tileMapRow - tileMapOffset, 0);\r\n tileMapColumn = Math.max(tileMapColumn- tileMapOffset, 0);\r\n Logger.logTrace(loggerCategory, `Offset applied to location in top-left direction. ${logLocationOffset(tileMapRow, tileMapColumn)}`);\r\n } else if (leftMissingTiles) {\r\n tileMapColumn = Math.max(tileMapColumn - tileMapOffset, 0);\r\n Logger.logTrace(loggerCategory, `Offset applied to location in left direction. ${logLocationOffset(tileMapRow, tileMapColumn)}`);\r\n } else if (topMissingTiles) {\r\n tileMapRow = Math.max(tileMapRow - tileMapOffset, 0);\r\n Logger.logTrace(loggerCategory, `Offset applied to location in top direction: ${logLocationOffset(tileMapRow, tileMapColumn)}`);\r\n } else\r\n Logger.logTrace(loggerCategory, `No offset applied to location: ${logLocationOffset(tileMapRow, tileMapColumn)}`);\r\n }\r\n }\r\n\r\n const json = await this.fetchTileMapFromServer(level, tileMapRow, tileMapColumn, reqWidth, reqHeight);\r\n let tileMapWidth = reqWidth;\r\n let tileMapHeight = reqHeight;\r\n if (Array.isArray(json.data)) {\r\n // The response width and height might be different than the requested dimensions.\r\n // Ref: https://developers.arcgis.com/rest/services-reference/enterprise/tile-map.htm\r\n if (json.adjusted) {\r\n gotAdjusted = true;\r\n // If tilemap size got adjusted, I'm expecting to get adjusted size...\r\n // otherwise there is something really odd with this server.\r\n assert(json.location?.width !== undefined && json.location?.height !== undefined);\r\n if (json.location?.width !== undefined && json.location?.height !== undefined) {\r\n tileMapWidth = json.location?.width;\r\n tileMapHeight = json.location?.height;\r\n }\r\n }\r\n // Build cache from tile map response\r\n for (let j = 0; j < tileMapHeight; j++) {\r\n for (let i = 0; i < tileMapWidth; i++) {\r\n const avail = json.data[(j*tileMapWidth)+i] !== 0;\r\n const curColumn = tileMapColumn + i;\r\n const curRow = tileMapRow + j;\r\n this._tilesCache.set(QuadId.getTileContentId(level, curColumn, curRow), avail);\r\n }\r\n }\r\n\r\n // Collect tile missing from the cache\r\n // There are 2 reasons why the tile map response would not cover all the missing tiles:\r\n // 1. The requested tile map size is not large enough to cover all tiles\r\n // 2. The tile map size has been adjusted by the server (i.e. data bundle limits)\r\n missingQueryTiles = this.collectTilesMissingFromCache(missingQueryTiles);\r\n if (missingQueryTiles.length > 0)\r\n Logger.logTrace(loggerCategory, `There are ${missingQueryTiles.length} missing tiles from previous request`);\r\n } else {\r\n missingQueryTiles = [];\r\n // Mark all tilemap tiles to non-available in the cache too.\r\n for (let j = 0; j < tileMapWidth; j++) {\r\n for (let i = 0; i < tileMapHeight; i++) {\r\n this._tilesCache.set(QuadId.getTileContentId(level, tileMapColumn + i, tileMapRow + j), false);\r\n }\r\n }\r\n }\r\n } // end loop missing tiles\r\n\r\n if (nbAttempt > queryTiles.length) {\r\n Logger.logError(loggerCategory, `Request loop was terminated; unable to get missing tiles; `);\r\n }\r\n // Create final output array from cache\r\n available = queryTiles.map((quad)=>this._tilesCache.get(quad.contentId) ?? false);\r\n\r\n if (available.includes(false))\r\n return available;\r\n\r\n return available;\r\n }\r\n\r\n protected async getChildrenAvailabilityFromServer(childIds: QuadId[]): Promise<boolean[]> {\r\n\r\n let available;\r\n try {\r\n available = await this.fetchAndReadTilemap(childIds, this.tileMapRequestSize, this.tileMapRequestSize);\r\n } catch (err) {\r\n // if any error occurs, we assume tiles not to be visible\r\n Logger.logError(loggerCategory, `Error while fetching tile map data : ${err}`);\r\n available = childIds.map(()=>false);\r\n }\r\n\r\n return available;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ArcGISTileMap.js","sourceRoot":"","sources":["../../../../../src/internal/tile/map/ArcGISTileMap.ts"],"names":[],"mappings":"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"}
|