@itwin/core-backend 5.1.0-dev.5 → 5.1.0-dev.51

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 (556) hide show
  1. package/CHANGELOG.md +122 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +1 -1
  3. package/lib/cjs/BackendHubAccess.js +1 -1
  4. package/lib/cjs/BackendHubAccess.js.map +1 -1
  5. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  6. package/lib/cjs/BisCoreSchema.js +1 -1
  7. package/lib/cjs/BisCoreSchema.js.map +1 -1
  8. package/lib/cjs/BlobContainerService.js.map +1 -1
  9. package/lib/cjs/BriefcaseManager.d.ts +10 -2
  10. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  11. package/lib/cjs/BriefcaseManager.js +16 -0
  12. package/lib/cjs/BriefcaseManager.js.map +1 -1
  13. package/lib/cjs/CatalogDb.js.map +1 -1
  14. package/lib/cjs/Category.d.ts +4 -4
  15. package/lib/cjs/Category.js +4 -4
  16. package/lib/cjs/Category.js.map +1 -1
  17. package/lib/cjs/ChangeSummaryManager.js +2 -2
  18. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  19. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  20. package/lib/cjs/ChangesetECAdaptor.d.ts +67 -8
  21. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  22. package/lib/cjs/ChangesetECAdaptor.js +490 -275
  23. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  24. package/lib/cjs/ChannelControl.js.map +1 -1
  25. package/lib/cjs/CheckpointManager.js.map +1 -1
  26. package/lib/cjs/ClassRegistry.d.ts +1 -1
  27. package/lib/cjs/ClassRegistry.js +6 -6
  28. package/lib/cjs/ClassRegistry.js.map +1 -1
  29. package/lib/cjs/CloudSqlite.js +1 -1
  30. package/lib/cjs/CloudSqlite.js.map +1 -1
  31. package/lib/cjs/CodeService.js.map +1 -1
  32. package/lib/cjs/CodeSpecs.d.ts +1 -1
  33. package/lib/cjs/CodeSpecs.js +1 -1
  34. package/lib/cjs/CodeSpecs.js.map +1 -1
  35. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  36. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  37. package/lib/cjs/DevTools.js.map +1 -1
  38. package/lib/cjs/DisplayStyle.d.ts +4 -4
  39. package/lib/cjs/DisplayStyle.js +3 -3
  40. package/lib/cjs/DisplayStyle.js.map +1 -1
  41. package/lib/cjs/ECDb.d.ts +4 -4
  42. package/lib/cjs/ECDb.d.ts.map +1 -1
  43. package/lib/cjs/ECDb.js +4 -4
  44. package/lib/cjs/ECDb.js.map +1 -1
  45. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  46. package/lib/cjs/ECSqlStatement.d.ts +15 -6
  47. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  48. package/lib/cjs/ECSqlStatement.js +18 -4
  49. package/lib/cjs/ECSqlStatement.js.map +1 -1
  50. package/lib/cjs/Element.d.ts +51 -51
  51. package/lib/cjs/Element.js +52 -52
  52. package/lib/cjs/Element.js.map +1 -1
  53. package/lib/cjs/ElementAspect.d.ts +8 -8
  54. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  55. package/lib/cjs/ElementAspect.js +8 -8
  56. package/lib/cjs/ElementAspect.js.map +1 -1
  57. package/lib/cjs/ElementGraphics.js.map +1 -1
  58. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  59. package/lib/cjs/Entity.d.ts +3 -3
  60. package/lib/cjs/Entity.js +2 -2
  61. package/lib/cjs/Entity.js.map +1 -1
  62. package/lib/cjs/EntityReferences.js.map +1 -1
  63. package/lib/cjs/ExportGraphics.d.ts +54 -8
  64. package/lib/cjs/ExportGraphics.d.ts.map +1 -1
  65. package/lib/cjs/ExportGraphics.js +158 -59
  66. package/lib/cjs/ExportGraphics.js.map +1 -1
  67. package/lib/cjs/ExternalSource.js.map +1 -1
  68. package/lib/cjs/FontFile.js.map +1 -1
  69. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  70. package/lib/cjs/GeographicCRSServices.d.ts +6 -2
  71. package/lib/cjs/GeographicCRSServices.d.ts.map +1 -1
  72. package/lib/cjs/GeographicCRSServices.js +1 -1
  73. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  74. package/lib/cjs/GeometrySummary.js +47 -47
  75. package/lib/cjs/GeometrySummary.js.map +1 -1
  76. package/lib/cjs/IModelDb.d.ts +29 -23
  77. package/lib/cjs/IModelDb.d.ts.map +1 -1
  78. package/lib/cjs/IModelDb.js +102 -49
  79. package/lib/cjs/IModelDb.js.map +1 -1
  80. package/lib/cjs/IModelDbFonts.js.map +1 -1
  81. package/lib/cjs/IModelElementCloneContext.d.ts +1 -1
  82. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  83. package/lib/cjs/IModelElementCloneContext.js +1 -1
  84. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  85. package/lib/cjs/IModelHost.d.ts +2 -3
  86. package/lib/cjs/IModelHost.d.ts.map +1 -1
  87. package/lib/cjs/IModelHost.js +2 -3
  88. package/lib/cjs/IModelHost.js.map +1 -1
  89. package/lib/cjs/IModelJsFs.js.map +1 -1
  90. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  91. package/lib/cjs/IpcHost.js.map +1 -1
  92. package/lib/cjs/LineStyle.js.map +1 -1
  93. package/lib/cjs/LocalHub.js +1 -1
  94. package/lib/cjs/LocalHub.js.map +1 -1
  95. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  96. package/lib/cjs/LockControl.js.map +1 -1
  97. package/lib/cjs/Material.d.ts +1 -1
  98. package/lib/cjs/Material.js +1 -1
  99. package/lib/cjs/Material.js.map +1 -1
  100. package/lib/cjs/Model.d.ts +22 -22
  101. package/lib/cjs/Model.js +22 -22
  102. package/lib/cjs/Model.js.map +1 -1
  103. package/lib/cjs/NativeAppStorage.js.map +1 -1
  104. package/lib/cjs/NativeHost.js.map +1 -1
  105. package/lib/cjs/NavigationRelationship.js.map +1 -1
  106. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  107. package/lib/cjs/PropertyStore.js.map +1 -1
  108. package/lib/cjs/Relationship.js.map +1 -1
  109. package/lib/cjs/RpcBackend.js.map +1 -1
  110. package/lib/cjs/SQLiteDb.d.ts +1 -1
  111. package/lib/cjs/SQLiteDb.js +1 -1
  112. package/lib/cjs/SQLiteDb.js.map +1 -1
  113. package/lib/cjs/Schema.js.map +1 -1
  114. package/lib/cjs/SchemaSync.js.map +1 -1
  115. package/lib/cjs/SchemaUtils.js.map +1 -1
  116. package/lib/cjs/SheetIndex.js.map +1 -1
  117. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  118. package/lib/cjs/SqliteStatement.d.ts +1 -1
  119. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  120. package/lib/cjs/SqliteStatement.js +1 -1
  121. package/lib/cjs/SqliteStatement.js.map +1 -1
  122. package/lib/cjs/Texture.d.ts +1 -1
  123. package/lib/cjs/Texture.js +1 -1
  124. package/lib/cjs/Texture.js.map +1 -1
  125. package/lib/cjs/TileStorage.js.map +1 -1
  126. package/lib/cjs/TxnManager.d.ts +4 -4
  127. package/lib/cjs/TxnManager.js +1 -1
  128. package/lib/cjs/TxnManager.js.map +1 -1
  129. package/lib/cjs/ViewDefinition.d.ts +40 -14
  130. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  131. package/lib/cjs/ViewDefinition.js +42 -14
  132. package/lib/cjs/ViewDefinition.js.map +1 -1
  133. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  134. package/lib/cjs/ViewStore.js.map +1 -1
  135. package/lib/cjs/annotations/FrameGeometry.d.ts +52 -0
  136. package/lib/cjs/annotations/FrameGeometry.d.ts.map +1 -0
  137. package/lib/cjs/annotations/FrameGeometry.js +250 -0
  138. package/lib/cjs/annotations/FrameGeometry.js.map +1 -0
  139. package/lib/cjs/{TextAnnotationElement.d.ts → annotations/TextAnnotationElement.d.ts} +6 -11
  140. package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -0
  141. package/lib/cjs/{TextAnnotationElement.js → annotations/TextAnnotationElement.js} +20 -26
  142. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -0
  143. package/lib/cjs/annotations/TextAnnotationGeometry.d.ts +31 -0
  144. package/lib/cjs/annotations/TextAnnotationGeometry.d.ts.map +1 -0
  145. package/lib/cjs/annotations/TextAnnotationGeometry.js +132 -0
  146. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -0
  147. package/lib/cjs/annotations/TextBlockGeometry.d.ts +16 -0
  148. package/lib/cjs/annotations/TextBlockGeometry.d.ts.map +1 -0
  149. package/lib/cjs/{TextAnnotationGeometry.js → annotations/TextBlockGeometry.js} +13 -69
  150. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -0
  151. package/lib/cjs/{TextAnnotationLayout.d.ts → annotations/TextBlockLayout.d.ts} +22 -8
  152. package/lib/cjs/annotations/TextBlockLayout.d.ts.map +1 -0
  153. package/lib/cjs/{TextAnnotationLayout.js → annotations/TextBlockLayout.js} +51 -9
  154. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -0
  155. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  156. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  157. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  158. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  159. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  160. package/lib/cjs/core-backend.d.ts +5 -3
  161. package/lib/cjs/core-backend.d.ts.map +1 -1
  162. package/lib/cjs/core-backend.js +25 -6
  163. package/lib/cjs/core-backend.js.map +1 -1
  164. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  165. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  166. package/lib/cjs/domains/GenericElements.js.map +1 -1
  167. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  168. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  169. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  170. package/lib/cjs/internal/ElementLRUCache.d.ts +23 -0
  171. package/lib/cjs/internal/ElementLRUCache.d.ts.map +1 -1
  172. package/lib/cjs/internal/ElementLRUCache.js +167 -3
  173. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  174. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  175. package/lib/cjs/internal/HubMock.js.map +1 -1
  176. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  177. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  178. package/lib/cjs/internal/NoLocks.js.map +1 -1
  179. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  180. package/lib/cjs/internal/Symbols.d.ts +1 -0
  181. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  182. package/lib/cjs/internal/Symbols.js +2 -1
  183. package/lib/cjs/internal/Symbols.js.map +1 -1
  184. package/lib/cjs/internal/cross-package.js.map +1 -1
  185. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  186. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  187. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  188. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  189. package/lib/cjs/rpc/multipart.js.map +1 -1
  190. package/lib/cjs/rpc/tracing.js.map +1 -1
  191. package/lib/cjs/rpc/web/logging.js.map +1 -1
  192. package/lib/cjs/rpc/web/request.js.map +1 -1
  193. package/lib/cjs/rpc/web/response.js.map +1 -1
  194. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  195. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +1 -1
  196. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +1 -1
  197. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  198. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  199. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +2 -2
  200. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  201. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +1 -1
  202. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +1 -1
  203. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  204. package/lib/cjs/workspace/Settings.js.map +1 -1
  205. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  206. package/lib/cjs/workspace/Workspace.js.map +1 -1
  207. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  208. package/lib/esm/BackendHubAccess.d.ts +1 -1
  209. package/lib/esm/BackendHubAccess.js +1 -1
  210. package/lib/esm/BackendHubAccess.js.map +1 -1
  211. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  212. package/lib/esm/BisCoreSchema.js +1 -1
  213. package/lib/esm/BisCoreSchema.js.map +1 -1
  214. package/lib/esm/BlobContainerService.js.map +1 -1
  215. package/lib/esm/BriefcaseManager.d.ts +10 -2
  216. package/lib/esm/BriefcaseManager.d.ts.map +1 -1
  217. package/lib/esm/BriefcaseManager.js +17 -1
  218. package/lib/esm/BriefcaseManager.js.map +1 -1
  219. package/lib/esm/CatalogDb.js.map +1 -1
  220. package/lib/esm/Category.d.ts +4 -4
  221. package/lib/esm/Category.js +4 -4
  222. package/lib/esm/Category.js.map +1 -1
  223. package/lib/esm/ChangeSummaryManager.js +2 -2
  224. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  225. package/lib/esm/ChangedElementsDb.js.map +1 -1
  226. package/lib/esm/ChangesetECAdaptor.d.ts +67 -8
  227. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
  228. package/lib/esm/ChangesetECAdaptor.js +490 -275
  229. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  230. package/lib/esm/ChannelControl.js.map +1 -1
  231. package/lib/esm/CheckpointManager.js.map +1 -1
  232. package/lib/esm/ClassRegistry.d.ts +1 -1
  233. package/lib/esm/ClassRegistry.js +6 -6
  234. package/lib/esm/ClassRegistry.js.map +1 -1
  235. package/lib/esm/CloudSqlite.js +1 -1
  236. package/lib/esm/CloudSqlite.js.map +1 -1
  237. package/lib/esm/CodeService.js.map +1 -1
  238. package/lib/esm/CodeSpecs.d.ts +1 -1
  239. package/lib/esm/CodeSpecs.js +1 -1
  240. package/lib/esm/CodeSpecs.js.map +1 -1
  241. package/lib/esm/ConcurrentQuery.js.map +1 -1
  242. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  243. package/lib/esm/DevTools.js.map +1 -1
  244. package/lib/esm/DisplayStyle.d.ts +4 -4
  245. package/lib/esm/DisplayStyle.js +3 -3
  246. package/lib/esm/DisplayStyle.js.map +1 -1
  247. package/lib/esm/ECDb.d.ts +4 -4
  248. package/lib/esm/ECDb.d.ts.map +1 -1
  249. package/lib/esm/ECDb.js +4 -4
  250. package/lib/esm/ECDb.js.map +1 -1
  251. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  252. package/lib/esm/ECSqlStatement.d.ts +15 -6
  253. package/lib/esm/ECSqlStatement.d.ts.map +1 -1
  254. package/lib/esm/ECSqlStatement.js +18 -4
  255. package/lib/esm/ECSqlStatement.js.map +1 -1
  256. package/lib/esm/Element.d.ts +51 -51
  257. package/lib/esm/Element.js +52 -52
  258. package/lib/esm/Element.js.map +1 -1
  259. package/lib/esm/ElementAspect.d.ts +8 -8
  260. package/lib/esm/ElementAspect.d.ts.map +1 -1
  261. package/lib/esm/ElementAspect.js +8 -8
  262. package/lib/esm/ElementAspect.js.map +1 -1
  263. package/lib/esm/ElementGraphics.js.map +1 -1
  264. package/lib/esm/ElementTreeWalker.js.map +1 -1
  265. package/lib/esm/Entity.d.ts +3 -3
  266. package/lib/esm/Entity.js +2 -2
  267. package/lib/esm/Entity.js.map +1 -1
  268. package/lib/esm/EntityReferences.js.map +1 -1
  269. package/lib/esm/ExportGraphics.d.ts +54 -8
  270. package/lib/esm/ExportGraphics.d.ts.map +1 -1
  271. package/lib/esm/ExportGraphics.js +156 -58
  272. package/lib/esm/ExportGraphics.js.map +1 -1
  273. package/lib/esm/ExternalSource.js.map +1 -1
  274. package/lib/esm/FontFile.js.map +1 -1
  275. package/lib/esm/GeoCoordConfig.js.map +1 -1
  276. package/lib/esm/GeographicCRSServices.d.ts +6 -2
  277. package/lib/esm/GeographicCRSServices.d.ts.map +1 -1
  278. package/lib/esm/GeographicCRSServices.js +1 -1
  279. package/lib/esm/GeographicCRSServices.js.map +1 -1
  280. package/lib/esm/GeometrySummary.js +47 -47
  281. package/lib/esm/GeometrySummary.js.map +1 -1
  282. package/lib/esm/IModelDb.d.ts +29 -23
  283. package/lib/esm/IModelDb.d.ts.map +1 -1
  284. package/lib/esm/IModelDb.js +105 -52
  285. package/lib/esm/IModelDb.js.map +1 -1
  286. package/lib/esm/IModelDbFonts.js.map +1 -1
  287. package/lib/esm/IModelElementCloneContext.d.ts +1 -1
  288. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -1
  289. package/lib/esm/IModelElementCloneContext.js +1 -1
  290. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  291. package/lib/esm/IModelHost.d.ts +2 -3
  292. package/lib/esm/IModelHost.d.ts.map +1 -1
  293. package/lib/esm/IModelHost.js +2 -3
  294. package/lib/esm/IModelHost.js.map +1 -1
  295. package/lib/esm/IModelJsFs.js.map +1 -1
  296. package/lib/esm/ImageSourceConversion.js.map +1 -1
  297. package/lib/esm/IpcHost.js.map +1 -1
  298. package/lib/esm/LineStyle.js.map +1 -1
  299. package/lib/esm/LocalHub.js +1 -1
  300. package/lib/esm/LocalHub.js.map +1 -1
  301. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  302. package/lib/esm/LockControl.js.map +1 -1
  303. package/lib/esm/Material.d.ts +1 -1
  304. package/lib/esm/Material.js +1 -1
  305. package/lib/esm/Material.js.map +1 -1
  306. package/lib/esm/Model.d.ts +22 -22
  307. package/lib/esm/Model.js +22 -22
  308. package/lib/esm/Model.js.map +1 -1
  309. package/lib/esm/NativeAppStorage.js.map +1 -1
  310. package/lib/esm/NativeHost.js.map +1 -1
  311. package/lib/esm/NavigationRelationship.js.map +1 -1
  312. package/lib/esm/PromiseMemoizer.js.map +1 -1
  313. package/lib/esm/PropertyStore.js.map +1 -1
  314. package/lib/esm/Relationship.js.map +1 -1
  315. package/lib/esm/RpcBackend.js.map +1 -1
  316. package/lib/esm/SQLiteDb.d.ts +1 -1
  317. package/lib/esm/SQLiteDb.js +1 -1
  318. package/lib/esm/SQLiteDb.js.map +1 -1
  319. package/lib/esm/Schema.js.map +1 -1
  320. package/lib/esm/SchemaSync.js.map +1 -1
  321. package/lib/esm/SchemaUtils.js.map +1 -1
  322. package/lib/esm/SheetIndex.js.map +1 -1
  323. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  324. package/lib/esm/SqliteStatement.d.ts +1 -1
  325. package/lib/esm/SqliteStatement.d.ts.map +1 -1
  326. package/lib/esm/SqliteStatement.js +1 -1
  327. package/lib/esm/SqliteStatement.js.map +1 -1
  328. package/lib/esm/Texture.d.ts +1 -1
  329. package/lib/esm/Texture.js +1 -1
  330. package/lib/esm/Texture.js.map +1 -1
  331. package/lib/esm/TileStorage.js.map +1 -1
  332. package/lib/esm/TxnManager.d.ts +4 -4
  333. package/lib/esm/TxnManager.js +1 -1
  334. package/lib/esm/TxnManager.js.map +1 -1
  335. package/lib/esm/ViewDefinition.d.ts +40 -14
  336. package/lib/esm/ViewDefinition.d.ts.map +1 -1
  337. package/lib/esm/ViewDefinition.js +42 -14
  338. package/lib/esm/ViewDefinition.js.map +1 -1
  339. package/lib/esm/ViewStateHydrator.js.map +1 -1
  340. package/lib/esm/ViewStore.js.map +1 -1
  341. package/lib/esm/annotations/FrameGeometry.d.ts +52 -0
  342. package/lib/esm/annotations/FrameGeometry.d.ts.map +1 -0
  343. package/lib/esm/annotations/FrameGeometry.js +245 -0
  344. package/lib/esm/annotations/FrameGeometry.js.map +1 -0
  345. package/lib/esm/{TextAnnotationElement.d.ts → annotations/TextAnnotationElement.d.ts} +6 -11
  346. package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -0
  347. package/lib/esm/{TextAnnotationElement.js → annotations/TextAnnotationElement.js} +22 -28
  348. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -0
  349. package/lib/esm/annotations/TextAnnotationGeometry.d.ts +31 -0
  350. package/lib/esm/annotations/TextAnnotationGeometry.d.ts.map +1 -0
  351. package/lib/esm/annotations/TextAnnotationGeometry.js +129 -0
  352. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -0
  353. package/lib/esm/annotations/TextBlockGeometry.d.ts +16 -0
  354. package/lib/esm/annotations/TextBlockGeometry.d.ts.map +1 -0
  355. package/lib/esm/{TextAnnotationGeometry.js → annotations/TextBlockGeometry.js} +13 -69
  356. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -0
  357. package/lib/esm/{TextAnnotationLayout.d.ts → annotations/TextBlockLayout.d.ts} +22 -8
  358. package/lib/esm/annotations/TextBlockLayout.d.ts.map +1 -0
  359. package/lib/esm/{TextAnnotationLayout.js → annotations/TextBlockLayout.js} +51 -9
  360. package/lib/esm/annotations/TextBlockLayout.js.map +1 -0
  361. package/lib/esm/core-backend.d.ts +5 -3
  362. package/lib/esm/core-backend.d.ts.map +1 -1
  363. package/lib/esm/core-backend.js +25 -3
  364. package/lib/esm/core-backend.js.map +1 -1
  365. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  366. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  367. package/lib/esm/domains/GenericElements.js.map +1 -1
  368. package/lib/esm/domains/GenericSchema.js.map +1 -1
  369. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  370. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  371. package/lib/esm/internal/ElementLRUCache.d.ts +23 -0
  372. package/lib/esm/internal/ElementLRUCache.d.ts.map +1 -1
  373. package/lib/esm/internal/ElementLRUCache.js +165 -2
  374. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  375. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  376. package/lib/esm/internal/HubMock.js.map +1 -1
  377. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  378. package/lib/esm/internal/NativePlatform.js.map +1 -1
  379. package/lib/esm/internal/NoLocks.js.map +1 -1
  380. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  381. package/lib/esm/internal/Symbols.d.ts +1 -0
  382. package/lib/esm/internal/Symbols.d.ts.map +1 -1
  383. package/lib/esm/internal/Symbols.js +1 -0
  384. package/lib/esm/internal/Symbols.js.map +1 -1
  385. package/lib/esm/internal/cross-package.js.map +1 -1
  386. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  387. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  388. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  389. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  390. package/lib/esm/rpc/multipart.js.map +1 -1
  391. package/lib/esm/rpc/tracing.js.map +1 -1
  392. package/lib/esm/rpc/web/logging.js.map +1 -1
  393. package/lib/esm/rpc/web/request.js.map +1 -1
  394. package/lib/esm/rpc/web/response.js.map +1 -1
  395. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  396. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +1 -1
  397. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +1 -1
  398. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  399. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  400. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +2 -2
  401. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  402. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +1 -1
  403. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +1 -1
  404. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  405. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  406. package/lib/esm/test/AttachDb.test.js +11 -11
  407. package/lib/esm/test/AttachDb.test.js.map +1 -1
  408. package/lib/esm/test/ElementLRUCache.test.js +224 -1
  409. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  410. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  411. package/lib/esm/test/IModelHost.test.js.map +1 -1
  412. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  413. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  414. package/lib/esm/test/IpcHost.test.js.map +1 -1
  415. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  416. package/lib/esm/test/PrintElementTree.js.map +1 -1
  417. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  418. package/lib/esm/test/RevisionUtility.js.map +1 -1
  419. package/lib/esm/test/SchemaUtils.test.js +25 -25
  420. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  421. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  422. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  423. package/lib/esm/test/TestUtils.d.ts +1 -1
  424. package/lib/esm/test/TestUtils.d.ts.map +1 -1
  425. package/lib/esm/test/TestUtils.js +1 -1
  426. package/lib/esm/test/TestUtils.js.map +1 -1
  427. package/lib/esm/test/annotations/TextAnnotation.test.js +190 -1025
  428. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  429. package/lib/esm/test/annotations/TextBlock.test.d.ts +2 -0
  430. package/lib/esm/test/annotations/TextBlock.test.d.ts.map +1 -0
  431. package/lib/esm/test/annotations/TextBlock.test.js +1105 -0
  432. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -0
  433. package/lib/esm/test/categories/Category.test.js.map +1 -1
  434. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  435. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  436. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  437. package/lib/esm/test/ecdb/ConcurrentQuery.test.d.ts +2 -0
  438. package/lib/esm/test/ecdb/ConcurrentQuery.test.d.ts.map +1 -0
  439. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +164 -0
  440. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -0
  441. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +35 -45
  442. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  443. package/lib/esm/test/ecdb/ECDb.test.js +86 -65
  444. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  445. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  446. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  447. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  448. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  449. package/lib/esm/test/ecdb/ECSqlQuery.test.js +0 -55
  450. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  451. package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
  452. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  453. package/lib/esm/test/ecdb/ECSqlStatement.test.js +484 -292
  454. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  455. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  456. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  457. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  458. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  459. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  460. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  461. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  462. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  463. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  464. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  465. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  466. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  467. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  468. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  469. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  470. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  471. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  472. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  473. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  474. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  475. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  476. package/lib/esm/test/imageData.js.map +1 -1
  477. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  478. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  479. package/lib/esm/test/imodel/IModel.test.js +228 -5
  480. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  481. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  482. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  483. package/lib/esm/test/index.js.map +1 -1
  484. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  485. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  486. package/lib/esm/test/misc/GeoServices.test.js +23 -9
  487. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  488. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  489. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  490. package/lib/esm/test/rpc/response.test.js.map +1 -1
  491. package/lib/esm/test/schema/ClassRegistry.test.js +71 -71
  492. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  493. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  494. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  495. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  496. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  497. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  498. package/lib/esm/test/standalone/ChangesetReader.test.js +479 -164
  499. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  500. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  501. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  502. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  503. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  504. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  505. package/lib/esm/test/standalone/ExportGraphics.test.js +67 -15
  506. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  507. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  508. package/lib/esm/test/standalone/GeometryStream.test.js +49 -1
  509. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  510. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  511. package/lib/esm/test/standalone/IModelLimits.test.d.ts +2 -0
  512. package/lib/esm/test/standalone/IModelLimits.test.d.ts.map +1 -0
  513. package/lib/esm/test/standalone/IModelLimits.test.js +103 -0
  514. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -0
  515. package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
  516. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  517. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  518. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  519. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  520. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  521. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  522. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  523. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  524. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  525. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  526. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  527. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  528. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  529. package/lib/esm/test/standalone/SnapshotDb.test.js +19 -1
  530. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  531. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  532. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  533. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  534. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  535. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  536. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  537. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  538. package/lib/esm/workspace/Settings.js.map +1 -1
  539. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  540. package/lib/esm/workspace/Workspace.js.map +1 -1
  541. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  542. package/package.json +12 -12
  543. package/lib/cjs/TextAnnotationElement.d.ts.map +0 -1
  544. package/lib/cjs/TextAnnotationElement.js.map +0 -1
  545. package/lib/cjs/TextAnnotationGeometry.d.ts +0 -32
  546. package/lib/cjs/TextAnnotationGeometry.d.ts.map +0 -1
  547. package/lib/cjs/TextAnnotationGeometry.js.map +0 -1
  548. package/lib/cjs/TextAnnotationLayout.d.ts.map +0 -1
  549. package/lib/cjs/TextAnnotationLayout.js.map +0 -1
  550. package/lib/esm/TextAnnotationElement.d.ts.map +0 -1
  551. package/lib/esm/TextAnnotationElement.js.map +0 -1
  552. package/lib/esm/TextAnnotationGeometry.d.ts +0 -32
  553. package/lib/esm/TextAnnotationGeometry.d.ts.map +0 -1
  554. package/lib/esm/TextAnnotationGeometry.js.map +0 -1
  555. package/lib/esm/TextAnnotationLayout.d.ts.map +0 -1
  556. package/lib/esm/TextAnnotationLayout.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LockControl.js","sourceRoot":"","sources":["../../src/LockControl.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module iModels\n */\n\nimport { Id64Arg, Id64String } from \"@itwin/core-bentley\";\nimport { _close, _elementWasCreated, _implementationProhibited, _releaseAllLocks } from \"./internal/Symbols\";\n\n/**\n * Interface for acquiring element locks to [coordinate simultaneous edits]($docs/learning/backend/ConcurrencyControl.md) from multiple briefcases.\n * @see [[IModelDb.locks]] to access the locks for an iModel.\n * @public\n */\nexport interface LockControl {\n /** @internal*/\n readonly [_implementationProhibited]: unknown;\n\n /**\n * true if this LockControl uses a server-based concurrency approach.\n */\n readonly isServerBased: boolean;\n\n /**\n * Close the local lock control database\n * @internal\n */\n [_close]: () => void;\n\n /**\n * Notification that a new element was just created. Called by [[Element.onInserted]]\n * @internal\n */\n [_elementWasCreated]: (id: Id64String) => void;\n\n /**\n * Throw if locks are required and the exclusive lock is not held on the supplied element.\n * Note: there is no need to check the shared locks on parents/models since an element cannot hold the exclusive lock without first obtaining them.\n * Called by functions like [[Element.onUpdate]], [[Element.onDelete]], etc.\n */\n checkExclusiveLock(id: Id64String, type: string, operation: string): void;\n\n /**\n * Throw if locks are required and a shared lock is not held on the supplied element.\n * Called by [[Element.onInsert]] to ensure shared lock is held on the new element's model and parent element.\n */\n checkSharedLock(id: Id64String, type: string, operation: string): void;\n\n /**\n * Determine whether the owning iModel currently holds the exclusive lock on the specified element.\n */\n holdsExclusiveLock(id: Id64String): boolean;\n\n /**\n * Determine whether the owning iModel currently holds a shared lock on the specified element.\n */\n holdsSharedLock(id: Id64String): boolean;\n\n /**\n * Acquire locks on one or more elements from the lock server, if required and not already held.\n * If any required lock is not available, this method throws an exception and *none* of the requested locks are acquired.\n * @note Acquiring the exclusive lock on an element requires also obtaining a shared lock on all its owner elements. This method will\n * attempt to acquire all necessary locks for both sets of input ids.\n */\n acquireLocks(arg: {\n /** if present, one or more elements to obtain shared lock */\n shared?: Id64Arg;\n /** if present, one or more elements to obtain exclusive lock */\n exclusive?: Id64Arg;\n }): Promise<void>;\n\n /** Release all locks currently held by this briefcase from the locker server.\n * This is typically done on your behalf by [[BriefcaseDb.pushChanges]].\n * You may want to do it manually when abandoning all of your briefcase's local changes.\n * You cannot release your locks if your briefcase contains local changes.\n * @throws Error if the briefcase has local changes, or if any other error occurs while releasing the locks.\n */\n releaseAllLocks(): Promise<void>;\n\n /**\n * Release all locks currently held by this Briefcase from the lock server.\n * Not possible to release locks unless push or abandon all changes. Should only be called internally.\n * @internal\n */\n [_releaseAllLocks]: () => Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"LockControl.js","sourceRoot":"","sources":["../../src/LockControl.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC","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 iModels\r\n */\r\n\r\nimport { Id64Arg, Id64String } from \"@itwin/core-bentley\";\r\nimport { _close, _elementWasCreated, _implementationProhibited, _releaseAllLocks } from \"./internal/Symbols\";\r\n\r\n/**\r\n * Interface for acquiring element locks to [coordinate simultaneous edits]($docs/learning/backend/ConcurrencyControl.md) from multiple briefcases.\r\n * @see [[IModelDb.locks]] to access the locks for an iModel.\r\n * @public\r\n */\r\nexport interface LockControl {\r\n /** @internal*/\r\n readonly [_implementationProhibited]: unknown;\r\n\r\n /**\r\n * true if this LockControl uses a server-based concurrency approach.\r\n */\r\n readonly isServerBased: boolean;\r\n\r\n /**\r\n * Close the local lock control database\r\n * @internal\r\n */\r\n [_close]: () => void;\r\n\r\n /**\r\n * Notification that a new element was just created. Called by [[Element.onInserted]]\r\n * @internal\r\n */\r\n [_elementWasCreated]: (id: Id64String) => void;\r\n\r\n /**\r\n * Throw if locks are required and the exclusive lock is not held on the supplied element.\r\n * Note: there is no need to check the shared locks on parents/models since an element cannot hold the exclusive lock without first obtaining them.\r\n * Called by functions like [[Element.onUpdate]], [[Element.onDelete]], etc.\r\n */\r\n checkExclusiveLock(id: Id64String, type: string, operation: string): void;\r\n\r\n /**\r\n * Throw if locks are required and a shared lock is not held on the supplied element.\r\n * Called by [[Element.onInsert]] to ensure shared lock is held on the new element's model and parent element.\r\n */\r\n checkSharedLock(id: Id64String, type: string, operation: string): void;\r\n\r\n /**\r\n * Determine whether the owning iModel currently holds the exclusive lock on the specified element.\r\n */\r\n holdsExclusiveLock(id: Id64String): boolean;\r\n\r\n /**\r\n * Determine whether the owning iModel currently holds a shared lock on the specified element.\r\n */\r\n holdsSharedLock(id: Id64String): boolean;\r\n\r\n /**\r\n * Acquire locks on one or more elements from the lock server, if required and not already held.\r\n * If any required lock is not available, this method throws an exception and *none* of the requested locks are acquired.\r\n * @note Acquiring the exclusive lock on an element requires also obtaining a shared lock on all its owner elements. This method will\r\n * attempt to acquire all necessary locks for both sets of input ids.\r\n */\r\n acquireLocks(arg: {\r\n /** if present, one or more elements to obtain shared lock */\r\n shared?: Id64Arg;\r\n /** if present, one or more elements to obtain exclusive lock */\r\n exclusive?: Id64Arg;\r\n }): Promise<void>;\r\n\r\n /** Release all locks currently held by this briefcase from the locker server.\r\n * This is typically done on your behalf by [[BriefcaseDb.pushChanges]].\r\n * You may want to do it manually when abandoning all of your briefcase's local changes.\r\n * You cannot release your locks if your briefcase contains local changes.\r\n * @throws Error if the briefcase has local changes, or if any other error occurs while releasing the locks.\r\n */\r\n releaseAllLocks(): Promise<void>;\r\n\r\n /**\r\n * Release all locks currently held by this Briefcase from the lock server.\r\n * Not possible to release locks unless push or abandon all changes. Should only be called internally.\r\n * @internal\r\n */\r\n [_releaseAllLocks]: () => Promise<void>;\r\n}\r\n"]}
