@itwin/core-backend 4.0.0-dev.7 → 4.0.0-dev.72

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