@itwin/core-backend 5.0.0-dev.11 → 5.0.0-dev.111

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 (1102) hide show
  1. package/CHANGELOG.md +90 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +15 -35
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js +2 -0
  5. package/lib/cjs/BackendHubAccess.js.map +1 -1
  6. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  7. package/lib/cjs/BisCoreSchema.d.ts.map +1 -1
  8. package/lib/cjs/BisCoreSchema.js +2 -0
  9. package/lib/cjs/BisCoreSchema.js.map +1 -1
  10. package/lib/cjs/BlobContainerService.d.ts +4 -4
  11. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  12. package/lib/cjs/BlobContainerService.js.map +1 -1
  13. package/lib/cjs/BriefcaseManager.d.ts +10 -0
  14. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  15. package/lib/cjs/BriefcaseManager.js +63 -20
  16. package/lib/cjs/BriefcaseManager.js.map +1 -1
  17. package/lib/cjs/CatalogDb.d.ts +103 -0
  18. package/lib/cjs/CatalogDb.d.ts.map +1 -0
  19. package/lib/cjs/CatalogDb.js +271 -0
  20. package/lib/cjs/CatalogDb.js.map +1 -0
  21. package/lib/cjs/Category.d.ts +37 -0
  22. package/lib/cjs/Category.d.ts.map +1 -1
  23. package/lib/cjs/Category.js +79 -1
  24. package/lib/cjs/Category.js.map +1 -1
  25. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  26. package/lib/cjs/ChangeSummaryManager.js +104 -29
  27. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  28. package/lib/cjs/ChangedElementsDb.d.ts +3 -3
  29. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  30. package/lib/cjs/ChangedElementsDb.js +8 -7
  31. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  32. package/lib/cjs/ChangesetECAdaptor.d.ts +3 -3
  33. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  34. package/lib/cjs/ChangesetECAdaptor.js +274 -261
  35. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  36. package/lib/cjs/ChannelControl.js.map +1 -1
  37. package/lib/cjs/CheckpointManager.d.ts +12 -17
  38. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  39. package/lib/cjs/CheckpointManager.js +40 -92
  40. package/lib/cjs/CheckpointManager.js.map +1 -1
  41. package/lib/cjs/ClassRegistry.d.ts +46 -2
  42. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  43. package/lib/cjs/ClassRegistry.js +98 -42
  44. package/lib/cjs/ClassRegistry.js.map +1 -1
  45. package/lib/cjs/CloudSqlite.d.ts +104 -20
  46. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  47. package/lib/cjs/CloudSqlite.js +172 -54
  48. package/lib/cjs/CloudSqlite.js.map +1 -1
  49. package/lib/cjs/CodeService.d.ts +2 -0
  50. package/lib/cjs/CodeService.d.ts.map +1 -1
  51. package/lib/cjs/CodeService.js +4 -0
  52. package/lib/cjs/CodeService.js.map +1 -1
  53. package/lib/cjs/CodeSpecs.js +3 -2
  54. package/lib/cjs/CodeSpecs.js.map +1 -1
  55. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  56. package/lib/cjs/CustomViewState3dCreator.js +7 -6
  57. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  58. package/lib/cjs/DevTools.js +16 -16
  59. package/lib/cjs/DevTools.js.map +1 -1
  60. package/lib/cjs/DisplayStyle.d.ts +5 -0
  61. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  62. package/lib/cjs/DisplayStyle.js +29 -0
  63. package/lib/cjs/DisplayStyle.js.map +1 -1
  64. package/lib/cjs/ECDb.d.ts +53 -60
  65. package/lib/cjs/ECDb.d.ts.map +1 -1
  66. package/lib/cjs/ECDb.js +115 -73
  67. package/lib/cjs/ECDb.js.map +1 -1
  68. package/lib/cjs/ECSchemaXmlContext.d.ts +1 -1
  69. package/lib/cjs/ECSchemaXmlContext.js +2 -1
  70. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  71. package/lib/cjs/ECSqlStatement.d.ts +185 -4
  72. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  73. package/lib/cjs/ECSqlStatement.js +237 -9
  74. package/lib/cjs/ECSqlStatement.js.map +1 -1
  75. package/lib/cjs/Element.d.ts +194 -35
  76. package/lib/cjs/Element.d.ts.map +1 -1
  77. package/lib/cjs/Element.js +683 -57
  78. package/lib/cjs/Element.js.map +1 -1
  79. package/lib/cjs/ElementAspect.d.ts +0 -5
  80. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  81. package/lib/cjs/ElementAspect.js +25 -16
  82. package/lib/cjs/ElementAspect.js.map +1 -1
  83. package/lib/cjs/ElementGraphics.js.map +1 -1
  84. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  85. package/lib/cjs/ElementTreeWalker.js +17 -12
  86. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  87. package/lib/cjs/Entity.d.ts +91 -11
  88. package/lib/cjs/Entity.d.ts.map +1 -1
  89. package/lib/cjs/Entity.js +137 -16
  90. package/lib/cjs/Entity.js.map +1 -1
  91. package/lib/cjs/EntityReferences.js.map +1 -1
  92. package/lib/cjs/ExportGraphics.js +4 -0
  93. package/lib/cjs/ExportGraphics.js.map +1 -1
  94. package/lib/cjs/ExternalSource.js +22 -0
  95. package/lib/cjs/ExternalSource.js.map +1 -1
  96. package/lib/cjs/FontFile.d.ts +68 -0
  97. package/lib/cjs/FontFile.d.ts.map +1 -0
  98. package/lib/cjs/FontFile.js +36 -0
  99. package/lib/cjs/FontFile.js.map +1 -0
  100. package/lib/cjs/GeoCoordConfig.js +8 -8
  101. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  102. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  103. package/lib/cjs/GeometrySummary.js +53 -50
  104. package/lib/cjs/GeometrySummary.js.map +1 -1
  105. package/lib/cjs/IModelDb.d.ts +231 -108
  106. package/lib/cjs/IModelDb.d.ts.map +1 -1
  107. package/lib/cjs/IModelDb.js +516 -249
  108. package/lib/cjs/IModelDb.js.map +1 -1
  109. package/lib/cjs/IModelDbFonts.d.ts +54 -0
  110. package/lib/cjs/IModelDbFonts.d.ts.map +1 -0
  111. package/lib/cjs/{IModelCloneContext.js → IModelDbFonts.js} +2 -7
  112. package/lib/cjs/IModelDbFonts.js.map +1 -0
  113. package/lib/cjs/IModelElementCloneContext.d.ts +2 -0
  114. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  115. package/lib/cjs/IModelElementCloneContext.js +12 -1
  116. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  117. package/lib/cjs/IModelHost.d.ts +28 -15
  118. package/lib/cjs/IModelHost.d.ts.map +1 -1
  119. package/lib/cjs/IModelHost.js +82 -43
  120. package/lib/cjs/IModelHost.js.map +1 -1
  121. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  122. package/lib/cjs/IModelJsFs.js +17 -1
  123. package/lib/cjs/IModelJsFs.js.map +1 -1
  124. package/lib/cjs/ImageSourceConversion.d.ts +49 -0
  125. package/lib/cjs/ImageSourceConversion.d.ts.map +1 -0
  126. package/lib/cjs/ImageSourceConversion.js +37 -0
  127. package/lib/cjs/ImageSourceConversion.js.map +1 -0
  128. package/lib/cjs/IpcHost.d.ts.map +1 -1
  129. package/lib/cjs/IpcHost.js +19 -33
  130. package/lib/cjs/IpcHost.js.map +1 -1
  131. package/lib/cjs/LineStyle.js.map +1 -1
  132. package/lib/cjs/LocalHub.js +9 -3
  133. package/lib/cjs/LocalHub.js.map +1 -1
  134. package/lib/cjs/LocalhostIpcHost.js +5 -6
  135. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  136. package/lib/cjs/LockControl.js.map +1 -1
  137. package/lib/cjs/Material.d.ts +19 -0
  138. package/lib/cjs/Material.d.ts.map +1 -1
  139. package/lib/cjs/Material.js +69 -0
  140. package/lib/cjs/Material.js.map +1 -1
  141. package/lib/cjs/Model.d.ts +43 -7
  142. package/lib/cjs/Model.d.ts.map +1 -1
  143. package/lib/cjs/Model.js +120 -7
  144. package/lib/cjs/Model.js.map +1 -1
  145. package/lib/cjs/NativeAppStorage.js +5 -3
  146. package/lib/cjs/NativeAppStorage.js.map +1 -1
  147. package/lib/cjs/NativeHost.d.ts.map +1 -1
  148. package/lib/cjs/NativeHost.js +10 -4
  149. package/lib/cjs/NativeHost.js.map +1 -1
  150. package/lib/cjs/NavigationRelationship.js +25 -25
  151. package/lib/cjs/NavigationRelationship.js.map +1 -1
  152. package/lib/cjs/PromiseMemoizer.d.ts +2 -3
  153. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  154. package/lib/cjs/PromiseMemoizer.js +12 -5
  155. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  156. package/lib/cjs/PropertyStore.js +1 -4
  157. package/lib/cjs/PropertyStore.js.map +1 -1
  158. package/lib/cjs/Relationship.d.ts.map +1 -1
  159. package/lib/cjs/Relationship.js +15 -1
  160. package/lib/cjs/Relationship.js.map +1 -1
  161. package/lib/cjs/RpcBackend.js.map +1 -1
  162. package/lib/cjs/SQLiteDb.d.ts +6 -4
  163. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  164. package/lib/cjs/SQLiteDb.js +79 -19
  165. package/lib/cjs/SQLiteDb.js.map +1 -1
  166. package/lib/cjs/Schema.d.ts +25 -1
  167. package/lib/cjs/Schema.d.ts.map +1 -1
  168. package/lib/cjs/Schema.js +44 -8
  169. package/lib/cjs/Schema.js.map +1 -1
  170. package/lib/cjs/SchemaSync.js +1 -4
  171. package/lib/cjs/SchemaSync.js.map +1 -1
  172. package/lib/cjs/SchemaUtils.js.map +1 -1
  173. package/lib/cjs/SheetIndex.js +6 -0
  174. package/lib/cjs/SheetIndex.js.map +1 -1
  175. package/lib/cjs/SqliteChangesetReader.d.ts +11 -3
  176. package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
  177. package/lib/cjs/SqliteChangesetReader.js +21 -5
  178. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  179. package/lib/cjs/SqliteStatement.d.ts +4 -2
  180. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  181. package/lib/cjs/SqliteStatement.js +13 -1
  182. package/lib/cjs/SqliteStatement.js.map +1 -1
  183. package/lib/cjs/TextAnnotationElement.js.map +1 -1
  184. package/lib/cjs/TextAnnotationGeometry.d.ts.map +1 -1
  185. package/lib/cjs/TextAnnotationGeometry.js +38 -11
  186. package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
  187. package/lib/cjs/TextAnnotationLayout.d.ts +10 -3
  188. package/lib/cjs/TextAnnotationLayout.d.ts.map +1 -1
  189. package/lib/cjs/TextAnnotationLayout.js +56 -18
  190. package/lib/cjs/TextAnnotationLayout.js.map +1 -1
  191. package/lib/cjs/Texture.js +3 -0
  192. package/lib/cjs/Texture.js.map +1 -1
  193. package/lib/cjs/TileStorage.js +6 -1
  194. package/lib/cjs/TileStorage.js.map +1 -1
  195. package/lib/cjs/TxnManager.d.ts +55 -4
  196. package/lib/cjs/TxnManager.d.ts.map +1 -1
  197. package/lib/cjs/TxnManager.js +235 -58
  198. package/lib/cjs/TxnManager.js.map +1 -1
  199. package/lib/cjs/ViewDefinition.d.ts +106 -6
  200. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  201. package/lib/cjs/ViewDefinition.js +289 -26
  202. package/lib/cjs/ViewDefinition.js.map +1 -1
  203. package/lib/cjs/ViewStateHydrator.d.ts +0 -1
  204. package/lib/cjs/ViewStateHydrator.d.ts.map +1 -1
  205. package/lib/cjs/ViewStateHydrator.js +4 -14
  206. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  207. package/lib/cjs/ViewStore.d.ts.map +1 -1
  208. package/lib/cjs/ViewStore.js +32 -29
  209. package/lib/cjs/ViewStore.js.map +1 -1
  210. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  211. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  212. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  213. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  214. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  215. package/lib/cjs/core-backend.d.ts +8 -2
  216. package/lib/cjs/core-backend.d.ts.map +1 -1
  217. package/lib/cjs/core-backend.js +8 -2
  218. package/lib/cjs/core-backend.js.map +1 -1
  219. package/lib/cjs/domains/FunctionalElements.js +1 -1
  220. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  221. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  222. package/lib/cjs/domains/GenericElements.js.map +1 -1
  223. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  224. package/lib/cjs/internal/ChangesetConflictArgs.d.ts +40 -2
  225. package/lib/cjs/internal/ChangesetConflictArgs.d.ts.map +1 -1
  226. package/lib/cjs/internal/ChangesetConflictArgs.js +101 -0
  227. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  228. package/lib/cjs/internal/ChannelAdmin.d.ts +1 -1
  229. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  230. package/lib/cjs/internal/ChannelAdmin.js +16 -13
  231. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  232. package/lib/cjs/internal/ElementLRUCache.d.ts +28 -0
  233. package/lib/cjs/internal/ElementLRUCache.d.ts.map +1 -0
  234. package/lib/cjs/internal/ElementLRUCache.js +120 -0
  235. package/lib/cjs/internal/ElementLRUCache.js.map +1 -0
  236. package/lib/cjs/internal/FontFileImpl.d.ts +34 -0
  237. package/lib/cjs/internal/FontFileImpl.d.ts.map +1 -0
  238. package/lib/cjs/internal/FontFileImpl.js +143 -0
  239. package/lib/cjs/internal/FontFileImpl.js.map +1 -0
  240. package/lib/cjs/{HubMock.d.ts → internal/HubMock.d.ts} +6 -7
  241. package/lib/cjs/internal/HubMock.d.ts.map +1 -0
  242. package/lib/cjs/{HubMock.js → internal/HubMock.js} +40 -15
  243. package/lib/cjs/internal/HubMock.js.map +1 -0
  244. package/lib/cjs/internal/IModelDbFontsImpl.d.ts +7 -0
  245. package/lib/cjs/internal/IModelDbFontsImpl.d.ts.map +1 -0
  246. package/lib/cjs/internal/IModelDbFontsImpl.js +186 -0
  247. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -0
  248. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  249. package/lib/cjs/internal/NoLocks.js +2 -5
  250. package/lib/cjs/internal/NoLocks.js.map +1 -1
  251. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  252. package/lib/cjs/internal/ServerBasedLocks.js +6 -6
  253. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  254. package/lib/cjs/internal/Symbols.d.ts +9 -0
  255. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  256. package/lib/cjs/internal/Symbols.js +10 -1
  257. package/lib/cjs/internal/Symbols.js.map +1 -1
  258. package/lib/cjs/internal/cross-package.js.map +1 -1
  259. package/lib/cjs/internal/workspace/SettingsImpl.js +6 -9
  260. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  261. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -12
  262. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  263. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +2 -16
  264. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  265. package/lib/cjs/internal/workspace/WorkspaceImpl.js +57 -121
  266. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  267. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js +1 -4
  268. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  269. package/lib/cjs/rpc/multipart.d.ts.map +1 -1
  270. package/lib/cjs/rpc/multipart.js +2 -1
  271. package/lib/cjs/rpc/multipart.js.map +1 -1
  272. package/lib/cjs/rpc/tracing.js +2 -2
  273. package/lib/cjs/rpc/tracing.js.map +1 -1
  274. package/lib/cjs/rpc/web/logging.js.map +1 -1
  275. package/lib/cjs/rpc/web/request.d.ts.map +1 -1
  276. package/lib/cjs/rpc/web/request.js +2 -1
  277. package/lib/cjs/rpc/web/request.js.map +1 -1
  278. package/lib/cjs/rpc/web/response.js.map +1 -1
  279. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  280. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  281. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +8 -4
  282. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  283. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +5 -3
  284. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  285. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  286. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +15 -25
  287. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  288. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  289. package/lib/cjs/workspace/Settings.js.map +1 -1
  290. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  291. package/lib/cjs/workspace/Workspace.d.ts +6 -13
  292. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  293. package/lib/cjs/workspace/Workspace.js.map +1 -1
  294. package/lib/cjs/workspace/WorkspaceEditor.d.ts +2 -7
  295. package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
  296. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  297. package/lib/esm/BackendHubAccess.d.ts +209 -0
  298. package/lib/esm/BackendHubAccess.d.ts.map +1 -0
  299. package/lib/esm/BackendHubAccess.js +41 -0
  300. package/lib/esm/BackendHubAccess.js.map +1 -0
  301. package/lib/esm/BackendLoggerCategory.d.ts +88 -0
  302. package/lib/esm/BackendLoggerCategory.d.ts.map +1 -0
  303. package/lib/esm/BackendLoggerCategory.js +93 -0
  304. package/lib/esm/BackendLoggerCategory.js.map +1 -0
  305. package/lib/esm/BisCoreSchema.d.ts +22 -0
  306. package/lib/esm/BisCoreSchema.d.ts.map +1 -0
  307. package/lib/esm/BisCoreSchema.js +61 -0
  308. package/lib/esm/BisCoreSchema.js.map +1 -0
  309. package/lib/esm/BlobContainerService.d.ts +159 -0
  310. package/lib/esm/BlobContainerService.d.ts.map +1 -0
  311. package/lib/esm/BlobContainerService.js +15 -0
  312. package/lib/esm/BlobContainerService.js.map +1 -0
  313. package/lib/esm/BriefcaseManager.d.ts +213 -0
  314. package/lib/esm/BriefcaseManager.d.ts.map +1 -0
  315. package/lib/esm/BriefcaseManager.js +520 -0
  316. package/lib/esm/BriefcaseManager.js.map +1 -0
  317. package/lib/esm/CatalogDb.d.ts +103 -0
  318. package/lib/esm/CatalogDb.d.ts.map +1 -0
  319. package/lib/esm/CatalogDb.js +267 -0
  320. package/lib/esm/CatalogDb.js.map +1 -0
  321. package/lib/esm/Category.d.ts +173 -0
  322. package/lib/esm/Category.d.ts.map +1 -0
  323. package/lib/esm/Category.js +297 -0
  324. package/lib/esm/Category.js.map +1 -0
  325. package/lib/esm/ChangeSummaryManager.d.ts +161 -0
  326. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -0
  327. package/lib/esm/ChangeSummaryManager.js +421 -0
  328. package/lib/esm/ChangeSummaryManager.js.map +1 -0
  329. package/lib/esm/ChangedElementsDb.d.ts +101 -0
  330. package/lib/esm/ChangedElementsDb.d.ts.map +1 -0
  331. package/lib/esm/ChangedElementsDb.js +165 -0
  332. package/lib/esm/ChangedElementsDb.js.map +1 -0
  333. package/lib/esm/ChangesetECAdaptor.d.ts +203 -0
  334. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -0
  335. package/lib/esm/ChangesetECAdaptor.js +815 -0
  336. package/lib/esm/ChangesetECAdaptor.js.map +1 -0
  337. package/lib/esm/ChannelControl.d.ts +68 -0
  338. package/lib/esm/ChannelControl.d.ts.map +1 -0
  339. package/lib/esm/ChannelControl.js +15 -0
  340. package/lib/esm/ChannelControl.js.map +1 -0
  341. package/lib/esm/CheckpointManager.d.ts +118 -0
  342. package/lib/esm/CheckpointManager.d.ts.map +1 -0
  343. package/lib/esm/CheckpointManager.js +321 -0
  344. package/lib/esm/CheckpointManager.js.map +1 -0
  345. package/lib/esm/ClassRegistry.d.ts +134 -0
  346. package/lib/esm/ClassRegistry.d.ts.map +1 -0
  347. package/lib/esm/ClassRegistry.js +324 -0
  348. package/lib/esm/ClassRegistry.js.map +1 -0
  349. package/lib/esm/CloudSqlite.d.ts +766 -0
  350. package/lib/esm/CloudSqlite.d.ts.map +1 -0
  351. package/lib/esm/CloudSqlite.js +622 -0
  352. package/lib/esm/CloudSqlite.js.map +1 -0
  353. package/lib/esm/CodeService.d.ts +402 -0
  354. package/lib/esm/CodeService.d.ts.map +1 -0
  355. package/lib/esm/CodeService.js +65 -0
  356. package/lib/esm/CodeService.js.map +1 -0
  357. package/lib/esm/CodeSpecs.d.ts +59 -0
  358. package/lib/esm/CodeSpecs.d.ts.map +1 -0
  359. package/lib/esm/CodeSpecs.js +152 -0
  360. package/lib/esm/CodeSpecs.js.map +1 -0
  361. package/lib/esm/ConcurrentQuery.d.ts +14 -0
  362. package/lib/esm/ConcurrentQuery.d.ts.map +1 -0
  363. package/lib/esm/ConcurrentQuery.js +33 -0
  364. package/lib/esm/ConcurrentQuery.js.map +1 -0
  365. package/lib/esm/CustomViewState3dCreator.d.ts +22 -0
  366. package/lib/esm/CustomViewState3dCreator.d.ts.map +1 -0
  367. package/lib/esm/CustomViewState3dCreator.js +78 -0
  368. package/lib/esm/CustomViewState3dCreator.js.map +1 -0
  369. package/lib/esm/DevTools.d.ts +73 -0
  370. package/lib/esm/DevTools.d.ts.map +1 -0
  371. package/lib/esm/DevTools.js +153 -0
  372. package/lib/esm/DevTools.js.map +1 -0
  373. package/lib/esm/DisplayStyle.d.ts +104 -0
  374. package/lib/esm/DisplayStyle.d.ts.map +1 -0
  375. package/lib/esm/DisplayStyle.js +291 -0
  376. package/lib/esm/DisplayStyle.js.map +1 -0
  377. package/lib/esm/ECDb.d.ts +206 -0
  378. package/lib/esm/ECDb.d.ts.map +1 -0
  379. package/lib/esm/ECDb.js +410 -0
  380. package/lib/esm/ECDb.js.map +1 -0
  381. package/lib/esm/ECSchemaXmlContext.d.ts +46 -0
  382. package/lib/esm/ECSchemaXmlContext.d.ts.map +1 -0
  383. package/lib/esm/ECSchemaXmlContext.js +66 -0
  384. package/lib/esm/ECSchemaXmlContext.js.map +1 -0
  385. package/lib/esm/ECSqlStatement.d.ts +671 -0
  386. package/lib/esm/ECSqlStatement.d.ts.map +1 -0
  387. package/lib/esm/ECSqlStatement.js +1028 -0
  388. package/lib/esm/ECSqlStatement.js.map +1 -0
  389. package/lib/esm/Element.d.ts +1155 -0
  390. package/lib/esm/Element.d.ts.map +1 -0
  391. package/lib/esm/Element.js +1876 -0
  392. package/lib/esm/Element.js.map +1 -0
  393. package/lib/esm/ElementAspect.d.ts +164 -0
  394. package/lib/esm/ElementAspect.d.ts.map +1 -0
  395. package/lib/esm/ElementAspect.js +205 -0
  396. package/lib/esm/ElementAspect.js.map +1 -0
  397. package/lib/esm/ElementGraphics.d.ts +7 -0
  398. package/lib/esm/ElementGraphics.d.ts.map +1 -0
  399. package/lib/esm/ElementGraphics.js +36 -0
  400. package/lib/esm/ElementGraphics.js.map +1 -0
  401. package/lib/esm/ElementTreeWalker.d.ts +182 -0
  402. package/lib/esm/ElementTreeWalker.d.ts.map +1 -0
  403. package/lib/esm/ElementTreeWalker.js +425 -0
  404. package/lib/esm/ElementTreeWalker.js.map +1 -0
  405. package/lib/esm/Entity.d.ts +186 -0
  406. package/lib/esm/Entity.d.ts.map +1 -0
  407. package/lib/esm/Entity.js +244 -0
  408. package/lib/esm/Entity.js.map +1 -0
  409. package/lib/esm/EntityReferences.d.ts +50 -0
  410. package/lib/esm/EntityReferences.d.ts.map +1 -0
  411. package/lib/esm/EntityReferences.js +92 -0
  412. package/lib/esm/EntityReferences.js.map +1 -0
  413. package/lib/esm/ExportGraphics.d.ts +318 -0
  414. package/lib/esm/ExportGraphics.d.ts.map +1 -0
  415. package/lib/esm/ExportGraphics.js +209 -0
  416. package/lib/esm/ExportGraphics.js.map +1 -0
  417. package/lib/esm/ExternalSource.d.ts +89 -0
  418. package/lib/esm/ExternalSource.d.ts.map +1 -0
  419. package/lib/esm/ExternalSource.js +139 -0
  420. package/lib/esm/ExternalSource.js.map +1 -0
  421. package/lib/esm/FontFile.d.ts +68 -0
  422. package/lib/esm/FontFile.d.ts.map +1 -0
  423. package/lib/esm/FontFile.js +33 -0
  424. package/lib/esm/FontFile.js.map +1 -0
  425. package/lib/esm/GeoCoordConfig.d.ts +30 -0
  426. package/lib/esm/GeoCoordConfig.d.ts.map +1 -0
  427. package/lib/esm/GeoCoordConfig.js +78 -0
  428. package/lib/esm/GeoCoordConfig.js.map +1 -0
  429. package/lib/esm/GeographicCRSServices.d.ts +40 -0
  430. package/lib/esm/GeographicCRSServices.d.ts.map +1 -0
  431. package/lib/esm/GeographicCRSServices.js +17 -0
  432. package/lib/esm/GeographicCRSServices.js.map +1 -0
  433. package/lib/esm/GeometrySummary.d.ts +5 -0
  434. package/lib/esm/GeometrySummary.d.ts.map +1 -0
  435. package/lib/esm/GeometrySummary.js +381 -0
  436. package/lib/esm/GeometrySummary.js.map +1 -0
  437. package/lib/esm/IModelDb.d.ts +1390 -0
  438. package/lib/esm/IModelDb.d.ts.map +1 -0
  439. package/lib/esm/IModelDb.js +3327 -0
  440. package/lib/esm/IModelDb.js.map +1 -0
  441. package/lib/esm/IModelDbFonts.d.ts +54 -0
  442. package/lib/esm/IModelDbFonts.d.ts.map +1 -0
  443. package/lib/esm/IModelDbFonts.js +9 -0
  444. package/lib/esm/IModelDbFonts.js.map +1 -0
  445. package/lib/esm/IModelElementCloneContext.d.ts +92 -0
  446. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -0
  447. package/lib/esm/IModelElementCloneContext.js +168 -0
  448. package/lib/esm/IModelElementCloneContext.js.map +1 -0
  449. package/lib/esm/IModelHost.d.ts +400 -0
  450. package/lib/esm/IModelHost.d.ts.map +1 -0
  451. package/lib/esm/IModelHost.js +508 -0
  452. package/lib/esm/IModelHost.js.map +1 -0
  453. package/lib/esm/IModelJsFs.d.ts +62 -0
  454. package/lib/esm/IModelJsFs.d.ts.map +1 -0
  455. package/lib/esm/IModelJsFs.js +151 -0
  456. package/lib/esm/IModelJsFs.js.map +1 -0
  457. package/lib/esm/ImageSourceConversion.d.ts +49 -0
  458. package/lib/esm/ImageSourceConversion.d.ts.map +1 -0
  459. package/lib/esm/ImageSourceConversion.js +33 -0
  460. package/lib/esm/ImageSourceConversion.js.map +1 -0
  461. package/lib/esm/IpcHost.d.ts +111 -0
  462. package/lib/esm/IpcHost.d.ts.map +1 -0
  463. package/lib/esm/IpcHost.js +292 -0
  464. package/lib/esm/IpcHost.js.map +1 -0
  465. package/lib/esm/LineStyle.d.ts +312 -0
  466. package/lib/esm/LineStyle.d.ts.map +1 -0
  467. package/lib/esm/LineStyle.js +293 -0
  468. package/lib/esm/LineStyle.js.map +1 -0
  469. package/lib/esm/LocalHub.d.ts +163 -0
  470. package/lib/esm/LocalHub.d.ts.map +1 -0
  471. package/lib/esm/LocalHub.js +583 -0
  472. package/lib/esm/LocalHub.js.map +1 -0
  473. package/lib/esm/LocalhostIpcHost.d.ts +22 -0
  474. package/lib/esm/LocalhostIpcHost.d.ts.map +1 -0
  475. package/lib/esm/LocalhostIpcHost.js +74 -0
  476. package/lib/esm/LocalhostIpcHost.js.map +1 -0
  477. package/lib/esm/LockControl.d.ts +73 -0
  478. package/lib/esm/LockControl.d.ts.map +1 -0
  479. package/lib/esm/LockControl.js +9 -0
  480. package/lib/esm/LockControl.js.map +1 -0
  481. package/lib/esm/Material.d.ts +150 -0
  482. package/lib/esm/Material.d.ts.map +1 -0
  483. package/lib/esm/Material.js +264 -0
  484. package/lib/esm/Material.js.map +1 -0
  485. package/lib/esm/Model.d.ts +411 -0
  486. package/lib/esm/Model.d.ts.map +1 -0
  487. package/lib/esm/Model.js +572 -0
  488. package/lib/esm/Model.js.map +1 -0
  489. package/lib/esm/NativeAppStorage.d.ts +52 -0
  490. package/lib/esm/NativeAppStorage.d.ts.map +1 -0
  491. package/lib/esm/NativeAppStorage.js +205 -0
  492. package/lib/esm/NativeAppStorage.js.map +1 -0
  493. package/lib/esm/NativeHost.d.ts +53 -0
  494. package/lib/esm/NativeHost.d.ts.map +1 -0
  495. package/lib/esm/NativeHost.js +161 -0
  496. package/lib/esm/NativeHost.js.map +1 -0
  497. package/lib/esm/NavigationRelationship.d.ts +185 -0
  498. package/lib/esm/NavigationRelationship.d.ts.map +1 -0
  499. package/lib/esm/NavigationRelationship.js +238 -0
  500. package/lib/esm/NavigationRelationship.js.map +1 -0
  501. package/lib/esm/PromiseMemoizer.d.ts +48 -0
  502. package/lib/esm/PromiseMemoizer.d.ts.map +1 -0
  503. package/lib/esm/PromiseMemoizer.js +101 -0
  504. package/lib/esm/PromiseMemoizer.js.map +1 -0
  505. package/lib/esm/PropertyStore.d.ts +134 -0
  506. package/lib/esm/PropertyStore.d.ts.map +1 -0
  507. package/lib/esm/PropertyStore.js +177 -0
  508. package/lib/esm/PropertyStore.js.map +1 -0
  509. package/lib/esm/Relationship.d.ts +399 -0
  510. package/lib/esm/Relationship.d.ts.map +1 -0
  511. package/lib/esm/Relationship.js +476 -0
  512. package/lib/esm/Relationship.js.map +1 -0
  513. package/lib/esm/RpcBackend.d.ts +6 -0
  514. package/lib/esm/RpcBackend.d.ts.map +1 -0
  515. package/lib/esm/RpcBackend.js +28 -0
  516. package/lib/esm/RpcBackend.js.map +1 -0
  517. package/lib/esm/SQLiteDb.d.ts +324 -0
  518. package/lib/esm/SQLiteDb.d.ts.map +1 -0
  519. package/lib/esm/SQLiteDb.js +380 -0
  520. package/lib/esm/SQLiteDb.js.map +1 -0
  521. package/lib/esm/Schema.d.ts +79 -0
  522. package/lib/esm/Schema.d.ts.map +1 -0
  523. package/lib/esm/Schema.js +113 -0
  524. package/lib/esm/Schema.js.map +1 -0
  525. package/lib/esm/SchemaSync.d.ts +47 -0
  526. package/lib/esm/SchemaSync.d.ts.map +1 -0
  527. package/lib/esm/SchemaSync.js +148 -0
  528. package/lib/esm/SchemaSync.js.map +1 -0
  529. package/lib/esm/SchemaUtils.d.ts +19 -0
  530. package/lib/esm/SchemaUtils.d.ts.map +1 -0
  531. package/lib/esm/SchemaUtils.js +37 -0
  532. package/lib/esm/SchemaUtils.js.map +1 -0
  533. package/lib/esm/SheetIndex.d.ts +148 -0
  534. package/lib/esm/SheetIndex.d.ts.map +1 -0
  535. package/lib/esm/SheetIndex.js +228 -0
  536. package/lib/esm/SheetIndex.js.map +1 -0
  537. package/lib/esm/SqliteChangesetReader.d.ts +278 -0
  538. package/lib/esm/SqliteChangesetReader.d.ts.map +1 -0
  539. package/lib/esm/SqliteChangesetReader.js +337 -0
  540. package/lib/esm/SqliteChangesetReader.js.map +1 -0
  541. package/lib/esm/SqliteStatement.d.ts +375 -0
  542. package/lib/esm/SqliteStatement.d.ts.map +1 -0
  543. package/lib/esm/SqliteStatement.js +615 -0
  544. package/lib/esm/SqliteStatement.js.map +1 -0
  545. package/lib/esm/TextAnnotationElement.d.ts +54 -0
  546. package/lib/esm/TextAnnotationElement.d.ts.map +1 -0
  547. package/lib/esm/TextAnnotationElement.js +89 -0
  548. package/lib/esm/TextAnnotationElement.js.map +1 -0
  549. package/lib/esm/TextAnnotationGeometry.d.ts +32 -0
  550. package/lib/esm/TextAnnotationGeometry.d.ts.map +1 -0
  551. package/lib/esm/TextAnnotationGeometry.js +181 -0
  552. package/lib/esm/TextAnnotationGeometry.js.map +1 -0
  553. package/lib/esm/TextAnnotationLayout.d.ts +177 -0
  554. package/lib/esm/TextAnnotationLayout.d.ts.map +1 -0
  555. package/lib/esm/TextAnnotationLayout.js +513 -0
  556. package/lib/esm/TextAnnotationLayout.js.map +1 -0
  557. package/lib/esm/Texture.d.ts +58 -0
  558. package/lib/esm/Texture.d.ts.map +1 -0
  559. package/lib/esm/Texture.js +81 -0
  560. package/lib/esm/Texture.js.map +1 -0
  561. package/lib/esm/TileStorage.d.ts +59 -0
  562. package/lib/esm/TileStorage.d.ts.map +1 -0
  563. package/lib/esm/TileStorage.js +158 -0
  564. package/lib/esm/TileStorage.js.map +1 -0
  565. package/lib/esm/TxnManager.d.ts +296 -0
  566. package/lib/esm/TxnManager.d.ts.map +1 -0
  567. package/lib/esm/TxnManager.js +620 -0
  568. package/lib/esm/TxnManager.js.map +1 -0
  569. package/lib/esm/ViewDefinition.d.ts +492 -0
  570. package/lib/esm/ViewDefinition.d.ts.map +1 -0
  571. package/lib/esm/ViewDefinition.js +846 -0
  572. package/lib/esm/ViewDefinition.js.map +1 -0
  573. package/lib/esm/ViewStateHydrator.d.ts +14 -0
  574. package/lib/esm/ViewStateHydrator.d.ts.map +1 -0
  575. package/lib/esm/ViewStateHydrator.js +89 -0
  576. package/lib/esm/ViewStateHydrator.js.map +1 -0
  577. package/lib/esm/ViewStore.d.ts +502 -0
  578. package/lib/esm/ViewStore.d.ts.map +1 -0
  579. package/lib/esm/ViewStore.js +1260 -0
  580. package/lib/esm/ViewStore.js.map +1 -0
  581. package/lib/esm/core-backend.d.ts +183 -0
  582. package/lib/esm/core-backend.d.ts.map +1 -0
  583. package/lib/esm/core-backend.js +187 -0
  584. package/lib/esm/core-backend.js.map +1 -0
  585. package/lib/esm/domains/FunctionalElements.d.ts +86 -0
  586. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -0
  587. package/lib/esm/domains/FunctionalElements.js +117 -0
  588. package/lib/esm/domains/FunctionalElements.js.map +1 -0
  589. package/lib/esm/domains/FunctionalSchema.d.ts +14 -0
  590. package/lib/esm/domains/FunctionalSchema.d.ts.map +1 -0
  591. package/lib/esm/domains/FunctionalSchema.js +37 -0
  592. package/lib/esm/domains/FunctionalSchema.js.map +1 -0
  593. package/lib/esm/domains/GenericElements.d.ts +160 -0
  594. package/lib/esm/domains/GenericElements.d.ts.map +1 -0
  595. package/lib/esm/domains/GenericElements.js +225 -0
  596. package/lib/esm/domains/GenericElements.js.map +1 -0
  597. package/lib/esm/domains/GenericSchema.d.ts +11 -0
  598. package/lib/esm/domains/GenericSchema.d.ts.map +1 -0
  599. package/lib/esm/domains/GenericSchema.js +25 -0
  600. package/lib/esm/domains/GenericSchema.js.map +1 -0
  601. package/lib/esm/internal/ChangesetConflictArgs.d.ts +62 -0
  602. package/lib/esm/internal/ChangesetConflictArgs.d.ts.map +1 -0
  603. package/lib/esm/internal/ChangesetConflictArgs.js +104 -0
  604. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -0
  605. package/lib/esm/internal/ChannelAdmin.d.ts +34 -0
  606. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -0
  607. package/lib/esm/internal/ChannelAdmin.js +116 -0
  608. package/lib/esm/internal/ChannelAdmin.js.map +1 -0
  609. package/lib/esm/internal/ElementLRUCache.d.ts +28 -0
  610. package/lib/esm/internal/ElementLRUCache.d.ts.map +1 -0
  611. package/lib/esm/internal/ElementLRUCache.js +116 -0
  612. package/lib/esm/internal/ElementLRUCache.js.map +1 -0
  613. package/lib/esm/internal/FontFileImpl.d.ts +34 -0
  614. package/lib/esm/internal/FontFileImpl.d.ts.map +1 -0
  615. package/lib/esm/internal/FontFileImpl.js +135 -0
  616. package/lib/esm/internal/FontFileImpl.js.map +1 -0
  617. package/lib/esm/internal/HubMock.d.ts +94 -0
  618. package/lib/esm/internal/HubMock.d.ts.map +1 -0
  619. package/lib/esm/internal/HubMock.js +242 -0
  620. package/lib/esm/internal/HubMock.js.map +1 -0
  621. package/lib/esm/internal/IModelDbFontsImpl.d.ts +7 -0
  622. package/lib/esm/internal/IModelDbFontsImpl.d.ts.map +1 -0
  623. package/lib/esm/internal/IModelDbFontsImpl.js +183 -0
  624. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -0
  625. package/lib/esm/internal/NativePlatform.d.ts +15 -0
  626. package/lib/esm/internal/NativePlatform.d.ts.map +1 -0
  627. package/lib/esm/internal/NativePlatform.js +43 -0
  628. package/lib/esm/internal/NativePlatform.js.map +1 -0
  629. package/lib/esm/internal/NoLocks.d.ts +6 -0
  630. package/lib/esm/internal/NoLocks.d.ts.map +1 -0
  631. package/lib/esm/internal/NoLocks.js +24 -0
  632. package/lib/esm/internal/NoLocks.js.map +1 -0
  633. package/lib/esm/internal/ServerBasedLocks.d.ts +52 -0
  634. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -0
  635. package/lib/esm/internal/ServerBasedLocks.js +175 -0
  636. package/lib/esm/internal/ServerBasedLocks.js.map +1 -0
  637. package/lib/esm/internal/Symbols.d.ts +20 -0
  638. package/lib/esm/internal/Symbols.d.ts.map +1 -0
  639. package/lib/esm/internal/Symbols.js +27 -0
  640. package/lib/esm/internal/Symbols.js.map +1 -0
  641. package/lib/esm/internal/cross-package.d.ts +4 -0
  642. package/lib/esm/internal/cross-package.d.ts.map +1 -0
  643. package/lib/esm/internal/cross-package.js +8 -0
  644. package/lib/esm/internal/cross-package.js.map +1 -0
  645. package/lib/esm/internal/workspace/SettingsImpl.d.ts +43 -0
  646. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -0
  647. package/lib/esm/internal/workspace/SettingsImpl.js +154 -0
  648. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -0
  649. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts +6 -0
  650. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -0
  651. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +268 -0
  652. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -0
  653. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +27 -0
  654. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -0
  655. package/lib/esm/internal/workspace/WorkspaceImpl.js +627 -0
  656. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -0
  657. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts +10 -0
  658. package/lib/esm/internal/workspace/WorkspaceSqliteDb.d.ts.map +1 -0
  659. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js +35 -0
  660. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -0
  661. package/lib/esm/rpc/multipart.d.ts +12 -0
  662. package/lib/esm/rpc/multipart.d.ts.map +1 -0
  663. package/lib/esm/rpc/multipart.js +67 -0
  664. package/lib/esm/rpc/multipart.js.map +1 -0
  665. package/lib/esm/rpc/tracing.d.ts +29 -0
  666. package/lib/esm/rpc/tracing.d.ts.map +1 -0
  667. package/lib/esm/rpc/tracing.js +71 -0
  668. package/lib/esm/rpc/tracing.js.map +1 -0
  669. package/lib/esm/rpc/web/logging.d.ts +10 -0
  670. package/lib/esm/rpc/web/logging.d.ts.map +1 -0
  671. package/lib/esm/rpc/web/logging.js +41 -0
  672. package/lib/esm/rpc/web/logging.js.map +1 -0
  673. package/lib/esm/rpc/web/request.d.ts +7 -0
  674. package/lib/esm/rpc/web/request.d.ts.map +1 -0
  675. package/lib/esm/rpc/web/request.js +71 -0
  676. package/lib/esm/rpc/web/request.js.map +1 -0
  677. package/lib/esm/rpc/web/response.d.ts +7 -0
  678. package/lib/esm/rpc/web/response.d.ts.map +1 -0
  679. package/lib/esm/rpc/web/response.js +136 -0
  680. package/lib/esm/rpc/web/response.js.map +1 -0
  681. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  682. package/lib/esm/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  683. package/lib/esm/rpc-impl/DevToolsRpcImpl.js +29 -0
  684. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  685. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts +51 -0
  686. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  687. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +314 -0
  688. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  689. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  690. package/lib/esm/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  691. package/lib/esm/rpc-impl/IModelTileRpcImpl.js +193 -0
  692. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  693. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +45 -0
  694. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  695. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js +155 -0
  696. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  697. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +18 -0
  698. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  699. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +41 -0
  700. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  701. package/lib/esm/test/AdvancedEqual.d.ts +38 -0
  702. package/lib/esm/test/AdvancedEqual.d.ts.map +1 -0
  703. package/lib/esm/test/AdvancedEqual.js +67 -0
  704. package/lib/esm/test/AdvancedEqual.js.map +1 -0
  705. package/lib/esm/test/AttachDb.test.d.ts +2 -0
  706. package/lib/esm/test/AttachDb.test.d.ts.map +1 -0
  707. package/lib/esm/test/AttachDb.test.js +157 -0
  708. package/lib/esm/test/AttachDb.test.js.map +1 -0
  709. package/lib/esm/test/ElementLRUCache.test.d.ts +2 -0
  710. package/lib/esm/test/ElementLRUCache.test.d.ts.map +1 -0
  711. package/lib/esm/test/ElementLRUCache.test.js +212 -0
  712. package/lib/esm/test/ElementLRUCache.test.js.map +1 -0
  713. package/lib/esm/test/GeometryTestUtil.d.ts +7 -0
  714. package/lib/esm/test/GeometryTestUtil.d.ts.map +1 -0
  715. package/lib/esm/test/GeometryTestUtil.js +25 -0
  716. package/lib/esm/test/GeometryTestUtil.js.map +1 -0
  717. package/lib/esm/test/IModelHost.test.d.ts +2 -0
  718. package/lib/esm/test/IModelHost.test.d.ts.map +1 -0
  719. package/lib/esm/test/IModelHost.test.js +187 -0
  720. package/lib/esm/test/IModelHost.test.js.map +1 -0
  721. package/lib/esm/test/IModelTestUtils.d.ts +177 -0
  722. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -0
  723. package/lib/esm/test/IModelTestUtils.js +1146 -0
  724. package/lib/esm/test/IModelTestUtils.js.map +1 -0
  725. package/lib/esm/test/ImageSourceConversion.test.d.ts +2 -0
  726. package/lib/esm/test/ImageSourceConversion.test.d.ts.map +1 -0
  727. package/lib/esm/test/ImageSourceConversion.test.js +171 -0
  728. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -0
  729. package/lib/esm/test/IpcHost.test.d.ts +2 -0
  730. package/lib/esm/test/IpcHost.test.d.ts.map +1 -0
  731. package/lib/esm/test/IpcHost.test.js +55 -0
  732. package/lib/esm/test/IpcHost.test.js.map +1 -0
  733. package/lib/esm/test/KnownTestLocations.d.ts +7 -0
  734. package/lib/esm/test/KnownTestLocations.d.ts.map +1 -0
  735. package/lib/esm/test/KnownTestLocations.js +27 -0
  736. package/lib/esm/test/KnownTestLocations.js.map +1 -0
  737. package/lib/esm/test/PrintElementTree.d.ts +7 -0
  738. package/lib/esm/test/PrintElementTree.d.ts.map +1 -0
  739. package/lib/esm/test/PrintElementTree.js +36 -0
  740. package/lib/esm/test/PrintElementTree.js.map +1 -0
  741. package/lib/esm/test/PropertyDb.test.d.ts +2 -0
  742. package/lib/esm/test/PropertyDb.test.d.ts.map +1 -0
  743. package/lib/esm/test/PropertyDb.test.js +71 -0
  744. package/lib/esm/test/PropertyDb.test.js.map +1 -0
  745. package/lib/esm/test/RevisionUtility.d.ts +33 -0
  746. package/lib/esm/test/RevisionUtility.d.ts.map +1 -0
  747. package/lib/esm/test/RevisionUtility.js +52 -0
  748. package/lib/esm/test/RevisionUtility.js.map +1 -0
  749. package/lib/esm/test/SchemaUtils.test.d.ts +2 -0
  750. package/lib/esm/test/SchemaUtils.test.d.ts.map +1 -0
  751. package/lib/esm/test/SchemaUtils.test.js +99 -0
  752. package/lib/esm/test/SchemaUtils.test.js.map +1 -0
  753. package/lib/esm/test/SequentialLogMatcher.d.ts +35 -0
  754. package/lib/esm/test/SequentialLogMatcher.d.ts.map +1 -0
  755. package/lib/esm/test/SequentialLogMatcher.js +130 -0
  756. package/lib/esm/test/SequentialLogMatcher.js.map +1 -0
  757. package/lib/esm/test/TestChangeSetUtility.d.ts +23 -0
  758. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -0
  759. package/lib/esm/test/TestChangeSetUtility.js +65 -0
  760. package/lib/esm/test/TestChangeSetUtility.js.map +1 -0
  761. package/lib/esm/test/TestUtils.d.ts +38 -0
  762. package/lib/esm/test/TestUtils.d.ts.map +1 -0
  763. package/lib/esm/test/TestUtils.js +99 -0
  764. package/lib/esm/test/TestUtils.js.map +1 -0
  765. package/lib/esm/test/annotations/TextAnnotation.test.d.ts +2 -0
  766. package/lib/esm/test/annotations/TextAnnotation.test.d.ts.map +1 -0
  767. package/lib/esm/test/annotations/TextAnnotation.test.js +1135 -0
  768. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -0
  769. package/lib/esm/test/categories/Category.test.d.ts +2 -0
  770. package/lib/esm/test/categories/Category.test.d.ts.map +1 -0
  771. package/lib/esm/test/categories/Category.test.js +51 -0
  772. package/lib/esm/test/categories/Category.test.js.map +1 -0
  773. package/lib/esm/test/codespec/CodeSpec.test.d.ts +2 -0
  774. package/lib/esm/test/codespec/CodeSpec.test.d.ts.map +1 -0
  775. package/lib/esm/test/codespec/CodeSpec.test.js +51 -0
  776. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -0
  777. package/lib/esm/test/ecdb/CTE.test.d.ts +2 -0
  778. package/lib/esm/test/ecdb/CTE.test.d.ts.map +1 -0
  779. package/lib/esm/test/ecdb/CTE.test.js +177 -0
  780. package/lib/esm/test/ecdb/CTE.test.js.map +1 -0
  781. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts +2 -0
  782. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.d.ts.map +1 -0
  783. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +167 -0
  784. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -0
  785. package/lib/esm/test/ecdb/ECDb.test.d.ts +2 -0
  786. package/lib/esm/test/ecdb/ECDb.test.d.ts.map +1 -0
  787. package/lib/esm/test/ecdb/ECDb.test.js +653 -0
  788. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -0
  789. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts +5 -0
  790. package/lib/esm/test/ecdb/ECDbTestHelper.d.ts.map +1 -0
  791. package/lib/esm/test/ecdb/ECDbTestHelper.js +28 -0
  792. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -0
  793. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts +2 -0
  794. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.d.ts.map +1 -0
  795. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +63 -0
  796. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -0
  797. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts +5 -0
  798. package/lib/esm/test/ecdb/ECSqlAst.test.d.ts.map +1 -0
  799. package/lib/esm/test/ecdb/ECSqlAst.test.js +972 -0
  800. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -0
  801. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts +2 -0
  802. package/lib/esm/test/ecdb/ECSqlQuery.test.d.ts.map +1 -0
  803. package/lib/esm/test/ecdb/ECSqlQuery.test.js +753 -0
  804. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -0
  805. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +2 -0
  806. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +1 -0
  807. package/lib/esm/test/ecdb/ECSqlReader.test.js +669 -0
  808. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -0
  809. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts +2 -0
  810. package/lib/esm/test/ecdb/ECSqlStatement.test.d.ts.map +1 -0
  811. package/lib/esm/test/ecdb/ECSqlStatement.test.js +3329 -0
  812. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -0
  813. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts +2 -0
  814. package/lib/esm/test/ecdb/SqliteStatement.test.d.ts.map +1 -0
  815. package/lib/esm/test/ecdb/SqliteStatement.test.js +510 -0
  816. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -0
  817. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts +4 -0
  818. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -0
  819. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +127 -0
  820. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -0
  821. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts +2 -0
  822. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.d.ts.map +1 -0
  823. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +197 -0
  824. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -0
  825. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +66 -0
  826. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -0
  827. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +420 -0
  828. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -0
  829. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts +2 -0
  830. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.d.ts.map +1 -0
  831. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +369 -0
  832. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -0
  833. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts +2 -0
  834. package/lib/esm/test/element/DeleteDefinitionElements.test.d.ts.map +1 -0
  835. package/lib/esm/test/element/DeleteDefinitionElements.test.js +208 -0
  836. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -0
  837. package/lib/esm/test/element/ElementAspect.test.d.ts +2 -0
  838. package/lib/esm/test/element/ElementAspect.test.d.ts.map +1 -0
  839. package/lib/esm/test/element/ElementAspect.test.js +363 -0
  840. package/lib/esm/test/element/ElementAspect.test.js.map +1 -0
  841. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts +2 -0
  842. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -0
  843. package/lib/esm/test/element/ElementDependencyGraph.test.js +383 -0
  844. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -0
  845. package/lib/esm/test/element/ElementRoundTrip.test.d.ts +2 -0
  846. package/lib/esm/test/element/ElementRoundTrip.test.d.ts.map +1 -0
  847. package/lib/esm/test/element/ElementRoundTrip.test.js +926 -0
  848. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -0
  849. package/lib/esm/test/element/ExcludedElements.test.d.ts +2 -0
  850. package/lib/esm/test/element/ExcludedElements.test.d.ts.map +1 -0
  851. package/lib/esm/test/element/ExcludedElements.test.js +57 -0
  852. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -0
  853. package/lib/esm/test/element/ExternalSource.test.d.ts +2 -0
  854. package/lib/esm/test/element/ExternalSource.test.d.ts.map +1 -0
  855. package/lib/esm/test/element/ExternalSource.test.js +107 -0
  856. package/lib/esm/test/element/ExternalSource.test.js.map +1 -0
  857. package/lib/esm/test/element/NullStructArray.test.d.ts +2 -0
  858. package/lib/esm/test/element/NullStructArray.test.d.ts.map +1 -0
  859. package/lib/esm/test/element/NullStructArray.test.js +77 -0
  860. package/lib/esm/test/element/NullStructArray.test.js.map +1 -0
  861. package/lib/esm/test/element/UrlLink.test.d.ts +2 -0
  862. package/lib/esm/test/element/UrlLink.test.d.ts.map +1 -0
  863. package/lib/esm/test/element/UrlLink.test.js +36 -0
  864. package/lib/esm/test/element/UrlLink.test.js.map +1 -0
  865. package/lib/esm/test/font/FontFile.test.d.ts +2 -0
  866. package/lib/esm/test/font/FontFile.test.d.ts.map +1 -0
  867. package/lib/esm/test/font/FontFile.test.js +139 -0
  868. package/lib/esm/test/font/FontFile.test.js.map +1 -0
  869. package/lib/esm/test/font/IModelDbFonts.test.d.ts +2 -0
  870. package/lib/esm/test/font/IModelDbFonts.test.d.ts.map +1 -0
  871. package/lib/esm/test/font/IModelDbFonts.test.js +266 -0
  872. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -0
  873. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts +2 -0
  874. package/lib/esm/test/hubaccess/BriefcaseManager.test.d.ts.map +1 -0
  875. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +176 -0
  876. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -0
  877. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts +2 -0
  878. package/lib/esm/test/hubaccess/CheckpointManager.test.d.ts.map +1 -0
  879. package/lib/esm/test/hubaccess/CheckpointManager.test.js +52 -0
  880. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -0
  881. package/lib/esm/test/imageData.d.ts +9 -0
  882. package/lib/esm/test/imageData.d.ts.map +1 -0
  883. package/lib/esm/test/imageData.js +16 -0
  884. package/lib/esm/test/imageData.js.map +1 -0
  885. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts +2 -0
  886. package/lib/esm/test/imodel/ElementTreeWalker.test.d.ts.map +1 -0
  887. package/lib/esm/test/imodel/ElementTreeWalker.test.js +383 -0
  888. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -0
  889. package/lib/esm/test/imodel/GetTextureImage.test.d.ts +2 -0
  890. package/lib/esm/test/imodel/GetTextureImage.test.d.ts.map +1 -0
  891. package/lib/esm/test/imodel/GetTextureImage.test.js +29 -0
  892. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -0
  893. package/lib/esm/test/imodel/IModel.test.d.ts +2 -0
  894. package/lib/esm/test/imodel/IModel.test.d.ts.map +1 -0
  895. package/lib/esm/test/imodel/IModel.test.js +2626 -0
  896. package/lib/esm/test/imodel/IModel.test.js.map +1 -0
  897. package/lib/esm/test/imodel/ProjectExtents.test.d.ts +2 -0
  898. package/lib/esm/test/imodel/ProjectExtents.test.d.ts.map +1 -0
  899. package/lib/esm/test/imodel/ProjectExtents.test.js +66 -0
  900. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -0
  901. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts +2 -0
  902. package/lib/esm/test/imodel/SchemaXmlImport.test.d.ts.map +1 -0
  903. package/lib/esm/test/imodel/SchemaXmlImport.test.js +74 -0
  904. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -0
  905. package/lib/esm/test/index.d.ts +7 -0
  906. package/lib/esm/test/index.d.ts.map +1 -0
  907. package/lib/esm/test/index.js +11 -0
  908. package/lib/esm/test/index.js.map +1 -0
  909. package/lib/esm/test/misc/DevTools.test.d.ts +2 -0
  910. package/lib/esm/test/misc/DevTools.test.d.ts.map +1 -0
  911. package/lib/esm/test/misc/DevTools.test.js +72 -0
  912. package/lib/esm/test/misc/DevTools.test.js.map +1 -0
  913. package/lib/esm/test/misc/EntitySubClasses.test.d.ts +2 -0
  914. package/lib/esm/test/misc/EntitySubClasses.test.d.ts.map +1 -0
  915. package/lib/esm/test/misc/EntitySubClasses.test.js +106 -0
  916. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -0
  917. package/lib/esm/test/misc/GeoServices.test.d.ts +2 -0
  918. package/lib/esm/test/misc/GeoServices.test.d.ts.map +1 -0
  919. package/lib/esm/test/misc/GeoServices.test.js +850 -0
  920. package/lib/esm/test/misc/GeoServices.test.js.map +1 -0
  921. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts +2 -0
  922. package/lib/esm/test/misc/PromiseMemoizer.test.d.ts.map +1 -0
  923. package/lib/esm/test/misc/PromiseMemoizer.test.js +111 -0
  924. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -0
  925. package/lib/esm/test/native/DgnDbWorker.test.d.ts +2 -0
  926. package/lib/esm/test/native/DgnDbWorker.test.d.ts.map +1 -0
  927. package/lib/esm/test/native/DgnDbWorker.test.js +159 -0
  928. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -0
  929. package/lib/esm/test/rpc/response.test.d.ts +2 -0
  930. package/lib/esm/test/rpc/response.test.d.ts.map +1 -0
  931. package/lib/esm/test/rpc/response.test.js +112 -0
  932. package/lib/esm/test/rpc/response.test.js.map +1 -0
  933. package/lib/esm/test/schema/ClassRegistry.test.d.ts +2 -0
  934. package/lib/esm/test/schema/ClassRegistry.test.d.ts.map +1 -0
  935. package/lib/esm/test/schema/ClassRegistry.test.js +679 -0
  936. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -0
  937. package/lib/esm/test/schema/FunctionalDomain.test.d.ts +2 -0
  938. package/lib/esm/test/schema/FunctionalDomain.test.d.ts.map +1 -0
  939. package/lib/esm/test/schema/FunctionalDomain.test.js +490 -0
  940. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -0
  941. package/lib/esm/test/schema/GenericDomain.test.d.ts +2 -0
  942. package/lib/esm/test/schema/GenericDomain.test.d.ts.map +1 -0
  943. package/lib/esm/test/schema/GenericDomain.test.js +133 -0
  944. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -0
  945. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts +2 -0
  946. package/lib/esm/test/schema/IModelSchemaContext.test.d.ts.map +1 -0
  947. package/lib/esm/test/schema/IModelSchemaContext.test.js +95 -0
  948. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -0
  949. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +4 -0
  950. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -0
  951. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -0
  952. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -0
  953. package/lib/esm/test/standalone/ChangeMerge.test.d.ts +2 -0
  954. package/lib/esm/test/standalone/ChangeMerge.test.d.ts.map +1 -0
  955. package/lib/esm/test/standalone/ChangeMerge.test.js +409 -0
  956. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -0
  957. package/lib/esm/test/standalone/ChangesetReader.test.d.ts +2 -0
  958. package/lib/esm/test/standalone/ChangesetReader.test.d.ts.map +1 -0
  959. package/lib/esm/test/standalone/ChangesetReader.test.js +891 -0
  960. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -0
  961. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts +2 -0
  962. package/lib/esm/test/standalone/CustomViewState3dCreator.test.d.ts.map +1 -0
  963. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js +49 -0
  964. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -0
  965. package/lib/esm/test/standalone/DisplayStyle.test.d.ts +2 -0
  966. package/lib/esm/test/standalone/DisplayStyle.test.d.ts.map +1 -0
  967. package/lib/esm/test/standalone/DisplayStyle.test.js +136 -0
  968. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -0
  969. package/lib/esm/test/standalone/Drawing.test.d.ts +2 -0
  970. package/lib/esm/test/standalone/Drawing.test.d.ts.map +1 -0
  971. package/lib/esm/test/standalone/Drawing.test.js +120 -0
  972. package/lib/esm/test/standalone/Drawing.test.js.map +1 -0
  973. package/lib/esm/test/standalone/ElementGraphics.test.d.ts +2 -0
  974. package/lib/esm/test/standalone/ElementGraphics.test.d.ts.map +1 -0
  975. package/lib/esm/test/standalone/ElementGraphics.test.js +127 -0
  976. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -0
  977. package/lib/esm/test/standalone/ElementMesh.test.d.ts +2 -0
  978. package/lib/esm/test/standalone/ElementMesh.test.d.ts.map +1 -0
  979. package/lib/esm/test/standalone/ElementMesh.test.js +142 -0
  980. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -0
  981. package/lib/esm/test/standalone/ExportGraphics.test.d.ts +2 -0
  982. package/lib/esm/test/standalone/ExportGraphics.test.d.ts.map +1 -0
  983. package/lib/esm/test/standalone/ExportGraphics.test.js +1005 -0
  984. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -0
  985. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts +2 -0
  986. package/lib/esm/test/standalone/GeometryChangeEvents.test.d.ts.map +1 -0
  987. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +139 -0
  988. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -0
  989. package/lib/esm/test/standalone/GeometryStream.test.d.ts +2 -0
  990. package/lib/esm/test/standalone/GeometryStream.test.d.ts.map +1 -0
  991. package/lib/esm/test/standalone/GeometryStream.test.js +2869 -0
  992. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -0
  993. package/lib/esm/test/standalone/HubMock.test.d.ts +2 -0
  994. package/lib/esm/test/standalone/HubMock.test.d.ts.map +1 -0
  995. package/lib/esm/test/standalone/HubMock.test.js +343 -0
  996. package/lib/esm/test/standalone/HubMock.test.js.map +1 -0
  997. package/lib/esm/test/standalone/IModelWrite.test.d.ts +7 -0
  998. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -0
  999. package/lib/esm/test/standalone/IModelWrite.test.js +907 -0
  1000. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -0
  1001. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts +2 -0
  1002. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.d.ts.map +1 -0
  1003. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +417 -0
  1004. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -0
  1005. package/lib/esm/test/standalone/MergeConflict.test.d.ts +7 -0
  1006. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -0
  1007. package/lib/esm/test/standalone/MergeConflict.test.js +345 -0
  1008. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -0
  1009. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts +2 -0
  1010. package/lib/esm/test/standalone/NativeAppStorage.test.d.ts.map +1 -0
  1011. package/lib/esm/test/standalone/NativeAppStorage.test.js +121 -0
  1012. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -0
  1013. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts +2 -0
  1014. package/lib/esm/test/standalone/RenderMaterialElement.test.d.ts.map +1 -0
  1015. package/lib/esm/test/standalone/RenderMaterialElement.test.js +399 -0
  1016. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -0
  1017. package/lib/esm/test/standalone/RenderTimeline.test.d.ts +2 -0
  1018. package/lib/esm/test/standalone/RenderTimeline.test.d.ts.map +1 -0
  1019. package/lib/esm/test/standalone/RenderTimeline.test.js +71 -0
  1020. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -0
  1021. package/lib/esm/test/standalone/SQLiteDb.test.d.ts +2 -0
  1022. package/lib/esm/test/standalone/SQLiteDb.test.d.ts.map +1 -0
  1023. package/lib/esm/test/standalone/SQLiteDb.test.js +63 -0
  1024. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -0
  1025. package/lib/esm/test/standalone/SchemaUtils.test.d.ts +2 -0
  1026. package/lib/esm/test/standalone/SchemaUtils.test.d.ts.map +1 -0
  1027. package/lib/esm/test/standalone/SchemaUtils.test.js +25 -0
  1028. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -0
  1029. package/lib/esm/test/standalone/SectionDrawing.test.d.ts +2 -0
  1030. package/lib/esm/test/standalone/SectionDrawing.test.d.ts.map +1 -0
  1031. package/lib/esm/test/standalone/SectionDrawing.test.js +83 -0
  1032. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -0
  1033. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts +2 -0
  1034. package/lib/esm/test/standalone/ServerBasedLocks.test.d.ts.map +1 -0
  1035. package/lib/esm/test/standalone/ServerBasedLocks.test.js +279 -0
  1036. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -0
  1037. package/lib/esm/test/standalone/Setting.test.d.ts +2 -0
  1038. package/lib/esm/test/standalone/Setting.test.d.ts.map +1 -0
  1039. package/lib/esm/test/standalone/Setting.test.js +76 -0
  1040. package/lib/esm/test/standalone/Setting.test.js.map +1 -0
  1041. package/lib/esm/test/standalone/Settings.test.d.ts +2 -0
  1042. package/lib/esm/test/standalone/Settings.test.d.ts.map +1 -0
  1043. package/lib/esm/test/standalone/Settings.test.js +349 -0
  1044. package/lib/esm/test/standalone/Settings.test.js.map +1 -0
  1045. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts +2 -0
  1046. package/lib/esm/test/standalone/SettingsSchemas.test.d.ts.map +1 -0
  1047. package/lib/esm/test/standalone/SettingsSchemas.test.js +31 -0
  1048. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -0
  1049. package/lib/esm/test/standalone/SnapshotDb.test.d.ts +2 -0
  1050. package/lib/esm/test/standalone/SnapshotDb.test.d.ts.map +1 -0
  1051. package/lib/esm/test/standalone/SnapshotDb.test.js +156 -0
  1052. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -0
  1053. package/lib/esm/test/standalone/Texture.test.d.ts +2 -0
  1054. package/lib/esm/test/standalone/Texture.test.d.ts.map +1 -0
  1055. package/lib/esm/test/standalone/Texture.test.js +90 -0
  1056. package/lib/esm/test/standalone/Texture.test.js.map +1 -0
  1057. package/lib/esm/test/standalone/TileCache.test.d.ts +9 -0
  1058. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -0
  1059. package/lib/esm/test/standalone/TileCache.test.js +127 -0
  1060. package/lib/esm/test/standalone/TileCache.test.js.map +1 -0
  1061. package/lib/esm/test/standalone/TileTree.test.d.ts +2 -0
  1062. package/lib/esm/test/standalone/TileTree.test.d.ts.map +1 -0
  1063. package/lib/esm/test/standalone/TileTree.test.js +241 -0
  1064. package/lib/esm/test/standalone/TileTree.test.js.map +1 -0
  1065. package/lib/esm/test/standalone/TxnManager.test.d.ts +2 -0
  1066. package/lib/esm/test/standalone/TxnManager.test.d.ts.map +1 -0
  1067. package/lib/esm/test/standalone/TxnManager.test.js +878 -0
  1068. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -0
  1069. package/lib/esm/test/standalone/ViewDefinition.test.d.ts +2 -0
  1070. package/lib/esm/test/standalone/ViewDefinition.test.d.ts.map +1 -0
  1071. package/lib/esm/test/standalone/ViewDefinition.test.js +279 -0
  1072. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -0
  1073. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts +2 -0
  1074. package/lib/esm/test/standalone/ViewStoreDb.test.d.ts.map +1 -0
  1075. package/lib/esm/test/standalone/ViewStoreDb.test.js +288 -0
  1076. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -0
  1077. package/lib/esm/test/standalone/Workspace.test.d.ts +2 -0
  1078. package/lib/esm/test/standalone/Workspace.test.d.ts.map +1 -0
  1079. package/lib/esm/test/standalone/Workspace.test.js +162 -0
  1080. package/lib/esm/test/standalone/Workspace.test.js.map +1 -0
  1081. package/lib/esm/workspace/Settings.d.ts +216 -0
  1082. package/lib/esm/workspace/Settings.d.ts.map +1 -0
  1083. package/lib/esm/workspace/Settings.js +83 -0
  1084. package/lib/esm/workspace/Settings.js.map +1 -0
  1085. package/lib/esm/workspace/SettingsSchemas.d.ts +135 -0
  1086. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -0
  1087. package/lib/esm/workspace/SettingsSchemas.js +9 -0
  1088. package/lib/esm/workspace/SettingsSchemas.js.map +1 -0
  1089. package/lib/esm/workspace/Workspace.d.ts +500 -0
  1090. package/lib/esm/workspace/Workspace.d.ts.map +1 -0
  1091. package/lib/esm/workspace/Workspace.js +97 -0
  1092. package/lib/esm/workspace/Workspace.js.map +1 -0
  1093. package/lib/esm/workspace/WorkspaceEditor.d.ts +240 -0
  1094. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -0
  1095. package/lib/esm/workspace/WorkspaceEditor.js +31 -0
  1096. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -0
  1097. package/package.json +37 -29
  1098. package/lib/cjs/HubMock.d.ts.map +0 -1
  1099. package/lib/cjs/HubMock.js.map +0 -1
  1100. package/lib/cjs/IModelCloneContext.d.ts +0 -9
  1101. package/lib/cjs/IModelCloneContext.d.ts.map +0 -1
  1102. package/lib/cjs/IModelCloneContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LocalhostIpcHost.js","sourceRoot":"","sources":["../../src/LocalhostIpcHost.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 IModelHost\r\n */\r\n\r\nimport * as ws from \"ws\";\r\nimport {\r\n InterceptedRpcRequest, IpcWebSocket, IpcWebSocketBackend, IpcWebSocketMessage, IpcWebSocketTransport, rpcOverIpcStrings, RpcSessionInvocation,\r\n} from \"@itwin/core-common\";\r\nimport { IModelHostOptions } from \"./IModelHost\";\r\nimport { IpcHandler, IpcHost } from \"./IpcHost\";\r\n\r\n/** @internal */\r\nexport interface LocalhostIpcHostOpts {\r\n socketPort?: number;\r\n noServer?: boolean;\r\n}\r\n\r\nclass LocalTransport extends IpcWebSocketTransport {\r\n private _server: ws.Server | undefined;\r\n private _connections: Map<ws, number> = new Map();\r\n\r\n public constructor(opts: LocalhostIpcHostOpts) {\r\n super();\r\n\r\n if (!opts.noServer) {\r\n this._server = new ws.Server({ port: opts.socketPort ?? 3002 });\r\n this._server.on(\"connection\", (connection) => LocalhostIpcHost.connect(connection));\r\n }\r\n }\r\n\r\n public send(message: IpcWebSocketMessage): void {\r\n this._connections.forEach((last, connection) => {\r\n message.sequence = last + 1;\r\n this._connections.set(connection, message.sequence);\r\n const parts = this.serialize(message);\r\n parts.forEach((part) => connection.send(part));\r\n });\r\n }\r\n\r\n public connect(connection: ws) {\r\n this._connections.set(connection, -1);\r\n\r\n connection.on(\"message\", async (data) => {\r\n const message = await this.notifyIncoming(data, connection);\r\n if (IpcWebSocketMessage.skip(message)) {\r\n return;\r\n }\r\n\r\n for (const listener of IpcWebSocket.receivers) {\r\n listener({} as Event, message);\r\n }\r\n });\r\n\r\n connection.on(\"close\", () => {\r\n this._connections.delete(connection);\r\n this.notifyClose(connection);\r\n });\r\n }\r\n}\r\n\r\nclass RpcHandler extends IpcHandler {\r\n public channelName = rpcOverIpcStrings.channelName;\r\n\r\n public async request(info: InterceptedRpcRequest) {\r\n const invocation = RpcSessionInvocation.create(info);\r\n const fulfillment = await invocation.fulfillment;\r\n return invocation.rejected ? Promise.reject(fulfillment.rawResult) : fulfillment.rawResult; // eslint-disable-line @typescript-eslint/prefer-promise-reject-errors\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class LocalhostIpcHost {\r\n private static _initialized = false;\r\n public static socket: IpcWebSocketBackend;\r\n\r\n public static connect(connection: ws) {\r\n (IpcWebSocket.transport as LocalTransport).connect(connection);\r\n }\r\n\r\n public static async startup(opts?: { localhostIpcHost?: LocalhostIpcHostOpts, iModelHost?: IModelHostOptions }) {\r\n let registerHandler = false;\r\n\r\n if (!this._initialized) {\r\n registerHandler = true;\r\n IpcWebSocket.transport = new LocalTransport(opts?.localhostIpcHost ?? {});\r\n this.socket = new IpcWebSocketBackend();\r\n this._initialized = true;\r\n }\r\n\r\n await IpcHost.startup({ ipcHost: { socket: this.socket }, iModelHost: opts?.iModelHost });\r\n\r\n if (registerHandler)\r\n RpcHandler.register();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"LocalhostIpcHost.js","sourceRoot":"","sources":["../../src/LocalhostIpcHost.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 IModelHost\n */\n\nimport * as ws from \"ws\";\nimport {\n InterceptedRpcRequest, IpcWebSocket, IpcWebSocketBackend, IpcWebSocketMessage, IpcWebSocketTransport, rpcOverIpcStrings, RpcSessionInvocation,\n} from \"@itwin/core-common\";\nimport { IModelHostOptions } from \"./IModelHost\";\nimport { IpcHandler, IpcHost } from \"./IpcHost\";\n\n/** @internal */\nexport interface LocalhostIpcHostOpts {\n socketPort?: number;\n noServer?: boolean;\n}\n\nclass LocalTransport extends IpcWebSocketTransport {\n private _server: ws.Server | undefined;\n private _connections: Map<ws, number> = new Map();\n\n public constructor(opts: LocalhostIpcHostOpts) {\n super();\n\n if (!opts.noServer) {\n this._server = new ws.Server({ port: opts.socketPort ?? 3002 });\n this._server.on(\"connection\", (connection) => LocalhostIpcHost.connect(connection));\n }\n }\n\n public send(message: IpcWebSocketMessage): void {\n this._connections.forEach((last, connection) => {\n message.sequence = last + 1;\n this._connections.set(connection, message.sequence);\n const parts = this.serialize(message);\n parts.forEach((part) => connection.send(part));\n });\n }\n\n public connect(connection: ws) {\n this._connections.set(connection, -1);\n\n connection.on(\"message\", async (data) => {\n const message = await this.notifyIncoming(data, connection);\n if (IpcWebSocketMessage.skip(message)) {\n return;\n }\n\n for (const listener of IpcWebSocket.receivers) {\n listener({} as Event, message);\n }\n });\n\n connection.on(\"close\", () => {\n this._connections.delete(connection);\n this.notifyClose(connection);\n });\n }\n}\n\nclass RpcHandler extends IpcHandler {\n public channelName = rpcOverIpcStrings.channelName;\n\n public async request(info: InterceptedRpcRequest) {\n const invocation = RpcSessionInvocation.create(info);\n const fulfillment = await invocation.fulfillment;\n return invocation.rejected ? Promise.reject(fulfillment.rawResult) : fulfillment.rawResult; // eslint-disable-line @typescript-eslint/prefer-promise-reject-errors\n }\n}\n\n/** @internal */\nexport class LocalhostIpcHost {\n private static _initialized = false;\n public static socket: IpcWebSocketBackend;\n\n public static connect(connection: ws) {\n (IpcWebSocket.transport as LocalTransport).connect(connection);\n }\n\n public static async startup(opts?: { localhostIpcHost?: LocalhostIpcHostOpts, iModelHost?: IModelHostOptions }) {\n let registerHandler = false;\n\n if (!this._initialized) {\n registerHandler = true;\n IpcWebSocket.transport = new LocalTransport(opts?.localhostIpcHost ?? {});\n this.socket = new IpcWebSocketBackend();\n this._initialized = true;\n }\n\n await IpcHost.startup({ ipcHost: { socket: this.socket }, iModelHost: opts?.iModelHost });\n\n if (registerHandler)\n RpcHandler.register();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LockControl.js","sourceRoot":"","sources":["../../src/LockControl.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AAGH,gDAA6G","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"]}
