@itwin/core-frontend 3.0.0-extension.1 → 3.1.0-dev.6
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 +89 -1
- package/LICENSE.md +1 -1
- package/lib/cjs/AccuSnap.js +3 -3
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/ApproximateTerrainHeights.d.ts.map +1 -1
- package/lib/cjs/ApproximateTerrainHeights.js +10 -5
- package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
- package/lib/cjs/BackgroundMapGeometry.d.ts +1 -1
- package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
- package/lib/cjs/BackgroundMapGeometry.js +2 -2
- package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
- package/lib/cjs/BingLocation.js +2 -2
- package/lib/cjs/BingLocation.js.map +1 -1
- package/lib/cjs/CheckpointConnection.js +1 -1
- package/lib/cjs/CheckpointConnection.js.map +1 -1
- package/lib/cjs/ContextRealityModelState.js +1 -1
- package/lib/cjs/ContextRealityModelState.js.map +1 -1
- package/lib/cjs/DisplayStyleState.d.ts +10 -163
- package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
- package/lib/cjs/DisplayStyleState.js +69 -350
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.d.ts +2 -2
- package/lib/cjs/DrawingViewState.d.ts.map +1 -1
- package/lib/cjs/DrawingViewState.js +3 -3
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
- package/lib/cjs/EmphasizeElements.js +14 -4
- package/lib/cjs/EmphasizeElements.js.map +1 -1
- package/lib/cjs/EnvironmentDecorations.d.ts +39 -0
- package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -0
- package/lib/cjs/EnvironmentDecorations.js +200 -0
- package/lib/cjs/EnvironmentDecorations.js.map +1 -0
- package/lib/cjs/FrontendHubAccess.d.ts +11 -7
- package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
- package/lib/cjs/FrontendHubAccess.js.map +1 -1
- package/lib/cjs/FrontendLoggerCategory.d.ts +2 -8
- package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
- package/lib/cjs/FrontendLoggerCategory.js +2 -8
- package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
- package/lib/cjs/HitDetail.js +7 -7
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.d.ts +31 -24
- package/lib/cjs/IModelApp.d.ts.map +1 -1
- package/lib/cjs/IModelApp.js +35 -36
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.d.ts +4 -6
- package/lib/cjs/IModelConnection.d.ts.map +1 -1
- package/lib/cjs/IModelConnection.js +6 -11
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IModeljs-css.d.ts.map +1 -1
- package/lib/cjs/IModeljs-css.js +8 -6
- package/lib/cjs/IModeljs-css.js.map +1 -1
- package/lib/cjs/ImageUtil.d.ts +3 -3
- package/lib/cjs/ImageUtil.d.ts.map +1 -1
- package/lib/cjs/ImageUtil.js +7 -4
- package/lib/cjs/ImageUtil.js.map +1 -1
- package/lib/cjs/LocalhostIpcApp.d.ts +2 -1
- package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
- package/lib/cjs/LocalhostIpcApp.js +21 -7
- package/lib/cjs/LocalhostIpcApp.js.map +1 -1
- package/lib/cjs/Marker.d.ts +9 -2
- package/lib/cjs/Marker.d.ts.map +1 -1
- package/lib/cjs/Marker.js +33 -5
- package/lib/cjs/Marker.js.map +1 -1
- package/lib/cjs/ModelState.js +1 -1
- package/lib/cjs/ModelState.js.map +1 -1
- package/lib/cjs/NativeApp.d.ts +3 -38
- package/lib/cjs/NativeApp.d.ts.map +1 -1
- package/lib/cjs/NativeApp.js +4 -73
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/NoRenderApp.d.ts +0 -1
- package/lib/cjs/NoRenderApp.d.ts.map +1 -1
- package/lib/cjs/NoRenderApp.js +0 -1
- package/lib/cjs/NoRenderApp.js.map +1 -1
- package/lib/cjs/NotificationManager.d.ts +3 -1
- package/lib/cjs/NotificationManager.d.ts.map +1 -1
- package/lib/cjs/NotificationManager.js +2 -0
- package/lib/cjs/NotificationManager.js.map +1 -1
- package/lib/cjs/RealityDataSource.d.ts +59 -29
- package/lib/cjs/RealityDataSource.d.ts.map +1 -1
- package/lib/cjs/RealityDataSource.js +247 -94
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/RenderScheduleState.d.ts +2 -0
- package/lib/cjs/RenderScheduleState.d.ts.map +1 -1
- package/lib/cjs/RenderScheduleState.js +10 -5
- package/lib/cjs/RenderScheduleState.js.map +1 -1
- package/lib/cjs/SheetViewState.d.ts +2 -2
- package/lib/cjs/SheetViewState.d.ts.map +1 -1
- package/lib/cjs/SheetViewState.js +8 -9
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/SpatialViewState.d.ts +10 -2
- package/lib/cjs/SpatialViewState.d.ts.map +1 -1
- package/lib/cjs/SpatialViewState.js +12 -2
- package/lib/cjs/SpatialViewState.js.map +1 -1
- package/lib/cjs/SubCategoriesCache.js +1 -1
- package/lib/cjs/SubCategoriesCache.js.map +1 -1
- package/lib/cjs/Tiles.d.ts +11 -1
- package/lib/cjs/Tiles.d.ts.map +1 -1
- package/lib/cjs/Tiles.js +7 -0
- package/lib/cjs/Tiles.js.map +1 -1
- package/lib/cjs/TwoWayViewportSync.d.ts +35 -6
- package/lib/cjs/TwoWayViewportSync.d.ts.map +1 -1
- package/lib/cjs/TwoWayViewportSync.js +51 -11
- package/lib/cjs/TwoWayViewportSync.js.map +1 -1
- package/lib/cjs/UserPreferences.d.ts +72 -0
- package/lib/cjs/UserPreferences.d.ts.map +1 -0
- package/lib/cjs/{extension/ExtensionLoader.js → UserPreferences.js} +1 -5
- package/lib/cjs/UserPreferences.js.map +1 -0
- package/lib/cjs/ViewContext.d.ts +3 -1
- package/lib/cjs/ViewContext.d.ts.map +1 -1
- package/lib/cjs/ViewContext.js +4 -0
- package/lib/cjs/ViewContext.js.map +1 -1
- package/lib/cjs/ViewCreator2d.js +3 -3
- package/lib/cjs/ViewCreator2d.js.map +1 -1
- package/lib/cjs/ViewCreator3d.d.ts +1 -1
- package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
- package/lib/cjs/ViewCreator3d.js +4 -5
- package/lib/cjs/ViewCreator3d.js.map +1 -1
- package/lib/cjs/ViewManager.d.ts +6 -6
- package/lib/cjs/ViewManager.d.ts.map +1 -1
- package/lib/cjs/ViewManager.js +13 -13
- package/lib/cjs/ViewManager.js.map +1 -1
- package/lib/cjs/ViewState.d.ts +11 -5
- package/lib/cjs/ViewState.d.ts.map +1 -1
- package/lib/cjs/ViewState.js +18 -63
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/ViewingSpace.js +1 -1
- package/lib/cjs/ViewingSpace.js.map +1 -1
- package/lib/cjs/Viewport.d.ts +34 -6
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +42 -22
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/core-frontend.d.ts +17 -31
- package/lib/cjs/core-frontend.d.ts.map +1 -1
- package/lib/cjs/core-frontend.js +17 -31
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +20 -5
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +26 -3
- package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js +46 -7
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
- package/lib/cjs/render/FeatureSymbology.js +3 -3
- package/lib/cjs/render/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/GraphicBranch.d.ts +18 -2
- package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
- package/lib/cjs/render/GraphicBranch.js +9 -1
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/GraphicBuilder.d.ts +7 -1
- package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
- package/lib/cjs/render/GraphicBuilder.js.map +1 -1
- package/lib/cjs/render/MockRender.d.ts +3 -1
- package/lib/cjs/render/MockRender.d.ts.map +1 -1
- package/lib/cjs/render/MockRender.js.map +1 -1
- package/lib/cjs/render/RenderMaterial.d.ts +61 -0
- package/lib/cjs/render/RenderMaterial.d.ts.map +1 -0
- package/lib/cjs/render/RenderMaterial.js +10 -0
- package/lib/cjs/render/RenderMaterial.js.map +1 -0
- package/lib/cjs/render/RenderMemory.d.ts +21 -15
- package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
- package/lib/cjs/render/RenderMemory.js +21 -15
- package/lib/cjs/render/RenderMemory.js.map +1 -1
- package/lib/cjs/render/RenderSystem.d.ts +44 -7
- package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
- package/lib/cjs/render/RenderSystem.js +32 -9
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/RenderTarget.d.ts +10 -2
- package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
- package/lib/cjs/render/RenderTarget.js +2 -1
- package/lib/cjs/render/RenderTarget.js.map +1 -1
- package/lib/cjs/render/RenderTexture.d.ts +2 -17
- package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
- package/lib/cjs/render/RenderTexture.js +0 -17
- package/lib/cjs/render/RenderTexture.js.map +1 -1
- package/lib/cjs/render/primitives/EdgeParams.d.ts +84 -0
- package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -0
- package/lib/cjs/render/primitives/EdgeParams.js +220 -0
- package/lib/cjs/render/primitives/EdgeParams.js.map +1 -0
- package/lib/cjs/render/primitives/PointStringParams.d.ts +16 -0
- package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -0
- package/lib/cjs/render/primitives/PointStringParams.js +43 -0
- package/lib/cjs/render/primitives/PointStringParams.js.map +1 -0
- package/lib/cjs/render/primitives/PolylineParams.d.ts +44 -0
- package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -0
- package/lib/cjs/render/primitives/PolylineParams.js +205 -0
- package/lib/cjs/render/primitives/PolylineParams.js.map +1 -0
- package/lib/cjs/render/primitives/Primitives.d.ts +1 -1
- package/lib/cjs/render/primitives/Primitives.d.ts.map +1 -1
- package/lib/cjs/render/primitives/Primitives.js.map +1 -1
- package/lib/cjs/render/primitives/SurfaceParams.d.ts +46 -0
- package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +1 -0
- package/lib/cjs/render/primitives/SurfaceParams.js +42 -0
- package/lib/cjs/render/primitives/SurfaceParams.js.map +1 -0
- package/lib/cjs/render/primitives/VertexTable.d.ts +4 -123
- package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
- package/lib/cjs/render/primitives/VertexTable.js +16 -352
- package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
- package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +2 -1
- package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -0
- package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
- package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
- package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
- package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +3 -3
- package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
- package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
- package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
- package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
- package/lib/cjs/render/webgl/AttributeMap.js +5 -5
- package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
- package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
- package/lib/cjs/render/webgl/BranchUniforms.js +8 -5
- package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/CachedGeometry.d.ts +16 -11
- package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/cjs/render/webgl/CachedGeometry.js +26 -23
- package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/DrawCommand.d.ts +2 -3
- package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
- package/lib/cjs/render/webgl/DrawCommand.js +6 -4
- package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
- package/lib/cjs/render/webgl/EdgeGeometry.d.ts +73 -0
- package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -0
- package/lib/cjs/render/webgl/EdgeGeometry.js +141 -0
- package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -0
- package/lib/cjs/render/webgl/FeatureOverrides.d.ts +2 -0
- package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
- package/lib/cjs/render/webgl/FeatureOverrides.js +11 -3
- package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/cjs/render/webgl/FloatRGBA.d.ts.map +1 -1
- package/lib/cjs/render/webgl/FloatRGBA.js +13 -11
- package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/cjs/render/webgl/Graphic.d.ts +13 -0
- package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Graphic.js +41 -3
- package/lib/cjs/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.js +90 -0
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -0
- package/lib/cjs/render/webgl/InstancedGeometry.d.ts +6 -5
- package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
- package/lib/cjs/render/webgl/InstancedGeometry.js +2 -1
- package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/Material.d.ts +1 -1
- package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Material.js +2 -0
- package/lib/cjs/render/webgl/Material.js.map +1 -1
- package/lib/cjs/render/webgl/Mesh.d.ts +8 -162
- package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Mesh.js +18 -458
- package/lib/cjs/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/render/webgl/MeshData.d.ts +38 -0
- package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -0
- package/lib/cjs/render/webgl/MeshData.js +66 -0
- package/lib/cjs/render/webgl/MeshData.js.map +1 -0
- package/lib/cjs/render/webgl/MeshGeometry.d.ts +38 -0
- package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -0
- package/lib/cjs/render/webgl/MeshGeometry.js +59 -0
- package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -0
- package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
- package/lib/cjs/render/webgl/PlanarClassifier.js +8 -4
- package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarGrid.d.ts +2 -3
- package/lib/cjs/render/webgl/PlanarGrid.d.ts.map +1 -1
- package/lib/cjs/render/webgl/PlanarGrid.js +3 -3
- package/lib/cjs/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
- package/lib/cjs/render/webgl/PlanarTextureProjection.js +1 -0
- package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/cjs/render/webgl/PointCloud.d.ts +2 -2
- package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
- package/lib/cjs/render/webgl/PointCloud.js +2 -2
- package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
- package/lib/cjs/render/webgl/PointString.d.ts +3 -3
- package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
- package/lib/cjs/render/webgl/PointString.js +1 -1
- package/lib/cjs/render/webgl/PointString.js.map +1 -1
- package/lib/cjs/render/webgl/Polyline.d.ts +3 -3
- package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Polyline.js +6 -6
- package/lib/cjs/render/webgl/Polyline.js.map +1 -1
- package/lib/cjs/render/webgl/Primitive.d.ts +2 -2
- package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Primitive.js +5 -5
- package/lib/cjs/render/webgl/Primitive.js.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.d.ts +2 -2
- package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.js +9 -9
- package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/RenderCommands.d.ts +6 -2
- package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RenderCommands.js +81 -48
- package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.d.ts +48 -1
- package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.js +64 -2
- package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/render/webgl/SceneCompositor.js +10 -9
- package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/render/webgl/ScreenSpaceEffect.js +1 -1
- package/lib/cjs/render/webgl/ShaderBuilder.d.ts +23 -20
- package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/cjs/render/webgl/ShaderBuilder.js +38 -32
- package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/render/webgl/ShaderProgram.d.ts +1 -1
- package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
- package/lib/cjs/render/webgl/ShaderProgram.js +4 -4
- package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/cjs/render/webgl/SolarShadowMap.d.ts.map +1 -1
- package/lib/cjs/render/webgl/SolarShadowMap.js +4 -3
- package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +54 -0
- package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -0
- package/lib/cjs/render/webgl/SurfaceGeometry.js +248 -0
- package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -0
- package/lib/cjs/render/webgl/System.d.ts +13 -10
- package/lib/cjs/render/webgl/System.d.ts.map +1 -1
- package/lib/cjs/render/webgl/System.js +75 -21
- package/lib/cjs/render/webgl/System.js.map +1 -1
- package/lib/cjs/render/webgl/Target.d.ts +13 -1
- package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Target.js +88 -2
- package/lib/cjs/render/webgl/Target.js.map +1 -1
- package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Technique.js +112 -119
- package/lib/cjs/render/webgl/Technique.js.map +1 -1
- package/lib/cjs/render/webgl/TechniqueFlags.d.ts +7 -1
- package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
- package/lib/cjs/render/webgl/TechniqueFlags.js +10 -1
- package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/cjs/render/webgl/TechniqueId.d.ts +29 -28
- package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
- package/lib/cjs/render/webgl/TechniqueId.js +7 -7
- package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
- package/lib/cjs/render/webgl/Texture.d.ts +15 -12
- package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Texture.js +26 -23
- package/lib/cjs/render/webgl/Texture.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +83 -18
- package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Animation.js +1 -1
- package/lib/cjs/render/webgl/glsl/Blur.js +1 -1
- package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +2 -2
- package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +2 -2
- package/lib/cjs/render/webgl/glsl/Color.js +1 -1
- package/lib/cjs/render/webgl/glsl/Combine3Textures.js +1 -1
- package/lib/cjs/render/webgl/glsl/CombineTextures.js +1 -1
- package/lib/cjs/render/webgl/glsl/Composite.js +1 -1
- package/lib/cjs/render/webgl/glsl/CopyColor.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyColor.js +17 -2
- package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +2 -2
- package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyStencil.js +10 -13
- package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +2 -2
- package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Edge.d.ts +2 -1
- package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/Edge.js +132 -14
- package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +43 -21
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Fragment.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/Fragment.js +19 -11
- package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
- package/lib/cjs/render/webgl/glsl/LookupTable.d.ts +4 -2
- package/lib/cjs/render/webgl/glsl/LookupTable.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/LookupTable.js +7 -3
- package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarClassification.js +13 -4
- package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarGrid.js +2 -2
- package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PointCloud.js +2 -2
- package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PointString.js +1 -1
- package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Polyline.js +1 -1
- package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.js +9 -6
- package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkyBox.js +2 -2
- package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkySphere.js +2 -2
- package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/Surface.js +41 -16
- package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Translucency.js +2 -2
- package/lib/cjs/render/webgl/glsl/Vertex.js +2 -2
- package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ViewportQuad.js +1 -1
- package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts +9 -0
- package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
- package/lib/cjs/render/webgl/glsl/Wiremesh.js +40 -0
- package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -0
- package/lib/cjs/render-primitives.d.ts +5 -1
- package/lib/cjs/render-primitives.d.ts.map +1 -1
- package/lib/cjs/render-primitives.js +5 -1
- package/lib/cjs/render-primitives.js.map +1 -1
- package/lib/cjs/request/Request.d.ts +167 -0
- package/lib/cjs/request/Request.d.ts.map +1 -0
- package/lib/cjs/request/Request.js +315 -0
- package/lib/cjs/request/Request.js.map +1 -0
- package/lib/cjs/tile/B3dmReader.d.ts +2 -1
- package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
- package/lib/cjs/tile/B3dmReader.js +11 -7
- package/lib/cjs/tile/B3dmReader.js.map +1 -1
- package/lib/cjs/tile/CesiumAssetProvider.d.ts +14 -0
- package/lib/cjs/tile/CesiumAssetProvider.d.ts.map +1 -0
- package/lib/cjs/tile/CesiumAssetProvider.js +35 -0
- package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -0
- package/lib/cjs/tile/ContextShareProvider.d.ts +22 -0
- package/lib/cjs/tile/ContextShareProvider.d.ts.map +1 -0
- package/lib/cjs/tile/ContextShareProvider.js +129 -0
- package/lib/cjs/tile/ContextShareProvider.js.map +1 -0
- package/lib/cjs/tile/DynamicIModelTile.js +9 -3
- package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
- package/lib/cjs/tile/GltfReader.d.ts +594 -55
- package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
- package/lib/cjs/tile/GltfReader.js +703 -264
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/I3dmReader.d.ts +2 -1
- package/lib/cjs/tile/I3dmReader.d.ts.map +1 -1
- package/lib/cjs/tile/I3dmReader.js +10 -6
- package/lib/cjs/tile/I3dmReader.js.map +1 -1
- package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
- package/lib/cjs/tile/IModelTile.js +14 -7
- package/lib/cjs/tile/IModelTile.js.map +1 -1
- package/lib/cjs/tile/IModelTileTree.d.ts +8 -0
- package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/IModelTileTree.js +36 -1
- package/lib/cjs/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.d.ts +365 -10
- package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
- package/lib/cjs/tile/ImdlReader.js +202 -68
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/OrbitGtTileTree.js +8 -5
- package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.d.ts +14 -5
- package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.js +69 -14
- package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityModelTileTree.d.ts +3 -55
- package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RealityModelTileTree.js +57 -232
- package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityTileLoader.d.ts +1 -0
- package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileLoader.js +4 -3
- package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/tile/Tile.d.ts.map +1 -1
- package/lib/cjs/tile/Tile.js +5 -1
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.d.ts +37 -4
- package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
- package/lib/cjs/tile/TileAdmin.js +18 -12
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.d.ts +11 -0
- package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.js +6 -1
- package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
- package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
- package/lib/cjs/tile/TileTreeReference.js +5 -0
- package/lib/cjs/tile/TileTreeReference.js.map +1 -1
- package/lib/cjs/tile/internal.d.ts +4 -1
- package/lib/cjs/tile/internal.d.ts.map +1 -1
- package/lib/cjs/tile/internal.js +4 -1
- package/lib/cjs/tile/internal.js.map +1 -1
- package/lib/cjs/tile/map/ArcGISTileMap.d.ts +22 -0
- package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -0
- package/lib/cjs/tile/map/ArcGISTileMap.js +177 -0
- package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -0
- package/lib/cjs/tile/map/ArcGisTokenGenerator.js +3 -3
- package/lib/cjs/tile/map/ArcGisTokenGenerator.js.map +1 -1
- package/lib/cjs/tile/map/ArcGisUtilities.d.ts +1 -1
- package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
- package/lib/cjs/tile/map/ArcGisUtilities.js +18 -10
- package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/cjs/tile/map/BingElevation.js +4 -4
- package/lib/cjs/tile/map/BingElevation.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js +27 -15
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +23 -44
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +3 -3
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.d.ts +4 -4
- package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js +20 -24
- package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerAuthentication.d.ts +20 -0
- package/lib/cjs/tile/map/MapLayerAuthentication.d.ts.map +1 -0
- package/lib/cjs/tile/map/MapLayerAuthentication.js +18 -0
- package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -0
- package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +6 -3
- package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js +3 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +2 -2
- package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.js +21 -8
- package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +18 -6
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js +47 -14
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.d.ts +3 -11
- package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js +5 -34
- package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTile.js +4 -3
- package/lib/cjs/tile/map/MapTile.js.map +1 -1
- package/lib/cjs/tile/map/MapTileLoader.js +2 -2
- package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +30 -21
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +4 -6
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.d.ts +7 -2
- package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.js +21 -8
- package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/cjs/tile/map/QuadId.d.ts +1 -0
- package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
- package/lib/cjs/tile/map/QuadId.js +2 -1
- package/lib/cjs/tile/map/QuadId.js.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/cjs/tile/map/WmsCapabilities.d.ts +8 -1
- package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
- package/lib/cjs/tile/map/WmsCapabilities.js +39 -5
- package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/cjs/tile/map/WmtsCapabilities.d.ts +11 -1
- package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/cjs/tile/map/WmtsCapabilities.js +23 -9
- package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
- package/lib/cjs/tools/EditManipulator.js +1 -1
- package/lib/cjs/tools/EditManipulator.js.map +1 -1
- package/lib/cjs/tools/ElementSetTool.js +2 -2
- package/lib/cjs/tools/ElementSetTool.js.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.d.ts +4 -4
- package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.js +2 -2
- package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
- package/lib/cjs/tools/Tool.d.ts +29 -1
- package/lib/cjs/tools/Tool.d.ts.map +1 -1
- package/lib/cjs/tools/Tool.js +66 -0
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js +20 -10
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/tools/ViewTool.js +1 -1
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/cjs/webgl.d.ts +5 -0
- package/lib/cjs/webgl.d.ts.map +1 -1
- package/lib/cjs/webgl.js +5 -0
- package/lib/cjs/webgl.js.map +1 -1
- package/lib/esm/AccuSnap.js +3 -3
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
- package/lib/esm/ApproximateTerrainHeights.js +10 -5
- package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
- package/lib/esm/BackgroundMapGeometry.d.ts +1 -1
- package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
- package/lib/esm/BackgroundMapGeometry.js +2 -2
- package/lib/esm/BackgroundMapGeometry.js.map +1 -1
- package/lib/esm/BingLocation.js +1 -1
- package/lib/esm/BingLocation.js.map +1 -1
- package/lib/esm/CheckpointConnection.js +1 -1
- package/lib/esm/CheckpointConnection.js.map +1 -1
- package/lib/esm/ContextRealityModelState.js +1 -1
- package/lib/esm/ContextRealityModelState.js.map +1 -1
- package/lib/esm/DisplayStyleState.d.ts +10 -163
- package/lib/esm/DisplayStyleState.d.ts.map +1 -1
- package/lib/esm/DisplayStyleState.js +70 -346
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.d.ts +2 -2
- package/lib/esm/DrawingViewState.d.ts.map +1 -1
- package/lib/esm/DrawingViewState.js +3 -3
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/EmphasizeElements.d.ts.map +1 -1
- package/lib/esm/EmphasizeElements.js +14 -4
- package/lib/esm/EmphasizeElements.js.map +1 -1
- package/lib/esm/EnvironmentDecorations.d.ts +39 -0
- package/lib/esm/EnvironmentDecorations.d.ts.map +1 -0
- package/lib/esm/EnvironmentDecorations.js +196 -0
- package/lib/esm/EnvironmentDecorations.js.map +1 -0
- package/lib/esm/FrontendHubAccess.d.ts +11 -7
- package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
- package/lib/esm/FrontendHubAccess.js.map +1 -1
- package/lib/esm/FrontendLoggerCategory.d.ts +2 -8
- package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
- package/lib/esm/FrontendLoggerCategory.js +2 -8
- package/lib/esm/FrontendLoggerCategory.js.map +1 -1
- package/lib/esm/HitDetail.js +7 -7
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.d.ts +31 -24
- package/lib/esm/IModelApp.d.ts.map +1 -1
- package/lib/esm/IModelApp.js +34 -35
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.d.ts +4 -6
- package/lib/esm/IModelConnection.d.ts.map +1 -1
- package/lib/esm/IModelConnection.js +6 -11
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IModeljs-css.d.ts.map +1 -1
- package/lib/esm/IModeljs-css.js +8 -6
- package/lib/esm/IModeljs-css.js.map +1 -1
- package/lib/esm/ImageUtil.d.ts +3 -3
- package/lib/esm/ImageUtil.d.ts.map +1 -1
- package/lib/esm/ImageUtil.js +7 -4
- package/lib/esm/ImageUtil.js.map +1 -1
- package/lib/esm/LocalhostIpcApp.d.ts +2 -1
- package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
- package/lib/esm/LocalhostIpcApp.js +22 -8
- package/lib/esm/LocalhostIpcApp.js.map +1 -1
- package/lib/esm/Marker.d.ts +9 -2
- package/lib/esm/Marker.d.ts.map +1 -1
- package/lib/esm/Marker.js +34 -6
- package/lib/esm/Marker.js.map +1 -1
- package/lib/esm/ModelState.js +1 -1
- package/lib/esm/ModelState.js.map +1 -1
- package/lib/esm/NativeApp.d.ts +3 -38
- package/lib/esm/NativeApp.d.ts.map +1 -1
- package/lib/esm/NativeApp.js +1 -69
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/NoRenderApp.d.ts +0 -1
- package/lib/esm/NoRenderApp.d.ts.map +1 -1
- package/lib/esm/NoRenderApp.js +0 -1
- package/lib/esm/NoRenderApp.js.map +1 -1
- package/lib/esm/NotificationManager.d.ts +3 -1
- package/lib/esm/NotificationManager.d.ts.map +1 -1
- package/lib/esm/NotificationManager.js +2 -0
- package/lib/esm/NotificationManager.js.map +1 -1
- package/lib/esm/RealityDataSource.d.ts +59 -29
- package/lib/esm/RealityDataSource.d.ts.map +1 -1
- package/lib/esm/RealityDataSource.js +247 -92
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/RenderScheduleState.d.ts +2 -0
- package/lib/esm/RenderScheduleState.d.ts.map +1 -1
- package/lib/esm/RenderScheduleState.js +8 -4
- package/lib/esm/RenderScheduleState.js.map +1 -1
- package/lib/esm/SheetViewState.d.ts +2 -2
- package/lib/esm/SheetViewState.d.ts.map +1 -1
- package/lib/esm/SheetViewState.js +8 -9
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/SpatialViewState.d.ts +10 -2
- package/lib/esm/SpatialViewState.d.ts.map +1 -1
- package/lib/esm/SpatialViewState.js +12 -2
- package/lib/esm/SpatialViewState.js.map +1 -1
- package/lib/esm/SubCategoriesCache.js +1 -1
- package/lib/esm/SubCategoriesCache.js.map +1 -1
- package/lib/esm/Tiles.d.ts +11 -1
- package/lib/esm/Tiles.d.ts.map +1 -1
- package/lib/esm/Tiles.js +7 -0
- package/lib/esm/Tiles.js.map +1 -1
- package/lib/esm/TwoWayViewportSync.d.ts +35 -6
- package/lib/esm/TwoWayViewportSync.d.ts.map +1 -1
- package/lib/esm/TwoWayViewportSync.js +49 -10
- package/lib/esm/TwoWayViewportSync.js.map +1 -1
- package/lib/esm/UserPreferences.d.ts +72 -0
- package/lib/esm/UserPreferences.d.ts.map +1 -0
- package/lib/esm/{extension/ExtensionLoader.js → UserPreferences.js} +1 -5
- package/lib/esm/UserPreferences.js.map +1 -0
- package/lib/esm/ViewContext.d.ts +3 -1
- package/lib/esm/ViewContext.d.ts.map +1 -1
- package/lib/esm/ViewContext.js +4 -0
- package/lib/esm/ViewContext.js.map +1 -1
- package/lib/esm/ViewCreator2d.js +3 -3
- package/lib/esm/ViewCreator2d.js.map +1 -1
- package/lib/esm/ViewCreator3d.d.ts +1 -1
- package/lib/esm/ViewCreator3d.d.ts.map +1 -1
- package/lib/esm/ViewCreator3d.js +5 -6
- package/lib/esm/ViewCreator3d.js.map +1 -1
- package/lib/esm/ViewManager.d.ts +6 -6
- package/lib/esm/ViewManager.d.ts.map +1 -1
- package/lib/esm/ViewManager.js +13 -13
- package/lib/esm/ViewManager.js.map +1 -1
- package/lib/esm/ViewState.d.ts +11 -5
- package/lib/esm/ViewState.d.ts.map +1 -1
- package/lib/esm/ViewState.js +21 -66
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/ViewingSpace.js +1 -1
- package/lib/esm/ViewingSpace.js.map +1 -1
- package/lib/esm/Viewport.d.ts +34 -6
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +43 -23
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/core-frontend.d.ts +17 -31
- package/lib/esm/core-frontend.d.ts.map +1 -1
- package/lib/esm/core-frontend.js +17 -31
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
- package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/BasicUnitsProvider.js +18 -4
- package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +26 -3
- package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js +45 -7
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
- package/lib/esm/render/FeatureSymbology.js +3 -3
- package/lib/esm/render/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/GraphicBranch.d.ts +18 -2
- package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
- package/lib/esm/render/GraphicBranch.js +8 -0
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/GraphicBuilder.d.ts +7 -1
- package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
- package/lib/esm/render/GraphicBuilder.js.map +1 -1
- package/lib/esm/render/MockRender.d.ts +3 -1
- package/lib/esm/render/MockRender.d.ts.map +1 -1
- package/lib/esm/render/MockRender.js.map +1 -1
- package/lib/esm/render/RenderMaterial.d.ts +61 -0
- package/lib/esm/render/RenderMaterial.d.ts.map +1 -0
- package/lib/esm/render/RenderMaterial.js +9 -0
- package/lib/esm/render/RenderMaterial.js.map +1 -0
- package/lib/esm/render/RenderMemory.d.ts +21 -15
- package/lib/esm/render/RenderMemory.d.ts.map +1 -1
- package/lib/esm/render/RenderMemory.js +21 -15
- package/lib/esm/render/RenderMemory.js.map +1 -1
- package/lib/esm/render/RenderSystem.d.ts +44 -7
- package/lib/esm/render/RenderSystem.d.ts.map +1 -1
- package/lib/esm/render/RenderSystem.js +32 -9
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/RenderTarget.d.ts +10 -2
- package/lib/esm/render/RenderTarget.d.ts.map +1 -1
- package/lib/esm/render/RenderTarget.js +2 -1
- package/lib/esm/render/RenderTarget.js.map +1 -1
- package/lib/esm/render/RenderTexture.d.ts +2 -17
- package/lib/esm/render/RenderTexture.d.ts.map +1 -1
- package/lib/esm/render/RenderTexture.js +1 -16
- package/lib/esm/render/RenderTexture.js.map +1 -1
- package/lib/esm/render/primitives/EdgeParams.d.ts +84 -0
- package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -0
- package/lib/esm/render/primitives/EdgeParams.js +217 -0
- package/lib/esm/render/primitives/EdgeParams.js.map +1 -0
- package/lib/esm/render/primitives/PointStringParams.d.ts +16 -0
- package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -0
- package/lib/esm/render/primitives/PointStringParams.js +39 -0
- package/lib/esm/render/primitives/PointStringParams.js.map +1 -0
- package/lib/esm/render/primitives/PolylineParams.d.ts +44 -0
- package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -0
- package/lib/esm/render/primitives/PolylineParams.js +199 -0
- package/lib/esm/render/primitives/PolylineParams.js.map +1 -0
- package/lib/esm/render/primitives/Primitives.d.ts +1 -1
- package/lib/esm/render/primitives/Primitives.d.ts.map +1 -1
- package/lib/esm/render/primitives/Primitives.js.map +1 -1
- package/lib/esm/render/primitives/SurfaceParams.d.ts +46 -0
- package/lib/esm/render/primitives/SurfaceParams.d.ts.map +1 -0
- package/lib/esm/render/primitives/SurfaceParams.js +37 -0
- package/lib/esm/render/primitives/SurfaceParams.js.map +1 -0
- package/lib/esm/render/primitives/VertexTable.d.ts +4 -123
- package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
- package/lib/esm/render/primitives/VertexTable.js +11 -342
- package/lib/esm/render/primitives/VertexTable.js.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
- package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +2 -1
- package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -0
- package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
- package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
- package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
- package/lib/esm/render/primitives/mesh/MeshPrimitives.js +3 -3
- package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
- package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
- package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
- package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
- package/lib/esm/render/webgl/AttributeMap.js +5 -5
- package/lib/esm/render/webgl/BackgroundMapDrape.js +2 -2
- package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
- package/lib/esm/render/webgl/BranchUniforms.js +8 -5
- package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/esm/render/webgl/CachedGeometry.d.ts +16 -11
- package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/esm/render/webgl/CachedGeometry.js +26 -23
- package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/DrawCommand.d.ts +2 -3
- package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
- package/lib/esm/render/webgl/DrawCommand.js +6 -4
- package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
- package/lib/esm/render/webgl/EdgeGeometry.d.ts +73 -0
- package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -0
- package/lib/esm/render/webgl/EdgeGeometry.js +135 -0
- package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -0
- package/lib/esm/render/webgl/FeatureOverrides.d.ts +2 -0
- package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
- package/lib/esm/render/webgl/FeatureOverrides.js +11 -3
- package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/esm/render/webgl/FloatRGBA.d.ts.map +1 -1
- package/lib/esm/render/webgl/FloatRGBA.js +13 -11
- package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/esm/render/webgl/Graphic.d.ts +13 -0
- package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/esm/render/webgl/Graphic.js +39 -2
- package/lib/esm/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
- package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
- package/lib/esm/render/webgl/IndexedEdgeGeometry.js +85 -0
- package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -0
- package/lib/esm/render/webgl/InstancedGeometry.d.ts +6 -5
- package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
- package/lib/esm/render/webgl/InstancedGeometry.js +2 -1
- package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/Material.d.ts +1 -1
- package/lib/esm/render/webgl/Material.d.ts.map +1 -1
- package/lib/esm/render/webgl/Material.js +2 -0
- package/lib/esm/render/webgl/Material.js.map +1 -1
- package/lib/esm/render/webgl/Mesh.d.ts +8 -162
- package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/Mesh.js +12 -445
- package/lib/esm/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/render/webgl/MeshData.d.ts +38 -0
- package/lib/esm/render/webgl/MeshData.d.ts.map +1 -0
- package/lib/esm/render/webgl/MeshData.js +62 -0
- package/lib/esm/render/webgl/MeshData.js.map +1 -0
- package/lib/esm/render/webgl/MeshGeometry.d.ts +38 -0
- package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -0
- package/lib/esm/render/webgl/MeshGeometry.js +55 -0
- package/lib/esm/render/webgl/MeshGeometry.js.map +1 -0
- package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
- package/lib/esm/render/webgl/PlanarClassifier.js +9 -5
- package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/render/webgl/PlanarGrid.d.ts +2 -3
- package/lib/esm/render/webgl/PlanarGrid.d.ts.map +1 -1
- package/lib/esm/render/webgl/PlanarGrid.js +3 -3
- package/lib/esm/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
- package/lib/esm/render/webgl/PlanarTextureProjection.js +1 -0
- package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/esm/render/webgl/PointCloud.d.ts +2 -2
- package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
- package/lib/esm/render/webgl/PointCloud.js +2 -2
- package/lib/esm/render/webgl/PointCloud.js.map +1 -1
- package/lib/esm/render/webgl/PointString.d.ts +3 -3
- package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
- package/lib/esm/render/webgl/PointString.js +1 -1
- package/lib/esm/render/webgl/PointString.js.map +1 -1
- package/lib/esm/render/webgl/Polyline.d.ts +3 -3
- package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
- package/lib/esm/render/webgl/Polyline.js +6 -6
- package/lib/esm/render/webgl/Polyline.js.map +1 -1
- package/lib/esm/render/webgl/Primitive.d.ts +2 -2
- package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
- package/lib/esm/render/webgl/Primitive.js +5 -5
- package/lib/esm/render/webgl/Primitive.js.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.d.ts +2 -2
- package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.js +9 -9
- package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/RenderCommands.d.ts +6 -2
- package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/esm/render/webgl/RenderCommands.js +78 -45
- package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/render/webgl/RenderFlags.d.ts +48 -1
- package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/esm/render/webgl/RenderFlags.js +63 -1
- package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
- package/lib/esm/render/webgl/SceneCompositor.js +10 -9
- package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/render/webgl/ScreenSpaceEffect.js +1 -1
- package/lib/esm/render/webgl/ShaderBuilder.d.ts +23 -20
- package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/esm/render/webgl/ShaderBuilder.js +38 -32
- package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/render/webgl/ShaderProgram.d.ts +1 -1
- package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
- package/lib/esm/render/webgl/ShaderProgram.js +4 -4
- package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/esm/render/webgl/SolarShadowMap.d.ts.map +1 -1
- package/lib/esm/render/webgl/SolarShadowMap.js +5 -4
- package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/esm/render/webgl/SurfaceGeometry.d.ts +54 -0
- package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -0
- package/lib/esm/render/webgl/SurfaceGeometry.js +243 -0
- package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -0
- package/lib/esm/render/webgl/System.d.ts +13 -10
- package/lib/esm/render/webgl/System.d.ts.map +1 -1
- package/lib/esm/render/webgl/System.js +77 -23
- package/lib/esm/render/webgl/System.js.map +1 -1
- package/lib/esm/render/webgl/Target.d.ts +13 -1
- package/lib/esm/render/webgl/Target.d.ts.map +1 -1
- package/lib/esm/render/webgl/Target.js +88 -2
- package/lib/esm/render/webgl/Target.js.map +1 -1
- package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
- package/lib/esm/render/webgl/Technique.js +112 -119
- package/lib/esm/render/webgl/Technique.js.map +1 -1
- package/lib/esm/render/webgl/TechniqueFlags.d.ts +7 -1
- package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
- package/lib/esm/render/webgl/TechniqueFlags.js +10 -1
- package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/esm/render/webgl/TechniqueId.d.ts +29 -28
- package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
- package/lib/esm/render/webgl/TechniqueId.js +7 -7
- package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
- package/lib/esm/render/webgl/Texture.d.ts +15 -12
- package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
- package/lib/esm/render/webgl/Texture.js +27 -24
- package/lib/esm/render/webgl/Texture.js.map +1 -1
- package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +84 -19
- package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Animation.js +1 -1
- package/lib/esm/render/webgl/glsl/Blur.js +1 -1
- package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +2 -2
- package/lib/esm/render/webgl/glsl/ClearTranslucent.js +2 -2
- package/lib/esm/render/webgl/glsl/Color.js +1 -1
- package/lib/esm/render/webgl/glsl/Combine3Textures.js +1 -1
- package/lib/esm/render/webgl/glsl/CombineTextures.js +1 -1
- package/lib/esm/render/webgl/glsl/Composite.js +1 -1
- package/lib/esm/render/webgl/glsl/CopyColor.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/CopyColor.js +17 -2
- package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +2 -2
- package/lib/esm/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/CopyStencil.js +10 -13
- package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +2 -2
- package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Edge.d.ts +2 -1
- package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/Edge.js +132 -14
- package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/FeatureSymbology.js +44 -22
- package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Fragment.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/Fragment.js +19 -11
- package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
- package/lib/esm/render/webgl/glsl/LookupTable.d.ts +4 -2
- package/lib/esm/render/webgl/glsl/LookupTable.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/LookupTable.js +7 -3
- package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/PlanarClassification.js +13 -4
- package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PlanarGrid.js +2 -2
- package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PointCloud.js +2 -2
- package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PointString.js +1 -1
- package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Polyline.js +1 -1
- package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/RealityMesh.js +9 -6
- package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
- package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/render/webgl/glsl/SkyBox.js +2 -2
- package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/esm/render/webgl/glsl/SkySphere.js +2 -2
- package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/Surface.js +41 -16
- package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Translucency.js +2 -2
- package/lib/esm/render/webgl/glsl/Vertex.js +3 -3
- package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/esm/render/webgl/glsl/ViewportQuad.js +1 -1
- package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Wiremesh.d.ts +9 -0
- package/lib/esm/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
- package/lib/esm/render/webgl/glsl/Wiremesh.js +36 -0
- package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -0
- package/lib/esm/render-primitives.d.ts +5 -1
- package/lib/esm/render-primitives.d.ts.map +1 -1
- package/lib/esm/render-primitives.js +5 -1
- package/lib/esm/render-primitives.js.map +1 -1
- package/lib/esm/request/Request.d.ts +167 -0
- package/lib/esm/request/Request.d.ts.map +1 -0
- package/lib/esm/request/Request.js +289 -0
- package/lib/esm/request/Request.js.map +1 -0
- package/lib/esm/tile/B3dmReader.d.ts +2 -1
- package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
- package/lib/esm/tile/B3dmReader.js +12 -8
- package/lib/esm/tile/B3dmReader.js.map +1 -1
- package/lib/esm/tile/CesiumAssetProvider.d.ts +14 -0
- package/lib/esm/tile/CesiumAssetProvider.d.ts.map +1 -0
- package/lib/esm/tile/CesiumAssetProvider.js +31 -0
- package/lib/esm/tile/CesiumAssetProvider.js.map +1 -0
- package/lib/esm/tile/ContextShareProvider.d.ts +22 -0
- package/lib/esm/tile/ContextShareProvider.d.ts.map +1 -0
- package/lib/esm/tile/ContextShareProvider.js +125 -0
- package/lib/esm/tile/ContextShareProvider.js.map +1 -0
- package/lib/esm/tile/DynamicIModelTile.js +9 -3
- package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
- package/lib/esm/tile/GltfReader.d.ts +594 -55
- package/lib/esm/tile/GltfReader.d.ts.map +1 -1
- package/lib/esm/tile/GltfReader.js +678 -242
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/I3dmReader.d.ts +2 -1
- package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
- package/lib/esm/tile/I3dmReader.js +11 -7
- package/lib/esm/tile/I3dmReader.js.map +1 -1
- package/lib/esm/tile/IModelTile.d.ts.map +1 -1
- package/lib/esm/tile/IModelTile.js +14 -7
- package/lib/esm/tile/IModelTile.js.map +1 -1
- package/lib/esm/tile/IModelTileTree.d.ts +8 -0
- package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/esm/tile/IModelTileTree.js +36 -1
- package/lib/esm/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/tile/ImdlReader.d.ts +365 -10
- package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
- package/lib/esm/tile/ImdlReader.js +199 -66
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
- package/lib/esm/tile/OrbitGtTileTree.js +8 -5
- package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.d.ts +14 -5
- package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.js +70 -15
- package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/tile/RealityModelTileTree.d.ts +3 -55
- package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/tile/RealityModelTileTree.js +56 -230
- package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/tile/RealityTileLoader.d.ts +1 -0
- package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileLoader.js +4 -3
- package/lib/esm/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/tile/Tile.d.ts.map +1 -1
- package/lib/esm/tile/Tile.js +5 -1
- package/lib/esm/tile/Tile.js.map +1 -1
- package/lib/esm/tile/TileAdmin.d.ts +37 -4
- package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
- package/lib/esm/tile/TileAdmin.js +19 -13
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/TileDrawArgs.d.ts +11 -0
- package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
- package/lib/esm/tile/TileDrawArgs.js +6 -1
- package/lib/esm/tile/TileDrawArgs.js.map +1 -1
- package/lib/esm/tile/TileTreeReference.d.ts +2 -0
- package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
- package/lib/esm/tile/TileTreeReference.js +5 -0
- package/lib/esm/tile/TileTreeReference.js.map +1 -1
- package/lib/esm/tile/internal.d.ts +4 -1
- package/lib/esm/tile/internal.d.ts.map +1 -1
- package/lib/esm/tile/internal.js +4 -1
- package/lib/esm/tile/internal.js.map +1 -1
- package/lib/esm/tile/map/ArcGISTileMap.d.ts +22 -0
- package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -0
- package/lib/esm/tile/map/ArcGISTileMap.js +173 -0
- package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -0
- package/lib/esm/tile/map/ArcGisTokenGenerator.js +1 -1
- package/lib/esm/tile/map/ArcGisTokenGenerator.js.map +1 -1
- package/lib/esm/tile/map/ArcGisUtilities.d.ts +1 -1
- package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
- package/lib/esm/tile/map/ArcGisUtilities.js +14 -6
- package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/esm/tile/map/BingElevation.js +1 -1
- package/lib/esm/tile/map/BingElevation.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js +25 -13
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +21 -42
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.d.ts +4 -4
- package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.js +21 -25
- package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/esm/tile/map/MapLayerAuthentication.d.ts +20 -0
- package/lib/esm/tile/map/MapLayerAuthentication.d.ts.map +1 -0
- package/lib/esm/tile/map/MapLayerAuthentication.js +15 -0
- package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -0
- package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +6 -3
- package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js +3 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +2 -2
- package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.js +22 -9
- package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +18 -6
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js +44 -11
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.d.ts +3 -11
- package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.js +7 -36
- package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
- package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTile.js +4 -3
- 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 +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js +30 -21
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
- package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -6
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTilingScheme.d.ts +7 -2
- package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTilingScheme.js +22 -9
- package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/esm/tile/map/QuadId.d.ts +1 -0
- package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
- package/lib/esm/tile/map/QuadId.js +2 -1
- package/lib/esm/tile/map/QuadId.js.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.d.ts +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/esm/tile/map/WmsCapabilities.d.ts +8 -1
- package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
- package/lib/esm/tile/map/WmsCapabilities.js +37 -3
- package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/esm/tile/map/WmtsCapabilities.d.ts +11 -1
- package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/esm/tile/map/WmtsCapabilities.js +20 -6
- package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
- package/lib/esm/tools/EditManipulator.js +1 -1
- package/lib/esm/tools/EditManipulator.js.map +1 -1
- package/lib/esm/tools/ElementSetTool.js +2 -2
- package/lib/esm/tools/ElementSetTool.js.map +1 -1
- package/lib/esm/tools/PrimitiveTool.d.ts +4 -4
- package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
- package/lib/esm/tools/PrimitiveTool.js +2 -2
- package/lib/esm/tools/PrimitiveTool.js.map +1 -1
- package/lib/esm/tools/Tool.d.ts +29 -1
- package/lib/esm/tools/Tool.d.ts.map +1 -1
- package/lib/esm/tools/Tool.js +66 -0
- package/lib/esm/tools/Tool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/esm/tools/ToolAdmin.js +20 -10
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/tools/ViewTool.js +1 -1
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/esm/webgl.d.ts +5 -0
- package/lib/esm/webgl.d.ts.map +1 -1
- package/lib/esm/webgl.js +5 -0
- package/lib/esm/webgl.js.map +1 -1
- package/lib/public/locales/en/iModelJs.json +3 -1
- package/package.json +32 -27
- package/lib/cjs/RealityDataAccessProps.d.ts +0 -42
- package/lib/cjs/RealityDataAccessProps.d.ts.map +0 -1
- package/lib/cjs/RealityDataAccessProps.js +0 -23
- package/lib/cjs/RealityDataAccessProps.js.map +0 -1
- package/lib/cjs/RealityDataConnection.d.ts +0 -31
- package/lib/cjs/RealityDataConnection.d.ts.map +0 -1
- package/lib/cjs/RealityDataConnection.js +0 -101
- package/lib/cjs/RealityDataConnection.js.map +0 -1
- package/lib/cjs/extension/Extension.d.ts +0 -39
- package/lib/cjs/extension/Extension.d.ts.map +0 -1
- package/lib/cjs/extension/Extension.js +0 -39
- package/lib/cjs/extension/Extension.js.map +0 -1
- package/lib/cjs/extension/ExtensionAdmin.d.ts +0 -70
- package/lib/cjs/extension/ExtensionAdmin.d.ts.map +0 -1
- package/lib/cjs/extension/ExtensionAdmin.js +0 -105
- package/lib/cjs/extension/ExtensionAdmin.js.map +0 -1
- package/lib/cjs/extension/ExtensionHost.d.ts +0 -22
- package/lib/cjs/extension/ExtensionHost.d.ts.map +0 -1
- package/lib/cjs/extension/ExtensionHost.js +0 -24
- package/lib/cjs/extension/ExtensionHost.js.map +0 -1
- package/lib/cjs/extension/ExtensionImpl.d.ts +0 -16
- package/lib/cjs/extension/ExtensionImpl.d.ts.map +0 -1
- package/lib/cjs/extension/ExtensionImpl.js +0 -40
- package/lib/cjs/extension/ExtensionImpl.js.map +0 -1
- package/lib/cjs/extension/ExtensionLoader.d.ts +0 -20
- package/lib/cjs/extension/ExtensionLoader.d.ts.map +0 -1
- package/lib/cjs/extension/ExtensionLoader.js.map +0 -1
- package/lib/cjs/extension/ExtensionRuntime.d.ts +0 -2
- package/lib/cjs/extension/ExtensionRuntime.d.ts.map +0 -1
- package/lib/cjs/extension/ExtensionRuntime.js +0 -71
- package/lib/cjs/extension/ExtensionRuntime.js.map +0 -1
- package/lib/cjs/extension/extensions.d.ts +0 -18
- package/lib/cjs/extension/extensions.d.ts.map +0 -1
- package/lib/cjs/extension/extensions.js +0 -35
- package/lib/cjs/extension/extensions.js.map +0 -1
- package/lib/cjs/tile/map/MapLayerSettingsService.d.ts +0 -39
- package/lib/cjs/tile/map/MapLayerSettingsService.d.ts.map +0 -1
- package/lib/cjs/tile/map/MapLayerSettingsService.js +0 -190
- package/lib/cjs/tile/map/MapLayerSettingsService.js.map +0 -1
- package/lib/esm/RealityDataAccessProps.d.ts +0 -42
- package/lib/esm/RealityDataAccessProps.d.ts.map +0 -1
- package/lib/esm/RealityDataAccessProps.js +0 -20
- package/lib/esm/RealityDataAccessProps.js.map +0 -1
- package/lib/esm/RealityDataConnection.d.ts +0 -31
- package/lib/esm/RealityDataConnection.d.ts.map +0 -1
- package/lib/esm/RealityDataConnection.js +0 -98
- package/lib/esm/RealityDataConnection.js.map +0 -1
- package/lib/esm/extension/Extension.d.ts +0 -39
- package/lib/esm/extension/Extension.d.ts.map +0 -1
- package/lib/esm/extension/Extension.js +0 -38
- package/lib/esm/extension/Extension.js.map +0 -1
- package/lib/esm/extension/ExtensionAdmin.d.ts +0 -70
- package/lib/esm/extension/ExtensionAdmin.d.ts.map +0 -1
- package/lib/esm/extension/ExtensionAdmin.js +0 -101
- package/lib/esm/extension/ExtensionAdmin.js.map +0 -1
- package/lib/esm/extension/ExtensionHost.d.ts +0 -22
- package/lib/esm/extension/ExtensionHost.d.ts.map +0 -1
- package/lib/esm/extension/ExtensionHost.js +0 -20
- package/lib/esm/extension/ExtensionHost.js.map +0 -1
- package/lib/esm/extension/ExtensionImpl.d.ts +0 -16
- package/lib/esm/extension/ExtensionImpl.d.ts.map +0 -1
- package/lib/esm/extension/ExtensionImpl.js +0 -35
- package/lib/esm/extension/ExtensionImpl.js.map +0 -1
- package/lib/esm/extension/ExtensionLoader.d.ts +0 -20
- package/lib/esm/extension/ExtensionLoader.d.ts.map +0 -1
- package/lib/esm/extension/ExtensionLoader.js.map +0 -1
- package/lib/esm/extension/ExtensionRuntime.d.ts +0 -2
- package/lib/esm/extension/ExtensionRuntime.d.ts.map +0 -1
- package/lib/esm/extension/ExtensionRuntime.js +0 -69
- package/lib/esm/extension/ExtensionRuntime.js.map +0 -1
- package/lib/esm/extension/extensions.d.ts +0 -18
- package/lib/esm/extension/extensions.d.ts.map +0 -1
- package/lib/esm/extension/extensions.js +0 -23
- package/lib/esm/extension/extensions.js.map +0 -1
- package/lib/esm/tile/map/MapLayerSettingsService.d.ts +0 -39
- package/lib/esm/tile/map/MapLayerSettingsService.d.ts.map +0 -1
- package/lib/esm/tile/map/MapLayerSettingsService.js +0 -186
- package/lib/esm/tile/map/MapLayerSettingsService.js.map +0 -1
|
@@ -5,63 +5,262 @@
|
|
|
5
5
|
/** @packageDocumentation
|
|
6
6
|
* @module Tiles
|
|
7
7
|
*/
|
|
8
|
-
import { assert, JsonUtils, utf8ToString } from "@itwin/core-bentley";
|
|
9
|
-
import { Angle, Matrix3d, Point2d, Point3d, Range2d, Range3d, Transform, Vector3d } from "@itwin/core-geometry";
|
|
10
|
-
import { BatchType, ColorDef,
|
|
11
|
-
import { getImageSourceFormatForMimeType, imageElementFromImageSource } from "../ImageUtil";
|
|
8
|
+
import { assert, ByteStream, compareBooleans, compareNumbers, compareStrings, Dictionary, JsonUtils, utf8ToString } from "@itwin/core-bentley";
|
|
9
|
+
import { Angle, Matrix3d, Point2d, Point3d, Point4d, Range2d, Range3d, Transform, Vector3d } from "@itwin/core-geometry";
|
|
10
|
+
import { BatchType, ColorDef, Feature, FeatureTable, FillFlags, GlbHeader, ImageSource, LinePixels, MeshEdge, MeshEdges, MeshPolyline, OctEncodedNormal, PackedFeatureTable, QParams2d, QParams3d, QPoint2dList, QPoint3dList, Quantization, RenderTexture, TextureMapping, TextureTransparency, TileFormat, TileReadStatus, } from "@itwin/core-common";
|
|
11
|
+
import { getImageSourceFormatForMimeType, imageElementFromImageSource, tryImageElementFromUrl } from "../ImageUtil";
|
|
12
|
+
import { IModelApp } from "../IModelApp";
|
|
12
13
|
import { GraphicBranch } from "../render/GraphicBranch";
|
|
13
14
|
import { DisplayParams } from "../render/primitives/DisplayParams";
|
|
14
15
|
import { Mesh, MeshGraphicArgs } from "../render/primitives/mesh/MeshPrimitives";
|
|
15
16
|
import { RealityMeshPrimitive } from "../render/primitives/mesh/RealityMeshPrimitive";
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
/* eslint-disable no-restricted-syntax */
|
|
18
|
+
/** Enumerates the types of [[GltfMeshPrimitive]] topologies. */
|
|
19
|
+
var GltfMeshMode;
|
|
20
|
+
(function (GltfMeshMode) {
|
|
21
|
+
GltfMeshMode[GltfMeshMode["Points"] = 0] = "Points";
|
|
22
|
+
GltfMeshMode[GltfMeshMode["Lines"] = 1] = "Lines";
|
|
23
|
+
GltfMeshMode[GltfMeshMode["LineStrip"] = 3] = "LineStrip";
|
|
24
|
+
GltfMeshMode[GltfMeshMode["Triangles"] = 4] = "Triangles";
|
|
25
|
+
/** Not currently supported. */
|
|
26
|
+
GltfMeshMode[GltfMeshMode["TriangleStrip"] = 5] = "TriangleStrip";
|
|
27
|
+
/** Not currently supported. */
|
|
28
|
+
GltfMeshMode[GltfMeshMode["TriangleFan"] = 6] = "TriangleFan";
|
|
29
|
+
})(GltfMeshMode || (GltfMeshMode = {}));
|
|
30
|
+
/** Enumerates the basic data types supported by accessors, material values, technique uniforms, etc.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export var GltfDataType;
|
|
34
|
+
(function (GltfDataType) {
|
|
35
|
+
GltfDataType[GltfDataType["SignedByte"] = 5120] = "SignedByte";
|
|
36
|
+
GltfDataType[GltfDataType["UnsignedByte"] = 5121] = "UnsignedByte";
|
|
37
|
+
GltfDataType[GltfDataType["SignedShort"] = 5122] = "SignedShort";
|
|
38
|
+
GltfDataType[GltfDataType["UnsignedShort"] = 5123] = "UnsignedShort";
|
|
39
|
+
GltfDataType[GltfDataType["UInt32"] = 5125] = "UInt32";
|
|
40
|
+
GltfDataType[GltfDataType["Float"] = 5126] = "Float";
|
|
41
|
+
GltfDataType[GltfDataType["Rgb"] = 6407] = "Rgb";
|
|
42
|
+
GltfDataType[GltfDataType["Rgba"] = 6408] = "Rgba";
|
|
43
|
+
GltfDataType[GltfDataType["IntVec2"] = 35667] = "IntVec2";
|
|
44
|
+
GltfDataType[GltfDataType["IntVec3"] = 35668] = "IntVec3";
|
|
45
|
+
GltfDataType[GltfDataType["FloatVec2"] = 35664] = "FloatVec2";
|
|
46
|
+
GltfDataType[GltfDataType["FloatVec3"] = 35665] = "FloatVec3";
|
|
47
|
+
GltfDataType[GltfDataType["FloatVec4"] = 35666] = "FloatVec4";
|
|
48
|
+
GltfDataType[GltfDataType["FloatMat3"] = 35675] = "FloatMat3";
|
|
49
|
+
GltfDataType[GltfDataType["FloatMat4"] = 35676] = "FloatMat4";
|
|
50
|
+
GltfDataType[GltfDataType["Sampler2d"] = 35678] = "Sampler2d";
|
|
51
|
+
})(GltfDataType || (GltfDataType = {}));
|
|
52
|
+
/** @internal */
|
|
53
|
+
var GltfMagFilter;
|
|
54
|
+
(function (GltfMagFilter) {
|
|
55
|
+
GltfMagFilter[GltfMagFilter["Nearest"] = 9728] = "Nearest";
|
|
56
|
+
GltfMagFilter[GltfMagFilter["Linear"] = 9729] = "Linear";
|
|
57
|
+
})(GltfMagFilter || (GltfMagFilter = {}));
|
|
58
|
+
/** @internal */
|
|
59
|
+
var GltfMinFilter;
|
|
60
|
+
(function (GltfMinFilter) {
|
|
61
|
+
GltfMinFilter[GltfMinFilter["Nearest"] = 9728] = "Nearest";
|
|
62
|
+
GltfMinFilter[GltfMinFilter["Linear"] = 9729] = "Linear";
|
|
63
|
+
GltfMinFilter[GltfMinFilter["NearestMipMapNearest"] = 9984] = "NearestMipMapNearest";
|
|
64
|
+
GltfMinFilter[GltfMinFilter["LinearMipMapNearest"] = 9985] = "LinearMipMapNearest";
|
|
65
|
+
GltfMinFilter[GltfMinFilter["NearestMipMapLinear"] = 9986] = "NearestMipMapLinear";
|
|
66
|
+
GltfMinFilter[GltfMinFilter["LinearMipMapLinear"] = 9987] = "LinearMipMapLinear";
|
|
67
|
+
})(GltfMinFilter || (GltfMinFilter = {}));
|
|
68
|
+
/** Describes how texture coordinates outside of the range [0..1] are handled. */
|
|
69
|
+
var GltfWrapMode;
|
|
70
|
+
(function (GltfWrapMode) {
|
|
71
|
+
GltfWrapMode[GltfWrapMode["ClampToEdge"] = 33071] = "ClampToEdge";
|
|
72
|
+
GltfWrapMode[GltfWrapMode["MirroredRepeat"] = 33648] = "MirroredRepeat";
|
|
73
|
+
GltfWrapMode[GltfWrapMode["Repeat"] = 10497] = "Repeat";
|
|
74
|
+
})(GltfWrapMode || (GltfWrapMode = {}));
|
|
75
|
+
/** Describes the intended target of a [[GltfBufferViewProps]]. */
|
|
76
|
+
var GltfBufferTarget;
|
|
77
|
+
(function (GltfBufferTarget) {
|
|
78
|
+
GltfBufferTarget[GltfBufferTarget["ArrayBuffer"] = 34962] = "ArrayBuffer";
|
|
79
|
+
GltfBufferTarget[GltfBufferTarget["ElementArrayBuffer"] = 24963] = "ElementArrayBuffer";
|
|
80
|
+
})(GltfBufferTarget || (GltfBufferTarget = {}));
|
|
81
|
+
function* dictionaryIterator(dict) {
|
|
82
|
+
if (Array.isArray(dict)) {
|
|
83
|
+
for (const elem of dict)
|
|
84
|
+
yield elem;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
for (const key of Object.keys(dict)) {
|
|
88
|
+
const value = dict[key];
|
|
89
|
+
if (undefined !== value)
|
|
90
|
+
yield value;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function getNodeMeshIds(node) {
|
|
95
|
+
if (undefined !== node.meshes)
|
|
96
|
+
return typeof node.meshes === "string" ? [node.meshes] : node.meshes;
|
|
97
|
+
else if (undefined !== node.mesh)
|
|
98
|
+
return [node.mesh];
|
|
99
|
+
return [];
|
|
100
|
+
}
|
|
101
|
+
/** GL states that can be enabled by a [[GltfTechnique]]. Only those queried by this implementation are enumerated. */
|
|
102
|
+
var GltfTechniqueState;
|
|
103
|
+
(function (GltfTechniqueState) {
|
|
104
|
+
/** Enables alpha blending. */
|
|
105
|
+
GltfTechniqueState[GltfTechniqueState["Blend"] = 3042] = "Blend";
|
|
106
|
+
})(GltfTechniqueState || (GltfTechniqueState = {}));
|
|
107
|
+
function isGltf1Material(material) {
|
|
108
|
+
const mat1 = material;
|
|
109
|
+
return undefined !== mat1.technique || undefined !== mat1.values;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* A chunk of binary data exposed as a typed array.
|
|
113
|
+
* The count member indicates how many elements exist. This may be less than this.buffer.length due to padding added to the
|
|
114
|
+
* binary stream to ensure correct alignment.
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
export class GltfBufferData {
|
|
118
|
+
constructor(buffer, count) {
|
|
119
|
+
this.buffer = buffer;
|
|
120
|
+
this.count = count;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Create a GltfBufferData of the desired type. The actual type may differ from the desired type - for example, small 32-bit integers
|
|
124
|
+
* may be represented as 8-bit or 16-bit integers instead.
|
|
125
|
+
* If the actual data type is not convertible to the desired type, this function returns undefined.
|
|
126
|
+
*/
|
|
127
|
+
static create(bytes, actualType, expectedType, count) {
|
|
128
|
+
if (expectedType !== actualType) {
|
|
129
|
+
// Some data is stored in smaller data types to save space if no values exceed the maximum of the smaller type.
|
|
130
|
+
switch (expectedType) {
|
|
131
|
+
case GltfDataType.Float:
|
|
132
|
+
case GltfDataType.UnsignedByte:
|
|
133
|
+
return undefined;
|
|
134
|
+
case GltfDataType.UnsignedShort:
|
|
135
|
+
if (GltfDataType.UnsignedByte !== actualType)
|
|
136
|
+
return undefined;
|
|
137
|
+
break;
|
|
138
|
+
case GltfDataType.UInt32:
|
|
139
|
+
if (GltfDataType.UnsignedByte !== actualType && GltfDataType.UnsignedShort !== actualType)
|
|
140
|
+
return undefined;
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const data = this.createDataBuffer(bytes, actualType);
|
|
145
|
+
return undefined !== data ? new GltfBufferData(data, count) : undefined;
|
|
146
|
+
}
|
|
147
|
+
static createDataBuffer(bytes, actualType) {
|
|
148
|
+
// NB: Endianness of typed array data is determined by the 'platform byte order'. Actual data is always little-endian.
|
|
149
|
+
// We are assuming little-endian platform. If we find a big-endian platform, we'll need to use a DataView instead.
|
|
150
|
+
switch (actualType) {
|
|
151
|
+
case GltfDataType.UnsignedByte:
|
|
152
|
+
return bytes;
|
|
153
|
+
case GltfDataType.UnsignedShort:
|
|
154
|
+
return new Uint16Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 2);
|
|
155
|
+
case GltfDataType.UInt32:
|
|
156
|
+
return new Uint32Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 4);
|
|
157
|
+
case GltfDataType.Float:
|
|
158
|
+
return new Float32Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 4);
|
|
159
|
+
default:
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* A view of a chunk of glTF binary data containing an array of elements of a specific data type.
|
|
166
|
+
* The count member indicates how many elements exist; this may be smaller than this.data.length.
|
|
167
|
+
* The count member may also indicate the number of elements of a type containing more than one value of the
|
|
168
|
+
* underlying type. For example, a buffer of 4 32-bit floating point 'vec2' elements will have a count of 4,
|
|
169
|
+
* but its data member will contain 8 32-bit floating point values (2 per vec2).
|
|
170
|
+
* The accessor member may contain additional JSON data specific to a particular buffer.
|
|
171
|
+
* @internal
|
|
172
|
+
*/
|
|
173
|
+
class GltfBufferView {
|
|
174
|
+
constructor(data, count, type, accessor, stride) {
|
|
175
|
+
this.data = data;
|
|
176
|
+
this.count = count;
|
|
177
|
+
this.type = type;
|
|
178
|
+
this.accessor = accessor;
|
|
179
|
+
this.stride = stride;
|
|
180
|
+
}
|
|
181
|
+
get byteLength() { return this.data.length; }
|
|
182
|
+
toBufferData(desiredType) {
|
|
183
|
+
return GltfBufferData.create(this.data, this.type, desiredType, this.count);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
19
186
|
/** Data required for creating a [[GltfReader]] capable of deserializing [glTF](https://www.khronos.org/gltf/).
|
|
20
187
|
* @internal
|
|
21
188
|
*/
|
|
22
189
|
export class GltfReaderProps {
|
|
23
|
-
constructor(
|
|
24
|
-
this.
|
|
190
|
+
constructor(glTF, version, yAxisUp, binaryData, baseUrl) {
|
|
191
|
+
this.version = version;
|
|
192
|
+
this.glTF = glTF;
|
|
25
193
|
this.binaryData = binaryData;
|
|
26
|
-
this.accessors = accessors;
|
|
27
|
-
this.bufferViews = bufferViews;
|
|
28
|
-
this.scene = scene;
|
|
29
|
-
this.nodes = nodes;
|
|
30
|
-
this.meshes = meshes;
|
|
31
|
-
this.materials = materials;
|
|
32
|
-
this.extensions = extensions;
|
|
33
|
-
this.samplers = samplers;
|
|
34
|
-
this.techniques = techniques;
|
|
35
194
|
this.yAxisUp = yAxisUp;
|
|
195
|
+
this.baseUrl = baseUrl;
|
|
36
196
|
}
|
|
37
197
|
/** Attempt to construct a new GltfReaderProps from the binary data beginning at the supplied stream's current read position. */
|
|
38
|
-
static create(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
198
|
+
static create(source, yAxisUp = false, baseUrl) {
|
|
199
|
+
let version;
|
|
200
|
+
let json;
|
|
201
|
+
let binaryData;
|
|
202
|
+
if (source instanceof Uint8Array) {
|
|
203
|
+
// It may be JSON - check for magic indicating glb.
|
|
204
|
+
const buffer = ByteStream.fromUint8Array(source);
|
|
205
|
+
if (TileFormat.Gltf !== buffer.nextUint32) {
|
|
206
|
+
try {
|
|
207
|
+
const utf8Json = utf8ToString(source);
|
|
208
|
+
if (!utf8Json)
|
|
209
|
+
return undefined;
|
|
210
|
+
json = JSON.parse(utf8Json);
|
|
211
|
+
version = 2;
|
|
212
|
+
}
|
|
213
|
+
catch (_) {
|
|
214
|
+
return undefined;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
buffer.reset();
|
|
219
|
+
const header = new GlbHeader(buffer);
|
|
220
|
+
if (!header.isValid)
|
|
221
|
+
return undefined;
|
|
222
|
+
version = header.version;
|
|
223
|
+
if (header.binaryChunk)
|
|
224
|
+
binaryData = new Uint8Array(source.buffer, source.byteOffset + header.binaryChunk.offset, header.binaryChunk.length);
|
|
225
|
+
try {
|
|
226
|
+
const jsonBytes = new Uint8Array(source.buffer, source.byteOffset + header.jsonChunk.offset, header.jsonChunk.length);
|
|
227
|
+
const jsonStr = utf8ToString(jsonBytes);
|
|
228
|
+
if (undefined === jsonStr)
|
|
229
|
+
return undefined;
|
|
230
|
+
json = JSON.parse(jsonStr);
|
|
231
|
+
}
|
|
232
|
+
catch (_) {
|
|
233
|
+
return undefined;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
61
236
|
}
|
|
62
|
-
|
|
63
|
-
|
|
237
|
+
else {
|
|
238
|
+
version = 2; // ###TODO verify against source.asset?.version
|
|
239
|
+
json = source;
|
|
64
240
|
}
|
|
241
|
+
// asset is required in glTF 2, optional in glTF 1
|
|
242
|
+
const asset = JsonUtils.asObject(json.asset);
|
|
243
|
+
if (version === 2 && !asset)
|
|
244
|
+
return undefined;
|
|
245
|
+
const glTF = {
|
|
246
|
+
asset,
|
|
247
|
+
scene: JsonUtils.asString(json.scene),
|
|
248
|
+
extensions: JsonUtils.asObject(json.extensions),
|
|
249
|
+
extensionsUsed: JsonUtils.asArray(json.extensionsUsed),
|
|
250
|
+
extensionsRequired: JsonUtils.asArray(json.extensionsRequired),
|
|
251
|
+
accessors: JsonUtils.asObject(json.accessors),
|
|
252
|
+
buffers: JsonUtils.asObject(json.buffers),
|
|
253
|
+
bufferViews: JsonUtils.asObject(json.bufferViews),
|
|
254
|
+
images: JsonUtils.asObject(json.images),
|
|
255
|
+
materials: JsonUtils.asObject(json.materials),
|
|
256
|
+
meshes: JsonUtils.asObject(json.meshes),
|
|
257
|
+
nodes: JsonUtils.asObject(json.nodes),
|
|
258
|
+
samplers: JsonUtils.asObject(json.samplers),
|
|
259
|
+
scenes: JsonUtils.asObject(json.scenes),
|
|
260
|
+
textures: JsonUtils.asObject(json.textures),
|
|
261
|
+
techniques: JsonUtils.asObject(json.techniques),
|
|
262
|
+
};
|
|
263
|
+
return glTF.meshes ? new GltfReaderProps(glTF, version, yAxisUp, binaryData, baseUrl) : undefined;
|
|
65
264
|
}
|
|
66
265
|
}
|
|
67
266
|
/** The GltfMeshData contains the raw GLTF mesh data. If the data is suitable to create a [[RealityMesh]] directly, basically in the quantized format produced by
|
|
@@ -85,56 +284,176 @@ export class GltfMeshData {
|
|
|
85
284
|
}
|
|
86
285
|
}
|
|
87
286
|
-------------------------------------- */
|
|
287
|
+
const emptyDict = {};
|
|
288
|
+
function colorFromJson(values) {
|
|
289
|
+
return ColorDef.from(values[0] * 255, values[1] * 255, values[2] * 255, (1.0 - values[3]) * 255);
|
|
290
|
+
}
|
|
291
|
+
function colorFromMaterial(material, isTransparent) {
|
|
292
|
+
var _a, _b, _c, _d, _e;
|
|
293
|
+
let color = ColorDef.white;
|
|
294
|
+
if (isGltf1Material(material)) {
|
|
295
|
+
if (((_a = material.values) === null || _a === void 0 ? void 0 : _a.color) && Array.isArray(material.values.color))
|
|
296
|
+
color = colorFromJson(material.values.color);
|
|
297
|
+
}
|
|
298
|
+
else if ((_d = (_c = (_b = material.extensions) === null || _b === void 0 ? void 0 : _b.KHR_techniques_webgl) === null || _c === void 0 ? void 0 : _c.values) === null || _d === void 0 ? void 0 : _d.u_color) {
|
|
299
|
+
color = colorFromJson(material.extensions.KHR_techniques_webgl.values.u_color);
|
|
300
|
+
}
|
|
301
|
+
else if ((_e = material.pbrMetallicRoughness) === null || _e === void 0 ? void 0 : _e.baseColorFactor) {
|
|
302
|
+
color = colorFromJson(material.pbrMetallicRoughness.baseColorFactor);
|
|
303
|
+
}
|
|
304
|
+
// SPEC: Opaque materials ignore any alpha channel.
|
|
305
|
+
if (!isTransparent)
|
|
306
|
+
color = color.withTransparency(0);
|
|
307
|
+
return color;
|
|
308
|
+
}
|
|
309
|
+
class TransformStack {
|
|
310
|
+
constructor() {
|
|
311
|
+
this._stack = [];
|
|
312
|
+
}
|
|
313
|
+
get transform() {
|
|
314
|
+
return this._stack.length > 0 ? this._stack[this._stack.length - 1] : undefined;
|
|
315
|
+
}
|
|
316
|
+
get isEmpty() {
|
|
317
|
+
return 0 === this._stack.length;
|
|
318
|
+
}
|
|
319
|
+
push(node) {
|
|
320
|
+
let nodeTransform;
|
|
321
|
+
if (node.matrix) {
|
|
322
|
+
const origin = Point3d.create(node.matrix[12], node.matrix[13], node.matrix[14]);
|
|
323
|
+
const matrix = Matrix3d.createRowValues(node.matrix[0], node.matrix[4], node.matrix[8], node.matrix[1], node.matrix[5], node.matrix[9], node.matrix[2], node.matrix[6], node.matrix[10]);
|
|
324
|
+
nodeTransform = Transform.createOriginAndMatrix(origin, matrix);
|
|
325
|
+
}
|
|
326
|
+
else if (node.rotation || node.scale || node.translation) {
|
|
327
|
+
// SPEC: To compose the local transformation matrix, TRS properties MUST be converted to matrices and postmultiplied in the T * R * S order;
|
|
328
|
+
// first the scale is applied to the vertices, then the rotation, and then the translation.
|
|
329
|
+
const scale = Transform.createRefs(undefined, node.scale ? Matrix3d.createScale(node.scale[0], node.scale[1], node.scale[2]) : Matrix3d.identity);
|
|
330
|
+
const rot = Transform.createRefs(undefined, node.rotation ? Matrix3d.createFromQuaternion(Point4d.create(node.rotation[0], node.rotation[1], node.rotation[2], node.rotation[3])) : Matrix3d.identity);
|
|
331
|
+
rot.matrix.transposeInPlace(); // See comment on Matrix3d.createFromQuaternion
|
|
332
|
+
const trans = Transform.createTranslation(node.translation ? new Point3d(node.translation[0], node.translation[1], node.translation[2]) : Point3d.createZero());
|
|
333
|
+
nodeTransform = scale.multiplyTransformTransform(rot);
|
|
334
|
+
trans.multiplyTransformTransform(nodeTransform, nodeTransform);
|
|
335
|
+
}
|
|
336
|
+
const top = this.transform;
|
|
337
|
+
if (!top)
|
|
338
|
+
this._stack.push(nodeTransform);
|
|
339
|
+
else
|
|
340
|
+
this._stack.push(nodeTransform ? top.multiplyTransformTransform(nodeTransform) : top);
|
|
341
|
+
}
|
|
342
|
+
pop() {
|
|
343
|
+
assert(this._stack.length > 0);
|
|
344
|
+
this._stack.pop();
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
function* traverseNodes(ids, nodes, traversed) {
|
|
348
|
+
for (const id of ids) {
|
|
349
|
+
if (traversed.has(id))
|
|
350
|
+
throw new Error("Cycle detected while traversing glTF nodes");
|
|
351
|
+
const node = nodes[id];
|
|
352
|
+
if (!node)
|
|
353
|
+
continue;
|
|
354
|
+
traversed.add(id);
|
|
355
|
+
yield node;
|
|
356
|
+
if (node.children)
|
|
357
|
+
for (const child of traverseNodes(node.children, nodes, traversed))
|
|
358
|
+
yield child;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
function compareTextureKeys(lhs, rhs) {
|
|
362
|
+
const cmp = compareBooleans(lhs.isTransparent, rhs.isTransparent);
|
|
363
|
+
if (0 !== cmp)
|
|
364
|
+
return cmp;
|
|
365
|
+
assert(typeof lhs.id === typeof rhs.id);
|
|
366
|
+
if ("string" === typeof lhs.id) {
|
|
367
|
+
assert("string" === typeof rhs.id);
|
|
368
|
+
return compareStrings(lhs.id, rhs.id);
|
|
369
|
+
}
|
|
370
|
+
assert("number" === typeof lhs.id && "number" === typeof rhs.id);
|
|
371
|
+
return compareNumbers(lhs.id, rhs.id);
|
|
372
|
+
}
|
|
88
373
|
/** Deserializes [glTF](https://www.khronos.org/gltf/).
|
|
89
374
|
* @internal
|
|
90
375
|
*/
|
|
91
376
|
export class GltfReader {
|
|
92
|
-
constructor(
|
|
93
|
-
|
|
94
|
-
this.
|
|
95
|
-
this.
|
|
96
|
-
this.
|
|
97
|
-
this.
|
|
98
|
-
this.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
this.
|
|
104
|
-
this.
|
|
105
|
-
this.
|
|
106
|
-
this.
|
|
107
|
-
this.
|
|
108
|
-
this.
|
|
109
|
-
this.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
377
|
+
constructor(args) {
|
|
378
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
379
|
+
this._resolvedTextures = new Dictionary((lhs, rhs) => compareTextureKeys(lhs, rhs));
|
|
380
|
+
this._glTF = args.props.glTF;
|
|
381
|
+
this._version = args.props.version;
|
|
382
|
+
this._yAxisUp = args.props.yAxisUp;
|
|
383
|
+
this._baseUrl = args.props.baseUrl;
|
|
384
|
+
const rtcCenter = (_b = (_a = args.props.glTF.extensions) === null || _a === void 0 ? void 0 : _a.CESIUM_RTC) === null || _b === void 0 ? void 0 : _b.center;
|
|
385
|
+
if (rtcCenter && 3 === rtcCenter.length)
|
|
386
|
+
if (0 !== rtcCenter[0] || 0 !== rtcCenter[1] || 0 !== rtcCenter[2])
|
|
387
|
+
this._returnToCenter = Point3d.fromJSON(rtcCenter);
|
|
388
|
+
this._iModel = args.iModel;
|
|
389
|
+
this._is3d = true !== args.is2d;
|
|
390
|
+
this._system = (_c = args.system) !== null && _c !== void 0 ? _c : IModelApp.renderSystem;
|
|
391
|
+
this._type = (_d = args.type) !== null && _d !== void 0 ? _d : BatchType.Primary;
|
|
392
|
+
this._canceled = args.shouldAbort;
|
|
393
|
+
this._deduplicateVertices = (_e = args.deduplicateVertices) !== null && _e !== void 0 ? _e : false;
|
|
394
|
+
this._vertexTableRequired = (_f = args.vertexTableRequired) !== null && _f !== void 0 ? _f : false;
|
|
395
|
+
const binaryData = args.props.binaryData;
|
|
396
|
+
if (binaryData) {
|
|
397
|
+
const buffer = this._buffers[this._version === 2 ? 0 : "binary_glTF"];
|
|
398
|
+
if (buffer && undefined === buffer.uri)
|
|
399
|
+
buffer.resolvedBuffer = binaryData;
|
|
400
|
+
}
|
|
401
|
+
// The original implementation of GltfReader would process and produce graphics for every node in glTF.nodes.
|
|
402
|
+
// What it's *supposed* to do is process the nodes in glTF.scenes[glTF.scene].nodes
|
|
403
|
+
// Some nodes may not be referenced by the configured scene, or only indirectly via GltfNode.children.
|
|
404
|
+
// Perhaps some faulty tiles existed that didn't define their scenes properly?
|
|
405
|
+
let sceneNodes;
|
|
406
|
+
if (this._glTF.scenes && undefined !== this._glTF.scene)
|
|
407
|
+
sceneNodes = (_g = this._glTF.scenes[this._glTF.scene]) === null || _g === void 0 ? void 0 : _g.nodes;
|
|
408
|
+
if (!sceneNodes)
|
|
409
|
+
sceneNodes = Object.keys(this._nodes);
|
|
410
|
+
this._sceneNodes = sceneNodes;
|
|
116
411
|
}
|
|
412
|
+
get _nodes() { var _a; return (_a = this._glTF.nodes) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
413
|
+
get _meshes() { var _a; return (_a = this._glTF.meshes) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
414
|
+
get _accessors() { var _a; return (_a = this._glTF.accessors) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
415
|
+
get _bufferViews() { var _a; return (_a = this._glTF.bufferViews) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
416
|
+
get _materials() { var _a; return (_a = this._glTF.materials) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
417
|
+
get _samplers() { var _a; return (_a = this._glTF.samplers) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
418
|
+
get _textures() { var _a; return (_a = this._glTF.textures) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
419
|
+
get _images() { var _a; return (_a = this._glTF.images) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
420
|
+
get _buffers() { var _a; return (_a = this._glTF.buffers) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
117
421
|
get _isCanceled() { return undefined !== this._canceled && this._canceled(this); }
|
|
118
422
|
get _isVolumeClassifier() { return BatchType.VolumeClassifier === this._type; }
|
|
423
|
+
/** Traverse the nodes specified by their Ids, recursing into their child nodes.
|
|
424
|
+
* @param nodeIds The Ids of the nodes to traverse.
|
|
425
|
+
* @throws Error if a node appears more than once during traversal
|
|
426
|
+
*/
|
|
427
|
+
traverseNodes(nodeIds) {
|
|
428
|
+
return traverseNodes(nodeIds, this._nodes, new Set());
|
|
429
|
+
}
|
|
430
|
+
/** Traverse the nodes specified by their scene, recursing into their child nodes.
|
|
431
|
+
* @throws Error if a node appears more than once during traversal
|
|
432
|
+
*/
|
|
433
|
+
traverseScene() {
|
|
434
|
+
return this.traverseNodes(this._sceneNodes);
|
|
435
|
+
}
|
|
119
436
|
readGltfAndCreateGraphics(isLeaf, featureTable, contentRange, transformToRoot, pseudoRtcBias, instances) {
|
|
120
437
|
var _a;
|
|
121
438
|
if (this._isCanceled)
|
|
122
439
|
return { readStatus: TileReadStatus.Canceled, isLeaf };
|
|
123
|
-
|
|
440
|
+
// If contentRange was not supplied, we will compute it as we read the meshes.
|
|
441
|
+
if (!contentRange)
|
|
442
|
+
this._computedContentRange = contentRange = Range3d.createNull();
|
|
443
|
+
else
|
|
444
|
+
this._computedContentRange = undefined;
|
|
445
|
+
// ###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?
|
|
446
|
+
if (this._returnToCenter || ((_a = this._nodes[0]) === null || _a === void 0 ? void 0 : _a.matrix) || (pseudoRtcBias && pseudoRtcBias.magnitude() < 1.0E5))
|
|
124
447
|
pseudoRtcBias = undefined;
|
|
125
|
-
const
|
|
126
|
-
for (const key of Object.keys(this._nodes)) {
|
|
127
|
-
const node = this._nodes[key];
|
|
128
|
-
if (node.children)
|
|
129
|
-
for (const child of node.children)
|
|
130
|
-
childNodes.add(child.toString());
|
|
131
|
-
}
|
|
448
|
+
const transformStack = new TransformStack();
|
|
132
449
|
const renderGraphicList = [];
|
|
133
450
|
let readStatus = TileReadStatus.InvalidTileData;
|
|
134
|
-
for (const nodeKey of
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
451
|
+
for (const nodeKey of this._sceneNodes) {
|
|
452
|
+
assert(transformStack.isEmpty);
|
|
453
|
+
const node = this._nodes[nodeKey];
|
|
454
|
+
if (node && TileReadStatus.Success !== (readStatus = this.readNodeAndCreateGraphics(renderGraphicList, node, featureTable, transformStack, instances, pseudoRtcBias)))
|
|
455
|
+
return { readStatus, isLeaf };
|
|
456
|
+
}
|
|
138
457
|
if (0 === renderGraphicList.length)
|
|
139
458
|
return { readStatus: TileReadStatus.InvalidTileData, isLeaf };
|
|
140
459
|
let renderGraphic;
|
|
@@ -144,20 +463,21 @@ export class GltfReader {
|
|
|
144
463
|
renderGraphic = this._system.createGraphicList(renderGraphicList);
|
|
145
464
|
let transform;
|
|
146
465
|
let range = contentRange;
|
|
147
|
-
if (
|
|
148
|
-
if (
|
|
149
|
-
transform = Transform.
|
|
150
|
-
else if (
|
|
466
|
+
if (this._returnToCenter || pseudoRtcBias || this._yAxisUp || transformToRoot) {
|
|
467
|
+
if (this._returnToCenter)
|
|
468
|
+
transform = Transform.createTranslation(this._returnToCenter.clone());
|
|
469
|
+
else if (pseudoRtcBias)
|
|
151
470
|
transform = Transform.createTranslationXYZ(pseudoRtcBias.x, pseudoRtcBias.y, pseudoRtcBias.z);
|
|
152
471
|
else
|
|
153
472
|
transform = Transform.createIdentity();
|
|
154
473
|
if (this._yAxisUp)
|
|
155
474
|
transform = transform.multiplyTransformMatrix3d(Matrix3d.createRotationAroundVector(Vector3d.create(1.0, 0.0, 0.0), Angle.createRadians(Angle.piOver2Radians)));
|
|
156
|
-
if (
|
|
475
|
+
if (transformToRoot)
|
|
157
476
|
transform = transformToRoot.multiplyTransformTransform(transform);
|
|
158
477
|
range = transform.inverse().multiplyRange(contentRange);
|
|
159
478
|
}
|
|
160
|
-
|
|
479
|
+
if (featureTable)
|
|
480
|
+
renderGraphic = this._system.createBatch(renderGraphic, PackedFeatureTable.pack(featureTable), range);
|
|
161
481
|
if (transform) {
|
|
162
482
|
const branch = new GraphicBranch(true);
|
|
163
483
|
branch.add(renderGraphic);
|
|
@@ -171,11 +491,9 @@ export class GltfReader {
|
|
|
171
491
|
};
|
|
172
492
|
}
|
|
173
493
|
graphicFromMeshData(gltfMesh, meshGraphicArgs, instances) {
|
|
174
|
-
if (!gltfMesh.points || !gltfMesh.pointRange)
|
|
175
|
-
assert(false);
|
|
494
|
+
if (!gltfMesh.points || !gltfMesh.pointRange)
|
|
176
495
|
return;
|
|
177
|
-
|
|
178
|
-
const realityMeshPrimitive = (forceLUT || instances) ? undefined : RealityMeshPrimitive.createFromGltfMesh(gltfMesh);
|
|
496
|
+
const realityMeshPrimitive = (this._vertexTableRequired || instances) ? undefined : RealityMeshPrimitive.createFromGltfMesh(gltfMesh);
|
|
179
497
|
if (realityMeshPrimitive) {
|
|
180
498
|
const realityMesh = this._system.createRealityMesh(realityMeshPrimitive);
|
|
181
499
|
if (realityMesh)
|
|
@@ -196,16 +514,12 @@ export class GltfReader {
|
|
|
196
514
|
mesh.normals.push(new OctEncodedNormal(normal));
|
|
197
515
|
return mesh.getGraphics(meshGraphicArgs, this._system, instances);
|
|
198
516
|
}
|
|
199
|
-
readNodeAndCreateGraphics(renderGraphicList, node, featureTable,
|
|
517
|
+
readNodeAndCreateGraphics(renderGraphicList, node, featureTable, transformStack, instances, pseudoRtcBias) {
|
|
200
518
|
if (undefined === node)
|
|
201
519
|
return TileReadStatus.InvalidTileData;
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
const jTrans = node.matrix;
|
|
206
|
-
const nodeTransform = 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]));
|
|
207
|
-
thisTransform = thisTransform ? thisTransform.multiplyTransformTransform(nodeTransform) : nodeTransform;
|
|
208
|
-
}
|
|
520
|
+
// IMPORTANT: Do not return without popping this node from the stack.
|
|
521
|
+
transformStack.push(node);
|
|
522
|
+
const thisTransform = transformStack.transform;
|
|
209
523
|
/**
|
|
210
524
|
* This is a workaround for tiles generated by
|
|
211
525
|
* context capture which have a large offset from the tileset origin that exceeds the
|
|
@@ -214,19 +528,24 @@ export class GltfReader {
|
|
|
214
528
|
* as the vertices are supplied in a quantized format, applying the RTC bias to
|
|
215
529
|
* quantization origin will make these tiles work correctly.
|
|
216
530
|
*/
|
|
217
|
-
|
|
531
|
+
let thisBias;
|
|
532
|
+
if (undefined !== pseudoRtcBias)
|
|
218
533
|
thisBias = (undefined === thisTransform) ? pseudoRtcBias : thisTransform.matrix.multiplyInverse(pseudoRtcBias);
|
|
219
|
-
|
|
220
|
-
const meshKey = node.meshes ? node.meshes : node.mesh;
|
|
221
|
-
if (undefined !== meshKey) {
|
|
534
|
+
for (const meshKey of getNodeMeshIds(node)) {
|
|
222
535
|
const nodeMesh = this._meshes[meshKey];
|
|
223
|
-
if (nodeMesh) {
|
|
536
|
+
if (nodeMesh === null || nodeMesh === void 0 ? void 0 : nodeMesh.primitives) {
|
|
224
537
|
const meshGraphicArgs = new MeshGraphicArgs();
|
|
225
538
|
const meshes = [];
|
|
226
539
|
for (const primitive of nodeMesh.primitives) {
|
|
227
540
|
const geometry = this.readMeshPrimitive(primitive, featureTable, thisBias);
|
|
228
|
-
if (
|
|
541
|
+
if (geometry) {
|
|
229
542
|
meshes.push(geometry);
|
|
543
|
+
if (this._computedContentRange && geometry.pointRange) {
|
|
544
|
+
const invTransform = thisTransform === null || thisTransform === void 0 ? void 0 : thisTransform.inverse();
|
|
545
|
+
const meshRange = invTransform ? invTransform.multiplyRange(geometry.pointRange) : geometry.pointRange;
|
|
546
|
+
this._computedContentRange.extendRange(meshRange);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
230
549
|
}
|
|
231
550
|
let renderGraphic;
|
|
232
551
|
if (0 !== meshes.length) {
|
|
@@ -255,18 +574,29 @@ export class GltfReader {
|
|
|
255
574
|
}
|
|
256
575
|
}
|
|
257
576
|
if (node.children) {
|
|
258
|
-
for (const
|
|
259
|
-
|
|
577
|
+
for (const childId of node.children) {
|
|
578
|
+
const child = this._nodes[childId];
|
|
579
|
+
if (child)
|
|
580
|
+
this.readNodeAndCreateGraphics(renderGraphicList, child, featureTable, transformStack, instances);
|
|
581
|
+
}
|
|
260
582
|
}
|
|
583
|
+
transformStack.pop();
|
|
261
584
|
return TileReadStatus.Success;
|
|
262
585
|
}
|
|
586
|
+
// ###TODO what is the actual type of `json`?
|
|
263
587
|
getBufferView(json, accessorName) {
|
|
264
588
|
try {
|
|
265
589
|
const accessorValue = JsonUtils.asString(json[accessorName]);
|
|
266
|
-
const accessor =
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
590
|
+
const accessor = accessorValue ? this._accessors[accessorValue] : undefined;
|
|
591
|
+
if (!accessor)
|
|
592
|
+
return undefined;
|
|
593
|
+
const bufferViewAccessorValue = accessor.bufferView;
|
|
594
|
+
const bufferView = undefined !== bufferViewAccessorValue ? this._bufferViews[bufferViewAccessorValue] : undefined;
|
|
595
|
+
if (!bufferView || undefined === bufferView.buffer)
|
|
596
|
+
return undefined;
|
|
597
|
+
const buffer = this._buffers[bufferView.buffer];
|
|
598
|
+
const bufferData = buffer === null || buffer === void 0 ? void 0 : buffer.resolvedBuffer;
|
|
599
|
+
if (!bufferData)
|
|
270
600
|
return undefined;
|
|
271
601
|
const type = accessor.componentType;
|
|
272
602
|
let dataSize = 0;
|
|
@@ -297,8 +627,8 @@ export class GltfReader {
|
|
|
297
627
|
const offset = ((bufferView && bufferView.byteOffset) ? bufferView.byteOffset : 0) + (accessor.byteOffset ? accessor.byteOffset : 0);
|
|
298
628
|
const length = byteStride * accessor.count;
|
|
299
629
|
// If the data is misaligned (Scalable mesh tile publisher) use slice to copy -- else use subarray.
|
|
300
|
-
|
|
301
|
-
const bytes =
|
|
630
|
+
const aligned = 0 === (bufferData.byteOffset + offset) % dataSize;
|
|
631
|
+
const bytes = aligned ? bufferData.subarray(offset, offset + length) : bufferData.slice(offset, offset + length);
|
|
302
632
|
return new GltfBufferView(bytes, accessor.count, type, accessor, byteStride / dataSize);
|
|
303
633
|
}
|
|
304
634
|
catch (e) {
|
|
@@ -314,21 +644,9 @@ export class GltfReader {
|
|
|
314
644
|
return undefined !== view ? view.toBufferData(type) : undefined;
|
|
315
645
|
}
|
|
316
646
|
readFeatureIndices(_json) { return undefined; }
|
|
317
|
-
|
|
318
|
-
colorFromMaterial(materialJson) {
|
|
319
|
-
if (materialJson) {
|
|
320
|
-
if (materialJson.values && Array.isArray(materialJson.values.color))
|
|
321
|
-
return this.colorFromJson(materialJson.values.color);
|
|
322
|
-
else if (materialJson.pbrMetallicRoughness && Array.isArray(materialJson.pbrMetallicRoughness.baseColorFactor))
|
|
323
|
-
return this.colorFromJson(materialJson.pbrMetallicRoughness.baseColorFactor);
|
|
324
|
-
else if (materialJson.extensions && materialJson.extensions.KHR_techniques_webgl && materialJson.extensions.KHR_techniques_webgl.values && materialJson.extensions.KHR_techniques_webgl.values.u_color)
|
|
325
|
-
return this.colorFromJson(materialJson.extensions.KHR_techniques_webgl.values.u_color);
|
|
326
|
-
}
|
|
327
|
-
return ColorDef.white;
|
|
328
|
-
}
|
|
329
|
-
extractTextureId(materialJson) {
|
|
647
|
+
extractTextureId(material) {
|
|
330
648
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
331
|
-
if (typeof
|
|
649
|
+
if (typeof material !== "object")
|
|
332
650
|
return undefined;
|
|
333
651
|
const extractId = (value) => {
|
|
334
652
|
switch (typeof value) {
|
|
@@ -341,49 +659,56 @@ export class GltfReader {
|
|
|
341
659
|
}
|
|
342
660
|
};
|
|
343
661
|
// Bimium's shader value...almost certainly obsolete at this point.
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
return id;
|
|
662
|
+
if (isGltf1Material(material))
|
|
663
|
+
return (_a = material.diffuse) !== null && _a !== void 0 ? _a : extractId((_b = material.values) === null || _b === void 0 ? void 0 : _b.tex);
|
|
347
664
|
// KHR_techniques_webgl extension
|
|
348
|
-
const techniques = (
|
|
349
|
-
const ext = Array.isArray(techniques) ? (
|
|
350
|
-
if (undefined !== ext && typeof ext.values === "object") {
|
|
665
|
+
const techniques = (_d = (_c = this._glTF.extensions) === null || _c === void 0 ? void 0 : _c.KHR_techniques_webgl) === null || _d === void 0 ? void 0 : _d.techniques;
|
|
666
|
+
const ext = Array.isArray(techniques) ? (_e = material.extensions) === null || _e === void 0 ? void 0 : _e.KHR_techniques_webgl : undefined;
|
|
667
|
+
if (techniques && undefined !== ext && typeof (ext.values) === "object") {
|
|
351
668
|
const uniforms = typeof ext.technique === "number" ? techniques[ext.technique].uniforms : undefined;
|
|
352
669
|
if (typeof uniforms === "object") {
|
|
353
670
|
for (const uniformName of Object.keys(uniforms)) {
|
|
354
671
|
const uniform = uniforms[uniformName];
|
|
355
672
|
if (typeof uniform === "object" && uniform.type === GltfDataType.Sampler2d)
|
|
356
|
-
return extractId((
|
|
673
|
+
return extractId((_f = ext.values[uniformName]) === null || _f === void 0 ? void 0 : _f.index);
|
|
357
674
|
}
|
|
358
675
|
}
|
|
359
676
|
}
|
|
360
|
-
id = extractId((
|
|
361
|
-
|
|
362
|
-
return id !== null && id !== void 0 ? id : extractId((_j = (_h = materialJson.pbrMetallicRoughness) === null || _h === void 0 ? void 0 : _h.baseColorTexture) === null || _j === void 0 ? void 0 : _j.index);
|
|
677
|
+
const id = extractId((_h = (_g = material.pbrMetallicRoughness) === null || _g === void 0 ? void 0 : _g.baseColorTexture) === null || _h === void 0 ? void 0 : _h.index);
|
|
678
|
+
return id !== null && id !== void 0 ? id : extractId((_j = material.emissiveTexture) === null || _j === void 0 ? void 0 : _j.index);
|
|
363
679
|
}
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
return
|
|
680
|
+
isMaterialTransparent(material) {
|
|
681
|
+
var _a, _b;
|
|
682
|
+
if (isGltf1Material(material)) {
|
|
683
|
+
if (this._glTF.techniques && undefined !== material.technique) {
|
|
684
|
+
const technique = this._glTF.techniques[material.technique];
|
|
685
|
+
if ((_b = (_a = technique === null || technique === void 0 ? void 0 : technique.states) === null || _a === void 0 ? void 0 : _a.enable) === null || _b === void 0 ? void 0 : _b.some((state) => state === GltfTechniqueState.Blend))
|
|
686
|
+
return true;
|
|
687
|
+
}
|
|
688
|
+
return false;
|
|
373
689
|
}
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
690
|
+
else {
|
|
691
|
+
// Default: OPAQUE.
|
|
692
|
+
// ###TODO support MASK. For now treat as opaque.
|
|
693
|
+
return "BLEND" === material.alphaMode;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
createDisplayParams(material, hasBakedLighting) {
|
|
697
|
+
const isTransparent = this.isMaterialTransparent(material);
|
|
698
|
+
const textureId = this.extractTextureId(material);
|
|
699
|
+
const textureMapping = undefined !== textureId ? this.findTextureMapping(textureId, isTransparent) : undefined;
|
|
700
|
+
const color = colorFromMaterial(material, isTransparent);
|
|
701
|
+
return new DisplayParams(DisplayParams.Type.Mesh, color, color, 1, LinePixels.Solid, FillFlags.Always, undefined, undefined, hasBakedLighting, textureMapping);
|
|
379
702
|
}
|
|
380
703
|
readMeshPrimitive(primitive, featureTable, pseudoRtcBias) {
|
|
381
|
-
var _a, _b;
|
|
704
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
382
705
|
const materialName = JsonUtils.asString(primitive.material);
|
|
383
|
-
const
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
706
|
+
const material = 0 < materialName.length ? this._materials[materialName] : undefined;
|
|
707
|
+
if (!material)
|
|
708
|
+
return undefined;
|
|
709
|
+
const hasBakedLighting = undefined === primitive.attributes.NORMAL || undefined !== ((_a = material.extensions) === null || _a === void 0 ? void 0 : _a.KHR_materials_unlit);
|
|
710
|
+
const displayParams = material ? this.createDisplayParams(material, hasBakedLighting) : undefined;
|
|
711
|
+
if (!displayParams)
|
|
387
712
|
return undefined;
|
|
388
713
|
let primitiveType = -1;
|
|
389
714
|
const meshMode = JsonUtils.asInt(primitive.mode, GltfMeshMode.Triangles);
|
|
@@ -401,7 +726,6 @@ export class GltfReader {
|
|
|
401
726
|
assert(false);
|
|
402
727
|
return undefined;
|
|
403
728
|
}
|
|
404
|
-
const isPlanar = JsonUtils.asBool(primitive.isPlanar);
|
|
405
729
|
const isVolumeClassifier = this._isVolumeClassifier;
|
|
406
730
|
const meshPrimitive = Mesh.create({
|
|
407
731
|
displayParams,
|
|
@@ -409,7 +733,7 @@ export class GltfReader {
|
|
|
409
733
|
type: primitiveType,
|
|
410
734
|
range: Range3d.createNull(),
|
|
411
735
|
is2d: !this._is3d,
|
|
412
|
-
isPlanar,
|
|
736
|
+
isPlanar: false,
|
|
413
737
|
hasBakedLighting,
|
|
414
738
|
isVolumeClassifier,
|
|
415
739
|
});
|
|
@@ -419,12 +743,12 @@ export class GltfReader {
|
|
|
419
743
|
// uv parameters to pick the colors out of the color map texture.
|
|
420
744
|
meshPrimitive.colorMap.insert(displayParams.fillColor.tbgr); // White...
|
|
421
745
|
const colorIndices = this.readBufferData16(primitive.attributes, "_COLORINDEX");
|
|
422
|
-
if (undefined !== colorIndices) {
|
|
746
|
+
if (undefined !== colorIndices && material) {
|
|
423
747
|
let texStep;
|
|
424
|
-
if (
|
|
425
|
-
texStep =
|
|
426
|
-
else
|
|
427
|
-
texStep =
|
|
748
|
+
if (isGltf1Material(material))
|
|
749
|
+
texStep = (_b = material.values) === null || _b === void 0 ? void 0 : _b.texStep;
|
|
750
|
+
else
|
|
751
|
+
texStep = (_e = (_d = (_c = material.extensions) === null || _c === void 0 ? void 0 : _c.KHR_techniques_webgl) === null || _d === void 0 ? void 0 : _d.values) === null || _e === void 0 ? void 0 : _e.u_texStep;
|
|
428
752
|
if (texStep) {
|
|
429
753
|
const uvParams = [];
|
|
430
754
|
for (let i = 0; i < colorIndices.count; i++)
|
|
@@ -434,7 +758,7 @@ export class GltfReader {
|
|
|
434
758
|
mesh.uvQParams = paramList.params;
|
|
435
759
|
}
|
|
436
760
|
}
|
|
437
|
-
if ((
|
|
761
|
+
if ((_f = primitive.extensions) === null || _f === void 0 ? void 0 : _f.KHR_draco_mesh_compression) {
|
|
438
762
|
return undefined; // Defer Draco decompression until web workers implementation.
|
|
439
763
|
/*
|
|
440
764
|
const dracoExtension = primitive.extensions.KHR_draco_mesh_compression;
|
|
@@ -453,8 +777,14 @@ export class GltfReader {
|
|
|
453
777
|
return undefined;
|
|
454
778
|
if (!displayParams.ignoreLighting && !this.readNormals(mesh, primitive.attributes, "NORMAL"))
|
|
455
779
|
return undefined;
|
|
456
|
-
if (!mesh.uvs)
|
|
457
|
-
|
|
780
|
+
if (!mesh.uvs) {
|
|
781
|
+
let texCoordIndex = 0;
|
|
782
|
+
if (!isGltf1Material(material) && undefined !== ((_h = (_g = material.pbrMetallicRoughness) === null || _g === void 0 ? void 0 : _g.baseColorTexture) === null || _h === void 0 ? void 0 : _h.texCoord))
|
|
783
|
+
texCoordIndex = JsonUtils.asInt(material.pbrMetallicRoughness.baseColorTexture.texCoord);
|
|
784
|
+
this.readUVParams(mesh, primitive.attributes, `TEXCOORD_${texCoordIndex}`);
|
|
785
|
+
}
|
|
786
|
+
if (this._deduplicateVertices && !this.deduplicateVertices(mesh))
|
|
787
|
+
return undefined;
|
|
458
788
|
break;
|
|
459
789
|
}
|
|
460
790
|
case Mesh.PrimitiveType.Polyline:
|
|
@@ -470,7 +800,7 @@ export class GltfReader {
|
|
|
470
800
|
}
|
|
471
801
|
if (displayParams.textureMapping && !mesh.uvs)
|
|
472
802
|
return undefined;
|
|
473
|
-
if ((
|
|
803
|
+
if ((_j = primitive.extensions) === null || _j === void 0 ? void 0 : _j.CESIUM_primitive_outline) {
|
|
474
804
|
const data = this.readBufferData32(primitive.extensions.CESIUM_primitive_outline, "indices");
|
|
475
805
|
if (data !== undefined) {
|
|
476
806
|
assert(0 === data.count % 2);
|
|
@@ -481,6 +811,37 @@ export class GltfReader {
|
|
|
481
811
|
}
|
|
482
812
|
return mesh;
|
|
483
813
|
}
|
|
814
|
+
deduplicateVertices(mesh) {
|
|
815
|
+
if (!mesh.points || !mesh.indices)
|
|
816
|
+
return false;
|
|
817
|
+
const numPoints = mesh.indices.length;
|
|
818
|
+
assert(0 === numPoints % 3);
|
|
819
|
+
const indices = mesh.indices;
|
|
820
|
+
if (indices instanceof Uint16Array && numPoints > 0xffff)
|
|
821
|
+
mesh.indices = new Uint32Array(numPoints);
|
|
822
|
+
else if (indices instanceof Uint8Array && numPoints > 0xff)
|
|
823
|
+
mesh.indices = new Uint32Array(numPoints);
|
|
824
|
+
const points = new Uint16Array(3 * numPoints);
|
|
825
|
+
const normals = mesh.normals ? new Uint16Array(numPoints) : undefined;
|
|
826
|
+
const uvs = mesh.uvs ? new Uint16Array(2 * numPoints) : undefined;
|
|
827
|
+
for (let i = 0; i < numPoints; i++) {
|
|
828
|
+
const index = indices[i];
|
|
829
|
+
mesh.indices[i] = i;
|
|
830
|
+
points[i * 3 + 0] = mesh.points[index * 3 + 0];
|
|
831
|
+
points[i * 3 + 1] = mesh.points[index * 3 + 1];
|
|
832
|
+
points[i * 3 + 2] = mesh.points[index * 3 + 2];
|
|
833
|
+
if (normals)
|
|
834
|
+
normals[i] = mesh.normals[index];
|
|
835
|
+
if (uvs) {
|
|
836
|
+
uvs[i * 2 + 0] = mesh.uvs[index * 2 + 0];
|
|
837
|
+
uvs[i * 2 + 1] = mesh.uvs[index * 2 + 1];
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
mesh.points = points;
|
|
841
|
+
mesh.normals = normals;
|
|
842
|
+
mesh.uvs = uvs;
|
|
843
|
+
return true;
|
|
844
|
+
}
|
|
484
845
|
/**
|
|
485
846
|
*
|
|
486
847
|
* @param positions quantized points
|
|
@@ -560,10 +921,22 @@ export class GltfReader {
|
|
|
560
921
|
readBatchTable(_mesh, _json) {
|
|
561
922
|
}
|
|
562
923
|
readMeshIndices(mesh, json) {
|
|
563
|
-
|
|
564
|
-
if (undefined
|
|
924
|
+
var _a;
|
|
925
|
+
if (undefined !== json.indices) {
|
|
926
|
+
const data = this.readBufferData16(json, "indices") || this.readBufferData32(json, "indices");
|
|
927
|
+
if (data && (data.buffer instanceof Uint8Array || data.buffer instanceof Uint16Array || data.buffer instanceof Uint32Array)) {
|
|
928
|
+
mesh.indices = data.buffer;
|
|
929
|
+
return true;
|
|
930
|
+
}
|
|
565
931
|
return false;
|
|
566
|
-
|
|
932
|
+
}
|
|
933
|
+
// Non-indexed geometry. Manufacture triangle indices from points.
|
|
934
|
+
const numPoints = (_a = mesh.points) === null || _a === void 0 ? void 0 : _a.length;
|
|
935
|
+
if (undefined === numPoints || 0 !== numPoints % 3)
|
|
936
|
+
return false;
|
|
937
|
+
mesh.indices = numPoints < 255 ? new Uint8Array(numPoints) : (numPoints < 0xffff ? new Uint16Array(numPoints) : new Uint32Array(numPoints));
|
|
938
|
+
for (let i = 0; i < numPoints; i++)
|
|
939
|
+
mesh.indices[i] = i;
|
|
567
940
|
return true;
|
|
568
941
|
}
|
|
569
942
|
readNormals(mesh, json, accessorName) {
|
|
@@ -604,12 +977,13 @@ export class GltfReader {
|
|
|
604
977
|
}
|
|
605
978
|
readUVParams(mesh, json, accessorName) {
|
|
606
979
|
const view = this.getBufferView(json, accessorName);
|
|
607
|
-
let data;
|
|
608
980
|
if (view === undefined)
|
|
609
981
|
return false;
|
|
610
982
|
switch (view.type) {
|
|
611
983
|
case GltfDataType.Float: {
|
|
612
|
-
data = this.readBufferDataFloat(json, accessorName);
|
|
984
|
+
const data = this.readBufferDataFloat(json, accessorName);
|
|
985
|
+
if (!data)
|
|
986
|
+
return false;
|
|
613
987
|
mesh.uvRange = Range2d.createNull();
|
|
614
988
|
for (let i = 0; i < data.count; i++) {
|
|
615
989
|
const index = view.stride * i; // 2 float per param...
|
|
@@ -684,87 +1058,149 @@ export class GltfReader {
|
|
|
684
1058
|
polylines.push(new MeshPolyline(indices));
|
|
685
1059
|
return true;
|
|
686
1060
|
}
|
|
687
|
-
async
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
const
|
|
691
|
-
|
|
692
|
-
const
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
transparentTextures.add(materialValue.values.tex);
|
|
703
|
-
}
|
|
704
|
-
}
|
|
705
|
-
const promises = new Array();
|
|
706
|
-
for (const name of Object.keys(this._textures))
|
|
707
|
-
promises.push(this.loadTexture(name, transparentTextures.has(name)));
|
|
708
|
-
if (promises.length > 0)
|
|
1061
|
+
async resolveResources() {
|
|
1062
|
+
// ###TODO traverse the scene nodes to find resources referenced by them, instead of resolving everything - some resources may not
|
|
1063
|
+
// be required for the scene.
|
|
1064
|
+
const promises = [];
|
|
1065
|
+
try {
|
|
1066
|
+
for (const buffer of dictionaryIterator(this._buffers))
|
|
1067
|
+
if (!buffer.resolvedBuffer)
|
|
1068
|
+
promises.push(this.resolveBuffer(buffer));
|
|
1069
|
+
await Promise.all(promises);
|
|
1070
|
+
if (this._isCanceled)
|
|
1071
|
+
return;
|
|
1072
|
+
promises.length = 0;
|
|
1073
|
+
for (const image of dictionaryIterator(this._images))
|
|
1074
|
+
if (!image.resolvedImage)
|
|
1075
|
+
promises.push(this.resolveImage(image));
|
|
709
1076
|
await Promise.all(promises);
|
|
1077
|
+
}
|
|
1078
|
+
catch (_) {
|
|
1079
|
+
}
|
|
710
1080
|
}
|
|
711
|
-
|
|
1081
|
+
resolveUrl(uri) {
|
|
712
1082
|
try {
|
|
713
|
-
|
|
714
|
-
const bufferView = this._bufferViews[binaryImageJson.bufferView];
|
|
715
|
-
const mimeType = JsonUtils.asString(binaryImageJson.mimeType);
|
|
716
|
-
const format = getImageSourceFormatForMimeType(mimeType);
|
|
717
|
-
if (undefined === format)
|
|
718
|
-
return undefined;
|
|
719
|
-
let textureType = RenderTexture.Type.Normal;
|
|
720
|
-
if (undefined !== samplerJson &&
|
|
721
|
-
(undefined !== samplerJson.wrapS || undefined !== samplerJson.wrapT))
|
|
722
|
-
textureType = RenderTexture.Type.TileSection;
|
|
723
|
-
const offset = bufferView.byteOffset;
|
|
724
|
-
/* -----------------------------------
|
|
725
|
-
const jpegArray = this._binaryData.slice(offset, offset + bufferView.byteLength);
|
|
726
|
-
const jpegArrayBuffer = jpegArray.buffer;
|
|
727
|
-
const workerOp = new ImageDecodeWorkerOperation(jpegArrayBuffer, mimeType);
|
|
728
|
-
try {
|
|
729
|
-
const imageBitmap = await GltfReader.webWorkerManager.queueOperation(workerOp)
|
|
730
|
-
return this._isCanceled ? undefined : this._system.createTextureFromImage(imageBitmap, isTransparent && ImageSourceFormat.Png === format, this._iModel, textureParams))
|
|
731
|
-
} catch {
|
|
732
|
-
return undefined;
|
|
733
|
-
}
|
|
734
|
-
------------------------------------- */
|
|
735
|
-
const bytes = this._binaryData.subarray(offset, offset + bufferView.byteLength);
|
|
736
|
-
const imageSource = new ImageSource(bytes, format);
|
|
737
|
-
try {
|
|
738
|
-
const image = await imageElementFromImageSource(imageSource);
|
|
739
|
-
if (this._isCanceled)
|
|
740
|
-
return undefined;
|
|
741
|
-
return this._system.createTexture({
|
|
742
|
-
type: textureType,
|
|
743
|
-
image: {
|
|
744
|
-
source: image,
|
|
745
|
-
transparency: isTransparent && ImageSourceFormat.Png === format ? TextureTransparency.Translucent : TextureTransparency.Opaque,
|
|
746
|
-
},
|
|
747
|
-
});
|
|
748
|
-
}
|
|
749
|
-
catch {
|
|
750
|
-
return undefined;
|
|
751
|
-
}
|
|
1083
|
+
return new URL(uri, this._baseUrl).toString();
|
|
752
1084
|
}
|
|
753
|
-
catch (
|
|
1085
|
+
catch (_) {
|
|
754
1086
|
return undefined;
|
|
755
1087
|
}
|
|
756
1088
|
}
|
|
757
|
-
async
|
|
758
|
-
|
|
759
|
-
|
|
1089
|
+
async resolveBuffer(buffer) {
|
|
1090
|
+
if (buffer.resolvedBuffer || undefined === buffer.uri)
|
|
1091
|
+
return;
|
|
1092
|
+
try {
|
|
1093
|
+
const url = this.resolveUrl(buffer.uri);
|
|
1094
|
+
const response = url ? await fetch(url) : undefined;
|
|
1095
|
+
if (this._isCanceled)
|
|
1096
|
+
return;
|
|
1097
|
+
const data = await (response === null || response === void 0 ? void 0 : response.arrayBuffer());
|
|
1098
|
+
if (this._isCanceled)
|
|
1099
|
+
return;
|
|
1100
|
+
if (data)
|
|
1101
|
+
buffer.resolvedBuffer = new Uint8Array(data);
|
|
1102
|
+
}
|
|
1103
|
+
catch (_) {
|
|
1104
|
+
//
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
async resolveImage(image) {
|
|
1108
|
+
var _a, _b, _c;
|
|
1109
|
+
if (image.resolvedImage)
|
|
1110
|
+
return;
|
|
1111
|
+
const bvSrc = undefined !== image.bufferView ? image : (_a = image.extensions) === null || _a === void 0 ? void 0 : _a.KHR_binary_glTF;
|
|
1112
|
+
if (undefined !== (bvSrc === null || bvSrc === void 0 ? void 0 : bvSrc.bufferView)) {
|
|
1113
|
+
const format = undefined !== bvSrc.mimeType ? getImageSourceFormatForMimeType(bvSrc.mimeType) : undefined;
|
|
1114
|
+
const bufferView = this._bufferViews[bvSrc.bufferView];
|
|
1115
|
+
if (undefined === format || !bufferView || !bufferView.byteLength || bufferView.byteLength < 0)
|
|
1116
|
+
return;
|
|
1117
|
+
const bufferData = (_b = this._buffers[bufferView.buffer]) === null || _b === void 0 ? void 0 : _b.resolvedBuffer;
|
|
1118
|
+
if (!bufferData)
|
|
1119
|
+
return;
|
|
1120
|
+
const offset = (_c = bufferView.byteOffset) !== null && _c !== void 0 ? _c : 0;
|
|
1121
|
+
const bytes = bufferData.subarray(offset, offset + bufferView.byteLength);
|
|
1122
|
+
try {
|
|
1123
|
+
image.resolvedImage = await imageElementFromImageSource(new ImageSource(bytes, format));
|
|
1124
|
+
}
|
|
1125
|
+
catch (_) {
|
|
1126
|
+
//
|
|
1127
|
+
}
|
|
760
1128
|
return;
|
|
761
|
-
|
|
762
|
-
|
|
1129
|
+
}
|
|
1130
|
+
const url = undefined !== image.uri ? this.resolveUrl(image.uri) : undefined;
|
|
1131
|
+
if (undefined !== url)
|
|
1132
|
+
image.resolvedImage = await tryImageElementFromUrl(url);
|
|
1133
|
+
}
|
|
1134
|
+
resolveTexture(textureId, isTransparent) {
|
|
1135
|
+
var _a;
|
|
1136
|
+
const texture = this._textures[textureId];
|
|
1137
|
+
if (!texture || undefined === texture.source)
|
|
1138
|
+
return false;
|
|
1139
|
+
const image = (_a = this._images[texture.source]) === null || _a === void 0 ? void 0 : _a.resolvedImage;
|
|
1140
|
+
if (!image)
|
|
1141
|
+
return false;
|
|
1142
|
+
const samplerId = texture.sampler;
|
|
1143
|
+
const sampler = undefined !== samplerId ? this._samplers[samplerId] : undefined;
|
|
1144
|
+
// ###TODO: RenderTexture should support different wrapping behavior for U vs V, and support mirrored repeat.
|
|
1145
|
+
// For now, repeat unless either explicitly clamps.
|
|
1146
|
+
const textureType = GltfWrapMode.ClampToEdge === (sampler === null || sampler === void 0 ? void 0 : sampler.wrapS) || GltfWrapMode.ClampToEdge === (sampler === null || sampler === void 0 ? void 0 : sampler.wrapT) ? RenderTexture.Type.TileSection : RenderTexture.Type.Normal;
|
|
1147
|
+
const renderTexture = this._system.createTexture({
|
|
1148
|
+
type: textureType,
|
|
1149
|
+
image: {
|
|
1150
|
+
source: image,
|
|
1151
|
+
transparency: isTransparent ? TextureTransparency.Mixed : TextureTransparency.Opaque,
|
|
1152
|
+
},
|
|
1153
|
+
});
|
|
1154
|
+
return renderTexture !== null && renderTexture !== void 0 ? renderTexture : false;
|
|
1155
|
+
}
|
|
1156
|
+
findTextureMapping(id, isTransparent) {
|
|
1157
|
+
let texture = this._resolvedTextures.get({ id, isTransparent });
|
|
1158
|
+
if (undefined === texture)
|
|
1159
|
+
this._resolvedTextures.set({ id, isTransparent }, texture = this.resolveTexture(id, isTransparent));
|
|
1160
|
+
return texture ? new TextureMapping(texture, new TextureMapping.Params()) : undefined;
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
/** Produce a [[RenderGraphic]] from a [glTF](https://www.khronos.org/gltf/) asset suitable for use in [view decorations]($docs/learning/frontend/ViewDecorations).
|
|
1164
|
+
* @returns a graphic produced from the glTF asset's default scene, or `undefined` if a graphic could not be produced from the asset.
|
|
1165
|
+
* @note Support for the full [glTF 2.0 specification](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html) is currently a work in progress.
|
|
1166
|
+
* If a particular glTF asset fails to load and/or display properly, please
|
|
1167
|
+
* [submit an issue](https://github.com/iTwin/itwinjs-core/issues).
|
|
1168
|
+
* @see [Example decorator]($docs/learning/frontend/ViewDecorations#gltf-decorations) for an example of a decorator that reads and displays a glTF asset.
|
|
1169
|
+
* @public
|
|
1170
|
+
*/
|
|
1171
|
+
export async function readGltfGraphics(args) {
|
|
1172
|
+
const props = GltfReaderProps.create(args.gltf, true, args.baseUrl); // glTF supports exactly one coordinate system with y axis up.
|
|
1173
|
+
const reader = props ? new GltfGraphicsReader(props, args) : undefined;
|
|
1174
|
+
if (!reader)
|
|
1175
|
+
return undefined;
|
|
1176
|
+
const result = await reader.read();
|
|
1177
|
+
return result.graphic;
|
|
1178
|
+
}
|
|
1179
|
+
/** Implements [[readGltfGraphics]]. Exported strictly for tests.
|
|
1180
|
+
* @internal
|
|
1181
|
+
*/
|
|
1182
|
+
export class GltfGraphicsReader extends GltfReader {
|
|
1183
|
+
constructor(props, args) {
|
|
1184
|
+
var _a, _b, _c;
|
|
1185
|
+
super({
|
|
1186
|
+
props,
|
|
1187
|
+
iModel: args.iModel,
|
|
1188
|
+
vertexTableRequired: true,
|
|
1189
|
+
});
|
|
1190
|
+
this.binaryData = props.binaryData;
|
|
1191
|
+
const pickableId = (_a = args.pickableOptions) === null || _a === void 0 ? void 0 : _a.id;
|
|
1192
|
+
if (pickableId) {
|
|
1193
|
+
this._featureTable = new FeatureTable(1, (_c = (_b = args.pickableOptions) === null || _b === void 0 ? void 0 : _b.modelId) !== null && _c !== void 0 ? _c : pickableId, BatchType.Primary);
|
|
1194
|
+
this._featureTable.insert(new Feature(pickableId));
|
|
1195
|
+
}
|
|
763
1196
|
}
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
return undefined !== texture ? new TextureMapping(texture, new TextureMapping.Params()) : undefined;
|
|
1197
|
+
async read() {
|
|
1198
|
+
await this.resolveResources();
|
|
1199
|
+
return this.readGltfAndCreateGraphics(true, this._featureTable, undefined);
|
|
768
1200
|
}
|
|
1201
|
+
get nodes() { return this._nodes; }
|
|
1202
|
+
get scenes() { var _a; return (_a = this._glTF.scenes) !== null && _a !== void 0 ? _a : emptyDict; }
|
|
1203
|
+
get sceneNodes() { return this._sceneNodes; }
|
|
1204
|
+
get textures() { return this._textures; }
|
|
769
1205
|
}
|
|
770
1206
|
//# sourceMappingURL=GltfReader.js.map
|