@itwin/core-common 3.6.0-dev.60 → 3.6.0-dev.65

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 (992) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  4. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  5. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  6. package/lib/cjs/AnalysisStyle.js +165 -165
  7. package/lib/cjs/AnalysisStyle.js.map +1 -1
  8. package/lib/cjs/AuthorizationClient.d.ts +17 -17
  9. package/lib/cjs/AuthorizationClient.js +9 -9
  10. package/lib/cjs/AuthorizationClient.js.map +1 -1
  11. package/lib/cjs/BackendTypes.d.ts +12 -12
  12. package/lib/cjs/BackendTypes.js +9 -9
  13. package/lib/cjs/BackendTypes.js.map +1 -1
  14. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  15. package/lib/cjs/BackgroundMapProvider.js +68 -68
  16. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  17. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  18. package/lib/cjs/BackgroundMapSettings.js +156 -156
  19. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  20. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  21. package/lib/cjs/Base64EncodedString.js +66 -66
  22. package/lib/cjs/Base64EncodedString.js.map +1 -1
  23. package/lib/cjs/BlobReader.d.ts +31 -31
  24. package/lib/cjs/BlobReader.js +84 -84
  25. package/lib/cjs/BlobReader.js.map +1 -1
  26. package/lib/cjs/BriefcaseTypes.d.ts +189 -189
  27. package/lib/cjs/BriefcaseTypes.js +95 -95
  28. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  29. package/lib/cjs/Camera.d.ts +42 -42
  30. package/lib/cjs/Camera.js +62 -62
  31. package/lib/cjs/Camera.js.map +1 -1
  32. package/lib/cjs/ChangedElements.d.ts +85 -85
  33. package/lib/cjs/ChangedElements.js +23 -23
  34. package/lib/cjs/ChangedElements.js.map +1 -1
  35. package/lib/cjs/ChangedEntities.d.ts +45 -45
  36. package/lib/cjs/ChangedEntities.js +9 -9
  37. package/lib/cjs/ChangedEntities.js.map +1 -1
  38. package/lib/cjs/ChangesetProps.d.ts +98 -98
  39. package/lib/cjs/ChangesetProps.js +22 -22
  40. package/lib/cjs/ChangesetProps.js.map +1 -1
  41. package/lib/cjs/ClipStyle.d.ts +89 -89
  42. package/lib/cjs/ClipStyle.js +123 -123
  43. package/lib/cjs/ClipStyle.js.map +1 -1
  44. package/lib/cjs/CloudStorage.d.ts +62 -62
  45. package/lib/cjs/CloudStorage.js +113 -113
  46. package/lib/cjs/CloudStorage.js.map +1 -1
  47. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  48. package/lib/cjs/CloudStorageTileCache.js +66 -66
  49. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  50. package/lib/cjs/Code.d.ts +277 -277
  51. package/lib/cjs/Code.js +269 -269
  52. package/lib/cjs/Code.js.map +1 -1
  53. package/lib/cjs/ColorByName.d.ts +161 -161
  54. package/lib/cjs/ColorByName.js +169 -169
  55. package/lib/cjs/ColorByName.js.map +1 -1
  56. package/lib/cjs/ColorDef.d.ts +208 -208
  57. package/lib/cjs/ColorDef.js +571 -571
  58. package/lib/cjs/ColorDef.js.map +1 -1
  59. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  60. package/lib/cjs/CommonLoggerCategory.js +26 -26
  61. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  62. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  63. package/lib/cjs/ConcurrentQuery.js +552 -552
  64. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  65. package/lib/cjs/ContextRealityModel.d.ts +303 -276
  66. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  67. package/lib/cjs/ContextRealityModel.js +373 -358
  68. package/lib/cjs/ContextRealityModel.js.map +1 -1
  69. package/lib/cjs/DisplayStyleSettings.d.ts +588 -584
  70. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  71. package/lib/cjs/DisplayStyleSettings.js +985 -981
  72. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  73. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  74. package/lib/cjs/ECSchemaProps.js +9 -9
  75. package/lib/cjs/ECSchemaProps.js.map +1 -1
  76. package/lib/cjs/ECSqlReader.d.ts +70 -70
  77. package/lib/cjs/ECSqlReader.js +280 -280
  78. package/lib/cjs/ECSqlReader.js.map +1 -1
  79. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  80. package/lib/cjs/ECSqlTypes.js +189 -189
  81. package/lib/cjs/ECSqlTypes.js.map +1 -1
  82. package/lib/cjs/ElementMesh.d.ts +39 -39
  83. package/lib/cjs/ElementMesh.js +56 -56
  84. package/lib/cjs/ElementMesh.js.map +1 -1
  85. package/lib/cjs/ElementProps.d.ts +483 -483
  86. package/lib/cjs/ElementProps.js +99 -99
  87. package/lib/cjs/ElementProps.js.map +1 -1
  88. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  89. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  90. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  91. package/lib/cjs/EntityProps.d.ts +177 -177
  92. package/lib/cjs/EntityProps.js +113 -113
  93. package/lib/cjs/EntityProps.js.map +1 -1
  94. package/lib/cjs/EntityReference.d.ts +51 -51
  95. package/lib/cjs/EntityReference.js +56 -56
  96. package/lib/cjs/EntityReference.js.map +1 -1
  97. package/lib/cjs/Environment.d.ts +61 -61
  98. package/lib/cjs/Environment.js +73 -73
  99. package/lib/cjs/Environment.js.map +1 -1
  100. package/lib/cjs/FeatureIndex.d.ts +39 -39
  101. package/lib/cjs/FeatureIndex.js +63 -63
  102. package/lib/cjs/FeatureIndex.js.map +1 -1
  103. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  104. package/lib/cjs/FeatureSymbology.js +614 -614
  105. package/lib/cjs/FeatureSymbology.js.map +1 -1
  106. package/lib/cjs/FeatureTable.d.ts +141 -141
  107. package/lib/cjs/FeatureTable.js +278 -278
  108. package/lib/cjs/FeatureTable.js.map +1 -1
  109. package/lib/cjs/Fonts.d.ts +51 -51
  110. package/lib/cjs/Fonts.js +53 -53
  111. package/lib/cjs/Fonts.js.map +1 -1
  112. package/lib/cjs/Frustum.d.ts +114 -114
  113. package/lib/cjs/Frustum.js +292 -292
  114. package/lib/cjs/Frustum.js.map +1 -1
  115. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  116. package/lib/cjs/GeoCoordinateServices.js +80 -80
  117. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  118. package/lib/cjs/GeometryContainment.d.ts +28 -28
  119. package/lib/cjs/GeometryContainment.js +9 -9
  120. package/lib/cjs/GeometryContainment.js.map +1 -1
  121. package/lib/cjs/GeometryParams.d.ts +130 -130
  122. package/lib/cjs/GeometryParams.js +174 -174
  123. package/lib/cjs/GeometryParams.js.map +1 -1
  124. package/lib/cjs/GeometrySummary.d.ts +45 -45
  125. package/lib/cjs/GeometrySummary.js +23 -23
  126. package/lib/cjs/GeometrySummary.js.map +1 -1
  127. package/lib/cjs/Gradient.d.ts +139 -139
  128. package/lib/cjs/Gradient.js +455 -455
  129. package/lib/cjs/Gradient.js.map +1 -1
  130. package/lib/cjs/GraphicParams.d.ts +58 -58
  131. package/lib/cjs/GraphicParams.js +85 -85
  132. package/lib/cjs/GraphicParams.js.map +1 -1
  133. package/lib/cjs/GroundPlane.d.ts +52 -52
  134. package/lib/cjs/GroundPlane.js +64 -64
  135. package/lib/cjs/GroundPlane.js.map +1 -1
  136. package/lib/cjs/HSLColor.d.ts +20 -20
  137. package/lib/cjs/HSLColor.js +32 -32
  138. package/lib/cjs/HSLColor.js.map +1 -1
  139. package/lib/cjs/HSVColor.d.ts +30 -30
  140. package/lib/cjs/HSVColor.js +59 -59
  141. package/lib/cjs/HSVColor.js.map +1 -1
  142. package/lib/cjs/HiddenLine.d.ts +97 -97
  143. package/lib/cjs/HiddenLine.js +162 -162
  144. package/lib/cjs/HiddenLine.js.map +1 -1
  145. package/lib/cjs/Hilite.d.ts +50 -50
  146. package/lib/cjs/Hilite.js +64 -64
  147. package/lib/cjs/Hilite.js.map +1 -1
  148. package/lib/cjs/IModel.d.ts +359 -359
  149. package/lib/cjs/IModel.js +347 -347
  150. package/lib/cjs/IModel.js.map +1 -1
  151. package/lib/cjs/IModelError.d.ts +42 -42
  152. package/lib/cjs/IModelError.js +71 -71
  153. package/lib/cjs/IModelError.js.map +1 -1
  154. package/lib/cjs/IModelVersion.d.ts +68 -68
  155. package/lib/cjs/IModelVersion.js +79 -79
  156. package/lib/cjs/IModelVersion.js.map +1 -1
  157. package/lib/cjs/Image.d.ts +86 -86
  158. package/lib/cjs/Image.js +128 -128
  159. package/lib/cjs/Image.js.map +1 -1
  160. package/lib/cjs/IpcAppProps.d.ts +141 -141
  161. package/lib/cjs/IpcAppProps.js +23 -23
  162. package/lib/cjs/IpcAppProps.js.map +1 -1
  163. package/lib/cjs/LightSettings.d.ts +224 -224
  164. package/lib/cjs/LightSettings.js +309 -309
  165. package/lib/cjs/LightSettings.js.map +1 -1
  166. package/lib/cjs/LinePixels.d.ts +34 -34
  167. package/lib/cjs/LinePixels.js +42 -42
  168. package/lib/cjs/LinePixels.js.map +1 -1
  169. package/lib/cjs/Localization.d.ts +113 -113
  170. package/lib/cjs/Localization.js +33 -33
  171. package/lib/cjs/Localization.js.map +1 -1
  172. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  173. package/lib/cjs/MapImagerySettings.js +80 -80
  174. package/lib/cjs/MapImagerySettings.js.map +1 -1
  175. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  176. package/lib/cjs/MapLayerSettings.js +411 -411
  177. package/lib/cjs/MapLayerSettings.js.map +1 -1
  178. package/lib/cjs/MassProperties.d.ts +64 -64
  179. package/lib/cjs/MassProperties.js +23 -23
  180. package/lib/cjs/MassProperties.js.map +1 -1
  181. package/lib/cjs/MaterialProps.d.ts +153 -153
  182. package/lib/cjs/MaterialProps.js +35 -35
  183. package/lib/cjs/MaterialProps.js.map +1 -1
  184. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  185. package/lib/cjs/ModelClipGroup.js +98 -98
  186. package/lib/cjs/ModelClipGroup.js.map +1 -1
  187. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  188. package/lib/cjs/ModelGeometryChanges.js +83 -83
  189. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  190. package/lib/cjs/ModelProps.d.ts +67 -67
  191. package/lib/cjs/ModelProps.js +9 -9
  192. package/lib/cjs/ModelProps.js.map +1 -1
  193. package/lib/cjs/NativeAppProps.d.ts +122 -122
  194. package/lib/cjs/NativeAppProps.js +30 -30
  195. package/lib/cjs/NativeAppProps.js.map +1 -1
  196. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  197. package/lib/cjs/OctEncodedNormal.js +98 -98
  198. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  199. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  200. package/lib/cjs/PlanProjectionSettings.js +63 -63
  201. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  202. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  203. package/lib/cjs/PlanarClipMask.js +136 -136
  204. package/lib/cjs/PlanarClipMask.js.map +1 -1
  205. package/lib/cjs/QPoint.d.ts +479 -479
  206. package/lib/cjs/QPoint.js +826 -826
  207. package/lib/cjs/QPoint.js.map +1 -1
  208. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  209. package/lib/cjs/RealityDataAccessProps.js +19 -19
  210. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  211. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
  212. package/lib/cjs/RealityModelDisplaySettings.js +142 -142
  213. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  214. package/lib/cjs/Render.d.ts +89 -89
  215. package/lib/cjs/Render.js +177 -177
  216. package/lib/cjs/Render.js.map +1 -1
  217. package/lib/cjs/RenderMaterial.d.ts +58 -58
  218. package/lib/cjs/RenderMaterial.js +76 -76
  219. package/lib/cjs/RenderMaterial.js.map +1 -1
  220. package/lib/cjs/RenderSchedule.d.ts +543 -543
  221. package/lib/cjs/RenderSchedule.js +1002 -1002
  222. package/lib/cjs/RenderTexture.d.ts +70 -70
  223. package/lib/cjs/RenderTexture.js +59 -59
  224. package/lib/cjs/RenderTexture.js.map +1 -1
  225. package/lib/cjs/RgbColor.d.ts +47 -47
  226. package/lib/cjs/RgbColor.js +77 -77
  227. package/lib/cjs/RgbColor.js.map +1 -1
  228. package/lib/cjs/RpcInterface.d.ts +33 -33
  229. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  230. package/lib/cjs/RpcInterface.js +137 -137
  231. package/lib/cjs/RpcInterface.js.map +1 -1
  232. package/lib/cjs/RpcManager.d.ts +40 -40
  233. package/lib/cjs/RpcManager.d.ts.map +1 -1
  234. package/lib/cjs/RpcManager.js +55 -55
  235. package/lib/cjs/RpcManager.js.map +1 -1
  236. package/lib/cjs/SessionProps.d.ts +16 -16
  237. package/lib/cjs/SessionProps.js +9 -9
  238. package/lib/cjs/SessionProps.js.map +1 -1
  239. package/lib/cjs/SkyBox.d.ts +215 -215
  240. package/lib/cjs/SkyBox.js +210 -210
  241. package/lib/cjs/SkyBox.js.map +1 -1
  242. package/lib/cjs/Snapping.d.ts +49 -49
  243. package/lib/cjs/Snapping.js +9 -9
  244. package/lib/cjs/Snapping.js.map +1 -1
  245. package/lib/cjs/SolarCalculate.d.ts +27 -27
  246. package/lib/cjs/SolarCalculate.js +211 -211
  247. package/lib/cjs/SolarCalculate.js.map +1 -1
  248. package/lib/cjs/SolarShadows.d.ts +35 -35
  249. package/lib/cjs/SolarShadows.js +62 -62
  250. package/lib/cjs/SolarShadows.js.map +1 -1
  251. package/lib/cjs/SpatialClassification.d.ts +208 -208
  252. package/lib/cjs/SpatialClassification.js +340 -340
  253. package/lib/cjs/SpatialClassification.js.map +1 -1
  254. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  255. package/lib/cjs/SubCategoryAppearance.js +96 -96
  256. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  257. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  258. package/lib/cjs/SubCategoryOverride.js +104 -104
  259. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  260. package/lib/cjs/TerrainSettings.d.ts +82 -82
  261. package/lib/cjs/TerrainSettings.js +102 -102
  262. package/lib/cjs/TerrainSettings.js.map +1 -1
  263. package/lib/cjs/TextureMapping.d.ts +118 -118
  264. package/lib/cjs/TextureMapping.js +174 -174
  265. package/lib/cjs/TextureMapping.js.map +1 -1
  266. package/lib/cjs/TextureProps.d.ts +65 -65
  267. package/lib/cjs/TextureProps.js +28 -28
  268. package/lib/cjs/TextureProps.js.map +1 -1
  269. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  270. package/lib/cjs/ThematicDisplay.js +344 -344
  271. package/lib/cjs/ThematicDisplay.js.map +1 -1
  272. package/lib/cjs/Thumbnail.d.ts +26 -26
  273. package/lib/cjs/Thumbnail.js +9 -9
  274. package/lib/cjs/Thumbnail.js.map +1 -1
  275. package/lib/cjs/TileProps.d.ts +82 -82
  276. package/lib/cjs/TileProps.js +29 -29
  277. package/lib/cjs/TileProps.js.map +1 -1
  278. package/lib/cjs/Tween.d.ts +191 -191
  279. package/lib/cjs/Tween.js +570 -570
  280. package/lib/cjs/Tween.js.map +1 -1
  281. package/lib/cjs/TxnAction.d.ts +21 -21
  282. package/lib/cjs/TxnAction.js +29 -29
  283. package/lib/cjs/TxnAction.js.map +1 -1
  284. package/lib/cjs/ViewDetails.d.ts +125 -125
  285. package/lib/cjs/ViewDetails.js +166 -166
  286. package/lib/cjs/ViewDetails.js.map +1 -1
  287. package/lib/cjs/ViewFlags.d.ts +287 -287
  288. package/lib/cjs/ViewFlags.js +368 -368
  289. package/lib/cjs/ViewFlags.js.map +1 -1
  290. package/lib/cjs/ViewProps.d.ts +205 -205
  291. package/lib/cjs/ViewProps.js +9 -9
  292. package/lib/cjs/ViewProps.js.map +1 -1
  293. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  294. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  295. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  296. package/lib/cjs/core-common.d.ts +244 -244
  297. package/lib/cjs/core-common.js +260 -260
  298. package/lib/cjs/core-common.js.map +1 -1
  299. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  300. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  301. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  302. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  303. package/lib/cjs/domains/GenericElementProps.js +9 -9
  304. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  305. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  306. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  307. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  308. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  309. package/lib/cjs/geometry/AreaPattern.js +204 -204
  310. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  311. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  312. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  313. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  314. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  315. package/lib/cjs/geometry/Cartographic.js +345 -345
  316. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  317. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  318. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  319. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  320. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  321. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  322. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  323. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  324. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  325. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  326. package/lib/cjs/geometry/FrustumPlanes.d.ts +81 -81
  327. package/lib/cjs/geometry/FrustumPlanes.js +193 -193
  328. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  329. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  330. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  331. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  332. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  333. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  334. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  335. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  336. package/lib/cjs/geometry/GeometryStream.js +469 -469
  337. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  338. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  339. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  340. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  341. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  342. package/lib/cjs/geometry/LineStyle.js +129 -129
  343. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  344. package/lib/cjs/geometry/Placement.d.ts +95 -95
  345. package/lib/cjs/geometry/Placement.js +131 -131
  346. package/lib/cjs/geometry/Placement.js.map +1 -1
  347. package/lib/cjs/geometry/Projection.d.ts +251 -251
  348. package/lib/cjs/geometry/Projection.js +198 -198
  349. package/lib/cjs/geometry/Projection.js.map +1 -1
  350. package/lib/cjs/geometry/TextString.d.ts +55 -55
  351. package/lib/cjs/geometry/TextString.js +65 -65
  352. package/lib/cjs/geometry/TextString.js.map +1 -1
  353. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  354. package/lib/cjs/ipc/IpcSession.js +27 -27
  355. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  356. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  357. package/lib/cjs/ipc/IpcSocket.js +16 -16
  358. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  359. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  360. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  361. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  362. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  363. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  364. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  365. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  366. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  367. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  368. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  369. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  370. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  371. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  372. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -96
  373. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  374. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  375. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  376. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  377. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  378. package/lib/cjs/rpc/TestRpcManager.d.ts.map +1 -1
  379. package/lib/cjs/rpc/TestRpcManager.js +40 -39
  380. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  381. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  382. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  383. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  384. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  385. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  386. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  387. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  388. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -85
  389. package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
  390. package/lib/cjs/rpc/core/RpcConstants.js +109 -103
  391. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  392. package/lib/cjs/rpc/core/RpcControl.d.ts +57 -54
  393. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  394. package/lib/cjs/rpc/core/RpcControl.js +148 -144
  395. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  396. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  397. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  398. package/lib/cjs/rpc/core/RpcInvocation.js +258 -258
  399. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  400. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  401. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  402. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  403. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  404. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  405. package/lib/cjs/rpc/core/RpcOperation.js +134 -133
  406. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  407. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  408. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts.map +1 -1
  409. package/lib/cjs/rpc/core/RpcPendingQueue.js +95 -94
  410. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  411. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  412. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  413. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  414. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  415. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  416. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  417. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  418. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  419. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  420. package/lib/cjs/rpc/core/RpcRegistry.d.ts.map +1 -1
  421. package/lib/cjs/rpc/core/RpcRegistry.js +199 -198
  422. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  423. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  424. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  425. package/lib/cjs/rpc/core/RpcRequest.js +478 -477
  426. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  427. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  428. package/lib/cjs/rpc/core/RpcRequestContext.d.ts.map +1 -1
  429. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  430. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  431. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  432. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  433. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -23
  434. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  435. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  436. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts.map +1 -1
  437. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -59
  438. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  439. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  440. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  441. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  442. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  443. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  444. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  445. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +143 -142
  446. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  447. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -139
  448. package/lib/cjs/rpc/web/OpenAPI.d.ts.map +1 -1
  449. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  450. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  451. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  452. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  453. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  454. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  455. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  456. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -139
  457. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  458. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -87
  459. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  460. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  461. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  462. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  463. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  464. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  465. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  466. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  467. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  468. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -372
  469. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  470. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  471. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  472. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  473. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  474. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  475. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  476. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  477. package/lib/cjs/tile/ElementGraphics.js +9 -9
  478. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  479. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  480. package/lib/cjs/tile/GltfTileIO.js +109 -109
  481. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  482. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  483. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  484. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  485. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  486. package/lib/cjs/tile/IModelTileIO.js +95 -95
  487. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  488. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  489. package/lib/cjs/tile/PntsTileIO.js +26 -26
  490. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  491. package/lib/cjs/tile/TileIO.d.ts +66 -66
  492. package/lib/cjs/tile/TileIO.js +118 -118
  493. package/lib/cjs/tile/TileIO.js.map +1 -1
  494. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  495. package/lib/cjs/tile/TileMetadata.js +676 -676
  496. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  497. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  498. package/lib/esm/AmbientOcclusion.js +52 -52
  499. package/lib/esm/AmbientOcclusion.js.map +1 -1
  500. package/lib/esm/AnalysisStyle.d.ts +134 -134
  501. package/lib/esm/AnalysisStyle.js +159 -159
  502. package/lib/esm/AnalysisStyle.js.map +1 -1
  503. package/lib/esm/AuthorizationClient.d.ts +17 -17
  504. package/lib/esm/AuthorizationClient.js +8 -8
  505. package/lib/esm/AuthorizationClient.js.map +1 -1
  506. package/lib/esm/BackendTypes.d.ts +12 -12
  507. package/lib/esm/BackendTypes.js +8 -8
  508. package/lib/esm/BackendTypes.js.map +1 -1
  509. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  510. package/lib/esm/BackgroundMapProvider.js +64 -64
  511. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  512. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  513. package/lib/esm/BackgroundMapSettings.js +152 -152
  514. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  515. package/lib/esm/Base64EncodedString.d.ts +32 -32
  516. package/lib/esm/Base64EncodedString.js +63 -63
  517. package/lib/esm/Base64EncodedString.js.map +1 -1
  518. package/lib/esm/BlobReader.d.ts +31 -31
  519. package/lib/esm/BlobReader.js +79 -79
  520. package/lib/esm/BlobReader.js.map +1 -1
  521. package/lib/esm/BriefcaseTypes.d.ts +189 -189
  522. package/lib/esm/BriefcaseTypes.js +92 -92
  523. package/lib/esm/BriefcaseTypes.js.map +1 -1
  524. package/lib/esm/Camera.d.ts +42 -42
  525. package/lib/esm/Camera.js +58 -58
  526. package/lib/esm/Camera.js.map +1 -1
  527. package/lib/esm/ChangedElements.d.ts +85 -85
  528. package/lib/esm/ChangedElements.js +20 -20
  529. package/lib/esm/ChangedElements.js.map +1 -1
  530. package/lib/esm/ChangedEntities.d.ts +45 -45
  531. package/lib/esm/ChangedEntities.js +8 -8
  532. package/lib/esm/ChangedEntities.js.map +1 -1
  533. package/lib/esm/ChangesetProps.d.ts +98 -98
  534. package/lib/esm/ChangesetProps.js +19 -19
  535. package/lib/esm/ChangesetProps.js.map +1 -1
  536. package/lib/esm/ClipStyle.d.ts +89 -89
  537. package/lib/esm/ClipStyle.js +118 -118
  538. package/lib/esm/ClipStyle.js.map +1 -1
  539. package/lib/esm/CloudStorage.d.ts +62 -62
  540. package/lib/esm/CloudStorage.js +109 -109
  541. package/lib/esm/CloudStorage.js.map +1 -1
  542. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  543. package/lib/esm/CloudStorageTileCache.js +62 -62
  544. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  545. package/lib/esm/Code.d.ts +277 -277
  546. package/lib/esm/Code.js +264 -264
  547. package/lib/esm/Code.js.map +1 -1
  548. package/lib/esm/ColorByName.d.ts +161 -161
  549. package/lib/esm/ColorByName.js +166 -166
  550. package/lib/esm/ColorByName.js.map +1 -1
  551. package/lib/esm/ColorDef.d.ts +208 -208
  552. package/lib/esm/ColorDef.js +567 -567
  553. package/lib/esm/ColorDef.js.map +1 -1
  554. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  555. package/lib/esm/CommonLoggerCategory.js +23 -23
  556. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  557. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  558. package/lib/esm/ConcurrentQuery.js +545 -545
  559. package/lib/esm/ConcurrentQuery.js.map +1 -1
  560. package/lib/esm/ContextRealityModel.d.ts +303 -276
  561. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  562. package/lib/esm/ContextRealityModel.js +368 -353
  563. package/lib/esm/ContextRealityModel.js.map +1 -1
  564. package/lib/esm/DisplayStyleSettings.d.ts +588 -584
  565. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  566. package/lib/esm/DisplayStyleSettings.js +980 -976
  567. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  568. package/lib/esm/ECSchemaProps.d.ts +39 -39
  569. package/lib/esm/ECSchemaProps.js +8 -8
  570. package/lib/esm/ECSchemaProps.js.map +1 -1
  571. package/lib/esm/ECSqlReader.d.ts +70 -70
  572. package/lib/esm/ECSqlReader.js +275 -275
  573. package/lib/esm/ECSqlReader.js.map +1 -1
  574. package/lib/esm/ECSqlTypes.d.ts +128 -128
  575. package/lib/esm/ECSqlTypes.js +185 -185
  576. package/lib/esm/ECSqlTypes.js.map +1 -1
  577. package/lib/esm/ElementMesh.d.ts +39 -39
  578. package/lib/esm/ElementMesh.js +52 -52
  579. package/lib/esm/ElementMesh.js.map +1 -1
  580. package/lib/esm/ElementProps.d.ts +483 -483
  581. package/lib/esm/ElementProps.js +92 -92
  582. package/lib/esm/ElementProps.js.map +1 -1
  583. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  584. package/lib/esm/EmphasizeElementsProps.js +22 -22
  585. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  586. package/lib/esm/EntityProps.d.ts +177 -177
  587. package/lib/esm/EntityProps.js +108 -108
  588. package/lib/esm/EntityProps.js.map +1 -1
  589. package/lib/esm/EntityReference.d.ts +51 -51
  590. package/lib/esm/EntityReference.js +52 -52
  591. package/lib/esm/EntityReference.js.map +1 -1
  592. package/lib/esm/Environment.d.ts +61 -61
  593. package/lib/esm/Environment.js +69 -69
  594. package/lib/esm/Environment.js.map +1 -1
  595. package/lib/esm/FeatureIndex.d.ts +39 -39
  596. package/lib/esm/FeatureIndex.js +57 -57
  597. package/lib/esm/FeatureIndex.js.map +1 -1
  598. package/lib/esm/FeatureSymbology.d.ts +444 -444
  599. package/lib/esm/FeatureSymbology.js +609 -609
  600. package/lib/esm/FeatureSymbology.js.map +1 -1
  601. package/lib/esm/FeatureTable.d.ts +141 -141
  602. package/lib/esm/FeatureTable.js +272 -272
  603. package/lib/esm/FeatureTable.js.map +1 -1
  604. package/lib/esm/Fonts.d.ts +51 -51
  605. package/lib/esm/Fonts.js +49 -49
  606. package/lib/esm/Fonts.js.map +1 -1
  607. package/lib/esm/Frustum.d.ts +114 -114
  608. package/lib/esm/Frustum.js +288 -288
  609. package/lib/esm/Frustum.js.map +1 -1
  610. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  611. package/lib/esm/GeoCoordinateServices.js +76 -76
  612. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  613. package/lib/esm/GeometryContainment.d.ts +28 -28
  614. package/lib/esm/GeometryContainment.js +8 -8
  615. package/lib/esm/GeometryContainment.js.map +1 -1
  616. package/lib/esm/GeometryParams.d.ts +130 -130
  617. package/lib/esm/GeometryParams.js +170 -170
  618. package/lib/esm/GeometryParams.js.map +1 -1
  619. package/lib/esm/GeometrySummary.d.ts +45 -45
  620. package/lib/esm/GeometrySummary.js +20 -20
  621. package/lib/esm/GeometrySummary.js.map +1 -1
  622. package/lib/esm/Gradient.d.ts +139 -139
  623. package/lib/esm/Gradient.js +452 -452
  624. package/lib/esm/Gradient.js.map +1 -1
  625. package/lib/esm/GraphicParams.d.ts +58 -58
  626. package/lib/esm/GraphicParams.js +81 -81
  627. package/lib/esm/GraphicParams.js.map +1 -1
  628. package/lib/esm/GroundPlane.d.ts +52 -52
  629. package/lib/esm/GroundPlane.js +60 -60
  630. package/lib/esm/GroundPlane.js.map +1 -1
  631. package/lib/esm/HSLColor.d.ts +20 -20
  632. package/lib/esm/HSLColor.js +28 -28
  633. package/lib/esm/HSLColor.js.map +1 -1
  634. package/lib/esm/HSVColor.d.ts +30 -30
  635. package/lib/esm/HSVColor.js +55 -55
  636. package/lib/esm/HSVColor.js.map +1 -1
  637. package/lib/esm/HiddenLine.d.ts +97 -97
  638. package/lib/esm/HiddenLine.js +159 -159
  639. package/lib/esm/HiddenLine.js.map +1 -1
  640. package/lib/esm/Hilite.d.ts +50 -50
  641. package/lib/esm/Hilite.js +61 -61
  642. package/lib/esm/Hilite.js.map +1 -1
  643. package/lib/esm/IModel.d.ts +359 -359
  644. package/lib/esm/IModel.js +342 -342
  645. package/lib/esm/IModel.js.map +1 -1
  646. package/lib/esm/IModelError.d.ts +42 -42
  647. package/lib/esm/IModelError.js +56 -56
  648. package/lib/esm/IModelError.js.map +1 -1
  649. package/lib/esm/IModelVersion.d.ts +68 -68
  650. package/lib/esm/IModelVersion.js +75 -75
  651. package/lib/esm/IModelVersion.js.map +1 -1
  652. package/lib/esm/Image.d.ts +86 -86
  653. package/lib/esm/Image.js +120 -120
  654. package/lib/esm/Image.js.map +1 -1
  655. package/lib/esm/IpcAppProps.d.ts +141 -141
  656. package/lib/esm/IpcAppProps.js +19 -19
  657. package/lib/esm/IpcAppProps.js.map +1 -1
  658. package/lib/esm/LightSettings.d.ts +224 -224
  659. package/lib/esm/LightSettings.js +301 -301
  660. package/lib/esm/LightSettings.js.map +1 -1
  661. package/lib/esm/LinePixels.d.ts +34 -34
  662. package/lib/esm/LinePixels.js +39 -39
  663. package/lib/esm/LinePixels.js.map +1 -1
  664. package/lib/esm/Localization.d.ts +113 -113
  665. package/lib/esm/Localization.js +29 -29
  666. package/lib/esm/Localization.js.map +1 -1
  667. package/lib/esm/MapImagerySettings.d.ts +62 -62
  668. package/lib/esm/MapImagerySettings.js +76 -76
  669. package/lib/esm/MapImagerySettings.js.map +1 -1
  670. package/lib/esm/MapLayerSettings.d.ts +272 -272
  671. package/lib/esm/MapLayerSettings.js +403 -403
  672. package/lib/esm/MapLayerSettings.js.map +1 -1
  673. package/lib/esm/MassProperties.d.ts +64 -64
  674. package/lib/esm/MassProperties.js +20 -20
  675. package/lib/esm/MassProperties.js.map +1 -1
  676. package/lib/esm/MaterialProps.d.ts +153 -153
  677. package/lib/esm/MaterialProps.js +32 -32
  678. package/lib/esm/MaterialProps.js.map +1 -1
  679. package/lib/esm/ModelClipGroup.d.ts +67 -67
  680. package/lib/esm/ModelClipGroup.js +93 -93
  681. package/lib/esm/ModelClipGroup.js.map +1 -1
  682. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  683. package/lib/esm/ModelGeometryChanges.js +80 -80
  684. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  685. package/lib/esm/ModelProps.d.ts +67 -67
  686. package/lib/esm/ModelProps.js +8 -8
  687. package/lib/esm/ModelProps.js.map +1 -1
  688. package/lib/esm/NativeAppProps.d.ts +122 -122
  689. package/lib/esm/NativeAppProps.js +27 -27
  690. package/lib/esm/NativeAppProps.js.map +1 -1
  691. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  692. package/lib/esm/OctEncodedNormal.js +93 -93
  693. package/lib/esm/OctEncodedNormal.js.map +1 -1
  694. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  695. package/lib/esm/PlanProjectionSettings.js +59 -59
  696. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  697. package/lib/esm/PlanarClipMask.d.ts +177 -177
  698. package/lib/esm/PlanarClipMask.js +132 -132
  699. package/lib/esm/PlanarClipMask.js.map +1 -1
  700. package/lib/esm/QPoint.d.ts +479 -479
  701. package/lib/esm/QPoint.js +815 -815
  702. package/lib/esm/QPoint.js.map +1 -1
  703. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  704. package/lib/esm/RealityDataAccessProps.js +16 -16
  705. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  706. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  707. package/lib/esm/RealityModelDisplaySettings.js +137 -137
  708. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  709. package/lib/esm/Render.d.ts +89 -89
  710. package/lib/esm/Render.js +165 -165
  711. package/lib/esm/Render.js.map +1 -1
  712. package/lib/esm/RenderMaterial.d.ts +58 -58
  713. package/lib/esm/RenderMaterial.js +72 -72
  714. package/lib/esm/RenderMaterial.js.map +1 -1
  715. package/lib/esm/RenderSchedule.d.ts +543 -543
  716. package/lib/esm/RenderSchedule.js +999 -999
  717. package/lib/esm/RenderTexture.d.ts +70 -70
  718. package/lib/esm/RenderTexture.js +55 -55
  719. package/lib/esm/RenderTexture.js.map +1 -1
  720. package/lib/esm/RgbColor.d.ts +47 -47
  721. package/lib/esm/RgbColor.js +73 -73
  722. package/lib/esm/RgbColor.js.map +1 -1
  723. package/lib/esm/RpcInterface.d.ts +33 -33
  724. package/lib/esm/RpcInterface.d.ts.map +1 -1
  725. package/lib/esm/RpcInterface.js +133 -133
  726. package/lib/esm/RpcInterface.js.map +1 -1
  727. package/lib/esm/RpcManager.d.ts +40 -40
  728. package/lib/esm/RpcManager.d.ts.map +1 -1
  729. package/lib/esm/RpcManager.js +51 -51
  730. package/lib/esm/RpcManager.js.map +1 -1
  731. package/lib/esm/SessionProps.d.ts +16 -16
  732. package/lib/esm/SessionProps.js +8 -8
  733. package/lib/esm/SessionProps.js.map +1 -1
  734. package/lib/esm/SkyBox.d.ts +215 -215
  735. package/lib/esm/SkyBox.js +203 -203
  736. package/lib/esm/SkyBox.js.map +1 -1
  737. package/lib/esm/Snapping.d.ts +49 -49
  738. package/lib/esm/Snapping.js +8 -8
  739. package/lib/esm/Snapping.js.map +1 -1
  740. package/lib/esm/SolarCalculate.d.ts +27 -27
  741. package/lib/esm/SolarCalculate.js +204 -204
  742. package/lib/esm/SolarCalculate.js.map +1 -1
  743. package/lib/esm/SolarShadows.d.ts +35 -35
  744. package/lib/esm/SolarShadows.js +58 -58
  745. package/lib/esm/SolarShadows.js.map +1 -1
  746. package/lib/esm/SpatialClassification.d.ts +208 -208
  747. package/lib/esm/SpatialClassification.js +334 -334
  748. package/lib/esm/SpatialClassification.js.map +1 -1
  749. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  750. package/lib/esm/SubCategoryAppearance.js +92 -92
  751. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  752. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  753. package/lib/esm/SubCategoryOverride.js +100 -100
  754. package/lib/esm/SubCategoryOverride.js.map +1 -1
  755. package/lib/esm/TerrainSettings.d.ts +82 -82
  756. package/lib/esm/TerrainSettings.js +98 -98
  757. package/lib/esm/TerrainSettings.js.map +1 -1
  758. package/lib/esm/TextureMapping.d.ts +118 -118
  759. package/lib/esm/TextureMapping.js +170 -170
  760. package/lib/esm/TextureMapping.js.map +1 -1
  761. package/lib/esm/TextureProps.d.ts +65 -65
  762. package/lib/esm/TextureProps.js +25 -25
  763. package/lib/esm/TextureProps.js.map +1 -1
  764. package/lib/esm/ThematicDisplay.d.ts +230 -230
  765. package/lib/esm/ThematicDisplay.js +337 -337
  766. package/lib/esm/ThematicDisplay.js.map +1 -1
  767. package/lib/esm/Thumbnail.d.ts +26 -26
  768. package/lib/esm/Thumbnail.js +8 -8
  769. package/lib/esm/Thumbnail.js.map +1 -1
  770. package/lib/esm/TileProps.d.ts +82 -82
  771. package/lib/esm/TileProps.js +25 -25
  772. package/lib/esm/TileProps.js.map +1 -1
  773. package/lib/esm/Tween.d.ts +191 -191
  774. package/lib/esm/Tween.js +565 -565
  775. package/lib/esm/Tween.js.map +1 -1
  776. package/lib/esm/TxnAction.d.ts +21 -21
  777. package/lib/esm/TxnAction.js +26 -26
  778. package/lib/esm/TxnAction.js.map +1 -1
  779. package/lib/esm/ViewDetails.d.ts +125 -125
  780. package/lib/esm/ViewDetails.js +161 -161
  781. package/lib/esm/ViewDetails.js.map +1 -1
  782. package/lib/esm/ViewFlags.d.ts +287 -287
  783. package/lib/esm/ViewFlags.js +364 -364
  784. package/lib/esm/ViewFlags.js.map +1 -1
  785. package/lib/esm/ViewProps.d.ts +205 -205
  786. package/lib/esm/ViewProps.js +8 -8
  787. package/lib/esm/ViewProps.js.map +1 -1
  788. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  789. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  790. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  791. package/lib/esm/core-common.d.ts +244 -244
  792. package/lib/esm/core-common.js +248 -248
  793. package/lib/esm/core-common.js.map +1 -1
  794. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  795. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  796. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  797. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  798. package/lib/esm/domains/GenericElementProps.js +8 -8
  799. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  800. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  801. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  802. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  803. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  804. package/lib/esm/geometry/AreaPattern.js +201 -201
  805. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  806. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  807. package/lib/esm/geometry/BoundingSphere.js +40 -40
  808. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  809. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  810. package/lib/esm/geometry/Cartographic.js +340 -340
  811. package/lib/esm/geometry/Cartographic.js.map +1 -1
  812. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  813. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  814. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  815. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  816. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  817. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  818. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  819. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  820. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  821. package/lib/esm/geometry/FrustumPlanes.d.ts +81 -81
  822. package/lib/esm/geometry/FrustumPlanes.js +189 -189
  823. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  824. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  825. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  826. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  827. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  828. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  829. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  830. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  831. package/lib/esm/geometry/GeometryStream.js +464 -464
  832. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  833. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  834. package/lib/esm/geometry/ImageGraphic.js +93 -93
  835. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  836. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  837. package/lib/esm/geometry/LineStyle.js +126 -126
  838. package/lib/esm/geometry/LineStyle.js.map +1 -1
  839. package/lib/esm/geometry/Placement.d.ts +95 -95
  840. package/lib/esm/geometry/Placement.js +126 -126
  841. package/lib/esm/geometry/Placement.js.map +1 -1
  842. package/lib/esm/geometry/Projection.d.ts +251 -251
  843. package/lib/esm/geometry/Projection.js +192 -192
  844. package/lib/esm/geometry/Projection.js.map +1 -1
  845. package/lib/esm/geometry/TextString.d.ts +55 -55
  846. package/lib/esm/geometry/TextString.js +61 -61
  847. package/lib/esm/geometry/TextString.js.map +1 -1
  848. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  849. package/lib/esm/ipc/IpcSession.js +23 -23
  850. package/lib/esm/ipc/IpcSession.js.map +1 -1
  851. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  852. package/lib/esm/ipc/IpcSocket.js +12 -12
  853. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  854. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  855. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  856. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  857. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  858. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  859. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  860. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  861. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  862. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  863. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  864. package/lib/esm/rpc/IModelReadRpcInterface.js +117 -117
  865. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  866. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  867. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -92
  868. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  869. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  870. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  871. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  872. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  873. package/lib/esm/rpc/TestRpcManager.d.ts.map +1 -1
  874. package/lib/esm/rpc/TestRpcManager.js +36 -35
  875. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  876. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  877. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  878. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  879. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  880. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  881. package/lib/esm/rpc/core/RpcConfiguration.js +184 -184
  882. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  883. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -85
  884. package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
  885. package/lib/esm/rpc/core/RpcConstants.js +106 -100
  886. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  887. package/lib/esm/rpc/core/RpcControl.d.ts +57 -54
  888. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  889. package/lib/esm/rpc/core/RpcControl.js +141 -137
  890. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  891. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  892. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  893. package/lib/esm/rpc/core/RpcInvocation.js +254 -254
  894. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  895. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  896. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  897. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  898. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  899. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  900. package/lib/esm/rpc/core/RpcOperation.js +129 -128
  901. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  902. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  903. package/lib/esm/rpc/core/RpcPendingQueue.d.ts.map +1 -1
  904. package/lib/esm/rpc/core/RpcPendingQueue.js +91 -90
  905. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  906. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  907. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  908. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  909. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  910. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  911. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  912. package/lib/esm/rpc/core/RpcPush.js +119 -119
  913. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  914. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  915. package/lib/esm/rpc/core/RpcRegistry.d.ts.map +1 -1
  916. package/lib/esm/rpc/core/RpcRegistry.js +195 -194
  917. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  918. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  919. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  920. package/lib/esm/rpc/core/RpcRequest.js +473 -472
  921. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  922. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  923. package/lib/esm/rpc/core/RpcRequestContext.d.ts.map +1 -1
  924. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  925. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  926. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  927. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  928. package/lib/esm/rpc/core/RpcRoutingToken.js +20 -19
  929. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  930. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  931. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts.map +1 -1
  932. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -55
  933. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  934. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  935. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  936. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  937. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  938. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  939. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  940. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +139 -138
  941. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  942. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -139
  943. package/lib/esm/rpc/web/OpenAPI.d.ts.map +1 -1
  944. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  945. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  946. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  947. package/lib/esm/rpc/web/RpcMultipart.js +46 -46
  948. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  949. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  950. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  951. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -135
  952. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  953. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -87
  954. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  955. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  956. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  957. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  958. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  959. package/lib/esm/rpc/web/WebAppRpcRequest.js +235 -235
  960. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  961. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  962. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  963. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -368
  964. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  965. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  966. package/lib/esm/tile/B3dmTileIO.js +62 -62
  967. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  968. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  969. package/lib/esm/tile/CompositeTileIO.js +22 -22
  970. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  971. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  972. package/lib/esm/tile/ElementGraphics.js +8 -8
  973. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  974. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  975. package/lib/esm/tile/GltfTileIO.js +105 -105
  976. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  977. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  978. package/lib/esm/tile/I3dmTileIO.js +36 -36
  979. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  980. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  981. package/lib/esm/tile/IModelTileIO.js +90 -90
  982. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  983. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  984. package/lib/esm/tile/PntsTileIO.js +22 -22
  985. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  986. package/lib/esm/tile/TileIO.d.ts +66 -66
  987. package/lib/esm/tile/TileIO.js +110 -110
  988. package/lib/esm/tile/TileIO.js.map +1 -1
  989. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  990. package/lib/esm/tile/TileMetadata.js +661 -661
  991. package/lib/esm/tile/TileMetadata.js.map +1 -1
  992. package/package.json +7 -7
@@ -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