@itwin/core-common 3.6.0-dev.8 → 3.7.0-dev.1

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 (1039) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  4. package/lib/cjs/AmbientOcclusion.js +55 -55
  5. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  6. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  7. package/lib/cjs/AnalysisStyle.js +165 -165
  8. package/lib/cjs/AnalysisStyle.js.map +1 -1
  9. package/lib/cjs/AuthorizationClient.d.ts +17 -11
  10. package/lib/cjs/AuthorizationClient.d.ts.map +1 -1
  11. package/lib/cjs/AuthorizationClient.js +9 -9
  12. package/lib/cjs/AuthorizationClient.js.map +1 -1
  13. package/lib/cjs/BackendTypes.d.ts +12 -12
  14. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  15. package/lib/cjs/BackendTypes.js +9 -9
  16. package/lib/cjs/BackendTypes.js.map +1 -1
  17. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  18. package/lib/cjs/BackgroundMapProvider.js +68 -68
  19. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  20. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  21. package/lib/cjs/BackgroundMapSettings.js +156 -156
  22. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  23. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  24. package/lib/cjs/Base64EncodedString.js +66 -66
  25. package/lib/cjs/Base64EncodedString.js.map +1 -1
  26. package/lib/cjs/BlobReader.d.ts +31 -31
  27. package/lib/cjs/BlobReader.js +84 -84
  28. package/lib/cjs/BlobReader.js.map +1 -1
  29. package/lib/cjs/BriefcaseTypes.d.ts +191 -189
  30. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  31. package/lib/cjs/BriefcaseTypes.js +95 -95
  32. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  33. package/lib/cjs/Camera.d.ts +42 -42
  34. package/lib/cjs/Camera.js +62 -62
  35. package/lib/cjs/Camera.js.map +1 -1
  36. package/lib/cjs/ChangedElements.d.ts +85 -85
  37. package/lib/cjs/ChangedElements.js +23 -23
  38. package/lib/cjs/ChangedElements.js.map +1 -1
  39. package/lib/cjs/ChangedEntities.d.ts +45 -45
  40. package/lib/cjs/ChangedEntities.js +9 -9
  41. package/lib/cjs/ChangedEntities.js.map +1 -1
  42. package/lib/cjs/ChangesetProps.d.ts +98 -98
  43. package/lib/cjs/ChangesetProps.js +22 -22
  44. package/lib/cjs/ChangesetProps.js.map +1 -1
  45. package/lib/cjs/ClipStyle.d.ts +89 -89
  46. package/lib/cjs/ClipStyle.js +123 -123
  47. package/lib/cjs/ClipStyle.js.map +1 -1
  48. package/lib/cjs/CloudStorage.d.ts +62 -62
  49. package/lib/cjs/CloudStorage.js +113 -113
  50. package/lib/cjs/CloudStorage.js.map +1 -1
  51. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  52. package/lib/cjs/CloudStorageTileCache.js +66 -66
  53. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  54. package/lib/cjs/Code.d.ts +277 -256
  55. package/lib/cjs/Code.d.ts.map +1 -1
  56. package/lib/cjs/Code.js +269 -281
  57. package/lib/cjs/Code.js.map +1 -1
  58. package/lib/cjs/ColorByName.d.ts +161 -161
  59. package/lib/cjs/ColorByName.js +169 -169
  60. package/lib/cjs/ColorByName.js.map +1 -1
  61. package/lib/cjs/ColorDef.d.ts +208 -208
  62. package/lib/cjs/ColorDef.js +571 -571
  63. package/lib/cjs/ColorDef.js.map +1 -1
  64. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  65. package/lib/cjs/CommonLoggerCategory.js +26 -26
  66. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  67. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  68. package/lib/cjs/ConcurrentQuery.js +552 -552
  69. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  70. package/lib/cjs/ContextRealityModel.d.ts +303 -276
  71. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  72. package/lib/cjs/ContextRealityModel.js +373 -358
  73. package/lib/cjs/ContextRealityModel.js.map +1 -1
  74. package/lib/cjs/DisplayStyleSettings.d.ts +588 -584
  75. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  76. package/lib/cjs/DisplayStyleSettings.js +985 -981
  77. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  78. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  79. package/lib/cjs/ECSchemaProps.js +9 -9
  80. package/lib/cjs/ECSchemaProps.js.map +1 -1
  81. package/lib/cjs/ECSqlReader.d.ts +70 -70
  82. package/lib/cjs/ECSqlReader.js +280 -280
  83. package/lib/cjs/ECSqlReader.js.map +1 -1
  84. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  85. package/lib/cjs/ECSqlTypes.js +189 -189
  86. package/lib/cjs/ECSqlTypes.js.map +1 -1
  87. package/lib/cjs/ElementMesh.d.ts +39 -39
  88. package/lib/cjs/ElementMesh.js +56 -56
  89. package/lib/cjs/ElementMesh.js.map +1 -1
  90. package/lib/cjs/ElementProps.d.ts +483 -479
  91. package/lib/cjs/ElementProps.d.ts.map +1 -1
  92. package/lib/cjs/ElementProps.js +99 -99
  93. package/lib/cjs/ElementProps.js.map +1 -1
  94. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  95. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  96. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  97. package/lib/cjs/EntityProps.d.ts +177 -176
  98. package/lib/cjs/EntityProps.d.ts.map +1 -1
  99. package/lib/cjs/EntityProps.js +113 -112
  100. package/lib/cjs/EntityProps.js.map +1 -1
  101. package/lib/cjs/EntityReference.d.ts +51 -51
  102. package/lib/cjs/EntityReference.js +56 -56
  103. package/lib/cjs/EntityReference.js.map +1 -1
  104. package/lib/cjs/Environment.d.ts +61 -61
  105. package/lib/cjs/Environment.js +73 -73
  106. package/lib/cjs/Environment.js.map +1 -1
  107. package/lib/cjs/FeatureIndex.d.ts +39 -39
  108. package/lib/cjs/FeatureIndex.js +63 -63
  109. package/lib/cjs/FeatureIndex.js.map +1 -1
  110. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  111. package/lib/cjs/FeatureSymbology.js +614 -614
  112. package/lib/cjs/FeatureSymbology.js.map +1 -1
  113. package/lib/cjs/FeatureTable.d.ts +141 -141
  114. package/lib/cjs/FeatureTable.js +278 -278
  115. package/lib/cjs/FeatureTable.js.map +1 -1
  116. package/lib/cjs/Fonts.d.ts +51 -51
  117. package/lib/cjs/Fonts.js +53 -53
  118. package/lib/cjs/Fonts.js.map +1 -1
  119. package/lib/cjs/Frustum.d.ts +114 -114
  120. package/lib/cjs/Frustum.js +292 -292
  121. package/lib/cjs/Frustum.js.map +1 -1
  122. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  123. package/lib/cjs/GeoCoordinateServices.js +80 -80
  124. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  125. package/lib/cjs/GeometryContainment.d.ts +28 -28
  126. package/lib/cjs/GeometryContainment.js +9 -9
  127. package/lib/cjs/GeometryContainment.js.map +1 -1
  128. package/lib/cjs/GeometryParams.d.ts +130 -130
  129. package/lib/cjs/GeometryParams.js +174 -174
  130. package/lib/cjs/GeometryParams.js.map +1 -1
  131. package/lib/cjs/GeometrySummary.d.ts +45 -45
  132. package/lib/cjs/GeometrySummary.js +23 -23
  133. package/lib/cjs/GeometrySummary.js.map +1 -1
  134. package/lib/cjs/Gradient.d.ts +139 -139
  135. package/lib/cjs/Gradient.js +455 -455
  136. package/lib/cjs/Gradient.js.map +1 -1
  137. package/lib/cjs/GraphicParams.d.ts +58 -58
  138. package/lib/cjs/GraphicParams.js +85 -85
  139. package/lib/cjs/GraphicParams.js.map +1 -1
  140. package/lib/cjs/GroundPlane.d.ts +52 -52
  141. package/lib/cjs/GroundPlane.js +64 -64
  142. package/lib/cjs/GroundPlane.js.map +1 -1
  143. package/lib/cjs/HSLColor.d.ts +20 -20
  144. package/lib/cjs/HSLColor.js +32 -32
  145. package/lib/cjs/HSLColor.js.map +1 -1
  146. package/lib/cjs/HSVColor.d.ts +30 -30
  147. package/lib/cjs/HSVColor.js +59 -59
  148. package/lib/cjs/HSVColor.js.map +1 -1
  149. package/lib/cjs/HiddenLine.d.ts +97 -97
  150. package/lib/cjs/HiddenLine.js +162 -162
  151. package/lib/cjs/HiddenLine.js.map +1 -1
  152. package/lib/cjs/Hilite.d.ts +50 -50
  153. package/lib/cjs/Hilite.js +64 -64
  154. package/lib/cjs/Hilite.js.map +1 -1
  155. package/lib/cjs/IModel.d.ts +358 -359
  156. package/lib/cjs/IModel.d.ts.map +1 -1
  157. package/lib/cjs/IModel.js +347 -347
  158. package/lib/cjs/IModel.js.map +1 -1
  159. package/lib/cjs/IModelError.d.ts +42 -36
  160. package/lib/cjs/IModelError.d.ts.map +1 -1
  161. package/lib/cjs/IModelError.js +71 -72
  162. package/lib/cjs/IModelError.js.map +1 -1
  163. package/lib/cjs/IModelVersion.d.ts +68 -68
  164. package/lib/cjs/IModelVersion.js +79 -79
  165. package/lib/cjs/IModelVersion.js.map +1 -1
  166. package/lib/cjs/Image.d.ts +86 -86
  167. package/lib/cjs/Image.js +128 -128
  168. package/lib/cjs/Image.js.map +1 -1
  169. package/lib/cjs/IpcAppProps.d.ts +141 -141
  170. package/lib/cjs/IpcAppProps.js +23 -23
  171. package/lib/cjs/IpcAppProps.js.map +1 -1
  172. package/lib/cjs/LightSettings.d.ts +224 -224
  173. package/lib/cjs/LightSettings.js +309 -309
  174. package/lib/cjs/LightSettings.js.map +1 -1
  175. package/lib/cjs/LinePixels.d.ts +34 -34
  176. package/lib/cjs/LinePixels.js +42 -42
  177. package/lib/cjs/LinePixels.js.map +1 -1
  178. package/lib/cjs/Localization.d.ts +113 -113
  179. package/lib/cjs/Localization.d.ts.map +1 -1
  180. package/lib/cjs/Localization.js +33 -26
  181. package/lib/cjs/Localization.js.map +1 -1
  182. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  183. package/lib/cjs/MapImagerySettings.js +80 -80
  184. package/lib/cjs/MapImagerySettings.js.map +1 -1
  185. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  186. package/lib/cjs/MapLayerSettings.js +411 -411
  187. package/lib/cjs/MapLayerSettings.js.map +1 -1
  188. package/lib/cjs/MassProperties.d.ts +64 -64
  189. package/lib/cjs/MassProperties.js +23 -23
  190. package/lib/cjs/MassProperties.js.map +1 -1
  191. package/lib/cjs/MaterialProps.d.ts +153 -118
  192. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  193. package/lib/cjs/MaterialProps.js +35 -23
  194. package/lib/cjs/MaterialProps.js.map +1 -1
  195. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  196. package/lib/cjs/ModelClipGroup.js +98 -98
  197. package/lib/cjs/ModelClipGroup.js.map +1 -1
  198. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  199. package/lib/cjs/ModelGeometryChanges.js +83 -83
  200. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  201. package/lib/cjs/ModelProps.d.ts +67 -67
  202. package/lib/cjs/ModelProps.js +9 -9
  203. package/lib/cjs/ModelProps.js.map +1 -1
  204. package/lib/cjs/NativeAppProps.d.ts +122 -122
  205. package/lib/cjs/NativeAppProps.js +30 -30
  206. package/lib/cjs/NativeAppProps.js.map +1 -1
  207. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  208. package/lib/cjs/OctEncodedNormal.js +98 -98
  209. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  210. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  211. package/lib/cjs/PlanProjectionSettings.js +63 -63
  212. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  213. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  214. package/lib/cjs/PlanarClipMask.js +136 -136
  215. package/lib/cjs/PlanarClipMask.js.map +1 -1
  216. package/lib/cjs/QPoint.d.ts +479 -479
  217. package/lib/cjs/QPoint.js +826 -826
  218. package/lib/cjs/QPoint.js.map +1 -1
  219. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  220. package/lib/cjs/RealityDataAccessProps.js +19 -19
  221. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  222. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -118
  223. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
  224. package/lib/cjs/RealityModelDisplaySettings.js +142 -114
  225. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  226. package/lib/cjs/Render.d.ts +89 -89
  227. package/lib/cjs/Render.js +177 -177
  228. package/lib/cjs/Render.js.map +1 -1
  229. package/lib/cjs/RenderMaterial.d.ts +58 -58
  230. package/lib/cjs/RenderMaterial.d.ts.map +1 -1
  231. package/lib/cjs/RenderMaterial.js +76 -76
  232. package/lib/cjs/RenderMaterial.js.map +1 -1
  233. package/lib/cjs/RenderSchedule.d.ts +543 -543
  234. package/lib/cjs/RenderSchedule.js +1002 -1002
  235. package/lib/cjs/RenderTexture.d.ts +70 -70
  236. package/lib/cjs/RenderTexture.js +59 -59
  237. package/lib/cjs/RenderTexture.js.map +1 -1
  238. package/lib/cjs/RgbColor.d.ts +47 -47
  239. package/lib/cjs/RgbColor.js +77 -77
  240. package/lib/cjs/RgbColor.js.map +1 -1
  241. package/lib/cjs/RpcInterface.d.ts +33 -33
  242. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  243. package/lib/cjs/RpcInterface.js +137 -137
  244. package/lib/cjs/RpcInterface.js.map +1 -1
  245. package/lib/cjs/RpcManager.d.ts +40 -40
  246. package/lib/cjs/RpcManager.d.ts.map +1 -1
  247. package/lib/cjs/RpcManager.js +55 -55
  248. package/lib/cjs/RpcManager.js.map +1 -1
  249. package/lib/cjs/SessionProps.d.ts +16 -16
  250. package/lib/cjs/SessionProps.js +9 -9
  251. package/lib/cjs/SessionProps.js.map +1 -1
  252. package/lib/cjs/SkyBox.d.ts +215 -215
  253. package/lib/cjs/SkyBox.js +210 -210
  254. package/lib/cjs/SkyBox.js.map +1 -1
  255. package/lib/cjs/Snapping.d.ts +49 -49
  256. package/lib/cjs/Snapping.js +9 -9
  257. package/lib/cjs/Snapping.js.map +1 -1
  258. package/lib/cjs/SolarCalculate.d.ts +27 -27
  259. package/lib/cjs/SolarCalculate.js +211 -211
  260. package/lib/cjs/SolarCalculate.js.map +1 -1
  261. package/lib/cjs/SolarShadows.d.ts +35 -35
  262. package/lib/cjs/SolarShadows.js +62 -62
  263. package/lib/cjs/SolarShadows.js.map +1 -1
  264. package/lib/cjs/SpatialClassification.d.ts +208 -208
  265. package/lib/cjs/SpatialClassification.js +340 -340
  266. package/lib/cjs/SpatialClassification.js.map +1 -1
  267. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  268. package/lib/cjs/SubCategoryAppearance.js +96 -96
  269. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  270. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  271. package/lib/cjs/SubCategoryOverride.js +104 -104
  272. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  273. package/lib/cjs/TerrainSettings.d.ts +82 -82
  274. package/lib/cjs/TerrainSettings.js +102 -102
  275. package/lib/cjs/TerrainSettings.js.map +1 -1
  276. package/lib/cjs/TextureMapping.d.ts +118 -116
  277. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  278. package/lib/cjs/TextureMapping.js +174 -174
  279. package/lib/cjs/TextureMapping.js.map +1 -1
  280. package/lib/cjs/TextureProps.d.ts +65 -65
  281. package/lib/cjs/TextureProps.js +28 -28
  282. package/lib/cjs/TextureProps.js.map +1 -1
  283. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  284. package/lib/cjs/ThematicDisplay.js +344 -344
  285. package/lib/cjs/ThematicDisplay.js.map +1 -1
  286. package/lib/cjs/Thumbnail.d.ts +26 -26
  287. package/lib/cjs/Thumbnail.js +9 -9
  288. package/lib/cjs/Thumbnail.js.map +1 -1
  289. package/lib/cjs/TileProps.d.ts +82 -82
  290. package/lib/cjs/TileProps.js +29 -29
  291. package/lib/cjs/TileProps.js.map +1 -1
  292. package/lib/cjs/Tween.d.ts +191 -191
  293. package/lib/cjs/Tween.js +570 -570
  294. package/lib/cjs/Tween.js.map +1 -1
  295. package/lib/cjs/TxnAction.d.ts +21 -21
  296. package/lib/cjs/TxnAction.js +29 -29
  297. package/lib/cjs/TxnAction.js.map +1 -1
  298. package/lib/cjs/ViewDetails.d.ts +125 -125
  299. package/lib/cjs/ViewDetails.js +166 -166
  300. package/lib/cjs/ViewDetails.js.map +1 -1
  301. package/lib/cjs/ViewFlags.d.ts +287 -291
  302. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  303. package/lib/cjs/ViewFlags.js +368 -368
  304. package/lib/cjs/ViewFlags.js.map +1 -1
  305. package/lib/cjs/ViewProps.d.ts +205 -205
  306. package/lib/cjs/ViewProps.d.ts.map +1 -1
  307. package/lib/cjs/ViewProps.js +9 -9
  308. package/lib/cjs/ViewProps.js.map +1 -1
  309. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  310. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  311. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  312. package/lib/cjs/core-common.d.ts +244 -245
  313. package/lib/cjs/core-common.d.ts.map +1 -1
  314. package/lib/cjs/core-common.js +260 -261
  315. package/lib/cjs/core-common.js.map +1 -1
  316. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  317. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  318. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  319. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  320. package/lib/cjs/domains/GenericElementProps.js +9 -9
  321. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  322. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  323. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  324. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  325. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  326. package/lib/cjs/geometry/AreaPattern.js +204 -204
  327. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  328. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -14
  329. package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
  330. package/lib/cjs/geometry/BoundingSphere.js +44 -30
  331. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  332. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  333. package/lib/cjs/geometry/Cartographic.js +345 -345
  334. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  335. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  336. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  337. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  338. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  339. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  340. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  341. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  342. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  343. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  344. package/lib/cjs/geometry/FrustumPlanes.d.ts +81 -32
  345. package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
  346. package/lib/cjs/geometry/FrustumPlanes.js +193 -132
  347. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  348. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  349. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  350. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  351. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  352. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  353. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  354. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  355. package/lib/cjs/geometry/GeometryStream.js +469 -469
  356. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  357. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  358. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  359. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  360. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  361. package/lib/cjs/geometry/LineStyle.js +129 -129
  362. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  363. package/lib/cjs/geometry/Placement.d.ts +95 -95
  364. package/lib/cjs/geometry/Placement.js +131 -131
  365. package/lib/cjs/geometry/Placement.js.map +1 -1
  366. package/lib/cjs/geometry/Projection.d.ts +251 -251
  367. package/lib/cjs/geometry/Projection.js +198 -198
  368. package/lib/cjs/geometry/Projection.js.map +1 -1
  369. package/lib/cjs/geometry/TextString.d.ts +55 -55
  370. package/lib/cjs/geometry/TextString.js +65 -65
  371. package/lib/cjs/geometry/TextString.js.map +1 -1
  372. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  373. package/lib/cjs/ipc/IpcSession.js +27 -27
  374. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  375. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  376. package/lib/cjs/ipc/IpcSocket.js +16 -16
  377. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  378. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  379. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  380. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  381. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  382. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  383. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  384. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  385. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  386. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  387. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  388. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  389. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  390. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  391. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  392. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -96
  393. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  394. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  395. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  396. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  397. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  398. package/lib/cjs/rpc/TestRpcManager.d.ts.map +1 -1
  399. package/lib/cjs/rpc/TestRpcManager.js +40 -39
  400. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  401. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  402. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  403. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  404. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  405. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  406. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  407. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  408. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -85
  409. package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
  410. package/lib/cjs/rpc/core/RpcConstants.js +109 -103
  411. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  412. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  413. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  414. package/lib/cjs/rpc/core/RpcControl.js +145 -144
  415. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  416. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  417. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  418. package/lib/cjs/rpc/core/RpcInvocation.js +258 -258
  419. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  420. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  421. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  422. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  423. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  424. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  425. package/lib/cjs/rpc/core/RpcOperation.js +134 -133
  426. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  427. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  428. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts.map +1 -1
  429. package/lib/cjs/rpc/core/RpcPendingQueue.js +95 -94
  430. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  431. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  432. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  433. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  434. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  435. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  436. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  437. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  438. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  439. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  440. package/lib/cjs/rpc/core/RpcRegistry.d.ts.map +1 -1
  441. package/lib/cjs/rpc/core/RpcRegistry.js +199 -198
  442. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  443. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  444. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  445. package/lib/cjs/rpc/core/RpcRequest.js +478 -477
  446. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  447. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  448. package/lib/cjs/rpc/core/RpcRequestContext.d.ts.map +1 -1
  449. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  450. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  451. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  452. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  453. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -23
  454. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  455. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  456. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts.map +1 -1
  457. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -59
  458. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  459. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  460. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  461. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  462. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  463. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  464. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  465. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +143 -142
  466. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  467. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -139
  468. package/lib/cjs/rpc/web/OpenAPI.d.ts.map +1 -1
  469. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  470. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  471. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  472. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  473. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  474. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  475. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  476. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -139
  477. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  478. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -87
  479. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  480. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  481. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  482. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  483. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  484. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  485. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  486. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  487. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  488. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -372
  489. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  490. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  491. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  492. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  493. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  494. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  495. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  496. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  497. package/lib/cjs/tile/ElementGraphics.js +9 -9
  498. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  499. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  500. package/lib/cjs/tile/GltfTileIO.js +109 -109
  501. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  502. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  503. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  504. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  505. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  506. package/lib/cjs/tile/IModelTileIO.js +95 -95
  507. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  508. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  509. package/lib/cjs/tile/PntsTileIO.js +26 -26
  510. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  511. package/lib/cjs/tile/TileIO.d.ts +66 -66
  512. package/lib/cjs/tile/TileIO.js +118 -118
  513. package/lib/cjs/tile/TileIO.js.map +1 -1
  514. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  515. package/lib/cjs/tile/TileMetadata.js +676 -676
  516. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  517. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  518. package/lib/esm/AmbientOcclusion.js +52 -52
  519. package/lib/esm/AmbientOcclusion.js.map +1 -1
  520. package/lib/esm/AnalysisStyle.d.ts +134 -134
  521. package/lib/esm/AnalysisStyle.js +159 -159
  522. package/lib/esm/AnalysisStyle.js.map +1 -1
  523. package/lib/esm/AuthorizationClient.d.ts +17 -11
  524. package/lib/esm/AuthorizationClient.d.ts.map +1 -1
  525. package/lib/esm/AuthorizationClient.js +8 -8
  526. package/lib/esm/AuthorizationClient.js.map +1 -1
  527. package/lib/esm/BackendTypes.d.ts +12 -12
  528. package/lib/esm/BackendTypes.d.ts.map +1 -1
  529. package/lib/esm/BackendTypes.js +8 -8
  530. package/lib/esm/BackendTypes.js.map +1 -1
  531. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  532. package/lib/esm/BackgroundMapProvider.js +64 -64
  533. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  534. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  535. package/lib/esm/BackgroundMapSettings.js +152 -152
  536. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  537. package/lib/esm/Base64EncodedString.d.ts +32 -32
  538. package/lib/esm/Base64EncodedString.js +63 -63
  539. package/lib/esm/Base64EncodedString.js.map +1 -1
  540. package/lib/esm/BlobReader.d.ts +31 -31
  541. package/lib/esm/BlobReader.js +79 -79
  542. package/lib/esm/BlobReader.js.map +1 -1
  543. package/lib/esm/BriefcaseTypes.d.ts +191 -189
  544. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  545. package/lib/esm/BriefcaseTypes.js +92 -92
  546. package/lib/esm/BriefcaseTypes.js.map +1 -1
  547. package/lib/esm/Camera.d.ts +42 -42
  548. package/lib/esm/Camera.js +58 -58
  549. package/lib/esm/Camera.js.map +1 -1
  550. package/lib/esm/ChangedElements.d.ts +85 -85
  551. package/lib/esm/ChangedElements.js +20 -20
  552. package/lib/esm/ChangedElements.js.map +1 -1
  553. package/lib/esm/ChangedEntities.d.ts +45 -45
  554. package/lib/esm/ChangedEntities.js +8 -8
  555. package/lib/esm/ChangedEntities.js.map +1 -1
  556. package/lib/esm/ChangesetProps.d.ts +98 -98
  557. package/lib/esm/ChangesetProps.js +19 -19
  558. package/lib/esm/ChangesetProps.js.map +1 -1
  559. package/lib/esm/ClipStyle.d.ts +89 -89
  560. package/lib/esm/ClipStyle.js +118 -118
  561. package/lib/esm/ClipStyle.js.map +1 -1
  562. package/lib/esm/CloudStorage.d.ts +62 -62
  563. package/lib/esm/CloudStorage.js +109 -109
  564. package/lib/esm/CloudStorage.js.map +1 -1
  565. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  566. package/lib/esm/CloudStorageTileCache.js +62 -62
  567. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  568. package/lib/esm/Code.d.ts +277 -256
  569. package/lib/esm/Code.d.ts.map +1 -1
  570. package/lib/esm/Code.js +264 -276
  571. package/lib/esm/Code.js.map +1 -1
  572. package/lib/esm/ColorByName.d.ts +161 -161
  573. package/lib/esm/ColorByName.js +166 -166
  574. package/lib/esm/ColorByName.js.map +1 -1
  575. package/lib/esm/ColorDef.d.ts +208 -208
  576. package/lib/esm/ColorDef.js +567 -567
  577. package/lib/esm/ColorDef.js.map +1 -1
  578. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  579. package/lib/esm/CommonLoggerCategory.js +23 -23
  580. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  581. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  582. package/lib/esm/ConcurrentQuery.js +545 -545
  583. package/lib/esm/ConcurrentQuery.js.map +1 -1
  584. package/lib/esm/ContextRealityModel.d.ts +303 -276
  585. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  586. package/lib/esm/ContextRealityModel.js +368 -353
  587. package/lib/esm/ContextRealityModel.js.map +1 -1
  588. package/lib/esm/DisplayStyleSettings.d.ts +588 -584
  589. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  590. package/lib/esm/DisplayStyleSettings.js +980 -976
  591. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  592. package/lib/esm/ECSchemaProps.d.ts +39 -39
  593. package/lib/esm/ECSchemaProps.js +8 -8
  594. package/lib/esm/ECSchemaProps.js.map +1 -1
  595. package/lib/esm/ECSqlReader.d.ts +70 -70
  596. package/lib/esm/ECSqlReader.js +275 -275
  597. package/lib/esm/ECSqlReader.js.map +1 -1
  598. package/lib/esm/ECSqlTypes.d.ts +128 -128
  599. package/lib/esm/ECSqlTypes.js +185 -185
  600. package/lib/esm/ECSqlTypes.js.map +1 -1
  601. package/lib/esm/ElementMesh.d.ts +39 -39
  602. package/lib/esm/ElementMesh.js +52 -52
  603. package/lib/esm/ElementMesh.js.map +1 -1
  604. package/lib/esm/ElementProps.d.ts +483 -479
  605. package/lib/esm/ElementProps.d.ts.map +1 -1
  606. package/lib/esm/ElementProps.js +92 -92
  607. package/lib/esm/ElementProps.js.map +1 -1
  608. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  609. package/lib/esm/EmphasizeElementsProps.js +22 -22
  610. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  611. package/lib/esm/EntityProps.d.ts +177 -176
  612. package/lib/esm/EntityProps.d.ts.map +1 -1
  613. package/lib/esm/EntityProps.js +108 -107
  614. package/lib/esm/EntityProps.js.map +1 -1
  615. package/lib/esm/EntityReference.d.ts +51 -51
  616. package/lib/esm/EntityReference.js +52 -52
  617. package/lib/esm/EntityReference.js.map +1 -1
  618. package/lib/esm/Environment.d.ts +61 -61
  619. package/lib/esm/Environment.js +69 -69
  620. package/lib/esm/Environment.js.map +1 -1
  621. package/lib/esm/FeatureIndex.d.ts +39 -39
  622. package/lib/esm/FeatureIndex.js +57 -57
  623. package/lib/esm/FeatureIndex.js.map +1 -1
  624. package/lib/esm/FeatureSymbology.d.ts +444 -444
  625. package/lib/esm/FeatureSymbology.js +609 -609
  626. package/lib/esm/FeatureSymbology.js.map +1 -1
  627. package/lib/esm/FeatureTable.d.ts +141 -141
  628. package/lib/esm/FeatureTable.js +272 -272
  629. package/lib/esm/FeatureTable.js.map +1 -1
  630. package/lib/esm/Fonts.d.ts +51 -51
  631. package/lib/esm/Fonts.js +49 -49
  632. package/lib/esm/Fonts.js.map +1 -1
  633. package/lib/esm/Frustum.d.ts +114 -114
  634. package/lib/esm/Frustum.js +288 -288
  635. package/lib/esm/Frustum.js.map +1 -1
  636. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  637. package/lib/esm/GeoCoordinateServices.js +76 -76
  638. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  639. package/lib/esm/GeometryContainment.d.ts +28 -28
  640. package/lib/esm/GeometryContainment.js +8 -8
  641. package/lib/esm/GeometryContainment.js.map +1 -1
  642. package/lib/esm/GeometryParams.d.ts +130 -130
  643. package/lib/esm/GeometryParams.js +170 -170
  644. package/lib/esm/GeometryParams.js.map +1 -1
  645. package/lib/esm/GeometrySummary.d.ts +45 -45
  646. package/lib/esm/GeometrySummary.js +20 -20
  647. package/lib/esm/GeometrySummary.js.map +1 -1
  648. package/lib/esm/Gradient.d.ts +139 -139
  649. package/lib/esm/Gradient.js +452 -452
  650. package/lib/esm/Gradient.js.map +1 -1
  651. package/lib/esm/GraphicParams.d.ts +58 -58
  652. package/lib/esm/GraphicParams.js +81 -81
  653. package/lib/esm/GraphicParams.js.map +1 -1
  654. package/lib/esm/GroundPlane.d.ts +52 -52
  655. package/lib/esm/GroundPlane.js +60 -60
  656. package/lib/esm/GroundPlane.js.map +1 -1
  657. package/lib/esm/HSLColor.d.ts +20 -20
  658. package/lib/esm/HSLColor.js +28 -28
  659. package/lib/esm/HSLColor.js.map +1 -1
  660. package/lib/esm/HSVColor.d.ts +30 -30
  661. package/lib/esm/HSVColor.js +55 -55
  662. package/lib/esm/HSVColor.js.map +1 -1
  663. package/lib/esm/HiddenLine.d.ts +97 -97
  664. package/lib/esm/HiddenLine.js +159 -159
  665. package/lib/esm/HiddenLine.js.map +1 -1
  666. package/lib/esm/Hilite.d.ts +50 -50
  667. package/lib/esm/Hilite.js +61 -61
  668. package/lib/esm/Hilite.js.map +1 -1
  669. package/lib/esm/IModel.d.ts +358 -359
  670. package/lib/esm/IModel.d.ts.map +1 -1
  671. package/lib/esm/IModel.js +342 -342
  672. package/lib/esm/IModel.js.map +1 -1
  673. package/lib/esm/IModelError.d.ts +42 -36
  674. package/lib/esm/IModelError.d.ts.map +1 -1
  675. package/lib/esm/IModelError.js +56 -55
  676. package/lib/esm/IModelError.js.map +1 -1
  677. package/lib/esm/IModelVersion.d.ts +68 -68
  678. package/lib/esm/IModelVersion.js +75 -75
  679. package/lib/esm/IModelVersion.js.map +1 -1
  680. package/lib/esm/Image.d.ts +86 -86
  681. package/lib/esm/Image.js +120 -120
  682. package/lib/esm/Image.js.map +1 -1
  683. package/lib/esm/IpcAppProps.d.ts +141 -141
  684. package/lib/esm/IpcAppProps.js +19 -19
  685. package/lib/esm/IpcAppProps.js.map +1 -1
  686. package/lib/esm/LightSettings.d.ts +224 -224
  687. package/lib/esm/LightSettings.js +301 -301
  688. package/lib/esm/LightSettings.js.map +1 -1
  689. package/lib/esm/LinePixels.d.ts +34 -34
  690. package/lib/esm/LinePixels.js +39 -39
  691. package/lib/esm/LinePixels.js.map +1 -1
  692. package/lib/esm/Localization.d.ts +113 -113
  693. package/lib/esm/Localization.d.ts.map +1 -1
  694. package/lib/esm/Localization.js +29 -22
  695. package/lib/esm/Localization.js.map +1 -1
  696. package/lib/esm/MapImagerySettings.d.ts +62 -62
  697. package/lib/esm/MapImagerySettings.js +76 -76
  698. package/lib/esm/MapImagerySettings.js.map +1 -1
  699. package/lib/esm/MapLayerSettings.d.ts +272 -272
  700. package/lib/esm/MapLayerSettings.js +403 -403
  701. package/lib/esm/MapLayerSettings.js.map +1 -1
  702. package/lib/esm/MassProperties.d.ts +64 -64
  703. package/lib/esm/MassProperties.js +20 -20
  704. package/lib/esm/MassProperties.js.map +1 -1
  705. package/lib/esm/MaterialProps.d.ts +153 -118
  706. package/lib/esm/MaterialProps.d.ts.map +1 -1
  707. package/lib/esm/MaterialProps.js +32 -20
  708. package/lib/esm/MaterialProps.js.map +1 -1
  709. package/lib/esm/ModelClipGroup.d.ts +67 -67
  710. package/lib/esm/ModelClipGroup.js +93 -93
  711. package/lib/esm/ModelClipGroup.js.map +1 -1
  712. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  713. package/lib/esm/ModelGeometryChanges.js +80 -80
  714. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  715. package/lib/esm/ModelProps.d.ts +67 -67
  716. package/lib/esm/ModelProps.js +8 -8
  717. package/lib/esm/ModelProps.js.map +1 -1
  718. package/lib/esm/NativeAppProps.d.ts +122 -122
  719. package/lib/esm/NativeAppProps.js +27 -27
  720. package/lib/esm/NativeAppProps.js.map +1 -1
  721. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  722. package/lib/esm/OctEncodedNormal.js +93 -93
  723. package/lib/esm/OctEncodedNormal.js.map +1 -1
  724. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  725. package/lib/esm/PlanProjectionSettings.js +59 -59
  726. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  727. package/lib/esm/PlanarClipMask.d.ts +177 -177
  728. package/lib/esm/PlanarClipMask.js +132 -132
  729. package/lib/esm/PlanarClipMask.js.map +1 -1
  730. package/lib/esm/QPoint.d.ts +479 -479
  731. package/lib/esm/QPoint.js +815 -815
  732. package/lib/esm/QPoint.js.map +1 -1
  733. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  734. package/lib/esm/RealityDataAccessProps.js +16 -16
  735. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  736. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -118
  737. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
  738. package/lib/esm/RealityModelDisplaySettings.js +137 -109
  739. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  740. package/lib/esm/Render.d.ts +89 -89
  741. package/lib/esm/Render.js +165 -165
  742. package/lib/esm/Render.js.map +1 -1
  743. package/lib/esm/RenderMaterial.d.ts +58 -58
  744. package/lib/esm/RenderMaterial.d.ts.map +1 -1
  745. package/lib/esm/RenderMaterial.js +72 -72
  746. package/lib/esm/RenderMaterial.js.map +1 -1
  747. package/lib/esm/RenderSchedule.d.ts +543 -543
  748. package/lib/esm/RenderSchedule.js +999 -999
  749. package/lib/esm/RenderTexture.d.ts +70 -70
  750. package/lib/esm/RenderTexture.js +55 -55
  751. package/lib/esm/RenderTexture.js.map +1 -1
  752. package/lib/esm/RgbColor.d.ts +47 -47
  753. package/lib/esm/RgbColor.js +73 -73
  754. package/lib/esm/RgbColor.js.map +1 -1
  755. package/lib/esm/RpcInterface.d.ts +33 -33
  756. package/lib/esm/RpcInterface.d.ts.map +1 -1
  757. package/lib/esm/RpcInterface.js +133 -133
  758. package/lib/esm/RpcInterface.js.map +1 -1
  759. package/lib/esm/RpcManager.d.ts +40 -40
  760. package/lib/esm/RpcManager.d.ts.map +1 -1
  761. package/lib/esm/RpcManager.js +51 -51
  762. package/lib/esm/RpcManager.js.map +1 -1
  763. package/lib/esm/SessionProps.d.ts +16 -16
  764. package/lib/esm/SessionProps.js +8 -8
  765. package/lib/esm/SessionProps.js.map +1 -1
  766. package/lib/esm/SkyBox.d.ts +215 -215
  767. package/lib/esm/SkyBox.js +203 -203
  768. package/lib/esm/SkyBox.js.map +1 -1
  769. package/lib/esm/Snapping.d.ts +49 -49
  770. package/lib/esm/Snapping.js +8 -8
  771. package/lib/esm/Snapping.js.map +1 -1
  772. package/lib/esm/SolarCalculate.d.ts +27 -27
  773. package/lib/esm/SolarCalculate.js +204 -204
  774. package/lib/esm/SolarCalculate.js.map +1 -1
  775. package/lib/esm/SolarShadows.d.ts +35 -35
  776. package/lib/esm/SolarShadows.js +58 -58
  777. package/lib/esm/SolarShadows.js.map +1 -1
  778. package/lib/esm/SpatialClassification.d.ts +208 -208
  779. package/lib/esm/SpatialClassification.js +334 -334
  780. package/lib/esm/SpatialClassification.js.map +1 -1
  781. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  782. package/lib/esm/SubCategoryAppearance.js +92 -92
  783. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  784. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  785. package/lib/esm/SubCategoryOverride.js +100 -100
  786. package/lib/esm/SubCategoryOverride.js.map +1 -1
  787. package/lib/esm/TerrainSettings.d.ts +82 -82
  788. package/lib/esm/TerrainSettings.js +98 -98
  789. package/lib/esm/TerrainSettings.js.map +1 -1
  790. package/lib/esm/TextureMapping.d.ts +118 -116
  791. package/lib/esm/TextureMapping.d.ts.map +1 -1
  792. package/lib/esm/TextureMapping.js +170 -170
  793. package/lib/esm/TextureMapping.js.map +1 -1
  794. package/lib/esm/TextureProps.d.ts +65 -65
  795. package/lib/esm/TextureProps.js +25 -25
  796. package/lib/esm/TextureProps.js.map +1 -1
  797. package/lib/esm/ThematicDisplay.d.ts +230 -230
  798. package/lib/esm/ThematicDisplay.js +337 -337
  799. package/lib/esm/ThematicDisplay.js.map +1 -1
  800. package/lib/esm/Thumbnail.d.ts +26 -26
  801. package/lib/esm/Thumbnail.js +8 -8
  802. package/lib/esm/Thumbnail.js.map +1 -1
  803. package/lib/esm/TileProps.d.ts +82 -82
  804. package/lib/esm/TileProps.js +25 -25
  805. package/lib/esm/TileProps.js.map +1 -1
  806. package/lib/esm/Tween.d.ts +191 -191
  807. package/lib/esm/Tween.js +565 -565
  808. package/lib/esm/Tween.js.map +1 -1
  809. package/lib/esm/TxnAction.d.ts +21 -21
  810. package/lib/esm/TxnAction.js +26 -26
  811. package/lib/esm/TxnAction.js.map +1 -1
  812. package/lib/esm/ViewDetails.d.ts +125 -125
  813. package/lib/esm/ViewDetails.js +161 -161
  814. package/lib/esm/ViewDetails.js.map +1 -1
  815. package/lib/esm/ViewFlags.d.ts +287 -291
  816. package/lib/esm/ViewFlags.d.ts.map +1 -1
  817. package/lib/esm/ViewFlags.js +364 -364
  818. package/lib/esm/ViewFlags.js.map +1 -1
  819. package/lib/esm/ViewProps.d.ts +205 -205
  820. package/lib/esm/ViewProps.d.ts.map +1 -1
  821. package/lib/esm/ViewProps.js +8 -8
  822. package/lib/esm/ViewProps.js.map +1 -1
  823. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  824. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  825. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  826. package/lib/esm/core-common.d.ts +244 -245
  827. package/lib/esm/core-common.d.ts.map +1 -1
  828. package/lib/esm/core-common.js +248 -249
  829. package/lib/esm/core-common.js.map +1 -1
  830. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  831. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  832. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  833. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  834. package/lib/esm/domains/GenericElementProps.js +8 -8
  835. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  836. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  837. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  838. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  839. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  840. package/lib/esm/geometry/AreaPattern.js +201 -201
  841. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  842. package/lib/esm/geometry/BoundingSphere.d.ts +27 -14
  843. package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
  844. package/lib/esm/geometry/BoundingSphere.js +40 -26
  845. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  846. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  847. package/lib/esm/geometry/Cartographic.js +340 -340
  848. package/lib/esm/geometry/Cartographic.js.map +1 -1
  849. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  850. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  851. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  852. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  853. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  854. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  855. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  856. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  857. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  858. package/lib/esm/geometry/FrustumPlanes.d.ts +81 -32
  859. package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
  860. package/lib/esm/geometry/FrustumPlanes.js +189 -128
  861. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  862. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  863. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  864. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  865. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  866. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  867. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  868. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  869. package/lib/esm/geometry/GeometryStream.js +464 -464
  870. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  871. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  872. package/lib/esm/geometry/ImageGraphic.js +93 -93
  873. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  874. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  875. package/lib/esm/geometry/LineStyle.js +126 -126
  876. package/lib/esm/geometry/LineStyle.js.map +1 -1
  877. package/lib/esm/geometry/Placement.d.ts +95 -95
  878. package/lib/esm/geometry/Placement.js +126 -126
  879. package/lib/esm/geometry/Placement.js.map +1 -1
  880. package/lib/esm/geometry/Projection.d.ts +251 -251
  881. package/lib/esm/geometry/Projection.js +192 -192
  882. package/lib/esm/geometry/Projection.js.map +1 -1
  883. package/lib/esm/geometry/TextString.d.ts +55 -55
  884. package/lib/esm/geometry/TextString.js +61 -61
  885. package/lib/esm/geometry/TextString.js.map +1 -1
  886. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  887. package/lib/esm/ipc/IpcSession.js +23 -23
  888. package/lib/esm/ipc/IpcSession.js.map +1 -1
  889. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  890. package/lib/esm/ipc/IpcSocket.js +12 -12
  891. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  892. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  893. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  894. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  895. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  896. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  897. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  898. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  899. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  900. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  901. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  902. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  903. package/lib/esm/rpc/IModelReadRpcInterface.js +117 -117
  904. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  905. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  906. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -92
  907. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  908. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  909. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  910. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  911. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  912. package/lib/esm/rpc/TestRpcManager.d.ts.map +1 -1
  913. package/lib/esm/rpc/TestRpcManager.js +36 -35
  914. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  915. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  916. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  917. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  918. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  919. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  920. package/lib/esm/rpc/core/RpcConfiguration.js +184 -184
  921. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  922. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -85
  923. package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
  924. package/lib/esm/rpc/core/RpcConstants.js +106 -100
  925. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  926. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  927. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  928. package/lib/esm/rpc/core/RpcControl.js +138 -137
  929. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  930. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  931. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  932. package/lib/esm/rpc/core/RpcInvocation.js +254 -254
  933. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  934. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  935. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  936. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  937. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  938. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  939. package/lib/esm/rpc/core/RpcOperation.js +129 -128
  940. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  941. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  942. package/lib/esm/rpc/core/RpcPendingQueue.d.ts.map +1 -1
  943. package/lib/esm/rpc/core/RpcPendingQueue.js +91 -90
  944. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  945. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  946. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  947. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  948. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  949. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  950. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  951. package/lib/esm/rpc/core/RpcPush.js +119 -119
  952. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  953. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  954. package/lib/esm/rpc/core/RpcRegistry.d.ts.map +1 -1
  955. package/lib/esm/rpc/core/RpcRegistry.js +195 -194
  956. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  957. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  958. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  959. package/lib/esm/rpc/core/RpcRequest.js +473 -472
  960. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  961. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  962. package/lib/esm/rpc/core/RpcRequestContext.d.ts.map +1 -1
  963. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  964. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  965. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  966. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  967. package/lib/esm/rpc/core/RpcRoutingToken.js +20 -19
  968. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  969. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  970. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts.map +1 -1
  971. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -55
  972. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  973. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  974. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  975. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  976. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  977. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  978. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  979. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +139 -138
  980. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  981. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -139
  982. package/lib/esm/rpc/web/OpenAPI.d.ts.map +1 -1
  983. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  984. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  985. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  986. package/lib/esm/rpc/web/RpcMultipart.js +46 -46
  987. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  988. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  989. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  990. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -135
  991. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  992. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -87
  993. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  994. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  995. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  996. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  997. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  998. package/lib/esm/rpc/web/WebAppRpcRequest.js +235 -235
  999. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  1000. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  1001. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  1002. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -368
  1003. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  1004. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  1005. package/lib/esm/tile/B3dmTileIO.js +62 -62
  1006. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  1007. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  1008. package/lib/esm/tile/CompositeTileIO.js +22 -22
  1009. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  1010. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  1011. package/lib/esm/tile/ElementGraphics.js +8 -8
  1012. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  1013. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  1014. package/lib/esm/tile/GltfTileIO.js +105 -105
  1015. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  1016. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  1017. package/lib/esm/tile/I3dmTileIO.js +36 -36
  1018. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  1019. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  1020. package/lib/esm/tile/IModelTileIO.js +90 -90
  1021. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  1022. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  1023. package/lib/esm/tile/PntsTileIO.js +22 -22
  1024. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  1025. package/lib/esm/tile/TileIO.d.ts +66 -66
  1026. package/lib/esm/tile/TileIO.js +110 -110
  1027. package/lib/esm/tile/TileIO.js.map +1 -1
  1028. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  1029. package/lib/esm/tile/TileMetadata.js +661 -661
  1030. package/lib/esm/tile/TileMetadata.js.map +1 -1
  1031. package/package.json +7 -7
  1032. package/lib/cjs/FeatureGates.d.ts +0 -32
  1033. package/lib/cjs/FeatureGates.d.ts.map +0 -1
  1034. package/lib/cjs/FeatureGates.js +0 -56
  1035. package/lib/cjs/FeatureGates.js.map +0 -1
  1036. package/lib/esm/FeatureGates.d.ts +0 -32
  1037. package/lib/esm/FeatureGates.d.ts.map +0 -1
  1038. package/lib/esm/FeatureGates.js +0 -52
  1039. package/lib/esm/FeatureGates.js.map +0 -1