1
+ {"version":3,"file":"LockControl.js","sourceRoot":"","sources":["../../src/LockControl.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AAGH,gDAA6G","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"]}
@@ -6,6 +6,7 @@ import { Code, CodeScopeProps, ElementProps, NormalMapProps, RenderMaterialProps
6
6
  import { DefinitionElement } from "./Element";
7
7
  import { IModelDb } from "./IModelDb";
8
8
  import { IModelElementCloneContext } from "./IModelElementCloneContext";
9
+ import { CustomHandledProperty, DeserializeEntityArgs, ECSqlRow } from "./Entity";
9
10
  /** A PhysicalMaterial defines the matter that makes up physical elements.
10
11
  * @note See [[RenderMaterialElement]] for the DefinitionElement used to define rendering characteristics.
11
12
  * @public
@@ -39,6 +40,24 @@ export declare class RenderMaterialElement extends DefinitionElement {
39
40
  description?: string;
40
41
  private constructor();
41
42
  toJSON(): RenderMaterialProps;
43
+ /**
44
+ * RenderMaterialElement custom HandledProps includes 'paletteName'.
45
+ * @inheritdoc
46
+ * @beta
47
+ */
48
+ protected static readonly _customHandledProps: CustomHandledProperty[];
49
+ /**
50
+ * RenderMaterialElement deserializes 'paletteName'.
51
+ * @inheritdoc
52
+ * @beta
53
+ */
54
+ static deserialize(props: DeserializeEntityArgs): RenderMaterialProps;
55
+ /**
56
+ * RenderMaterialElement serializes 'paletteName'.
57
+ * @inheritdoc
58
+ * @beta
59
+ */
60
+ static serialize(props: RenderMaterialProps, iModel: IModelDb): ECSqlRow;
42
61
  /** Create a Code for a RenderMaterial given a name that is meant to be unique within the scope of the specified DefinitionModel.
43
62
  * @param iModel The IModelDb
44
63
  * @param scopeModelId The Id of the DefinitionModel that contains the RenderMaterial and provides the scope for its name.
@@ -1 +1 @@
1
- {"version":3,"file":"Material.d.ts","sourceRoot":"","sources":["../../src/Material.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAQ,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACQ,IAAI,EAAE,cAAc,EAAoC,YAAY,EAAE,cAAc,EAAgC,mBAAmB,EAAE,cAAc,EAAE,eAAe,EACtL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAIxE;;;GAGG;AACH,8BAAsB,gBAAiB,SAAQ,iBAAiB;IAC9D,WAA2B,SAAS,IAAI,MAAM,CAA+B;IAC7E;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjG;;;;;;OAMG;WACW,MAAM,CAAC,CAAC,SAAS,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;CAQzH;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,WAA2B,SAAS,IAAI,MAAM,CAA6B;IAE3E,+EAA+E;IACxE,WAAW,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE5B,OAAO;IAMS,MAAM,IAAI,mBAAmB;IAM7C;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5F;;;;;;;;OAQG;WACW,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,GAAG,qBAAqB;IAgFzJ;;;;;;;;OAQG;WACW,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,GAAG,UAAU;IAK9I,YAAY;qBACc,QAAQ,CAAC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY;CAgB5H;AAED,cAAc;AACd,yBAAiB,qBAAqB,CAAC;IACrC;;;;OAIG;IACH,MAAa,MAAM;QACjB,mEAAmE;QAC5D,WAAW,EAAE,MAAM,CAAC;QAC3B,qDAAqD;QAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;QAC5B,iHAAiH;QAC1G,KAAK,CAAC,EAAE,cAAc,CAAC;QAC9B,kEAAkE;QAC3D,aAAa,CAAC,EAAE,cAAc,CAAC;QACtC;;WAEG;QACI,MAAM,CAAC,EAAE,MAAM,CAAC;QACvB;;;WAGG;QACI,QAAQ,CAAC,EAAE,MAAM,CAAC;QACzB,wEAAwE;QACjE,OAAO,CAAC,EAAE,MAAM,CAAC;QACxB,yEAAyE;QAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;QACzB,wBAAwB;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACxB,wBAAwB;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B;;;WAGG;QACI,UAAU,CAAC,EAAE,eAAe,CAAC;QACpC;;;;WAIG;QACI,SAAS,CAAC,EAAE,cAAc,GAAG;YAClC;;eAEG;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QAEF,gJAAgJ;oBAC7H,WAAW,EAAE,MAAM;KAGvC;CACF;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB,CAAC,MAAM;CAChF"}
1
+ {"version":3,"file":"Material.d.ts","sourceRoot":"","sources":["../../src/Material.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,10 @@ exports.PhysicalMaterial = PhysicalMaterial;
50
50
  */
51
51
  class RenderMaterialElement extends Element_1.DefinitionElement {
52
52
  static get className() { return "RenderMaterial"; }
53
+ /** The name of a palette that can be used to categorize multiple materials. */
54
+ paletteName;
55
+ /** An optional description of the material. */
56
+ description;
53
57
  constructor(props, iModel) {
54
58
  super(props, iModel);
55
59
  this.paletteName = props.paletteName;
@@ -61,6 +65,35 @@ class RenderMaterialElement extends Element_1.DefinitionElement {
61
65
  val.description = this.description;
62
66
  return val;
63
67
  }
68
+ /**
69
+ * RenderMaterialElement custom HandledProps includes 'paletteName'.
70
+ * @inheritdoc
71
+ * @beta
72
+ */
73
+ static _customHandledProps = [
74
+ { propertyName: "paletteName", source: "Class" },
75
+ ];
76
+ /**
77
+ * RenderMaterialElement deserializes 'paletteName'.
78
+ * @inheritdoc
79
+ * @beta
80
+ */
81
+ static deserialize(props) {
82
+ const elProps = super.deserialize(props);
83
+ const instance = props.row;
84
+ elProps.paletteName = core_bentley_1.JsonUtils.asString(instance.paletteName);
85
+ return elProps;
86
+ }
87
+ /**
88
+ * RenderMaterialElement serializes 'paletteName'.
89
+ * @inheritdoc
90
+ * @beta
91
+ */
92
+ static serialize(props, iModel) {
93
+ const inst = super.serialize(props, iModel);
94
+ inst.paletteName = props.paletteName;
95
+ return inst;
96
+ }
64
97
  /** Create a Code for a RenderMaterial given a name that is meant to be unique within the scope of the specified DefinitionModel.
65
98
  * @param iModel The IModelDb
66
99
  * @param scopeModelId The Id of the DefinitionModel that contains the RenderMaterial and provides the scope for its name.
@@ -190,6 +223,42 @@ exports.RenderMaterialElement = RenderMaterialElement;
190
223
  * @deprecated in 3.6 because it is not useful to use a `class` - just use [[RenderMaterialElementParams]] directly instead.
191
224
  */
192
225
  class Params {
226
+ /** A required palette name that categorizes this RenderMaterial */
227
+ paletteName;
228
+ /** An optional description of this RenderMaterial */
229
+ description;
230
+ /** If defined, the color to use for surface fill or diffuse illumination, overriding the surface's own color. */
231
+ color;
232
+ /** The color to use for specular illumination. Default: black. */
233
+ specularColor;
234
+ /** The specular exponent describing the surface's shininess, in the range 0 through 128.
235
+ * Default: 0.
236
+ */
237
+ finish;
238
+ /** A transparency to be applied to the surface, ranging from 0 (fully opaque) to 1 (fully transparent).
239
+ * The surface's own transparency will be multiplied by `(1 - transmit)`. permitting the material to increase but not decrease the surface transparency.
240
+ * Default: 13.5.
241
+ */
242
+ transmit;
243
+ /** The surface's diffuse reflectivity from 0.0 to 1.0. Default: 0.6. */
244
+ diffuse;
245
+ /** The surface's specular reflectivity from 0.0 to 1.0. Default: 0.0. */
246
+ specular;
247
+ /** Currently unused. */
248
+ reflect;
249
+ /** Currently unused. */
250
+ reflectColor;
251
+ /** Specifies a texture image to map onto the surface, replacing or mixing with the surface's own color and transparency.
252
+ * @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
253
+ * [[patternMap]]] and [[normalMap]], the value in [[patternMap]] takes precedence.
254
+ */
255
+ patternMap;
256
+ /** 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
257
+ * surface's geometry.
258
+ * @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
259
+ * [[patternMap]]] and [[normalMap]], the value in [[patternMap]] takes precedence.
260
+ */
261
+ normalMap;
193
262
  /** Construct a new RenderMaterial.Params object with the specified paletteName. Alter the public members on that object to specify settings. */
194
263
  constructor(paletteName) {
195
264
  this.paletteName = paletteName;
@@ -1 +1 @@
1
- {"version":3,"file":"Material.js","sourceRoot":"","sources":["../../src/Material.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAuD;AACvD,oDAE4B;AAC5B,uCAA8C;AAI9C,yDAAyD;AAEzD;;;GAGG;AACH,MAAsB,gBAAiB,SAAQ,2BAAiB;IACvD,MAAM,KAAc,SAAS,KAAa,OAAO,kBAAkB,CAAC,CAAC,CAAC;IAC7E;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAC,MAAgB,EAAE,iBAAiC,EAAE,IAAY;QACxF,MAAM,QAAQ,GAAa,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,yBAAW,CAAC,gBAAgB,CAAC,CAAC;QACpF,OAAO,IAAI,kBAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IACD;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAA6B,QAAkB,EAAE,iBAAiC,EAAE,IAAY;QAClH,MAAM,YAAY,GAA2B;YAC3C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC;SACzD,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;CACF;AA1BD,4CA0BC;AAED;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,2BAAiB;IACnD,MAAM,KAAc,SAAS,KAAa,OAAO,gBAAgB,CAAC,CAAC,CAAC;IAO3E,YAAoB,KAA0B,EAAE,MAAgB;QAC9D,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACvC,CAAC;IAEe,MAAM;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAyB,CAAC;QAClD,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAC,MAAgB,EAAE,YAA4B,EAAE,IAAY;QACnF,MAAM,QAAQ,GAAa,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,yBAAW,CAAC,cAAc,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,kBAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpH,CAAC;IACD;;;;;;;;OAQG;IACI,MAAM,CAAC,MAAM,CAAC,QAAkB,EAAE,iBAA6B,EAAE,YAAoB,EAAE,MAAmC;QAC/H,IAAI,IAA8C,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;QAC3C,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAG1C,SAAS,MAAM,CAAyB,GAAW,EAAE,GAAM;gBACzD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;gBAC9B,IAAI,GAAG,IAAI,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC;oBAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;qBACjB,IAAI,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;oBAC9D,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,SAAS,GAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACnC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACpC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAClC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACnC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACpC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YACvC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACpC,MAAM,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;YACrD,MAAM,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;YAC1D,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;YAE1D,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,MAAM,CAAC,UAAU;gBACnB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,SAAS,EAAE,CAAC;YAExD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,GAAG;oBACZ,GAAG,MAAM,CAAC,SAAS;oBACnB,GAAG,SAAS;iBACb,CAAC;gBAEF,OAAQ,IAAI,CAAC,MAAc,CAAC,KAAK,CAAC;YACpC,CAAC;QACH,CAAC;QAED,4FAA4F;QAC5F,MAAM,mBAAmB,GAAwB;YAC/C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,CAAC;YAChE,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,cAAc,EAAE;gBACd,cAAc,EAAE;oBACd,cAAc,EAAE;wBACd,YAAY,EAAE,MAAM,CAAC,KAAK,KAAK,SAAS;wBACxC,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,gBAAgB,EAAE,MAAM,CAAC,aAAa,KAAK,SAAS;wBACpD,cAAc,EAAE,MAAM,CAAC,aAAa;wBACpC,SAAS,EAAE,MAAM,CAAC,MAAM,KAAK,SAAS;wBACtC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,WAAW,EAAE,MAAM,CAAC,QAAQ,KAAK,SAAS;wBAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,UAAU,EAAE,MAAM,CAAC,OAAO,KAAK,SAAS;wBACxC,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,WAAW,EAAE,MAAM,CAAC,QAAQ,KAAK,SAAS;wBAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,UAAU,EAAE,MAAM,CAAC,OAAO,KAAK,SAAS;wBACxC,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,eAAe,EAAE,MAAM,CAAC,YAAY,KAAK,SAAS;wBAClD,aAAa,EAAE,MAAM,CAAC,YAAY;wBAClC,GAAG,EAAE,IAAI;wBACT,UAAU;qBACX;iBACF;aACF;YACD,KAAK,EAAE,iBAAiB;YACxB,SAAS,EAAE,KAAK;SACjB,CAAC;QAEF,OAAO,IAAI,qBAAqB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,MAAM,CAAC,QAAkB,EAAE,iBAA6B,EAAE,YAAoB,EAAE,MAAmC;QAC/H,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACtF,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,YAAY;IACF,MAAM,CAAU,QAAQ,CAAC,OAAkC,EAAE,WAAyB,EAAE,WAAyB;QACzH,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;YAC5F,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAC7B,SAAS;YACX,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxF,qEAAqE;YACrE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,WAAW,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAClF,SAAS;YACX,CAAC;YACD,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS;gBACzE,SAAS;YACX,WAAW,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,IAAI,mBAAI,CAAC,OAAO,CAAC,CAAC;QACrJ,CAAC;IACH,CAAC;CACF;AArJD,sDAqJC;AAED,cAAc;AACd,WAAiB,qBAAqB;IACpC;;;;OAIG;IACH,MAAa,MAAM;QA2CjB,gJAAgJ;QAChJ,YAAmB,WAAmB;YACpC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC;KACF;IA/CY,4BAAM,SA+ClB,CAAA;AACH,CAAC,EAtDgB,qBAAqB,qCAArB,qBAAqB,QAsDrC","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 } 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\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 /** 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 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"]}
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"]}
@@ -4,7 +4,7 @@
4
4
  import { GuidString, Id64String } from "@itwin/core-bentley";
5
5
  import { Point2d } from "@itwin/core-geometry";
6
6
  import { AxisAlignedBox3d, ElementProps, EntityReferenceSet, GeometricModel2dProps, GeometricModel3dProps, GeometricModelProps, ModelProps, RelatedElement } from "@itwin/core-common";
7
- import { Entity } from "./Entity";
7
+ import { CustomHandledProperty, DeserializeEntityArgs, ECSqlRow, Entity } from "./Entity";
8
8
  import { IModelDb } from "./IModelDb";
9
9
  /** Argument for the `Model.onXxx` static methods
10
10
  * @beta
@@ -52,13 +52,31 @@ export declare class Model extends Entity {
52
52
  static get protectedOperations(): string[];
53
53
  readonly modeledElement: RelatedElement;
54
54
  readonly name: string;
55
- readonly parentModel: Id64String;
55
+ readonly parentModel?: Id64String;
56
56
  readonly jsonProperties: {
57
57
  [key: string]: any;
58
58
  };
59
59
  isPrivate: boolean;
60
60
  isTemplate: boolean;
61
61
  protected constructor(props: ModelProps, iModel: IModelDb);
62
+ /**
63
+ * Model custom HandledProps includes 'isPrivate', 'isTemplate', and 'lastMod'.
64
+ * @inheritdoc
65
+ * @beta
66
+ */
67
+ protected static readonly _customHandledProps: CustomHandledProperty[];
68
+ /**
69
+ * Model deserializes 'isPrivate', and 'isTemplate', and sets the proper parentModel.
70
+ * @inheritdoc
71
+ * @beta
72
+ */
73
+ static deserialize(props: DeserializeEntityArgs): ModelProps;
74
+ /**
75
+ * Model serializes 'isPrivate', and 'isTemplate'.
76
+ * @inheritdoc
77
+ * @beta
78
+ */
79
+ static serialize(props: ModelProps, _iModel: IModelDb): ECSqlRow;
62
80
  toJSON(): ModelProps;
63
81
  /** Called before a new Model is inserted.
64
82
  * @note throw an exception to disallow the insert
@@ -85,7 +103,7 @@ export declare class Model extends Entity {
85
103
  * @note `this` is the class of the Model that was updated.
86
104
  * @beta
87
105
  */
88
- protected static onUpdated(_arg: OnModelIdArg): void;
106
+ protected static onUpdated(arg: OnModelIdArg): void;
89
107
  /** Called before a Model is deleted.
90
108
  * @note throw an exception to disallow the delete
91
109
  * @note If you override this method, you must call super.
@@ -98,7 +116,7 @@ export declare class Model extends Entity {
98
116
  * @note `this` is the class of the Model that was deleted
99
117
  * @beta
100
118
  */
101
- protected static onDeleted(_arg: OnModelIdArg): void;
119
+ protected static onDeleted(arg: OnModelIdArg): void;
102
120
  /** Called before a prospective Element is to be inserted into an instance of a Model of this class.
103
121
  * @note throw an exception to disallow the insert
104
122
  * @note If you override this method, you must call super.
@@ -111,7 +129,7 @@ export declare class Model extends Entity {
111
129
  * @note `this` is the class of the Model holding the element
112
130
  * @beta
113
131
  */
114
- protected static onInsertedElement(_arg: OnElementInModelIdArg): void;
132
+ protected static onInsertedElement(arg: OnElementInModelIdArg): void;
115
133
  /** Called when an Element in an instance of a Model of this class is about to be updated.
116
134
  * @note throw an exception to disallow the update
117
135
  * @note If you override this method, you must call super.
@@ -124,7 +142,7 @@ export declare class Model extends Entity {
124
142
  * @note `this` is the class of the Model holding the element
125
143
  * @beta
126
144
  */
127
- protected static onUpdatedElement(_arg: OnElementInModelIdArg): void;
145
+ protected static onUpdatedElement(arg: OnElementInModelIdArg): void;
128
146
  /** Called when an Element in an instance of a Model of this class is about to be deleted.
129
147
  * @note throw an exception to disallow the delete
130
148
  * @note If you override this method, you must call super.
@@ -137,7 +155,7 @@ export declare class Model extends Entity {
137
155
  * @note `this` is the class of the Model that held the element
138
156
  * @beta
139
157
  */
140
- protected static onDeletedElement(_arg: OnElementInModelIdArg): void;
158
+ protected static onDeletedElement(arg: OnElementInModelIdArg): void;
141
159
  private getAllUserProperties;
142
160
  /** Get a set of JSON user properties by namespace */
143
161
  getUserProperties(namespace: string): any;
@@ -185,6 +203,24 @@ export declare abstract class GeometricModel3d extends GeometricModel {
185
203
  get isSpatiallyLocated(): boolean;
186
204
  static get className(): string;
187
205
  protected constructor(props: GeometricModel3dProps, iModel: IModelDb);
206
+ /**
207
+ * GeometricModel3d custom HandledProps includes 'isPlanProjection', and 'isNotSpatiallyLocated'.
208
+ * @inheritdoc
209
+ * @beta
210
+ */
211
+ protected static readonly _customHandledProps: CustomHandledProperty[];
212
+ /**
213
+ * GeometricModel3d deserializes 'isPlanProjection', and 'isNotSpatiallyLocated'.
214
+ * @inheritdoc
215
+ * @beta
216
+ */
217
+ static deserialize(props: DeserializeEntityArgs): GeometricModel3dProps;
218
+ /**
219
+ * GeometricModel3d serializes 'isPlanProjection', and 'isNotSpatiallyLocated'.
220
+ * @inheritdoc
221
+ * @beta
222
+ */
223
+ static serialize(props: GeometricModel3dProps, _iModel: IModelDb): ECSqlRow;
188
224
  toJSON(): GeometricModel3dProps;
189
225
  }
190
226
  /** A container for persisting 2d geometric elements.
@@ -1 +1 @@
1
- {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/Model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/Model.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAa,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAW,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EACnF,UAAU,EAAE,cAAc,EAC7D,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,gDAAgD;IAChD,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,mCAAmC;IACnC,EAAE,EAAE,UAAU,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,8DAA8D;IAC9D,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,mDAAmD;IACnD,SAAS,EAAE,UAAU,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,MAAM;IAC/B,WAA2B,SAAS,IAAI,MAAM,CAAoB;IAClE,gBAAgB;IAChB,WAA2B,mBAAmB,aAAmD;IACjG,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzC,SAAgB,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IAE3B,SAAS,aAAa,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ;IAUzD;;;;OAIG;IACH,0BAAmC,mBAAmB,EAAE,qBAAqB,EAAE,CAI7E;IAEF;;;;OAIG;WACoB,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU;IAmB5E;;;;OAIG;WACoB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ;IAOhE,MAAM,IAAI,UAAU;IAMpC;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAOrD;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAMrD;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAInD;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAKlD;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAKnD;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI;IAEtE;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI;IAIpE;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI;IAEtE;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI;IAInE;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAEnE;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI;IAInE,OAAO,CAAC,oBAAoB;IAO5B,qDAAqD;IAC9C,iBAAiB,CAAC,SAAS,EAAE,MAAM;IAE1C,yEAAyE;IAClE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAEtD,sFAAsF;IAC/E,oBAAoB,CAAC,SAAS,EAAE,MAAM;IAEtC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAClC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAE/C,sCAAsC;IAC/B,MAAM;IACb,uCAAuC;IAChC,MAAM;IACb,yCAAyC;IAClC,MAAM;cAEM,mBAAmB,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI;CAM/E;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAChC,YAAY,CAAC,EAAE,UAAU,CAAC;IAEjC,WAA2B,SAAS,IAAI,MAAM,CAA6B;IAE3E,SAAS,aAAa,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ;IAKlE;;OAEG;IACI,YAAY,IAAI,gBAAgB;IAKvC,sFAAsF;IACzE,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAGrD;AAED;;GAEG;AACH,8BAAsB,gBAAiB,SAAQ,cAAc;IAC3D;;OAEG;IACH,SAAgB,gBAAgB,EAAE,OAAO,CAAC;IAC1C;;OAEG;IACH,SAAgB,qBAAqB,EAAE,OAAO,CAAC;IAC/C,0HAA0H;IAC1H,IAAW,kBAAkB,IAAI,OAAO,CAAwC;IAEhF,WAA2B,SAAS,IAAI,MAAM,CAA+B;IAE7E,SAAS,aAAa,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ;IAMpE;;;;OAIG;IACH,0BAAmC,mBAAmB,EAAE,qBAAqB,EAAE,CAG7E;IAEF;;;;OAIG;WACoB,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB;IAUvF;;;;OAIG;WACoB,SAAS,CAAC,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ;IAO3E,MAAM,IAAI,qBAAqB;CAUhD;AAED;;GAEG;AACH,8BAAsB,gBAAiB,SAAQ,cAAc;IAC3D,8GAA8G;IACvG,YAAY,CAAC,EAAE,OAAO,CAAC;IAC9B,WAA2B,SAAS,IAAI,MAAM,CAA+B;IAE7E,SAAS,aAAa,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ;IAKpD,MAAM,IAAI,qBAAqB;CAOhD;AAED;;GAEG;AACH,8BAAsB,gBAAiB,SAAQ,gBAAgB;IAC7D,WAA2B,SAAS,IAAI,MAAM,CAA+B;CAC9E;AAED;;;;GAIG;AACH,8BAAsB,gBAAiB,SAAQ,gBAAgB;IAC7D,WAA2B,SAAS,IAAI,MAAM,CAA+B;CAC9E;AAED;;GAEG;AACH,8BAAsB,YAAa,SAAQ,gBAAgB;IACzD,WAA2B,SAAS,IAAI,MAAM,CAA2B;CAC1E;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,WAA2B,SAAS,IAAI,MAAM,CAA4B;IAC1E;;;;;;;OAOG;WACW,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU;CAe5H;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,WAA2B,SAAS,IAAI,MAAM,CAAmC;IACjF;;;;;;;OAOG;WACW,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU;CAe5H;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,WAA2B,SAAS,IAAI,MAAM,CAA2B;CAC1E;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,WAA2B,SAAS,IAAI,MAAM,CAAkC;CACjF;AAED;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,gBAAgB;IAC9C,WAA2B,SAAS,IAAI,MAAM,CAAyB;CACxE;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,WAA2B,SAAS,IAAI,MAAM,CAAwB;CACvE;AAED;;GAEG;AACH,8BAAsB,gBAAiB,SAAQ,KAAK;IAClD,WAA2B,SAAS,IAAI,MAAM,CAA+B;CAC9E;AAED;;;GAGG;AACH,8BAAsB,qBAAsB,SAAQ,gBAAgB;IAClE,WAA2B,SAAS,IAAI,MAAM,CAAoC;CACnF;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,WAA2B,SAAS,IAAI,MAAM,CAA8B;IAE5E;;;;;;KAMC;WACa,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;CAahG;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,gBAAgB;IAC1D,WAA2B,SAAS,IAAI,MAAM,CAAqC;IAEnF;;;;;;OAMG;WACW,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;CAahG;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,WAA2B,SAAS,IAAI,MAAM,CAA8B;IAE5E;;;;;;OAMG;WACW,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;CAahG;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAClD,WAA2B,SAAS,IAAI,MAAM,CAA8B;CAC7E;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,WAA2B,SAAS,IAAI,MAAM,CAAgC;IAC9E;;;;;;OAMG;WACW,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;CAahG;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,gBAAgB;IAC7C,WAA2B,SAAS,IAAI,MAAM,CAAwB;CACvE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAClD,WAA2B,SAAS,IAAI,MAAM,CAA8B;CAC7E;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,WAA2B,SAAS,IAAI,MAAM,CAA+B;CAC9E"}
package/lib/cjs/Model.js CHANGED
@@ -25,13 +25,65 @@ class Model extends Entity_1.Entity {
25
25
  static get className() { return "Model"; }
26
26
  /** @internal */
27
27
  static get protectedOperations() { return ["onInsert", "onUpdate", "onDelete"]; }
28
+ modeledElement;
29
+ name;
30
+ parentModel;
31
+ jsonProperties;
32
+ isPrivate;
33
+ isTemplate;
28
34
  constructor(props, iModel) {
29
35
  super(props, iModel);
36
+ this.modeledElement = new core_common_1.RelatedElement(props.modeledElement);
30
37
  this.name = props.name ? props.name : ""; // NB this isn't really a property of Model (it's the code.value of the modeled element), but it comes in ModelProps because it's often needed
38
+ this.parentModel = props.parentModel;
31
39
  this.isPrivate = core_bentley_1.JsonUtils.asBool(props.isPrivate);
32
40
  this.isTemplate = core_bentley_1.JsonUtils.asBool(props.isTemplate);
33
41
  this.jsonProperties = { ...props.jsonProperties }; // make sure we have our own copy
34
42
  }
43
+ /**
44
+ * Model custom HandledProps includes 'isPrivate', 'isTemplate', and 'lastMod'.
45
+ * @inheritdoc
46
+ * @beta
47
+ */
48
+ static _customHandledProps = [
49
+ { propertyName: "isPrivate", source: "Class" },
50
+ { propertyName: "isTemplate", source: "Class" },
51
+ { propertyName: "lastMod", source: "Class" },
52
+ ];
53
+ /**
54
+ * Model deserializes 'isPrivate', and 'isTemplate', and sets the proper parentModel.
55
+ * @inheritdoc
56
+ * @beta
57
+ */
58
+ static deserialize(props) {
59
+ const instance = props.row;
60
+ const modelProps = super.deserialize(props);
61
+ const modeledElementProps = props.iModel.elements.tryGetElementProps(instance.modeledElement.id);
62
+ if (modeledElementProps) {
63
+ // ModeledElement may be undefined in the case of root Element
64
+ modelProps.name = core_bentley_1.JsonUtils.asString(modeledElementProps.code.value);
65
+ if (instance.parentModel !== undefined)
66
+ modelProps.parentModel = instance.parentModel.id;
67
+ else
68
+ modelProps.parentModel = modeledElementProps.model;
69
+ }
70
+ if (instance.isPrivate === true)
71
+ modelProps.isPrivate = true;
72
+ if (instance.isTemplate === true)
73
+ modelProps.isTemplate = true;
74
+ return modelProps;
75
+ }
76
+ /**
77
+ * Model serializes 'isPrivate', and 'isTemplate'.
78
+ * @inheritdoc
79
+ * @beta
80
+ */
81
+ static serialize(props, _iModel) {
82
+ const inst = super.serialize(props, _iModel);
83
+ inst.isPrivate = props.isPrivate ?? false;
84
+ inst.isTemplate = props.isTemplate ?? false;
85
+ return inst;
86
+ }
35
87
  toJSON() {
36
88
  const val = super.toJSON();
37
89
  val.name = this.name; // for cloning
@@ -73,7 +125,8 @@ class Model extends Entity_1.Entity {
73
125
  * @note `this` is the class of the Model that was updated.
74
126
  * @beta
75
127
  */
76
- static onUpdated(_arg) {
128
+ static onUpdated(arg) {
129
+ arg.iModel.models[Symbols_1._cache].delete(arg.id);
77
130
  }
78
131
  /** Called before a Model is deleted.
79
132
  * @note throw an exception to disallow the delete
@@ -90,7 +143,10 @@ class Model extends Entity_1.Entity {
90
143
  * @note `this` is the class of the Model that was deleted
91
144
  * @beta
92
145
  */
93
- static onDeleted(_arg) { }
146
+ static onDeleted(arg) {
147
+ arg.iModel.models[Symbols_1._cache].delete(arg.id);
148
+ arg.iModel.elements[Symbols_1._cache].deleteWithModel(arg.id);
149
+ }
94
150
  /** Called before a prospective Element is to be inserted into an instance of a Model of this class.
95
151
  * @note throw an exception to disallow the insert
96
152
  * @note If you override this method, you must call super.
@@ -103,7 +159,9 @@ class Model extends Entity_1.Entity {
103
159
  * @note `this` is the class of the Model holding the element
104
160
  * @beta
105
161
  */
106
- static onInsertedElement(_arg) { }
162
+ static onInsertedElement(arg) {
163
+ arg.iModel.models[Symbols_1._cache].delete(arg.id);
164
+ }
107
165
  /** Called when an Element in an instance of a Model of this class is about to be updated.
108
166
  * @note throw an exception to disallow the update
109
167
  * @note If you override this method, you must call super.
@@ -116,7 +174,9 @@ class Model extends Entity_1.Entity {
116
174
  * @note `this` is the class of the Model holding the element
117
175
  * @beta
118
176
  */
119
- static onUpdatedElement(_arg) { }
177
+ static onUpdatedElement(arg) {
178
+ arg.iModel.models[Symbols_1._cache].delete(arg.id);
179
+ }
120
180
  /** Called when an Element in an instance of a Model of this class is about to be deleted.
121
181
  * @note throw an exception to disallow the delete
122
182
  * @note If you override this method, you must call super.
@@ -129,7 +189,9 @@ class Model extends Entity_1.Entity {
129
189
  * @note `this` is the class of the Model that held the element
130
190
  * @beta
131
191
  */
132
- static onDeletedElement(_arg) { }
192
+ static onDeletedElement(arg) {
193
+ arg.iModel.models[Symbols_1._cache].delete(arg.id);
194
+ }
133
195
  getAllUserProperties() {
134
196
  if (!this.jsonProperties.UserProps)
135
197
  this.jsonProperties.UserProps = new Object();
@@ -161,8 +223,12 @@ exports.Model = Model;
161
223
  * @public
162
224
  */
163
225
  class GeometricModel extends Model {
226
+ geometryGuid;
164
227
  static get className() { return "GeometricModel"; }
165
- constructor(props, iModel) { super(props, iModel); }
228
+ constructor(props, iModel) {
229
+ super(props, iModel);
230
+ this.geometryGuid = props.geometryGuid;
231
+ }
166
232
  /** Query for the union of the extents of the elements contained by this model.
167
233
  * @note This function blocks the JavaScript event loop. Consider using [[queryRange]] instead.
168
234
  */
@@ -180,6 +246,14 @@ exports.GeometricModel = GeometricModel;
180
246
  * @public
181
247
  */
182
248
  class GeometricModel3d extends GeometricModel {
249
+ /** If true, then the elements in this GeometricModel3d are expected to be in an XY plane.
250
+ * @note The associated ECProperty was added to the BisCore schema in version 1.0.8
251
+ */
252
+ isPlanProjection;
253
+ /** If true, then the elements in this GeometricModel3d are not in real-world coordinates and will not be in the spatial index.
254
+ * @note The associated ECProperty was added to the BisCore schema in version 1.0.8
255
+ */
256
+ isNotSpatiallyLocated;
183
257
  /** If true, then the elements in this GeometricModel3d are in real-world coordinates and will be in the spatial index. */
184
258
  get isSpatiallyLocated() { return !this.isNotSpatiallyLocated; }
185
259
  static get className() { return "GeometricModel3d"; }
@@ -188,6 +262,40 @@ class GeometricModel3d extends GeometricModel {
188
262
  this.isNotSpatiallyLocated = core_bentley_1.JsonUtils.asBool(props.isNotSpatiallyLocated);
189
263
  this.isPlanProjection = core_bentley_1.JsonUtils.asBool(props.isPlanProjection);
190
264
  }
265
+ /**
266
+ * GeometricModel3d custom HandledProps includes 'isPlanProjection', and 'isNotSpatiallyLocated'.
267
+ * @inheritdoc
268
+ * @beta
269
+ */
270
+ static _customHandledProps = [
271
+ { propertyName: "isPlanProjection", source: "Class" },
272
+ { propertyName: "isNotSpatiallyLocated", source: "Class" },
273
+ ];
274
+ /**
275
+ * GeometricModel3d deserializes 'isPlanProjection', and 'isNotSpatiallyLocated'.
276
+ * @inheritdoc
277
+ * @beta
278
+ */
279
+ static deserialize(props) {
280
+ const modelProps = super.deserialize(props);
281
+ const instance = props.row;
282
+ if (instance.isNotSpatiallyLocated === true || instance.isTemplate === true)
283
+ modelProps.isNotSpatiallyLocated = true;
284
+ if (instance.isPlanProjection === true)
285
+ modelProps.isPlanProjection = true;
286
+ return modelProps;
287
+ }
288
+ /**
289
+ * GeometricModel3d serializes 'isPlanProjection', and 'isNotSpatiallyLocated'.
290
+ * @inheritdoc
291
+ * @beta
292
+ */
293
+ static serialize(props, _iModel) {
294
+ const inst = super.serialize(props, _iModel);
295
+ inst.isNotSpatiallyLocated = props.isNotSpatiallyLocated ?? false;
296
+ inst.isPlanProjection = props.isPlanProjection ?? false;
297
+ return inst;
298
+ }
191
299
  toJSON() {
192
300
  const val = super.toJSON();
193
301
  if (this.isNotSpatiallyLocated)
@@ -202,8 +310,13 @@ exports.GeometricModel3d = GeometricModel3d;
202
310
  * @public
203
311
  */
204
312
  class GeometricModel2d extends GeometricModel {
313
+ /** The actual coordinates of (0,0) in modeling coordinates. An offset applied to all modeling coordinates. */
314
+ globalOrigin;
205
315
  static get className() { return "GeometricModel2d"; }
206
- constructor(props, iModel) { super(props, iModel); }
316
+ constructor(props, iModel) {
317
+ super(props, iModel);
318
+ this.globalOrigin = props.globalOrigin ? core_geometry_1.Point2d.fromJSON(props.globalOrigin) : undefined;
319
+ }
207
320
  toJSON() {
208
321
  const val = super.toJSON();
209
322
  if (undefined !== this.globalOrigin)