@itwin/core-frontend 3.0.0-dev.148 → 3.0.0-dev.153
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/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/RealityDataSource.js +1 -12
- package/lib/cjs/RealityDataSource.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 +2 -0
- package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
- package/lib/cjs/render/RenderSystem.js +2 -0
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/primitives/EdgeParams.d.ts +35 -1
- package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
- package/lib/cjs/render/primitives/EdgeParams.js +114 -10
- package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
- package/lib/cjs/render/primitives/VertexTable.d.ts +1 -0
- package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
- package/lib/cjs/render/primitives/VertexTable.js +6 -1
- package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
- package/lib/cjs/render/webgl/AttributeMap.js +5 -5
- package/lib/cjs/render/webgl/CachedGeometry.d.ts +2 -0
- package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/cjs/render/webgl/CachedGeometry.js +14 -13
- package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/DrawCommand.js +2 -2
- 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 +1 -0
- package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
- package/lib/cjs/render/webgl/InstancedGeometry.js +1 -0
- package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/Mesh.d.ts +2 -0
- package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Mesh.js +7 -1
- package/lib/cjs/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarClassifier.js +1 -1
- package/lib/cjs/render/webgl/PlanarGrid.js +2 -2
- package/lib/cjs/render/webgl/RealityMesh.js +5 -5
- package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.d.ts +4 -1
- package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.js +6 -1
- package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/render/webgl/SceneCompositor.js +6 -6
- package/lib/cjs/render/webgl/ScreenSpaceEffect.js +1 -1
- package/lib/cjs/render/webgl/ShaderBuilder.d.ts +16 -14
- package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/cjs/render/webgl/ShaderBuilder.js +19 -15
- package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/render/webgl/System.d.ts +2 -0
- package/lib/cjs/render/webgl/System.d.ts.map +1 -1
- package/lib/cjs/render/webgl/System.js +2 -0
- package/lib/cjs/render/webgl/System.js.map +1 -1
- package/lib/cjs/render/webgl/Target.js +1 -1
- package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Technique.js +72 -57
- package/lib/cjs/render/webgl/Technique.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/glsl/Animation.js +1 -1
- package/lib/cjs/render/webgl/glsl/Color.js +1 -1
- package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyStencil.js +4 -7
- package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +1 -1
- 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 +13 -10
- 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 +9 -1
- package/lib/cjs/render/webgl/glsl/Fragment.js.map +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/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.js +4 -4
- package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkyBox.js +1 -1
- package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkySphere.js +1 -1
- package/lib/cjs/render/webgl/glsl/Surface.js +3 -3
- package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Vertex.js +1 -1
- 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/tile/IModelTile.d.ts.map +1 -1
- package/lib/cjs/tile/IModelTile.js +1 -0
- package/lib/cjs/tile/IModelTile.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.d.ts +1 -0
- package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
- package/lib/cjs/tile/ImdlReader.js +21 -1
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.js +4 -3
- package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.d.ts +9 -0
- package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
- package/lib/cjs/tile/TileAdmin.js +18 -13
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +4 -3
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/webgl.d.ts +1 -0
- package/lib/cjs/webgl.d.ts.map +1 -1
- package/lib/cjs/webgl.js +1 -0
- package/lib/cjs/webgl.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/RealityDataSource.js +2 -13
- package/lib/esm/RealityDataSource.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 +2 -0
- package/lib/esm/render/RenderSystem.d.ts.map +1 -1
- package/lib/esm/render/RenderSystem.js +2 -0
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/primitives/EdgeParams.d.ts +35 -1
- package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
- package/lib/esm/render/primitives/EdgeParams.js +114 -10
- package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
- package/lib/esm/render/primitives/VertexTable.d.ts +1 -0
- package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
- package/lib/esm/render/primitives/VertexTable.js +6 -1
- package/lib/esm/render/primitives/VertexTable.js.map +1 -1
- package/lib/esm/render/webgl/AttributeMap.js +5 -5
- package/lib/esm/render/webgl/CachedGeometry.d.ts +2 -0
- package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/esm/render/webgl/CachedGeometry.js +14 -13
- package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/DrawCommand.js +2 -2
- 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 +1 -0
- package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
- package/lib/esm/render/webgl/InstancedGeometry.js +1 -0
- package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/Mesh.d.ts +2 -0
- package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/Mesh.js +7 -1
- package/lib/esm/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/render/webgl/PlanarClassifier.js +1 -1
- package/lib/esm/render/webgl/PlanarGrid.js +2 -2
- package/lib/esm/render/webgl/RealityMesh.js +5 -5
- package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/RenderFlags.d.ts +4 -1
- package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/esm/render/webgl/RenderFlags.js +6 -1
- package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
- package/lib/esm/render/webgl/SceneCompositor.js +6 -6
- package/lib/esm/render/webgl/ScreenSpaceEffect.js +1 -1
- package/lib/esm/render/webgl/ShaderBuilder.d.ts +16 -14
- package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/esm/render/webgl/ShaderBuilder.js +19 -15
- package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/render/webgl/System.d.ts +2 -0
- package/lib/esm/render/webgl/System.d.ts.map +1 -1
- package/lib/esm/render/webgl/System.js +2 -0
- package/lib/esm/render/webgl/System.js.map +1 -1
- package/lib/esm/render/webgl/Target.js +1 -1
- package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
- package/lib/esm/render/webgl/Technique.js +72 -57
- package/lib/esm/render/webgl/Technique.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/glsl/Animation.js +1 -1
- package/lib/esm/render/webgl/glsl/Color.js +1 -1
- package/lib/esm/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/CopyStencil.js +4 -7
- package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +1 -1
- 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 +13 -10
- 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 +9 -1
- package/lib/esm/render/webgl/glsl/Fragment.js.map +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/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.js +4 -4
- package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
- package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/render/webgl/glsl/SkyBox.js +1 -1
- package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/esm/render/webgl/glsl/SkySphere.js +1 -1
- package/lib/esm/render/webgl/glsl/Surface.js +3 -3
- package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Vertex.js +1 -1
- 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/tile/IModelTile.d.ts.map +1 -1
- package/lib/esm/tile/IModelTile.js +1 -0
- package/lib/esm/tile/IModelTile.js.map +1 -1
- package/lib/esm/tile/ImdlReader.d.ts +1 -0
- package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
- package/lib/esm/tile/ImdlReader.js +21 -1
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.js +5 -4
- package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/tile/TileAdmin.d.ts +9 -0
- package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
- package/lib/esm/tile/TileAdmin.js +19 -14
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +4 -3
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/webgl.d.ts +1 -0
- package/lib/esm/webgl.d.ts.map +1 -1
- package/lib/esm/webgl.js +1 -0
- package/lib/esm/webgl.js.map +1 -1
- package/package.json +22 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealityDataSource.js","sourceRoot":"","sources":["../../src/RealityDataSource.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { getJson, request, RequestOptions } from \"@bentley/itwin-client\";\r\nimport { AccessToken, BentleyStatus, GuidString, Logger } from \"@itwin/core-bentley\";\r\nimport { IModelError, OrbitGtBlobProps, RealityData, RealityDataFormat, RealityDataProvider, RealityDataSourceKey, RealityDataSourceProps } from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"./FrontendLoggerCategory\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { CesiumIonAssetProvider, ContextShareProvider, getCesiumAccessTokenAndEndpointUrl, getCesiumOSMBuildingsUrl } from \"./tile/internal\";\r\n\r\n/**\r\n * This interface provide methods used to access a reality data from a reality data provider\r\n * @beta\r\n */\r\nexport interface RealityDataSource {\r\n readonly key: RealityDataSourceKey;\r\n readonly isContextShare: boolean;\r\n readonly realityDataId: string | undefined;\r\n /** Metatdata on the reality data source */\r\n readonly realityData: RealityData | undefined;\r\n /** The reality data type (e.g.: \"RealityMesh3DTiles\", OPC, Terrain3DTiles, Cesium3DTiles, ... )*/\r\n readonly realityDataType: string | undefined;\r\n /**\r\n * This method returns the URL to obtain the Reality Data properties.\r\n * @param iTwinId id of associated iTwin project\r\n * @returns string containing the URL to reality data.\r\n */\r\n getServiceUrl(iTwinId: GuidString | undefined): Promise<string | undefined>;\r\n\r\n /**\r\n * Gets a reality data root document json\r\n * @returns tile data json\r\n * @internal\r\n */\r\n getRootDocument(iTwinId: GuidString | undefined): Promise<any>;\r\n /**\r\n * Gets tile content\r\n * @param name name or path of tile\r\n * @returns array buffer of tile content\r\n * @internal\r\n */\r\n getTileContent(name: string): Promise<any>;\r\n /**\r\n * Gets a tileset's app data json\r\n * @param name name or path of tile\r\n * @returns app data json object\r\n * @internal\r\n */\r\n getTileJson(name: string): Promise<any>;\r\n}\r\n/** Utility functions for RealityDataSource\r\n * @beta\r\n */\r\nexport namespace RealityDataSource {\r\n /**\r\n * Create a RealityDataSourceKey from a tilesetUrl.\r\n * @param tilesetUrl the reality data attachment url\r\n * @param inputProvider identify the RealityDataProvider if known, otherwise function will try to extract it from the tilesetUrl\r\n * @param inputFormat identify the RealityDataFormat if known, otherwise function will try to extract it from the tilesetUrl\r\n * @returns the RealityDataSourceKey that uniquely identify a reality data for a provider\r\n */\r\n export function createKeyFromUrl(tilesetUrl: string, inputProvider?: RealityDataProvider, inputFormat?: RealityDataFormat): RealityDataSourceKey {\r\n let format = inputFormat ? inputFormat : RealityDataFormat.fromUrl(tilesetUrl);\r\n if (CesiumIonAssetProvider.isProviderUrl(tilesetUrl)) {\r\n const provider = RealityDataProvider.CesiumIonAsset;\r\n // Keep url hidden and use a dummy id\r\n const cesiumIonAssetKey: RealityDataSourceKey = { provider, format, id: CesiumIonAssetProvider.osmBuildingId };\r\n return cesiumIonAssetKey;\r\n }\r\n\r\n // Try to extract realityDataId from URL and if not possible, use the url as the key\r\n if (ContextShareProvider.isProviderUrl(tilesetUrl)) {\r\n const info = ContextShareProvider.getInfoFromUrl(tilesetUrl);\r\n const provider = inputProvider ? inputProvider : info.provider;\r\n format = inputFormat ? inputFormat : info.format;\r\n const contextShareKey: RealityDataSourceKey = { provider, format, id: info.id, iTwinId: info.iTwinId };\r\n return contextShareKey;\r\n }\r\n\r\n // default to tileSetUrl\r\n const provider2 = inputProvider ? inputProvider : RealityDataProvider.TilesetUrl;\r\n const urlKey: RealityDataSourceKey = { provider: provider2, format, id: tilesetUrl };\r\n return urlKey;\r\n }\r\n /** @alpha - was used for a very specific case of point cloud (opc) attachment that should not be made public */\r\n export function createKeyFromBlobUrl(blobUrl: string, inputProvider?: RealityDataProvider, inputFormat?: RealityDataFormat): RealityDataSourceKey {\r\n const info = ContextShareProvider.getInfoFromBlobUrl(blobUrl);\r\n const format = inputFormat ? inputFormat : info.format;\r\n const provider = inputProvider ? inputProvider : info.provider;\r\n const contextShareKey: RealityDataSourceKey = { provider, format, id: info.id };\r\n return contextShareKey;\r\n }\r\n /** @alpha - OrbitGtBlobProps is alpha */\r\n export function createKeyFromOrbitGtBlobProps(orbitGtBlob: OrbitGtBlobProps, inputProvider?: RealityDataProvider, inputFormat?: RealityDataFormat): RealityDataSourceKey {\r\n const format = inputFormat ? inputFormat : RealityDataFormat.OPC;\r\n if(orbitGtBlob.blobFileName && orbitGtBlob.blobFileName.toLowerCase().startsWith(\"http\")) {\r\n return RealityDataSource.createKeyFromBlobUrl(orbitGtBlob.blobFileName,inputProvider,format);\r\n } else if (orbitGtBlob.rdsUrl) {\r\n return RealityDataSource.createKeyFromUrl(orbitGtBlob.rdsUrl,inputProvider,format);\r\n }\r\n const provider = inputProvider ? inputProvider : RealityDataProvider.OrbitGtBlob;\r\n const id = `${orbitGtBlob.accountName}:${orbitGtBlob.containerName}:${orbitGtBlob.blobFileName}:?${orbitGtBlob.sasToken}`;\r\n return { provider, format, id };\r\n }\r\n /** @alpha - OrbitGtBlobProps is alpha */\r\n export function createOrbitGtBlobPropsFromKey(rdSourceKey: RealityDataSourceKey): OrbitGtBlobProps | undefined {\r\n if (rdSourceKey.provider !== RealityDataProvider.OrbitGtBlob)\r\n return undefined;\r\n const splitIds = rdSourceKey.id.split(\":\");\r\n const sasTokenIndex = rdSourceKey.id.indexOf(\":?\");\r\n const sasToken = rdSourceKey.id.substr(sasTokenIndex+2);\r\n const orbitGtBlob: OrbitGtBlobProps = {\r\n accountName: splitIds[0],\r\n containerName: splitIds[1],\r\n blobFileName: splitIds[2],\r\n sasToken,\r\n };\r\n return orbitGtBlob;\r\n }\r\n /** Return an instance of a RealityDataSource from a source key.\r\n * There will aways be only one reality data RealityDataSource for a corresponding reality data source key.\r\n * @internal\r\n */\r\n export async function fromKey(rdSourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataSource | undefined> {\r\n return RealityDataSourceImpl.fromKey(rdSourceKey, iTwinId);\r\n }\r\n}\r\n\r\n/** This class provides access to the reality data provider services.\r\n * It encapsulates access to a reality data weiter it be from local access, http or ProjectWise Context Share.\r\n * The key provided at the creation determines if this is ProjectWise Context Share reference.\r\n * If not then it is considered local (ex: C:\\temp\\TileRoot.json) or plain http access (http://someserver.com/data/TileRoot.json)\r\n * There is a one to one relationship between a reality data and the instances of present class.\r\n* @beta\r\n*/\r\nclass RealityDataSourceImpl implements RealityDataSource {\r\n private static _realityDataSources = new Map<string, RealityDataSource>();\r\n public readonly key: RealityDataSourceKey;\r\n /** The URL that supplies the 3d tiles for displaying the reality model. */\r\n private _tilesetUrl: string | undefined;\r\n private _isUrlResolved: boolean = false;\r\n private _rd: RealityData | undefined;\r\n /** For use by all Reality Data. For RD stored on PW Context Share, represents the portion from the root of the Azure Blob Container*/\r\n private _baseUrl: string = \"\";\r\n /** Request authorization for non PW ContextShare requests.*/\r\n private _requestAuthorization?: string;\r\n\r\n /** Construct a new reality data source.\r\n * @param props JSON representation of the reality data source\r\n */\r\n protected constructor(props: RealityDataSourceProps) {\r\n this.key = props.sourceKey;\r\n this._isUrlResolved=false;\r\n }\r\n\r\n /** Construct a new reality data source.\r\n * @param props JSON representation of the reality data source\r\n */\r\n public static fromProps(props: RealityDataSourceProps): RealityDataSource {\r\n return new RealityDataSourceImpl(props);\r\n }\r\n /**\r\n * Create an instance of this class from a source key and iTwin context/\r\n */\r\n public static async createFromKey(sourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataSource | undefined> {\r\n const rdSource = new RealityDataSourceImpl({sourceKey});\r\n let tilesetUrl: string | undefined;\r\n try {\r\n await rdSource.queryRealityData(iTwinId);\r\n tilesetUrl = await rdSource.getServiceUrl(iTwinId);\r\n } catch (e) {\r\n }\r\n\r\n return (tilesetUrl !== undefined) ? rdSource: undefined;\r\n }\r\n /** Return an instance of a RealityDataSource from a source key.\r\n * There will aways be only one reality data connection for a corresponding reality data source key.\r\n */\r\n public static async fromKey(rdSourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataSource | undefined> {\r\n // search to see if it was already created\r\n const rdSourceKeyString = RealityDataSourceKey.convertToString(rdSourceKey);\r\n let rdSource = RealityDataSourceImpl._realityDataSources.get(rdSourceKeyString);\r\n if (rdSource)\r\n return rdSource;\r\n // If not already in our list, create and add it to our list before returing it.\r\n rdSource = await RealityDataSourceImpl.createFromKey(rdSourceKey, iTwinId);\r\n if (rdSource)\r\n RealityDataSourceImpl._realityDataSources.set(rdSourceKeyString,rdSource);\r\n return rdSource;\r\n }\r\n public get isContextShare(): boolean {\r\n return (this.key.provider === RealityDataProvider.ContextShare);\r\n }\r\n /**\r\n * Returns Reality Data if available\r\n */\r\n public get realityData(): RealityData | undefined {\r\n return this._rd;\r\n }\r\n public get realityDataId(): string | undefined {\r\n const realityDataId = this.isContextShare ? this.key.id : undefined;\r\n return realityDataId;\r\n }\r\n /**\r\n * Returns Reality Data type if available\r\n */\r\n public get realityDataType(): string | undefined {\r\n return this._rd?.type;\r\n }\r\n public get iTwinId(): string | undefined {\r\n return this.key.iTwinId;\r\n }\r\n /**\r\n * Query Reality Data from provider\r\n */\r\n private async queryRealityData(iTwinId: GuidString | undefined) {\r\n if (this.isContextShare && !this._rd) {\r\n const token = await IModelApp.getAccessToken();\r\n if (token && this.realityDataId) {\r\n if (undefined === IModelApp.realityDataAccess)\r\n throw new Error(\"Missing an implementation of RealityDataAccess on IModelApp, it is required to access reality data. Please provide an implementation to the IModelApp.startup using IModelAppOptions.realityDataAccess.\");\r\n this._rd = await IModelApp.realityDataAccess.getRealityData(token, iTwinId, this.realityDataId);\r\n // A reality data that has not root document set should not be considered.\r\n const rootDocument: string = this._rd.rootDocument ?? \"\";\r\n this.setBaseUrl(rootDocument);\r\n }\r\n }\r\n }\r\n // This is to set the root url from the provided root document path.\r\n // If the root document is stored on PW Context Share then the root document property of the Reality Data is provided,\r\n // otherwise the full path to root document is given.\r\n // The base URL contains the base URL from which tile relative path are constructed.\r\n // The tile's path root will need to be reinserted for child tiles to return a 200\r\n private setBaseUrl(url: string): void {\r\n const urlParts = url.split(\"/\");\r\n urlParts.pop();\r\n if (urlParts.length === 0)\r\n this._baseUrl = \"\";\r\n else\r\n this._baseUrl = `${urlParts.join(\"/\")}/`;\r\n }\r\n private async _doRequest(url: string, responseType: string): Promise<any> {\r\n let options: RequestOptions = {\r\n method: \"GET\",\r\n responseType,\r\n };\r\n\r\n const authToken = this._requestAuthorization;\r\n if (authToken) {\r\n options = {\r\n ...options,\r\n headers: {\r\n authorization: authToken,\r\n },\r\n };\r\n }\r\n\r\n const data = await request(url, options);\r\n return data.body;\r\n }\r\n /**\r\n * Gets a tileset's app data json\r\n * @param name name or path of tile\r\n * @returns app data json object\r\n * @internal\r\n */\r\n public async getRealityDataTileJson(accessToken: AccessToken, name: string, realityData: RealityData): Promise<any> {\r\n const url = await realityData.getBlobUrl(accessToken, name);\r\n\r\n const data = await getJson(url.toString());\r\n return data;\r\n }\r\n /**\r\n * This method returns the URL to access the actual 3d tiles from the service provider.\r\n * @returns string containing the URL to reality data.\r\n */\r\n public async getServiceUrl(iTwinId: GuidString | undefined): Promise<string | undefined> {\r\n // If url was not resolved - resolve it\r\n if (this.isContextShare && !this._isUrlResolved) {\r\n const rdSourceKey = this.key;\r\n // we need to resolve tilesetURl from realityDataId and iTwinId\r\n if (undefined === IModelApp.realityDataAccess)\r\n throw new Error(\"Missing an implementation of RealityDataAccess on IModelApp, it is required to access reality data. Please provide an implementation to the IModelApp.startup using IModelAppOptions.realityDataAccess.\");\r\n try {\r\n const resolvedITwinId = iTwinId ? iTwinId : rdSourceKey.iTwinId;\r\n\r\n this._tilesetUrl = await IModelApp.realityDataAccess.getRealityDataUrl(resolvedITwinId, rdSourceKey.id);\r\n this._isUrlResolved=true;\r\n } catch (e) {\r\n const errMsg = `Error getting URL from ContextShare using realityDataId=${rdSourceKey.id} and iTwinId=${iTwinId}`;\r\n Logger.logError(FrontendLoggerCategory.RealityData, errMsg);\r\n }\r\n } else if (this.key.provider === RealityDataProvider.TilesetUrl) {\r\n this._tilesetUrl = this.key.id;\r\n } else if (this.key.provider === RealityDataProvider.CesiumIonAsset ) {\r\n this._tilesetUrl = this.key.id;\r\n if (this.key.id === CesiumIonAssetProvider.osmBuildingId)\r\n this._tilesetUrl = getCesiumOSMBuildingsUrl();\r\n }\r\n return this._tilesetUrl;\r\n }\r\n /** TODO: This probably required three different realitydataSource implementations based on different provider -> locally hosted, RDS and cesium */\r\n public async getRootDocument(iTwinId: GuidString | undefined): Promise<any> {\r\n const token = await IModelApp.getAccessToken();\r\n if (this.isContextShare && token) {\r\n const realityData = this.realityData;\r\n\r\n if (!realityData)\r\n throw new Error(`Reality Data not defined`);\r\n\r\n if (!realityData.rootDocument)\r\n throw new Error(`Root document not defined for reality data: ${realityData.id}`);\r\n\r\n return this.getRealityDataTileJson(token, realityData.rootDocument, realityData);\r\n }\r\n\r\n let url = await this.getServiceUrl(iTwinId);\r\n if (!url)\r\n throw new IModelError(BentleyStatus.ERROR, \"Unable to get service url\");\r\n\r\n // The following is only if the reality data is not stored on PW Context Share.\r\n const cesiumAsset = CesiumIonAssetProvider.parseCesiumUrl(url);\r\n if (cesiumAsset) {\r\n const tokenAndUrl = await getCesiumAccessTokenAndEndpointUrl(cesiumAsset.id, cesiumAsset.key);\r\n if (tokenAndUrl.url && tokenAndUrl.token) {\r\n url = tokenAndUrl.url;\r\n this._requestAuthorization = `Bearer ${tokenAndUrl.token}`;\r\n }\r\n }\r\n\r\n // The following is only if the reality data is not stored on PW Context Share.\r\n this.setBaseUrl(url);\r\n return this._doRequest(url, \"json\");\r\n }\r\n\r\n /**\r\n * Gets tile content\r\n * @param name name or path of tile\r\n * @returns array buffer of tile content\r\n */\r\n public async getRealityDataTileContent(accessToken: AccessToken, name: string, realityData: RealityData): Promise<any> {\r\n const url = await realityData.getBlobUrl(accessToken, name);\r\n const options: RequestOptions = {\r\n method: \"GET\",\r\n responseType: \"arraybuffer\",\r\n };\r\n const data = await request(url.toString(), options);\r\n return data.body;\r\n }\r\n\r\n /**\r\n * TODO: This probably required different realitydataSource implementations based on different provider -> locally hosted, RDS and cesium\r\n * Returns the tile content. The path to the tile is relative to the base url of present reality data whatever the type.\r\n */\r\n public async getTileContent(name: string): Promise<any> {\r\n const token = await IModelApp.getAccessToken();\r\n const useRds = this.isContextShare && token !== undefined;\r\n const tileUrl = this._baseUrl + name;\r\n\r\n if (useRds && this.realityData) {\r\n return this.getRealityDataTileContent(token, tileUrl, this.realityData);\r\n }\r\n\r\n return this._doRequest(tileUrl, \"arraybuffer\");\r\n }\r\n\r\n /**\r\n * TODO: This probably required different realitydataSource implementations based on different provider -> locally hosted, RDS and cesium\r\n * Returns the tile content in json format. The path to the tile is relative to the base url of present reality data whatever the type.\r\n */\r\n public async getTileJson(name: string): Promise<any> {\r\n const token = await IModelApp.getAccessToken();\r\n const useRds = this.isContextShare && token !== undefined;\r\n const tileUrl = this._baseUrl + name;\r\n\r\n if (useRds && this.realityData) {\r\n return this.getRealityDataTileJson(token, tileUrl, this.realityData);\r\n }\r\n\r\n return this._doRequest(tileUrl, \"json\");\r\n }\r\n}\r\n\r\n"]}
|
|
1
|
+
{"version":3,"file":"RealityDataSource.js","sourceRoot":"","sources":["../../src/RealityDataSource.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { getJson, request, RequestOptions } from \"@bentley/itwin-client\";\r\nimport { AccessToken, BentleyStatus, GuidString, Logger } from \"@itwin/core-bentley\";\r\nimport { IModelError, OrbitGtBlobProps, RealityData, RealityDataFormat, RealityDataProvider, RealityDataSourceKey, RealityDataSourceProps } from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"./FrontendLoggerCategory\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { CesiumIonAssetProvider, ContextShareProvider, getCesiumAccessTokenAndEndpointUrl, getCesiumOSMBuildingsUrl } from \"./tile/internal\";\r\n\r\n/**\r\n * This interface provide methods used to access a reality data from a reality data provider\r\n * @beta\r\n */\r\nexport interface RealityDataSource {\r\n readonly key: RealityDataSourceKey;\r\n readonly isContextShare: boolean;\r\n readonly realityDataId: string | undefined;\r\n /** Metatdata on the reality data source */\r\n readonly realityData: RealityData | undefined;\r\n /** The reality data type (e.g.: \"RealityMesh3DTiles\", OPC, Terrain3DTiles, Cesium3DTiles, ... )*/\r\n readonly realityDataType: string | undefined;\r\n /**\r\n * This method returns the URL to obtain the Reality Data properties.\r\n * @param iTwinId id of associated iTwin project\r\n * @returns string containing the URL to reality data.\r\n */\r\n getServiceUrl(iTwinId: GuidString | undefined): Promise<string | undefined>;\r\n\r\n /**\r\n * Gets a reality data root document json\r\n * @returns tile data json\r\n * @internal\r\n */\r\n getRootDocument(iTwinId: GuidString | undefined): Promise<any>;\r\n /**\r\n * Gets tile content\r\n * @param name name or path of tile\r\n * @returns array buffer of tile content\r\n * @internal\r\n */\r\n getTileContent(name: string): Promise<any>;\r\n /**\r\n * Gets a tileset's app data json\r\n * @param name name or path of tile\r\n * @returns app data json object\r\n * @internal\r\n */\r\n getTileJson(name: string): Promise<any>;\r\n}\r\n/** Utility functions for RealityDataSource\r\n * @beta\r\n */\r\nexport namespace RealityDataSource {\r\n /**\r\n * Create a RealityDataSourceKey from a tilesetUrl.\r\n * @param tilesetUrl the reality data attachment url\r\n * @param inputProvider identify the RealityDataProvider if known, otherwise function will try to extract it from the tilesetUrl\r\n * @param inputFormat identify the RealityDataFormat if known, otherwise function will try to extract it from the tilesetUrl\r\n * @returns the RealityDataSourceKey that uniquely identify a reality data for a provider\r\n */\r\n export function createKeyFromUrl(tilesetUrl: string, inputProvider?: RealityDataProvider, inputFormat?: RealityDataFormat): RealityDataSourceKey {\r\n let format = inputFormat ? inputFormat : RealityDataFormat.fromUrl(tilesetUrl);\r\n if (CesiumIonAssetProvider.isProviderUrl(tilesetUrl)) {\r\n const provider = RealityDataProvider.CesiumIonAsset;\r\n // Keep url hidden and use a dummy id\r\n const cesiumIonAssetKey: RealityDataSourceKey = { provider, format, id: CesiumIonAssetProvider.osmBuildingId };\r\n return cesiumIonAssetKey;\r\n }\r\n\r\n // Try to extract realityDataId from URL and if not possible, use the url as the key\r\n if (ContextShareProvider.isProviderUrl(tilesetUrl)) {\r\n const info = ContextShareProvider.getInfoFromUrl(tilesetUrl);\r\n const provider = inputProvider ? inputProvider : info.provider;\r\n format = inputFormat ? inputFormat : info.format;\r\n const contextShareKey: RealityDataSourceKey = { provider, format, id: info.id, iTwinId: info.iTwinId };\r\n return contextShareKey;\r\n }\r\n\r\n // default to tileSetUrl\r\n const provider2 = inputProvider ? inputProvider : RealityDataProvider.TilesetUrl;\r\n const urlKey: RealityDataSourceKey = { provider: provider2, format, id: tilesetUrl };\r\n return urlKey;\r\n }\r\n /** @alpha - was used for a very specific case of point cloud (opc) attachment that should not be made public */\r\n export function createKeyFromBlobUrl(blobUrl: string, inputProvider?: RealityDataProvider, inputFormat?: RealityDataFormat): RealityDataSourceKey {\r\n const info = ContextShareProvider.getInfoFromBlobUrl(blobUrl);\r\n const format = inputFormat ? inputFormat : info.format;\r\n const provider = inputProvider ? inputProvider : info.provider;\r\n const contextShareKey: RealityDataSourceKey = { provider, format, id: info.id };\r\n return contextShareKey;\r\n }\r\n /** @alpha - OrbitGtBlobProps is alpha */\r\n export function createKeyFromOrbitGtBlobProps(orbitGtBlob: OrbitGtBlobProps, inputProvider?: RealityDataProvider, inputFormat?: RealityDataFormat): RealityDataSourceKey {\r\n const format = inputFormat ? inputFormat : RealityDataFormat.OPC;\r\n if(orbitGtBlob.blobFileName && orbitGtBlob.blobFileName.toLowerCase().startsWith(\"http\")) {\r\n return RealityDataSource.createKeyFromBlobUrl(orbitGtBlob.blobFileName,inputProvider,format);\r\n } else if (orbitGtBlob.rdsUrl) {\r\n return RealityDataSource.createKeyFromUrl(orbitGtBlob.rdsUrl,inputProvider,format);\r\n }\r\n const provider = inputProvider ? inputProvider : RealityDataProvider.OrbitGtBlob;\r\n const id = `${orbitGtBlob.accountName}:${orbitGtBlob.containerName}:${orbitGtBlob.blobFileName}:?${orbitGtBlob.sasToken}`;\r\n return { provider, format, id };\r\n }\r\n /** @alpha - OrbitGtBlobProps is alpha */\r\n export function createOrbitGtBlobPropsFromKey(rdSourceKey: RealityDataSourceKey): OrbitGtBlobProps | undefined {\r\n if (rdSourceKey.provider !== RealityDataProvider.OrbitGtBlob)\r\n return undefined;\r\n const splitIds = rdSourceKey.id.split(\":\");\r\n const sasTokenIndex = rdSourceKey.id.indexOf(\":?\");\r\n const sasToken = rdSourceKey.id.substr(sasTokenIndex+2);\r\n const orbitGtBlob: OrbitGtBlobProps = {\r\n accountName: splitIds[0],\r\n containerName: splitIds[1],\r\n blobFileName: splitIds[2],\r\n sasToken,\r\n };\r\n return orbitGtBlob;\r\n }\r\n /** Return an instance of a RealityDataSource from a source key.\r\n * There will aways be only one reality data RealityDataSource for a corresponding reality data source key.\r\n * @internal\r\n */\r\n export async function fromKey(rdSourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataSource | undefined> {\r\n return RealityDataSourceImpl.fromKey(rdSourceKey, iTwinId);\r\n }\r\n}\r\n\r\n/** This class provides access to the reality data provider services.\r\n * It encapsulates access to a reality data weiter it be from local access, http or ProjectWise Context Share.\r\n * The key provided at the creation determines if this is ProjectWise Context Share reference.\r\n * If not then it is considered local (ex: C:\\temp\\TileRoot.json) or plain http access (http://someserver.com/data/TileRoot.json)\r\n * There is a one to one relationship between a reality data and the instances of present class.\r\n* @beta\r\n*/\r\nclass RealityDataSourceImpl implements RealityDataSource {\r\n public readonly key: RealityDataSourceKey;\r\n /** The URL that supplies the 3d tiles for displaying the reality model. */\r\n private _tilesetUrl: string | undefined;\r\n private _isUrlResolved: boolean = false;\r\n private _rd: RealityData | undefined;\r\n /** For use by all Reality Data. For RD stored on PW Context Share, represents the portion from the root of the Azure Blob Container*/\r\n private _baseUrl: string = \"\";\r\n /** Request authorization for non PW ContextShare requests.*/\r\n private _requestAuthorization?: string;\r\n\r\n /** Construct a new reality data source.\r\n * @param props JSON representation of the reality data source\r\n */\r\n protected constructor(props: RealityDataSourceProps) {\r\n this.key = props.sourceKey;\r\n this._isUrlResolved=false;\r\n }\r\n\r\n /** Construct a new reality data source.\r\n * @param props JSON representation of the reality data source\r\n */\r\n public static fromProps(props: RealityDataSourceProps): RealityDataSource {\r\n return new RealityDataSourceImpl(props);\r\n }\r\n /**\r\n * Create an instance of this class from a source key and iTwin context/\r\n */\r\n public static async createFromKey(sourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataSource | undefined> {\r\n const rdSource = new RealityDataSourceImpl({sourceKey});\r\n let tilesetUrl: string | undefined;\r\n try {\r\n await rdSource.queryRealityData(iTwinId);\r\n tilesetUrl = await rdSource.getServiceUrl(iTwinId);\r\n } catch (e) {\r\n }\r\n\r\n return (tilesetUrl !== undefined) ? rdSource: undefined;\r\n }\r\n /** Return an instance of a RealityDataSource from a source key.\r\n */\r\n public static async fromKey(rdSourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataSource | undefined> {\r\n return RealityDataSourceImpl.createFromKey(rdSourceKey, iTwinId);\r\n }\r\n public get isContextShare(): boolean {\r\n return (this.key.provider === RealityDataProvider.ContextShare);\r\n }\r\n /**\r\n * Returns Reality Data if available\r\n */\r\n public get realityData(): RealityData | undefined {\r\n return this._rd;\r\n }\r\n public get realityDataId(): string | undefined {\r\n const realityDataId = this.isContextShare ? this.key.id : undefined;\r\n return realityDataId;\r\n }\r\n /**\r\n * Returns Reality Data type if available\r\n */\r\n public get realityDataType(): string | undefined {\r\n return this._rd?.type;\r\n }\r\n public get iTwinId(): string | undefined {\r\n return this.key.iTwinId;\r\n }\r\n /**\r\n * Query Reality Data from provider\r\n */\r\n private async queryRealityData(iTwinId: GuidString | undefined) {\r\n if (this.isContextShare && !this._rd) {\r\n const token = await IModelApp.getAccessToken();\r\n if (token && this.realityDataId) {\r\n if (undefined === IModelApp.realityDataAccess)\r\n throw new Error(\"Missing an implementation of RealityDataAccess on IModelApp, it is required to access reality data. Please provide an implementation to the IModelApp.startup using IModelAppOptions.realityDataAccess.\");\r\n this._rd = await IModelApp.realityDataAccess.getRealityData(token, iTwinId, this.realityDataId);\r\n // A reality data that has not root document set should not be considered.\r\n const rootDocument: string = this._rd.rootDocument ?? \"\";\r\n this.setBaseUrl(rootDocument);\r\n }\r\n }\r\n }\r\n // This is to set the root url from the provided root document path.\r\n // If the root document is stored on PW Context Share then the root document property of the Reality Data is provided,\r\n // otherwise the full path to root document is given.\r\n // The base URL contains the base URL from which tile relative path are constructed.\r\n // The tile's path root will need to be reinserted for child tiles to return a 200\r\n private setBaseUrl(url: string): void {\r\n const urlParts = url.split(\"/\");\r\n urlParts.pop();\r\n if (urlParts.length === 0)\r\n this._baseUrl = \"\";\r\n else\r\n this._baseUrl = `${urlParts.join(\"/\")}/`;\r\n }\r\n private async _doRequest(url: string, responseType: string): Promise<any> {\r\n let options: RequestOptions = {\r\n method: \"GET\",\r\n responseType,\r\n };\r\n\r\n const authToken = this._requestAuthorization;\r\n if (authToken) {\r\n options = {\r\n ...options,\r\n headers: {\r\n authorization: authToken,\r\n },\r\n };\r\n }\r\n\r\n const data = await request(url, options);\r\n return data.body;\r\n }\r\n /**\r\n * Gets a tileset's app data json\r\n * @param name name or path of tile\r\n * @returns app data json object\r\n * @internal\r\n */\r\n public async getRealityDataTileJson(accessToken: AccessToken, name: string, realityData: RealityData): Promise<any> {\r\n const url = await realityData.getBlobUrl(accessToken, name);\r\n\r\n const data = await getJson(url.toString());\r\n return data;\r\n }\r\n /**\r\n * This method returns the URL to access the actual 3d tiles from the service provider.\r\n * @returns string containing the URL to reality data.\r\n */\r\n public async getServiceUrl(iTwinId: GuidString | undefined): Promise<string | undefined> {\r\n // If url was not resolved - resolve it\r\n if (this.isContextShare && !this._isUrlResolved) {\r\n const rdSourceKey = this.key;\r\n // we need to resolve tilesetURl from realityDataId and iTwinId\r\n if (undefined === IModelApp.realityDataAccess)\r\n throw new Error(\"Missing an implementation of RealityDataAccess on IModelApp, it is required to access reality data. Please provide an implementation to the IModelApp.startup using IModelAppOptions.realityDataAccess.\");\r\n try {\r\n const resolvedITwinId = iTwinId ? iTwinId : rdSourceKey.iTwinId;\r\n\r\n this._tilesetUrl = await IModelApp.realityDataAccess.getRealityDataUrl(resolvedITwinId, rdSourceKey.id);\r\n this._isUrlResolved=true;\r\n } catch (e) {\r\n const errMsg = `Error getting URL from ContextShare using realityDataId=${rdSourceKey.id} and iTwinId=${iTwinId}`;\r\n Logger.logError(FrontendLoggerCategory.RealityData, errMsg);\r\n }\r\n } else if (this.key.provider === RealityDataProvider.TilesetUrl) {\r\n this._tilesetUrl = this.key.id;\r\n } else if (this.key.provider === RealityDataProvider.CesiumIonAsset ) {\r\n this._tilesetUrl = this.key.id;\r\n if (this.key.id === CesiumIonAssetProvider.osmBuildingId)\r\n this._tilesetUrl = getCesiumOSMBuildingsUrl();\r\n }\r\n return this._tilesetUrl;\r\n }\r\n /** TODO: This probably required three different realitydataSource implementations based on different provider -> locally hosted, RDS and cesium */\r\n public async getRootDocument(iTwinId: GuidString | undefined): Promise<any> {\r\n const token = await IModelApp.getAccessToken();\r\n if (this.isContextShare && token) {\r\n const realityData = this.realityData;\r\n\r\n if (!realityData)\r\n throw new Error(`Reality Data not defined`);\r\n\r\n if (!realityData.rootDocument)\r\n throw new Error(`Root document not defined for reality data: ${realityData.id}`);\r\n\r\n return this.getRealityDataTileJson(token, realityData.rootDocument, realityData);\r\n }\r\n\r\n let url = await this.getServiceUrl(iTwinId);\r\n if (!url)\r\n throw new IModelError(BentleyStatus.ERROR, \"Unable to get service url\");\r\n\r\n // The following is only if the reality data is not stored on PW Context Share.\r\n const cesiumAsset = CesiumIonAssetProvider.parseCesiumUrl(url);\r\n if (cesiumAsset) {\r\n const tokenAndUrl = await getCesiumAccessTokenAndEndpointUrl(cesiumAsset.id, cesiumAsset.key);\r\n if (tokenAndUrl.url && tokenAndUrl.token) {\r\n url = tokenAndUrl.url;\r\n this._requestAuthorization = `Bearer ${tokenAndUrl.token}`;\r\n }\r\n }\r\n\r\n // The following is only if the reality data is not stored on PW Context Share.\r\n this.setBaseUrl(url);\r\n return this._doRequest(url, \"json\");\r\n }\r\n\r\n /**\r\n * Gets tile content\r\n * @param name name or path of tile\r\n * @returns array buffer of tile content\r\n */\r\n public async getRealityDataTileContent(accessToken: AccessToken, name: string, realityData: RealityData): Promise<any> {\r\n const url = await realityData.getBlobUrl(accessToken, name);\r\n const options: RequestOptions = {\r\n method: \"GET\",\r\n responseType: \"arraybuffer\",\r\n };\r\n const data = await request(url.toString(), options);\r\n return data.body;\r\n }\r\n\r\n /**\r\n * TODO: This probably required different realitydataSource implementations based on different provider -> locally hosted, RDS and cesium\r\n * Returns the tile content. The path to the tile is relative to the base url of present reality data whatever the type.\r\n */\r\n public async getTileContent(name: string): Promise<any> {\r\n const token = await IModelApp.getAccessToken();\r\n const useRds = this.isContextShare && token !== undefined;\r\n const tileUrl = this._baseUrl + name;\r\n\r\n if (useRds && this.realityData) {\r\n return this.getRealityDataTileContent(token, tileUrl, this.realityData);\r\n }\r\n\r\n return this._doRequest(tileUrl, \"arraybuffer\");\r\n }\r\n\r\n /**\r\n * TODO: This probably required different realitydataSource implementations based on different provider -> locally hosted, RDS and cesium\r\n * Returns the tile content in json format. The path to the tile is relative to the base url of present reality data whatever the type.\r\n */\r\n public async getTileJson(name: string): Promise<any> {\r\n const token = await IModelApp.getAccessToken();\r\n const useRds = this.isContextShare && token !== undefined;\r\n const tileUrl = this._baseUrl + name;\r\n\r\n if (useRds && this.realityData) {\r\n return this.getRealityDataTileJson(token, tileUrl, this.realityData);\r\n }\r\n\r\n return this._doRequest(tileUrl, \"json\");\r\n }\r\n}\r\n\r\n"]}
|
|
@@ -21,13 +21,14 @@ export declare namespace RenderMemory {
|
|
|
21
21
|
VisibleEdges = 1,
|
|
22
22
|
SilhouetteEdges = 2,
|
|
23
23
|
PolylineEdges = 3,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
IndexedEdges = 4,
|
|
25
|
+
Polylines = 5,
|
|
26
|
+
PointStrings = 6,
|
|
27
|
+
PointClouds = 7,
|
|
28
|
+
Instances = 8,
|
|
29
|
+
Terrain = 9,
|
|
30
|
+
RealityMesh = 10,
|
|
31
|
+
COUNT = 11
|
|
31
32
|
}
|
|
32
33
|
/** Describes memory consumed by GPU-allocated buffers.
|
|
33
34
|
* @internal
|
|
@@ -37,6 +38,7 @@ export declare namespace RenderMemory {
|
|
|
37
38
|
constructor();
|
|
38
39
|
get surfaces(): Consumers;
|
|
39
40
|
get visibleEdges(): Consumers;
|
|
41
|
+
get indexedEdges(): Consumers;
|
|
40
42
|
get silhouetteEdges(): Consumers;
|
|
41
43
|
get polylineEdges(): Consumers;
|
|
42
44
|
get polylines(): Consumers;
|
|
@@ -52,14 +54,15 @@ export declare namespace RenderMemory {
|
|
|
52
54
|
enum ConsumerType {
|
|
53
55
|
Textures = 0,
|
|
54
56
|
VertexTables = 1,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
EdgeTables = 2,
|
|
58
|
+
FeatureTables = 3,
|
|
59
|
+
FeatureOverrides = 4,
|
|
60
|
+
ClipVolumes = 5,
|
|
61
|
+
PlanarClassifiers = 6,
|
|
62
|
+
ShadowMaps = 7,
|
|
63
|
+
TextureAttachments = 8,
|
|
64
|
+
ThematicTextures = 9,
|
|
65
|
+
COUNT = 10
|
|
63
66
|
}
|
|
64
67
|
/** @internal */
|
|
65
68
|
class Statistics {
|
|
@@ -70,6 +73,7 @@ export declare namespace RenderMemory {
|
|
|
70
73
|
get totalBytes(): number;
|
|
71
74
|
get textures(): Consumers;
|
|
72
75
|
get vertexTables(): Consumers;
|
|
76
|
+
get edgeTables(): Consumers;
|
|
73
77
|
get featureTables(): Consumers;
|
|
74
78
|
get thematicTextures(): Consumers;
|
|
75
79
|
get featureOverrides(): Consumers;
|
|
@@ -82,6 +86,7 @@ export declare namespace RenderMemory {
|
|
|
82
86
|
clear(): void;
|
|
83
87
|
addTexture(numBytes: number): void;
|
|
84
88
|
addVertexTable(numBytes: number): void;
|
|
89
|
+
addEdgeTable(numBytes: number): void;
|
|
85
90
|
addFeatureTable(numBytes: number): void;
|
|
86
91
|
addThematicTexture(numBytes: number): void;
|
|
87
92
|
addFeatureOverrides(numBytes: number): void;
|
|
@@ -91,6 +96,7 @@ export declare namespace RenderMemory {
|
|
|
91
96
|
addTextureAttachment(numBytes: number): void;
|
|
92
97
|
addSurface(numBytes: number): void;
|
|
93
98
|
addVisibleEdges(numBytes: number): void;
|
|
99
|
+
addIndexedEdges(numBytes: number): void;
|
|
94
100
|
addSilhouetteEdges(numBytes: number): void;
|
|
95
101
|
addPolylineEdges(numBytes: number): void;
|
|
96
102
|
addPolyline(numBytes: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderMemory.d.ts","sourceRoot":"","sources":["../../../src/render/RenderMemory.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,yBAAiB,YAAY,CAAC;IAC5B;;OAEG;IACH,MAAa,SAAS;QACb,UAAU,SAAK;QACf,QAAQ,SAAK;QACb,KAAK,SAAK;QAEV,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;QAMnC,KAAK,IAAI,IAAI;KAGrB;IAED,gBAAgB;IAChB,KAAY,UAAU;QACpB,QAAQ,IAAI;QACZ,YAAY,IAAA;QACZ,eAAe,IAAA;QACf,aAAa,IAAA;QACb,SAAS,IAAA;QACT,YAAY,IAAA;QACZ,WAAW,IAAA;QACX,SAAS,IAAA;QACT,OAAO,IAAA;QACP,WAAW,
|
|
1
|
+
{"version":3,"file":"RenderMemory.d.ts","sourceRoot":"","sources":["../../../src/render/RenderMemory.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,13 +36,14 @@ export var RenderMemory;
|
|
|
36
36
|
BufferType[BufferType["VisibleEdges"] = 1] = "VisibleEdges";
|
|
37
37
|
BufferType[BufferType["SilhouetteEdges"] = 2] = "SilhouetteEdges";
|
|
38
38
|
BufferType[BufferType["PolylineEdges"] = 3] = "PolylineEdges";
|
|
39
|
-
BufferType[BufferType["
|
|
40
|
-
BufferType[BufferType["
|
|
41
|
-
BufferType[BufferType["
|
|
42
|
-
BufferType[BufferType["
|
|
43
|
-
BufferType[BufferType["
|
|
44
|
-
BufferType[BufferType["
|
|
45
|
-
BufferType[BufferType["
|
|
39
|
+
BufferType[BufferType["IndexedEdges"] = 4] = "IndexedEdges";
|
|
40
|
+
BufferType[BufferType["Polylines"] = 5] = "Polylines";
|
|
41
|
+
BufferType[BufferType["PointStrings"] = 6] = "PointStrings";
|
|
42
|
+
BufferType[BufferType["PointClouds"] = 7] = "PointClouds";
|
|
43
|
+
BufferType[BufferType["Instances"] = 8] = "Instances";
|
|
44
|
+
BufferType[BufferType["Terrain"] = 9] = "Terrain";
|
|
45
|
+
BufferType[BufferType["RealityMesh"] = 10] = "RealityMesh";
|
|
46
|
+
BufferType[BufferType["COUNT"] = 11] = "COUNT";
|
|
46
47
|
})(BufferType = RenderMemory.BufferType || (RenderMemory.BufferType = {}));
|
|
47
48
|
/** Describes memory consumed by GPU-allocated buffers.
|
|
48
49
|
* @internal
|
|
@@ -56,6 +57,7 @@ export var RenderMemory;
|
|
|
56
57
|
}
|
|
57
58
|
get surfaces() { return this.consumers[BufferType.Surfaces]; }
|
|
58
59
|
get visibleEdges() { return this.consumers[BufferType.VisibleEdges]; }
|
|
60
|
+
get indexedEdges() { return this.consumers[BufferType.IndexedEdges]; }
|
|
59
61
|
get silhouetteEdges() { return this.consumers[BufferType.SilhouetteEdges]; }
|
|
60
62
|
get polylineEdges() { return this.consumers[BufferType.PolylineEdges]; }
|
|
61
63
|
get polylines() { return this.consumers[BufferType.Polylines]; }
|
|
@@ -80,14 +82,15 @@ export var RenderMemory;
|
|
|
80
82
|
(function (ConsumerType) {
|
|
81
83
|
ConsumerType[ConsumerType["Textures"] = 0] = "Textures";
|
|
82
84
|
ConsumerType[ConsumerType["VertexTables"] = 1] = "VertexTables";
|
|
83
|
-
ConsumerType[ConsumerType["
|
|
84
|
-
ConsumerType[ConsumerType["
|
|
85
|
-
ConsumerType[ConsumerType["
|
|
86
|
-
ConsumerType[ConsumerType["
|
|
87
|
-
ConsumerType[ConsumerType["
|
|
88
|
-
ConsumerType[ConsumerType["
|
|
89
|
-
ConsumerType[ConsumerType["
|
|
90
|
-
ConsumerType[ConsumerType["
|
|
85
|
+
ConsumerType[ConsumerType["EdgeTables"] = 2] = "EdgeTables";
|
|
86
|
+
ConsumerType[ConsumerType["FeatureTables"] = 3] = "FeatureTables";
|
|
87
|
+
ConsumerType[ConsumerType["FeatureOverrides"] = 4] = "FeatureOverrides";
|
|
88
|
+
ConsumerType[ConsumerType["ClipVolumes"] = 5] = "ClipVolumes";
|
|
89
|
+
ConsumerType[ConsumerType["PlanarClassifiers"] = 6] = "PlanarClassifiers";
|
|
90
|
+
ConsumerType[ConsumerType["ShadowMaps"] = 7] = "ShadowMaps";
|
|
91
|
+
ConsumerType[ConsumerType["TextureAttachments"] = 8] = "TextureAttachments";
|
|
92
|
+
ConsumerType[ConsumerType["ThematicTextures"] = 9] = "ThematicTextures";
|
|
93
|
+
ConsumerType[ConsumerType["COUNT"] = 10] = "COUNT";
|
|
91
94
|
})(ConsumerType = RenderMemory.ConsumerType || (RenderMemory.ConsumerType = {}));
|
|
92
95
|
/** @internal */
|
|
93
96
|
class Statistics {
|
|
@@ -101,6 +104,7 @@ export var RenderMemory;
|
|
|
101
104
|
get totalBytes() { return this._totalBytes; }
|
|
102
105
|
get textures() { return this.consumers[ConsumerType.Textures]; }
|
|
103
106
|
get vertexTables() { return this.consumers[ConsumerType.VertexTables]; }
|
|
107
|
+
get edgeTables() { return this.consumers[ConsumerType.EdgeTables]; }
|
|
104
108
|
get featureTables() { return this.consumers[ConsumerType.FeatureTables]; }
|
|
105
109
|
get thematicTextures() { return this.consumers[ConsumerType.ThematicTextures]; }
|
|
106
110
|
get featureOverrides() { return this.consumers[ConsumerType.FeatureOverrides]; }
|
|
@@ -124,6 +128,7 @@ export var RenderMemory;
|
|
|
124
128
|
}
|
|
125
129
|
addTexture(numBytes) { this.addConsumer(ConsumerType.Textures, numBytes); }
|
|
126
130
|
addVertexTable(numBytes) { this.addConsumer(ConsumerType.VertexTables, numBytes); }
|
|
131
|
+
addEdgeTable(numBytes) { this.addConsumer(ConsumerType.EdgeTables, numBytes); }
|
|
127
132
|
addFeatureTable(numBytes) { this.addConsumer(ConsumerType.FeatureTables, numBytes); }
|
|
128
133
|
addThematicTexture(numBytes) { this.addConsumer(ConsumerType.ThematicTextures, numBytes); }
|
|
129
134
|
addFeatureOverrides(numBytes) { this.addConsumer(ConsumerType.FeatureOverrides, numBytes); }
|
|
@@ -133,6 +138,7 @@ export var RenderMemory;
|
|
|
133
138
|
addTextureAttachment(numBytes) { this.addConsumer(ConsumerType.TextureAttachments, numBytes); }
|
|
134
139
|
addSurface(numBytes) { this.addBuffer(BufferType.Surfaces, numBytes); }
|
|
135
140
|
addVisibleEdges(numBytes) { this.addBuffer(BufferType.VisibleEdges, numBytes); }
|
|
141
|
+
addIndexedEdges(numBytes) { this.addBuffer(BufferType.IndexedEdges, numBytes); }
|
|
136
142
|
addSilhouetteEdges(numBytes) { this.addBuffer(BufferType.SilhouetteEdges, numBytes); }
|
|
137
143
|
addPolylineEdges(numBytes) { this.addBuffer(BufferType.PolylineEdges, numBytes); }
|
|
138
144
|
addPolyline(numBytes) { this.addBuffer(BufferType.Polylines, numBytes); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderMemory.js","sourceRoot":"","sources":["../../../src/render/RenderMemory.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 Rendering\r\n */\r\n\r\n/** Contains metadata about memory consumed by the render system or aspect thereof.\r\n * @internal\r\n */\r\nexport namespace RenderMemory {\r\n /** Describes memory consumed by a particular type of resource.\r\n * @internal\r\n */\r\n export class Consumers {\r\n public totalBytes = 0; // total number of bytes consumed by all consumers\r\n public maxBytes = 0; // largest number of bytes consumed by a single consumer\r\n public count = 0; // total number of consumers of this type\r\n\r\n public addConsumer(numBytes: number): void {\r\n this.totalBytes += numBytes;\r\n this.maxBytes = Math.max(this.maxBytes, numBytes);\r\n ++this.count;\r\n }\r\n\r\n public clear(): void {\r\n this.totalBytes = this.maxBytes = this.count = 0;\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum BufferType {\r\n Surfaces = 0,\r\n VisibleEdges,\r\n SilhouetteEdges,\r\n PolylineEdges,\r\n Polylines,\r\n PointStrings,\r\n PointClouds,\r\n Instances,\r\n Terrain,\r\n RealityMesh,\r\n\r\n COUNT,\r\n }\r\n\r\n /** Describes memory consumed by GPU-allocated buffers.\r\n * @internal\r\n */\r\n export class Buffers extends Consumers {\r\n public readonly consumers: Consumers[];\r\n\r\n public constructor() {\r\n super();\r\n this.consumers = [];\r\n for (let i = 0; i < BufferType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n public get surfaces() { return this.consumers[BufferType.Surfaces]; }\r\n public get visibleEdges() { return this.consumers[BufferType.VisibleEdges]; }\r\n public get silhouetteEdges() { return this.consumers[BufferType.SilhouetteEdges]; }\r\n public get polylineEdges() { return this.consumers[BufferType.PolylineEdges]; }\r\n public get polylines() { return this.consumers[BufferType.Polylines]; }\r\n public get pointStrings() { return this.consumers[BufferType.PointStrings]; }\r\n public get pointClouds() { return this.consumers[BufferType.PointClouds]; }\r\n public get instances() { return this.consumers[BufferType.Instances]; }\r\n public get terrain() { return this.consumers[BufferType.Terrain]; }\r\n public get reality() { return this.consumers[BufferType.RealityMesh]; }\r\n\r\n public override clear(): void {\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n\r\n super.clear();\r\n }\r\n\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this.addConsumer(numBytes);\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum ConsumerType {\r\n Textures = 0,\r\n VertexTables,\r\n FeatureTables,\r\n FeatureOverrides,\r\n ClipVolumes,\r\n PlanarClassifiers,\r\n ShadowMaps,\r\n TextureAttachments,\r\n ThematicTextures,\r\n COUNT,\r\n }\r\n\r\n /** @internal */\r\n export class Statistics {\r\n private _totalBytes = 0;\r\n public readonly consumers: Consumers[];\r\n public readonly buffers = new Buffers();\r\n\r\n public constructor() {\r\n this.consumers = [];\r\n for (let i = 0; i < ConsumerType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n public get totalBytes(): number { return this._totalBytes; }\r\n public get textures() { return this.consumers[ConsumerType.Textures]; }\r\n public get vertexTables() { return this.consumers[ConsumerType.VertexTables]; }\r\n public get featureTables() { return this.consumers[ConsumerType.FeatureTables]; }\r\n public get thematicTextures() { return this.consumers[ConsumerType.ThematicTextures]; }\r\n public get featureOverrides() { return this.consumers[ConsumerType.FeatureOverrides]; }\r\n public get clipVolumes() { return this.consumers[ConsumerType.ClipVolumes]; }\r\n public get planarClassifiers() { return this.consumers[ConsumerType.PlanarClassifiers]; }\r\n public get shadowMaps() { return this.consumers[ConsumerType.ShadowMaps]; }\r\n public get textureAttachments() { return this.consumers[ConsumerType.TextureAttachments]; }\r\n\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.buffers.addBuffer(type, numBytes);\r\n }\r\n\r\n public addConsumer(type: ConsumerType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n\r\n public clear(): void {\r\n this._totalBytes = 0;\r\n this.buffers.clear();\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n }\r\n\r\n public addTexture(numBytes: number) { this.addConsumer(ConsumerType.Textures, numBytes); }\r\n public addVertexTable(numBytes: number) { this.addConsumer(ConsumerType.VertexTables, numBytes); }\r\n public addFeatureTable(numBytes: number) { this.addConsumer(ConsumerType.FeatureTables, numBytes); }\r\n public addThematicTexture(numBytes: number) { this.addConsumer(ConsumerType.ThematicTextures, numBytes); }\r\n public addFeatureOverrides(numBytes: number) { this.addConsumer(ConsumerType.FeatureOverrides, numBytes); }\r\n public addClipVolume(numBytes: number) { this.addConsumer(ConsumerType.ClipVolumes, numBytes); }\r\n public addPlanarClassifier(numBytes: number) { this.addConsumer(ConsumerType.PlanarClassifiers, numBytes); }\r\n public addShadowMap(numBytes: number) { this.addConsumer(ConsumerType.ShadowMaps, numBytes); }\r\n public addTextureAttachment(numBytes: number) { this.addConsumer(ConsumerType.TextureAttachments, numBytes); }\r\n\r\n public addSurface(numBytes: number) { this.addBuffer(BufferType.Surfaces, numBytes); }\r\n public addVisibleEdges(numBytes: number) { this.addBuffer(BufferType.VisibleEdges, numBytes); }\r\n public addSilhouetteEdges(numBytes: number) { this.addBuffer(BufferType.SilhouetteEdges, numBytes); }\r\n public addPolylineEdges(numBytes: number) { this.addBuffer(BufferType.PolylineEdges, numBytes); }\r\n public addPolyline(numBytes: number) { this.addBuffer(BufferType.Polylines, numBytes); }\r\n public addPointString(numBytes: number) { this.addBuffer(BufferType.PointStrings, numBytes); }\r\n public addPointCloud(numBytes: number) { this.addBuffer(BufferType.PointClouds, numBytes); }\r\n public addTerrain(numBytes: number) {\r\n this.addBuffer(BufferType.Terrain, numBytes);\r\n }\r\n public addRealityMesh(numBytes: number) {\r\n this.addBuffer(BufferType.RealityMesh, numBytes);\r\n }\r\n public addInstances(numBytes: number) { this.addBuffer(BufferType.Instances, numBytes); }\r\n }\r\n\r\n /** @internal */\r\n export interface Consumer {\r\n collectStatistics(stats: Statistics): void;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"RenderMemory.js","sourceRoot":"","sources":["../../../src/render/RenderMemory.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 Rendering\r\n */\r\n\r\n/** Contains metadata about memory consumed by the render system or aspect thereof.\r\n * @internal\r\n */\r\nexport namespace RenderMemory {\r\n /** Describes memory consumed by a particular type of resource.\r\n * @internal\r\n */\r\n export class Consumers {\r\n public totalBytes = 0; // total number of bytes consumed by all consumers\r\n public maxBytes = 0; // largest number of bytes consumed by a single consumer\r\n public count = 0; // total number of consumers of this type\r\n\r\n public addConsumer(numBytes: number): void {\r\n this.totalBytes += numBytes;\r\n this.maxBytes = Math.max(this.maxBytes, numBytes);\r\n ++this.count;\r\n }\r\n\r\n public clear(): void {\r\n this.totalBytes = this.maxBytes = this.count = 0;\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum BufferType {\r\n Surfaces = 0,\r\n VisibleEdges,\r\n SilhouetteEdges,\r\n PolylineEdges,\r\n IndexedEdges,\r\n Polylines,\r\n PointStrings,\r\n PointClouds,\r\n Instances,\r\n Terrain,\r\n RealityMesh,\r\n\r\n COUNT,\r\n }\r\n\r\n /** Describes memory consumed by GPU-allocated buffers.\r\n * @internal\r\n */\r\n export class Buffers extends Consumers {\r\n public readonly consumers: Consumers[];\r\n\r\n public constructor() {\r\n super();\r\n this.consumers = [];\r\n for (let i = 0; i < BufferType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n public get surfaces() { return this.consumers[BufferType.Surfaces]; }\r\n public get visibleEdges() { return this.consumers[BufferType.VisibleEdges]; }\r\n public get indexedEdges() { return this.consumers[BufferType.IndexedEdges]; }\r\n public get silhouetteEdges() { return this.consumers[BufferType.SilhouetteEdges]; }\r\n public get polylineEdges() { return this.consumers[BufferType.PolylineEdges]; }\r\n public get polylines() { return this.consumers[BufferType.Polylines]; }\r\n public get pointStrings() { return this.consumers[BufferType.PointStrings]; }\r\n public get pointClouds() { return this.consumers[BufferType.PointClouds]; }\r\n public get instances() { return this.consumers[BufferType.Instances]; }\r\n public get terrain() { return this.consumers[BufferType.Terrain]; }\r\n public get reality() { return this.consumers[BufferType.RealityMesh]; }\r\n\r\n public override clear(): void {\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n\r\n super.clear();\r\n }\r\n\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this.addConsumer(numBytes);\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum ConsumerType {\r\n Textures = 0,\r\n VertexTables,\r\n EdgeTables,\r\n FeatureTables,\r\n FeatureOverrides,\r\n ClipVolumes,\r\n PlanarClassifiers,\r\n ShadowMaps,\r\n TextureAttachments,\r\n ThematicTextures,\r\n COUNT,\r\n }\r\n\r\n /** @internal */\r\n export class Statistics {\r\n private _totalBytes = 0;\r\n public readonly consumers: Consumers[];\r\n public readonly buffers = new Buffers();\r\n\r\n public constructor() {\r\n this.consumers = [];\r\n for (let i = 0; i < ConsumerType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n public get totalBytes(): number { return this._totalBytes; }\r\n public get textures() { return this.consumers[ConsumerType.Textures]; }\r\n public get vertexTables() { return this.consumers[ConsumerType.VertexTables]; }\r\n public get edgeTables() { return this.consumers[ConsumerType.EdgeTables]; }\r\n public get featureTables() { return this.consumers[ConsumerType.FeatureTables]; }\r\n public get thematicTextures() { return this.consumers[ConsumerType.ThematicTextures]; }\r\n public get featureOverrides() { return this.consumers[ConsumerType.FeatureOverrides]; }\r\n public get clipVolumes() { return this.consumers[ConsumerType.ClipVolumes]; }\r\n public get planarClassifiers() { return this.consumers[ConsumerType.PlanarClassifiers]; }\r\n public get shadowMaps() { return this.consumers[ConsumerType.ShadowMaps]; }\r\n public get textureAttachments() { return this.consumers[ConsumerType.TextureAttachments]; }\r\n\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.buffers.addBuffer(type, numBytes);\r\n }\r\n\r\n public addConsumer(type: ConsumerType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n\r\n public clear(): void {\r\n this._totalBytes = 0;\r\n this.buffers.clear();\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n }\r\n\r\n public addTexture(numBytes: number) { this.addConsumer(ConsumerType.Textures, numBytes); }\r\n public addVertexTable(numBytes: number) { this.addConsumer(ConsumerType.VertexTables, numBytes); }\r\n public addEdgeTable(numBytes: number) { this.addConsumer(ConsumerType.EdgeTables, numBytes); }\r\n public addFeatureTable(numBytes: number) { this.addConsumer(ConsumerType.FeatureTables, numBytes); }\r\n public addThematicTexture(numBytes: number) { this.addConsumer(ConsumerType.ThematicTextures, numBytes); }\r\n public addFeatureOverrides(numBytes: number) { this.addConsumer(ConsumerType.FeatureOverrides, numBytes); }\r\n public addClipVolume(numBytes: number) { this.addConsumer(ConsumerType.ClipVolumes, numBytes); }\r\n public addPlanarClassifier(numBytes: number) { this.addConsumer(ConsumerType.PlanarClassifiers, numBytes); }\r\n public addShadowMap(numBytes: number) { this.addConsumer(ConsumerType.ShadowMaps, numBytes); }\r\n public addTextureAttachment(numBytes: number) { this.addConsumer(ConsumerType.TextureAttachments, numBytes); }\r\n\r\n public addSurface(numBytes: number) { this.addBuffer(BufferType.Surfaces, numBytes); }\r\n public addVisibleEdges(numBytes: number) { this.addBuffer(BufferType.VisibleEdges, numBytes); }\r\n public addIndexedEdges(numBytes: number) { this.addBuffer(BufferType.IndexedEdges, numBytes); }\r\n public addSilhouetteEdges(numBytes: number) { this.addBuffer(BufferType.SilhouetteEdges, numBytes); }\r\n public addPolylineEdges(numBytes: number) { this.addBuffer(BufferType.PolylineEdges, numBytes); }\r\n public addPolyline(numBytes: number) { this.addBuffer(BufferType.Polylines, numBytes); }\r\n public addPointString(numBytes: number) { this.addBuffer(BufferType.PointStrings, numBytes); }\r\n public addPointCloud(numBytes: number) { this.addBuffer(BufferType.PointClouds, numBytes); }\r\n public addTerrain(numBytes: number) {\r\n this.addBuffer(BufferType.Terrain, numBytes);\r\n }\r\n public addRealityMesh(numBytes: number) {\r\n this.addBuffer(BufferType.RealityMesh, numBytes);\r\n }\r\n public addInstances(numBytes: number) { this.addBuffer(BufferType.Instances, numBytes); }\r\n }\r\n\r\n /** @internal */\r\n export interface Consumer {\r\n collectStatistics(stats: Statistics): void;\r\n }\r\n}\r\n"]}
|
|
@@ -214,6 +214,8 @@ export declare abstract class RenderSystem implements IDisposable {
|
|
|
214
214
|
/** @internal */
|
|
215
215
|
get supportsInstancing(): boolean;
|
|
216
216
|
/** @internal */
|
|
217
|
+
get supportsIndexedEdges(): boolean;
|
|
218
|
+
/** @internal */
|
|
217
219
|
get supportsNonuniformScaledInstancing(): boolean;
|
|
218
220
|
/** @internal */
|
|
219
221
|
get dpiAwareLOD(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderSystem.d.ts","sourceRoot":"","sources":["../../../src/render/RenderSystem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RenderSystem.d.ts","sourceRoot":"","sources":["../../../src/render/RenderSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,6 +106,8 @@ export class RenderSystem {
|
|
|
106
106
|
/** @internal */
|
|
107
107
|
get supportsInstancing() { return true; }
|
|
108
108
|
/** @internal */
|
|
109
|
+
get supportsIndexedEdges() { return true; }
|
|
110
|
+
/** @internal */
|
|
109
111
|
get supportsNonuniformScaledInstancing() { return true; }
|
|
110
112
|
/** @internal */
|
|
111
113
|
get dpiAwareLOD() { return true === this.options.dpiAwareLOD; }
|