@@ -1,677 +1,677 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Tile
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.TileMetadataReader = exports.computeTileChordTolerance = exports.readTileContentDescription = exports.computeChildTileProps = exports.computeChildTileRanges = exports.bisectTileRange2d = exports.bisectTileRange3d = exports.ContentIdProvider = exports.ContentFlags = exports.compareIModelTileTreeIds = exports.iModelTileTreeIdToString = exports.TreeFlags = exports.getMaximumMajorTileFormatVersion = exports.defaultTileOptions = exports.parseTileTreeIdAndContentId = exports.TileOptions = void 0;
11
- const core_bentley_1 = require("@itwin/core-bentley");
12
- const core_geometry_1 = require("@itwin/core-geometry");
13
- const FeatureTable_1 = require("../FeatureTable");
14
- const IModelTileIO_1 = require("./IModelTileIO");
15
- const TileIO_1 = require("./TileIO");
16
- // cspell:ignore imdl mult bitfield
17
- // NB: These constants correspond to those defined in Tile.cpp.
18
- var Constants;
19
- (function (Constants) {
20
- Constants.minToleranceRatioMultiplier = 2;
21
- })(Constants || (Constants = {}));
22
- /** @internal */
23
- var TileOptions;
24
- (function (TileOptions) {
25
- /** Given the string representation of an [[IModelTileTreeId]] and the contentId of a [Tile]($frontend) belonging to that [TileTree]($frontend),
26
- * compute the [[TileOptions]] that were used to generate the Ids.
27
- * @throws Error if `treeId` or `contentId` are not valid Ids.
28
- * @note `treeId` and `contentId` are assumed to be valid Ids. They are not fully parsed and validated - only the information required by this function is extracted.
29
- * @note `treeId` and `contentId` are assumed to have been produced for version 4 or later of the iMdl tile format.
30
- */
31
- function fromTreeIdAndContentId(treeId, contentId) {
32
- const tree = treeFlagsAndFormatVersionFromId(treeId);
33
- const contentFlags = contentFlagsFromId(contentId);
34
- const edgeOptions = edgeOptionsFromTreeId(treeId);
35
- return {
36
- maximumMajorTileFormatVersion: tree.version,
37
- enableInstancing: 0 !== (contentFlags & ContentFlags.AllowInstancing),
38
- enableImprovedElision: 0 !== (contentFlags & ContentFlags.ImprovedElision),
39
- ignoreAreaPatterns: 0 !== (contentFlags & ContentFlags.IgnoreAreaPatterns),
40
- enableExternalTextures: 0 !== (contentFlags & ContentFlags.ExternalTextures),
41
- useProjectExtents: 0 !== (tree.flags & TreeFlags.UseProjectExtents),
42
- optimizeBRepProcessing: 0 !== (tree.flags & TreeFlags.OptimizeBRepProcessing),
43
- useLargerTiles: 0 !== (tree.flags & TreeFlags.UseLargerTiles),
44
- disableMagnification: false,
45
- alwaysSubdivideIncompleteTiles: false,
46
- enableIndexedEdges: edgeOptions && edgeOptions.indexed,
47
- generateAllPolyfaceEdges: edgeOptions && edgeOptions.smooth,
48
- };
49
- }
50
- TileOptions.fromTreeIdAndContentId = fromTreeIdAndContentId;
51
- })(TileOptions = exports.TileOptions || (exports.TileOptions = {}));
52
- class Parser {
53
- constructor(input) {
54
- this.curPos = 0;
55
- this.input = input;
56
- }
57
- parse(contentId) {
58
- this.require(this.input.length > 0);
59
- // Skip version and flags, they're handled by TileOptions.fromTreeIdAndContentId
60
- while (this.curPos < this.input.length && this.cur() !== "-")
61
- this.advance();
62
- this.eat("-");
63
- this.require(this.curPos < this.input.length);
64
- const classifier = this.cur() === "C" ? this.parseClassifier() : undefined;
65
- const animationId = this.parseAnimation();
66
- const primary = classifier ? undefined : this.parsePrimary();
67
- this.require((undefined === classifier) !== (undefined === primary));
68
- const modelId = this.input.substr(this.curPos);
69
- this.require(core_bentley_1.Id64.isId64(modelId));
70
- const { flags: treeFlags } = treeFlagsAndFormatVersionFromId(this.input);
71
- const options = TileOptions.fromTreeIdAndContentId(this.input, contentId);
72
- let parsedContentId;
73
- try {
74
- parsedContentId = ContentIdProvider.create(true, options).specFromId(contentId);
75
- }
76
- catch (e) {
77
- this.reject("Invalid content Id");
78
- }
79
- if (Object.keys(parsedContentId).some((key) => parsedContentId.hasOwnProperty(key) && typeof parsedContentId[key] === "number" && !Number.isFinite(parsedContentId[key])))
80
- throw new Error("Invalid content Id");
81
- let treeId;
82
- if (classifier) {
83
- treeId = { ...classifier, animationId };
84
- }
85
- else {
86
- (0, core_bentley_1.assert)(undefined !== primary);
87
- const enforceDisplayPriority = (treeFlags & TreeFlags.EnforceDisplayPriority) !== 0 ? true : undefined;
88
- treeId = { ...primary, animationId, type: FeatureTable_1.BatchType.Primary, enforceDisplayPriority };
89
- }
90
- return {
91
- contentId: parsedContentId,
92
- modelId,
93
- options,
94
- treeId,
95
- };
96
- }
97
- cur() {
98
- this.require(this.curPos < this.input.length);
99
- return this.input[this.curPos];
100
- }
101
- advance() {
102
- this.require(this.curPos < this.input.length);
103
- ++this.curPos;
104
- }
105
- eat(expectedChar) {
106
- this.require(this.cur() === expectedChar);
107
- this.advance();
108
- }
109
- reject(message = "Invalid tree Id") {
110
- throw new Error(message);
111
- }
112
- require(condition, message = "Invalid tree Id") {
113
- if (!condition)
114
- this.reject(message);
115
- }
116
- parseClassifier() {
117
- this.eat("C");
118
- let type = FeatureTable_1.BatchType.VolumeClassifier;
119
- if (this.cur() === "P") {
120
- type = FeatureTable_1.BatchType.PlanarClassifier;
121
- this.advance();
122
- }
123
- this.eat(":");
124
- // C: or CP: is always folowed by expansion then an underscore.
125
- let expansionStr = "";
126
- while (this.curPos < this.input.length && (this.cur() >= "0" && this.cur() <= "9" || this.cur() === ".")) {
127
- expansionStr += this.cur();
128
- this.advance();
129
- }
130
- this.eat("_");
131
- const expansion = Number.parseFloat(expansionStr);
132
- this.require(!Number.isNaN(expansion));
133
- return { type, expansion };
134
- }
135
- parseAnimation() {
136
- if (this.cur() !== "A")
137
- return undefined;
138
- this.eat("A");
139
- this.eat(":");
140
- const termPos = this.input.indexOf("_", this.curPos);
141
- this.require(termPos > this.curPos);
142
- const animationId = this.input.substring(this.curPos, termPos);
143
- this.require(core_bentley_1.Id64.isId64(animationId));
144
- this.curPos = termPos + 1; // Skip "_"
145
- return animationId;
146
- }
147
- parsePrimary() {
148
- const edges = this.parseEdges();
149
- const sectionCut = this.parseSectionCut();
150
- return { edges, sectionCut };
151
- }
152
- parseEdges() {
153
- if ("E" !== this.cur())
154
- return { indexed: false, smooth: false };
155
- this.eat("E");
156
- this.eat(":");
157
- const typeStr = this.cur();
158
- this.eat(typeStr);
159
- this.eat("_");
160
- switch (typeStr) {
161
- case "0": return false;
162
- case "2": return { indexed: true, smooth: false };
163
- case "3": return { indexed: false, smooth: true };
164
- case "4": return { indexed: true, smooth: true };
165
- default: this.reject();
166
- }
167
- }
168
- parseSectionCut() {
169
- if ("S" !== this.cur())
170
- return undefined;
171
- this.eat("S");
172
- const termPos = this.input.indexOf("s", this.curPos);
173
- this.require(termPos > this.curPos);
174
- const sectionCut = this.input.substring(this.curPos, termPos);
175
- this.curPos = termPos + 1; // Skip "_";
176
- return sectionCut;
177
- }
178
- }
179
- /** @internal */
180
- function parseTileTreeIdAndContentId(treeId, contentId) {
181
- const parser = new Parser(treeId);
182
- return parser.parse(contentId);
183
- }
184
- exports.parseTileTreeIdAndContentId = parseTileTreeIdAndContentId;
185
- /** @internal */
186
- exports.defaultTileOptions = Object.freeze({
187
- maximumMajorTileFormatVersion: IModelTileIO_1.CurrentImdlVersion.Major,
188
- enableInstancing: true,
189
- enableImprovedElision: true,
190
- ignoreAreaPatterns: false,
191
- enableExternalTextures: true,
192
- useProjectExtents: true,
193
- optimizeBRepProcessing: true,
194
- useLargerTiles: true,
195
- disableMagnification: false,
196
- alwaysSubdivideIncompleteTiles: false,
197
- enableIndexedEdges: true,
198
- generateAllPolyfaceEdges: true,
199
- });
200
- function contentFlagsFromId(id) {
201
- if (0 === id.length || "-" !== id[0])
202
- throw new Error("Invalid content Id");
203
- // V4: -flags-d-i-j-k-m - version in tree Id
204
- const end = id.indexOf("-", 1);
205
- if (-1 !== end) {
206
- const flags = Number.parseInt(id.substring(1, end), 16);
207
- if (!Number.isNaN(flags))
208
- return flags;
209
- }
210
- throw new Error("Invalid content Id");
211
- }
212
- function treeFlagsAndFormatVersionFromId(id) {
213
- if (0 === id.length)
214
- throw new Error("Invalid tree Id");
215
- let parts = id.split("-");
216
- if (parts.length > 0) {
217
- parts = parts[0].split("_");
218
- if (parts.length === 2) {
219
- const version = Number.parseInt(parts[0], 16);
220
- const flags = Number.parseInt(parts[1], 16);
221
- if (!Number.isNaN(version) || !Number.isNaN(flags))
222
- return { version, flags };
223
- }
224
- }
225
- throw new Error("Invalid tree Id");
226
- }
227
- function edgeOptionsFromTreeId(id) {
228
- const pos = id.indexOf("E:");
229
- if (pos <= 0)
230
- return { indexed: false, smooth: false };
231
- switch (id[pos + 2]) {
232
- case "0": return { indexed: exports.defaultTileOptions.enableIndexedEdges, smooth: exports.defaultTileOptions.generateAllPolyfaceEdges };
233
- case "2": return { indexed: true, smooth: false };
234
- case "3": return { indexed: false, smooth: true };
235
- case "4": return { indexed: true, smooth: true };
236
- }
237
- throw new Error("Invalid tree Id");
238
- }
239
- /** @internal */
240
- function getMaximumMajorTileFormatVersion(maxMajorVersion, formatVersion) {
241
- // The `formatVersion` input is from the backend, telling us precisely the maximum major+minor version it can produce.
242
- // Ensure we do not request tiles of a newer major version than backend can supply or it can read; and also limit major version
243
- // to that optionally configured by the app.
244
- let majorVersion = maxMajorVersion;
245
- if (undefined !== formatVersion)
246
- majorVersion = Math.min((formatVersion >>> 0x10), majorVersion);
247
- // Version number less than 1 is invalid - ignore
248
- majorVersion = Math.max(majorVersion, 1);
249
- // Version number greater than current known version ignored
250
- majorVersion = Math.min(majorVersion, IModelTileIO_1.CurrentImdlVersion.Major);
251
- // Version numbers are integers - round down
252
- return Math.max(Math.floor(majorVersion), 1);
253
- }
254
- exports.getMaximumMajorTileFormatVersion = getMaximumMajorTileFormatVersion;
255
- /** Flags controlling the structure of a tile tree. The flags are part of the tile tree's Id.
256
- * @alpha
257
- */
258
- var TreeFlags;
259
- (function (TreeFlags) {
260
- TreeFlags[TreeFlags["None"] = 0] = "None";
261
- TreeFlags[TreeFlags["UseProjectExtents"] = 1] = "UseProjectExtents";
262
- TreeFlags[TreeFlags["EnforceDisplayPriority"] = 2] = "EnforceDisplayPriority";
263
- TreeFlags[TreeFlags["OptimizeBRepProcessing"] = 4] = "OptimizeBRepProcessing";
264
- TreeFlags[TreeFlags["UseLargerTiles"] = 8] = "UseLargerTiles";
265
- })(TreeFlags = exports.TreeFlags || (exports.TreeFlags = {}));
266
- function compareEdgeOptions(a, b) {
267
- if (typeof a !== typeof b)
268
- return a ? 1 : -1;
269
- if (typeof a === "boolean") {
270
- (0, core_bentley_1.assert)(typeof b === "boolean");
271
- return (0, core_bentley_1.compareBooleans)(a, b);
272
- }
273
- (0, core_bentley_1.assert)(typeof b === "object");
274
- let cmp = (0, core_bentley_1.compareBooleans)(a.indexed, b.indexed);
275
- if (0 === cmp)
276
- cmp = (0, core_bentley_1.compareBooleans)(a.smooth, b.smooth);
277
- return cmp;
278
- }
279
- function animationIdToString(animationId) {
280
- return `A:${animationId}_`;
281
- }
282
- /** Convert a tile tree Id to its string representation.
283
- * @internal
284
- */
285
- function iModelTileTreeIdToString(modelId, treeId, options) {
286
- let idStr = "";
287
- let flags = options.useProjectExtents ? TreeFlags.UseProjectExtents : TreeFlags.None;
288
- if (options.optimizeBRepProcessing)
289
- flags |= TreeFlags.OptimizeBRepProcessing;
290
- if (options.useLargerTiles)
291
- flags |= TreeFlags.UseLargerTiles;
292
- if (FeatureTable_1.BatchType.Primary === treeId.type) {
293
- if (undefined !== treeId.animationId)
294
- idStr = `${idStr}${animationIdToString(treeId.animationId)}`;
295
- else if (treeId.enforceDisplayPriority) // animation and priority are currently mutually exclusive
296
- flags |= TreeFlags.EnforceDisplayPriority;
297
- let edges;
298
- if (!treeId.edges) {
299
- edges = "E:0_";
300
- }
301
- else {
302
- if (!treeId.edges.smooth)
303
- edges = treeId.edges.indexed ? "E:2_" : "";
304
- else
305
- edges = treeId.edges.indexed ? "E:4_" : "E:3_";
306
- }
307
- const sectionCut = treeId.sectionCut ? `S${treeId.sectionCut}s` : "";
308
- idStr = `${idStr}${edges}${sectionCut}`;
309
- }
310
- else {
311
- const typeStr = FeatureTable_1.BatchType.PlanarClassifier === treeId.type ? "CP" : "C";
312
- idStr = `${idStr + typeStr}:${treeId.expansion.toFixed(6)}_`;
313
- if (FeatureTable_1.BatchType.VolumeClassifier === treeId.type)
314
- flags |= TreeFlags.UseProjectExtents;
315
- if (undefined !== treeId.animationId)
316
- idStr = `${idStr}${animationIdToString(treeId.animationId)}`;
317
- }
318
- const version = getMaximumMajorTileFormatVersion(options.maximumMajorTileFormatVersion);
319
- if (version >= 4) {
320
- const prefix = `${version.toString(16)}_${flags.toString(16)}-`;
321
- idStr = prefix + idStr;
322
- }
323
- return idStr + modelId;
324
- }
325
- exports.iModelTileTreeIdToString = iModelTileTreeIdToString;
326
- /** Ordinal comparison of two tile tree Ids, e.g., for use in sorted containers.
327
- * @internal
328
- */
329
- function compareIModelTileTreeIds(lhs, rhs) {
330
- let cmp = (0, core_bentley_1.compareNumbers)(lhs.type, rhs.type);
331
- if (0 === cmp)
332
- cmp = (0, core_bentley_1.compareStringsOrUndefined)(lhs.animationId, rhs.animationId);
333
- if (0 !== cmp)
334
- return cmp;
335
- // NB: The redundant checks on BatchType below are to satisfy compiler.
336
- (0, core_bentley_1.assert)(lhs.type === rhs.type);
337
- if (FeatureTable_1.BatchType.Primary === lhs.type && FeatureTable_1.BatchType.Primary === rhs.type) {
338
- cmp = compareEdgeOptions(lhs.edges, rhs.edges);
339
- if (0 === cmp) {
340
- cmp = (0, core_bentley_1.compareBooleansOrUndefined)(lhs.enforceDisplayPriority, rhs.enforceDisplayPriority);
341
- if (0 === cmp)
342
- cmp = (0, core_bentley_1.compareStringsOrUndefined)(lhs.sectionCut, rhs.sectionCut);
343
- }
344
- }
345
- else if (FeatureTable_1.BatchType.Primary !== lhs.type && FeatureTable_1.BatchType.Primary !== rhs.type) {
346
- cmp = (0, core_bentley_1.compareNumbers)(lhs.expansion, rhs.expansion);
347
- }
348
- return cmp;
349
- }
350
- exports.compareIModelTileTreeIds = compareIModelTileTreeIds;
351
- /** Flags controlling how tile content is produced. The flags are part of the ContentId.
352
- * @alpha
353
- */
354
- var ContentFlags;
355
- (function (ContentFlags) {
356
- ContentFlags[ContentFlags["None"] = 0] = "None";
357
- ContentFlags[ContentFlags["AllowInstancing"] = 1] = "AllowInstancing";
358
- ContentFlags[ContentFlags["ImprovedElision"] = 2] = "ImprovedElision";
359
- ContentFlags[ContentFlags["IgnoreAreaPatterns"] = 4] = "IgnoreAreaPatterns";
360
- ContentFlags[ContentFlags["ExternalTextures"] = 8] = "ExternalTextures";
361
- })(ContentFlags = exports.ContentFlags || (exports.ContentFlags = {}));
362
- /** Contains logic for working with tile content Ids according to a specific content Id scheme. Which scheme is used depends on
363
- * the major version of the tile format.
364
- * @internal
365
- */
366
- class ContentIdProvider {
367
- constructor(formatVersion, contentFlags) {
368
- this.majorFormatVersion = formatVersion;
369
- this.contentFlags = contentFlags;
370
- }
371
- get rootContentId() {
372
- return this.computeId(0, 0, 0, 0, 1);
373
- }
374
- idFromParentAndMultiplier(parentId, multiplier) {
375
- const lastSepPos = parentId.lastIndexOf(this._separator);
376
- (0, core_bentley_1.assert)(-1 !== lastSepPos);
377
- return parentId.substring(0, lastSepPos + 1) + multiplier.toString(16);
378
- }
379
- specFromId(id) {
380
- const parts = id.split(this._separator);
381
- const len = parts.length;
382
- (0, core_bentley_1.assert)(len >= 5);
383
- return {
384
- depth: parseInt(parts[len - 5], 16),
385
- i: parseInt(parts[len - 4], 16),
386
- j: parseInt(parts[len - 3], 16),
387
- k: parseInt(parts[len - 2], 16),
388
- multiplier: parseInt(parts[len - 1], 16),
389
- };
390
- }
391
- idFromSpec(spec) {
392
- return this.computeId(spec.depth, spec.i, spec.j, spec.k, spec.multiplier);
393
- }
394
- join(depth, i, j, k, mult) {
395
- const sep = this._separator;
396
- return depth.toString(16) + sep + i.toString(16) + sep + j.toString(16) + sep + k.toString(16) + sep + mult.toString(16);
397
- }
398
- /** formatVersion is the maximum major version supported by the back-end supplying the tile tree.
399
- * Must ensure front-end does not request tiles of a format the back-end cannot supply, and back-end does
400
- * not supply tiles of a format the front-end doesn't recognize.
401
- */
402
- static create(allowInstancing, options, formatVersion) {
403
- const majorVersion = getMaximumMajorTileFormatVersion(options.maximumMajorTileFormatVersion, formatVersion);
404
- (0, core_bentley_1.assert)(majorVersion > 0);
405
- (0, core_bentley_1.assert)(Math.floor(majorVersion) === majorVersion);
406
- switch (majorVersion) {
407
- case 0:
408
- case 1:
409
- return new ContentIdV1Provider(majorVersion);
410
- case 2:
411
- case 3:
412
- return new ContentIdV2Provider(majorVersion, allowInstancing, options);
413
- default:
414
- return new ContentIdV4Provider(allowInstancing, options, majorVersion);
415
- }
416
- }
417
- }
418
- exports.ContentIdProvider = ContentIdProvider;
419
- /** The original (major version 1) tile format used a content Id scheme of the format
420
- * `depth/i/j/k/multiplier`.
421
- * @internal
422
- */
423
- class ContentIdV1Provider extends ContentIdProvider {
424
- constructor(majorVersion) {
425
- super(majorVersion, ContentFlags.None);
426
- }
427
- get _separator() { return "/"; }
428
- computeId(depth, i, j, k, mult) {
429
- return this.join(depth, i, j, k, mult);
430
- }
431
- }
432
- /** Tile formats 2 and 3 use a content Id scheme encoding styling flags and the major format version
433
- * into the content Id, of the format `_majorVersion_flags_depth_i_j_k_multiplier`.
434
- * @internal
435
- */
436
- class ContentIdV2Provider extends ContentIdProvider {
437
- constructor(majorVersion, allowInstancing, options) {
438
- const flags = (allowInstancing && options.enableInstancing) ? ContentFlags.AllowInstancing : ContentFlags.None;
439
- super(majorVersion, flags);
440
- this._prefix = this._separator + majorVersion.toString(16) + this._separator + flags.toString(16) + this._separator;
441
- }
442
- get _separator() { return "_"; }
443
- computeId(depth, i, j, k, mult) {
444
- return this._prefix + this.join(depth, i, j, k, mult);
445
- }
446
- }
447
- /** Tile formats 4+ encode styling flags but not major format version. (The version is specified by the tile tree's Id).
448
- * Format: `-flags-depth-i-j-k-multiplier`.
449
- * @internal
450
- */
451
- class ContentIdV4Provider extends ContentIdProvider {
452
- constructor(allowInstancing, options, majorVersion) {
453
- let flags = (allowInstancing && options.enableInstancing) ? ContentFlags.AllowInstancing : ContentFlags.None;
454
- if (options.enableImprovedElision)
455
- flags = flags | ContentFlags.ImprovedElision;
456
- if (options.ignoreAreaPatterns)
457
- flags = flags | ContentFlags.IgnoreAreaPatterns;
458
- if (options.enableExternalTextures)
459
- flags = flags | ContentFlags.ExternalTextures;
460
- super(majorVersion, flags);
461
- this._prefix = this._separator + flags.toString(16) + this._separator;
462
- }
463
- get _separator() { return "-"; }
464
- computeId(depth, i, j, k, mult) {
465
- return this._prefix + this.join(depth, i, j, k, mult);
466
- }
467
- }
468
- /** @internal */
469
- function bisectTileRange3d(range, takeUpper) {
470
- const diag = range.diagonal();
471
- const pt = takeUpper ? range.high : range.low;
472
- if (diag.x > diag.y && diag.x > diag.z)
473
- pt.x = (range.low.x + range.high.x) / 2.0;
474
- else if (diag.y > diag.z)
475
- pt.y = (range.low.y + range.high.y) / 2.0;
476
- else
477
- pt.z = (range.low.z + range.high.z) / 2.0;
478
- }
479
- exports.bisectTileRange3d = bisectTileRange3d;
480
- /** @internal */
481
- function bisectTileRange2d(range, takeUpper) {
482
- const diag = range.diagonal();
483
- const pt = takeUpper ? range.high : range.low;
484
- if (diag.x > diag.y)
485
- pt.x = (range.low.x + range.high.x) / 2.0;
486
- else
487
- pt.y = (range.low.y + range.high.y) / 2.0;
488
- }
489
- exports.bisectTileRange2d = bisectTileRange2d;
490
- /** Given a description of a tile, compute the ranges which would result from sub-dividing its range into 4 or 8 sub-volumes.
491
- * @internal
492
- */
493
- function computeChildTileRanges(tile, root) {
494
- const emptyMask = tile.emptySubRangeMask;
495
- const is2d = root.is2d;
496
- const bisectRange = is2d ? bisectTileRange2d : bisectTileRange3d;
497
- const ranges = [];
498
- for (let i = 0; i < 2; i++) {
499
- for (let j = 0; j < 2; j++) {
500
- for (let k = 0; k < (is2d ? 1 : 2); k++) {
501
- const emptyBit = 1 << (i + j * 2 + k * 4);
502
- const isEmpty = 0 !== (emptyMask & emptyBit);
503
- const range = tile.range.clone();
504
- bisectRange(range, 0 === i);
505
- bisectRange(range, 0 === j);
506
- if (!is2d)
507
- bisectRange(range, 0 === k);
508
- ranges.push({ range, isEmpty });
509
- }
510
- }
511
- }
512
- return ranges;
513
- }
514
- exports.computeChildTileRanges = computeChildTileRanges;
515
- /** Given a description of the parent tile, obtain the properties of its child tiles, and the number of empty children.
516
- * @internal
517
- */
518
- function computeChildTileProps(parent, idProvider, root) {
519
- let numEmpty = 0;
520
- const children = [];
521
- // Leaf nodes have no children
522
- if (parent.isLeaf)
523
- return { children, numEmpty };
524
- // One child, same volume as parent, but higher-resolution.
525
- if (undefined !== parent.sizeMultiplier) {
526
- const sizeMultiplier = parent.sizeMultiplier * 2;
527
- const contentId = idProvider.idFromParentAndMultiplier(parent.contentId, sizeMultiplier);
528
- children.push({
529
- contentId,
530
- range: parent.range,
531
- contentRange: parent.contentRange,
532
- sizeMultiplier,
533
- isLeaf: false,
534
- maximumSize: root.tileScreenSize,
535
- });
536
- return { children, numEmpty };
537
- }
538
- // Sub-divide parent's range into 4 (for 2d trees) or 8 (for 3d trees) child tiles.
539
- const parentSpec = idProvider.specFromId(parent.contentId);
540
- const childSpec = { ...parentSpec };
541
- childSpec.depth = parentSpec.depth + 1;
542
- // This mask is a bitfield in which an 'on' bit indicates sub-volume containing no geometry.
543
- // Don't bother creating children or requesting content for such empty volumes.
544
- const emptyMask = parent.emptySubRangeMask;
545
- // Spatial tree range == project extents; content range == model range.
546
- // Trivially reject children whose ranges are entirely outside model range.
547
- let treeContentRange = root.contentRange;
548
- if (undefined !== treeContentRange && treeContentRange.containsRange(parent.range)) {
549
- // Parent is wholly within model range - don't bother testing child ranges against it.
550
- treeContentRange = undefined;
551
- }
552
- const is2d = root.is2d;
553
- const bisectRange = is2d ? bisectTileRange2d : bisectTileRange3d;
554
- for (let i = 0; i < 2; i++) {
555
- for (let j = 0; j < 2; j++) {
556
- for (let k = 0; k < (is2d ? 1 : 2); k++) {
557
- const emptyBit = 1 << (i + j * 2 + k * 4);
558
- if (0 !== (emptyMask & emptyBit)) {
559
- // volume is known to contain no geometry.
560
- ++numEmpty;
561
- continue;
562
- }
563
- const range = parent.range.clone();
564
- bisectRange(range, 0 === i);
565
- bisectRange(range, 0 === j);
566
- if (!is2d)
567
- bisectRange(range, 0 === k);
568
- if (undefined !== treeContentRange && !range.intersectsRange(treeContentRange)) {
569
- // volume is within project extents but entirely outside model range
570
- ++numEmpty;
571
- continue;
572
- }
573
- childSpec.i = parentSpec.i * 2 + i;
574
- childSpec.j = parentSpec.j * 2 + j;
575
- childSpec.k = parentSpec.k * 2 + k;
576
- const childId = idProvider.idFromSpec(childSpec);
577
- children.push({ contentId: childId, range, maximumSize: root.tileScreenSize });
578
- }
579
- }
580
- }
581
- return { children, numEmpty };
582
- }
583
- exports.computeChildTileProps = computeChildTileProps;
584
- /** Deserializes tile content metadata.
585
- * @throws [[TileReadError]]
586
- * @internal
587
- */
588
- function readTileContentDescription(stream, sizeMultiplier, is2d, options, isVolumeClassifier) {
589
- stream.reset();
590
- const header = new IModelTileIO_1.ImdlHeader(stream);
591
- if (!header.isValid)
592
- throw new TileIO_1.TileReadError(TileIO_1.TileReadStatus.InvalidHeader);
593
- else if (!header.isReadableVersion)
594
- throw new TileIO_1.TileReadError(TileIO_1.TileReadStatus.NewerMajorVersion);
595
- // Skip the feature table.
596
- const featureTableStartPos = stream.curPos;
597
- const ftHeader = IModelTileIO_1.FeatureTableHeader.readFrom(stream);
598
- if (undefined === ftHeader)
599
- throw new TileIO_1.TileReadError(TileIO_1.TileReadStatus.InvalidFeatureTable);
600
- stream.curPos = featureTableStartPos + ftHeader.length;
601
- // Determine subdivision based on header data.
602
- const completeTile = 0 === (header.flags & IModelTileIO_1.ImdlFlags.Incomplete);
603
- const emptyTile = completeTile && 0 === header.numElementsIncluded && 0 === header.numElementsExcluded;
604
- let isLeaf = (emptyTile || isVolumeClassifier); // Current classifier algorithm supports only a single tile.
605
- if (!isLeaf) {
606
- // Non-spatial (2d) models are of arbitrary scale and contain geometry like line work and especially text which
607
- // can be adversely affected by quantization issues when zooming in closely.
608
- const maxLeafTolerance = 1.0;
609
- // Must sub-divide if tile explicitly specifies...
610
- let canSkipSubdivision = 0 === (header.flags & IModelTileIO_1.ImdlFlags.DisallowMagnification);
611
- // ...or in 2d, or if app explicitly disabled magnification, or tolerance large enough to risk quantization error...
612
- canSkipSubdivision = canSkipSubdivision && !is2d && !options.disableMagnification && header.tolerance <= maxLeafTolerance;
613
- // ...or app specifies incomplete tiles must always be sub-divided.
614
- canSkipSubdivision = canSkipSubdivision && (completeTile || !options.alwaysSubdivideIncompleteTiles);
615
- if (canSkipSubdivision) {
616
- const minElementsPerTile = 100;
617
- if (completeTile && 0 === header.numElementsExcluded && header.numElementsIncluded <= minElementsPerTile) {
618
- const containsCurves = 0 !== (header.flags & IModelTileIO_1.ImdlFlags.ContainsCurves);
619
- if (!containsCurves)
620
- isLeaf = true;
621
- else if (undefined === sizeMultiplier)
622
- sizeMultiplier = 1.0;
623
- }
624
- else if (undefined === sizeMultiplier && header.numElementsIncluded + header.numElementsExcluded <= minElementsPerTile) {
625
- sizeMultiplier = 1.0;
626
- }
627
- }
628
- }
629
- return {
630
- featureTableStartPos,
631
- contentRange: header.contentRange,
632
- isLeaf,
633
- sizeMultiplier,
634
- emptySubRangeMask: header.emptySubRanges,
635
- };
636
- }
637
- exports.readTileContentDescription = readTileContentDescription;
638
- const scratchRangeDiagonal = new core_geometry_1.Vector3d();
639
- /** Compute the chord tolerance for the specified tile of the given range with the specified size multiplier.
640
- * @internal
641
- */
642
- function computeTileChordTolerance(tile, is3d, tileScreenSize) {
643
- var _a;
644
- if (tile.range.isNull)
645
- return 0;
646
- const diagonal = tile.range.diagonal(scratchRangeDiagonal);
647
- const diagDist = is3d ? diagonal.magnitude() : diagonal.magnitudeXY();
648
- const mult = Math.max((_a = tile.sizeMultiplier) !== null && _a !== void 0 ? _a : 1, 1);
649
- return diagDist / (tileScreenSize * Constants.minToleranceRatioMultiplier * Math.max(1, mult));
650
- }
651
- exports.computeTileChordTolerance = computeTileChordTolerance;
652
- /** Deserializes tile metadata.
653
- * @internal
654
- */
655
- class TileMetadataReader {
656
- constructor(type, is2d, options) {
657
- this._is2d = is2d;
658
- this._isVolumeClassifier = FeatureTable_1.BatchType.VolumeClassifier === type;
659
- this._options = options;
660
- }
661
- /** Produce metadata from the specified tile content.
662
- * @throws [[TileReadError]]
663
- */
664
- read(stream, props) {
665
- const content = readTileContentDescription(stream, props.sizeMultiplier, this._is2d, this._options, this._isVolumeClassifier);
666
- return {
667
- contentRange: content.contentRange,
668
- isLeaf: content.isLeaf,
669
- sizeMultiplier: content.sizeMultiplier,
670
- emptySubRangeMask: content.emptySubRangeMask,
671
- range: core_geometry_1.Range3d.fromJSON(props.range),
672
- contentId: props.contentId,
673
- };
674
- }
675
- }
676
- exports.TileMetadataReader = TileMetadataReader;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Tile
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.TileMetadataReader = exports.computeTileChordTolerance = exports.readTileContentDescription = exports.computeChildTileProps = exports.computeChildTileRanges = exports.bisectTileRange2d = exports.bisectTileRange3d = exports.ContentIdProvider = exports.ContentFlags = exports.compareIModelTileTreeIds = exports.iModelTileTreeIdToString = exports.TreeFlags = exports.getMaximumMajorTileFormatVersion = exports.defaultTileOptions = exports.parseTileTreeIdAndContentId = exports.TileOptions = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const core_geometry_1 = require("@itwin/core-geometry");
13
+ const FeatureTable_1 = require("../FeatureTable");
14
+ const IModelTileIO_1 = require("./IModelTileIO");
15
+ const TileIO_1 = require("./TileIO");
16
+ // cspell:ignore imdl mult bitfield
17
+ // NB: These constants correspond to those defined in Tile.cpp.
18
+ var Constants;
19
+ (function (Constants) {
20
+ Constants.minToleranceRatioMultiplier = 2;
21
+ })(Constants || (Constants = {}));
22
+ /** @internal */
23
+ var TileOptions;
24
+ (function (TileOptions) {
25
+ /** Given the string representation of an [[IModelTileTreeId]] and the contentId of a [Tile]($frontend) belonging to that [TileTree]($frontend),
26
+ * compute the [[TileOptions]] that were used to generate the Ids.
27
+ * @throws Error if `treeId` or `contentId` are not valid Ids.
28
+ * @note `treeId` and `contentId` are assumed to be valid Ids. They are not fully parsed and validated - only the information required by this function is extracted.
29
+ * @note `treeId` and `contentId` are assumed to have been produced for version 4 or later of the iMdl tile format.
30
+ */
31
+ function fromTreeIdAndContentId(treeId, contentId) {
32
+ const tree = treeFlagsAndFormatVersionFromId(treeId);
33
+ const contentFlags = contentFlagsFromId(contentId);
34
+ const edgeOptions = edgeOptionsFromTreeId(treeId);
35
+ return {
36
+ maximumMajorTileFormatVersion: tree.version,
37
+ enableInstancing: 0 !== (contentFlags & ContentFlags.AllowInstancing),
38
+ enableImprovedElision: 0 !== (contentFlags & ContentFlags.ImprovedElision),
39
+ ignoreAreaPatterns: 0 !== (contentFlags & ContentFlags.IgnoreAreaPatterns),
40
+ enableExternalTextures: 0 !== (contentFlags & ContentFlags.ExternalTextures),
41
+ useProjectExtents: 0 !== (tree.flags & TreeFlags.UseProjectExtents),
42
+ optimizeBRepProcessing: 0 !== (tree.flags & TreeFlags.OptimizeBRepProcessing),
43
+ useLargerTiles: 0 !== (tree.flags & TreeFlags.UseLargerTiles),
44
+ disableMagnification: false,
45
+ alwaysSubdivideIncompleteTiles: false,
46
+ enableIndexedEdges: edgeOptions && edgeOptions.indexed,
47
+ generateAllPolyfaceEdges: edgeOptions && edgeOptions.smooth,
48
+ };
49
+ }
50
+ TileOptions.fromTreeIdAndContentId = fromTreeIdAndContentId;
51
+ })(TileOptions = exports.TileOptions || (exports.TileOptions = {}));
52
+ class Parser {
53
+ constructor(input) {
54
+ this.curPos = 0;
55
+ this.input = input;
56
+ }
57
+ parse(contentId) {
58
+ this.require(this.input.length > 0);
59
+ // Skip version and flags, they're handled by TileOptions.fromTreeIdAndContentId
60
+ while (this.curPos < this.input.length && this.cur() !== "-")
61
+ this.advance();
62
+ this.eat("-");
63
+ this.require(this.curPos < this.input.length);
64
+ const classifier = this.cur() === "C" ? this.parseClassifier() : undefined;
65
+ const animationId = this.parseAnimation();
66
+ const primary = classifier ? undefined : this.parsePrimary();
67
+ this.require((undefined === classifier) !== (undefined === primary));
68
+ const modelId = this.input.substr(this.curPos);
69
+ this.require(core_bentley_1.Id64.isId64(modelId));
70
+ const { flags: treeFlags } = treeFlagsAndFormatVersionFromId(this.input);
71
+ const options = TileOptions.fromTreeIdAndContentId(this.input, contentId);
72
+ let parsedContentId;
73
+ try {
74
+ parsedContentId = ContentIdProvider.create(true, options).specFromId(contentId);
75
+ }
76
+ catch (e) {
77
+ this.reject("Invalid content Id");
78
+ }
79
+ if (Object.keys(parsedContentId).some((key) => parsedContentId.hasOwnProperty(key) && typeof parsedContentId[key] === "number" && !Number.isFinite(parsedContentId[key])))
80
+ throw new Error("Invalid content Id");
81
+ let treeId;
82
+ if (classifier) {
83
+ treeId = { ...classifier, animationId };
84
+ }
85
+ else {
86
+ (0, core_bentley_1.assert)(undefined !== primary);
87
+ const enforceDisplayPriority = (treeFlags & TreeFlags.EnforceDisplayPriority) !== 0 ? true : undefined;
88
+ treeId = { ...primary, animationId, type: FeatureTable_1.BatchType.Primary, enforceDisplayPriority };
89
+ }
90
+ return {
91
+ contentId: parsedContentId,
92
+ modelId,
93
+ options,
94
+ treeId,
95
+ };
96
+ }
97
+ cur() {
98
+ this.require(this.curPos < this.input.length);
99
+ return this.input[this.curPos];
100
+ }
101
+ advance() {
102
+ this.require(this.curPos < this.input.length);
103
+ ++this.curPos;
104
+ }
105
+ eat(expectedChar) {
106
+ this.require(this.cur() === expectedChar);
107
+ this.advance();
108
+ }
109
+ reject(message = "Invalid tree Id") {
110
+ throw new Error(message);
111
+ }
112
+ require(condition, message = "Invalid tree Id") {
113
+ if (!condition)
114
+ this.reject(message);
115
+ }
116
+ parseClassifier() {
117
+ this.eat("C");
118
+ let type = FeatureTable_1.BatchType.VolumeClassifier;
119
+ if (this.cur() === "P") {
120
+ type = FeatureTable_1.BatchType.PlanarClassifier;
121
+ this.advance();
122
+ }
123
+ this.eat(":");
124
+ // C: or CP: is always folowed by expansion then an underscore.
125
+ let expansionStr = "";
126
+ while (this.curPos < this.input.length && (this.cur() >= "0" && this.cur() <= "9" || this.cur() === ".")) {
127
+ expansionStr += this.cur();
128
+ this.advance();
129
+ }
130
+ this.eat("_");
131
+ const expansion = Number.parseFloat(expansionStr);
132
+ this.require(!Number.isNaN(expansion));
133
+ return { type, expansion };
134
+ }
135
+ parseAnimation() {
136
+ if (this.cur() !== "A")
137
+ return undefined;
138
+ this.eat("A");
139
+ this.eat(":");
140
+ const termPos = this.input.indexOf("_", this.curPos);
141
+ this.require(termPos > this.curPos);
142
+ const animationId = this.input.substring(this.curPos, termPos);
143
+ this.require(core_bentley_1.Id64.isId64(animationId));
144
+ this.curPos = termPos + 1; // Skip "_"
145
+ return animationId;
146
+ }
147
+ parsePrimary() {
148
+ const edges = this.parseEdges();
149
+ const sectionCut = this.parseSectionCut();
150
+ return { edges, sectionCut };
151
+ }
152
+ parseEdges() {
153
+ if ("E" !== this.cur())
154
+ return { indexed: false, smooth: false };
155
+ this.eat("E");
156
+ this.eat(":");
157
+ const typeStr = this.cur();
158
+ this.eat(typeStr);
159
+ this.eat("_");
160
+ switch (typeStr) {
161
+ case "0": return false;
162
+ case "2": return { indexed: true, smooth: false };
163
+ case "3": return { indexed: false, smooth: true };
164
+ case "4": return { indexed: true, smooth: true };
165
+ default: this.reject();
166
+ }
167
+ }
168
+ parseSectionCut() {
169
+ if ("S" !== this.cur())
170
+ return undefined;
171
+ this.eat("S");
172
+ const termPos = this.input.indexOf("s", this.curPos);
173
+ this.require(termPos > this.curPos);
174
+ const sectionCut = this.input.substring(this.curPos, termPos);
175
+ this.curPos = termPos + 1; // Skip "_";
176
+ return sectionCut;
177
+ }
178
+ }
179
+ /** @internal */
180
+ function parseTileTreeIdAndContentId(treeId, contentId) {
181
+ const parser = new Parser(treeId);
182
+ return parser.parse(contentId);
183
+ }
184
+ exports.parseTileTreeIdAndContentId = parseTileTreeIdAndContentId;
185
+ /** @internal */
186
+ exports.defaultTileOptions = Object.freeze({
187
+ maximumMajorTileFormatVersion: IModelTileIO_1.CurrentImdlVersion.Major,
188
+ enableInstancing: true,
189
+ enableImprovedElision: true,
190
+ ignoreAreaPatterns: false,
191
+ enableExternalTextures: true,
192
+ useProjectExtents: true,
193
+ optimizeBRepProcessing: true,
194
+ useLargerTiles: true,
195
+ disableMagnification: false,
196
+ alwaysSubdivideIncompleteTiles: false,
197
+ enableIndexedEdges: true,
198
+ generateAllPolyfaceEdges: true,
199
+ });
200
+ function contentFlagsFromId(id) {
201
+ if (0 === id.length || "-" !== id[0])
202
+ throw new Error("Invalid content Id");
203
+ // V4: -flags-d-i-j-k-m - version in tree Id
204
+ const end = id.indexOf("-", 1);
205
+ if (-1 !== end) {
206
+ const flags = Number.parseInt(id.substring(1, end), 16);
207
+ if (!Number.isNaN(flags))
208
+ return flags;
209
+ }
210
+ throw new Error("Invalid content Id");
211
+ }
212
+ function treeFlagsAndFormatVersionFromId(id) {
213
+ if (0 === id.length)
214
+ throw new Error("Invalid tree Id");
215
+ let parts = id.split("-");
216
+ if (parts.length > 0) {
217
+ parts = parts[0].split("_");
218
+ if (parts.length === 2) {
219
+ const version = Number.parseInt(parts[0], 16);
220
+ const flags = Number.parseInt(parts[1], 16);
221
+ if (!Number.isNaN(version) || !Number.isNaN(flags))
222
+ return { version, flags };
223
+ }
224
+ }
225
+ throw new Error("Invalid tree Id");
226
+ }
227
+ function edgeOptionsFromTreeId(id) {
228
+ const pos = id.indexOf("E:");
229
+ if (pos <= 0)
230
+ return { indexed: false, smooth: false };
231
+ switch (id[pos + 2]) {
232
+ case "0": return { indexed: exports.defaultTileOptions.enableIndexedEdges, smooth: exports.defaultTileOptions.generateAllPolyfaceEdges };
233
+ case "2": return { indexed: true, smooth: false };
234
+ case "3": return { indexed: false, smooth: true };
235
+ case "4": return { indexed: true, smooth: true };
236
+ }
237
+ throw new Error("Invalid tree Id");
238
+ }
239
+ /** @internal */
240
+ function getMaximumMajorTileFormatVersion(maxMajorVersion, formatVersion) {
241
+ // The `formatVersion` input is from the backend, telling us precisely the maximum major+minor version it can produce.
242
+ // Ensure we do not request tiles of a newer major version than backend can supply or it can read; and also limit major version
243
+ // to that optionally configured by the app.
244
+ let majorVersion = maxMajorVersion;
245
+ if (undefined !== formatVersion)
246
+ majorVersion = Math.min((formatVersion >>> 0x10), majorVersion);
247
+ // Version number less than 1 is invalid - ignore
248
+ majorVersion = Math.max(majorVersion, 1);
249
+ // Version number greater than current known version ignored
250
+ majorVersion = Math.min(majorVersion, IModelTileIO_1.CurrentImdlVersion.Major);
251
+ // Version numbers are integers - round down
252
+ return Math.max(Math.floor(majorVersion), 1);
253
+ }
254
+ exports.getMaximumMajorTileFormatVersion = getMaximumMajorTileFormatVersion;
255
+ /** Flags controlling the structure of a tile tree. The flags are part of the tile tree's Id.
256
+ * @alpha
257
+ */
258
+ var TreeFlags;
259
+ (function (TreeFlags) {
260
+ TreeFlags[TreeFlags["None"] = 0] = "None";
261
+ TreeFlags[TreeFlags["UseProjectExtents"] = 1] = "UseProjectExtents";
262
+ TreeFlags[TreeFlags["EnforceDisplayPriority"] = 2] = "EnforceDisplayPriority";
263
+ TreeFlags[TreeFlags["OptimizeBRepProcessing"] = 4] = "OptimizeBRepProcessing";
264
+ TreeFlags[TreeFlags["UseLargerTiles"] = 8] = "UseLargerTiles";
265
+ })(TreeFlags = exports.TreeFlags || (exports.TreeFlags = {}));
266
+ function compareEdgeOptions(a, b) {
267
+ if (typeof a !== typeof b)
268
+ return a ? 1 : -1;
269
+ if (typeof a === "boolean") {
270
+ (0, core_bentley_1.assert)(typeof b === "boolean");
271
+ return (0, core_bentley_1.compareBooleans)(a, b);
272
+ }
273
+ (0, core_bentley_1.assert)(typeof b === "object");
274
+ let cmp = (0, core_bentley_1.compareBooleans)(a.indexed, b.indexed);
275
+ if (0 === cmp)
276
+ cmp = (0, core_bentley_1.compareBooleans)(a.smooth, b.smooth);
277
+ return cmp;
278
+ }
279
+ function animationIdToString(animationId) {
280
+ return `A:${animationId}_`;
281
+ }
282
+ /** Convert a tile tree Id to its string representation.
283
+ * @internal
284
+ */
285
+ function iModelTileTreeIdToString(modelId, treeId, options) {
286
+ let idStr = "";
287
+ let flags = options.useProjectExtents ? TreeFlags.UseProjectExtents : TreeFlags.None;
288
+ if (options.optimizeBRepProcessing)
289
+ flags |= TreeFlags.OptimizeBRepProcessing;
290
+ if (options.useLargerTiles)
291
+ flags |= TreeFlags.UseLargerTiles;
292
+ if (FeatureTable_1.BatchType.Primary === treeId.type) {
293
+ if (undefined !== treeId.animationId)
294
+ idStr = `${idStr}${animationIdToString(treeId.animationId)}`;
295
+ else if (treeId.enforceDisplayPriority) // animation and priority are currently mutually exclusive
296
+ flags |= TreeFlags.EnforceDisplayPriority;
297
+ let edges;
298
+ if (!treeId.edges) {
299
+ edges = "E:0_";
300
+ }
301
+ else {
302
+ if (!treeId.edges.smooth)
303
+ edges = treeId.edges.indexed ? "E:2_" : "";
304
+ else
305
+ edges = treeId.edges.indexed ? "E:4_" : "E:3_";
306
+ }
307
+ const sectionCut = treeId.sectionCut ? `S${treeId.sectionCut}s` : "";
308
+ idStr = `${idStr}${edges}${sectionCut}`;
309
+ }
310
+ else {
311
+ const typeStr = FeatureTable_1.BatchType.PlanarClassifier === treeId.type ? "CP" : "C";
312
+ idStr = `${idStr + typeStr}:${treeId.expansion.toFixed(6)}_`;
313
+ if (FeatureTable_1.BatchType.VolumeClassifier === treeId.type)
314
+ flags |= TreeFlags.UseProjectExtents;
315
+ if (undefined !== treeId.animationId)
316
+ idStr = `${idStr}${animationIdToString(treeId.animationId)}`;
317
+ }
318
+ const version = getMaximumMajorTileFormatVersion(options.maximumMajorTileFormatVersion);
319
+ if (version >= 4) {
320
+ const prefix = `${version.toString(16)}_${flags.toString(16)}-`;
321
+ idStr = prefix + idStr;
322
+ }
323
+ return idStr + modelId;
324
+ }
325
+ exports.iModelTileTreeIdToString = iModelTileTreeIdToString;
326
+ /** Ordinal comparison of two tile tree Ids, e.g., for use in sorted containers.
327
+ * @internal
328
+ */
329
+ function compareIModelTileTreeIds(lhs, rhs) {
330
+ let cmp = (0, core_bentley_1.compareNumbers)(lhs.type, rhs.type);
331
+ if (0 === cmp)
332
+ cmp = (0, core_bentley_1.compareStringsOrUndefined)(lhs.animationId, rhs.animationId);
333
+ if (0 !== cmp)
334
+ return cmp;
335
+ // NB: The redundant checks on BatchType below are to satisfy compiler.
336
+ (0, core_bentley_1.assert)(lhs.type === rhs.type);
337
+ if (FeatureTable_1.BatchType.Primary === lhs.type && FeatureTable_1.BatchType.Primary === rhs.type) {
338
+ cmp = compareEdgeOptions(lhs.edges, rhs.edges);
339
+ if (0 === cmp) {
340
+ cmp = (0, core_bentley_1.compareBooleansOrUndefined)(lhs.enforceDisplayPriority, rhs.enforceDisplayPriority);
341
+ if (0 === cmp)
342
+ cmp = (0, core_bentley_1.compareStringsOrUndefined)(lhs.sectionCut, rhs.sectionCut);
343
+ }
344
+ }
345
+ else if (FeatureTable_1.BatchType.Primary !== lhs.type && FeatureTable_1.BatchType.Primary !== rhs.type) {
346
+ cmp = (0, core_bentley_1.compareNumbers)(lhs.expansion, rhs.expansion);
347
+ }
348
+ return cmp;
349
+ }
350
+ exports.compareIModelTileTreeIds = compareIModelTileTreeIds;
351
+ /** Flags controlling how tile content is produced. The flags are part of the ContentId.
352
+ * @alpha
353
+ */
354
+ var ContentFlags;
355
+ (function (ContentFlags) {
356
+ ContentFlags[ContentFlags["None"] = 0] = "None";
357
+ ContentFlags[ContentFlags["AllowInstancing"] = 1] = "AllowInstancing";
358
+ ContentFlags[ContentFlags["ImprovedElision"] = 2] = "ImprovedElision";
359
+ ContentFlags[ContentFlags["IgnoreAreaPatterns"] = 4] = "IgnoreAreaPatterns";
360
+ ContentFlags[ContentFlags["ExternalTextures"] = 8] = "ExternalTextures";
361
+ })(ContentFlags = exports.ContentFlags || (exports.ContentFlags = {}));
362
+ /** Contains logic for working with tile content Ids according to a specific content Id scheme. Which scheme is used depends on
363
+ * the major version of the tile format.
364
+ * @internal
365
+ */
366
+ class ContentIdProvider {
367
+ constructor(formatVersion, contentFlags) {
368
+ this.majorFormatVersion = formatVersion;
369
+ this.contentFlags = contentFlags;
370
+ }
371
+ get rootContentId() {
372
+ return this.computeId(0, 0, 0, 0, 1);
373
+ }
374
+ idFromParentAndMultiplier(parentId, multiplier) {
375
+ const lastSepPos = parentId.lastIndexOf(this._separator);
376
+ (0, core_bentley_1.assert)(-1 !== lastSepPos);
377
+ return parentId.substring(0, lastSepPos + 1) + multiplier.toString(16);
378
+ }
379
+ specFromId(id) {
380
+ const parts = id.split(this._separator);
381
+ const len = parts.length;
382
+ (0, core_bentley_1.assert)(len >= 5);
383
+ return {
384
+ depth: parseInt(parts[len - 5], 16),
385
+ i: parseInt(parts[len - 4], 16),
386
+ j: parseInt(parts[len - 3], 16),
387
+ k: parseInt(parts[len - 2], 16),
388
+ multiplier: parseInt(parts[len - 1], 16),
389
+ };
390
+ }
391
+ idFromSpec(spec) {
392
+ return this.computeId(spec.depth, spec.i, spec.j, spec.k, spec.multiplier);
393
+ }
394
+ join(depth, i, j, k, mult) {
395
+ const sep = this._separator;
396
+ return depth.toString(16) + sep + i.toString(16) + sep + j.toString(16) + sep + k.toString(16) + sep + mult.toString(16);
397
+ }
398
+ /** formatVersion is the maximum major version supported by the back-end supplying the tile tree.
399
+ * Must ensure front-end does not request tiles of a format the back-end cannot supply, and back-end does
400
+ * not supply tiles of a format the front-end doesn't recognize.
401
+ */
402
+ static create(allowInstancing, options, formatVersion) {
403
+ const majorVersion = getMaximumMajorTileFormatVersion(options.maximumMajorTileFormatVersion, formatVersion);
404
+ (0, core_bentley_1.assert)(majorVersion > 0);
405
+ (0, core_bentley_1.assert)(Math.floor(majorVersion) === majorVersion);
406
+ switch (majorVersion) {
407
+ case 0:
408
+ case 1:
409
+ return new ContentIdV1Provider(majorVersion);
410
+ case 2:
411
+ case 3:
412
+ return new ContentIdV2Provider(majorVersion, allowInstancing, options);
413
+ default:
414
+ return new ContentIdV4Provider(allowInstancing, options, majorVersion);
415
+ }
416
+ }
417
+ }
418
+ exports.ContentIdProvider = ContentIdProvider;
419
+ /** The original (major version 1) tile format used a content Id scheme of the format
420
+ * `depth/i/j/k/multiplier`.
421
+ * @internal
422
+ */
423
+ class ContentIdV1Provider extends ContentIdProvider {
424
+ constructor(majorVersion) {
425
+ super(majorVersion, ContentFlags.None);
426
+ }
427
+ get _separator() { return "/"; }
428
+ computeId(depth, i, j, k, mult) {
429
+ return this.join(depth, i, j, k, mult);
430
+ }
431
+ }
432
+ /** Tile formats 2 and 3 use a content Id scheme encoding styling flags and the major format version
433
+ * into the content Id, of the format `_majorVersion_flags_depth_i_j_k_multiplier`.
434
+ * @internal
435
+ */
436
+ class ContentIdV2Provider extends ContentIdProvider {
437
+ constructor(majorVersion, allowInstancing, options) {
438
+ const flags = (allowInstancing && options.enableInstancing) ? ContentFlags.AllowInstancing : ContentFlags.None;
439
+ super(majorVersion, flags);
440
+ this._prefix = this._separator + majorVersion.toString(16) + this._separator + flags.toString(16) + this._separator;
441
+ }
442
+ get _separator() { return "_"; }
443
+ computeId(depth, i, j, k, mult) {
444
+ return this._prefix + this.join(depth, i, j, k, mult);
445
+ }
446
+ }
447
+ /** Tile formats 4+ encode styling flags but not major format version. (The version is specified by the tile tree's Id).
448
+ * Format: `-flags-depth-i-j-k-multiplier`.
449
+ * @internal
450
+ */
451
+ class ContentIdV4Provider extends ContentIdProvider {
452
+ constructor(allowInstancing, options, majorVersion) {
453
+ let flags = (allowInstancing && options.enableInstancing) ? ContentFlags.AllowInstancing : ContentFlags.None;
454
+ if (options.enableImprovedElision)
455
+ flags = flags | ContentFlags.ImprovedElision;
456
+ if (options.ignoreAreaPatterns)
457
+ flags = flags | ContentFlags.IgnoreAreaPatterns;
458
+ if (options.enableExternalTextures)
459
+ flags = flags | ContentFlags.ExternalTextures;
460
+ super(majorVersion, flags);
461
+ this._prefix = this._separator + flags.toString(16) + this._separator;
462
+ }
463
+ get _separator() { return "-"; }
464
+ computeId(depth, i, j, k, mult) {
465
+ return this._prefix + this.join(depth, i, j, k, mult);
466
+ }
467
+ }
468
+ /** @internal */
469
+ function bisectTileRange3d(range, takeUpper) {
470
+ const diag = range.diagonal();
471
+ const pt = takeUpper ? range.high : range.low;
472
+ if (diag.x > diag.y && diag.x > diag.z)
473
+ pt.x = (range.low.x + range.high.x) / 2.0;
474
+ else if (diag.y > diag.z)
475
+ pt.y = (range.low.y + range.high.y) / 2.0;
476
+ else
477
+ pt.z = (range.low.z + range.high.z) / 2.0;
478
+ }
479
+ exports.bisectTileRange3d = bisectTileRange3d;
480
+ /** @internal */
481
+ function bisectTileRange2d(range, takeUpper) {
482
+ const diag = range.diagonal();
483
+ const pt = takeUpper ? range.high : range.low;
484
+ if (diag.x > diag.y)
485
+ pt.x = (range.low.x + range.high.x) / 2.0;
486
+ else
487
+ pt.y = (range.low.y + range.high.y) / 2.0;
488
+ }
489
+ exports.bisectTileRange2d = bisectTileRange2d;
490
+ /** Given a description of a tile, compute the ranges which would result from sub-dividing its range into 4 or 8 sub-volumes.
491
+ * @internal
492
+ */
493
+ function computeChildTileRanges(tile, root) {
494
+ const emptyMask = tile.emptySubRangeMask;
495
+ const is2d = root.is2d;
496
+ const bisectRange = is2d ? bisectTileRange2d : bisectTileRange3d;
497
+ const ranges = [];
498
+ for (let i = 0; i < 2; i++) {
499
+ for (let j = 0; j < 2; j++) {
500
+ for (let k = 0; k < (is2d ? 1 : 2); k++) {
501
+ const emptyBit = 1 << (i + j * 2 + k * 4);
502
+ const isEmpty = 0 !== (emptyMask & emptyBit);
503
+ const range = tile.range.clone();
504
+ bisectRange(range, 0 === i);
505
+ bisectRange(range, 0 === j);
506
+ if (!is2d)
507
+ bisectRange(range, 0 === k);
508
+ ranges.push({ range, isEmpty });
509
+ }
510
+ }
511
+ }
512
+ return ranges;
513
+ }
514
+ exports.computeChildTileRanges = computeChildTileRanges;
515
+ /** Given a description of the parent tile, obtain the properties of its child tiles, and the number of empty children.
516
+ * @internal
517
+ */
518
+ function computeChildTileProps(parent, idProvider, root) {
519
+ let numEmpty = 0;
520
+ const children = [];
521
+ // Leaf nodes have no children
522
+ if (parent.isLeaf)
523
+ return { children, numEmpty };
524
+ // One child, same volume as parent, but higher-resolution.
525
+ if (undefined !== parent.sizeMultiplier) {
526
+ const sizeMultiplier = parent.sizeMultiplier * 2;
527
+ const contentId = idProvider.idFromParentAndMultiplier(parent.contentId, sizeMultiplier);
528
+ children.push({
529
+ contentId,
530
+ range: parent.range,
531
+ contentRange: parent.contentRange,
532
+ sizeMultiplier,
533
+ isLeaf: false,
534
+ maximumSize: root.tileScreenSize,
535
+ });
536
+ return { children, numEmpty };
537
+ }
538
+ // Sub-divide parent's range into 4 (for 2d trees) or 8 (for 3d trees) child tiles.
539
+ const parentSpec = idProvider.specFromId(parent.contentId);
540
+ const childSpec = { ...parentSpec };
541
+ childSpec.depth = parentSpec.depth + 1;
542
+ // This mask is a bitfield in which an 'on' bit indicates sub-volume containing no geometry.
543
+ // Don't bother creating children or requesting content for such empty volumes.
544
+ const emptyMask = parent.emptySubRangeMask;
545
+ // Spatial tree range == project extents; content range == model range.
546
+ // Trivially reject children whose ranges are entirely outside model range.
547
+ let treeContentRange = root.contentRange;
548
+ if (undefined !== treeContentRange && treeContentRange.containsRange(parent.range)) {
549
+ // Parent is wholly within model range - don't bother testing child ranges against it.
550
+ treeContentRange = undefined;
551
+ }
552
+ const is2d = root.is2d;
553
+ const bisectRange = is2d ? bisectTileRange2d : bisectTileRange3d;
554
+ for (let i = 0; i < 2; i++) {
555
+ for (let j = 0; j < 2; j++) {
556
+ for (let k = 0; k < (is2d ? 1 : 2); k++) {
557
+ const emptyBit = 1 << (i + j * 2 + k * 4);
558
+ if (0 !== (emptyMask & emptyBit)) {
559
+ // volume is known to contain no geometry.
560
+ ++numEmpty;
561
+ continue;
562
+ }
563
+ const range = parent.range.clone();
564
+ bisectRange(range, 0 === i);
565
+ bisectRange(range, 0 === j);
566
+ if (!is2d)
567
+ bisectRange(range, 0 === k);
568
+ if (undefined !== treeContentRange && !range.intersectsRange(treeContentRange)) {
569
+ // volume is within project extents but entirely outside model range
570
+ ++numEmpty;
571
+ continue;
572
+ }
573
+ childSpec.i = parentSpec.i * 2 + i;
574
+ childSpec.j = parentSpec.j * 2 + j;
575
+ childSpec.k = parentSpec.k * 2 + k;
576
+ const childId = idProvider.idFromSpec(childSpec);
577
+ children.push({ contentId: childId, range, maximumSize: root.tileScreenSize });
578
+ }
579
+ }
580
+ }
581
+ return { children, numEmpty };
582
+ }
583
+ exports.computeChildTileProps = computeChildTileProps;
584
+ /** Deserializes tile content metadata.
585
+ * @throws [[TileReadError]]
586
+ * @internal
587
+ */
588
+ function readTileContentDescription(stream, sizeMultiplier, is2d, options, isVolumeClassifier) {
589
+ stream.reset();
590
+ const header = new IModelTileIO_1.ImdlHeader(stream);
591
+ if (!header.isValid)
592
+ throw new TileIO_1.TileReadError(TileIO_1.TileReadStatus.InvalidHeader);
593
+ else if (!header.isReadableVersion)
594
+ throw new TileIO_1.TileReadError(TileIO_1.TileReadStatus.NewerMajorVersion);
595
+ // Skip the feature table.
596
+ const featureTableStartPos = stream.curPos;
597
+ const ftHeader = IModelTileIO_1.FeatureTableHeader.readFrom(stream);
598
+ if (undefined === ftHeader)
599
+ throw new TileIO_1.TileReadError(TileIO_1.TileReadStatus.InvalidFeatureTable);
600
+ stream.curPos = featureTableStartPos + ftHeader.length;
601
+ // Determine subdivision based on header data.
602
+ const completeTile = 0 === (header.flags & IModelTileIO_1.ImdlFlags.Incomplete);
603
+ const emptyTile = completeTile && 0 === header.numElementsIncluded && 0 === header.numElementsExcluded;
604
+ let isLeaf = (emptyTile || isVolumeClassifier); // Current classifier algorithm supports only a single tile.
605
+ if (!isLeaf) {
606
+ // Non-spatial (2d) models are of arbitrary scale and contain geometry like line work and especially text which
607
+ // can be adversely affected by quantization issues when zooming in closely.
608
+ const maxLeafTolerance = 1.0;
609
+ // Must sub-divide if tile explicitly specifies...
610
+ let canSkipSubdivision = 0 === (header.flags & IModelTileIO_1.ImdlFlags.DisallowMagnification);
611
+ // ...or in 2d, or if app explicitly disabled magnification, or tolerance large enough to risk quantization error...
612
+ canSkipSubdivision = canSkipSubdivision && !is2d && !options.disableMagnification && header.tolerance <= maxLeafTolerance;
613
+ // ...or app specifies incomplete tiles must always be sub-divided.
614
+ canSkipSubdivision = canSkipSubdivision && (completeTile || !options.alwaysSubdivideIncompleteTiles);
615
+ if (canSkipSubdivision) {
616
+ const minElementsPerTile = 100;
617
+ if (completeTile && 0 === header.numElementsExcluded && header.numElementsIncluded <= minElementsPerTile) {
618
+ const containsCurves = 0 !== (header.flags & IModelTileIO_1.ImdlFlags.ContainsCurves);
619
+ if (!containsCurves)
620
+ isLeaf = true;
621
+ else if (undefined === sizeMultiplier)
622
+ sizeMultiplier = 1.0;
623
+ }
624
+ else if (undefined === sizeMultiplier && header.numElementsIncluded + header.numElementsExcluded <= minElementsPerTile) {
625
+ sizeMultiplier = 1.0;
626
+ }
627
+ }
628
+ }
629
+ return {
630
+ featureTableStartPos,
631
+ contentRange: header.contentRange,
632
+ isLeaf,
633
+ sizeMultiplier,
634
+ emptySubRangeMask: header.emptySubRanges,
635
+ };
636
+ }
637
+ exports.readTileContentDescription = readTileContentDescription;
638
+ const scratchRangeDiagonal = new core_geometry_1.Vector3d();
639
+ /** Compute the chord tolerance for the specified tile of the given range with the specified size multiplier.
640
+ * @internal
641
+ */
642
+ function computeTileChordTolerance(tile, is3d, tileScreenSize) {
643
+ var _a;
644
+ if (tile.range.isNull)
645
+ return 0;
646
+ const diagonal = tile.range.diagonal(scratchRangeDiagonal);
647
+ const diagDist = is3d ? diagonal.magnitude() : diagonal.magnitudeXY();
648
+ const mult = Math.max((_a = tile.sizeMultiplier) !== null && _a !== void 0 ? _a : 1, 1);
649
+ return diagDist / (tileScreenSize * Constants.minToleranceRatioMultiplier * Math.max(1, mult));
650
+ }
651
+ exports.computeTileChordTolerance = computeTileChordTolerance;
652
+ /** Deserializes tile metadata.
653
+ * @internal
654
+ */
655
+ class TileMetadataReader {
656
+ constructor(type, is2d, options) {
657
+ this._is2d = is2d;
658
+ this._isVolumeClassifier = FeatureTable_1.BatchType.VolumeClassifier === type;
659
+ this._options = options;
660
+ }
661
+ /** Produce metadata from the specified tile content.
662
+ * @throws [[TileReadError]]
663
+ */
664
+ read(stream, props) {
665
+ const content = readTileContentDescription(stream, props.sizeMultiplier, this._is2d, this._options, this._isVolumeClassifier);
666
+ return {
667
+ contentRange: content.contentRange,
668
+ isLeaf: content.isLeaf,
669
+ sizeMultiplier: content.sizeMultiplier,
670
+ emptySubRangeMask: content.emptySubRangeMask,
671
+ range: core_geometry_1.Range3d.fromJSON(props.range),
672
+ contentId: props.contentId,
673
+ };
674
+ }
675
+ }
676
+ exports.TileMetadataReader = TileMetadataReader;
677
677
  //# sourceMappingURL=TileMetadata.js.map