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