@itwin/core-backend 4.0.0-dev.10 → 4.0.0-dev.100

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.
Files changed (270) hide show
  1. package/CHANGELOG.md +68 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +226 -224
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js +41 -41
  5. package/lib/cjs/BackendHubAccess.js.map +1 -1
  6. package/lib/cjs/BackendLoggerCategory.d.ts +90 -91
  7. package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -1
  8. package/lib/cjs/BackendLoggerCategory.js +98 -99
  9. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  10. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  11. package/lib/cjs/BisCoreSchema.js +60 -60
  12. package/lib/cjs/BlobContainerService.d.ts +120 -0
  13. package/lib/cjs/BlobContainerService.d.ts.map +1 -0
  14. package/lib/cjs/BlobContainerService.js +18 -0
  15. package/lib/cjs/BlobContainerService.js.map +1 -0
  16. package/lib/cjs/BriefcaseManager.d.ts +184 -170
  17. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  18. package/lib/cjs/BriefcaseManager.js +421 -414
  19. package/lib/cjs/BriefcaseManager.js.map +1 -1
  20. package/lib/cjs/Category.d.ts +153 -153
  21. package/lib/cjs/Category.js +243 -243
  22. package/lib/cjs/Category.js.map +1 -1
  23. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  24. package/lib/cjs/ChangeSummaryManager.js +444 -445
  25. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  26. package/lib/cjs/ChangedElementsDb.d.ts +99 -99
  27. package/lib/cjs/ChangedElementsDb.js +165 -165
  28. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  29. package/lib/cjs/ChangedElementsManager.js +88 -88
  30. package/lib/cjs/ChannelControl.d.ts +70 -0
  31. package/lib/cjs/ChannelControl.d.ts.map +1 -0
  32. package/lib/cjs/ChannelControl.js +89 -0
  33. package/lib/cjs/ChannelControl.js.map +1 -0
  34. package/lib/cjs/CheckpointManager.d.ts +121 -121
  35. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  36. package/lib/cjs/CheckpointManager.js +351 -349
  37. package/lib/cjs/CheckpointManager.js.map +1 -1
  38. package/lib/cjs/ClassRegistry.d.ts +79 -79
  39. package/lib/cjs/ClassRegistry.js +249 -245
  40. package/lib/cjs/ClassRegistry.js.map +1 -1
  41. package/lib/cjs/CloudSqlite.d.ts +572 -350
  42. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  43. package/lib/cjs/CloudSqlite.js +374 -153
  44. package/lib/cjs/CloudSqlite.js.map +1 -1
  45. package/lib/cjs/CodeService.d.ts +399 -396
  46. package/lib/cjs/CodeService.d.ts.map +1 -1
  47. package/lib/cjs/CodeService.js +63 -63
  48. package/lib/cjs/CodeService.js.map +1 -1
  49. package/lib/cjs/CodeSpecs.d.ts +58 -55
  50. package/lib/cjs/CodeSpecs.d.ts.map +1 -1
  51. package/lib/cjs/CodeSpecs.js +154 -124
  52. package/lib/cjs/CodeSpecs.js.map +1 -1
  53. package/lib/cjs/ConcurrentQuery.d.ts +13 -13
  54. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  55. package/lib/cjs/ConcurrentQuery.js +36 -36
  56. package/lib/cjs/CustomViewState3dCreator.d.ts +21 -21
  57. package/lib/cjs/CustomViewState3dCreator.d.ts.map +1 -1
  58. package/lib/cjs/CustomViewState3dCreator.js +80 -81
  59. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  60. package/lib/cjs/DevTools.d.ts +74 -71
  61. package/lib/cjs/DevTools.d.ts.map +1 -1
  62. package/lib/cjs/DevTools.js +156 -154
  63. package/lib/cjs/DevTools.js.map +1 -1
  64. package/lib/cjs/DisplayStyle.d.ts +104 -106
  65. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  66. package/lib/cjs/DisplayStyle.js +251 -256
  67. package/lib/cjs/DisplayStyle.js.map +1 -1
  68. package/lib/cjs/ECDb.d.ts +194 -191
  69. package/lib/cjs/ECDb.d.ts.map +1 -1
  70. package/lib/cjs/ECDb.js +351 -350
  71. package/lib/cjs/ECDb.js.map +1 -1
  72. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  73. package/lib/cjs/ECSchemaXmlContext.d.ts.map +1 -1
  74. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  75. package/lib/cjs/ECSqlStatement.d.ts +473 -473
  76. package/lib/cjs/ECSqlStatement.js +791 -791
  77. package/lib/cjs/Element.d.ts +1105 -1109
  78. package/lib/cjs/Element.d.ts.map +1 -1
  79. package/lib/cjs/Element.js +1416 -1427
  80. package/lib/cjs/Element.js.map +1 -1
  81. package/lib/cjs/ElementAspect.d.ts +175 -179
  82. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  83. package/lib/cjs/ElementAspect.js +202 -211
  84. package/lib/cjs/ElementAspect.js.map +1 -1
  85. package/lib/cjs/ElementGraphics.d.ts +9 -9
  86. package/lib/cjs/ElementGraphics.js +41 -41
  87. package/lib/cjs/ElementGraphics.js.map +1 -1
  88. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  89. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  90. package/lib/cjs/ElementTreeWalker.js +409 -409
  91. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  92. package/lib/cjs/Entity.d.ts +102 -106
  93. package/lib/cjs/Entity.d.ts.map +1 -1
  94. package/lib/cjs/Entity.js +118 -134
  95. package/lib/cjs/Entity.js.map +1 -1
  96. package/lib/cjs/EntityReferences.d.ts +49 -49
  97. package/lib/cjs/EntityReferences.d.ts.map +1 -1
  98. package/lib/cjs/EntityReferences.js +95 -95
  99. package/lib/cjs/ExportGraphics.d.ts +317 -317
  100. package/lib/cjs/ExportGraphics.d.ts.map +1 -1
  101. package/lib/cjs/ExportGraphics.js +208 -208
  102. package/lib/cjs/ExternalSource.d.ts +95 -96
  103. package/lib/cjs/ExternalSource.d.ts.map +1 -1
  104. package/lib/cjs/ExternalSource.js +130 -131
  105. package/lib/cjs/ExternalSource.js.map +1 -1
  106. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  107. package/lib/cjs/GeoCoordConfig.js +85 -85
  108. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  109. package/lib/cjs/GeometrySummary.d.ts +4 -4
  110. package/lib/cjs/GeometrySummary.js +333 -333
  111. package/lib/cjs/GeometrySummary.js.map +1 -1
  112. package/lib/cjs/HubMock.d.ts +94 -94
  113. package/lib/cjs/HubMock.js +220 -222
  114. package/lib/cjs/HubMock.js.map +1 -1
  115. package/lib/cjs/IModelCloneContext.d.ts +8 -8
  116. package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
  117. package/lib/cjs/IModelCloneContext.js +15 -15
  118. package/lib/cjs/IModelDb.d.ts +1222 -1196
  119. package/lib/cjs/IModelDb.d.ts.map +1 -1
  120. package/lib/cjs/IModelDb.js +2389 -2392
  121. package/lib/cjs/IModelDb.js.map +1 -1
  122. package/lib/cjs/IModelElementCloneContext.d.ts +89 -89
  123. package/lib/cjs/IModelElementCloneContext.js +159 -159
  124. package/lib/cjs/IModelHost.d.ts +370 -369
  125. package/lib/cjs/IModelHost.d.ts.map +1 -1
  126. package/lib/cjs/IModelHost.js +476 -496
  127. package/lib/cjs/IModelHost.js.map +1 -1
  128. package/lib/cjs/IModelJsFs.d.ts +62 -62
  129. package/lib/cjs/IModelJsFs.js +139 -140
  130. package/lib/cjs/IModelJsFs.js.map +1 -1
  131. package/lib/cjs/IpcHost.d.ts +104 -104
  132. package/lib/cjs/IpcHost.js +276 -278
  133. package/lib/cjs/IpcHost.js.map +1 -1
  134. package/lib/cjs/LineStyle.d.ts +311 -311
  135. package/lib/cjs/LineStyle.js +295 -295
  136. package/lib/cjs/LocalHub.d.ts +162 -162
  137. package/lib/cjs/LocalHub.d.ts.map +1 -1
  138. package/lib/cjs/LocalHub.js +579 -584
  139. package/lib/cjs/LocalHub.js.map +1 -1
  140. package/lib/cjs/LocalhostIpcHost.d.ts +21 -20
  141. package/lib/cjs/LocalhostIpcHost.d.ts.map +1 -1
  142. package/lib/cjs/LocalhostIpcHost.js +79 -81
  143. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  144. package/lib/cjs/Material.d.ts +131 -131
  145. package/lib/cjs/Material.d.ts.map +1 -1
  146. package/lib/cjs/Material.js +185 -181
  147. package/lib/cjs/Material.js.map +1 -1
  148. package/lib/cjs/Model.d.ts +391 -392
  149. package/lib/cjs/Model.d.ts.map +1 -1
  150. package/lib/cjs/Model.js +487 -485
  151. package/lib/cjs/Model.js.map +1 -1
  152. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  153. package/lib/cjs/NativeAppStorage.js +202 -202
  154. package/lib/cjs/NativeAppStorage.js.map +1 -1
  155. package/lib/cjs/NativeHost.d.ts +52 -52
  156. package/lib/cjs/NativeHost.d.ts.map +1 -1
  157. package/lib/cjs/NativeHost.js +158 -163
  158. package/lib/cjs/NativeHost.js.map +1 -1
  159. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  160. package/lib/cjs/NavigationRelationship.js +225 -225
  161. package/lib/cjs/NavigationRelationship.js.map +1 -1
  162. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  163. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  164. package/lib/cjs/PromiseMemoizer.js +101 -101
  165. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  166. package/lib/cjs/PropertyStore.d.ts +123 -132
  167. package/lib/cjs/PropertyStore.d.ts.map +1 -1
  168. package/lib/cjs/PropertyStore.js +179 -11
  169. package/lib/cjs/PropertyStore.js.map +1 -1
  170. package/lib/cjs/Relationship.d.ts +413 -416
  171. package/lib/cjs/Relationship.d.ts.map +1 -1
  172. package/lib/cjs/Relationship.js +491 -494
  173. package/lib/cjs/Relationship.js.map +1 -1
  174. package/lib/cjs/RpcBackend.d.ts +5 -5
  175. package/lib/cjs/RpcBackend.js +32 -32
  176. package/lib/cjs/SQLiteDb.d.ts +317 -219
  177. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  178. package/lib/cjs/SQLiteDb.js +318 -214
  179. package/lib/cjs/SQLiteDb.js.map +1 -1
  180. package/lib/cjs/Schema.d.ts +55 -55
  181. package/lib/cjs/Schema.js +83 -83
  182. package/lib/cjs/Schema.js.map +1 -1
  183. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  184. package/lib/cjs/ServerBasedLocks.js +168 -168
  185. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  186. package/lib/cjs/SqliteStatement.d.ts +360 -360
  187. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  188. package/lib/cjs/SqliteStatement.js +586 -586
  189. package/lib/cjs/Texture.d.ts +58 -58
  190. package/lib/cjs/Texture.js +82 -82
  191. package/lib/cjs/Texture.js.map +1 -1
  192. package/lib/cjs/TileStorage.d.ts +44 -18
  193. package/lib/cjs/TileStorage.d.ts.map +1 -1
  194. package/lib/cjs/TileStorage.js +109 -90
  195. package/lib/cjs/TileStorage.js.map +1 -1
  196. package/lib/cjs/TxnManager.d.ts +202 -202
  197. package/lib/cjs/TxnManager.d.ts.map +1 -1
  198. package/lib/cjs/TxnManager.js +356 -356
  199. package/lib/cjs/TxnManager.js.map +1 -1
  200. package/lib/cjs/ViewDefinition.d.ts +429 -439
  201. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  202. package/lib/cjs/ViewDefinition.js +640 -646
  203. package/lib/cjs/ViewDefinition.js.map +1 -1
  204. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  205. package/lib/cjs/ViewStateHydrator.js +103 -103
  206. package/lib/cjs/core-backend.d.ts +181 -184
  207. package/lib/cjs/core-backend.d.ts.map +1 -1
  208. package/lib/cjs/core-backend.js +205 -204
  209. package/lib/cjs/core-backend.js.map +1 -1
  210. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  211. package/lib/cjs/domains/FunctionalElements.js +145 -145
  212. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  213. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  214. package/lib/cjs/domains/FunctionalSchema.d.ts.map +1 -1
  215. package/lib/cjs/domains/FunctionalSchema.js +39 -40
  216. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  217. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  218. package/lib/cjs/domains/GenericElements.js +263 -263
  219. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  220. package/lib/cjs/domains/GenericSchema.js +28 -28
  221. package/lib/cjs/rpc/multipart.d.ts +11 -11
  222. package/lib/cjs/rpc/multipart.js +71 -71
  223. package/lib/cjs/rpc/tracing.d.ts +28 -28
  224. package/lib/cjs/rpc/tracing.js +73 -74
  225. package/lib/cjs/rpc/tracing.js.map +1 -1
  226. package/lib/cjs/rpc/web/logging.d.ts +9 -9
  227. package/lib/cjs/rpc/web/logging.js +43 -43
  228. package/lib/cjs/rpc/web/request.d.ts +6 -6
  229. package/lib/cjs/rpc/web/request.js +73 -74
  230. package/lib/cjs/rpc/web/request.js.map +1 -1
  231. package/lib/cjs/rpc/web/response.d.ts +6 -6
  232. package/lib/cjs/rpc/web/response.js +105 -106
  233. package/lib/cjs/rpc/web/response.js.map +1 -1
  234. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  235. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  236. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +47 -47
  237. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +293 -294
  238. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  239. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +20 -22
  240. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -1
  241. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +193 -205
  242. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  243. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  244. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +166 -168
  245. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  246. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  247. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +42 -43
  248. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  249. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  250. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  251. package/lib/cjs/workspace/Settings.d.ts +186 -186
  252. package/lib/cjs/workspace/Settings.d.ts.map +1 -1
  253. package/lib/cjs/workspace/Settings.js +155 -155
  254. package/lib/cjs/workspace/Settings.js.map +1 -1
  255. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  256. package/lib/cjs/workspace/SettingsSchemas.js +190 -191
  257. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  258. package/lib/cjs/workspace/Workspace.d.ts +411 -414
  259. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  260. package/lib/cjs/workspace/Workspace.js +521 -543
  261. package/lib/cjs/workspace/Workspace.js.map +1 -1
  262. package/package.json +25 -28
  263. package/lib/cjs/AliCloudStorageService.d.ts +0 -24
  264. package/lib/cjs/AliCloudStorageService.d.ts.map +0 -1
  265. package/lib/cjs/AliCloudStorageService.js +0 -72
  266. package/lib/cjs/AliCloudStorageService.js.map +0 -1
  267. package/lib/cjs/CloudStorageBackend.d.ts +0 -59
  268. package/lib/cjs/CloudStorageBackend.d.ts.map +0 -1
  269. package/lib/cjs/CloudStorageBackend.js +0 -174
  270. package/lib/cjs/CloudStorageBackend.js.map +0 -1
