@itwin/core-frontend 4.0.0-dev.4 → 4.0.0-dev.40
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 +67 -37
- package/lib/cjs/AccuDraw.js +1 -1
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AccuSnap.js +3 -3
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/BriefcaseConnection.js +9 -11
- package/lib/cjs/BriefcaseConnection.js.map +1 -1
- package/lib/cjs/DisplayStyleState.js +8 -12
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.js +4 -6
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
- package/lib/cjs/ElementLocateManager.js +2 -0
- package/lib/cjs/ElementLocateManager.js.map +1 -1
- package/lib/cjs/EnvironmentDecorations.js +2 -3
- package/lib/cjs/EnvironmentDecorations.js.map +1 -1
- package/lib/cjs/FlashSettings.js +3 -4
- package/lib/cjs/FlashSettings.js.map +1 -1
- package/lib/cjs/GeoServices.d.ts +57 -5
- package/lib/cjs/GeoServices.d.ts.map +1 -1
- package/lib/cjs/GeoServices.js +180 -155
- package/lib/cjs/GeoServices.js.map +1 -1
- package/lib/cjs/IModelApp.d.ts +1 -3
- package/lib/cjs/IModelApp.d.ts.map +1 -1
- package/lib/cjs/IModelApp.js +20 -24
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.d.ts +1 -1
- package/lib/cjs/IModelConnection.js +2 -2
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IpcApp.js +1 -1
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/LocalhostIpcApp.js +3 -4
- package/lib/cjs/LocalhostIpcApp.js.map +1 -1
- package/lib/cjs/ModelState.js +2 -3
- package/lib/cjs/ModelState.js.map +1 -1
- package/lib/cjs/NativeApp.d.ts +1 -1
- package/lib/cjs/NativeApp.js +4 -7
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/NoRenderApp.d.ts +11 -4
- package/lib/cjs/NoRenderApp.d.ts.map +1 -1
- package/lib/cjs/NoRenderApp.js +14 -8
- package/lib/cjs/NoRenderApp.js.map +1 -1
- package/lib/cjs/PlanarClipMaskState.js +1 -1
- package/lib/cjs/PlanarClipMaskState.js.map +1 -1
- package/lib/cjs/RealityDataSourceContextShareImpl.js +2 -4
- package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/cjs/SelectionSet.d.ts +0 -1
- package/lib/cjs/SelectionSet.d.ts.map +1 -1
- package/lib/cjs/SelectionSet.js +0 -1
- package/lib/cjs/SelectionSet.js.map +1 -1
- package/lib/cjs/SheetViewState.js +15 -23
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/Tiles.js +2 -2
- package/lib/cjs/Tiles.js.map +1 -1
- package/lib/cjs/ViewContext.js +1 -1
- package/lib/cjs/ViewContext.js.map +1 -1
- package/lib/cjs/ViewCreator2d.js +4 -5
- package/lib/cjs/ViewCreator2d.js.map +1 -1
- package/lib/cjs/ViewCreator3d.js +5 -5
- package/lib/cjs/ViewCreator3d.js.map +1 -1
- package/lib/cjs/ViewRect.d.ts +1 -1
- package/lib/cjs/ViewRect.d.ts.map +1 -1
- package/lib/cjs/ViewRect.js +1 -1
- package/lib/cjs/ViewRect.js.map +1 -1
- package/lib/cjs/ViewState.js +17 -24
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/Viewport.js +23 -33
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/extension/ExtensionImpl.js +1 -1
- package/lib/cjs/extension/ExtensionImpl.js.map +1 -1
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +2 -3
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js +7 -9
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/render/FeatureSymbology.js +1 -2
- package/lib/cjs/render/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/GraphicBuilder.js +7 -9
- package/lib/cjs/render/GraphicBuilder.js.map +1 -1
- package/lib/cjs/render/MockRender.js +1 -2
- package/lib/cjs/render/MockRender.js.map +1 -1
- package/lib/cjs/render/ParticleCollectionBuilder.js +2 -3
- package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/cjs/render/RealityMeshParams.d.ts +2 -2
- package/lib/cjs/render/RealityMeshParams.d.ts.map +1 -1
- package/lib/cjs/render/RealityMeshParams.js +8 -11
- package/lib/cjs/render/RealityMeshParams.js.map +1 -1
- package/lib/cjs/render/RenderPlan.js +1 -1
- package/lib/cjs/render/RenderPlan.js.map +1 -1
- package/lib/cjs/render/RenderSystem.js +1 -2
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/VisibleFeature.js +2 -4
- package/lib/cjs/render/VisibleFeature.js.map +1 -1
- package/lib/cjs/render/primitives/AuxChannelTable.js +6 -9
- package/lib/cjs/render/primitives/AuxChannelTable.js.map +1 -1
- package/lib/cjs/render/primitives/EdgeParams.js +6 -7
- package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
- package/lib/cjs/render/primitives/PolylineParams.js +2 -3
- package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
- package/lib/cjs/render/primitives/VertexKey.js +1 -1
- package/lib/cjs/render/primitives/VertexKey.js.map +1 -1
- package/lib/cjs/render/primitives/VertexTable.js +1 -1
- package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
- package/lib/cjs/render/primitives/VertexTableSplitter.js +6 -8
- package/lib/cjs/render/primitives/VertexTableSplitter.js.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +9 -11
- package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +3 -5
- package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
- package/lib/cjs/render/primitives/mesh/MeshBuilder.js +1 -1
- package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
- package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +2 -3
- package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
- package/lib/cjs/render/webgl/BranchState.js +9 -10
- package/lib/cjs/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/render/webgl/EDL.js +17 -21
- package/lib/cjs/render/webgl/EDL.js.map +1 -1
- package/lib/cjs/render/webgl/FeatureOverrides.js +2 -2
- package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/cjs/render/webgl/Graphic.js +3 -5
- package/lib/cjs/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.js +1 -1
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/InstancedGeometry.js +2 -3
- package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/Mesh.js +7 -10
- package/lib/cjs/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/render/webgl/MeshData.js +1 -2
- package/lib/cjs/render/webgl/MeshData.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarClassifier.js +10 -15
- package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.js +5 -8
- package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/RealityModelUniforms.js +3 -4
- package/lib/cjs/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/RenderCommands.js +7 -8
- package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/render/webgl/SceneCompositor.js +7 -9
- package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/render/webgl/ShaderBuilder.js +1 -2
- package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/render/webgl/SolarShadowMap.d.ts.map +1 -1
- package/lib/cjs/render/webgl/SolarShadowMap.js +1 -11
- package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/cjs/render/webgl/SurfaceGeometry.js +1 -1
- package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/System.d.ts +0 -1
- package/lib/cjs/render/webgl/System.d.ts.map +1 -1
- package/lib/cjs/render/webgl/System.js +12 -17
- package/lib/cjs/render/webgl/System.js.map +1 -1
- package/lib/cjs/render/webgl/Target.js +9 -14
- package/lib/cjs/render/webgl/Target.js.map +1 -1
- package/lib/cjs/render/webgl/TargetGraphics.js +1 -2
- package/lib/cjs/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/cjs/render/webgl/Texture.js +1 -2
- package/lib/cjs/render/webgl/Texture.js.map +1 -1
- package/lib/cjs/render/webgl/ThematicSensors.js +2 -4
- package/lib/cjs/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/cjs/render/webgl/VisibleTileFeatures.js +1 -2
- package/lib/cjs/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Animation.js +6 -9
- package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +1 -2
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Instancing.js +4 -5
- package/lib/cjs/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.js +2 -4
- package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Surface.js +1 -2
- package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Thematic.js +1 -2
- package/lib/cjs/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/cjs/request/Request.d.ts.map +1 -1
- package/lib/cjs/request/Request.js.map +1 -1
- package/lib/cjs/tile/ClassifierTileTree.js +3 -3
- package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/tile/GltfReader.js +62 -76
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/IModelTile.js +2 -3
- package/lib/cjs/tile/IModelTile.js.map +1 -1
- package/lib/cjs/tile/IModelTileRequestChannels.js +6 -11
- package/lib/cjs/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/cjs/tile/IModelTileTree.js +5 -9
- package/lib/cjs/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.js +13 -17
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/OrbitGtTileTree.js +2 -2
- package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/cjs/tile/PntsReader.js +4 -5
- package/lib/cjs/tile/PntsReader.js.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.js +22 -32
- package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityModelTileTree.js +12 -19
- package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityTile.d.ts +1 -1
- package/lib/cjs/tile/RealityTile.js +4 -6
- package/lib/cjs/tile/RealityTile.js.map +1 -1
- package/lib/cjs/tile/RealityTileLoader.js +2 -2
- package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.d.ts +1 -1
- package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileTree.js +2 -3
- package/lib/cjs/tile/RealityTileTree.js.map +1 -1
- package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +3 -5
- package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/cjs/tile/Tile.js +1 -1
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.d.ts +5 -1
- package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
- package/lib/cjs/tile/TileAdmin.js +22 -27
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.js +3 -6
- package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/TileRequest.d.ts.map +1 -1
- package/lib/cjs/tile/TileRequest.js +2 -1
- package/lib/cjs/tile/TileRequest.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannel.d.ts +23 -1
- package/lib/cjs/tile/TileRequestChannel.d.ts.map +1 -1
- package/lib/cjs/tile/TileRequestChannel.js +28 -7
- package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannels.js +1 -1
- package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
- package/lib/cjs/tile/TileTree.js +2 -3
- package/lib/cjs/tile/TileTree.js.map +1 -1
- package/lib/cjs/tile/TiledGraphicsProvider.js +1 -1
- package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/map/ArcGISTileMap.js +5 -6
- package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
- package/lib/cjs/tile/map/ArcGisUtilities.js +6 -8
- package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts +11 -3
- package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/EllipsoidTerrainProvider.js +17 -5
- package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -7
- package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +6 -9
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +1 -2
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +14 -19
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +14 -20
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js +10 -5
- package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.d.ts +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js +2 -2
- package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js +5 -6
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.js +11 -14
- package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js +2 -3
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.d.ts +10 -2
- package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTile.js +34 -12
- package/lib/cjs/tile/map/MapTile.js.map +1 -1
- package/lib/cjs/tile/map/MapTileLoader.js +1 -1
- package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts +3 -2
- package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +24 -26
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +6 -7
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.d.ts +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.js +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/cjs/tile/map/QuadId.d.ts +1 -1
- package/lib/cjs/tile/map/QuadId.js +1 -1
- package/lib/cjs/tile/map/QuadId.js.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +9 -4
- package/lib/cjs/tile/map/TerrainMeshProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js +6 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/cjs/tile/map/TerrainProvider.d.ts +2 -2
- package/lib/cjs/tile/map/TerrainProvider.js +1 -1
- package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/WmsCapabilities.js +4 -5
- package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/cjs/tile/map/WmtsCapabilities.js +17 -25
- package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/tools/ClipViewTool.js +1 -1
- package/lib/cjs/tools/ClipViewTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTool.js +2 -4
- package/lib/cjs/tools/MeasureTool.js.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.js +2 -3
- package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
- package/lib/cjs/tools/SelectTool.js +1 -2
- package/lib/cjs/tools/SelectTool.js.map +1 -1
- package/lib/cjs/tools/Tool.js +2 -3
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js +2 -4
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/tools/ViewTool.js +3 -3
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/esm/AccuDraw.js +1 -1
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AccuSnap.js +3 -3
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/BriefcaseConnection.js +9 -11
- package/lib/esm/BriefcaseConnection.js.map +1 -1
- package/lib/esm/DisplayStyleState.js +8 -12
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.js +4 -6
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/ElementLocateManager.d.ts.map +1 -1
- package/lib/esm/ElementLocateManager.js +2 -0
- package/lib/esm/ElementLocateManager.js.map +1 -1
- package/lib/esm/EnvironmentDecorations.js +2 -3
- package/lib/esm/EnvironmentDecorations.js.map +1 -1
- package/lib/esm/FlashSettings.js +3 -4
- package/lib/esm/FlashSettings.js.map +1 -1
- package/lib/esm/GeoServices.d.ts +57 -5
- package/lib/esm/GeoServices.d.ts.map +1 -1
- package/lib/esm/GeoServices.js +178 -154
- package/lib/esm/GeoServices.js.map +1 -1
- package/lib/esm/IModelApp.d.ts +1 -3
- package/lib/esm/IModelApp.d.ts.map +1 -1
- package/lib/esm/IModelApp.js +20 -24
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.d.ts +1 -1
- package/lib/esm/IModelConnection.js +2 -2
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IpcApp.js +1 -1
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/LocalhostIpcApp.js +3 -4
- package/lib/esm/LocalhostIpcApp.js.map +1 -1
- package/lib/esm/ModelState.js +2 -3
- package/lib/esm/ModelState.js.map +1 -1
- package/lib/esm/NativeApp.d.ts +1 -1
- package/lib/esm/NativeApp.js +4 -7
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/NoRenderApp.d.ts +11 -4
- package/lib/esm/NoRenderApp.d.ts.map +1 -1
- package/lib/esm/NoRenderApp.js +12 -6
- package/lib/esm/NoRenderApp.js.map +1 -1
- package/lib/esm/PlanarClipMaskState.js +1 -1
- package/lib/esm/PlanarClipMaskState.js.map +1 -1
- package/lib/esm/RealityDataSourceContextShareImpl.js +2 -4
- package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/esm/SelectionSet.d.ts +0 -1
- package/lib/esm/SelectionSet.d.ts.map +1 -1
- package/lib/esm/SelectionSet.js +0 -1
- package/lib/esm/SelectionSet.js.map +1 -1
- package/lib/esm/SheetViewState.js +15 -23
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/Tiles.js +2 -2
- package/lib/esm/Tiles.js.map +1 -1
- package/lib/esm/ViewContext.js +1 -1
- package/lib/esm/ViewContext.js.map +1 -1
- package/lib/esm/ViewCreator2d.js +4 -5
- package/lib/esm/ViewCreator2d.js.map +1 -1
- package/lib/esm/ViewCreator3d.js +5 -5
- package/lib/esm/ViewCreator3d.js.map +1 -1
- package/lib/esm/ViewRect.d.ts +1 -1
- package/lib/esm/ViewRect.d.ts.map +1 -1
- package/lib/esm/ViewRect.js +1 -1
- package/lib/esm/ViewRect.js.map +1 -1
- package/lib/esm/ViewState.js +17 -24
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/Viewport.js +23 -33
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/extension/ExtensionImpl.js +1 -1
- package/lib/esm/extension/ExtensionImpl.js.map +1 -1
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +2 -3
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js +7 -9
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/render/FeatureSymbology.js +1 -2
- package/lib/esm/render/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/GraphicBuilder.js +7 -9
- package/lib/esm/render/GraphicBuilder.js.map +1 -1
- package/lib/esm/render/MockRender.js +1 -2
- package/lib/esm/render/MockRender.js.map +1 -1
- package/lib/esm/render/ParticleCollectionBuilder.js +2 -3
- package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/esm/render/RealityMeshParams.d.ts +2 -2
- package/lib/esm/render/RealityMeshParams.d.ts.map +1 -1
- package/lib/esm/render/RealityMeshParams.js +8 -11
- package/lib/esm/render/RealityMeshParams.js.map +1 -1
- package/lib/esm/render/RenderPlan.js +1 -1
- package/lib/esm/render/RenderPlan.js.map +1 -1
- package/lib/esm/render/RenderSystem.js +1 -2
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/VisibleFeature.js +2 -4
- package/lib/esm/render/VisibleFeature.js.map +1 -1
- package/lib/esm/render/primitives/AuxChannelTable.js +6 -9
- package/lib/esm/render/primitives/AuxChannelTable.js.map +1 -1
- package/lib/esm/render/primitives/EdgeParams.js +6 -7
- package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
- package/lib/esm/render/primitives/PolylineParams.js +2 -3
- package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
- package/lib/esm/render/primitives/VertexKey.js +1 -1
- package/lib/esm/render/primitives/VertexKey.js.map +1 -1
- package/lib/esm/render/primitives/VertexTable.js +1 -1
- package/lib/esm/render/primitives/VertexTable.js.map +1 -1
- package/lib/esm/render/primitives/VertexTableSplitter.js +6 -8
- package/lib/esm/render/primitives/VertexTableSplitter.js.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +9 -11
- package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +3 -5
- package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
- package/lib/esm/render/primitives/mesh/MeshBuilder.js +1 -1
- package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
- package/lib/esm/render/primitives/mesh/MeshPrimitives.js +2 -3
- package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
- package/lib/esm/render/webgl/BranchState.js +9 -10
- package/lib/esm/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/render/webgl/EDL.js +17 -21
- package/lib/esm/render/webgl/EDL.js.map +1 -1
- package/lib/esm/render/webgl/FeatureOverrides.js +2 -2
- package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/esm/render/webgl/Graphic.js +3 -5
- package/lib/esm/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/render/webgl/IndexedEdgeGeometry.js +1 -1
- package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/esm/render/webgl/InstancedGeometry.js +2 -3
- package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/Mesh.js +7 -10
- package/lib/esm/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/render/webgl/MeshData.js +1 -2
- package/lib/esm/render/webgl/MeshData.js.map +1 -1
- package/lib/esm/render/webgl/PlanarClassifier.js +10 -15
- package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.js +5 -8
- package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/RealityModelUniforms.js +3 -4
- package/lib/esm/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/esm/render/webgl/RenderCommands.js +7 -8
- package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/render/webgl/SceneCompositor.js +7 -9
- package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/render/webgl/ShaderBuilder.js +1 -2
- package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/render/webgl/SolarShadowMap.d.ts.map +1 -1
- package/lib/esm/render/webgl/SolarShadowMap.js +1 -11
- package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/esm/render/webgl/SurfaceGeometry.js +1 -1
- package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/esm/render/webgl/System.d.ts +0 -1
- package/lib/esm/render/webgl/System.d.ts.map +1 -1
- package/lib/esm/render/webgl/System.js +12 -17
- package/lib/esm/render/webgl/System.js.map +1 -1
- package/lib/esm/render/webgl/Target.js +9 -14
- package/lib/esm/render/webgl/Target.js.map +1 -1
- package/lib/esm/render/webgl/TargetGraphics.js +1 -2
- package/lib/esm/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/esm/render/webgl/Texture.js +1 -2
- package/lib/esm/render/webgl/Texture.js.map +1 -1
- package/lib/esm/render/webgl/ThematicSensors.js +2 -4
- package/lib/esm/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/esm/render/webgl/VisibleTileFeatures.js +1 -2
- package/lib/esm/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Animation.js +6 -9
- package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/esm/render/webgl/glsl/FeatureSymbology.js +1 -2
- package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Instancing.js +4 -5
- package/lib/esm/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/esm/render/webgl/glsl/RealityMesh.js +2 -4
- package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Surface.js +1 -2
- package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Thematic.js +1 -2
- package/lib/esm/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/esm/request/Request.d.ts.map +1 -1
- package/lib/esm/request/Request.js.map +1 -1
- package/lib/esm/tile/ClassifierTileTree.js +3 -3
- package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/tile/GltfReader.js +62 -76
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/IModelTile.js +2 -3
- package/lib/esm/tile/IModelTile.js.map +1 -1
- package/lib/esm/tile/IModelTileRequestChannels.js +6 -11
- package/lib/esm/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/esm/tile/IModelTileTree.js +5 -9
- package/lib/esm/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/tile/ImdlReader.js +13 -17
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/OrbitGtTileTree.js +2 -2
- package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/esm/tile/PntsReader.js +4 -5
- package/lib/esm/tile/PntsReader.js.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.js +22 -32
- package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/tile/RealityModelTileTree.js +12 -19
- package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/tile/RealityTile.d.ts +1 -1
- package/lib/esm/tile/RealityTile.js +4 -6
- package/lib/esm/tile/RealityTile.js.map +1 -1
- package/lib/esm/tile/RealityTileLoader.js +2 -2
- package/lib/esm/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.d.ts +1 -1
- package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileTree.js +2 -3
- package/lib/esm/tile/RealityTileTree.js.map +1 -1
- package/lib/esm/tile/ThreeDTileFormatInterpreter.js +3 -5
- package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/esm/tile/Tile.js +1 -1
- package/lib/esm/tile/Tile.js.map +1 -1
- package/lib/esm/tile/TileAdmin.d.ts +5 -1
- package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
- package/lib/esm/tile/TileAdmin.js +22 -27
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/TileDrawArgs.js +3 -6
- package/lib/esm/tile/TileDrawArgs.js.map +1 -1
- package/lib/esm/tile/TileRequest.d.ts.map +1 -1
- package/lib/esm/tile/TileRequest.js +2 -1
- package/lib/esm/tile/TileRequest.js.map +1 -1
- package/lib/esm/tile/TileRequestChannel.d.ts +23 -1
- package/lib/esm/tile/TileRequestChannel.d.ts.map +1 -1
- package/lib/esm/tile/TileRequestChannel.js +28 -7
- package/lib/esm/tile/TileRequestChannel.js.map +1 -1
- package/lib/esm/tile/TileRequestChannels.js +1 -1
- package/lib/esm/tile/TileRequestChannels.js.map +1 -1
- package/lib/esm/tile/TileTree.js +2 -3
- package/lib/esm/tile/TileTree.js.map +1 -1
- package/lib/esm/tile/TiledGraphicsProvider.js +1 -1
- package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/map/ArcGISTileMap.js +5 -6
- package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
- package/lib/esm/tile/map/ArcGisUtilities.js +6 -8
- package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts +11 -3
- package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/EllipsoidTerrainProvider.js +17 -5
- package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -7
- package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +6 -9
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +1 -2
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +14 -19
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +14 -20
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -2
- package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.js +10 -5
- package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.d.ts +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js +2 -2
- package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js +5 -6
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.js +11 -14
- package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js +2 -3
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.js +1 -1
- package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
- package/lib/esm/tile/map/MapTile.d.ts +10 -2
- package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTile.js +34 -12
- package/lib/esm/tile/map/MapTile.js.map +1 -1
- package/lib/esm/tile/map/MapTileLoader.js +1 -1
- package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts +3 -2
- package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js +24 -26
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js +6 -7
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTilingScheme.d.ts +1 -1
- package/lib/esm/tile/map/MapTilingScheme.js +1 -1
- package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/esm/tile/map/QuadId.d.ts +1 -1
- package/lib/esm/tile/map/QuadId.js +1 -1
- package/lib/esm/tile/map/QuadId.js.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.d.ts +9 -4
- package/lib/esm/tile/map/TerrainMeshProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js +6 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/esm/tile/map/TerrainProvider.d.ts +2 -2
- package/lib/esm/tile/map/TerrainProvider.js +1 -1
- package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/WmsCapabilities.js +4 -5
- package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/esm/tile/map/WmtsCapabilities.js +17 -25
- package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/tools/ClipViewTool.js +1 -1
- package/lib/esm/tools/ClipViewTool.js.map +1 -1
- package/lib/esm/tools/MeasureTool.js +2 -4
- package/lib/esm/tools/MeasureTool.js.map +1 -1
- package/lib/esm/tools/PrimitiveTool.js +2 -3
- package/lib/esm/tools/PrimitiveTool.js.map +1 -1
- package/lib/esm/tools/SelectTool.js +1 -2
- package/lib/esm/tools/SelectTool.js.map +1 -1
- package/lib/esm/tools/Tool.js +2 -3
- package/lib/esm/tools/Tool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.js +2 -4
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/tools/ViewTool.js +3 -3
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/package.json +24 -26
|
@@ -293,16 +293,15 @@ function colorFromJson(values) {
|
|
|
293
293
|
return ColorDef.from(values[0] * 255, values[1] * 255, values[2] * 255, (1.0 - values[3]) * 255);
|
|
294
294
|
}
|
|
295
295
|
function colorFromMaterial(material, isTransparent) {
|
|
296
|
-
var _a, _b, _c, _d, _e;
|
|
297
296
|
let color = ColorDef.white;
|
|
298
297
|
if (isGltf1Material(material)) {
|
|
299
|
-
if (
|
|
298
|
+
if (material.values?.color && Array.isArray(material.values.color))
|
|
300
299
|
color = colorFromJson(material.values.color);
|
|
301
300
|
}
|
|
302
|
-
else if (
|
|
301
|
+
else if (material.extensions?.KHR_techniques_webgl?.values?.u_color) {
|
|
303
302
|
color = colorFromJson(material.extensions.KHR_techniques_webgl.values.u_color);
|
|
304
303
|
}
|
|
305
|
-
else if (
|
|
304
|
+
else if (material.pbrMetallicRoughness?.baseColorFactor) {
|
|
306
305
|
color = colorFromJson(material.pbrMetallicRoughness.baseColorFactor);
|
|
307
306
|
}
|
|
308
307
|
// SPEC: Opaque materials ignore any alpha channel.
|
|
@@ -381,7 +380,6 @@ function compareTextureKeys(lhs, rhs) {
|
|
|
381
380
|
*/
|
|
382
381
|
export class GltfReader {
|
|
383
382
|
constructor(args) {
|
|
384
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
385
383
|
this._resolvedTextures = new Dictionary((lhs, rhs) => compareTextureKeys(lhs, rhs));
|
|
386
384
|
this._dracoMeshes = new Map();
|
|
387
385
|
/** The glTF spec says that if GltfSampler.wrapS/T are omitted, they default to Repeat.
|
|
@@ -394,17 +392,17 @@ export class GltfReader {
|
|
|
394
392
|
this._version = args.props.version;
|
|
395
393
|
this._yAxisUp = args.props.yAxisUp;
|
|
396
394
|
this._baseUrl = args.props.baseUrl;
|
|
397
|
-
const rtcCenter =
|
|
395
|
+
const rtcCenter = args.props.glTF.extensions?.CESIUM_RTC?.center;
|
|
398
396
|
if (rtcCenter && 3 === rtcCenter.length)
|
|
399
397
|
if (0 !== rtcCenter[0] || 0 !== rtcCenter[1] || 0 !== rtcCenter[2])
|
|
400
398
|
this._returnToCenter = Point3d.fromJSON(rtcCenter);
|
|
401
399
|
this._iModel = args.iModel;
|
|
402
400
|
this._is3d = true !== args.is2d;
|
|
403
|
-
this._system =
|
|
404
|
-
this._type =
|
|
401
|
+
this._system = args.system ?? IModelApp.renderSystem;
|
|
402
|
+
this._type = args.type ?? BatchType.Primary;
|
|
405
403
|
this._canceled = args.shouldAbort;
|
|
406
|
-
this._deduplicateVertices =
|
|
407
|
-
this._vertexTableRequired =
|
|
404
|
+
this._deduplicateVertices = args.deduplicateVertices ?? false;
|
|
405
|
+
this._vertexTableRequired = args.vertexTableRequired ?? false;
|
|
408
406
|
const binaryData = args.props.binaryData;
|
|
409
407
|
if (binaryData) {
|
|
410
408
|
const buffer = this._buffers[this._version === 2 ? 0 : "binary_glTF"];
|
|
@@ -417,20 +415,20 @@ export class GltfReader {
|
|
|
417
415
|
// Perhaps some faulty tiles existed that didn't define their scenes properly?
|
|
418
416
|
let sceneNodes;
|
|
419
417
|
if (this._glTF.scenes && undefined !== this._glTF.scene)
|
|
420
|
-
sceneNodes =
|
|
418
|
+
sceneNodes = this._glTF.scenes[this._glTF.scene]?.nodes;
|
|
421
419
|
if (!sceneNodes)
|
|
422
420
|
sceneNodes = Object.keys(this._nodes);
|
|
423
421
|
this._sceneNodes = sceneNodes;
|
|
424
422
|
}
|
|
425
|
-
get _nodes() {
|
|
426
|
-
get _meshes() {
|
|
427
|
-
get _accessors() {
|
|
428
|
-
get _bufferViews() {
|
|
429
|
-
get _materials() {
|
|
430
|
-
get _samplers() {
|
|
431
|
-
get _textures() {
|
|
432
|
-
get _images() {
|
|
433
|
-
get _buffers() {
|
|
423
|
+
get _nodes() { return this._glTF.nodes ?? emptyDict; }
|
|
424
|
+
get _meshes() { return this._glTF.meshes ?? emptyDict; }
|
|
425
|
+
get _accessors() { return this._glTF.accessors ?? emptyDict; }
|
|
426
|
+
get _bufferViews() { return this._glTF.bufferViews ?? emptyDict; }
|
|
427
|
+
get _materials() { return this._glTF.materials ?? emptyDict; }
|
|
428
|
+
get _samplers() { return this._glTF.samplers ?? emptyDict; }
|
|
429
|
+
get _textures() { return this._glTF.textures ?? emptyDict; }
|
|
430
|
+
get _images() { return this._glTF.images ?? emptyDict; }
|
|
431
|
+
get _buffers() { return this._glTF.buffers ?? emptyDict; }
|
|
434
432
|
get _isCanceled() { return undefined !== this._canceled && this._canceled(this); }
|
|
435
433
|
get _isVolumeClassifier() { return BatchType.VolumeClassifier === this._type; }
|
|
436
434
|
/** Traverse the nodes specified by their Ids, recursing into their child nodes.
|
|
@@ -463,7 +461,6 @@ export class GltfReader {
|
|
|
463
461
|
return transform;
|
|
464
462
|
}
|
|
465
463
|
readGltfAndCreateGraphics(isLeaf, featureTable, contentRange, transformToRoot, pseudoRtcBias, instances) {
|
|
466
|
-
var _a;
|
|
467
464
|
if (this._isCanceled)
|
|
468
465
|
return { readStatus: TileReadStatus.Canceled, isLeaf };
|
|
469
466
|
// If contentRange was not supplied, we will compute it as we read the meshes.
|
|
@@ -472,7 +469,7 @@ export class GltfReader {
|
|
|
472
469
|
else
|
|
473
470
|
this._computedContentRange = undefined;
|
|
474
471
|
// ###TODO this looks like a hack? Why does it assume the first node's transform is special, or that the transform will be specified as a matrix instead of translation+rot+scale?
|
|
475
|
-
if (this._returnToCenter ||
|
|
472
|
+
if (this._returnToCenter || this._nodes[0]?.matrix || (pseudoRtcBias && pseudoRtcBias.magnitude() < 1.0E5))
|
|
476
473
|
pseudoRtcBias = undefined;
|
|
477
474
|
const transformStack = new TransformStack();
|
|
478
475
|
const renderGraphicList = [];
|
|
@@ -492,7 +489,7 @@ export class GltfReader {
|
|
|
492
489
|
renderGraphic = this._system.createGraphicList(renderGraphicList);
|
|
493
490
|
const transform = this.getTileTransform(transformToRoot, pseudoRtcBias);
|
|
494
491
|
let range = contentRange;
|
|
495
|
-
const invTransform = transform
|
|
492
|
+
const invTransform = transform?.inverse();
|
|
496
493
|
if (invTransform)
|
|
497
494
|
range = invTransform.multiplyRange(contentRange);
|
|
498
495
|
if (featureTable)
|
|
@@ -563,7 +560,7 @@ export class GltfReader {
|
|
|
563
560
|
thisBias = (undefined === thisTransform) ? pseudoRtcBias : thisTransform.matrix.multiplyInverse(pseudoRtcBias);
|
|
564
561
|
for (const meshKey of getNodeMeshIds(node)) {
|
|
565
562
|
const nodeMesh = this._meshes[meshKey];
|
|
566
|
-
if (nodeMesh
|
|
563
|
+
if (nodeMesh?.primitives) {
|
|
567
564
|
const meshes = this.readMeshPrimitives(node, featureTable, thisTransform, thisBias);
|
|
568
565
|
let renderGraphic;
|
|
569
566
|
if (0 !== meshes.length) {
|
|
@@ -661,7 +658,7 @@ export class GltfReader {
|
|
|
661
658
|
if (!bufferView || undefined === bufferView.buffer)
|
|
662
659
|
return undefined;
|
|
663
660
|
const buffer = this._buffers[bufferView.buffer];
|
|
664
|
-
const bufferData = buffer
|
|
661
|
+
const bufferData = buffer?.resolvedBuffer;
|
|
665
662
|
if (!bufferData)
|
|
666
663
|
return undefined;
|
|
667
664
|
const type = accessor.componentType;
|
|
@@ -721,42 +718,39 @@ export class GltfReader {
|
|
|
721
718
|
}
|
|
722
719
|
}
|
|
723
720
|
extractTextureId(material) {
|
|
724
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
725
721
|
if (typeof material !== "object")
|
|
726
722
|
return undefined;
|
|
727
723
|
// Bimium's shader value...almost certainly obsolete at this point.
|
|
728
724
|
if (isGltf1Material(material))
|
|
729
|
-
return
|
|
725
|
+
return material.diffuse ?? this.extractId(material.values?.tex);
|
|
730
726
|
// KHR_techniques_webgl extension
|
|
731
|
-
const techniques =
|
|
732
|
-
const ext = Array.isArray(techniques) ?
|
|
727
|
+
const techniques = this._glTF.extensions?.KHR_techniques_webgl?.techniques;
|
|
728
|
+
const ext = Array.isArray(techniques) ? material.extensions?.KHR_techniques_webgl : undefined;
|
|
733
729
|
if (techniques && undefined !== ext && typeof (ext.values) === "object") {
|
|
734
730
|
const uniforms = typeof ext.technique === "number" ? techniques[ext.technique].uniforms : undefined;
|
|
735
731
|
if (typeof uniforms === "object") {
|
|
736
732
|
for (const uniformName of Object.keys(uniforms)) {
|
|
737
733
|
const uniform = uniforms[uniformName];
|
|
738
734
|
if (typeof uniform === "object" && uniform.type === GltfDataType.Sampler2d)
|
|
739
|
-
return this.extractId(
|
|
735
|
+
return this.extractId(ext.values[uniformName]?.index);
|
|
740
736
|
}
|
|
741
737
|
}
|
|
742
738
|
}
|
|
743
|
-
const id = this.extractId(
|
|
744
|
-
return id
|
|
739
|
+
const id = this.extractId(material.pbrMetallicRoughness?.baseColorTexture?.index);
|
|
740
|
+
return id ?? this.extractId(material.emissiveTexture?.index);
|
|
745
741
|
}
|
|
746
742
|
extractNormalMapId(material) {
|
|
747
|
-
var _a;
|
|
748
743
|
if (typeof material !== "object")
|
|
749
744
|
return undefined;
|
|
750
745
|
if (isGltf1Material(material))
|
|
751
746
|
return undefined;
|
|
752
|
-
return this.extractId(
|
|
747
|
+
return this.extractId(material.normalTexture?.index);
|
|
753
748
|
}
|
|
754
749
|
isMaterialTransparent(material) {
|
|
755
|
-
var _a, _b;
|
|
756
750
|
if (isGltf1Material(material)) {
|
|
757
751
|
if (this._glTF.techniques && undefined !== material.technique) {
|
|
758
752
|
const technique = this._glTF.techniques[material.technique];
|
|
759
|
-
if (
|
|
753
|
+
if (technique?.states?.enable?.some((state) => state === GltfTechniqueState.Blend))
|
|
760
754
|
return true;
|
|
761
755
|
}
|
|
762
756
|
return false;
|
|
@@ -784,13 +778,13 @@ export class GltfReader {
|
|
|
784
778
|
const meshes = [];
|
|
785
779
|
for (const meshKey of getNodeMeshIds(node)) {
|
|
786
780
|
const nodeMesh = this._meshes[meshKey];
|
|
787
|
-
if (nodeMesh
|
|
781
|
+
if (nodeMesh?.primitives) {
|
|
788
782
|
for (const primitive of nodeMesh.primitives) {
|
|
789
783
|
const mesh = this.readMeshPrimitive(primitive, featureTable, thisBias);
|
|
790
784
|
if (mesh) {
|
|
791
785
|
meshes.push(mesh);
|
|
792
786
|
if (this._computedContentRange && mesh.pointRange) {
|
|
793
|
-
const invTransform = thisTransform
|
|
787
|
+
const invTransform = thisTransform?.inverse();
|
|
794
788
|
const meshRange = invTransform ? invTransform.multiplyRange(mesh.pointRange) : mesh.pointRange;
|
|
795
789
|
this._computedContentRange.extendRange(meshRange);
|
|
796
790
|
}
|
|
@@ -801,12 +795,11 @@ export class GltfReader {
|
|
|
801
795
|
return meshes;
|
|
802
796
|
}
|
|
803
797
|
readMeshPrimitive(primitive, featureTable, pseudoRtcBias) {
|
|
804
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
805
798
|
const materialName = JsonUtils.asString(primitive.material);
|
|
806
|
-
const material = 0 < materialName.length ? this._materials[materialName] :
|
|
799
|
+
const material = 0 < materialName.length ? this._materials[materialName] : {};
|
|
807
800
|
if (!material)
|
|
808
801
|
return undefined;
|
|
809
|
-
const hasBakedLighting = undefined === primitive.attributes.NORMAL || undefined !==
|
|
802
|
+
const hasBakedLighting = undefined === primitive.attributes.NORMAL || undefined !== material.extensions?.KHR_materials_unlit;
|
|
810
803
|
const displayParams = material ? this.createDisplayParams(material, hasBakedLighting) : undefined;
|
|
811
804
|
if (!displayParams)
|
|
812
805
|
return undefined;
|
|
@@ -847,9 +840,9 @@ export class GltfReader {
|
|
|
847
840
|
if (undefined !== colorIndices && material) {
|
|
848
841
|
let texStep;
|
|
849
842
|
if (isGltf1Material(material))
|
|
850
|
-
texStep =
|
|
843
|
+
texStep = material.values?.texStep;
|
|
851
844
|
else
|
|
852
|
-
texStep =
|
|
845
|
+
texStep = material.extensions?.KHR_techniques_webgl?.values?.u_texStep;
|
|
853
846
|
if (texStep) {
|
|
854
847
|
const uvParams = [];
|
|
855
848
|
for (let i = 0; i < colorIndices.count; i++)
|
|
@@ -859,7 +852,7 @@ export class GltfReader {
|
|
|
859
852
|
mesh.uvQParams = paramList.params;
|
|
860
853
|
}
|
|
861
854
|
}
|
|
862
|
-
const draco =
|
|
855
|
+
const draco = primitive.extensions?.KHR_draco_mesh_compression;
|
|
863
856
|
if (draco)
|
|
864
857
|
return this.readDracoMeshPrimitive(mesh.primitive, draco) ? mesh : undefined;
|
|
865
858
|
this.readBatchTable(mesh.primitive, primitive);
|
|
@@ -873,7 +866,7 @@ export class GltfReader {
|
|
|
873
866
|
return undefined;
|
|
874
867
|
if (!mesh.uvs) {
|
|
875
868
|
let texCoordIndex = 0;
|
|
876
|
-
if (!isGltf1Material(material) && undefined !==
|
|
869
|
+
if (!isGltf1Material(material) && undefined !== material.pbrMetallicRoughness?.baseColorTexture?.texCoord)
|
|
877
870
|
texCoordIndex = JsonUtils.asInt(material.pbrMetallicRoughness.baseColorTexture.texCoord);
|
|
878
871
|
this.readUVParams(mesh, primitive.attributes, `TEXCOORD_${texCoordIndex}`);
|
|
879
872
|
}
|
|
@@ -894,7 +887,7 @@ export class GltfReader {
|
|
|
894
887
|
}
|
|
895
888
|
if (displayParams.textureMapping && !mesh.uvs)
|
|
896
889
|
return undefined;
|
|
897
|
-
if (
|
|
890
|
+
if (primitive.extensions?.CESIUM_primitive_outline) {
|
|
898
891
|
const data = this.readBufferData32(primitive.extensions.CESIUM_primitive_outline, "indices");
|
|
899
892
|
if (data !== undefined) {
|
|
900
893
|
assert(0 === data.count % 2);
|
|
@@ -906,14 +899,13 @@ export class GltfReader {
|
|
|
906
899
|
return mesh;
|
|
907
900
|
}
|
|
908
901
|
readDracoMeshPrimitive(mesh, ext) {
|
|
909
|
-
var _a, _b, _c, _d, _e, _f;
|
|
910
902
|
const draco = this._dracoMeshes.get(ext);
|
|
911
903
|
if (!draco || "triangle-list" !== draco.topology)
|
|
912
904
|
return false;
|
|
913
|
-
const indices =
|
|
905
|
+
const indices = draco.indices?.value;
|
|
914
906
|
if (!indices || (indices.length % 3) !== 0)
|
|
915
907
|
return false;
|
|
916
|
-
const pos =
|
|
908
|
+
const pos = draco.attributes.POSITION?.value;
|
|
917
909
|
if (!pos || (pos.length % 3) !== 0)
|
|
918
910
|
return false;
|
|
919
911
|
// ###TODO: I have yet to see a draco-encoded mesh with interleaved attributes. Currently not checking.
|
|
@@ -923,7 +915,7 @@ export class GltfReader {
|
|
|
923
915
|
mesh.addTriangle(triangle);
|
|
924
916
|
}
|
|
925
917
|
let posRange;
|
|
926
|
-
const bbox =
|
|
918
|
+
const bbox = draco.header?.boundingBox;
|
|
927
919
|
if (bbox) {
|
|
928
920
|
posRange = Range3d.createXYZXYZ(bbox[0][0], bbox[0][1], bbox[0][2], bbox[1][0], bbox[1][1], bbox[1][2]);
|
|
929
921
|
}
|
|
@@ -939,7 +931,7 @@ export class GltfReader {
|
|
|
939
931
|
pt.set(pos[i], pos[i + 1], pos[i + 2]);
|
|
940
932
|
mesh.points.add(pt);
|
|
941
933
|
}
|
|
942
|
-
const normals =
|
|
934
|
+
const normals = draco.attributes.NORMAL?.value;
|
|
943
935
|
if (normals && (normals.length % 3) === 0) {
|
|
944
936
|
const vec = Vector3d.createZero();
|
|
945
937
|
for (let i = 0; i < normals.length; i += 3) {
|
|
@@ -947,11 +939,11 @@ export class GltfReader {
|
|
|
947
939
|
mesh.normals.push(OctEncodedNormal.fromVector(vec));
|
|
948
940
|
}
|
|
949
941
|
}
|
|
950
|
-
const uvs =
|
|
942
|
+
const uvs = draco.attributes.TEXCOORD_0?.value;
|
|
951
943
|
if (uvs && (uvs.length & 2) === 0)
|
|
952
944
|
for (let i = 0; i < uvs.length; i += 2)
|
|
953
945
|
mesh.uvParams.push(new Point2d(uvs[i], uvs[i + 1]));
|
|
954
|
-
const batchIds =
|
|
946
|
+
const batchIds = draco.attributes._BATCHID?.value;
|
|
955
947
|
if (batchIds && mesh.features) {
|
|
956
948
|
const featureIndices = [];
|
|
957
949
|
for (const batchId of batchIds)
|
|
@@ -1070,7 +1062,6 @@ export class GltfReader {
|
|
|
1070
1062
|
readBatchTable(_mesh, _json) {
|
|
1071
1063
|
}
|
|
1072
1064
|
readMeshIndices(mesh, json) {
|
|
1073
|
-
var _a;
|
|
1074
1065
|
if (undefined !== json.indices) {
|
|
1075
1066
|
const data = this.readBufferData16(json, "indices") || this.readBufferData32(json, "indices");
|
|
1076
1067
|
if (data && (data.buffer instanceof Uint8Array || data.buffer instanceof Uint16Array || data.buffer instanceof Uint32Array)) {
|
|
@@ -1080,7 +1071,7 @@ export class GltfReader {
|
|
|
1080
1071
|
return false;
|
|
1081
1072
|
}
|
|
1082
1073
|
// Non-indexed geometry. Manufacture triangle indices from points.
|
|
1083
|
-
const numPoints =
|
|
1074
|
+
const numPoints = mesh.points?.length;
|
|
1084
1075
|
if (undefined === numPoints || 0 !== numPoints % 3)
|
|
1085
1076
|
return false;
|
|
1086
1077
|
mesh.indices = numPoints < 255 ? new Uint8Array(numPoints) : (numPoints < 0xffff ? new Uint16Array(numPoints) : new Uint32Array(numPoints));
|
|
@@ -1208,7 +1199,6 @@ export class GltfReader {
|
|
|
1208
1199
|
return true;
|
|
1209
1200
|
}
|
|
1210
1201
|
async resolveResources() {
|
|
1211
|
-
var _a;
|
|
1212
1202
|
// Load any external images and buffers.
|
|
1213
1203
|
await this._resolveResources();
|
|
1214
1204
|
// If any meshes are draco-compressed, dynamically load the decoder module and then decode the meshes.
|
|
@@ -1216,9 +1206,9 @@ export class GltfReader {
|
|
|
1216
1206
|
for (const node of this.traverseScene()) {
|
|
1217
1207
|
for (const meshId of getNodeMeshIds(node)) {
|
|
1218
1208
|
const mesh = this._meshes[meshId];
|
|
1219
|
-
if (mesh
|
|
1209
|
+
if (mesh?.primitives)
|
|
1220
1210
|
for (const primitive of mesh.primitives)
|
|
1221
|
-
if (
|
|
1211
|
+
if (primitive.extensions?.KHR_draco_mesh_compression)
|
|
1222
1212
|
dracoMeshes.push(primitive.extensions.KHR_draco_mesh_compression);
|
|
1223
1213
|
}
|
|
1224
1214
|
}
|
|
@@ -1254,14 +1244,13 @@ export class GltfReader {
|
|
|
1254
1244
|
}
|
|
1255
1245
|
}
|
|
1256
1246
|
async decodeDracoMesh(ext, loader) {
|
|
1257
|
-
var _a, _b;
|
|
1258
1247
|
const bv = this._bufferViews[ext.bufferView];
|
|
1259
1248
|
if (!bv || !bv.byteLength)
|
|
1260
1249
|
return;
|
|
1261
|
-
let buf =
|
|
1250
|
+
let buf = this._buffers[bv.buffer]?.resolvedBuffer;
|
|
1262
1251
|
if (!buf)
|
|
1263
1252
|
return;
|
|
1264
|
-
const offset =
|
|
1253
|
+
const offset = bv.byteOffset ?? 0;
|
|
1265
1254
|
buf = buf.subarray(offset, offset + bv.byteLength);
|
|
1266
1255
|
const mesh = await loader.parse(buf, {}); // NB: `options` argument declared optional but will produce exception if not supplied.
|
|
1267
1256
|
if (mesh)
|
|
@@ -1283,7 +1272,7 @@ export class GltfReader {
|
|
|
1283
1272
|
const response = url ? await fetch(url) : undefined;
|
|
1284
1273
|
if (this._isCanceled)
|
|
1285
1274
|
return;
|
|
1286
|
-
const data = await
|
|
1275
|
+
const data = await response?.arrayBuffer();
|
|
1287
1276
|
if (this._isCanceled)
|
|
1288
1277
|
return;
|
|
1289
1278
|
if (data)
|
|
@@ -1294,19 +1283,18 @@ export class GltfReader {
|
|
|
1294
1283
|
}
|
|
1295
1284
|
}
|
|
1296
1285
|
async resolveImage(image) {
|
|
1297
|
-
var _a, _b, _c;
|
|
1298
1286
|
if (image.resolvedImage)
|
|
1299
1287
|
return;
|
|
1300
|
-
const bvSrc = undefined !== image.bufferView ? image :
|
|
1301
|
-
if (undefined !==
|
|
1288
|
+
const bvSrc = undefined !== image.bufferView ? image : image.extensions?.KHR_binary_glTF;
|
|
1289
|
+
if (undefined !== bvSrc?.bufferView) {
|
|
1302
1290
|
const format = undefined !== bvSrc.mimeType ? getImageSourceFormatForMimeType(bvSrc.mimeType) : undefined;
|
|
1303
1291
|
const bufferView = this._bufferViews[bvSrc.bufferView];
|
|
1304
1292
|
if (undefined === format || !bufferView || !bufferView.byteLength || bufferView.byteLength < 0)
|
|
1305
1293
|
return;
|
|
1306
|
-
const bufferData =
|
|
1294
|
+
const bufferData = this._buffers[bufferView.buffer]?.resolvedBuffer;
|
|
1307
1295
|
if (!bufferData)
|
|
1308
1296
|
return;
|
|
1309
|
-
const offset =
|
|
1297
|
+
const offset = bufferView.byteOffset ?? 0;
|
|
1310
1298
|
const bytes = bufferData.subarray(offset, offset + bufferView.byteLength);
|
|
1311
1299
|
try {
|
|
1312
1300
|
const imageSource = new ImageSource(bytes, format);
|
|
@@ -1327,8 +1315,8 @@ export class GltfReader {
|
|
|
1327
1315
|
/** Exposed strictly for testing. */
|
|
1328
1316
|
getTextureType(sampler) {
|
|
1329
1317
|
// ###TODO: RenderTexture currently does not support different wrapping behavior for U vs V, nor does it support mirrored repeat.
|
|
1330
|
-
let wrapS = sampler
|
|
1331
|
-
let wrapT = sampler
|
|
1318
|
+
let wrapS = sampler?.wrapS;
|
|
1319
|
+
let wrapT = sampler?.wrapT;
|
|
1332
1320
|
if (undefined === wrapS && undefined === wrapT)
|
|
1333
1321
|
wrapS = wrapT = this.defaultWrapMode;
|
|
1334
1322
|
if (GltfWrapMode.ClampToEdge === wrapS || GltfWrapMode.ClampToEdge === wrapT)
|
|
@@ -1336,11 +1324,10 @@ export class GltfReader {
|
|
|
1336
1324
|
return RenderTexture.Type.Normal;
|
|
1337
1325
|
}
|
|
1338
1326
|
resolveTexture(textureId, isTransparent) {
|
|
1339
|
-
var _a;
|
|
1340
1327
|
const texture = this._textures[textureId];
|
|
1341
1328
|
if (!texture || undefined === texture.source)
|
|
1342
1329
|
return false;
|
|
1343
|
-
const image =
|
|
1330
|
+
const image = this._images[texture.source]?.resolvedImage;
|
|
1344
1331
|
if (!image)
|
|
1345
1332
|
return false;
|
|
1346
1333
|
const samplerId = texture.sampler;
|
|
@@ -1353,7 +1340,7 @@ export class GltfReader {
|
|
|
1353
1340
|
transparency: isTransparent ? TextureTransparency.Mixed : TextureTransparency.Opaque,
|
|
1354
1341
|
},
|
|
1355
1342
|
});
|
|
1356
|
-
return renderTexture
|
|
1343
|
+
return renderTexture ?? false;
|
|
1357
1344
|
}
|
|
1358
1345
|
findTextureMapping(id, isTransparent, normalMapId) {
|
|
1359
1346
|
if (undefined === id && undefined === normalMapId)
|
|
@@ -1412,7 +1399,6 @@ export async function readGltfGraphics(args) {
|
|
|
1412
1399
|
*/
|
|
1413
1400
|
export class GltfGraphicsReader extends GltfReader {
|
|
1414
1401
|
constructor(props, args) {
|
|
1415
|
-
var _a, _b, _c;
|
|
1416
1402
|
super({
|
|
1417
1403
|
props,
|
|
1418
1404
|
iModel: args.iModel,
|
|
@@ -1422,9 +1408,9 @@ export class GltfGraphicsReader extends GltfReader {
|
|
|
1422
1408
|
this._transform = args.transform;
|
|
1423
1409
|
this._isLeaf = true !== args.hasChildren;
|
|
1424
1410
|
this.binaryData = props.binaryData;
|
|
1425
|
-
const pickableId =
|
|
1411
|
+
const pickableId = args.pickableOptions?.id;
|
|
1426
1412
|
if (pickableId) {
|
|
1427
|
-
this._featureTable = new FeatureTable(1,
|
|
1413
|
+
this._featureTable = new FeatureTable(1, args.pickableOptions?.modelId ?? pickableId, BatchType.Primary);
|
|
1428
1414
|
this._featureTable.insert(new Feature(pickableId));
|
|
1429
1415
|
}
|
|
1430
1416
|
}
|
|
@@ -1433,7 +1419,7 @@ export class GltfGraphicsReader extends GltfReader {
|
|
|
1433
1419
|
return this.readGltfAndCreateGraphics(this._isLeaf, this._featureTable, this._contentRange, this._transform);
|
|
1434
1420
|
}
|
|
1435
1421
|
get nodes() { return this._nodes; }
|
|
1436
|
-
get scenes() {
|
|
1422
|
+
get scenes() { return this._glTF.scenes ?? emptyDict; }
|
|
1437
1423
|
get sceneNodes() { return this._sceneNodes; }
|
|
1438
1424
|
get textures() { return this._textures; }
|
|
1439
1425
|
}
|