@@ -92,7 +92,7 @@ export declare namespace RenderMaterialElement {
92
92
  /** Parameters used to construct a [[RenderMaterial]].
93
93
  * The persistent JSON representation - [RenderMaterialAssetProps]($common) - is quite verbose and unwieldy. This representation simplifies it somewhat.
94
94
  * @see [[RenderMaterialElement.create]] and [[RenderMaterialElement.insert]] to create a [[RenderMaterial]] from parameters of this type.
95
- * @deprecated in 3.6 because it is not useful to use a `class` - just use [[RenderMaterialElementParams]] directly instead.
95
+ * @deprecated in 3.6 - might be removed in next major version. Because it is not useful to use a `class` - just use [[RenderMaterialElementParams]] directly instead.
96
96
  */
97
97
  class Params {
98
98
  /** A required palette name that categorizes this RenderMaterial */
@@ -215,7 +215,7 @@ export class RenderMaterialElement extends DefinitionElement {
215
215
  /** Parameters used to construct a [[RenderMaterial]].
216
216
  * The persistent JSON representation - [RenderMaterialAssetProps]($common) - is quite verbose and unwieldy. This representation simplifies it somewhat.
217
217
  * @see [[RenderMaterialElement.create]] and [[RenderMaterialElement.insert]] to create a [[RenderMaterial]] from parameters of this type.
218
- * @deprecated in 3.6 because it is not useful to use a `class` - just use [[RenderMaterialElementParams]] directly instead.
218
+ * @deprecated in 3.6 - might be removed in next major version. Because it is not useful to use a `class` - just use [[RenderMaterialElementParams]] directly instead.
219
219
  */
220
220
  class Params {
221
221
  /** A required palette name that categorizes this RenderMaterial */
@@ -1 +1 @@
1
- {"version":3,"file":"Material.js","sourceRoot":"","sources":["../../src/Material.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Elements\n */\n\nimport { Id64, Id64String, JsonUtils } from \"@itwin/core-bentley\";\nimport {\n BisCodeSpec, Code, CodeScopeProps, CodeSpec, DefinitionElementProps, ElementProps, NormalMapProps, RenderMaterialAssetMapsProps, RenderMaterialProps, RgbFactorProps, TextureMapProps,\n} from \"@itwin/core-common\";\nimport { DefinitionElement } from \"./Element\";\nimport { IModelDb } from \"./IModelDb\";\nimport { IModelElementCloneContext } from \"./IModelElementCloneContext\";\nimport { CustomHandledProperty, DeserializeEntityArgs, ECSqlRow } from \"./Entity\";\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/** A PhysicalMaterial defines the matter that makes up physical elements.\n * @note See [[RenderMaterialElement]] for the DefinitionElement used to define rendering characteristics.\n * @public\n */\nexport abstract class PhysicalMaterial extends DefinitionElement {\n public static override get className(): string { return \"PhysicalMaterial\"; }\n /** Create a Code for a PhysicalMaterial given a name that is meant to be unique within the scope of the specified DefinitionModel.\n * @param iModel The IModelDb\n * @param definitionModelId The Id of the DefinitionModel that will contain the PhysicalMaterial and provide the scope for its name.\n * @param name The name (codeValue) of the PhysicalMaterial\n */\n public static createCode(iModel: IModelDb, definitionModelId: CodeScopeProps, name: string): Code {\n const codeSpec: CodeSpec = iModel.codeSpecs.getByName(BisCodeSpec.physicalMaterial);\n return new Code({ spec: codeSpec.id, scope: definitionModelId, value: name });\n }\n /** Create a PhysicalMaterial\n * @param iModelDb The IModelDb\n * @param definitionModelId The Id of the DefinitionModel that will contain the PhysicalMaterial and provide the scope for its name.\n * @param name The name (codeValue) of the PhysicalMaterial\n * @returns The newly constructed PhysicalMaterial\n * @throws [[IModelError]] if there is a problem creating the PhysicalMaterial\n */\n public static create<T extends PhysicalMaterial>(iModelDb: IModelDb, definitionModelId: CodeScopeProps, name: string): T {\n const elementProps: DefinitionElementProps = {\n classFullName: this.classFullName,\n model: definitionModelId,\n code: this.createCode(iModelDb, definitionModelId, name),\n };\n return iModelDb.elements.createElement(elementProps);\n }\n}\n\n/** Defines a rendering material.\n * @note See [[PhysicalMaterial]] for the DefinitionElement used to define the matter that makes up physical elements.\n * @public\n */\nexport class RenderMaterialElement extends DefinitionElement {\n public static override get className(): string { return \"RenderMaterial\"; }\n\n /** The name of a palette that can be used to categorize multiple materials. */\n public paletteName: string;\n /** An optional description of the material. */\n public description?: string;\n\n private constructor(props: RenderMaterialProps, iModel: IModelDb) {\n super(props, iModel);\n this.paletteName = props.paletteName;\n this.description = props.description;\n }\n\n public override toJSON(): RenderMaterialProps {\n const val = super.toJSON() as RenderMaterialProps;\n val.paletteName = this.paletteName;\n val.description = this.description;\n return val;\n }\n\n /**\n * RenderMaterialElement custom HandledProps includes 'paletteName'.\n * @inheritdoc\n * @beta\n */\n protected static override readonly _customHandledProps: CustomHandledProperty[] = [\n { propertyName: \"paletteName\", source: \"Class\" },\n ];\n\n /**\n * RenderMaterialElement deserializes 'paletteName'.\n * @inheritdoc\n * @beta\n */\n public static override deserialize(props: DeserializeEntityArgs): RenderMaterialProps {\n const elProps = super.deserialize(props) as RenderMaterialProps;\n const instance = props.row;\n elProps.paletteName = JsonUtils.asString(instance.paletteName);\n return elProps;\n }\n\n /**\n * RenderMaterialElement serializes 'paletteName'.\n * @inheritdoc\n * @beta\n */\n public static override serialize(props: RenderMaterialProps, iModel: IModelDb): ECSqlRow {\n const inst = super.serialize(props, iModel);\n inst.paletteName = props.paletteName;\n return inst;\n }\n\n /** Create a Code for a RenderMaterial given a name that is meant to be unique within the scope of the specified DefinitionModel.\n * @param iModel The IModelDb\n * @param scopeModelId The Id of the DefinitionModel that contains the RenderMaterial and provides the scope for its name.\n * @param name The RenderMaterial name\n */\n public static createCode(iModel: IModelDb, scopeModelId: CodeScopeProps, name: string): Code {\n const codeSpec: CodeSpec = iModel.codeSpecs.getByName(BisCodeSpec.renderMaterial);\n return 0 === name.length ? Code.createEmpty() : new Code({ spec: codeSpec.id, scope: scopeModelId, value: name });\n }\n /**\n * Create a RenderMaterial with given parameters.\n * @param iModelDb The iModel\n * @param definitionModelId The [[DefinitionModel]]\n * @param materialName The name/CodeValue of the RenderMaterial\n * @param params Parameters object which describes how to construct the RenderMaterial\n * @returns The newly constructed RenderMaterial element.\n * @throws [[IModelError]] if unable to create the element.\n */\n public static create(iModelDb: IModelDb, definitionModelId: Id64String, materialName: string, params: RenderMaterialElementParams): RenderMaterialElement {\n let maps: RenderMaterialAssetMapsProps | undefined;\n const pbr_normal = params.normalMap?.scale;\n if (params.patternMap || params.normalMap) {\n // If both normal and pattern map are present, their texture mapping modes, angles, scales, etc are expected to match.\n type TexMap = Omit<TextureMapProps, \"TextureId\">;\n function choose<K extends keyof TexMap>(obj: TexMap, key: K): void {\n const pat = params.patternMap;\n if (pat && undefined !== pat[key])\n obj[key] = pat[key];\n else if (params.normalMap && undefined !== params.normalMap[key])\n obj[key] = params.normalMap[key];\n }\n\n const baseProps: TexMap = {};\n choose(baseProps, \"pattern_angle\");\n choose(baseProps, \"pattern_u_flip\");\n choose(baseProps, \"pattern_flip\");\n choose(baseProps, \"pattern_scale\");\n choose(baseProps, \"pattern_offset\");\n choose(baseProps, \"pattern_scalemode\");\n choose(baseProps, \"pattern_mapping\");\n choose(baseProps, \"pattern_weight\");\n choose(baseProps, \"pattern_useconstantlod\");\n choose(baseProps, \"pattern_constantlod_repetitions\");\n choose(baseProps, \"pattern_constantlod_offset\");\n choose(baseProps, \"pattern_constantlod_mindistanceclamp\");\n choose(baseProps, \"pattern_constantlod_maxdistanceclamp\");\n\n maps = {};\n if (params.patternMap)\n maps.Pattern = { ...params.patternMap, ...baseProps };\n\n if (params.normalMap) {\n maps.Normal = {\n ...params.normalMap,\n ...baseProps,\n };\n\n delete (maps.Normal as any).scale;\n }\n }\n\n // const map = undefined !== params.patternMap ? { Pattern: params.patternMap } : undefined;\n const renderMaterialProps: RenderMaterialProps = {\n classFullName: this.classFullName,\n code: this.createCode(iModelDb, definitionModelId, materialName),\n paletteName: params.paletteName,\n description: params.description,\n jsonProperties: {\n materialAssets: {\n renderMaterial: {\n HasBaseColor: params.color !== undefined,\n color: params.color,\n HasSpecularColor: params.specularColor !== undefined,\n specular_color: params.specularColor,\n HasFinish: params.finish !== undefined,\n finish: params.finish,\n HasTransmit: params.transmit !== undefined,\n transmit: params.transmit,\n HasDiffuse: params.diffuse !== undefined,\n diffuse: params.diffuse,\n HasSpecular: params.specular !== undefined,\n specular: params.specular,\n HasReflect: params.reflect !== undefined,\n reflect: params.reflect,\n HasReflectColor: params.reflectColor !== undefined,\n reflect_color: params.reflectColor,\n Map: maps,\n pbr_normal,\n },\n },\n },\n model: definitionModelId,\n isPrivate: false,\n };\n\n return new RenderMaterialElement(renderMaterialProps, iModelDb);\n }\n\n /**\n * Insert a new RenderMaterial into a model.\n * @param iModelDb Insert into this iModel\n * @param definitionModelId Insert the new Texture into this DefinitionModel\n * @param materialName The name/CodeValue of the RenderMaterial\n * @param params Parameters object which describes how to construct the RenderMaterial\n * @returns The Id of the newly inserted RenderMaterial element.\n * @throws [[IModelError]] if unable to insert the element.\n */\n public static insert(iModelDb: IModelDb, definitionModelId: Id64String, materialName: string, params: RenderMaterialElementParams): Id64String {\n const renderMaterial = this.create(iModelDb, definitionModelId, materialName, params);\n return iModelDb.elements.insertElement(renderMaterial.toJSON());\n }\n\n /** @beta */\n protected static override onCloned(context: IModelElementCloneContext, sourceProps: ElementProps, targetProps: ElementProps) {\n super.onCloned(context, sourceProps, targetProps);\n for (const mapName in sourceProps.jsonProperties?.materialAssets?.renderMaterial?.Map ?? {}) {\n if (typeof mapName !== \"string\")\n continue;\n const sourceMap = sourceProps.jsonProperties.materialAssets.renderMaterial.Map[mapName];\n // sourceMap could be null/undefined, keep it the same in targetProps\n if (!sourceMap) {\n targetProps.jsonProperties.materialAssets.renderMaterial.Map[mapName] = sourceMap;\n continue;\n }\n if (!Id64.isValid(sourceMap.TextureId) || sourceMap.TextureId === undefined)\n continue;\n targetProps.jsonProperties.materialAssets.renderMaterial.Map[mapName].TextureId = context.findTargetElementId(sourceMap.TextureId ?? Id64.invalid);\n }\n }\n}\n\n/** @public */\nexport namespace RenderMaterialElement {\n /** Parameters used to construct a [[RenderMaterial]].\n * The persistent JSON representation - [RenderMaterialAssetProps]($common) - is quite verbose and unwieldy. This representation simplifies it somewhat.\n * @see [[RenderMaterialElement.create]] and [[RenderMaterialElement.insert]] to create a [[RenderMaterial]] from parameters of this type.\n * @deprecated in 3.6 because it is not useful to use a `class` - just use [[RenderMaterialElementParams]] directly instead.\n */\n export class Params {\n /** A required palette name that categorizes this RenderMaterial */\n public paletteName: string;\n /** An optional description of this RenderMaterial */\n public description?: string;\n /** If defined, the color to use for surface fill or diffuse illumination, overriding the surface's own color. */\n public color?: RgbFactorProps;\n /** The color to use for specular illumination. Default: black. */\n public specularColor?: RgbFactorProps;\n /** The specular exponent describing the surface's shininess, in the range 0 through 128.\n * Default: 0.\n */\n public finish?: number;\n /** A transparency to be applied to the surface, ranging from 0 (fully opaque) to 1 (fully transparent).\n * The surface's own transparency will be multiplied by `(1 - transmit)`. permitting the material to increase but not decrease the surface transparency.\n * Default: 13.5.\n */\n public transmit?: number;\n /** The surface's diffuse reflectivity from 0.0 to 1.0. Default: 0.6. */\n public diffuse?: number;\n /** The surface's specular reflectivity from 0.0 to 1.0. Default: 0.0. */\n public specular?: number;\n /** Currently unused. */\n public reflect?: number;\n /** Currently unused. */\n public reflectColor?: number[];\n /** Specifies a texture image to map onto the surface, replacing or mixing with the surface's own color and transparency.\n * @note With the exception of `TextureId`, the [TextureMapProps]($common) of [[patternMap]] and [[normalMap]] are expected to be identical. If a property is defined in both\n * [[patternMap]]] and [[normalMap]], the value in [[patternMap]] takes precedence.\n */\n public patternMap?: TextureMapProps;\n /** Specifies a [normal map](https://en.wikipedia.org/wiki/Normal_mapping) to apply to the surface to simulate more surface detail than is present in the\n * surface's geometry.\n * @note With the exception of `TextureId`, the [TextureMapProps]($common) of [[patternMap]] and [[normalMap]] are expected to be identical. If a property is defined in both\n * [[patternMap]]] and [[normalMap]], the value in [[patternMap]] takes precedence.\n */\n public normalMap?: NormalMapProps & {\n /** A factor by which to multiply the components of the normal vectors read from the texture.\n * Default: 1.\n */\n scale?: number;\n };\n\n /** Construct a new RenderMaterial.Params object with the specified paletteName. Alter the public members on that object to specify settings. */\n public constructor(paletteName: string) {\n this.paletteName = paletteName;\n }\n }\n}\n\n/** Parameters used to create a [[RenderMaterial]] element.\n * The persistent JSON representation - [RenderMaterialAssetProps]($common) - is quite verbose and unwieldy. This representation simplifies it somewhat.\n * @see [[RenderMaterialElement.create]] and [[RenderMaterialElement.insert]] to create a [[RenderMaterial]] from parameters of this type.\n * @public\n */\nexport interface RenderMaterialElementParams extends RenderMaterialElement.Params { // eslint-disable-line @typescript-eslint/no-deprecated, @typescript-eslint/no-empty-object-type\n}\n"]}
1
+ {"version":3,"file":"Material.js","sourceRoot":"","sources":["../../src/Material.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Elements\r\n */\r\n\r\nimport { Id64, Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport {\r\n BisCodeSpec, Code, CodeScopeProps, CodeSpec, DefinitionElementProps, ElementProps, NormalMapProps, RenderMaterialAssetMapsProps, RenderMaterialProps, RgbFactorProps, TextureMapProps,\r\n} from \"@itwin/core-common\";\r\nimport { DefinitionElement } from \"./Element\";\r\nimport { IModelDb } from \"./IModelDb\";\r\nimport { IModelElementCloneContext } from \"./IModelElementCloneContext\";\r\nimport { CustomHandledProperty, DeserializeEntityArgs, ECSqlRow } from \"./Entity\";\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\n\r\n/** A PhysicalMaterial defines the matter that makes up physical elements.\r\n * @note See [[RenderMaterialElement]] for the DefinitionElement used to define rendering characteristics.\r\n * @public\r\n */\r\nexport abstract class PhysicalMaterial extends DefinitionElement {\r\n public static override get className(): string { return \"PhysicalMaterial\"; }\r\n /** Create a Code for a PhysicalMaterial 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 definitionModelId The Id of the DefinitionModel that will contain the PhysicalMaterial and provide the scope for its name.\r\n * @param name The name (codeValue) of the PhysicalMaterial\r\n */\r\n public static createCode(iModel: IModelDb, definitionModelId: CodeScopeProps, name: string): Code {\r\n const codeSpec: CodeSpec = iModel.codeSpecs.getByName(BisCodeSpec.physicalMaterial);\r\n return new Code({ spec: codeSpec.id, scope: definitionModelId, value: name });\r\n }\r\n /** Create a PhysicalMaterial\r\n * @param iModelDb The IModelDb\r\n * @param definitionModelId The Id of the DefinitionModel that will contain the PhysicalMaterial and provide the scope for its name.\r\n * @param name The name (codeValue) of the PhysicalMaterial\r\n * @returns The newly constructed PhysicalMaterial\r\n * @throws [[IModelError]] if there is a problem creating the PhysicalMaterial\r\n */\r\n public static create<T extends PhysicalMaterial>(iModelDb: IModelDb, definitionModelId: CodeScopeProps, name: string): T {\r\n const elementProps: DefinitionElementProps = {\r\n classFullName: this.classFullName,\r\n model: definitionModelId,\r\n code: this.createCode(iModelDb, definitionModelId, name),\r\n };\r\n return iModelDb.elements.createElement(elementProps);\r\n }\r\n}\r\n\r\n/** Defines a rendering material.\r\n * @note See [[PhysicalMaterial]] for the DefinitionElement used to define the matter that makes up physical elements.\r\n * @public\r\n */\r\nexport class RenderMaterialElement extends DefinitionElement {\r\n public static override get className(): string { return \"RenderMaterial\"; }\r\n\r\n /** The name of a palette that can be used to categorize multiple materials. */\r\n public paletteName: string;\r\n /** An optional description of the material. */\r\n public description?: string;\r\n\r\n private constructor(props: RenderMaterialProps, iModel: IModelDb) {\r\n super(props, iModel);\r\n this.paletteName = props.paletteName;\r\n this.description = props.description;\r\n }\r\n\r\n public override toJSON(): RenderMaterialProps {\r\n const val = super.toJSON() as RenderMaterialProps;\r\n val.paletteName = this.paletteName;\r\n val.description = this.description;\r\n return val;\r\n }\r\n\r\n /**\r\n * RenderMaterialElement custom HandledProps includes 'paletteName'.\r\n * @inheritdoc\r\n * @beta\r\n */\r\n protected static override readonly _customHandledProps: CustomHandledProperty[] = [\r\n { propertyName: \"paletteName\", source: \"Class\" },\r\n ];\r\n\r\n /**\r\n * RenderMaterialElement deserializes 'paletteName'.\r\n * @inheritdoc\r\n * @beta\r\n */\r\n public static override deserialize(props: DeserializeEntityArgs): RenderMaterialProps {\r\n const elProps = super.deserialize(props) as RenderMaterialProps;\r\n const instance = props.row;\r\n elProps.paletteName = JsonUtils.asString(instance.paletteName);\r\n return elProps;\r\n }\r\n\r\n /**\r\n * RenderMaterialElement serializes 'paletteName'.\r\n * @inheritdoc\r\n * @beta\r\n */\r\n public static override serialize(props: RenderMaterialProps, iModel: IModelDb): ECSqlRow {\r\n const inst = super.serialize(props, iModel);\r\n inst.paletteName = props.paletteName;\r\n return inst;\r\n }\r\n\r\n /** Create a Code for a RenderMaterial 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 RenderMaterial and provides the scope for its name.\r\n * @param name The RenderMaterial name\r\n */\r\n public static createCode(iModel: IModelDb, scopeModelId: CodeScopeProps, name: string): Code {\r\n const codeSpec: CodeSpec = iModel.codeSpecs.getByName(BisCodeSpec.renderMaterial);\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 RenderMaterial with given parameters.\r\n * @param iModelDb The iModel\r\n * @param definitionModelId The [[DefinitionModel]]\r\n * @param materialName The name/CodeValue of the RenderMaterial\r\n * @param params Parameters object which describes how to construct the RenderMaterial\r\n * @returns The newly constructed RenderMaterial element.\r\n * @throws [[IModelError]] if unable to create the element.\r\n */\r\n public static create(iModelDb: IModelDb, definitionModelId: Id64String, materialName: string, params: RenderMaterialElementParams): RenderMaterialElement {\r\n let maps: RenderMaterialAssetMapsProps | undefined;\r\n const pbr_normal = params.normalMap?.scale;\r\n if (params.patternMap || params.normalMap) {\r\n // If both normal and pattern map are present, their texture mapping modes, angles, scales, etc are expected to match.\r\n type TexMap = Omit<TextureMapProps, \"TextureId\">;\r\n function choose<K extends keyof TexMap>(obj: TexMap, key: K): void {\r\n const pat = params.patternMap;\r\n if (pat && undefined !== pat[key])\r\n obj[key] = pat[key];\r\n else if (params.normalMap && undefined !== params.normalMap[key])\r\n obj[key] = params.normalMap[key];\r\n }\r\n\r\n const baseProps: TexMap = {};\r\n choose(baseProps, \"pattern_angle\");\r\n choose(baseProps, \"pattern_u_flip\");\r\n choose(baseProps, \"pattern_flip\");\r\n choose(baseProps, \"pattern_scale\");\r\n choose(baseProps, \"pattern_offset\");\r\n choose(baseProps, \"pattern_scalemode\");\r\n choose(baseProps, \"pattern_mapping\");\r\n choose(baseProps, \"pattern_weight\");\r\n choose(baseProps, \"pattern_useconstantlod\");\r\n choose(baseProps, \"pattern_constantlod_repetitions\");\r\n choose(baseProps, \"pattern_constantlod_offset\");\r\n choose(baseProps, \"pattern_constantlod_mindistanceclamp\");\r\n choose(baseProps, \"pattern_constantlod_maxdistanceclamp\");\r\n\r\n maps = {};\r\n if (params.patternMap)\r\n maps.Pattern = { ...params.patternMap, ...baseProps };\r\n\r\n if (params.normalMap) {\r\n maps.Normal = {\r\n ...params.normalMap,\r\n ...baseProps,\r\n };\r\n\r\n delete (maps.Normal as any).scale;\r\n }\r\n }\r\n\r\n // const map = undefined !== params.patternMap ? { Pattern: params.patternMap } : undefined;\r\n const renderMaterialProps: RenderMaterialProps = {\r\n classFullName: this.classFullName,\r\n code: this.createCode(iModelDb, definitionModelId, materialName),\r\n paletteName: params.paletteName,\r\n description: params.description,\r\n jsonProperties: {\r\n materialAssets: {\r\n renderMaterial: {\r\n HasBaseColor: params.color !== undefined,\r\n color: params.color,\r\n HasSpecularColor: params.specularColor !== undefined,\r\n specular_color: params.specularColor,\r\n HasFinish: params.finish !== undefined,\r\n finish: params.finish,\r\n HasTransmit: params.transmit !== undefined,\r\n transmit: params.transmit,\r\n HasDiffuse: params.diffuse !== undefined,\r\n diffuse: params.diffuse,\r\n HasSpecular: params.specular !== undefined,\r\n specular: params.specular,\r\n HasReflect: params.reflect !== undefined,\r\n reflect: params.reflect,\r\n HasReflectColor: params.reflectColor !== undefined,\r\n reflect_color: params.reflectColor,\r\n Map: maps,\r\n pbr_normal,\r\n },\r\n },\r\n },\r\n model: definitionModelId,\r\n isPrivate: false,\r\n };\r\n\r\n return new RenderMaterialElement(renderMaterialProps, iModelDb);\r\n }\r\n\r\n /**\r\n * Insert a new RenderMaterial into a model.\r\n * @param iModelDb Insert into this iModel\r\n * @param definitionModelId Insert the new Texture into this DefinitionModel\r\n * @param materialName The name/CodeValue of the RenderMaterial\r\n * @param params Parameters object which describes how to construct the RenderMaterial\r\n * @returns The Id of the newly inserted RenderMaterial element.\r\n * @throws [[IModelError]] if unable to insert the element.\r\n */\r\n public static insert(iModelDb: IModelDb, definitionModelId: Id64String, materialName: string, params: RenderMaterialElementParams): Id64String {\r\n const renderMaterial = this.create(iModelDb, definitionModelId, materialName, params);\r\n return iModelDb.elements.insertElement(renderMaterial.toJSON());\r\n }\r\n\r\n /** @beta */\r\n protected static override onCloned(context: IModelElementCloneContext, sourceProps: ElementProps, targetProps: ElementProps) {\r\n super.onCloned(context, sourceProps, targetProps);\r\n for (const mapName in sourceProps.jsonProperties?.materialAssets?.renderMaterial?.Map ?? {}) {\r\n if (typeof mapName !== \"string\")\r\n continue;\r\n const sourceMap = sourceProps.jsonProperties.materialAssets.renderMaterial.Map[mapName];\r\n // sourceMap could be null/undefined, keep it the same in targetProps\r\n if (!sourceMap) {\r\n targetProps.jsonProperties.materialAssets.renderMaterial.Map[mapName] = sourceMap;\r\n continue;\r\n }\r\n if (!Id64.isValid(sourceMap.TextureId) || sourceMap.TextureId === undefined)\r\n continue;\r\n targetProps.jsonProperties.materialAssets.renderMaterial.Map[mapName].TextureId = context.findTargetElementId(sourceMap.TextureId ?? Id64.invalid);\r\n }\r\n }\r\n}\r\n\r\n/** @public */\r\nexport namespace RenderMaterialElement {\r\n /** Parameters used to construct a [[RenderMaterial]].\r\n * The persistent JSON representation - [RenderMaterialAssetProps]($common) - is quite verbose and unwieldy. This representation simplifies it somewhat.\r\n * @see [[RenderMaterialElement.create]] and [[RenderMaterialElement.insert]] to create a [[RenderMaterial]] from parameters of this type.\r\n * @deprecated in 3.6 - might be removed in next major version. Because it is not useful to use a `class` - just use [[RenderMaterialElementParams]] directly instead.\r\n */\r\n export class Params {\r\n /** A required palette name that categorizes this RenderMaterial */\r\n public paletteName: string;\r\n /** An optional description of this RenderMaterial */\r\n public description?: string;\r\n /** If defined, the color to use for surface fill or diffuse illumination, overriding the surface's own color. */\r\n public color?: RgbFactorProps;\r\n /** The color to use for specular illumination. Default: black. */\r\n public specularColor?: RgbFactorProps;\r\n /** The specular exponent describing the surface's shininess, in the range 0 through 128.\r\n * Default: 0.\r\n */\r\n public finish?: number;\r\n /** A transparency to be applied to the surface, ranging from 0 (fully opaque) to 1 (fully transparent).\r\n * The surface's own transparency will be multiplied by `(1 - transmit)`. permitting the material to increase but not decrease the surface transparency.\r\n * Default: 13.5.\r\n */\r\n public transmit?: number;\r\n /** The surface's diffuse reflectivity from 0.0 to 1.0. Default: 0.6. */\r\n public diffuse?: number;\r\n /** The surface's specular reflectivity from 0.0 to 1.0. Default: 0.0. */\r\n public specular?: number;\r\n /** Currently unused. */\r\n public reflect?: number;\r\n /** Currently unused. */\r\n public reflectColor?: number[];\r\n /** Specifies a texture image to map onto the surface, replacing or mixing with the surface's own color and transparency.\r\n * @note With the exception of `TextureId`, the [TextureMapProps]($common) of [[patternMap]] and [[normalMap]] are expected to be identical. If a property is defined in both\r\n * [[patternMap]]] and [[normalMap]], the value in [[patternMap]] takes precedence.\r\n */\r\n public patternMap?: TextureMapProps;\r\n /** Specifies a [normal map](https://en.wikipedia.org/wiki/Normal_mapping) to apply to the surface to simulate more surface detail than is present in the\r\n * surface's geometry.\r\n * @note With the exception of `TextureId`, the [TextureMapProps]($common) of [[patternMap]] and [[normalMap]] are expected to be identical. If a property is defined in both\r\n * [[patternMap]]] and [[normalMap]], the value in [[patternMap]] takes precedence.\r\n */\r\n public normalMap?: NormalMapProps & {\r\n /** A factor by which to multiply the components of the normal vectors read from the texture.\r\n * Default: 1.\r\n */\r\n scale?: number;\r\n };\r\n\r\n /** Construct a new RenderMaterial.Params object with the specified paletteName. Alter the public members on that object to specify settings. */\r\n public constructor(paletteName: string) {\r\n this.paletteName = paletteName;\r\n }\r\n }\r\n}\r\n\r\n/** Parameters used to create a [[RenderMaterial]] element.\r\n * The persistent JSON representation - [RenderMaterialAssetProps]($common) - is quite verbose and unwieldy. This representation simplifies it somewhat.\r\n * @see [[RenderMaterialElement.create]] and [[RenderMaterialElement.insert]] to create a [[RenderMaterial]] from parameters of this type.\r\n * @public\r\n */\r\nexport interface RenderMaterialElementParams extends RenderMaterialElement.Params { // eslint-disable-line @typescript-eslint/no-deprecated, @typescript-eslint/no-empty-object-type\r\n}\r\n"]}
@@ -44,7 +44,7 @@ export interface OnElementInModelIdArg extends OnModelIdArg {
44
44
  /** A Model is a container for persisting a collection of related elements within an iModel.
45
45
  * See [[IModelDb.Models]] for how to query and manage the Models in an IModelDb.
46
46
  * See [Creating models]($docs/learning/backend/CreateModels.md)
47
- * @public
47
+ * @public @preview
48
48
  */
49
49
  export declare class Model extends Entity {
50
50
  static get className(): string;
@@ -174,7 +174,7 @@ export declare class Model extends Entity {
174
174
  protected collectReferenceIds(referenceIds: EntityReferenceSet): void;
175
175
  }
176
176
  /** A container for persisting geometric elements.
177
- * @public
177
+ * @public @preview
178
178
  */
179
179
  export declare class GeometricModel extends Model {
180
180
  geometryGuid?: GuidString;
@@ -188,7 +188,7 @@ export declare class GeometricModel extends Model {
188
188
  queryRange(): Promise<AxisAlignedBox3d>;
189
189
  }
190
190
  /** A container for persisting 3d geometric elements.
191
- * @public
191
+ * @public @preview
192
192
  */
193
193
  export declare abstract class GeometricModel3d extends GeometricModel {
194
194
  /** If true, then the elements in this GeometricModel3d are expected to be in an XY plane.
@@ -224,7 +224,7 @@ export declare abstract class GeometricModel3d extends GeometricModel {
224
224
  toJSON(): GeometricModel3dProps;
225
225
  }
226
226
  /** A container for persisting 2d geometric elements.
227
- * @public
227
+ * @public @preview
228
228
  */
229
229
  export declare abstract class GeometricModel2d extends GeometricModel {
230
230
  /** The actual coordinates of (0,0) in modeling coordinates. An offset applied to all modeling coordinates. */
@@ -234,7 +234,7 @@ export declare abstract class GeometricModel2d extends GeometricModel {
234
234
  toJSON(): GeometricModel2dProps;
235
235
  }
236
236
  /** A container for persisting 2d graphical elements.
237
- * @public
237
+ * @public @preview
238
238
  */
239
239
  export declare abstract class GraphicalModel2d extends GeometricModel2d {
240
240
  static get className(): string;
@@ -242,20 +242,20 @@ export declare abstract class GraphicalModel2d extends GeometricModel2d {
242
242
  /** A container for persisting GraphicalElement3d instances.
243
243
  * @note The associated ECClass was added to the BisCore schema in version 1.0.8
244
244
  * @see [[GraphicalPartition3d]]
245
- * @public
245
+ * @public @preview
246
246
  */
247
247
  export declare abstract class GraphicalModel3d extends GeometricModel3d {
248
248
  static get className(): string;
249
249
  }
250
250
  /** A container for persisting 3d geometric elements that are spatially located.
251
- * @public
251
+ * @public @preview
252
252
  */
253
253
  export declare abstract class SpatialModel extends GeometricModel3d {
254
254
  static get className(): string;
255
255
  }
256
256
  /** A container for persisting physical elements that model physical space.
257
257
  * @see [[PhysicalPartition]]
258
- * @public
258
+ * @public @preview
259
259
  */
260
260
  export declare class PhysicalModel extends SpatialModel {
261
261
  static get className(): string;
@@ -271,7 +271,7 @@ export declare class PhysicalModel extends SpatialModel {
271
271
  }
272
272
  /** A container for persisting spatial location elements.
273
273
  * @see [[SpatialLocationPartition]]
274
- * @public
274
+ * @public @preview
275
275
  */
276
276
  export declare class SpatialLocationModel extends SpatialModel {
277
277
  static get className(): string;
@@ -286,13 +286,13 @@ export declare class SpatialLocationModel extends SpatialModel {
286
286
  static insert(iModelDb: IModelDb, parentSubjectId: Id64String, name: string, isPlanProjection?: boolean): Id64String;
287
287
  }
288
288
  /** A 2d model that holds [[DrawingGraphic]]s. DrawingModels may be dimensional or non-dimensional.
289
- * @public
289
+ * @public @preview
290
290
  */
291
291
  export declare class DrawingModel extends GraphicalModel2d {
292
292
  static get className(): string;
293
293
  }
294
294
  /** A container for persisting section [[DrawingGraphic]]s.
295
- * @public
295
+ * @public @preview
296
296
  */
297
297
  export declare class SectionDrawingModel extends DrawingModel {
298
298
  static get className(): string;
@@ -300,26 +300,26 @@ export declare class SectionDrawingModel extends DrawingModel {
300
300
  /** A container for persisting [[ViewAttachment]]s and [[DrawingGraphic]]s.
301
301
  * A SheetModel is a digital representation of a *sheet of paper*. SheetModels are 2d models in bounded paper coordinates.
302
302
  * SheetModels may contain annotation Elements as well as references to 2d or 3d Views.
303
- * @public
303
+ * @public @preview
304
304
  */
305
305
  export declare class SheetModel extends GraphicalModel2d {
306
306
  static get className(): string;
307
307
  }
308
308
  /** A container for persisting role elements.
309
- * @public
309
+ * @public @preview
310
310
  */
311
311
  export declare class RoleModel extends Model {
312
312
  static get className(): string;
313
313
  }
314
314
  /** A container for persisting information elements.
315
- * @public
315
+ * @public @preview
316
316
  */
317
317
  export declare abstract class InformationModel extends Model {
318
318
  static get className(): string;
319
319
  }
320
320
  /** A container for persisting group information elements.
321
321
  * @see [[GroupInformationPartition]]
322
- * @public
322
+ * @public @preview
323
323
  */
324
324
  export declare abstract class GroupInformationModel extends InformationModel {
325
325
  static get className(): string;
@@ -340,7 +340,7 @@ export declare class SheetIndexModel extends InformationModel {
340
340
  }
341
341
  /** A container for persisting Information Record Elements
342
342
  * @see [[InformationRecordPartition]]
343
- * @public
343
+ * @public @preview
344
344
  */
345
345
  export declare class InformationRecordModel extends InformationModel {
346
346
  static get className(): string;
@@ -355,7 +355,7 @@ export declare class InformationRecordModel extends InformationModel {
355
355
  }
356
356
  /** A container for persisting definition elements.
357
357
  * @see [[DefinitionPartition]]
358
- * @public
358
+ * @public @preview
359
359
  */
360
360
  export declare class DefinitionModel extends InformationModel {
361
361
  static get className(): string;
@@ -369,14 +369,14 @@ export declare class DefinitionModel extends InformationModel {
369
369
  static insert(iModelDb: IModelDb, parentSubjectId: Id64String, name: string): Id64String;
370
370
  }
371
371
  /** The singleton container of repository-related information elements.
372
- * @public
372
+ * @public @preview
373
373
  */
374
374
  export declare class RepositoryModel extends DefinitionModel {
375
375
  static get className(): string;
376
376
  }
377
377
  /** Contains a list of document elements.
378
378
  * @see [[DocumentPartition]]
379
- * @public
379
+ * @public @preview
380
380
  */
381
381
  export declare class DocumentListModel extends InformationModel {
382
382
  static get className(): string;
@@ -391,19 +391,19 @@ export declare class DocumentListModel extends InformationModel {
391
391
  }
392
392
  /** A container for persisting link elements.
393
393
  * @see [[LinkPartition]]
394
- * @public
394
+ * @public @preview
395
395
  */
396
396
  export declare class LinkModel extends InformationModel {
397
397
  static get className(): string;
398
398
  }
399
399
  /** The singleton container for repository-specific definition elements.
400
- * @public
400
+ * @public @preview
401
401
  */
402
402
  export declare class DictionaryModel extends DefinitionModel {
403
403
  static get className(): string;
404
404
  }
405
405
  /** Obtains and displays multi-resolution tiled raster organized according to the WebMercator tiling system.
406
- * @public
406
+ * @public @preview
407
407
  */
408
408
  export declare class WebMercatorModel extends SpatialModel {
409
409
  static get className(): string;
package/lib/esm/Model.js CHANGED
@@ -16,7 +16,7 @@ import { _cache, _nativeDb, _verifyChannel } from "./internal/Symbols";
16
16
  /** A Model is a container for persisting a collection of related elements within an iModel.
17
17
  * See [[IModelDb.Models]] for how to query and manage the Models in an IModelDb.
18
18
  * See [Creating models]($docs/learning/backend/CreateModels.md)
19
- * @public
19
+ * @public @preview
20
20
  */
21
21
  export class Model extends Entity {
22
22
  static get className() { return "Model"; }
@@ -216,7 +216,7 @@ export class Model extends Entity {
216
216
  }
217
217
  }
218
218
  /** A container for persisting geometric elements.
219
- * @public
219
+ * @public @preview
220
220
  */
221
221
  export class GeometricModel extends Model {
222
222
  geometryGuid;
@@ -238,7 +238,7 @@ export class GeometricModel extends Model {
238
238
  }
239
239
  }
240
240
  /** A container for persisting 3d geometric elements.
241
- * @public
241
+ * @public @preview
242
242
  */
243
243
  export class GeometricModel3d extends GeometricModel {
244
244
  /** If true, then the elements in this GeometricModel3d are expected to be in an XY plane.
@@ -301,7 +301,7 @@ export class GeometricModel3d extends GeometricModel {
301
301
  }
302
302
  }
303
303
  /** A container for persisting 2d geometric elements.
304
- * @public
304
+ * @public @preview
305
305
  */
306
306
  export class GeometricModel2d extends GeometricModel {
307
307
  /** The actual coordinates of (0,0) in modeling coordinates. An offset applied to all modeling coordinates. */
@@ -319,7 +319,7 @@ export class GeometricModel2d extends GeometricModel {
319
319
  }
320
320
  }
321
321
  /** A container for persisting 2d graphical elements.
322
- * @public
322
+ * @public @preview
323
323
  */
324
324
  export class GraphicalModel2d extends GeometricModel2d {
325
325
  static get className() { return "GraphicalModel2d"; }
@@ -327,20 +327,20 @@ export class GraphicalModel2d extends GeometricModel2d {
327
327
  /** A container for persisting GraphicalElement3d instances.
328
328
  * @note The associated ECClass was added to the BisCore schema in version 1.0.8
329
329
  * @see [[GraphicalPartition3d]]
330
- * @public
330
+ * @public @preview
331
331
  */
332
332
  export class GraphicalModel3d extends GeometricModel3d {
333
333
  static get className() { return "GraphicalModel3d"; }
334
334
  }
335
335
  /** A container for persisting 3d geometric elements that are spatially located.
336
- * @public
336
+ * @public @preview
337
337
  */
338
338
  export class SpatialModel extends GeometricModel3d {
339
339
  static get className() { return "SpatialModel"; }
340
340
  }
341
341
  /** A container for persisting physical elements that model physical space.
342
342
  * @see [[PhysicalPartition]]
343
- * @public
343
+ * @public @preview
344
344
  */
345
345
  export class PhysicalModel extends SpatialModel {
346
346
  static get className() { return "PhysicalModel"; }
@@ -370,7 +370,7 @@ export class PhysicalModel extends SpatialModel {
370
370
  }
371
371
  /** A container for persisting spatial location elements.
372
372
  * @see [[SpatialLocationPartition]]
373
- * @public
373
+ * @public @preview
374
374
  */
375
375
  export class SpatialLocationModel extends SpatialModel {
376
376
  static get className() { return "SpatialLocationModel"; }
@@ -399,13 +399,13 @@ export class SpatialLocationModel extends SpatialModel {
399
399
  }
400
400
  }
401
401
  /** A 2d model that holds [[DrawingGraphic]]s. DrawingModels may be dimensional or non-dimensional.
402
- * @public
402
+ * @public @preview
403
403
  */
404
404
  export class DrawingModel extends GraphicalModel2d {
405
405
  static get className() { return "DrawingModel"; }
406
406
  }
407
407
  /** A container for persisting section [[DrawingGraphic]]s.
408
- * @public
408
+ * @public @preview
409
409
  */
410
410
  export class SectionDrawingModel extends DrawingModel {
411
411
  static get className() { return "SectionDrawingModel"; }
@@ -413,26 +413,26 @@ export class SectionDrawingModel extends DrawingModel {
413
413
  /** A container for persisting [[ViewAttachment]]s and [[DrawingGraphic]]s.
414
414
  * A SheetModel is a digital representation of a *sheet of paper*. SheetModels are 2d models in bounded paper coordinates.
415
415
  * SheetModels may contain annotation Elements as well as references to 2d or 3d Views.
416
- * @public
416
+ * @public @preview
417
417
  */
418
418
  export class SheetModel extends GraphicalModel2d {
419
419
  static get className() { return "SheetModel"; }
420
420
  }
421
421
  /** A container for persisting role elements.
422
- * @public
422
+ * @public @preview
423
423
  */
424
424
  export class RoleModel extends Model {
425
425
  static get className() { return "RoleModel"; }
426
426
  }
427
427
  /** A container for persisting information elements.
428
- * @public
428
+ * @public @preview
429
429
  */
430
430
  export class InformationModel extends Model {
431
431
  static get className() { return "InformationModel"; }
432
432
  }
433
433
  /** A container for persisting group information elements.
434
434
  * @see [[GroupInformationPartition]]
435
- * @public
435
+ * @public @preview
436
436
  */
437
437
  export class GroupInformationModel extends InformationModel {
438
438
  static get className() { return "GroupInformationModel"; }
@@ -465,7 +465,7 @@ export class SheetIndexModel extends InformationModel {
465
465
  }
466
466
  /** A container for persisting Information Record Elements
467
467
  * @see [[InformationRecordPartition]]
468
- * @public
468
+ * @public @preview
469
469
  */
470
470
  export class InformationRecordModel extends InformationModel {
471
471
  static get className() { return "InformationRecordModel"; }
@@ -492,7 +492,7 @@ export class InformationRecordModel extends InformationModel {
492
492
  }
493
493
  /** A container for persisting definition elements.
494
494
  * @see [[DefinitionPartition]]
495
- * @public
495
+ * @public @preview
496
496
  */
497
497
  export class DefinitionModel extends InformationModel {
498
498
  static get className() { return "DefinitionModel"; }
@@ -518,14 +518,14 @@ export class DefinitionModel extends InformationModel {
518
518
  }
519
519
  }
520
520
  /** The singleton container of repository-related information elements.
521
- * @public
521
+ * @public @preview
522
522
  */
523
523
  export class RepositoryModel extends DefinitionModel {
524
524
  static get className() { return "RepositoryModel"; }
525
525
  }
526
526
  /** Contains a list of document elements.
527
527
  * @see [[DocumentPartition]]
528
- * @public
528
+ * @public @preview
529
529
  */
530
530
  export class DocumentListModel extends InformationModel {
531
531
  static get className() { return "DocumentListModel"; }
@@ -552,19 +552,19 @@ export class DocumentListModel extends InformationModel {
552
552
  }
553
553
  /** A container for persisting link elements.
554
554
  * @see [[LinkPartition]]
555
- * @public
555
+ * @public @preview
556
556
  */
557
557
  export class LinkModel extends InformationModel {
558
558
  static get className() { return "LinkModel"; }
559
559
  }
560
560
  /** The singleton container for repository-specific definition elements.
561
- * @public
561
+ * @public @preview
562
562
  */
563
563
  export class DictionaryModel extends DefinitionModel {
564
564
  static get className() { return "DictionaryModel"; }
565
565
  }
566
566
  /** Obtains and displays multi-resolution tiled raster organized according to the WebMercator tiling system.
567
- * @public
567
+ * @public @preview
568
568
  */
569
569
  export class WebMercatorModel extends SpatialModel {
570
570
  static get className() { return "WebMercatorModel"; }