@itwin/core-backend 4.0.0-dev.7 → 4.0.0-dev.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +89 -67
- package/lib/cjs/BackendHubAccess.d.ts +224 -224
- package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
- package/lib/cjs/BackendHubAccess.js +41 -41
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.d.ts +90 -91
- package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js +98 -99
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.d.ts +21 -21
- package/lib/cjs/BisCoreSchema.js +60 -60
- package/lib/cjs/BriefcaseManager.d.ts +170 -170
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
- package/lib/cjs/BriefcaseManager.js +408 -414
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/Category.d.ts +153 -153
- package/lib/cjs/Category.js +243 -243
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
- package/lib/cjs/ChangeSummaryManager.js +444 -445
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.d.ts +99 -99
- package/lib/cjs/ChangedElementsDb.js +165 -165
- package/lib/cjs/ChangedElementsManager.d.ts +39 -39
- package/lib/cjs/ChangedElementsManager.js +88 -88
- package/lib/cjs/ChannelControl.d.ts +70 -0
- package/lib/cjs/ChannelControl.d.ts.map +1 -0
- package/lib/cjs/ChannelControl.js +89 -0
- package/lib/cjs/ChannelControl.js.map +1 -0
- package/lib/cjs/CheckpointManager.d.ts +121 -121
- package/lib/cjs/CheckpointManager.d.ts.map +1 -1
- package/lib/cjs/CheckpointManager.js +351 -349
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.d.ts +79 -79
- package/lib/cjs/ClassRegistry.js +249 -245
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.d.ts +355 -350
- package/lib/cjs/CloudSqlite.d.ts.map +1 -1
- package/lib/cjs/CloudSqlite.js +154 -153
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.d.ts +396 -396
- package/lib/cjs/CodeService.d.ts.map +1 -1
- package/lib/cjs/CodeService.js +63 -63
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.d.ts +55 -55
- package/lib/cjs/CodeSpecs.js +124 -124
- package/lib/cjs/ConcurrentQuery.d.ts +13 -13
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
- package/lib/cjs/ConcurrentQuery.js +36 -36
- package/lib/cjs/CustomViewState3dCreator.d.ts +21 -21
- package/lib/cjs/CustomViewState3dCreator.d.ts.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js +82 -81
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.d.ts +74 -71
- package/lib/cjs/DevTools.d.ts.map +1 -1
- package/lib/cjs/DevTools.js +156 -154
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.d.ts +106 -106
- package/lib/cjs/DisplayStyle.js +253 -256
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.d.ts +194 -191
- package/lib/cjs/ECDb.d.ts.map +1 -1
- package/lib/cjs/ECDb.js +353 -350
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
- package/lib/cjs/ECSchemaXmlContext.d.ts.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.js +41 -41
- package/lib/cjs/ECSqlStatement.d.ts +473 -473
- package/lib/cjs/ECSqlStatement.js +791 -791
- package/lib/cjs/Element.d.ts +1113 -1109
- package/lib/cjs/Element.d.ts.map +1 -1
- package/lib/cjs/Element.js +1424 -1427
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.d.ts +176 -179
- package/lib/cjs/ElementAspect.d.ts.map +1 -1
- package/lib/cjs/ElementAspect.js +203 -211
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementGraphics.d.ts +9 -9
- package/lib/cjs/ElementGraphics.js +41 -41
- package/lib/cjs/ElementGraphics.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.d.ts +162 -162
- package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
- package/lib/cjs/ElementTreeWalker.js +409 -409
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.d.ts +106 -106
- package/lib/cjs/Entity.d.ts.map +1 -1
- package/lib/cjs/Entity.js +134 -134
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/EntityReferences.d.ts +49 -49
- package/lib/cjs/EntityReferences.d.ts.map +1 -1
- package/lib/cjs/EntityReferences.js +95 -95
- package/lib/cjs/ExportGraphics.d.ts +317 -317
- package/lib/cjs/ExportGraphics.d.ts.map +1 -1
- package/lib/cjs/ExportGraphics.js +208 -208
- package/lib/cjs/ExternalSource.d.ts +96 -96
- package/lib/cjs/ExternalSource.js +131 -131
- package/lib/cjs/ExternalSource.js.map +1 -1
- package/lib/cjs/GeoCoordConfig.d.ts +19 -19
- package/lib/cjs/GeoCoordConfig.js +85 -85
- package/lib/cjs/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/GeometrySummary.d.ts +4 -4
- package/lib/cjs/GeometrySummary.js +333 -333
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/HubMock.d.ts +94 -94
- package/lib/cjs/HubMock.js +220 -222
- package/lib/cjs/HubMock.js.map +1 -1
- package/lib/cjs/IModelCloneContext.d.ts +8 -8
- package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
- package/lib/cjs/IModelCloneContext.js +15 -15
- package/lib/cjs/IModelDb.d.ts +1216 -1196
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +2387 -2392
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.d.ts +89 -89
- package/lib/cjs/IModelElementCloneContext.js +159 -159
- package/lib/cjs/IModelHost.d.ts +355 -369
- package/lib/cjs/IModelHost.d.ts.map +1 -1
- package/lib/cjs/IModelHost.js +472 -496
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelJsFs.d.ts +62 -62
- package/lib/cjs/IModelJsFs.js +139 -140
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/IpcHost.d.ts +104 -104
- package/lib/cjs/IpcHost.js +276 -278
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.d.ts +311 -311
- package/lib/cjs/LineStyle.js +295 -295
- package/lib/cjs/LocalHub.d.ts +162 -162
- package/lib/cjs/LocalHub.d.ts.map +1 -1
- package/lib/cjs/LocalHub.js +579 -584
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.d.ts +20 -20
- package/lib/cjs/LocalhostIpcHost.js +79 -81
- package/lib/cjs/LocalhostIpcHost.js.map +1 -1
- package/lib/cjs/Material.d.ts +131 -131
- package/lib/cjs/Material.js +180 -181
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.d.ts +392 -392
- package/lib/cjs/Model.d.ts.map +1 -1
- package/lib/cjs/Model.js +489 -485
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeAppStorage.d.ts +51 -51
- package/lib/cjs/NativeAppStorage.js +202 -202
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.d.ts +52 -52
- package/lib/cjs/NativeHost.js +160 -163
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.d.ts +156 -156
- package/lib/cjs/NavigationRelationship.js +225 -225
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.d.ts +51 -51
- package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
- package/lib/cjs/PromiseMemoizer.js +101 -101
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.d.ts +132 -132
- package/lib/cjs/PropertyStore.js +11 -11
- package/lib/cjs/Relationship.d.ts +416 -416
- package/lib/cjs/Relationship.js +494 -494
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.d.ts +5 -5
- package/lib/cjs/RpcBackend.js +32 -32
- package/lib/cjs/SQLiteDb.d.ts +219 -219
- package/lib/cjs/SQLiteDb.js +212 -214
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.d.ts +55 -55
- package/lib/cjs/Schema.js +83 -83
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/ServerBasedLocks.d.ts +57 -57
- package/lib/cjs/ServerBasedLocks.js +168 -168
- package/lib/cjs/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/SqliteStatement.d.ts +360 -360
- package/lib/cjs/SqliteStatement.d.ts.map +1 -1
- package/lib/cjs/SqliteStatement.js +586 -586
- package/lib/cjs/Texture.d.ts +58 -58
- package/lib/cjs/Texture.js +82 -82
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.d.ts +44 -18
- package/lib/cjs/TileStorage.d.ts.map +1 -1
- package/lib/cjs/TileStorage.js +109 -90
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +202 -202
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +356 -356
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.d.ts +435 -439
- package/lib/cjs/ViewDefinition.d.ts.map +1 -1
- package/lib/cjs/ViewDefinition.js +646 -646
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.d.ts +13 -13
- package/lib/cjs/ViewStateHydrator.js +103 -103
- package/lib/cjs/core-backend.d.ts +184 -184
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +208 -204
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
- package/lib/cjs/domains/FunctionalElements.js +145 -145
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
- package/lib/cjs/domains/FunctionalSchema.d.ts.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js +39 -40
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.d.ts +177 -177
- package/lib/cjs/domains/GenericElements.js +263 -263
- package/lib/cjs/domains/GenericSchema.d.ts +10 -10
- package/lib/cjs/domains/GenericSchema.js +28 -28
- package/lib/cjs/rpc/multipart.d.ts +11 -11
- package/lib/cjs/rpc/multipart.js +71 -71
- package/lib/cjs/rpc/tracing.d.ts +28 -28
- package/lib/cjs/rpc/tracing.js +73 -74
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.d.ts +9 -9
- package/lib/cjs/rpc/web/logging.js +43 -43
- package/lib/cjs/rpc/web/request.d.ts +6 -6
- package/lib/cjs/rpc/web/request.js +73 -74
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.d.ts +6 -6
- package/lib/cjs/rpc/web/response.js +105 -106
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +47 -47
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +293 -294
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +20 -22
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +187 -205
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +166 -168
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +42 -43
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
- package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
- package/lib/cjs/workspace/Settings.d.ts +186 -186
- package/lib/cjs/workspace/Settings.d.ts.map +1 -1
- package/lib/cjs/workspace/Settings.js +154 -155
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
- package/lib/cjs/workspace/SettingsSchemas.js +190 -191
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.d.ts +414 -414
- package/lib/cjs/workspace/Workspace.js +537 -543
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/package.json +21 -21
- package/lib/cjs/AliCloudStorageService.d.ts +0 -24
- package/lib/cjs/AliCloudStorageService.d.ts.map +0 -1
- package/lib/cjs/AliCloudStorageService.js +0 -72
- package/lib/cjs/AliCloudStorageService.js.map +0 -1
- package/lib/cjs/CloudStorageBackend.d.ts +0 -59
- package/lib/cjs/CloudStorageBackend.d.ts.map +0 -1
- package/lib/cjs/CloudStorageBackend.js +0 -174
- package/lib/cjs/CloudStorageBackend.js.map +0 -1
package/lib/cjs/Texture.d.ts
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Elements
|
|
3
|
-
*/
|
|
4
|
-
import { Id64String } from "@itwin/core-bentley";
|
|
5
|
-
import { Base64EncodedString, Code, CodeScopeProps, ImageSourceFormat, TextureProps } from "@itwin/core-common";
|
|
6
|
-
import { DefinitionElement } from "./Element";
|
|
7
|
-
import { IModelDb } from "./IModelDb";
|
|
8
|
-
/** A [TextureProps]($common) in which the image data can be specified either as a base-64-encoded string or a Uint8Array.
|
|
9
|
-
* @see [[Texture]] constructor.
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export interface TextureCreateProps extends Omit<TextureProps, "data"> {
|
|
13
|
-
data: Base64EncodedString | Uint8Array;
|
|
14
|
-
}
|
|
15
|
-
/** Defines a rendering texture that is associated with a Material and applied to surface geometry.
|
|
16
|
-
* @public
|
|
17
|
-
*/
|
|
18
|
-
export declare class Texture extends DefinitionElement {
|
|
19
|
-
/** @internal */
|
|
20
|
-
static get className(): string;
|
|
21
|
-
format: ImageSourceFormat;
|
|
22
|
-
data: Uint8Array;
|
|
23
|
-
description?: string;
|
|
24
|
-
/** @internal */
|
|
25
|
-
constructor(props: TextureCreateProps, iModel: IModelDb);
|
|
26
|
-
/** @internal */
|
|
27
|
-
toJSON(): TextureProps;
|
|
28
|
-
/** Create a Code for a Texture given a name that is meant to be unique within the scope of the specified DefinitionModel.
|
|
29
|
-
* @param iModel The IModelDb
|
|
30
|
-
* @param scopeModelId The Id of the DefinitionModel that contains the Texture and provides the scope for its name.
|
|
31
|
-
* @param name The Texture name
|
|
32
|
-
*/
|
|
33
|
-
static createCode(iModel: IModelDb, scopeModelId: CodeScopeProps, name: string): Code;
|
|
34
|
-
/** Create a texture with the given parameters.
|
|
35
|
-
* @param iModelDb The iModel to contain the texture.
|
|
36
|
-
* @param definitionModelId The [[DefinitionModel]] to contain the texture.
|
|
37
|
-
* @param name The name to serve as the texture's [Code]($common) value.
|
|
38
|
-
* @param format The format of the image data.
|
|
39
|
-
* @param data The image data in the format specified by `format`.
|
|
40
|
-
* @param description An optional description of the texture
|
|
41
|
-
* @returns The newly constructed Texture element.
|
|
42
|
-
* @throws [[IModelError]] if unable to create the element.
|
|
43
|
-
* @see [[insertTexture]] to insert a new texture into the iModel.
|
|
44
|
-
*/
|
|
45
|
-
static createTexture(iModelDb: IModelDb, definitionModelId: Id64String, name: string, format: ImageSourceFormat, data: Uint8Array | Base64EncodedString, description?: string): Texture;
|
|
46
|
-
/** Insert a new texture into a [[DefinitionModel]].
|
|
47
|
-
* @param iModelDb The iModel to contain the texture.
|
|
48
|
-
* @param definitionModelId The [[DefinitionModel]] to contain the texture.
|
|
49
|
-
* @param name The name to serve as the texture's [Code]($common) value.
|
|
50
|
-
* @param format The format of the image data.
|
|
51
|
-
* @param data The image data in the format specified by `format`.
|
|
52
|
-
* @param description An optional description of the texture
|
|
53
|
-
* @returns The Id of the newly-inserted texture element.
|
|
54
|
-
* @throws [[IModelError]] if unable to insert the element.
|
|
55
|
-
* @see [[insertTexture]] to insert a new texture into the iModel.
|
|
56
|
-
*/
|
|
57
|
-
static insertTexture(iModelDb: IModelDb, definitionModelId: Id64String, name: string, format: ImageSourceFormat, data: Uint8Array | Base64EncodedString, description?: string): Id64String;
|
|
58
|
-
}
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Elements
|
|
3
|
+
*/
|
|
4
|
+
import { Id64String } from "@itwin/core-bentley";
|
|
5
|
+
import { Base64EncodedString, Code, CodeScopeProps, ImageSourceFormat, TextureProps } from "@itwin/core-common";
|
|
6
|
+
import { DefinitionElement } from "./Element";
|
|
7
|
+
import { IModelDb } from "./IModelDb";
|
|
8
|
+
/** A [TextureProps]($common) in which the image data can be specified either as a base-64-encoded string or a Uint8Array.
|
|
9
|
+
* @see [[Texture]] constructor.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export interface TextureCreateProps extends Omit<TextureProps, "data"> {
|
|
13
|
+
data: Base64EncodedString | Uint8Array;
|
|
14
|
+
}
|
|
15
|
+
/** Defines a rendering texture that is associated with a Material and applied to surface geometry.
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export declare class Texture extends DefinitionElement {
|
|
19
|
+
/** @internal */
|
|
20
|
+
static get className(): string;
|
|
21
|
+
format: ImageSourceFormat;
|
|
22
|
+
data: Uint8Array;
|
|
23
|
+
description?: string;
|
|
24
|
+
/** @internal */
|
|
25
|
+
constructor(props: TextureCreateProps, iModel: IModelDb);
|
|
26
|
+
/** @internal */
|
|
27
|
+
toJSON(): TextureProps;
|
|
28
|
+
/** Create a Code for a Texture given a name that is meant to be unique within the scope of the specified DefinitionModel.
|
|
29
|
+
* @param iModel The IModelDb
|
|
30
|
+
* @param scopeModelId The Id of the DefinitionModel that contains the Texture and provides the scope for its name.
|
|
31
|
+
* @param name The Texture name
|
|
32
|
+
*/
|
|
33
|
+
static createCode(iModel: IModelDb, scopeModelId: CodeScopeProps, name: string): Code;
|
|
34
|
+
/** Create a texture with the given parameters.
|
|
35
|
+
* @param iModelDb The iModel to contain the texture.
|
|
36
|
+
* @param definitionModelId The [[DefinitionModel]] to contain the texture.
|
|
37
|
+
* @param name The name to serve as the texture's [Code]($common) value.
|
|
38
|
+
* @param format The format of the image data.
|
|
39
|
+
* @param data The image data in the format specified by `format`.
|
|
40
|
+
* @param description An optional description of the texture
|
|
41
|
+
* @returns The newly constructed Texture element.
|
|
42
|
+
* @throws [[IModelError]] if unable to create the element.
|
|
43
|
+
* @see [[insertTexture]] to insert a new texture into the iModel.
|
|
44
|
+
*/
|
|
45
|
+
static createTexture(iModelDb: IModelDb, definitionModelId: Id64String, name: string, format: ImageSourceFormat, data: Uint8Array | Base64EncodedString, description?: string): Texture;
|
|
46
|
+
/** Insert a new texture into a [[DefinitionModel]].
|
|
47
|
+
* @param iModelDb The iModel to contain the texture.
|
|
48
|
+
* @param definitionModelId The [[DefinitionModel]] to contain the texture.
|
|
49
|
+
* @param name The name to serve as the texture's [Code]($common) value.
|
|
50
|
+
* @param format The format of the image data.
|
|
51
|
+
* @param data The image data in the format specified by `format`.
|
|
52
|
+
* @param description An optional description of the texture
|
|
53
|
+
* @returns The Id of the newly-inserted texture element.
|
|
54
|
+
* @throws [[IModelError]] if unable to insert the element.
|
|
55
|
+
* @see [[insertTexture]] to insert a new texture into the iModel.
|
|
56
|
+
*/
|
|
57
|
+
static insertTexture(iModelDb: IModelDb, definitionModelId: Id64String, name: string, format: ImageSourceFormat, data: Uint8Array | Base64EncodedString, description?: string): Id64String;
|
|
58
|
+
}
|
|
59
59
|
//# sourceMappingURL=Texture.d.ts.map
|
package/lib/cjs/Texture.js
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
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 Elements
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.Texture = void 0;
|
|
11
|
-
const core_common_1 = require("@itwin/core-common");
|
|
12
|
-
const Element_1 = require("./Element");
|
|
13
|
-
/** Defines a rendering texture that is associated with a Material and applied to surface geometry.
|
|
14
|
-
* @public
|
|
15
|
-
*/
|
|
16
|
-
class Texture extends Element_1.DefinitionElement {
|
|
17
|
-
/** @internal */
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
this.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/** @internal */
|
|
27
|
-
toJSON() {
|
|
28
|
-
const val = super.toJSON();
|
|
29
|
-
val.format = this.format;
|
|
30
|
-
val.data = core_common_1.Base64EncodedString.fromUint8Array(this.data);
|
|
31
|
-
val.description = this.description;
|
|
32
|
-
return val;
|
|
33
|
-
}
|
|
34
|
-
/** Create a Code for a Texture given a name that is meant to be unique within the scope of the specified DefinitionModel.
|
|
35
|
-
* @param iModel The IModelDb
|
|
36
|
-
* @param scopeModelId The Id of the DefinitionModel that contains the Texture and provides the scope for its name.
|
|
37
|
-
* @param name The Texture name
|
|
38
|
-
*/
|
|
39
|
-
static createCode(iModel, scopeModelId, name) {
|
|
40
|
-
const codeSpec = iModel.codeSpecs.getByName(core_common_1.BisCodeSpec.texture);
|
|
41
|
-
return 0 === name.length ? core_common_1.Code.createEmpty() : new core_common_1.Code({ spec: codeSpec.id, scope: scopeModelId, value: name });
|
|
42
|
-
}
|
|
43
|
-
/** Create a texture with the given parameters.
|
|
44
|
-
* @param iModelDb The iModel to contain the texture.
|
|
45
|
-
* @param definitionModelId The [[DefinitionModel]] to contain the texture.
|
|
46
|
-
* @param name The name to serve as the texture's [Code]($common) value.
|
|
47
|
-
* @param format The format of the image data.
|
|
48
|
-
* @param data The image data in the format specified by `format`.
|
|
49
|
-
* @param description An optional description of the texture
|
|
50
|
-
* @returns The newly constructed Texture element.
|
|
51
|
-
* @throws [[IModelError]] if unable to create the element.
|
|
52
|
-
* @see [[insertTexture]] to insert a new texture into the iModel.
|
|
53
|
-
*/
|
|
54
|
-
static createTexture(iModelDb, definitionModelId, name, format, data, description) {
|
|
55
|
-
const textureProps = {
|
|
56
|
-
classFullName: this.classFullName,
|
|
57
|
-
code: this.createCode(iModelDb, definitionModelId, name),
|
|
58
|
-
format,
|
|
59
|
-
data,
|
|
60
|
-
description,
|
|
61
|
-
model: definitionModelId,
|
|
62
|
-
isPrivate: false,
|
|
63
|
-
};
|
|
64
|
-
return new Texture(textureProps, iModelDb);
|
|
65
|
-
}
|
|
66
|
-
/** Insert a new texture into a [[DefinitionModel]].
|
|
67
|
-
* @param iModelDb The iModel to contain the texture.
|
|
68
|
-
* @param definitionModelId The [[DefinitionModel]] to contain the texture.
|
|
69
|
-
* @param name The name to serve as the texture's [Code]($common) value.
|
|
70
|
-
* @param format The format of the image data.
|
|
71
|
-
* @param data The image data in the format specified by `format`.
|
|
72
|
-
* @param description An optional description of the texture
|
|
73
|
-
* @returns The Id of the newly-inserted texture element.
|
|
74
|
-
* @throws [[IModelError]] if unable to insert the element.
|
|
75
|
-
* @see [[insertTexture]] to insert a new texture into the iModel.
|
|
76
|
-
*/
|
|
77
|
-
static insertTexture(iModelDb, definitionModelId, name, format, data, description) {
|
|
78
|
-
const texture = this.createTexture(iModelDb, definitionModelId, name, format, data, description);
|
|
79
|
-
return iModelDb.elements.insertElement(texture.toJSON());
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.Texture = Texture;
|
|
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 Elements
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.Texture = void 0;
|
|
11
|
+
const core_common_1 = require("@itwin/core-common");
|
|
12
|
+
const Element_1 = require("./Element");
|
|
13
|
+
/** Defines a rendering texture that is associated with a Material and applied to surface geometry.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
class Texture extends Element_1.DefinitionElement {
|
|
17
|
+
/** @internal */
|
|
18
|
+
static get className() { return "Texture"; }
|
|
19
|
+
/** @internal */
|
|
20
|
+
constructor(props, iModel) {
|
|
21
|
+
super(props, iModel);
|
|
22
|
+
this.format = props.format;
|
|
23
|
+
this.data = typeof props.data === "string" ? core_common_1.Base64EncodedString.toUint8Array(props.data) : props.data;
|
|
24
|
+
this.description = props.description;
|
|
25
|
+
}
|
|
26
|
+
/** @internal */
|
|
27
|
+
toJSON() {
|
|
28
|
+
const val = super.toJSON();
|
|
29
|
+
val.format = this.format;
|
|
30
|
+
val.data = core_common_1.Base64EncodedString.fromUint8Array(this.data);
|
|
31
|
+
val.description = this.description;
|
|
32
|
+
return val;
|
|
33
|
+
}
|
|
34
|
+
/** Create a Code for a Texture given a name that is meant to be unique within the scope of the specified DefinitionModel.
|
|
35
|
+
* @param iModel The IModelDb
|
|
36
|
+
* @param scopeModelId The Id of the DefinitionModel that contains the Texture and provides the scope for its name.
|
|
37
|
+
* @param name The Texture name
|
|
38
|
+
*/
|
|
39
|
+
static createCode(iModel, scopeModelId, name) {
|
|
40
|
+
const codeSpec = iModel.codeSpecs.getByName(core_common_1.BisCodeSpec.texture);
|
|
41
|
+
return 0 === name.length ? core_common_1.Code.createEmpty() : new core_common_1.Code({ spec: codeSpec.id, scope: scopeModelId, value: name });
|
|
42
|
+
}
|
|
43
|
+
/** Create a texture with the given parameters.
|
|
44
|
+
* @param iModelDb The iModel to contain the texture.
|
|
45
|
+
* @param definitionModelId The [[DefinitionModel]] to contain the texture.
|
|
46
|
+
* @param name The name to serve as the texture's [Code]($common) value.
|
|
47
|
+
* @param format The format of the image data.
|
|
48
|
+
* @param data The image data in the format specified by `format`.
|
|
49
|
+
* @param description An optional description of the texture
|
|
50
|
+
* @returns The newly constructed Texture element.
|
|
51
|
+
* @throws [[IModelError]] if unable to create the element.
|
|
52
|
+
* @see [[insertTexture]] to insert a new texture into the iModel.
|
|
53
|
+
*/
|
|
54
|
+
static createTexture(iModelDb, definitionModelId, name, format, data, description) {
|
|
55
|
+
const textureProps = {
|
|
56
|
+
classFullName: this.classFullName,
|
|
57
|
+
code: this.createCode(iModelDb, definitionModelId, name),
|
|
58
|
+
format,
|
|
59
|
+
data,
|
|
60
|
+
description,
|
|
61
|
+
model: definitionModelId,
|
|
62
|
+
isPrivate: false,
|
|
63
|
+
};
|
|
64
|
+
return new Texture(textureProps, iModelDb);
|
|
65
|
+
}
|
|
66
|
+
/** Insert a new texture into a [[DefinitionModel]].
|
|
67
|
+
* @param iModelDb The iModel to contain the texture.
|
|
68
|
+
* @param definitionModelId The [[DefinitionModel]] to contain the texture.
|
|
69
|
+
* @param name The name to serve as the texture's [Code]($common) value.
|
|
70
|
+
* @param format The format of the image data.
|
|
71
|
+
* @param data The image data in the format specified by `format`.
|
|
72
|
+
* @param description An optional description of the texture
|
|
73
|
+
* @returns The Id of the newly-inserted texture element.
|
|
74
|
+
* @throws [[IModelError]] if unable to insert the element.
|
|
75
|
+
* @see [[insertTexture]] to insert a new texture into the iModel.
|
|
76
|
+
*/
|
|
77
|
+
static insertTexture(iModelDb, definitionModelId, name, format, data, description) {
|
|
78
|
+
const texture = this.createTexture(iModelDb, definitionModelId, name, format, data, description);
|
|
79
|
+
return iModelDb.elements.insertElement(texture.toJSON());
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.Texture = Texture;
|
|
83
83
|
//# sourceMappingURL=Texture.js.map
|
package/lib/cjs/Texture.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../src/Texture.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,oDAE4B;AAC5B,uCAA8C;AAW9C;;GAEG;AACH,MAAa,OAAQ,SAAQ,2BAAiB;
|
|
1
|
+
{"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../src/Texture.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,oDAE4B;AAC5B,uCAA8C;AAW9C;;GAEG;AACH,MAAa,OAAQ,SAAQ,2BAAiB;IAC5C,gBAAgB;IACT,MAAM,KAAc,SAAS,KAAa,OAAO,SAAS,CAAC,CAAC,CAAC;IAKpE,gBAAgB;IAChB,YAAY,KAAyB,EAAE,MAAgB;QACrD,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,iCAAmB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACvG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACvC,CAAC;IAED,gBAAgB;IACA,MAAM;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAkB,CAAC;QAC3C,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,GAAG,CAAC,IAAI,GAAG,iCAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAC,MAAgB,EAAE,YAA4B,EAAE,IAAY;QACnF,MAAM,QAAQ,GAAa,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,CAAC;QAC3E,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,kBAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpH,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,aAAa,CAAC,QAAkB,EAAE,iBAA6B,EAAE,IAAY,EAAE,MAAyB,EAAE,IAAsC,EAAE,WAAoB;QAClL,MAAM,YAAY,GAAuB;YACvC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC;YACxD,MAAM;YACN,IAAI;YACJ,WAAW;YACX,KAAK,EAAE,iBAAiB;YACxB,SAAS,EAAE,KAAK;SACjB,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,aAAa,CAAC,QAAkB,EAAE,iBAA6B,EAAE,IAAY,EAAE,MAAyB,EAAE,IAAsC,EAAE,WAAoB;QAClL,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACjG,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;CACF;AA1ED,0BA0EC","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 Elements\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n Base64EncodedString, BisCodeSpec, Code, CodeScopeProps, CodeSpec, ImageSourceFormat, TextureProps,\r\n} from \"@itwin/core-common\";\r\nimport { DefinitionElement } from \"./Element\";\r\nimport { IModelDb } from \"./IModelDb\";\r\n\r\n/** A [TextureProps]($common) in which the image data can be specified either as a base-64-encoded string or a Uint8Array.\r\n * @see [[Texture]] constructor.\r\n * @internal\r\n */\r\nexport interface TextureCreateProps extends Omit<TextureProps, \"data\"> {\r\n data: Base64EncodedString | Uint8Array;\r\n}\r\n\r\n/** Defines a rendering texture that is associated with a Material and applied to surface geometry.\r\n * @public\r\n */\r\nexport class Texture extends DefinitionElement {\r\n /** @internal */\r\n public static override get className(): string { return \"Texture\"; }\r\n public format: ImageSourceFormat;\r\n public data: Uint8Array;\r\n public description?: string;\r\n\r\n /** @internal */\r\n constructor(props: TextureCreateProps, iModel: IModelDb) {\r\n super(props, iModel);\r\n this.format = props.format;\r\n this.data = typeof props.data === \"string\" ? Base64EncodedString.toUint8Array(props.data) : props.data;\r\n this.description = props.description;\r\n }\r\n\r\n /** @internal */\r\n public override toJSON(): TextureProps {\r\n const val = super.toJSON() as TextureProps;\r\n val.format = this.format;\r\n val.data = Base64EncodedString.fromUint8Array(this.data);\r\n val.description = this.description;\r\n return val;\r\n }\r\n\r\n /** Create a Code for a Texture given a name that is meant to be unique within the scope of the specified DefinitionModel.\r\n * @param iModel The IModelDb\r\n * @param scopeModelId The Id of the DefinitionModel that contains the Texture and provides the scope for its name.\r\n * @param name The Texture name\r\n */\r\n public static createCode(iModel: IModelDb, scopeModelId: CodeScopeProps, name: string): Code {\r\n const codeSpec: CodeSpec = iModel.codeSpecs.getByName(BisCodeSpec.texture);\r\n return 0 === name.length ? Code.createEmpty() : new Code({ spec: codeSpec.id, scope: scopeModelId, value: name });\r\n }\r\n\r\n /** Create a texture with the given parameters.\r\n * @param iModelDb The iModel to contain the texture.\r\n * @param definitionModelId The [[DefinitionModel]] to contain the texture.\r\n * @param name The name to serve as the texture's [Code]($common) value.\r\n * @param format The format of the image data.\r\n * @param data The image data in the format specified by `format`.\r\n * @param description An optional description of the texture\r\n * @returns The newly constructed Texture element.\r\n * @throws [[IModelError]] if unable to create the element.\r\n * @see [[insertTexture]] to insert a new texture into the iModel.\r\n */\r\n public static createTexture(iModelDb: IModelDb, definitionModelId: Id64String, name: string, format: ImageSourceFormat, data: Uint8Array | Base64EncodedString, description?: string): Texture {\r\n const textureProps: TextureCreateProps = {\r\n classFullName: this.classFullName,\r\n code: this.createCode(iModelDb, definitionModelId, name),\r\n format,\r\n data,\r\n description,\r\n model: definitionModelId,\r\n isPrivate: false,\r\n };\r\n\r\n return new Texture(textureProps, iModelDb);\r\n }\r\n\r\n /** Insert a new texture into a [[DefinitionModel]].\r\n * @param iModelDb The iModel to contain the texture.\r\n * @param definitionModelId The [[DefinitionModel]] to contain the texture.\r\n * @param name The name to serve as the texture's [Code]($common) value.\r\n * @param format The format of the image data.\r\n * @param data The image data in the format specified by `format`.\r\n * @param description An optional description of the texture\r\n * @returns The Id of the newly-inserted texture element.\r\n * @throws [[IModelError]] if unable to insert the element.\r\n * @see [[insertTexture]] to insert a new texture into the iModel.\r\n */\r\n public static insertTexture(iModelDb: IModelDb, definitionModelId: Id64String, name: string, format: ImageSourceFormat, data: Uint8Array | Base64EncodedString, description?: string): Id64String {\r\n const texture = this.createTexture(iModelDb, definitionModelId, name, format, data, description);\r\n return iModelDb.elements.insertElement(texture.toJSON());\r\n }\r\n}\r\n"]}
|
package/lib/cjs/TileStorage.d.ts
CHANGED
|
@@ -1,19 +1,45 @@
|
|
|
1
|
-
import { Metadata, ServerStorage, TransferConfig } from "@itwin/object-storage-core";
|
|
2
|
-
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
import { Metadata, ServerStorage, TransferConfig } from "@itwin/object-storage-core";
|
|
2
|
+
/**
|
|
3
|
+
* Facilitates interaction with cloud tile cache.
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
6
|
+
export declare class TileStorage {
|
|
7
|
+
/**
|
|
8
|
+
* Allows using the underlying `ServerStorage` API directly.
|
|
9
|
+
* @see https://github.com/iTwin/object-storage/
|
|
10
|
+
*/
|
|
11
|
+
readonly storage: ServerStorage;
|
|
12
|
+
constructor(storage: ServerStorage);
|
|
13
|
+
private _initializedIModels;
|
|
14
|
+
/**
|
|
15
|
+
* Ensures any required cloud storage resources for a specific iModel are ready to use.
|
|
16
|
+
*/
|
|
17
|
+
initialize(iModelId: string): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns config that can be used by frontends to download tiles
|
|
20
|
+
* @see [TileStorage]($frontend)
|
|
21
|
+
*/
|
|
22
|
+
getDownloadConfig(iModelId: string, expiresInSeconds?: number): Promise<TransferConfig>;
|
|
23
|
+
/**
|
|
24
|
+
* Uploads a tile to the cloud cache.
|
|
25
|
+
*/
|
|
26
|
+
uploadTile(iModelId: string, changesetId: string, treeId: string, contentId: string, content: Uint8Array, guid?: string, metadata?: Metadata): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Downloads a tile from the cloud cache.
|
|
29
|
+
*/
|
|
30
|
+
downloadTile(iModelId: string, changesetId: string, treeId: string, contentId: string, guid?: string): Promise<Uint8Array>;
|
|
31
|
+
/**
|
|
32
|
+
* Returns a list of all tiles that are found in the cloud cache.
|
|
33
|
+
*/
|
|
34
|
+
getCachedTiles(iModelId: string): Promise<{
|
|
35
|
+
treeId: string;
|
|
36
|
+
contentId: string;
|
|
37
|
+
guid?: string;
|
|
38
|
+
}[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Returns a boolean indicating whether a tile exists in the cloud cache
|
|
41
|
+
*/
|
|
42
|
+
isTileCached(iModelId: string, changesetId: string, treeId: string, contentId: string, guid?: string): Promise<boolean>;
|
|
43
|
+
private logException;
|
|
44
|
+
}
|
|
19
45
|
//# sourceMappingURL=TileStorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileStorage.d.ts","sourceRoot":"","sources":["../../src/TileStorage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAMrF
|
|
1
|
+
{"version":3,"file":"TileStorage.d.ts","sourceRoot":"","sources":["../../src/TileStorage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAMrF;;;GAGG;AACH,qBAAa,WAAW;IACtB;;;OAGG;IACH,SAAgB,OAAO,EAAE,aAAa,CAAC;gBAEpB,OAAO,EAAE,aAAa;IAIzC,OAAO,CAAC,mBAAmB,CAA0B;IAErD;;OAEG;IACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;;OAGG;IACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IASpG;;OAEG;IACU,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAczK;;OAEG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAavI;;OAEG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAyB9G;;OAEG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpI,OAAO,CAAC,YAAY;CAOrB"}
|
package/lib/cjs/TileStorage.js
CHANGED
|
@@ -1,91 +1,110 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TileStorage = void 0;
|
|
4
|
-
/*---------------------------------------------------------------------------------------------
|
|
5
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
|
-
*--------------------------------------------------------------------------------------------*/
|
|
8
|
-
const zlib_1 = require("zlib");
|
|
9
|
-
const util_1 = require("util");
|
|
10
|
-
const core_common_1 = require("@itwin/core-common");
|
|
11
|
-
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
-
const BackendLoggerCategory_1 = require("./BackendLoggerCategory");
|
|
13
|
-
const IModelHost_1 = require("./IModelHost");
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
this.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TileStorage = void 0;
|
|
4
|
+
/*---------------------------------------------------------------------------------------------
|
|
5
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
|
+
*--------------------------------------------------------------------------------------------*/
|
|
8
|
+
const zlib_1 = require("zlib");
|
|
9
|
+
const util_1 = require("util");
|
|
10
|
+
const core_common_1 = require("@itwin/core-common");
|
|
11
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
+
const BackendLoggerCategory_1 = require("./BackendLoggerCategory");
|
|
13
|
+
const IModelHost_1 = require("./IModelHost");
|
|
14
|
+
/**
|
|
15
|
+
* Facilitates interaction with cloud tile cache.
|
|
16
|
+
* @beta
|
|
17
|
+
*/
|
|
18
|
+
class TileStorage {
|
|
19
|
+
constructor(storage) {
|
|
20
|
+
this._initializedIModels = new Set();
|
|
21
|
+
this.storage = storage;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Ensures any required cloud storage resources for a specific iModel are ready to use.
|
|
25
|
+
*/
|
|
26
|
+
async initialize(iModelId) {
|
|
27
|
+
if (this._initializedIModels.has(iModelId))
|
|
28
|
+
return;
|
|
29
|
+
if (!(await this.storage.baseDirectoryExists({ baseDirectory: iModelId }))) {
|
|
30
|
+
await this.storage.createBaseDirectory({ baseDirectory: iModelId });
|
|
31
|
+
}
|
|
32
|
+
this._initializedIModels.add(iModelId);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Returns config that can be used by frontends to download tiles
|
|
36
|
+
* @see [TileStorage]($frontend)
|
|
37
|
+
*/
|
|
38
|
+
async getDownloadConfig(iModelId, expiresInSeconds) {
|
|
39
|
+
try {
|
|
40
|
+
return await this.storage.getDownloadConfig({ baseDirectory: iModelId }, expiresInSeconds);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
this.logException("Failed to get download config", err);
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Uploads a tile to the cloud cache.
|
|
49
|
+
*/
|
|
50
|
+
async uploadTile(iModelId, changesetId, treeId, contentId, content, guid, metadata) {
|
|
51
|
+
try {
|
|
52
|
+
await this.storage.upload((0, core_common_1.getTileObjectReference)(iModelId, changesetId, treeId, contentId, guid), Buffer.from(IModelHost_1.IModelHost.compressCachedTiles ? await (0, util_1.promisify)(zlib_1.gzip)(content.buffer) : content.buffer), metadata, IModelHost_1.IModelHost.compressCachedTiles ? { contentEncoding: "gzip" } : undefined);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
this.logException("Failed to upload tile", err);
|
|
56
|
+
throw err;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Downloads a tile from the cloud cache.
|
|
61
|
+
*/
|
|
62
|
+
async downloadTile(iModelId, changesetId, treeId, contentId, guid) {
|
|
63
|
+
try {
|
|
64
|
+
const buffer = await this.storage.download((0, core_common_1.getTileObjectReference)(iModelId, changesetId, treeId, contentId, guid), "buffer");
|
|
65
|
+
return IModelHost_1.IModelHost.compressCachedTiles ? await (0, util_1.promisify)(zlib_1.gunzip)(buffer) : buffer;
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
this.logException("Failed to download tile", err);
|
|
69
|
+
throw err;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Returns a list of all tiles that are found in the cloud cache.
|
|
74
|
+
*/
|
|
75
|
+
async getCachedTiles(iModelId) {
|
|
76
|
+
return (await this.storage.listObjects({ baseDirectory: iModelId }))
|
|
77
|
+
.map((objectReference) => ({
|
|
78
|
+
parts: objectReference.relativeDirectory?.split("/") ?? [""],
|
|
79
|
+
objectName: objectReference.objectName,
|
|
80
|
+
}))
|
|
81
|
+
.filter(({ parts, objectName }) => {
|
|
82
|
+
if (parts[0] !== "tiles")
|
|
83
|
+
return false;
|
|
84
|
+
if (parts.length !== 3) {
|
|
85
|
+
core_bentley_1.Logger.logWarning(BackendLoggerCategory_1.BackendLoggerCategory.IModelTileStorage, "Malformed tile id found in tile cache: {tileId}", { tileId: [...parts, objectName].join("/") });
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
return true;
|
|
89
|
+
}).map(({ parts, objectName }) => {
|
|
90
|
+
// relativeDirectory = tiles/<treeId>/<guid>
|
|
91
|
+
// objectName = <contentId>
|
|
92
|
+
return {
|
|
93
|
+
treeId: parts[1],
|
|
94
|
+
contentId: objectName,
|
|
95
|
+
guid: parts[2],
|
|
96
|
+
};
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Returns a boolean indicating whether a tile exists in the cloud cache
|
|
101
|
+
*/
|
|
102
|
+
async isTileCached(iModelId, changesetId, treeId, contentId, guid) {
|
|
103
|
+
return this.storage.objectExists((0, core_common_1.getTileObjectReference)(iModelId, changesetId, treeId, contentId, guid));
|
|
104
|
+
}
|
|
105
|
+
logException(message, err) {
|
|
106
|
+
core_bentley_1.Logger.logException(BackendLoggerCategory_1.BackendLoggerCategory.IModelTileStorage, err, (category, msg, errorMetadata) => core_bentley_1.Logger.logError(category, `${message}: {errorMessage}`, { ...errorMetadata, errorMessage: msg }));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.TileStorage = TileStorage;
|
|
91
110
|
//# sourceMappingURL=TileStorage.js.map
|