@@ -1,257 +1,252 @@
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 ViewDefinitions
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.DisplayStyle3d = exports.DisplayStyle2d = exports.DisplayStyle = void 0;
11
- const core_bentley_1 = require("@itwin/core-bentley");
12
- const core_common_1 = require("@itwin/core-common");
13
- const Element_1 = require("./Element");
14
- /** A DisplayStyle defines the parameters for 'styling' the contents of a view.
15
- * Internally a DisplayStyle consists of a dictionary of several named 'styles' describing specific aspects of the display style as a whole.
16
- * Many ViewDefinitions may share the same DisplayStyle.
17
- * @public
18
- */
19
- class DisplayStyle extends Element_1.DefinitionElement {
20
- /** @internal */
21
- static get className() { return "DisplayStyle"; }
22
- /** @internal */
23
- constructor(props, iModel) {
24
- super(props, iModel);
25
- }
26
- /** Create a Code for a DisplayStyle given a name that is meant to be unique within the scope of the specified DefinitionModel.
27
- * @param iModel The IModelDb
28
- * @param scopeModelId The Id of the DefinitionModel that contains the DisplayStyle and provides the scope for its name.
29
- * @param codeValue The DisplayStyle name
30
- */
31
- static createCode(iModel, scopeModelId, codeValue) {
32
- const codeSpec = iModel.codeSpecs.getByName(core_common_1.BisCodeSpec.displayStyle);
33
- return new core_common_1.Code({ spec: codeSpec.id, scope: scopeModelId, value: codeValue });
34
- }
35
- /** @internal */
36
- collectReferenceConcreteIds(referenceIds) {
37
- super.collectReferenceConcreteIds(referenceIds);
38
- for (const [id] of this.settings.subCategoryOverrides) {
39
- referenceIds.addElement(id);
40
- }
41
- for (const excludedElementId of this.settings.excludedElementIds)
42
- referenceIds.addElement(excludedElementId);
43
- if (this.settings.renderTimeline) {
44
- referenceIds.addElement(this.settings.renderTimeline);
45
- }
46
- else {
47
- const script = this.loadScheduleScript();
48
- if (script)
49
- script.script.discloseIds(referenceIds); // eslint-disable-line deprecation/deprecation
50
- }
51
- }
52
- /** @alpha */
53
- static onCloned(context, sourceElementProps, targetElementProps) {
54
- var _a;
55
- super.onCloned(context, sourceElementProps, targetElementProps);
56
- if (!context.isBetweenIModels || !((_a = targetElementProps.jsonProperties) === null || _a === void 0 ? void 0 : _a.styles))
57
- return;
58
- const settings = targetElementProps.jsonProperties.styles;
59
- if (settings.subCategoryOvr) {
60
- for (let i = 0; i < settings.subCategoryOvr.length; /* */) {
61
- const ovr = settings.subCategoryOvr[i];
62
- ovr.subCategory = context.findTargetElementId(core_bentley_1.Id64.fromJSON(ovr.subCategory));
63
- if (core_bentley_1.Id64.invalid === ovr.subCategory)
64
- settings.subCategoryOvr.splice(i, 1);
65
- else
66
- i++;
67
- }
68
- }
69
- if (settings.excludedElements) {
70
- const excluded = "string" === typeof settings.excludedElements ? core_bentley_1.CompressedId64Set.decompressArray(settings.excludedElements) : settings.excludedElements;
71
- for (let i = 0; i < excluded.length; /* */) {
72
- const remapped = context.findTargetElementId(excluded[i]);
73
- if (core_bentley_1.Id64.invalid === remapped)
74
- excluded.splice(i, 1);
75
- else
76
- excluded[i++] = remapped;
77
- }
78
- if (0 === excluded.length)
79
- delete settings.excludedElements;
80
- else
81
- settings.excludedElements = core_bentley_1.CompressedId64Set.compressIds(core_bentley_1.OrderedId64Iterable.sortArray(excluded));
82
- }
83
- if (settings.renderTimeline) {
84
- const renderTimeline = context.findTargetElementId(settings.renderTimeline);
85
- if (core_bentley_1.Id64.isValid(renderTimeline))
86
- settings.renderTimeline = renderTimeline;
87
- else
88
- delete settings.renderTimeline;
89
- }
90
- else if (settings.scheduleScript) {
91
- const scheduleScript = Element_1.RenderTimeline.remapScript(context, settings.scheduleScript);
92
- if (scheduleScript.length > 0)
93
- settings.scheduleScript = scheduleScript;
94
- else
95
- delete settings.scheduleScript;
96
- }
97
- }
98
- loadScheduleScript() {
99
- let script;
100
- let sourceId;
101
- if (this.settings.renderTimeline) {
102
- const timeline = this.iModel.elements.tryGetElement(this.settings.renderTimeline);
103
- if (timeline) {
104
- script = core_common_1.RenderSchedule.Script.fromJSON(timeline.scriptProps);
105
- sourceId = timeline.id;
106
- }
107
- }
108
- else if (this.settings.scheduleScriptProps) {
109
- script = core_common_1.RenderSchedule.Script.fromJSON(this.settings.scheduleScriptProps);
110
- sourceId = this.id;
111
- }
112
- return undefined !== sourceId && undefined !== script ? new core_common_1.RenderSchedule.ScriptReference(sourceId, script) : undefined;
113
- }
114
- }
115
- exports.DisplayStyle = DisplayStyle;
116
- /** A DisplayStyle for 2d views.
117
- * @public
118
- */
119
- class DisplayStyle2d extends DisplayStyle {
120
- /** @internal */
121
- constructor(props, iModel) {
122
- super(props, iModel);
123
- this._settings = new core_common_1.DisplayStyleSettings(this.jsonProperties);
124
- }
125
- /** @internal */
126
- static get className() { return "DisplayStyle2d"; }
127
- get settings() { return this._settings; }
128
- /** Create a DisplayStyle2d for use by a ViewDefinition.
129
- * @param iModelDb The iModel
130
- * @param definitionModelId The [[DefinitionModel]]
131
- * @param name The name/CodeValue of the DisplayStyle2d
132
- * @returns The newly constructed DisplayStyle2d element.
133
- * @throws [[IModelError]] if unable to create the element.
134
- */
135
- static create(iModelDb, definitionModelId, name) {
136
- const displayStyleProps = {
137
- classFullName: this.classFullName,
138
- code: this.createCode(iModelDb, definitionModelId, name),
139
- model: definitionModelId,
140
- isPrivate: false,
141
- jsonProperties: {
142
- styles: {
143
- backgroundColor: 0,
144
- monochromeColor: core_common_1.ColorDef.white.toJSON(),
145
- viewflags: core_common_1.ViewFlags.defaults,
146
- },
147
- },
148
- };
149
- return new DisplayStyle2d(displayStyleProps, iModelDb);
150
- }
151
- /** Insert a DisplayStyle2d for use by a ViewDefinition.
152
- * @param iModelDb Insert into this iModel
153
- * @param definitionModelId Insert the new DisplayStyle2d into this DefinitionModel
154
- * @param name The name of the DisplayStyle2d
155
- * @returns The Id of the newly inserted DisplayStyle2d element.
156
- * @throws [[IModelError]] if unable to insert the element.
157
- */
158
- static insert(iModelDb, definitionModelId, name) {
159
- const displayStyle = this.create(iModelDb, definitionModelId, name);
160
- return iModelDb.elements.insertElement(displayStyle.toJSON());
161
- }
162
- }
163
- exports.DisplayStyle2d = DisplayStyle2d;
164
- /** A DisplayStyle for 3d views.
165
- * See [how to create a DisplayStyle3d]$(docs/learning/backend/CreateElements.md#DisplayStyle3d).
166
- * @public
167
- */
168
- class DisplayStyle3d extends DisplayStyle {
169
- /** @internal */
170
- constructor(props, iModel) {
171
- super(props, iModel);
172
- this._settings = new core_common_1.DisplayStyle3dSettings(this.jsonProperties);
173
- }
174
- /** @internal */
175
- static get className() { return "DisplayStyle3d"; }
176
- get settings() { return this._settings; }
177
- /** @internal */
178
- collectReferenceConcreteIds(referenceIds) {
179
- super.collectReferenceConcreteIds(referenceIds);
180
- for (const textureId of this.settings.environment.sky.textureIds)
181
- referenceIds.addElement(textureId);
182
- if (this.settings.planProjectionSettings)
183
- for (const planProjectionSetting of this.settings.planProjectionSettings)
184
- referenceIds.addElement(planProjectionSetting[0]);
185
- }
186
- /** @alpha */
187
- static onCloned(context, sourceElementProps, targetElementProps) {
188
- var _a, _b, _c, _d, _e, _f;
189
- super.onCloned(context, sourceElementProps, targetElementProps);
190
- if (context.isBetweenIModels) {
191
- const convertTexture = (id) => core_bentley_1.Id64.isValidId64(id) ? context.findTargetElementId(id) : id;
192
- const skyBoxImageProps = (_d = (_c = (_b = (_a = targetElementProps === null || targetElementProps === void 0 ? void 0 : targetElementProps.jsonProperties) === null || _a === void 0 ? void 0 : _a.styles) === null || _b === void 0 ? void 0 : _b.environment) === null || _c === void 0 ? void 0 : _c.sky) === null || _d === void 0 ? void 0 : _d.image;
193
- if ((skyBoxImageProps === null || skyBoxImageProps === void 0 ? void 0 : skyBoxImageProps.texture) && core_bentley_1.Id64.isValidId64(skyBoxImageProps.texture))
194
- skyBoxImageProps.texture = convertTexture(skyBoxImageProps.texture);
195
- if (skyBoxImageProps === null || skyBoxImageProps === void 0 ? void 0 : skyBoxImageProps.textures) {
196
- skyBoxImageProps.textures.front = convertTexture(skyBoxImageProps.textures.front);
197
- skyBoxImageProps.textures.back = convertTexture(skyBoxImageProps.textures.back);
198
- skyBoxImageProps.textures.left = convertTexture(skyBoxImageProps.textures.left);
199
- skyBoxImageProps.textures.right = convertTexture(skyBoxImageProps.textures.right);
200
- skyBoxImageProps.textures.top = convertTexture(skyBoxImageProps.textures.top);
201
- skyBoxImageProps.textures.bottom = convertTexture(skyBoxImageProps.textures.bottom);
202
- }
203
- if ((_f = (_e = targetElementProps === null || targetElementProps === void 0 ? void 0 : targetElementProps.jsonProperties) === null || _e === void 0 ? void 0 : _e.styles) === null || _f === void 0 ? void 0 : _f.planProjections) {
204
- const remappedPlanProjections = {};
205
- for (const entry of Object.entries(targetElementProps.jsonProperties.styles.planProjections)) {
206
- const remappedModelId = context.findTargetElementId(entry[0]);
207
- if (core_bentley_1.Id64.isValidId64(remappedModelId)) {
208
- remappedPlanProjections[remappedModelId] = entry[1];
209
- }
210
- }
211
- targetElementProps.jsonProperties.styles.planProjections = remappedPlanProjections;
212
- }
213
- }
214
- }
215
- /** Create a DisplayStyle3d for use by a ViewDefinition.
216
- * @param iModelDb The iModel
217
- * @param definitionModelId The [[DefinitionModel]]
218
- * @param name The name/CodeValue of the DisplayStyle3d
219
- * @returns The newly constructed DisplayStyle3d element.
220
- * @throws [[IModelError]] if unable to create the element.
221
- */
222
- static create(iModelDb, definitionModelId, name, options) {
223
- var _a, _b;
224
- options = options !== null && options !== void 0 ? options : {};
225
- let viewflags = (_a = options.viewFlags) === null || _a === void 0 ? void 0 : _a.toJSON();
226
- if (!viewflags)
227
- viewflags = (_b = options.viewflags) !== null && _b !== void 0 ? _b : new core_common_1.ViewFlags().toJSON();
228
- const backgroundColor = options.backgroundColor instanceof core_common_1.ColorDef ? options.backgroundColor.toJSON() : options.backgroundColor;
229
- const settings = {
230
- ...options,
231
- viewflags,
232
- backgroundColor,
233
- };
234
- const displayStyleProps = {
235
- classFullName: this.classFullName,
236
- code: this.createCode(iModelDb, definitionModelId, name),
237
- model: definitionModelId,
238
- jsonProperties: { styles: settings },
239
- isPrivate: false,
240
- };
241
- return new DisplayStyle3d(displayStyleProps, iModelDb);
242
- }
243
- /**
244
- * Insert a DisplayStyle3d for use by a ViewDefinition.
245
- * @param iModelDb Insert into this iModel
246
- * @param definitionModelId Insert the new DisplayStyle3d into this [[DefinitionModel]]
247
- * @param name The name of the DisplayStyle3d
248
- * @returns The Id of the newly inserted DisplayStyle3d element.
249
- * @throws [[IModelError]] if unable to insert the element.
250
- */
251
- static insert(iModelDb, definitionModelId, name, options) {
252
- const displayStyle = this.create(iModelDb, definitionModelId, name, options);
253
- return iModelDb.elements.insertElement(displayStyle.toJSON());
254
- }
255
- }
256
- exports.DisplayStyle3d = DisplayStyle3d;
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 ViewDefinitions
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.DisplayStyle3d = exports.DisplayStyle2d = exports.DisplayStyle = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const core_common_1 = require("@itwin/core-common");
13
+ const Element_1 = require("./Element");
14
+ /** A DisplayStyle defines the parameters for 'styling' the contents of a view.
15
+ * Internally a DisplayStyle consists of a dictionary of several named 'styles' describing specific aspects of the display style as a whole.
16
+ * Many ViewDefinitions may share the same DisplayStyle.
17
+ * @public
18
+ */
19
+ class DisplayStyle extends Element_1.DefinitionElement {
20
+ /** @internal */
21
+ static get className() { return "DisplayStyle"; }
22
+ /** @internal */
23
+ constructor(props, iModel) {
24
+ super(props, iModel);
25
+ }
26
+ /** Create a Code for a DisplayStyle given a name that is meant to be unique within the scope of the specified DefinitionModel.
27
+ * @param iModel The IModelDb
28
+ * @param scopeModelId The Id of the DefinitionModel that contains the DisplayStyle and provides the scope for its name.
29
+ * @param codeValue The DisplayStyle name
30
+ */
31
+ static createCode(iModel, scopeModelId, codeValue) {
32
+ const codeSpec = iModel.codeSpecs.getByName(core_common_1.BisCodeSpec.displayStyle);
33
+ return new core_common_1.Code({ spec: codeSpec.id, scope: scopeModelId, value: codeValue });
34
+ }
35
+ collectReferenceIds(referenceIds) {
36
+ super.collectReferenceIds(referenceIds);
37
+ for (const [id] of this.settings.subCategoryOverrides) {
38
+ referenceIds.addElement(id);
39
+ }
40
+ for (const excludedElementId of this.settings.excludedElementIds)
41
+ referenceIds.addElement(excludedElementId);
42
+ if (this.settings.renderTimeline) {
43
+ referenceIds.addElement(this.settings.renderTimeline);
44
+ }
45
+ else {
46
+ const script = this.loadScheduleScript();
47
+ if (script)
48
+ script.script.discloseIds(referenceIds); // eslint-disable-line deprecation/deprecation
49
+ }
50
+ }
51
+ /** @alpha */
52
+ static onCloned(context, sourceElementProps, targetElementProps) {
53
+ super.onCloned(context, sourceElementProps, targetElementProps);
54
+ if (!context.isBetweenIModels || !targetElementProps.jsonProperties?.styles)
55
+ return;
56
+ const settings = targetElementProps.jsonProperties.styles;
57
+ if (settings.subCategoryOvr) {
58
+ for (let i = 0; i < settings.subCategoryOvr.length; /* */) {
59
+ const ovr = settings.subCategoryOvr[i];
60
+ ovr.subCategory = context.findTargetElementId(core_bentley_1.Id64.fromJSON(ovr.subCategory));
61
+ if (core_bentley_1.Id64.invalid === ovr.subCategory)
62
+ settings.subCategoryOvr.splice(i, 1);
63
+ else
64
+ i++;
65
+ }
66
+ }
67
+ if (settings.excludedElements) {
68
+ const excluded = "string" === typeof settings.excludedElements ? core_bentley_1.CompressedId64Set.decompressArray(settings.excludedElements) : settings.excludedElements;
69
+ for (let i = 0; i < excluded.length; /* */) {
70
+ const remapped = context.findTargetElementId(excluded[i]);
71
+ if (core_bentley_1.Id64.invalid === remapped)
72
+ excluded.splice(i, 1);
73
+ else
74
+ excluded[i++] = remapped;
75
+ }
76
+ if (0 === excluded.length)
77
+ delete settings.excludedElements;
78
+ else
79
+ settings.excludedElements = core_bentley_1.CompressedId64Set.compressIds(core_bentley_1.OrderedId64Iterable.sortArray(excluded));
80
+ }
81
+ if (settings.renderTimeline) {
82
+ const renderTimeline = context.findTargetElementId(settings.renderTimeline);
83
+ if (core_bentley_1.Id64.isValid(renderTimeline))
84
+ settings.renderTimeline = renderTimeline;
85
+ else
86
+ delete settings.renderTimeline;
87
+ }
88
+ else if (settings.scheduleScript) {
89
+ const scheduleScript = Element_1.RenderTimeline.remapScript(context, settings.scheduleScript);
90
+ if (scheduleScript.length > 0)
91
+ settings.scheduleScript = scheduleScript;
92
+ else
93
+ delete settings.scheduleScript;
94
+ }
95
+ }
96
+ loadScheduleScript() {
97
+ let script;
98
+ let sourceId;
99
+ if (this.settings.renderTimeline) {
100
+ const timeline = this.iModel.elements.tryGetElement(this.settings.renderTimeline);
101
+ if (timeline) {
102
+ script = core_common_1.RenderSchedule.Script.fromJSON(timeline.scriptProps);
103
+ sourceId = timeline.id;
104
+ }
105
+ }
106
+ else if (this.settings.scheduleScriptProps) {
107
+ script = core_common_1.RenderSchedule.Script.fromJSON(this.settings.scheduleScriptProps);
108
+ sourceId = this.id;
109
+ }
110
+ return undefined !== sourceId && undefined !== script ? new core_common_1.RenderSchedule.ScriptReference(sourceId, script) : undefined;
111
+ }
112
+ }
113
+ exports.DisplayStyle = DisplayStyle;
114
+ /** A DisplayStyle for 2d views.
115
+ * @public
116
+ */
117
+ class DisplayStyle2d extends DisplayStyle {
118
+ /** @internal */
119
+ static get className() { return "DisplayStyle2d"; }
120
+ get settings() { return this._settings; }
121
+ /** @internal */
122
+ constructor(props, iModel) {
123
+ super(props, iModel);
124
+ this._settings = new core_common_1.DisplayStyleSettings(this.jsonProperties);
125
+ }
126
+ /** Create a DisplayStyle2d for use by a ViewDefinition.
127
+ * @param iModelDb The iModel
128
+ * @param definitionModelId The [[DefinitionModel]]
129
+ * @param name The name/CodeValue of the DisplayStyle2d
130
+ * @returns The newly constructed DisplayStyle2d element.
131
+ * @throws [[IModelError]] if unable to create the element.
132
+ */
133
+ static create(iModelDb, definitionModelId, name) {
134
+ const displayStyleProps = {
135
+ classFullName: this.classFullName,
136
+ code: this.createCode(iModelDb, definitionModelId, name),
137
+ model: definitionModelId,
138
+ isPrivate: false,
139
+ jsonProperties: {
140
+ styles: {
141
+ backgroundColor: 0,
142
+ monochromeColor: core_common_1.ColorDef.white.toJSON(),
143
+ viewflags: core_common_1.ViewFlags.defaults,
144
+ },
145
+ },
146
+ };
147
+ return new DisplayStyle2d(displayStyleProps, iModelDb);
148
+ }
149
+ /** Insert a DisplayStyle2d for use by a ViewDefinition.
150
+ * @param iModelDb Insert into this iModel
151
+ * @param definitionModelId Insert the new DisplayStyle2d into this DefinitionModel
152
+ * @param name The name of the DisplayStyle2d
153
+ * @returns The Id of the newly inserted DisplayStyle2d element.
154
+ * @throws [[IModelError]] if unable to insert the element.
155
+ */
156
+ static insert(iModelDb, definitionModelId, name) {
157
+ const displayStyle = this.create(iModelDb, definitionModelId, name);
158
+ return iModelDb.elements.insertElement(displayStyle.toJSON());
159
+ }
160
+ }
161
+ exports.DisplayStyle2d = DisplayStyle2d;
162
+ /** A DisplayStyle for 3d views.
163
+ * See [how to create a DisplayStyle3d]$(docs/learning/backend/CreateElements.md#DisplayStyle3d).
164
+ * @public
165
+ */
166
+ class DisplayStyle3d extends DisplayStyle {
167
+ /** @internal */
168
+ static get className() { return "DisplayStyle3d"; }
169
+ get settings() { return this._settings; }
170
+ /** @internal */
171
+ constructor(props, iModel) {
172
+ super(props, iModel);
173
+ this._settings = new core_common_1.DisplayStyle3dSettings(this.jsonProperties);
174
+ }
175
+ collectReferenceIds(referenceIds) {
176
+ super.collectReferenceIds(referenceIds);
177
+ for (const textureId of this.settings.environment.sky.textureIds)
178
+ referenceIds.addElement(textureId);
179
+ if (this.settings.planProjectionSettings)
180
+ for (const planProjectionSetting of this.settings.planProjectionSettings)
181
+ referenceIds.addElement(planProjectionSetting[0]);
182
+ }
183
+ /** @alpha */
184
+ static onCloned(context, sourceElementProps, targetElementProps) {
185
+ super.onCloned(context, sourceElementProps, targetElementProps);
186
+ if (context.isBetweenIModels) {
187
+ const convertTexture = (id) => core_bentley_1.Id64.isValidId64(id) ? context.findTargetElementId(id) : id;
188
+ const skyBoxImageProps = targetElementProps?.jsonProperties?.styles?.environment?.sky?.image;
189
+ if (skyBoxImageProps?.texture && core_bentley_1.Id64.isValidId64(skyBoxImageProps.texture))
190
+ skyBoxImageProps.texture = convertTexture(skyBoxImageProps.texture);
191
+ if (skyBoxImageProps?.textures) {
192
+ skyBoxImageProps.textures.front = convertTexture(skyBoxImageProps.textures.front);
193
+ skyBoxImageProps.textures.back = convertTexture(skyBoxImageProps.textures.back);
194
+ skyBoxImageProps.textures.left = convertTexture(skyBoxImageProps.textures.left);
195
+ skyBoxImageProps.textures.right = convertTexture(skyBoxImageProps.textures.right);
196
+ skyBoxImageProps.textures.top = convertTexture(skyBoxImageProps.textures.top);
197
+ skyBoxImageProps.textures.bottom = convertTexture(skyBoxImageProps.textures.bottom);
198
+ }
199
+ if (targetElementProps?.jsonProperties?.styles?.planProjections) {
200
+ const remappedPlanProjections = {};
201
+ for (const entry of Object.entries(targetElementProps.jsonProperties.styles.planProjections)) {
202
+ const remappedModelId = context.findTargetElementId(entry[0]);
203
+ if (core_bentley_1.Id64.isValidId64(remappedModelId)) {
204
+ remappedPlanProjections[remappedModelId] = entry[1];
205
+ }
206
+ }
207
+ targetElementProps.jsonProperties.styles.planProjections = remappedPlanProjections;
208
+ }
209
+ }
210
+ }
211
+ /** Create a DisplayStyle3d for use by a ViewDefinition.
212
+ * @param iModelDb The iModel
213
+ * @param definitionModelId The [[DefinitionModel]]
214
+ * @param name The name/CodeValue of the DisplayStyle3d
215
+ * @returns The newly constructed DisplayStyle3d element.
216
+ * @throws [[IModelError]] if unable to create the element.
217
+ */
218
+ static create(iModelDb, definitionModelId, name, options) {
219
+ options = options ?? {};
220
+ let viewflags = options.viewFlags?.toJSON();
221
+ if (!viewflags)
222
+ viewflags = options.viewflags ?? new core_common_1.ViewFlags().toJSON();
223
+ const backgroundColor = options.backgroundColor instanceof core_common_1.ColorDef ? options.backgroundColor.toJSON() : options.backgroundColor;
224
+ const settings = {
225
+ ...options,
226
+ viewflags,
227
+ backgroundColor,
228
+ };
229
+ const displayStyleProps = {
230
+ classFullName: this.classFullName,
231
+ code: this.createCode(iModelDb, definitionModelId, name),
232
+ model: definitionModelId,
233
+ jsonProperties: { styles: settings },
234
+ isPrivate: false,
235
+ };
236
+ return new DisplayStyle3d(displayStyleProps, iModelDb);
237
+ }
238
+ /**
239
+ * Insert a DisplayStyle3d for use by a ViewDefinition.
240
+ * @param iModelDb Insert into this iModel
241
+ * @param definitionModelId Insert the new DisplayStyle3d into this [[DefinitionModel]]
242
+ * @param name The name of the DisplayStyle3d
243
+ * @returns The Id of the newly inserted DisplayStyle3d element.
244
+ * @throws [[IModelError]] if unable to insert the element.
245
+ */
246
+ static insert(iModelDb, definitionModelId, name, options) {
247
+ const displayStyle = this.create(iModelDb, definitionModelId, name, options);
248
+ return iModelDb.elements.insertElement(displayStyle.toJSON());
249
+ }
250
+ }
251
+ exports.DisplayStyle3d = DisplayStyle3d;
257
252
  //# sourceMappingURL=DisplayStyle.js.map