@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graphic.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/Graphic.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Graphic.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/Graphic.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module WebGL
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.GraphicsArray = exports.WorldDecorations = exports.Branch = exports.Batch = exports.PerTargetData = exports.PerTargetBatchData = exports.GraphicOwner = exports.Graphic = void 0;
|
|
10
|
+
exports.GraphicsArray = exports.WorldDecorations = exports.AnimationTransformBranch = exports.Branch = exports.Batch = exports.PerTargetData = exports.PerTargetBatchData = exports.GraphicOwner = exports.Graphic = 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");
|
|
@@ -246,15 +246,53 @@ class Branch extends Graphic {
|
|
|
246
246
|
collectStatistics(stats) {
|
|
247
247
|
this.branch.collectStatistics(stats);
|
|
248
248
|
}
|
|
249
|
+
shouldAddCommands(commands) {
|
|
250
|
+
const nodeId = commands.target.getAnimationTransformNodeId(this.branch.animationNodeId);
|
|
251
|
+
return undefined === nodeId || nodeId === commands.target.currentAnimationTransformNodeId;
|
|
252
|
+
}
|
|
249
253
|
addCommands(commands) {
|
|
250
|
-
|
|
254
|
+
if (this.shouldAddCommands(commands))
|
|
255
|
+
commands.addBranch(this);
|
|
251
256
|
}
|
|
252
257
|
addHiliteCommands(commands, pass) {
|
|
253
|
-
|
|
258
|
+
if (this.shouldAddCommands(commands))
|
|
259
|
+
commands.addHiliteBranch(this, pass);
|
|
254
260
|
}
|
|
255
261
|
}
|
|
256
262
|
exports.Branch = Branch;
|
|
257
263
|
/** @internal */
|
|
264
|
+
class AnimationTransformBranch extends Graphic {
|
|
265
|
+
constructor(graphic, nodeId) {
|
|
266
|
+
super();
|
|
267
|
+
(0, core_bentley_1.assert)(graphic instanceof Graphic);
|
|
268
|
+
this.graphic = graphic;
|
|
269
|
+
this.nodeId = nodeId;
|
|
270
|
+
}
|
|
271
|
+
dispose() {
|
|
272
|
+
this.graphic.dispose();
|
|
273
|
+
}
|
|
274
|
+
get isDisposed() {
|
|
275
|
+
return this.graphic.isDisposed;
|
|
276
|
+
}
|
|
277
|
+
get isPickable() {
|
|
278
|
+
return this.graphic.isPickable;
|
|
279
|
+
}
|
|
280
|
+
collectStatistics(stats) {
|
|
281
|
+
this.graphic.collectStatistics(stats);
|
|
282
|
+
}
|
|
283
|
+
addCommands(commands) {
|
|
284
|
+
commands.target.currentAnimationTransformNodeId = this.nodeId;
|
|
285
|
+
this.graphic.addCommands(commands);
|
|
286
|
+
commands.target.currentAnimationTransformNodeId = undefined;
|
|
287
|
+
}
|
|
288
|
+
addHiliteCommands(commands, pass) {
|
|
289
|
+
commands.target.currentAnimationTransformNodeId = this.nodeId;
|
|
290
|
+
this.graphic.addHiliteCommands(commands, pass);
|
|
291
|
+
commands.target.currentAnimationTransformNodeId = undefined;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
exports.AnimationTransformBranch = AnimationTransformBranch;
|
|
295
|
+
/** @internal */
|
|
258
296
|
class WorldDecorations extends Branch {
|
|
259
297
|
constructor(viewFlags) {
|
|
260
298
|
super(new GraphicBranch_1.GraphicBranch(), core_geometry_1.Transform.identity, viewFlags);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graphic.js","sourceRoot":"","sources":["../../../../src/render/webgl/Graphic.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAsD;AACtD,wDAAiD;AACjD,oDAAwI;AAExI,0DAAuD;AACvD,oDAA6F;AAC7F,oDAA8D;AAK9D,yDAAsD;AACtD,yDAAsD;AAKtD,iDAA8C;AAC9C,iDAA8C;AAC9C,uDAAoD;AAEpD,gBAAgB;AAChB,MAAsB,OAAQ,SAAQ,6BAAa;IAI1C,iBAAiB,CAAC,SAAyB,EAAE,KAAiB,IAAU,IAAA,qBAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxF,WAAW,KAA4B,OAAO,SAAS,CAAC,CAAC,CAAC;CAClE;AAND,0BAMC;AAED,MAAa,YAAa,SAAQ,OAAO;IAGvC,YAAmB,OAAgB;QACjC,KAAK,EAAE,CAAC;QAMF,gBAAW,GAAG,KAAK,CAAC;QAL1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAW,OAAO,KAAoB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAG7D,IAAW,UAAU,KAAc,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,OAAO,KAAW,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5C,cAAc;QACnB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IACM,iBAAiB,CAAC,KAA8B;QACrD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEM,WAAW,CAAC,QAAwB;QACzC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,IAAoB,UAAU;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IACe,iBAAiB,CAAC,QAAwB,EAAE,IAAgB;QAC1E,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IACe,WAAW;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;CACF;AAhCD,oCAgCC;AAUD,6CAA6C;AAC7C,MAAa,kBAAkB;IAK7B,YAAmB,MAAc;QAHd,sBAAiB,GAAG,IAAI,GAAG,EAAyD,CAAC;QAItG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAA,sBAAO,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YACjD,IAAA,sBAAO,EAAC,KAAK,CAAC,CAAC;QAEjB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAEM,kBAAkB,CAAC,KAAY;QACpC,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5E,IAAI,CAAC,gBAAgB,GAAG,IAAA,sBAAO,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEzD,IAAI,CAAC,IAAI,CAAC,gBAAgB;YACxB,IAAI,CAAC,gBAAgB,GAAG,iCAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,mBAAmB,CAAC,KAAY;;QACrC,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,gCAAgC,0CAAE,MAAM,CAAC;QACpE,IAAI,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1G,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,mCAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAClH,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACtC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,KAA8B;QACrD,IAAI,IAAI,CAAC,gBAAgB;YACvB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE5D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAChD,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,kCAAkC;IAClC,IAAW,gBAAgB,KAAK,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExD,gBAAgB,CAAC,MAA+B;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;CACF;AA3DD,gDA2DC;AAED,6CAA6C;AAC7C,MAAa,aAAa;IAIxB,YAAmB,KAAY;QAFd,UAAK,GAAyB,EAAE,CAAC;QAGhD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEM,OAAO;QACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,kCAAkC;IAClC,IAAW,IAAI,KAA2B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvD,gBAAgB,CAAC,MAAc;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,CAAC,KAAK,KAAK;YACd,OAAO;QAET,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAEM,iBAAiB,CAAC,KAA8B;QACrD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;YAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,kBAAkB,CAAC,MAAc;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAEM,mBAAmB,CAAC,MAAc;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC9B;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAxDD,sCAwDC;AAED,gBAAgB;AAChB,MAAa,KAAM,SAAQ,OAAO;IA6BhC,YAAmB,OAAsB,EAAE,QAA4B,EAAE,KAA0B,EAAE,OAAsB;QACzH,KAAK,EAAE,CAAC;QA1BO,aAAQ,GAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACzD,iCAAiC;QACjB,kBAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QA+BhD,gBAAW,GAAG,KAAK,CAAC;QAN1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAC/B,CAAC;IA1BD,yBAAyB;IACzB,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED,IAAW,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,UAAU,CAAC,OAAe,EAAE,MAAoC;QACrE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAChC,CAAC;IACM,YAAY;QACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;IACnC,CAAC;IAWD,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;IAC3D,CAAC;IAED,sHAAsH;IAC/G,OAAO;QACZ,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEM,iBAAiB,CAAC,KAA8B;QACrD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAEM,WAAW,CAAC,QAAwB;QACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAoB,UAAU;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,kBAAkB,CAAC,MAAc;QACtC,IAAA,qBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,sCAAsC,CAAC,CAAC;QACnF,IAAA,qBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,iCAAmB,CAAC,8BAA8B,EAAE,4CAA4C,CAAC,CAAC;QAC9I,IAAA,qBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,0CAA0C,CAAC,CAAC;QAE3G,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAEM,YAAY,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,gBAAgB,CAAC,MAAc;QACpC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;CACF;AA/ED,sBA+EC;AAED,gBAAgB;AAChB,MAAa,MAAO,SAAQ,OAAO;IAWjC,YAAmB,MAAqB,EAAE,YAAuB,EAAE,SAAqB,EAAE,IAA2B;QACnH,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC;QAE1C,IAAI,SAAS,KAAK,SAAS;YACzB,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI;YACP,OAAO;QAET,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAoC,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5B,IAAI,IAAI,CAAC,KAAK;YACZ,IAAI,CAAC,YAAY,GAAG,2BAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,iBAAiB,YAAY,mCAAgB;YACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAC5C,IAAI,IAAI,CAAC,iBAAiB,YAAY,2BAAY;YACrD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAC/C,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAC1C,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAoB,UAAU;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAE,EAAc,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IAEM,iBAAiB,CAAC,KAA8B;QACrD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW,CAAC,QAAwB;QACzC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEe,iBAAiB,CAAC,QAAwB,EAAE,IAAgB;QAC1E,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AA3DD,wBA2DC;AAED,gBAAgB;AAChB,MAAa,gBAAiB,SAAQ,MAAM;IAC1C,YAAmB,SAAoB;QACrC,KAAK,CAAC,IAAI,6BAAa,EAAE,EAAE,yBAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE1D,mFAAmF;QACnF,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,mCAAgB,CAAC,SAAS,EAAE,CAAC;IACpE,CAAC;IAEM,IAAI,CAAC,IAAiB;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACtB;IACH,CAAC;CACF;AAdD,4CAcC;AACD,gBAAgB;AAChB,MAAa,aAAc,SAAQ,OAAO;IACxC,kFAAkF;IAClF,YAAmB,QAAyB;QAAI,KAAK,EAAE,CAAC;QAArC,aAAQ,GAAR,QAAQ,CAAiB;IAAa,CAAC;IAE1D,IAAW,UAAU,KAAc,OAAO,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvE,IAAoB,UAAU;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAa,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAEM,OAAO;QACZ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ;YACjC,IAAA,sBAAO,EAAC,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEM,WAAW,CAAC,QAAwB;QACzC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,OAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC5C;IACH,CAAC;IAEe,iBAAiB,CAAC,QAAwB,EAAE,IAAgB;QAC1E,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,OAAmB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACxD;IACH,CAAC;IAEM,iBAAiB,CAAC,KAA8B;QACrD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ;YACjC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF;AAhCD,sCAgCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert, dispose } from \"@itwin/core-bentley\";\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { ElementAlignedBox3d, FeatureAppearanceProvider, PackedFeatureTable, ThematicDisplayMode, ViewFlags } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { FeatureSymbology } from \"../FeatureSymbology\";\r\nimport { GraphicBranch, GraphicBranchFrustum, GraphicBranchOptions } from \"../GraphicBranch\";\r\nimport { GraphicList, RenderGraphic } from \"../RenderGraphic\";\r\nimport { BatchOptions } from \"../GraphicBuilder\";\r\nimport { RenderMemory } from \"../RenderMemory\";\r\nimport { ClipVolume } from \"./ClipVolume\";\r\nimport { WebGLDisposable } from \"./Disposable\";\r\nimport { FeatureOverrides } from \"./FeatureOverrides\";\r\nimport { PlanarClassifier } from \"./PlanarClassifier\";\r\nimport { Primitive } from \"./Primitive\";\r\nimport { RenderCommands } from \"./RenderCommands\";\r\nimport { RenderPass } from \"./RenderFlags\";\r\nimport { Target } from \"./Target\";\r\nimport { TextureDrape } from \"./TextureDrape\";\r\nimport { EdgeSettings } from \"./EdgeSettings\";\r\nimport { ThematicSensors } from \"./ThematicSensors\";\r\n\r\n/** @internal */\r\nexport abstract class Graphic extends RenderGraphic implements WebGLDisposable {\r\n public abstract addCommands(_commands: RenderCommands): void;\r\n public abstract get isDisposed(): boolean;\r\n public abstract get isPickable(): boolean;\r\n public addHiliteCommands(_commands: RenderCommands, _pass: RenderPass): void { assert(false); }\r\n public toPrimitive(): Primitive | undefined { return undefined; }\r\n}\r\n\r\nexport class GraphicOwner extends Graphic {\r\n private readonly _graphic: Graphic;\r\n\r\n public constructor(graphic: Graphic) {\r\n super();\r\n this._graphic = graphic;\r\n }\r\n\r\n public get graphic(): RenderGraphic { return this._graphic; }\r\n\r\n private _isDisposed = false;\r\n public get isDisposed(): boolean { return this._isDisposed; }\r\n public dispose(): void { this._isDisposed = true; }\r\n public disposeGraphic(): void {\r\n this.graphic.dispose();\r\n }\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.graphic.collectStatistics(stats);\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n this._graphic.addCommands(commands);\r\n }\r\n public override get isPickable(): boolean {\r\n return this._graphic.isPickable;\r\n }\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n this._graphic.addHiliteCommands(commands, pass);\r\n }\r\n public override toPrimitive(): Primitive | undefined {\r\n return this._graphic.toPrimitive();\r\n }\r\n}\r\n\r\n/** Transiently assigned to a Batch while rendering a frame, reset afterward. Used to provide context for pick IDs.\r\n * @internal\r\n */\r\nexport interface BatchContext {\r\n batchId: number;\r\n iModel?: IModelConnection;\r\n}\r\n\r\n/** @internal exported strictly for tests. */\r\nexport class PerTargetBatchData {\r\n public readonly target: Target;\r\n protected readonly _featureOverrides = new Map<FeatureSymbology.Source | undefined, FeatureOverrides>();\r\n protected _thematicSensors?: ThematicSensors;\r\n\r\n public constructor(target: Target) {\r\n this.target = target;\r\n }\r\n\r\n public dispose(): void {\r\n this._thematicSensors = dispose(this._thematicSensors);\r\n for (const value of this._featureOverrides.values())\r\n dispose(value);\r\n\r\n this._featureOverrides.clear();\r\n }\r\n\r\n public getThematicSensors(batch: Batch): ThematicSensors {\r\n if (this._thematicSensors && !this._thematicSensors.matchesTarget(this.target))\r\n this._thematicSensors = dispose(this._thematicSensors);\r\n\r\n if (!this._thematicSensors)\r\n this._thematicSensors = ThematicSensors.create(this.target, batch.range);\r\n\r\n this._thematicSensors.update(this.target.uniforms.frustum.viewMatrix);\r\n return this._thematicSensors;\r\n }\r\n\r\n public getFeatureOverrides(batch: Batch): FeatureOverrides {\r\n const source = this.target.currentFeatureSymbologyOverrides?.source;\r\n let ovrs = this._featureOverrides.get(source);\r\n if (!ovrs) {\r\n const cleanup = source ? source.onSourceDisposed.addOnce(() => this.onSourceDisposed(source)) : undefined;\r\n this._featureOverrides.set(source, ovrs = FeatureOverrides.createFromTarget(this.target, batch.options, cleanup));\r\n ovrs.initFromMap(batch.featureTable);\r\n }\r\n\r\n ovrs.update(batch.featureTable);\r\n return ovrs;\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n if (this._thematicSensors)\r\n stats.addThematicTexture(this._thematicSensors.bytesUsed);\r\n\r\n for (const ovrs of this._featureOverrides.values())\r\n stats.addFeatureOverrides(ovrs.byteLength);\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get featureOverrides() { return this._featureOverrides; }\r\n\r\n private onSourceDisposed(source: FeatureSymbology.Source): void {\r\n const ovrs = this._featureOverrides.get(source);\r\n if (ovrs) {\r\n this._featureOverrides.delete(source);\r\n ovrs.dispose();\r\n }\r\n }\r\n}\r\n\r\n/** @internal exported strictly for tests. */\r\nexport class PerTargetData {\r\n private readonly _batch: Batch;\r\n private readonly _data: PerTargetBatchData[] = [];\r\n\r\n public constructor(batch: Batch) {\r\n this._batch = batch;\r\n }\r\n\r\n public dispose(): void {\r\n for (const data of this._data) {\r\n data.target.onBatchDisposed(this._batch);\r\n data.dispose();\r\n }\r\n\r\n this._data.length = 0;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return this._data.length === 0;\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get data(): PerTargetBatchData[] { return this._data; }\r\n\r\n public onTargetDisposed(target: Target): void {\r\n const index = this._data.findIndex((x) => x.target === target);\r\n if (-1 === index)\r\n return;\r\n\r\n const data = this._data[index];\r\n data.dispose();\r\n this._data.splice(index, 1);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const data of this._data)\r\n data.collectStatistics(stats);\r\n }\r\n\r\n public getThematicSensors(target: Target): ThematicSensors {\r\n return this.getBatchData(target).getThematicSensors(this._batch);\r\n }\r\n\r\n public getFeatureOverrides(target: Target): FeatureOverrides {\r\n return this.getBatchData(target).getFeatureOverrides(this._batch);\r\n }\r\n\r\n private getBatchData(target: Target): PerTargetBatchData {\r\n let data = this._data.find((x) => x.target === target);\r\n if (!data) {\r\n this._data.push(data = new PerTargetBatchData(target));\r\n target.addBatch(this._batch);\r\n }\r\n\r\n return data;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class Batch extends Graphic {\r\n public readonly graphic: RenderGraphic;\r\n public readonly featureTable: PackedFeatureTable;\r\n public readonly range: ElementAlignedBox3d;\r\n private readonly _context: BatchContext = { batchId: 0 };\r\n /** Public strictly for tests. */\r\n public readonly perTargetData = new PerTargetData(this);\r\n public readonly options: BatchOptions;\r\n\r\n // Chiefly for debugging.\r\n public get tileId(): string | undefined {\r\n return this.options.tileId;\r\n }\r\n\r\n public get locateOnly(): boolean {\r\n return true === this.options.locateOnly;\r\n }\r\n\r\n public get batchId() { return this._context.batchId; }\r\n public get batchIModel() { return this._context.iModel; }\r\n public setContext(batchId: number, iModel: IModelConnection | undefined) {\r\n this._context.batchId = batchId;\r\n this._context.iModel = iModel;\r\n }\r\n public resetContext() {\r\n this._context.batchId = 0;\r\n this._context.iModel = undefined;\r\n }\r\n\r\n public constructor(graphic: RenderGraphic, features: PackedFeatureTable, range: ElementAlignedBox3d, options?: BatchOptions) {\r\n super();\r\n this.graphic = graphic;\r\n this.featureTable = features;\r\n this.range = range;\r\n this.options = options ?? {};\r\n }\r\n\r\n private _isDisposed = false;\r\n public get isDisposed(): boolean {\r\n return this._isDisposed && this.perTargetData.isDisposed;\r\n }\r\n\r\n // Note: This does not remove FeatureOverrides from the array, but rather disposes of the WebGL resources they contain\r\n public dispose() {\r\n dispose(this.graphic);\r\n\r\n this.perTargetData.dispose();\r\n this._isDisposed = true;\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.graphic.collectStatistics(stats);\r\n stats.addFeatureTable(this.featureTable.byteLength);\r\n this.perTargetData.collectStatistics(stats);\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n commands.addBatch(this);\r\n }\r\n\r\n public override get isPickable(): boolean {\r\n return true;\r\n }\r\n\r\n public getThematicSensors(target: Target): ThematicSensors {\r\n assert(target.plan.thematic !== undefined, \"thematic display settings must exist\");\r\n assert(target.plan.thematic.displayMode === ThematicDisplayMode.InverseDistanceWeightedSensors, \"thematic display mode must be sensor-based\");\r\n assert(target.plan.thematic.sensorSettings.sensors.length > 0, \"must have at least one sensor to process\");\r\n\r\n return this.perTargetData.getThematicSensors(target);\r\n }\r\n\r\n public getOverrides(target: Target): FeatureOverrides {\r\n return this.perTargetData.getFeatureOverrides(target);\r\n }\r\n\r\n public onTargetDisposed(target: Target) {\r\n this.perTargetData.onTargetDisposed(target);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class Branch extends Graphic {\r\n public readonly branch: GraphicBranch;\r\n public localToWorldTransform: Transform;\r\n public readonly clips?: ClipVolume;\r\n public readonly planarClassifier?: PlanarClassifier;\r\n public readonly textureDrape?: TextureDrape;\r\n public readonly edgeSettings?: EdgeSettings;\r\n public readonly iModel?: IModelConnection; // used chiefly for readPixels to identify context of picked Ids.\r\n public readonly frustum?: GraphicBranchFrustum;\r\n public readonly appearanceProvider?: FeatureAppearanceProvider;\r\n\r\n public constructor(branch: GraphicBranch, localToWorld: Transform, viewFlags?: ViewFlags, opts?: GraphicBranchOptions) {\r\n super();\r\n this.branch = branch;\r\n this.localToWorldTransform = localToWorld;\r\n\r\n if (undefined !== viewFlags)\r\n branch.setViewFlags(viewFlags);\r\n\r\n if (!opts)\r\n return;\r\n\r\n this.appearanceProvider = opts.appearanceProvider;\r\n this.clips = opts.clipVolume as ClipVolume | undefined;\r\n this.iModel = opts.iModel;\r\n this.frustum = opts.frustum;\r\n\r\n if (opts.hline)\r\n this.edgeSettings = EdgeSettings.create(opts.hline);\r\n\r\n if (opts.classifierOrDrape instanceof PlanarClassifier)\r\n this.planarClassifier = opts.classifierOrDrape;\r\n else if (opts.classifierOrDrape instanceof TextureDrape)\r\n this.textureDrape = opts.classifierOrDrape;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return 0 === this.branch.entries.length;\r\n }\r\n\r\n public dispose() {\r\n this.branch.dispose();\r\n }\r\n\r\n public override get isPickable(): boolean {\r\n return this.branch.entries.some((gf) => (gf as Graphic).isPickable);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.branch.collectStatistics(stats);\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n commands.addBranch(this);\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n commands.addHiliteBranch(this, pass);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WorldDecorations extends Branch {\r\n public constructor(viewFlags: ViewFlags) {\r\n super(new GraphicBranch(), Transform.identity, viewFlags);\r\n\r\n // World decorations ignore all the symbology overrides for the \"scene\" geometry...\r\n this.branch.symbologyOverrides = new FeatureSymbology.Overrides();\r\n }\r\n\r\n public init(decs: GraphicList): void {\r\n this.branch.clear();\r\n for (const dec of decs) {\r\n this.branch.add(dec);\r\n }\r\n }\r\n}\r\n/** @internal */\r\nexport class GraphicsArray extends Graphic {\r\n // Note: We assume the graphics array we get contains undisposed graphics to start\r\n constructor(public graphics: RenderGraphic[]) { super(); }\r\n\r\n public get isDisposed(): boolean { return 0 === this.graphics.length; }\r\n\r\n public override get isPickable(): boolean {\r\n return this.graphics.some((x) => (x as Graphic).isPickable);\r\n }\r\n\r\n public dispose() {\r\n for (const graphic of this.graphics)\r\n dispose(graphic);\r\n this.graphics.length = 0;\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n for (const graphic of this.graphics) {\r\n (graphic as Graphic).addCommands(commands);\r\n }\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n for (const graphic of this.graphics) {\r\n (graphic as Graphic).addHiliteCommands(commands, pass);\r\n }\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const graphic of this.graphics)\r\n graphic.collectStatistics(stats);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Graphic.js","sourceRoot":"","sources":["../../../../src/render/webgl/Graphic.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert, dispose } from \"@itwin/core-bentley\";\nimport { Transform } from \"@itwin/core-geometry\";\nimport { ElementAlignedBox3d, FeatureAppearanceProvider, PackedFeatureTable, ThematicDisplayMode, ViewFlags } from \"@itwin/core-common\";\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { FeatureSymbology } from \"../FeatureSymbology\";\r\nimport { GraphicBranch, GraphicBranchFrustum, GraphicBranchOptions } from \"../GraphicBranch\";\r\nimport { GraphicList, RenderGraphic } from \"../RenderGraphic\";\r\nimport { BatchOptions } from \"../GraphicBuilder\";\r\nimport { RenderMemory } from \"../RenderMemory\";\r\nimport { ClipVolume } from \"./ClipVolume\";\r\nimport { WebGLDisposable } from \"./Disposable\";\r\nimport { FeatureOverrides } from \"./FeatureOverrides\";\r\nimport { PlanarClassifier } from \"./PlanarClassifier\";\r\nimport { Primitive } from \"./Primitive\";\r\nimport { RenderCommands } from \"./RenderCommands\";\r\nimport { RenderPass } from \"./RenderFlags\";\r\nimport { Target } from \"./Target\";\r\nimport { TextureDrape } from \"./TextureDrape\";\r\nimport { EdgeSettings } from \"./EdgeSettings\";\r\nimport { ThematicSensors } from \"./ThematicSensors\";\r\n\r\n/** @internal */\r\nexport abstract class Graphic extends RenderGraphic implements WebGLDisposable {\r\n public abstract addCommands(_commands: RenderCommands): void;\r\n public abstract get isDisposed(): boolean;\r\n public abstract get isPickable(): boolean;\r\n public addHiliteCommands(_commands: RenderCommands, _pass: RenderPass): void { assert(false); }\r\n public toPrimitive(): Primitive | undefined { return undefined; }\r\n}\r\n\r\nexport class GraphicOwner extends Graphic {\r\n private readonly _graphic: Graphic;\r\n\r\n public constructor(graphic: Graphic) {\r\n super();\r\n this._graphic = graphic;\r\n }\r\n\r\n public get graphic(): RenderGraphic { return this._graphic; }\r\n\r\n private _isDisposed = false;\r\n public get isDisposed(): boolean { return this._isDisposed; }\r\n public dispose(): void { this._isDisposed = true; }\r\n public disposeGraphic(): void {\r\n this.graphic.dispose();\r\n }\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.graphic.collectStatistics(stats);\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n this._graphic.addCommands(commands);\r\n }\r\n public override get isPickable(): boolean {\r\n return this._graphic.isPickable;\r\n }\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n this._graphic.addHiliteCommands(commands, pass);\r\n }\r\n public override toPrimitive(): Primitive | undefined {\r\n return this._graphic.toPrimitive();\r\n }\r\n}\r\n\r\n/** Transiently assigned to a Batch while rendering a frame, reset afterward. Used to provide context for pick IDs.\r\n * @internal\r\n */\r\nexport interface BatchContext {\r\n batchId: number;\r\n iModel?: IModelConnection;\r\n}\r\n\r\n/** @internal exported strictly for tests. */\nexport class PerTargetBatchData {\n public readonly target: Target;\n protected readonly _featureOverrides = new Map<FeatureSymbology.Source | undefined, FeatureOverrides>();\n protected _thematicSensors?: ThematicSensors;\n\n public constructor(target: Target) {\n this.target = target;\n }\n\n public dispose(): void {\n this._thematicSensors = dispose(this._thematicSensors);\n for (const value of this._featureOverrides.values())\n dispose(value);\n\n this._featureOverrides.clear();\n }\n\n public getThematicSensors(batch: Batch): ThematicSensors {\n if (this._thematicSensors && !this._thematicSensors.matchesTarget(this.target))\n this._thematicSensors = dispose(this._thematicSensors);\n\n if (!this._thematicSensors)\n this._thematicSensors = ThematicSensors.create(this.target, batch.range);\n\n this._thematicSensors.update(this.target.uniforms.frustum.viewMatrix);\n return this._thematicSensors;\n }\n\n public getFeatureOverrides(batch: Batch): FeatureOverrides {\n const source = this.target.currentFeatureSymbologyOverrides?.source;\n let ovrs = this._featureOverrides.get(source);\n if (!ovrs) {\n const cleanup = source ? source.onSourceDisposed.addOnce(() => this.onSourceDisposed(source)) : undefined;\n this._featureOverrides.set(source, ovrs = FeatureOverrides.createFromTarget(this.target, batch.options, cleanup));\n ovrs.initFromMap(batch.featureTable);\n }\n\n ovrs.update(batch.featureTable);\n return ovrs;\n }\n\n public collectStatistics(stats: RenderMemory.Statistics): void {\n if (this._thematicSensors)\n stats.addThematicTexture(this._thematicSensors.bytesUsed);\n\n for (const ovrs of this._featureOverrides.values())\n stats.addFeatureOverrides(ovrs.byteLength);\n }\n\n /** Exposed strictly for tests. */\n public get featureOverrides() { return this._featureOverrides; }\n\n private onSourceDisposed(source: FeatureSymbology.Source): void {\n const ovrs = this._featureOverrides.get(source);\n if (ovrs) {\n this._featureOverrides.delete(source);\n ovrs.dispose();\n }\n }\n}\r\n\r\n/** @internal exported strictly for tests. */\nexport class PerTargetData {\n private readonly _batch: Batch;\n private readonly _data: PerTargetBatchData[] = [];\n\n public constructor(batch: Batch) {\n this._batch = batch;\n }\n\n public dispose(): void {\n for (const data of this._data) {\n data.target.onBatchDisposed(this._batch);\n data.dispose();\n }\n\n this._data.length = 0;\n }\n\n public get isDisposed(): boolean {\n return this._data.length === 0;\n }\n\n /** Exposed strictly for tests. */\n public get data(): PerTargetBatchData[] { return this._data; }\n\n public onTargetDisposed(target: Target): void {\n const index = this._data.findIndex((x) => x.target === target);\n if (-1 === index)\n return;\n\n const data = this._data[index];\n data.dispose();\n this._data.splice(index, 1);\n }\n\n public collectStatistics(stats: RenderMemory.Statistics): void {\n for (const data of this._data)\n data.collectStatistics(stats);\n }\n\n public getThematicSensors(target: Target): ThematicSensors {\n return this.getBatchData(target).getThematicSensors(this._batch);\n }\n\n public getFeatureOverrides(target: Target): FeatureOverrides {\n return this.getBatchData(target).getFeatureOverrides(this._batch);\n }\n\n private getBatchData(target: Target): PerTargetBatchData {\n let data = this._data.find((x) => x.target === target);\n if (!data) {\n this._data.push(data = new PerTargetBatchData(target));\n target.addBatch(this._batch);\n }\n\n return data;\n }\n}\r\n\r\n/** @internal */\r\nexport class Batch extends Graphic {\r\n public readonly graphic: RenderGraphic;\r\n public readonly featureTable: PackedFeatureTable;\r\n public readonly range: ElementAlignedBox3d;\r\n private readonly _context: BatchContext = { batchId: 0 };\r\n /** Public strictly for tests. */\n public readonly perTargetData = new PerTargetData(this);\n public readonly options: BatchOptions;\n\r\n // Chiefly for debugging.\r\n public get tileId(): string | undefined {\r\n return this.options.tileId;\n }\r\n\r\n public get locateOnly(): boolean {\r\n return true === this.options.locateOnly;\n }\r\n\r\n public get batchId() { return this._context.batchId; }\r\n public get batchIModel() { return this._context.iModel; }\r\n public setContext(batchId: number, iModel: IModelConnection | undefined) {\r\n this._context.batchId = batchId;\r\n this._context.iModel = iModel;\r\n }\r\n public resetContext() {\r\n this._context.batchId = 0;\r\n this._context.iModel = undefined;\r\n }\r\n\r\n public constructor(graphic: RenderGraphic, features: PackedFeatureTable, range: ElementAlignedBox3d, options?: BatchOptions) {\r\n super();\r\n this.graphic = graphic;\r\n this.featureTable = features;\r\n this.range = range;\r\n this.options = options ?? {};\n }\r\n\r\n private _isDisposed = false;\r\n public get isDisposed(): boolean {\r\n return this._isDisposed && this.perTargetData.isDisposed;\n }\r\n\r\n // Note: This does not remove FeatureOverrides from the array, but rather disposes of the WebGL resources they contain\r\n public dispose() {\r\n dispose(this.graphic);\r\n\r\n this.perTargetData.dispose();\n this._isDisposed = true;\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.graphic.collectStatistics(stats);\r\n stats.addFeatureTable(this.featureTable.byteLength);\r\n this.perTargetData.collectStatistics(stats);\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n commands.addBatch(this);\r\n }\r\n\r\n public override get isPickable(): boolean {\r\n return true;\r\n }\r\n\r\n public getThematicSensors(target: Target): ThematicSensors {\r\n assert(target.plan.thematic !== undefined, \"thematic display settings must exist\");\r\n assert(target.plan.thematic.displayMode === ThematicDisplayMode.InverseDistanceWeightedSensors, \"thematic display mode must be sensor-based\");\r\n assert(target.plan.thematic.sensorSettings.sensors.length > 0, \"must have at least one sensor to process\");\r\n\r\n return this.perTargetData.getThematicSensors(target);\n }\r\n\r\n public getOverrides(target: Target): FeatureOverrides {\r\n return this.perTargetData.getFeatureOverrides(target);\n }\r\n\r\n public onTargetDisposed(target: Target) {\r\n this.perTargetData.onTargetDisposed(target);\n }\r\n}\r\n\r\n/** @internal */\r\nexport class Branch extends Graphic {\r\n public readonly branch: GraphicBranch;\r\n public localToWorldTransform: Transform;\r\n public readonly clips?: ClipVolume;\r\n public readonly planarClassifier?: PlanarClassifier;\r\n public readonly textureDrape?: TextureDrape;\r\n public readonly edgeSettings?: EdgeSettings;\r\n public readonly iModel?: IModelConnection; // used chiefly for readPixels to identify context of picked Ids.\r\n public readonly frustum?: GraphicBranchFrustum;\r\n public readonly appearanceProvider?: FeatureAppearanceProvider;\r\n\r\n public constructor(branch: GraphicBranch, localToWorld: Transform, viewFlags?: ViewFlags, opts?: GraphicBranchOptions) {\r\n super();\r\n this.branch = branch;\r\n this.localToWorldTransform = localToWorld;\r\n\r\n if (undefined !== viewFlags)\r\n branch.setViewFlags(viewFlags);\r\n\r\n if (!opts)\r\n return;\r\n\r\n this.appearanceProvider = opts.appearanceProvider;\r\n this.clips = opts.clipVolume as ClipVolume | undefined;\r\n this.iModel = opts.iModel;\r\n this.frustum = opts.frustum;\r\n\r\n if (opts.hline)\r\n this.edgeSettings = EdgeSettings.create(opts.hline);\r\n\r\n if (opts.classifierOrDrape instanceof PlanarClassifier)\r\n this.planarClassifier = opts.classifierOrDrape;\r\n else if (opts.classifierOrDrape instanceof TextureDrape)\r\n this.textureDrape = opts.classifierOrDrape;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return 0 === this.branch.entries.length;\r\n }\r\n\r\n public dispose() {\r\n this.branch.dispose();\r\n }\r\n\r\n public override get isPickable(): boolean {\r\n return this.branch.entries.some((gf) => (gf as Graphic).isPickable);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n this.branch.collectStatistics(stats);\r\n }\r\n\r\n private shouldAddCommands(commands: RenderCommands): boolean {\r\n const nodeId = commands.target.getAnimationTransformNodeId(this.branch.animationNodeId);\r\n return undefined === nodeId || nodeId === commands.target.currentAnimationTransformNodeId;\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n if (this.shouldAddCommands(commands))\r\n commands.addBranch(this);\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n if (this.shouldAddCommands(commands))\r\n commands.addHiliteBranch(this, pass);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class AnimationTransformBranch extends Graphic {\r\n public readonly nodeId: number;\r\n public readonly graphic: Graphic;\r\n\r\n public constructor(graphic: RenderGraphic, nodeId: number) {\r\n super();\r\n assert(graphic instanceof Graphic);\r\n this.graphic = graphic;\r\n this.nodeId = nodeId;\r\n }\r\n\r\n public override dispose() {\r\n this.graphic.dispose();\r\n }\r\n\r\n public override get isDisposed() {\r\n return this.graphic.isDisposed;\r\n }\r\n\r\n public override get isPickable() {\r\n return this.graphic.isPickable;\r\n }\r\n\r\n public override collectStatistics(stats: RenderMemory.Statistics) {\r\n this.graphic.collectStatistics(stats);\r\n }\r\n\r\n public override addCommands(commands: RenderCommands) {\r\n commands.target.currentAnimationTransformNodeId = this.nodeId;\r\n this.graphic.addCommands(commands);\r\n commands.target.currentAnimationTransformNodeId = undefined;\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass) {\r\n commands.target.currentAnimationTransformNodeId = this.nodeId;\r\n this.graphic.addHiliteCommands(commands, pass);\r\n commands.target.currentAnimationTransformNodeId = undefined;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WorldDecorations extends Branch {\r\n public constructor(viewFlags: ViewFlags) {\r\n super(new GraphicBranch(), Transform.identity, viewFlags);\r\n\r\n // World decorations ignore all the symbology overrides for the \"scene\" geometry...\r\n this.branch.symbologyOverrides = new FeatureSymbology.Overrides();\r\n }\r\n\r\n public init(decs: GraphicList): void {\r\n this.branch.clear();\r\n for (const dec of decs) {\r\n this.branch.add(dec);\r\n }\r\n }\r\n}\r\n/** @internal */\r\nexport class GraphicsArray extends Graphic {\r\n // Note: We assume the graphics array we get contains undisposed graphics to start\r\n constructor(public graphics: RenderGraphic[]) { super(); }\r\n\r\n public get isDisposed(): boolean { return 0 === this.graphics.length; }\r\n\r\n public override get isPickable(): boolean {\r\n return this.graphics.some((x) => (x as Graphic).isPickable);\r\n }\r\n\r\n public dispose() {\r\n for (const graphic of this.graphics)\r\n dispose(graphic);\r\n this.graphics.length = 0;\r\n }\r\n\r\n public addCommands(commands: RenderCommands): void {\r\n for (const graphic of this.graphics) {\r\n (graphic as Graphic).addCommands(commands);\r\n }\r\n }\r\n\r\n public override addHiliteCommands(commands: RenderCommands, pass: RenderPass): void {\r\n for (const graphic of this.graphics) {\r\n (graphic as Graphic).addHiliteCommands(commands, pass);\r\n }\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const graphic of this.graphics)\r\n graphic.collectStatistics(stats);\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module WebGL
|
|
3
|
+
*/
|
|
4
|
+
import { EdgeTable, IndexedEdgeParams } from "../primitives/EdgeParams";
|
|
5
|
+
import { RenderMemory } from "../RenderMemory";
|
|
6
|
+
import { TextureHandle } from "./Texture";
|
|
7
|
+
import { BuffersContainer } from "./AttributeBuffers";
|
|
8
|
+
import { WebGLDisposable } from "./Disposable";
|
|
9
|
+
import { MeshData } from "./MeshData";
|
|
10
|
+
import { MeshGeometry } from "./MeshGeometry";
|
|
11
|
+
import { TechniqueId } from "./TechniqueId";
|
|
12
|
+
import { Target } from "./Target";
|
|
13
|
+
import { ShaderProgramParams } from "./DrawCommand";
|
|
14
|
+
import { RenderOrder } from "./RenderFlags";
|
|
15
|
+
/** @see [[EdgeTable]]
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export declare class EdgeLUT implements WebGLDisposable {
|
|
19
|
+
readonly texture: TextureHandle;
|
|
20
|
+
readonly numSegments: number;
|
|
21
|
+
readonly silhouettePadding: number;
|
|
22
|
+
private constructor();
|
|
23
|
+
dispose(): void;
|
|
24
|
+
static create(table: EdgeTable): EdgeLUT | undefined;
|
|
25
|
+
get bytesUsed(): number;
|
|
26
|
+
get isDisposed(): boolean;
|
|
27
|
+
}
|
|
28
|
+
/** @see [[IndexedEdgeParams]]
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export declare class IndexedEdgeGeometry extends MeshGeometry {
|
|
32
|
+
private readonly _buffers;
|
|
33
|
+
private readonly _indices;
|
|
34
|
+
readonly edgeLut: EdgeLUT;
|
|
35
|
+
get lutBuffers(): BuffersContainer;
|
|
36
|
+
get asIndexedEdge(): this;
|
|
37
|
+
private constructor();
|
|
38
|
+
dispose(): void;
|
|
39
|
+
get isDisposed(): boolean;
|
|
40
|
+
static create(mesh: MeshData, params: IndexedEdgeParams): IndexedEdgeGeometry | undefined;
|
|
41
|
+
collectStatistics(stats: RenderMemory.Statistics): void;
|
|
42
|
+
protected _draw(numInstances: number, instances?: BuffersContainer): void;
|
|
43
|
+
protected _wantWoWReversal(): boolean;
|
|
44
|
+
protected _getLineCode(params: ShaderProgramParams): number;
|
|
45
|
+
get techniqueId(): TechniqueId;
|
|
46
|
+
getPass(target: Target): import("./RenderFlags").Pass;
|
|
47
|
+
get renderOrder(): RenderOrder;
|
|
48
|
+
getColor(target: Target): import("./ColorInfo").ColorInfo;
|
|
49
|
+
wantMonochrome(target: Target): boolean;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=IndexedEdgeGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndexedEdgeGeometry.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/IndexedEdgeGeometry.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAkC,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,OAAQ,YAAW,eAAe;IAC7C,SAAgB,OAAO,EAAE,aAAa,CAAC;IACvC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,iBAAiB,EAAE,MAAM,CAAC;IAE1C,OAAO;IAMA,OAAO,IAAI,IAAI;WAIR,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS;IAK3D,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;CACF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,IAAW,UAAU,qBAA4B;IACjD,IAAoB,aAAa,SAAmB;IAEpD,OAAO;IAUA,OAAO,IAAI,IAAI;IAMtB,IAAW,UAAU,IAAI,OAAO,CAE/B;WAEa,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,SAAS;IAMzF,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAK9D,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAOzE,SAAS,CAAC,gBAAgB,IAAI,OAAO;cAClB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IAEpE,IAAW,WAAW,gBAAsC;IAC5C,OAAO,CAAC,MAAM,EAAE,MAAM;IACtC,IAAW,WAAW,gBAAwE;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,cAAc,CAAC,MAAM,EAAE,MAAM;CAC9C"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module WebGL
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.IndexedEdgeGeometry = exports.EdgeLUT = void 0;
|
|
11
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
+
const core_common_1 = require("@itwin/core-common");
|
|
13
|
+
const Texture_1 = require("./Texture");
|
|
14
|
+
const AttributeBuffers_1 = require("./AttributeBuffers");
|
|
15
|
+
const MeshGeometry_1 = require("./MeshGeometry");
|
|
16
|
+
const AttributeMap_1 = require("./AttributeMap");
|
|
17
|
+
const GL_1 = require("./GL");
|
|
18
|
+
const System_1 = require("./System");
|
|
19
|
+
/** @see [[EdgeTable]]
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
class EdgeLUT {
|
|
23
|
+
constructor(texture, numSegments, silhouettePadding) {
|
|
24
|
+
this.texture = texture;
|
|
25
|
+
this.numSegments = numSegments;
|
|
26
|
+
this.silhouettePadding = silhouettePadding;
|
|
27
|
+
}
|
|
28
|
+
dispose() {
|
|
29
|
+
(0, core_bentley_1.dispose)(this.texture);
|
|
30
|
+
}
|
|
31
|
+
static create(table) {
|
|
32
|
+
const texture = Texture_1.TextureHandle.createForData(table.width, table.height, table.data);
|
|
33
|
+
return texture ? new EdgeLUT(texture, table.numSegments, table.silhouettePadding) : undefined;
|
|
34
|
+
}
|
|
35
|
+
get bytesUsed() {
|
|
36
|
+
return this.texture.bytesUsed;
|
|
37
|
+
}
|
|
38
|
+
get isDisposed() {
|
|
39
|
+
return this.texture.isDisposed;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.EdgeLUT = EdgeLUT;
|
|
43
|
+
/** @see [[IndexedEdgeParams]]
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
class IndexedEdgeGeometry extends MeshGeometry_1.MeshGeometry {
|
|
47
|
+
constructor(mesh, indices, numIndices, lut) {
|
|
48
|
+
super(mesh, numIndices);
|
|
49
|
+
this.edgeLut = lut;
|
|
50
|
+
this._buffers = AttributeBuffers_1.BuffersContainer.create();
|
|
51
|
+
const attrPos = AttributeMap_1.AttributeMap.findAttribute("a_pos", 6 /* IndexedEdge */, false);
|
|
52
|
+
(0, core_bentley_1.assert)(undefined !== attrPos);
|
|
53
|
+
this._buffers.addBuffer(indices, [AttributeBuffers_1.BufferParameters.create(attrPos.location, 3, GL_1.GL.DataType.UnsignedByte, false, 0, 0, false)]);
|
|
54
|
+
this._indices = indices;
|
|
55
|
+
}
|
|
56
|
+
get lutBuffers() { return this._buffers; }
|
|
57
|
+
get asIndexedEdge() { return this; }
|
|
58
|
+
dispose() {
|
|
59
|
+
(0, core_bentley_1.dispose)(this._buffers);
|
|
60
|
+
(0, core_bentley_1.dispose)(this._indices);
|
|
61
|
+
(0, core_bentley_1.dispose)(this.edgeLut);
|
|
62
|
+
}
|
|
63
|
+
get isDisposed() {
|
|
64
|
+
return this._buffers.isDisposed && this._indices.isDisposed && this.edgeLut.isDisposed;
|
|
65
|
+
}
|
|
66
|
+
static create(mesh, params) {
|
|
67
|
+
const indexBuffer = AttributeBuffers_1.BufferHandle.createArrayBuffer(params.indices.data);
|
|
68
|
+
const lut = EdgeLUT.create(params.edges);
|
|
69
|
+
return indexBuffer && lut ? new IndexedEdgeGeometry(mesh, indexBuffer, params.indices.length, lut) : undefined;
|
|
70
|
+
}
|
|
71
|
+
collectStatistics(stats) {
|
|
72
|
+
stats.addIndexedEdges(this._indices.bytesUsed);
|
|
73
|
+
stats.addEdgeTable(this.edgeLut.bytesUsed);
|
|
74
|
+
}
|
|
75
|
+
_draw(numInstances, instances) {
|
|
76
|
+
const bufs = instances !== null && instances !== void 0 ? instances : this._buffers;
|
|
77
|
+
bufs.bind();
|
|
78
|
+
System_1.System.instance.drawArrays(GL_1.GL.PrimitiveType.Triangles, 0, this._numIndices, numInstances);
|
|
79
|
+
bufs.unbind();
|
|
80
|
+
}
|
|
81
|
+
_wantWoWReversal() { return true; }
|
|
82
|
+
_getLineCode(params) { return this.computeEdgeLineCode(params); }
|
|
83
|
+
get techniqueId() { return 6 /* IndexedEdge */; }
|
|
84
|
+
getPass(target) { return this.computeEdgePass(target); }
|
|
85
|
+
get renderOrder() { return this.isPlanar ? 14 /* PlanarEdge */ : 6 /* Edge */; }
|
|
86
|
+
getColor(target) { return this.computeEdgeColor(target); }
|
|
87
|
+
wantMonochrome(target) { return target.currentViewFlags.renderMode === core_common_1.RenderMode.Wireframe; }
|
|
88
|
+
}
|
|
89
|
+
exports.IndexedEdgeGeometry = IndexedEdgeGeometry;
|
|
90
|
+
//# sourceMappingURL=IndexedEdgeGeometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndexedEdgeGeometry.js","sourceRoot":"","sources":["../../../../src/render/webgl/IndexedEdgeGeometry.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAsD;AACtD,oDAAgD;AAGhD,uCAA0C;AAC1C,yDAAsF;AAGtF,iDAA8C;AAC9C,iDAA8C;AAE9C,6BAA0B;AAC1B,qCAAkC;AAKlC;;GAEG;AACH,MAAa,OAAO;IAKlB,YAAoB,OAAsB,EAAE,WAAmB,EAAE,iBAAyB;QACxF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAEM,OAAO;QACZ,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,KAAgB;QACnC,MAAM,OAAO,GAAG,uBAAa,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACjC,CAAC;CACF;AA3BD,0BA2BC;AAED;;GAEG;AACH,MAAa,mBAAoB,SAAQ,2BAAY;IAQnD,YAAoB,IAAc,EAAE,OAAqB,EAAE,UAAkB,EAAE,GAAY;QACzF,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,mCAAgB,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,2BAAY,CAAC,aAAa,CAAC,OAAO,uBAA2B,KAAK,CAAC,CAAC;QACpF,IAAA,qBAAM,EAAC,SAAS,KAAK,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,mCAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/H,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAXD,IAAW,UAAU,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,IAAoB,aAAa,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAY7C,OAAO;QACZ,IAAA,sBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAA,sBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACzF,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAc,EAAE,MAAyB;QAC5D,MAAM,WAAW,GAAG,+BAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjH,CAAC;IAEM,iBAAiB,CAAC,KAA8B;QACrD,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,YAAoB,EAAE,SAA4B;QAChE,MAAM,IAAI,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,eAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAE,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAES,gBAAgB,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IACnC,YAAY,CAAC,MAA2B,IAAY,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEjH,IAAW,WAAW,KAAK,2BAA+B,CAAC,CAAC;IAC5C,OAAO,CAAC,MAAc,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChF,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,qBAAwB,CAAC,aAAiB,CAAC,CAAC,CAAC;IAC9E,QAAQ,CAAC,MAAc,IAAI,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClE,cAAc,CAAC,MAAc,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,UAAU,KAAK,wBAAU,CAAC,SAAS,CAAC,CAAC,CAAC;CACvH;AAtDD,kDAsDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert, dispose } from \"@itwin/core-bentley\";\r\nimport { RenderMode } from \"@itwin/core-common\";\r\nimport { EdgeTable, IndexedEdgeParams } from \"../primitives/EdgeParams\";\r\nimport { RenderMemory } from \"../RenderMemory\";\r\nimport { TextureHandle } from \"./Texture\";\r\nimport { BufferHandle, BufferParameters, BuffersContainer } from \"./AttributeBuffers\";\r\nimport { WebGLDisposable } from \"./Disposable\";\r\nimport { MeshData } from \"./MeshData\";\r\nimport { MeshGeometry } from \"./MeshGeometry\";\r\nimport { AttributeMap } from \"./AttributeMap\";\r\nimport { TechniqueId } from \"./TechniqueId\";\r\nimport { GL } from \"./GL\";\r\nimport { System } from \"./System\";\r\nimport { Target } from \"./Target\";\r\nimport { ShaderProgramParams } from \"./DrawCommand\";\r\nimport { RenderOrder } from \"./RenderFlags\";\r\n\r\n/** @see [[EdgeTable]]\r\n * @internal\r\n */\r\nexport class EdgeLUT implements WebGLDisposable {\r\n public readonly texture: TextureHandle;\r\n public readonly numSegments: number;\r\n public readonly silhouettePadding: number;\r\n\r\n private constructor(texture: TextureHandle, numSegments: number, silhouettePadding: number) {\r\n this.texture = texture;\r\n this.numSegments = numSegments;\r\n this.silhouettePadding = silhouettePadding;\r\n }\r\n\r\n public dispose(): void {\r\n dispose(this.texture);\r\n }\r\n\r\n public static create(table: EdgeTable): EdgeLUT | undefined {\r\n const texture = TextureHandle.createForData(table.width, table.height, table.data);\r\n return texture ? new EdgeLUT(texture, table.numSegments, table.silhouettePadding) : undefined;\r\n }\r\n\r\n public get bytesUsed(): number {\r\n return this.texture.bytesUsed;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return this.texture.isDisposed;\r\n }\r\n}\r\n\r\n/** @see [[IndexedEdgeParams]]\r\n * @internal\r\n */\r\nexport class IndexedEdgeGeometry extends MeshGeometry {\r\n private readonly _buffers: BuffersContainer;\r\n private readonly _indices: BufferHandle;\r\n public readonly edgeLut: EdgeLUT;\r\n\r\n public get lutBuffers() { return this._buffers; }\r\n public override get asIndexedEdge() { return this; }\r\n\r\n private constructor(mesh: MeshData, indices: BufferHandle, numIndices: number, lut: EdgeLUT) {\r\n super(mesh, numIndices);\r\n this.edgeLut = lut;\r\n this._buffers = BuffersContainer.create();\r\n const attrPos = AttributeMap.findAttribute(\"a_pos\", TechniqueId.IndexedEdge, false);\r\n assert(undefined !== attrPos);\r\n this._buffers.addBuffer(indices, [BufferParameters.create(attrPos.location, 3, GL.DataType.UnsignedByte, false, 0, 0, false)]);\r\n this._indices = indices;\r\n }\r\n\r\n public dispose(): void {\r\n dispose(this._buffers);\r\n dispose(this._indices);\r\n dispose(this.edgeLut);\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return this._buffers.isDisposed && this._indices.isDisposed && this.edgeLut.isDisposed;\r\n }\r\n\r\n public static create(mesh: MeshData, params: IndexedEdgeParams): IndexedEdgeGeometry | undefined {\r\n const indexBuffer = BufferHandle.createArrayBuffer(params.indices.data);\r\n const lut = EdgeLUT.create(params.edges);\r\n return indexBuffer && lut ? new IndexedEdgeGeometry(mesh, indexBuffer, params.indices.length, lut) : undefined;\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n stats.addIndexedEdges(this._indices.bytesUsed);\r\n stats.addEdgeTable(this.edgeLut.bytesUsed);\r\n }\r\n\r\n protected _draw(numInstances: number, instances?: BuffersContainer): void {\r\n const bufs = instances ?? this._buffers;\r\n bufs.bind();\r\n System.instance.drawArrays(GL.PrimitiveType.Triangles, 0, this._numIndices, numInstances);\r\n bufs.unbind();\r\n }\r\n\r\n protected _wantWoWReversal(): boolean { return true; }\r\n protected override _getLineCode(params: ShaderProgramParams): number { return this.computeEdgeLineCode(params); }\r\n\r\n public get techniqueId() { return TechniqueId.IndexedEdge; }\r\n public override getPass(target: Target) { return this.computeEdgePass(target); }\r\n public get renderOrder() { return this.isPlanar ? RenderOrder.PlanarEdge : RenderOrder.Edge; }\r\n public override getColor(target: Target) { return this.computeEdgeColor(target); }\r\n public override wantMonochrome(target: Target) { return target.currentViewFlags.renderMode === RenderMode.Wireframe; }\r\n}\r\n"]}
|
|
@@ -80,10 +80,11 @@ export declare class InstancedGeometry extends CachedGeometry {
|
|
|
80
80
|
get viewIndependentOrigin(): Point3d | undefined;
|
|
81
81
|
get asInstanced(): this;
|
|
82
82
|
get asLUT(): LUTGeometry;
|
|
83
|
-
get asMesh(): import("./
|
|
84
|
-
get asSurface(): import("./
|
|
85
|
-
get asEdge(): import("./
|
|
86
|
-
get asSilhouette(): import("./
|
|
83
|
+
get asMesh(): import("./MeshGeometry").MeshGeometry | undefined;
|
|
84
|
+
get asSurface(): import("./SurfaceGeometry").SurfaceGeometry | undefined;
|
|
85
|
+
get asEdge(): import("./EdgeGeometry").EdgeGeometry | undefined;
|
|
86
|
+
get asSilhouette(): import("./EdgeGeometry").SilhouetteEdgeGeometry | undefined;
|
|
87
|
+
get asIndexedEdge(): import("./IndexedEdgeGeometry").IndexedEdgeGeometry | undefined;
|
|
87
88
|
get renderOrder(): import("./RenderFlags").RenderOrder;
|
|
88
89
|
get isLitSurface(): boolean;
|
|
89
90
|
get hasBakedLighting(): boolean;
|
|
@@ -96,7 +97,7 @@ export declare class InstancedGeometry extends CachedGeometry {
|
|
|
96
97
|
get hasFeatures(): boolean;
|
|
97
98
|
get techniqueId(): TechniqueId;
|
|
98
99
|
get supportsThematicDisplay(): boolean;
|
|
99
|
-
|
|
100
|
+
getPass(target: Target): import("./RenderFlags").Pass;
|
|
100
101
|
wantWoWReversal(params: ShaderProgramParams): boolean;
|
|
101
102
|
getLineCode(params: ShaderProgramParams): number;
|
|
102
103
|
getLineWeight(params: ShaderProgramParams): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstancedGeometry.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/InstancedGeometry.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,gBAAgB;AAChB,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,sBAAsB,CAEtF;AAED,cAAM,YAAY;IAChB,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,KAAK,EAAE,OAAO,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAY;IAE9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAY;IAE/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;IAE3D,SAAS,aAAa,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;IAOvE,oBAAoB,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS;IASvD,mBAAmB,IAAI,SAAS;IAIvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA+B;IACnE,IAAW,gBAAgB,IAAI,YAAY,CAE1C;CACF;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,gBAAgB;AAChB,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAkC;IAExE,SAAgB,UAAU,EAAE,YAAY,CAAC;IACzC,SAAgB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1C,SAAgB,WAAW,EAAE,OAAO,CAAC;IACrC,SAAgB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzC,SAAgB,aAAa,eAAkC;IAC/D,SAAgB,iBAAiB,YAAa;IAC9C,SAAgB,qBAAqB,YAAa;IAElD,OAAO;WAQO,+BAA+B,CAAC,WAAW,EAAE,WAAW,GAAG,gBAAgB,EAAE;WA4B7E,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS;IAoBjG,IAAW,UAAU,IAAI,OAAO,CAI/B;IAEM,OAAO;IAMP,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAQ9D,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAMvB,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO;CAsB9G;AAED,gBAAgB;AAChB,qBAAa,cAAe,SAAQ,YAAY;aAO5B,aAAa,EAAE,YAAY;aAC3B,MAAM,EAAE,YAAY;aACpB,YAAY,EAAE,OAAO;aACrB,YAAY,EAAE,OAAO;aACrB,aAAa,EAAE,OAAO;aACtB,OAAO,EAAE,YAAY;aAErB,qBAAqB,EAAE,OAAO,GAAG,SAAS;IAb5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAe;IAE3C,OAAO;WAwBO,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,GAAG,SAAS;IAuB9E,SAAgB,iBAAiB,EAAE,iBAAiB,CAAC;IAErD,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAoB,gBAAgB,IAAI,YAAY,CAEnD;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAEM,OAAO,IAAI,IAAI;IAIf,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;CAG/D;AAED,gBAAgB;AAChB,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEhC,oBAAoB,CAAC,WAAW,EAAE,SAAS;IAC3C,mBAAmB;IAE1B,IAAoB,qBAAqB,IAAI,OAAO,GAAG,SAAS,CAAgD;IAEhH,IAAoB,WAAW,SAAmB;IAClD,IAAoB,KAAK,gBAA+B;IACxD,IAAoB,MAAM,
|
|
1
|
+
{"version":3,"file":"InstancedGeometry.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/InstancedGeometry.ts"],"names":[],"mappings":"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"}
|
|
@@ -204,6 +204,7 @@ class InstancedGeometry extends CachedGeometry_1.CachedGeometry {
|
|
|
204
204
|
get asSurface() { return this._repr.asSurface; }
|
|
205
205
|
get asEdge() { return this._repr.asEdge; }
|
|
206
206
|
get asSilhouette() { return this._repr.asSilhouette; }
|
|
207
|
+
get asIndexedEdge() { return this._repr.asIndexedEdge; }
|
|
207
208
|
get renderOrder() { return this._repr.renderOrder; }
|
|
208
209
|
get isLitSurface() { return this._repr.isLitSurface; }
|
|
209
210
|
get hasBakedLighting() { return this._repr.hasBakedLighting; }
|
|
@@ -216,7 +217,7 @@ class InstancedGeometry extends CachedGeometry_1.CachedGeometry {
|
|
|
216
217
|
get hasFeatures() { return this._buffers.hasFeatures; }
|
|
217
218
|
get techniqueId() { return this._repr.techniqueId; }
|
|
218
219
|
get supportsThematicDisplay() { return this._repr.supportsThematicDisplay; }
|
|
219
|
-
|
|
220
|
+
getPass(target) { return this._repr.getPass(target); }
|
|
220
221
|
wantWoWReversal(params) { return this._repr.wantWoWReversal(params); }
|
|
221
222
|
getLineCode(params) { return this._repr.getLineCode(params); }
|
|
222
223
|
getLineWeight(params) { return this._repr.getLineWeight(params); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstancedGeometry.js","sourceRoot":"","sources":["../../../../src/render/webgl/InstancedGeometry.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert, dispose } from \"@itwin/core-bentley\";\r\nimport { Point3d, Range3d, Transform } from \"@itwin/core-geometry\";\r\nimport { InstancedGraphicParams, PatternGraphicParams } from \"../InstancedGraphicParams\";\r\nimport { RenderMemory } from \"../RenderMemory\";\r\nimport { AttributeMap } from \"./AttributeMap\";\r\nimport { CachedGeometry, LUTGeometry } from \"./CachedGeometry\";\r\nimport { ShaderProgramParams } from \"./DrawCommand\";\r\nimport { GL } from \"./GL\";\r\nimport { BufferHandle, BufferParameters, BuffersContainer } from \"./AttributeBuffers\";\r\nimport { Target } from \"./Target\";\r\nimport { TechniqueId } from \"./TechniqueId\";\r\nimport { Matrix4 } from \"./Matrix\";\r\n\r\n/** @internal */\r\nexport function isInstancedGraphicParams(params: any): params is InstancedGraphicParams {\r\n return typeof params === \"object\" && typeof params.count === \"number\" && params.transforms instanceof Float32Array && params.transformCenter instanceof Point3d;\r\n}\r\n\r\nclass InstanceData {\r\n public readonly numInstances: number;\r\n public readonly range: Range3d;\r\n // A transform including only rtcCenter.\r\n private readonly _rtcOnlyTransform: Transform;\r\n // A transform from _rtcCenter including model matrix\r\n private readonly _rtcModelTransform: Transform;\r\n // The model matrix from which _rtcModelTransform was previously computed. If it changes, _rtcModelTransform must be recomputed.\r\n private readonly _modelMatrix = Transform.createIdentity();\r\n\r\n protected constructor(numInstances: number, rtcCenter: Point3d, range: Range3d) {\r\n this.numInstances = numInstances;\r\n this.range = range;\r\n this._rtcOnlyTransform = Transform.createTranslation(rtcCenter);\r\n this._rtcModelTransform = this._rtcOnlyTransform.clone();\r\n }\r\n\r\n public getRtcModelTransform(modelMatrix: Transform): Transform {\r\n if (!this._modelMatrix.isAlmostEqual(modelMatrix)) {\r\n modelMatrix.clone(this._modelMatrix);\r\n modelMatrix.multiplyTransformTransform(this._rtcOnlyTransform, this._rtcModelTransform);\r\n }\r\n\r\n return this._rtcModelTransform;\r\n }\r\n\r\n public getRtcOnlyTransform(): Transform {\r\n return this._rtcOnlyTransform;\r\n }\r\n\r\n private static readonly _noFeatureId = new Float32Array([0, 0, 0]);\r\n public get patternFeatureId(): Float32Array {\r\n return InstanceData._noFeatureId;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface PatternTransforms {\r\n readonly orgTransform: Matrix4;\r\n readonly localToModel: Matrix4;\r\n readonly symbolToLocal: Matrix4;\r\n readonly origin: Float32Array;\r\n}\r\n\r\n/** @internal */\r\nexport class InstanceBuffers extends InstanceData {\r\n private static readonly _patternParams = new Float32Array([0, 0, 0, 0]);\r\n\r\n public readonly transforms: BufferHandle;\r\n public readonly featureIds?: BufferHandle;\r\n public readonly hasFeatures: boolean;\r\n public readonly symbology?: BufferHandle;\r\n public readonly patternParams = InstanceBuffers._patternParams;\r\n public readonly patternTransforms = undefined;\r\n public readonly viewIndependentOrigin = undefined;\r\n\r\n private constructor(count: number, transforms: BufferHandle, rtcCenter: Point3d, range: Range3d, symbology?: BufferHandle, featureIds?: BufferHandle) {\r\n super(count, rtcCenter, range);\r\n this.transforms = transforms;\r\n this.featureIds = featureIds;\r\n this.hasFeatures = undefined !== featureIds;\r\n this.symbology = symbology;\r\n }\r\n\r\n public static createTransformBufferParameters(techniqueId: TechniqueId): BufferParameters[] {\r\n const params: BufferParameters[] = [];\r\n const numRows = 3;\r\n let row = 0;\r\n while (row < numRows) {\r\n // 3 rows per instance; 4 floats per row; 4 bytes per float.\r\n const floatsPerRow = 4;\r\n const bytesPerVertex = floatsPerRow * 4;\r\n const offset = row * bytesPerVertex;\r\n const stride = 3 * bytesPerVertex;\r\n const name = `a_instanceMatrixRow${row}`;\r\n const details = AttributeMap.findAttribute(name, techniqueId, true);\r\n assert(details !== undefined);\r\n const bParams: BufferParameters = {\r\n glAttribLoc: details.location,\r\n glSize: floatsPerRow,\r\n glType: GL.DataType.Float,\r\n glNormalized: false,\r\n glStride: stride,\r\n glOffset: offset,\r\n glInstanced: true,\r\n };\r\n params.push(bParams);\r\n row++;\r\n }\r\n return params;\r\n }\r\n\r\n public static create(params: InstancedGraphicParams, range: Range3d): InstanceBuffers | undefined {\r\n const { count, featureIds, symbologyOverrides, transforms } = params;\r\n\r\n assert(count > 0 && Math.floor(count) === count);\r\n assert(count === transforms.length / 12);\r\n assert(undefined === featureIds || count === featureIds.length / 3);\r\n assert(undefined === symbologyOverrides || count * 8 === symbologyOverrides.length);\r\n\r\n let idBuf: BufferHandle | undefined;\r\n if (undefined !== featureIds && undefined === (idBuf = BufferHandle.createArrayBuffer(featureIds)))\r\n return undefined;\r\n\r\n let symBuf: BufferHandle | undefined;\r\n if (undefined !== symbologyOverrides && undefined === (symBuf = BufferHandle.createArrayBuffer(symbologyOverrides)))\r\n return undefined;\r\n\r\n const tfBuf = BufferHandle.createArrayBuffer(transforms);\r\n return undefined !== tfBuf ? new InstanceBuffers(count, tfBuf, params.transformCenter, range, symBuf, idBuf) : undefined;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return this.transforms.isDisposed\r\n && (undefined === this.featureIds || this.featureIds.isDisposed)\r\n && (undefined === this.symbology || this.symbology.isDisposed);\r\n }\r\n\r\n public dispose() {\r\n dispose(this.transforms);\r\n dispose(this.featureIds);\r\n dispose(this.symbology);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n const featureBytes = undefined !== this.featureIds ? this.featureIds.bytesUsed : 0;\r\n const symBytes = undefined !== this.symbology ? this.symbology.bytesUsed : 0;\r\n\r\n const bytesUsed = this.transforms.bytesUsed + symBytes + featureBytes;\r\n stats.addInstances(bytesUsed);\r\n }\r\n\r\n private static extendTransformedRange(tfs: Float32Array, i: number, range: Range3d, x: number, y: number, z: number) {\r\n range.extendXYZ(tfs[i + 3] + tfs[i + 0] * x + tfs[i + 1] * y + tfs[i + 2] * z,\r\n tfs[i + 7] + tfs[i + 4] * x + tfs[i + 5] * y + tfs[i + 6] * z,\r\n tfs[i + 11] + tfs[i + 8] * x + tfs[i + 9] * y + tfs[i + 10] * z);\r\n }\r\n\r\n public static computeRange(reprRange: Range3d, tfs: Float32Array, rtcCenter: Point3d, out?: Range3d): Range3d {\r\n const range = out ?? new Range3d();\r\n\r\n const numFloatsPerTransform = 3 * 4;\r\n assert(0 === tfs.length % (3 * 4));\r\n\r\n for (let i = 0; i < tfs.length; i += numFloatsPerTransform) {\r\n this.extendTransformedRange(tfs, i, range, reprRange.low.x, reprRange.low.y, reprRange.low.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.low.x, reprRange.low.y, reprRange.high.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.low.x, reprRange.high.y, reprRange.low.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.low.x, reprRange.high.y, reprRange.high.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.high.x, reprRange.low.y, reprRange.low.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.high.x, reprRange.low.y, reprRange.high.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.high.x, reprRange.high.y, reprRange.low.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.high.x, reprRange.high.y, reprRange.high.z);\r\n }\r\n\r\n range.low.addInPlace(rtcCenter);\r\n range.high.addInPlace(rtcCenter);\r\n\r\n return range.clone(out);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class PatternBuffers extends InstanceData {\r\n private readonly _featureId?: Float32Array;\r\n\r\n private constructor(\r\n count: number,\r\n rtcCenter: Point3d,\r\n range: Range3d,\r\n public readonly patternParams: Float32Array, // [ isAreaPattern, spacingX, spacingY, scale ]\r\n public readonly origin: Float32Array, // [ x, y ]\r\n public readonly orgTransform: Matrix4,\r\n public readonly localToModel: Matrix4,\r\n public readonly symbolToLocal: Matrix4,\r\n public readonly offsets: BufferHandle,\r\n featureId: number | undefined,\r\n public readonly viewIndependentOrigin: Point3d | undefined\r\n ) {\r\n super(count, rtcCenter, range);\r\n this.patternTransforms = this;\r\n if (undefined !== featureId) {\r\n this._featureId = new Float32Array([\r\n (featureId & 0x0000ff) >>> 0,\r\n (featureId & 0x00ff00) >>> 8,\r\n (featureId & 0xff0000) >>> 16,\r\n ]);\r\n }\r\n }\r\n\r\n public static create(params: PatternGraphicParams): PatternBuffers | undefined {\r\n const count = params.xyOffsets.byteLength / 2;\r\n assert(Math.floor(count) === count);\r\n\r\n const offsets = BufferHandle.createArrayBuffer(params.xyOffsets);\r\n if (!offsets)\r\n return undefined;\r\n\r\n return new PatternBuffers(\r\n count,\r\n new Point3d(),\r\n params.range,\r\n new Float32Array([1, params.spacing.x, params.spacing.y, params.scale]),\r\n new Float32Array([params.origin.x, params.origin.y]),\r\n Matrix4.fromTransform(params.orgTransform),\r\n Matrix4.fromTransform(params.patternToModel),\r\n Matrix4.fromTransform(Transform.createTranslation(params.symbolTranslation)),\r\n offsets,\r\n params.featureId,\r\n params.viewIndependentOrigin,\r\n );\r\n }\r\n\r\n public readonly patternTransforms: PatternTransforms;\r\n\r\n public get hasFeatures(): boolean {\r\n return undefined !== this._featureId;\r\n }\r\n\r\n public override get patternFeatureId(): Float32Array {\r\n return this._featureId ?? super.patternFeatureId;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return this.offsets.isDisposed;\r\n }\r\n\r\n public dispose(): void {\r\n dispose(this.offsets);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n stats.addInstances(this.offsets.bytesUsed);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class InstancedGeometry extends CachedGeometry {\r\n private readonly _buffersContainer: BuffersContainer;\r\n private readonly _buffers: InstanceBuffers | PatternBuffers;\r\n private readonly _repr: LUTGeometry;\r\n private readonly _ownsBuffers: boolean;\r\n\r\n public getRtcModelTransform(modelMatrix: Transform) { return this._buffers.getRtcModelTransform(modelMatrix); }\r\n public getRtcOnlyTransform() { return this._buffers.getRtcOnlyTransform(); }\r\n\r\n public override get viewIndependentOrigin(): Point3d | undefined { return this._buffers.viewIndependentOrigin; }\r\n\r\n public override get asInstanced() { return this; }\r\n public override get asLUT() { return this._repr.asLUT; }\r\n public override get asMesh() { return this._repr.asMesh; }\r\n public override get asSurface() { return this._repr.asSurface; }\r\n public override get asEdge() { return this._repr.asEdge; }\r\n public override get asSilhouette() { return this._repr.asSilhouette; }\r\n\r\n public get renderOrder() { return this._repr.renderOrder; }\r\n public override get isLitSurface() { return this._repr.isLitSurface; }\r\n public override get hasBakedLighting() { return this._repr.hasBakedLighting; }\r\n public override get hasAnimation() { return this._repr.hasAnimation; }\r\n public get qOrigin() { return this._repr.qOrigin; }\r\n public get qScale() { return this._repr.qScale; }\r\n public override get materialInfo() { return this._repr.materialInfo; }\r\n public override get polylineBuffers() { return this._repr.polylineBuffers; }\r\n public override get isEdge() { return this._repr.isEdge; }\r\n public override get hasFeatures() { return this._buffers.hasFeatures; }\r\n public get techniqueId(): TechniqueId { return this._repr.techniqueId; }\r\n public override get supportsThematicDisplay() { return this._repr.supportsThematicDisplay; }\r\n\r\n public getRenderPass(target: Target) { return this._repr.getRenderPass(target); }\r\n public override wantWoWReversal(params: ShaderProgramParams) { return this._repr.wantWoWReversal(params); }\r\n public override getLineCode(params: ShaderProgramParams) { return this._repr.getLineCode(params); }\r\n public override getLineWeight(params: ShaderProgramParams) { return this._repr.getLineWeight(params); }\r\n public override wantMonochrome(target: Target) { return this._repr.wantMonochrome(target); }\r\n\r\n public static create(repr: LUTGeometry, ownsBuffers: boolean, buffers: InstanceBuffers): InstancedGeometry {\r\n const techId = repr.techniqueId;\r\n const container = BuffersContainer.create();\r\n container.appendLinkages(repr.lutBuffers.linkages);\r\n\r\n container.addBuffer(buffers.transforms, InstanceBuffers.createTransformBufferParameters(repr.techniqueId));\r\n\r\n if (buffers.symbology) {\r\n const attrInstanceOverrides = AttributeMap.findAttribute(\"a_instanceOverrides\", techId, true);\r\n const attrInstanceRgba = AttributeMap.findAttribute(\"a_instanceRgba\", techId, true);\r\n assert(attrInstanceOverrides !== undefined);\r\n assert(attrInstanceRgba !== undefined);\r\n container.addBuffer(buffers.symbology, [\r\n BufferParameters.create(attrInstanceOverrides.location, 4, GL.DataType.UnsignedByte, false, 8, 0, true),\r\n BufferParameters.create(attrInstanceRgba.location, 4, GL.DataType.UnsignedByte, false, 8, 4, true),\r\n ]);\r\n }\r\n if (buffers.featureIds) {\r\n const attrFeatureId = AttributeMap.findAttribute(\"a_featureId\", techId, true);\r\n assert(attrFeatureId !== undefined);\r\n container.addBuffer(buffers.featureIds, [BufferParameters.create(attrFeatureId.location, 3, GL.DataType.UnsignedByte, false, 0, 0, true)]);\r\n }\r\n\r\n return new this(repr, ownsBuffers, buffers, container);\r\n }\r\n\r\n public static createPattern(repr: LUTGeometry, ownsBuffers: boolean, buffers: PatternBuffers): InstancedGeometry {\r\n const techId = repr.techniqueId;\r\n const container = BuffersContainer.create();\r\n container.appendLinkages(repr.lutBuffers.linkages);\r\n\r\n const attrX = AttributeMap.findAttribute(\"a_patternX\", techId, true);\r\n const attrY = AttributeMap.findAttribute(\"a_patternY\", techId, true);\r\n assert(undefined !== attrX && undefined !== attrY);\r\n container.addBuffer(buffers.offsets, [\r\n BufferParameters.create(attrX.location, 1, GL.DataType.Float, false, 8, 0, true),\r\n BufferParameters.create(attrY.location, 1, GL.DataType.Float, false, 8, 4, true),\r\n ]);\r\n\r\n return new this(repr, ownsBuffers, buffers, container);\r\n }\r\n\r\n private constructor(repr: LUTGeometry, ownsBuffers: boolean, buffers: InstanceBuffers | PatternBuffers, container: BuffersContainer) {\r\n super();\r\n this._repr = repr;\r\n this._ownsBuffers = ownsBuffers;\r\n this._buffers = buffers;\r\n this._buffersContainer = container;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n if (!this._repr.isDisposed)\r\n return false;\r\n\r\n return !this._ownsBuffers || this._buffers.isDisposed;\r\n }\r\n\r\n public dispose() {\r\n this._repr.dispose();\r\n if (this._ownsBuffers)\r\n dispose(this._buffers);\r\n }\r\n\r\n protected _wantWoWReversal(_target: Target) {\r\n assert(false, \"Should never be called\");\r\n return false;\r\n }\r\n\r\n public draw() {\r\n this._repr.drawInstanced(this._buffers.numInstances, this._buffersContainer);\r\n }\r\n\r\n public override computeRange(output?: Range3d): Range3d {\r\n return this._buffers.range.clone(output);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics) {\r\n this._repr.collectStatistics(stats);\r\n if (this._ownsBuffers)\r\n this._buffers.collectStatistics(stats);\r\n }\r\n\r\n public get patternParams(): Float32Array { return this._buffers.patternParams; }\r\n public get patternTransforms(): PatternTransforms | undefined { return this._buffers.patternTransforms; }\r\n public get patternFeatureId(): Float32Array { return this._buffers.patternFeatureId; }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"InstancedGeometry.js","sourceRoot":"","sources":["../../../../src/render/webgl/InstancedGeometry.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert, dispose } from \"@itwin/core-bentley\";\r\nimport { Point3d, Range3d, Transform } from \"@itwin/core-geometry\";\r\nimport { InstancedGraphicParams, PatternGraphicParams } from \"../InstancedGraphicParams\";\r\nimport { RenderMemory } from \"../RenderMemory\";\r\nimport { AttributeMap } from \"./AttributeMap\";\r\nimport { CachedGeometry, LUTGeometry } from \"./CachedGeometry\";\r\nimport { ShaderProgramParams } from \"./DrawCommand\";\r\nimport { GL } from \"./GL\";\r\nimport { BufferHandle, BufferParameters, BuffersContainer } from \"./AttributeBuffers\";\r\nimport { Target } from \"./Target\";\r\nimport { TechniqueId } from \"./TechniqueId\";\r\nimport { Matrix4 } from \"./Matrix\";\r\n\r\n/** @internal */\r\nexport function isInstancedGraphicParams(params: any): params is InstancedGraphicParams {\r\n return typeof params === \"object\" && typeof params.count === \"number\" && params.transforms instanceof Float32Array && params.transformCenter instanceof Point3d;\r\n}\r\n\r\nclass InstanceData {\r\n public readonly numInstances: number;\r\n public readonly range: Range3d;\r\n // A transform including only rtcCenter.\r\n private readonly _rtcOnlyTransform: Transform;\r\n // A transform from _rtcCenter including model matrix\r\n private readonly _rtcModelTransform: Transform;\r\n // The model matrix from which _rtcModelTransform was previously computed. If it changes, _rtcModelTransform must be recomputed.\r\n private readonly _modelMatrix = Transform.createIdentity();\r\n\r\n protected constructor(numInstances: number, rtcCenter: Point3d, range: Range3d) {\r\n this.numInstances = numInstances;\r\n this.range = range;\r\n this._rtcOnlyTransform = Transform.createTranslation(rtcCenter);\r\n this._rtcModelTransform = this._rtcOnlyTransform.clone();\r\n }\r\n\r\n public getRtcModelTransform(modelMatrix: Transform): Transform {\r\n if (!this._modelMatrix.isAlmostEqual(modelMatrix)) {\r\n modelMatrix.clone(this._modelMatrix);\r\n modelMatrix.multiplyTransformTransform(this._rtcOnlyTransform, this._rtcModelTransform);\r\n }\r\n\r\n return this._rtcModelTransform;\r\n }\r\n\r\n public getRtcOnlyTransform(): Transform {\r\n return this._rtcOnlyTransform;\r\n }\r\n\r\n private static readonly _noFeatureId = new Float32Array([0, 0, 0]);\r\n public get patternFeatureId(): Float32Array {\r\n return InstanceData._noFeatureId;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface PatternTransforms {\r\n readonly orgTransform: Matrix4;\r\n readonly localToModel: Matrix4;\r\n readonly symbolToLocal: Matrix4;\r\n readonly origin: Float32Array;\r\n}\r\n\r\n/** @internal */\r\nexport class InstanceBuffers extends InstanceData {\r\n private static readonly _patternParams = new Float32Array([0, 0, 0, 0]);\r\n\r\n public readonly transforms: BufferHandle;\r\n public readonly featureIds?: BufferHandle;\r\n public readonly hasFeatures: boolean;\r\n public readonly symbology?: BufferHandle;\r\n public readonly patternParams = InstanceBuffers._patternParams;\r\n public readonly patternTransforms = undefined;\r\n public readonly viewIndependentOrigin = undefined;\r\n\r\n private constructor(count: number, transforms: BufferHandle, rtcCenter: Point3d, range: Range3d, symbology?: BufferHandle, featureIds?: BufferHandle) {\r\n super(count, rtcCenter, range);\r\n this.transforms = transforms;\r\n this.featureIds = featureIds;\r\n this.hasFeatures = undefined !== featureIds;\r\n this.symbology = symbology;\r\n }\r\n\r\n public static createTransformBufferParameters(techniqueId: TechniqueId): BufferParameters[] {\r\n const params: BufferParameters[] = [];\r\n const numRows = 3;\r\n let row = 0;\r\n while (row < numRows) {\r\n // 3 rows per instance; 4 floats per row; 4 bytes per float.\r\n const floatsPerRow = 4;\r\n const bytesPerVertex = floatsPerRow * 4;\r\n const offset = row * bytesPerVertex;\r\n const stride = 3 * bytesPerVertex;\r\n const name = `a_instanceMatrixRow${row}`;\r\n const details = AttributeMap.findAttribute(name, techniqueId, true);\r\n assert(details !== undefined);\r\n const bParams: BufferParameters = {\r\n glAttribLoc: details.location,\r\n glSize: floatsPerRow,\r\n glType: GL.DataType.Float,\r\n glNormalized: false,\r\n glStride: stride,\r\n glOffset: offset,\r\n glInstanced: true,\r\n };\r\n params.push(bParams);\r\n row++;\r\n }\r\n return params;\r\n }\r\n\r\n public static create(params: InstancedGraphicParams, range: Range3d): InstanceBuffers | undefined {\r\n const { count, featureIds, symbologyOverrides, transforms } = params;\r\n\r\n assert(count > 0 && Math.floor(count) === count);\r\n assert(count === transforms.length / 12);\r\n assert(undefined === featureIds || count === featureIds.length / 3);\r\n assert(undefined === symbologyOverrides || count * 8 === symbologyOverrides.length);\r\n\r\n let idBuf: BufferHandle | undefined;\r\n if (undefined !== featureIds && undefined === (idBuf = BufferHandle.createArrayBuffer(featureIds)))\r\n return undefined;\r\n\r\n let symBuf: BufferHandle | undefined;\r\n if (undefined !== symbologyOverrides && undefined === (symBuf = BufferHandle.createArrayBuffer(symbologyOverrides)))\r\n return undefined;\r\n\r\n const tfBuf = BufferHandle.createArrayBuffer(transforms);\r\n return undefined !== tfBuf ? new InstanceBuffers(count, tfBuf, params.transformCenter, range, symBuf, idBuf) : undefined;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return this.transforms.isDisposed\r\n && (undefined === this.featureIds || this.featureIds.isDisposed)\r\n && (undefined === this.symbology || this.symbology.isDisposed);\r\n }\r\n\r\n public dispose() {\r\n dispose(this.transforms);\r\n dispose(this.featureIds);\r\n dispose(this.symbology);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n const featureBytes = undefined !== this.featureIds ? this.featureIds.bytesUsed : 0;\r\n const symBytes = undefined !== this.symbology ? this.symbology.bytesUsed : 0;\r\n\r\n const bytesUsed = this.transforms.bytesUsed + symBytes + featureBytes;\r\n stats.addInstances(bytesUsed);\r\n }\r\n\r\n private static extendTransformedRange(tfs: Float32Array, i: number, range: Range3d, x: number, y: number, z: number) {\r\n range.extendXYZ(tfs[i + 3] + tfs[i + 0] * x + tfs[i + 1] * y + tfs[i + 2] * z,\r\n tfs[i + 7] + tfs[i + 4] * x + tfs[i + 5] * y + tfs[i + 6] * z,\r\n tfs[i + 11] + tfs[i + 8] * x + tfs[i + 9] * y + tfs[i + 10] * z);\r\n }\r\n\r\n public static computeRange(reprRange: Range3d, tfs: Float32Array, rtcCenter: Point3d, out?: Range3d): Range3d {\r\n const range = out ?? new Range3d();\r\n\r\n const numFloatsPerTransform = 3 * 4;\r\n assert(0 === tfs.length % (3 * 4));\r\n\r\n for (let i = 0; i < tfs.length; i += numFloatsPerTransform) {\r\n this.extendTransformedRange(tfs, i, range, reprRange.low.x, reprRange.low.y, reprRange.low.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.low.x, reprRange.low.y, reprRange.high.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.low.x, reprRange.high.y, reprRange.low.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.low.x, reprRange.high.y, reprRange.high.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.high.x, reprRange.low.y, reprRange.low.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.high.x, reprRange.low.y, reprRange.high.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.high.x, reprRange.high.y, reprRange.low.z);\r\n this.extendTransformedRange(tfs, i, range, reprRange.high.x, reprRange.high.y, reprRange.high.z);\r\n }\r\n\r\n range.low.addInPlace(rtcCenter);\r\n range.high.addInPlace(rtcCenter);\r\n\r\n return range.clone(out);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class PatternBuffers extends InstanceData {\r\n private readonly _featureId?: Float32Array;\r\n\r\n private constructor(\r\n count: number,\r\n rtcCenter: Point3d,\r\n range: Range3d,\r\n public readonly patternParams: Float32Array, // [ isAreaPattern, spacingX, spacingY, scale ]\r\n public readonly origin: Float32Array, // [ x, y ]\r\n public readonly orgTransform: Matrix4,\r\n public readonly localToModel: Matrix4,\r\n public readonly symbolToLocal: Matrix4,\r\n public readonly offsets: BufferHandle,\r\n featureId: number | undefined,\r\n public readonly viewIndependentOrigin: Point3d | undefined\r\n ) {\r\n super(count, rtcCenter, range);\r\n this.patternTransforms = this;\r\n if (undefined !== featureId) {\r\n this._featureId = new Float32Array([\r\n (featureId & 0x0000ff) >>> 0,\r\n (featureId & 0x00ff00) >>> 8,\r\n (featureId & 0xff0000) >>> 16,\r\n ]);\r\n }\r\n }\r\n\r\n public static create(params: PatternGraphicParams): PatternBuffers | undefined {\r\n const count = params.xyOffsets.byteLength / 2;\r\n assert(Math.floor(count) === count);\r\n\r\n const offsets = BufferHandle.createArrayBuffer(params.xyOffsets);\r\n if (!offsets)\r\n return undefined;\r\n\r\n return new PatternBuffers(\r\n count,\r\n new Point3d(),\r\n params.range,\r\n new Float32Array([1, params.spacing.x, params.spacing.y, params.scale]),\r\n new Float32Array([params.origin.x, params.origin.y]),\r\n Matrix4.fromTransform(params.orgTransform),\r\n Matrix4.fromTransform(params.patternToModel),\r\n Matrix4.fromTransform(Transform.createTranslation(params.symbolTranslation)),\r\n offsets,\r\n params.featureId,\r\n params.viewIndependentOrigin,\r\n );\r\n }\r\n\r\n public readonly patternTransforms: PatternTransforms;\r\n\r\n public get hasFeatures(): boolean {\r\n return undefined !== this._featureId;\r\n }\r\n\r\n public override get patternFeatureId(): Float32Array {\r\n return this._featureId ?? super.patternFeatureId;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return this.offsets.isDisposed;\r\n }\r\n\r\n public dispose(): void {\r\n dispose(this.offsets);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n stats.addInstances(this.offsets.bytesUsed);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class InstancedGeometry extends CachedGeometry {\r\n private readonly _buffersContainer: BuffersContainer;\r\n private readonly _buffers: InstanceBuffers | PatternBuffers;\r\n private readonly _repr: LUTGeometry;\r\n private readonly _ownsBuffers: boolean;\r\n\r\n public getRtcModelTransform(modelMatrix: Transform) { return this._buffers.getRtcModelTransform(modelMatrix); }\r\n public getRtcOnlyTransform() { return this._buffers.getRtcOnlyTransform(); }\r\n\r\n public override get viewIndependentOrigin(): Point3d | undefined { return this._buffers.viewIndependentOrigin; }\r\n\r\n public override get asInstanced() { return this; }\r\n public override get asLUT() { return this._repr.asLUT; }\r\n public override get asMesh() { return this._repr.asMesh; }\r\n public override get asSurface() { return this._repr.asSurface; }\r\n public override get asEdge() { return this._repr.asEdge; }\r\n public override get asSilhouette() { return this._repr.asSilhouette; }\r\n public override get asIndexedEdge() { return this._repr.asIndexedEdge; }\r\n\r\n public get renderOrder() { return this._repr.renderOrder; }\r\n public override get isLitSurface() { return this._repr.isLitSurface; }\r\n public override get hasBakedLighting() { return this._repr.hasBakedLighting; }\r\n public override get hasAnimation() { return this._repr.hasAnimation; }\r\n public get qOrigin() { return this._repr.qOrigin; }\r\n public get qScale() { return this._repr.qScale; }\r\n public override get materialInfo() { return this._repr.materialInfo; }\r\n public override get polylineBuffers() { return this._repr.polylineBuffers; }\r\n public override get isEdge() { return this._repr.isEdge; }\r\n public override get hasFeatures() { return this._buffers.hasFeatures; }\r\n public get techniqueId(): TechniqueId { return this._repr.techniqueId; }\r\n public override get supportsThematicDisplay() { return this._repr.supportsThematicDisplay; }\r\n\r\n public override getPass(target: Target) { return this._repr.getPass(target); }\r\n public override wantWoWReversal(params: ShaderProgramParams) { return this._repr.wantWoWReversal(params); }\r\n public override getLineCode(params: ShaderProgramParams) { return this._repr.getLineCode(params); }\r\n public override getLineWeight(params: ShaderProgramParams) { return this._repr.getLineWeight(params); }\r\n public override wantMonochrome(target: Target) { return this._repr.wantMonochrome(target); }\r\n\r\n public static create(repr: LUTGeometry, ownsBuffers: boolean, buffers: InstanceBuffers): InstancedGeometry {\r\n const techId = repr.techniqueId;\r\n const container = BuffersContainer.create();\r\n container.appendLinkages(repr.lutBuffers.linkages);\r\n\r\n container.addBuffer(buffers.transforms, InstanceBuffers.createTransformBufferParameters(repr.techniqueId));\r\n\r\n if (buffers.symbology) {\r\n const attrInstanceOverrides = AttributeMap.findAttribute(\"a_instanceOverrides\", techId, true);\r\n const attrInstanceRgba = AttributeMap.findAttribute(\"a_instanceRgba\", techId, true);\r\n assert(attrInstanceOverrides !== undefined);\r\n assert(attrInstanceRgba !== undefined);\r\n container.addBuffer(buffers.symbology, [\r\n BufferParameters.create(attrInstanceOverrides.location, 4, GL.DataType.UnsignedByte, false, 8, 0, true),\r\n BufferParameters.create(attrInstanceRgba.location, 4, GL.DataType.UnsignedByte, false, 8, 4, true),\r\n ]);\r\n }\r\n if (buffers.featureIds) {\r\n const attrFeatureId = AttributeMap.findAttribute(\"a_featureId\", techId, true);\r\n assert(attrFeatureId !== undefined);\r\n container.addBuffer(buffers.featureIds, [BufferParameters.create(attrFeatureId.location, 3, GL.DataType.UnsignedByte, false, 0, 0, true)]);\r\n }\r\n\r\n return new this(repr, ownsBuffers, buffers, container);\r\n }\r\n\r\n public static createPattern(repr: LUTGeometry, ownsBuffers: boolean, buffers: PatternBuffers): InstancedGeometry {\r\n const techId = repr.techniqueId;\r\n const container = BuffersContainer.create();\r\n container.appendLinkages(repr.lutBuffers.linkages);\r\n\r\n const attrX = AttributeMap.findAttribute(\"a_patternX\", techId, true);\r\n const attrY = AttributeMap.findAttribute(\"a_patternY\", techId, true);\r\n assert(undefined !== attrX && undefined !== attrY);\r\n container.addBuffer(buffers.offsets, [\r\n BufferParameters.create(attrX.location, 1, GL.DataType.Float, false, 8, 0, true),\r\n BufferParameters.create(attrY.location, 1, GL.DataType.Float, false, 8, 4, true),\r\n ]);\r\n\r\n return new this(repr, ownsBuffers, buffers, container);\r\n }\r\n\r\n private constructor(repr: LUTGeometry, ownsBuffers: boolean, buffers: InstanceBuffers | PatternBuffers, container: BuffersContainer) {\r\n super();\r\n this._repr = repr;\r\n this._ownsBuffers = ownsBuffers;\r\n this._buffers = buffers;\r\n this._buffersContainer = container;\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n if (!this._repr.isDisposed)\r\n return false;\r\n\r\n return !this._ownsBuffers || this._buffers.isDisposed;\r\n }\r\n\r\n public dispose() {\r\n this._repr.dispose();\r\n if (this._ownsBuffers)\r\n dispose(this._buffers);\r\n }\r\n\r\n protected _wantWoWReversal(_target: Target) {\r\n assert(false, \"Should never be called\");\r\n return false;\r\n }\r\n\r\n public draw() {\r\n this._repr.drawInstanced(this._buffers.numInstances, this._buffersContainer);\r\n }\r\n\r\n public override computeRange(output?: Range3d): Range3d {\r\n return this._buffers.range.clone(output);\r\n }\r\n\r\n public collectStatistics(stats: RenderMemory.Statistics) {\r\n this._repr.collectStatistics(stats);\r\n if (this._ownsBuffers)\r\n this._buffers.collectStatistics(stats);\r\n }\r\n\r\n public get patternParams(): Float32Array { return this._buffers.patternParams; }\r\n public get patternTransforms(): PatternTransforms | undefined { return this._buffers.patternTransforms; }\r\n public get patternFeatureId(): Float32Array { return this._buffers.patternFeatureId; }\r\n}\r\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module WebGL
|
|
3
3
|
*/
|
|
4
4
|
import { RenderMaterial } from "@itwin/core-common";
|
|
5
|
-
import { SurfaceMaterial, SurfaceMaterialAtlas } from "../primitives/
|
|
5
|
+
import { SurfaceMaterial, SurfaceMaterialAtlas } from "../primitives/SurfaceParams";
|
|
6
6
|
/** Parameters describing a single material. The parameters used are:
|
|
7
7
|
* - diffuse color rgb (vec3).
|
|
8
8
|
* - alpha (float in [0..1])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Material.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/Material.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAY,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Material.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/Material.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAY,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGpF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,QAAS,SAAQ,cAAc;IAC1C,gBAAuB,OAAO,EAAE,QAAQ,CAAgD;IAGxF,SAAgB,OAAO,EAAE,KAAK,CAAS;IACvC,SAAgB,YAAY,eAAuB;IACnD,SAAgB,IAAI,eAAuB;IAE3C,IAAW,YAAY,YAAgC;IACvD,IAAW,cAAc,YAAgC;IACzD,IAAW,eAAe,YAAsD;gBAE7D,MAAM,EAAE,cAAc,CAAC,MAAM;IA2BhD,OAAO,CAAC,UAAU;CAQnB;AAID;;GAEG;AACH,oBAAY,YAAY,GAAG,QAAQ,GAAG,oBAAoB,CAAC;AAE3D,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAOhG"}
|