@itwin/core-common 4.0.0-dev.1 → 4.0.0-dev.100

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 (994) hide show
  1. package/CHANGELOG.md +64 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  4. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  5. package/lib/cjs/AnalysisStyle.js +165 -165
  6. package/lib/cjs/AnalysisStyle.js.map +1 -1
  7. package/lib/cjs/Atmosphere.d.ts +99 -0
  8. package/lib/cjs/Atmosphere.d.ts.map +1 -0
  9. package/lib/cjs/Atmosphere.js +134 -0
  10. package/lib/cjs/Atmosphere.js.map +1 -0
  11. package/lib/cjs/AuthorizationClient.d.ts +17 -17
  12. package/lib/cjs/AuthorizationClient.js +9 -9
  13. package/lib/cjs/BackendTypes.d.ts +13 -12
  14. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  15. package/lib/cjs/BackendTypes.js +9 -9
  16. package/lib/cjs/BackendTypes.js.map +1 -1
  17. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  18. package/lib/cjs/BackgroundMapProvider.d.ts.map +1 -1
  19. package/lib/cjs/BackgroundMapProvider.js +67 -68
  20. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  21. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  22. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  23. package/lib/cjs/BackgroundMapSettings.js +154 -156
  24. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  25. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  26. package/lib/cjs/Base64EncodedString.d.ts.map +1 -1
  27. package/lib/cjs/Base64EncodedString.js +66 -66
  28. package/lib/cjs/Base64EncodedString.js.map +1 -1
  29. package/lib/cjs/BlobReader.d.ts +31 -31
  30. package/lib/cjs/BlobReader.js +84 -84
  31. package/lib/cjs/BriefcaseTypes.d.ts +191 -189
  32. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  33. package/lib/cjs/BriefcaseTypes.js +95 -95
  34. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  35. package/lib/cjs/Camera.d.ts +42 -42
  36. package/lib/cjs/Camera.js +62 -62
  37. package/lib/cjs/Camera.js.map +1 -1
  38. package/lib/cjs/ChangedElements.d.ts +85 -85
  39. package/lib/cjs/ChangedElements.js +23 -23
  40. package/lib/cjs/ChangedEntities.d.ts +45 -45
  41. package/lib/cjs/ChangedEntities.d.ts.map +1 -1
  42. package/lib/cjs/ChangedEntities.js +9 -9
  43. package/lib/cjs/ChangesetProps.d.ts +98 -98
  44. package/lib/cjs/ChangesetProps.d.ts.map +1 -1
  45. package/lib/cjs/ChangesetProps.js +22 -22
  46. package/lib/cjs/ChangesetProps.js.map +1 -1
  47. package/lib/cjs/ClipStyle.d.ts +89 -89
  48. package/lib/cjs/ClipStyle.js +121 -123
  49. package/lib/cjs/ClipStyle.js.map +1 -1
  50. package/lib/cjs/Code.d.ts +278 -277
  51. package/lib/cjs/Code.d.ts.map +1 -1
  52. package/lib/cjs/Code.js +271 -269
  53. package/lib/cjs/Code.js.map +1 -1
  54. package/lib/cjs/ColorByName.d.ts +161 -161
  55. package/lib/cjs/ColorByName.js +169 -169
  56. package/lib/cjs/ColorDef.d.ts +210 -208
  57. package/lib/cjs/ColorDef.d.ts.map +1 -1
  58. package/lib/cjs/ColorDef.js +572 -571
  59. package/lib/cjs/ColorDef.js.map +1 -1
  60. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  61. package/lib/cjs/CommonLoggerCategory.js +26 -26
  62. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  63. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  64. package/lib/cjs/ConcurrentQuery.js +552 -552
  65. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  66. package/lib/cjs/ContextRealityModel.d.ts +303 -303
  67. package/lib/cjs/ContextRealityModel.js +371 -373
  68. package/lib/cjs/ContextRealityModel.js.map +1 -1
  69. package/lib/cjs/DisplayStyleSettings.d.ts +593 -588
  70. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  71. package/lib/cjs/DisplayStyleSettings.js +990 -985
  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/ECSqlReader.d.ts +72 -70
  76. package/lib/cjs/ECSqlReader.d.ts.map +1 -1
  77. package/lib/cjs/ECSqlReader.js +297 -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/ElementMesh.d.ts +39 -39
  82. package/lib/cjs/ElementMesh.js +56 -56
  83. package/lib/cjs/ElementProps.d.ts +483 -483
  84. package/lib/cjs/ElementProps.d.ts.map +1 -1
  85. package/lib/cjs/ElementProps.js +99 -99
  86. package/lib/cjs/ElementProps.js.map +1 -1
  87. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  88. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  89. package/lib/cjs/EntityProps.d.ts +177 -177
  90. package/lib/cjs/EntityProps.d.ts.map +1 -1
  91. package/lib/cjs/EntityProps.js +113 -113
  92. package/lib/cjs/EntityReference.d.ts +51 -51
  93. package/lib/cjs/EntityReference.d.ts.map +1 -1
  94. package/lib/cjs/EntityReference.js +56 -56
  95. package/lib/cjs/Environment.d.ts +74 -61
  96. package/lib/cjs/Environment.d.ts.map +1 -1
  97. package/lib/cjs/Environment.js +78 -73
  98. package/lib/cjs/Environment.js.map +1 -1
  99. package/lib/cjs/FeatureIndex.d.ts +39 -39
  100. package/lib/cjs/FeatureIndex.js +63 -63
  101. package/lib/cjs/FeatureIndex.js.map +1 -1
  102. package/lib/cjs/FeatureSymbology.d.ts +449 -444
  103. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  104. package/lib/cjs/FeatureSymbology.js +618 -614
  105. package/lib/cjs/FeatureSymbology.js.map +1 -1
  106. package/lib/cjs/FeatureTable.d.ts +255 -141
  107. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  108. package/lib/cjs/FeatureTable.js +484 -278
  109. package/lib/cjs/FeatureTable.js.map +1 -1
  110. package/lib/cjs/Fonts.d.ts +51 -51
  111. package/lib/cjs/Fonts.d.ts.map +1 -1
  112. package/lib/cjs/Fonts.js +53 -53
  113. package/lib/cjs/Frustum.d.ts +114 -114
  114. package/lib/cjs/Frustum.js +292 -292
  115. package/lib/cjs/GeoCoordinateServices.d.ts +123 -119
  116. package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
  117. package/lib/cjs/GeoCoordinateServices.js +81 -80
  118. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  119. package/lib/cjs/GeometryContainment.d.ts +28 -28
  120. package/lib/cjs/GeometryContainment.js +9 -9
  121. package/lib/cjs/GeometryParams.d.ts +130 -130
  122. package/lib/cjs/GeometryParams.js +174 -174
  123. package/lib/cjs/GeometrySummary.d.ts +45 -45
  124. package/lib/cjs/GeometrySummary.js +23 -23
  125. package/lib/cjs/Gradient.d.ts +139 -139
  126. package/lib/cjs/Gradient.js +453 -455
  127. package/lib/cjs/Gradient.js.map +1 -1
  128. package/lib/cjs/GraphicParams.d.ts +58 -58
  129. package/lib/cjs/GraphicParams.js +85 -85
  130. package/lib/cjs/GraphicParams.js.map +1 -1
  131. package/lib/cjs/GroundPlane.d.ts +52 -52
  132. package/lib/cjs/GroundPlane.d.ts.map +1 -1
  133. package/lib/cjs/GroundPlane.js +63 -64
  134. package/lib/cjs/GroundPlane.js.map +1 -1
  135. package/lib/cjs/HSLColor.d.ts +20 -20
  136. package/lib/cjs/HSLColor.js +32 -32
  137. package/lib/cjs/HSLColor.js.map +1 -1
  138. package/lib/cjs/HSVColor.d.ts +30 -30
  139. package/lib/cjs/HSVColor.js +59 -59
  140. package/lib/cjs/HSVColor.js.map +1 -1
  141. package/lib/cjs/HiddenLine.d.ts +97 -97
  142. package/lib/cjs/HiddenLine.js +160 -162
  143. package/lib/cjs/HiddenLine.js.map +1 -1
  144. package/lib/cjs/Hilite.d.ts +50 -50
  145. package/lib/cjs/Hilite.js +64 -64
  146. package/lib/cjs/Hilite.js.map +1 -1
  147. package/lib/cjs/IModel.d.ts +358 -359
  148. package/lib/cjs/IModel.d.ts.map +1 -1
  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.d.ts.map +1 -1
  153. package/lib/cjs/IModelError.js +71 -71
  154. package/lib/cjs/IModelError.js.map +1 -1
  155. package/lib/cjs/IModelVersion.d.ts +68 -68
  156. package/lib/cjs/IModelVersion.d.ts.map +1 -1
  157. package/lib/cjs/IModelVersion.js +79 -79
  158. package/lib/cjs/Image.d.ts +86 -86
  159. package/lib/cjs/Image.js +128 -128
  160. package/lib/cjs/Image.js.map +1 -1
  161. package/lib/cjs/IpcAppProps.d.ts +141 -141
  162. package/lib/cjs/IpcAppProps.js +23 -23
  163. package/lib/cjs/LightSettings.d.ts +224 -224
  164. package/lib/cjs/LightSettings.js +304 -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/Localization.d.ts +117 -113
  169. package/lib/cjs/Localization.d.ts.map +1 -1
  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.d.ts.map +1 -1
  174. package/lib/cjs/MapImagerySettings.js +80 -80
  175. package/lib/cjs/MapImagerySettings.js.map +1 -1
  176. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  177. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  178. package/lib/cjs/MapLayerSettings.js +407 -411
  179. package/lib/cjs/MapLayerSettings.js.map +1 -1
  180. package/lib/cjs/MassProperties.d.ts +64 -64
  181. package/lib/cjs/MassProperties.js +23 -23
  182. package/lib/cjs/MaterialProps.d.ts +165 -153
  183. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  184. package/lib/cjs/MaterialProps.js +37 -35
  185. package/lib/cjs/MaterialProps.js.map +1 -1
  186. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  187. package/lib/cjs/ModelClipGroup.js +96 -98
  188. package/lib/cjs/ModelClipGroup.js.map +1 -1
  189. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  190. package/lib/cjs/ModelGeometryChanges.d.ts.map +1 -1
  191. package/lib/cjs/ModelGeometryChanges.js +83 -83
  192. package/lib/cjs/ModelProps.d.ts +67 -67
  193. package/lib/cjs/ModelProps.js +9 -9
  194. package/lib/cjs/NativeAppProps.d.ts +122 -122
  195. package/lib/cjs/NativeAppProps.d.ts.map +1 -1
  196. package/lib/cjs/NativeAppProps.js +30 -30
  197. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  198. package/lib/cjs/OctEncodedNormal.js +98 -98
  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 +824 -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/RealityModelDisplaySettings.d.ts +183 -183
  211. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
  212. package/lib/cjs/RealityModelDisplaySettings.js +141 -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/RenderMaterial.d.ts +58 -58
  217. package/lib/cjs/RenderMaterial.js +75 -76
  218. package/lib/cjs/RenderMaterial.js.map +1 -1
  219. package/lib/cjs/RenderSchedule.d.ts +557 -543
  220. package/lib/cjs/RenderSchedule.d.ts.map +1 -1
  221. package/lib/cjs/RenderSchedule.js +1028 -1002
  222. package/lib/cjs/RenderSchedule.js.map +1 -1
  223. package/lib/cjs/RenderTexture.d.ts +70 -70
  224. package/lib/cjs/RenderTexture.d.ts.map +1 -1
  225. package/lib/cjs/RenderTexture.js +59 -59
  226. package/lib/cjs/RenderTexture.js.map +1 -1
  227. package/lib/cjs/RgbColor.d.ts +47 -47
  228. package/lib/cjs/RgbColor.js +77 -77
  229. package/lib/cjs/RpcInterface.d.ts +42 -33
  230. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  231. package/lib/cjs/RpcInterface.js +158 -137
  232. package/lib/cjs/RpcInterface.js.map +1 -1
  233. package/lib/cjs/RpcManager.d.ts +40 -40
  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/SkyBox.d.ts +217 -215
  239. package/lib/cjs/SkyBox.d.ts.map +1 -1
  240. package/lib/cjs/SkyBox.js +209 -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/SolarCalculate.d.ts +27 -27
  245. package/lib/cjs/SolarCalculate.js +211 -211
  246. package/lib/cjs/SolarShadows.d.ts +35 -35
  247. package/lib/cjs/SolarShadows.js +61 -62
  248. package/lib/cjs/SolarShadows.js.map +1 -1
  249. package/lib/cjs/SpatialClassification.d.ts +208 -208
  250. package/lib/cjs/SpatialClassification.js +339 -340
  251. package/lib/cjs/SpatialClassification.js.map +1 -1
  252. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  253. package/lib/cjs/SubCategoryAppearance.js +96 -96
  254. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  255. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  256. package/lib/cjs/SubCategoryOverride.js +104 -104
  257. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  258. package/lib/cjs/TerrainSettings.d.ts +82 -82
  259. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  260. package/lib/cjs/TerrainSettings.js +100 -102
  261. package/lib/cjs/TerrainSettings.js.map +1 -1
  262. package/lib/cjs/TextureMapping.d.ts +151 -118
  263. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  264. package/lib/cjs/TextureMapping.js +180 -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/ThematicDisplay.d.ts +230 -230
  269. package/lib/cjs/ThematicDisplay.js +343 -344
  270. package/lib/cjs/ThematicDisplay.js.map +1 -1
  271. package/lib/cjs/Thumbnail.d.ts +26 -26
  272. package/lib/cjs/Thumbnail.js +9 -9
  273. package/lib/cjs/TileProps.d.ts +88 -82
  274. package/lib/cjs/TileProps.d.ts.map +1 -1
  275. package/lib/cjs/TileProps.js +29 -29
  276. package/lib/cjs/TileProps.js.map +1 -1
  277. package/lib/cjs/Tween.d.ts +191 -191
  278. package/lib/cjs/Tween.d.ts.map +1 -1
  279. package/lib/cjs/Tween.js +570 -570
  280. package/lib/cjs/TxnAction.d.ts +21 -21
  281. package/lib/cjs/TxnAction.js +29 -29
  282. package/lib/cjs/ViewDetails.d.ts +125 -125
  283. package/lib/cjs/ViewDetails.js +166 -166
  284. package/lib/cjs/ViewDetails.js.map +1 -1
  285. package/lib/cjs/ViewFlags.d.ts +287 -287
  286. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  287. package/lib/cjs/ViewFlags.js +367 -368
  288. package/lib/cjs/ViewFlags.js.map +1 -1
  289. package/lib/cjs/ViewProps.d.ts +205 -205
  290. package/lib/cjs/ViewProps.js +9 -9
  291. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  292. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  293. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  294. package/lib/cjs/core-common.d.ts +244 -244
  295. package/lib/cjs/core-common.d.ts.map +1 -1
  296. package/lib/cjs/core-common.js +264 -260
  297. package/lib/cjs/core-common.js.map +1 -1
  298. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  299. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  300. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  301. package/lib/cjs/domains/GenericElementProps.js +9 -9
  302. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  303. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  304. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  305. package/lib/cjs/geometry/AreaPattern.js +203 -204
  306. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  307. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  308. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  309. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  310. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  311. package/lib/cjs/geometry/Cartographic.js +345 -345
  312. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  313. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  314. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  315. package/lib/cjs/geometry/CoordinateReferenceSystem.js +260 -261
  316. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  317. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  318. package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
  319. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  320. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  321. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  322. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  323. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  324. package/lib/cjs/geometry/FrustumPlanes.d.ts +83 -81
  325. package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
  326. package/lib/cjs/geometry/FrustumPlanes.js +227 -193
  327. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  328. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  329. package/lib/cjs/geometry/GeodeticDatum.d.ts.map +1 -1
  330. package/lib/cjs/geometry/GeodeticDatum.js +400 -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 +71 -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.d.ts.map +1 -1
  337. package/lib/cjs/geometry/GeometryStream.js +468 -469
  338. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  339. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  340. package/lib/cjs/geometry/ImageGraphic.d.ts.map +1 -1
  341. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  342. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  343. package/lib/cjs/geometry/LineStyle.js +129 -129
  344. package/lib/cjs/geometry/Placement.d.ts +95 -95
  345. package/lib/cjs/geometry/Placement.d.ts.map +1 -1
  346. package/lib/cjs/geometry/Placement.js +131 -131
  347. package/lib/cjs/geometry/Projection.d.ts +251 -251
  348. package/lib/cjs/geometry/Projection.d.ts.map +1 -1
  349. package/lib/cjs/geometry/Projection.js +198 -198
  350. package/lib/cjs/geometry/Projection.js.map +1 -1
  351. package/lib/cjs/geometry/TextString.d.ts +55 -55
  352. package/lib/cjs/geometry/TextString.js +65 -65
  353. package/lib/cjs/geometry/TextString.js.map +1 -1
  354. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  355. package/lib/cjs/ipc/IpcSession.js +27 -27
  356. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  357. package/lib/cjs/ipc/IpcSocket.d.ts.map +1 -1
  358. package/lib/cjs/ipc/IpcSocket.js +16 -16
  359. package/lib/cjs/ipc/IpcWebSocket.d.ts +60 -61
  360. package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
  361. package/lib/cjs/ipc/IpcWebSocket.js +148 -151
  362. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  363. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  364. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  365. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  366. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  367. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  368. package/lib/cjs/rpc/DevToolsRpcInterface.js +52 -48
  369. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  370. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  371. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  372. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  373. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  374. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +49 -61
  375. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  376. package/lib/cjs/rpc/IModelTileRpcInterface.js +79 -96
  377. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  378. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  379. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  380. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  381. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  382. package/lib/cjs/rpc/TestRpcManager.js +40 -40
  383. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  384. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  385. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  386. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  387. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  388. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  389. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  390. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
  391. package/lib/cjs/rpc/core/RpcConstants.js +109 -109
  392. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -57
  393. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  394. package/lib/cjs/rpc/core/RpcControl.js +150 -148
  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 +256 -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/RpcOperation.d.ts +67 -67
  403. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  404. package/lib/cjs/rpc/core/RpcOperation.js +135 -134
  405. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  406. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  407. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -95
  408. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  409. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  410. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  411. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  412. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  413. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  414. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  415. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  416. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  417. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  418. package/lib/cjs/rpc/core/RpcRegistry.js +198 -199
  419. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  420. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  421. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  422. package/lib/cjs/rpc/core/RpcRequest.js +478 -478
  423. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  424. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  425. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  426. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  427. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  428. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
  429. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  430. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  431. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -60
  432. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  433. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  434. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  435. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +76 -73
  436. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  437. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  438. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +141 -143
  439. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  440. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
  441. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  442. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  443. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  444. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  445. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  446. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  447. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  448. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  449. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  450. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  451. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  452. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  453. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  454. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  455. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  456. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
  457. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  458. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  459. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  460. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  461. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  462. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  463. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  464. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  465. package/lib/cjs/tile/ElementGraphics.js +9 -9
  466. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  467. package/lib/cjs/tile/GltfTileIO.d.ts.map +1 -1
  468. package/lib/cjs/tile/GltfTileIO.js +109 -109
  469. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  470. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  471. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  472. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  473. package/lib/cjs/tile/IModelTileIO.d.ts +77 -75
  474. package/lib/cjs/tile/IModelTileIO.d.ts.map +1 -1
  475. package/lib/cjs/tile/IModelTileIO.js +97 -95
  476. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  477. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  478. package/lib/cjs/tile/PntsTileIO.js +26 -26
  479. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  480. package/lib/cjs/tile/TileIO.d.ts +66 -66
  481. package/lib/cjs/tile/TileIO.js +118 -118
  482. package/lib/cjs/tile/TileMetadata.d.ts +240 -228
  483. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  484. package/lib/cjs/tile/TileMetadata.js +693 -676
  485. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  486. package/lib/cjs/tile/Tileset3dSchema.d.ts +97 -0
  487. package/lib/cjs/tile/Tileset3dSchema.d.ts.map +1 -0
  488. package/lib/cjs/tile/Tileset3dSchema.js +10 -0
  489. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -0
  490. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  491. package/lib/esm/AmbientOcclusion.js +52 -52
  492. package/lib/esm/AnalysisStyle.d.ts +134 -134
  493. package/lib/esm/AnalysisStyle.js +160 -159
  494. package/lib/esm/AnalysisStyle.js.map +1 -1
  495. package/lib/esm/Atmosphere.d.ts +99 -0
  496. package/lib/esm/Atmosphere.d.ts.map +1 -0
  497. package/lib/esm/Atmosphere.js +131 -0
  498. package/lib/esm/Atmosphere.js.map +1 -0
  499. package/lib/esm/AuthorizationClient.d.ts +17 -17
  500. package/lib/esm/AuthorizationClient.js +8 -8
  501. package/lib/esm/BackendTypes.d.ts +13 -12
  502. package/lib/esm/BackendTypes.d.ts.map +1 -1
  503. package/lib/esm/BackendTypes.js +8 -8
  504. package/lib/esm/BackendTypes.js.map +1 -1
  505. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  506. package/lib/esm/BackgroundMapProvider.d.ts.map +1 -1
  507. package/lib/esm/BackgroundMapProvider.js +63 -64
  508. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  509. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  510. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  511. package/lib/esm/BackgroundMapSettings.js +150 -152
  512. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  513. package/lib/esm/Base64EncodedString.d.ts +32 -32
  514. package/lib/esm/Base64EncodedString.d.ts.map +1 -1
  515. package/lib/esm/Base64EncodedString.js +63 -63
  516. package/lib/esm/Base64EncodedString.js.map +1 -1
  517. package/lib/esm/BlobReader.d.ts +31 -31
  518. package/lib/esm/BlobReader.js +79 -79
  519. package/lib/esm/BriefcaseTypes.d.ts +191 -189
  520. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  521. package/lib/esm/BriefcaseTypes.js +92 -92
  522. package/lib/esm/BriefcaseTypes.js.map +1 -1
  523. package/lib/esm/Camera.d.ts +42 -42
  524. package/lib/esm/Camera.js +58 -58
  525. package/lib/esm/Camera.js.map +1 -1
  526. package/lib/esm/ChangedElements.d.ts +85 -85
  527. package/lib/esm/ChangedElements.js +20 -20
  528. package/lib/esm/ChangedEntities.d.ts +45 -45
  529. package/lib/esm/ChangedEntities.d.ts.map +1 -1
  530. package/lib/esm/ChangedEntities.js +8 -8
  531. package/lib/esm/ChangesetProps.d.ts +98 -98
  532. package/lib/esm/ChangesetProps.d.ts.map +1 -1
  533. package/lib/esm/ChangesetProps.js +19 -19
  534. package/lib/esm/ChangesetProps.js.map +1 -1
  535. package/lib/esm/ClipStyle.d.ts +89 -89
  536. package/lib/esm/ClipStyle.js +118 -118
  537. package/lib/esm/ClipStyle.js.map +1 -1
  538. package/lib/esm/Code.d.ts +278 -277
  539. package/lib/esm/Code.d.ts.map +1 -1
  540. package/lib/esm/Code.js +266 -264
  541. package/lib/esm/Code.js.map +1 -1
  542. package/lib/esm/ColorByName.d.ts +161 -161
  543. package/lib/esm/ColorByName.js +166 -166
  544. package/lib/esm/ColorDef.d.ts +210 -208
  545. package/lib/esm/ColorDef.d.ts.map +1 -1
  546. package/lib/esm/ColorDef.js +569 -567
  547. package/lib/esm/ColorDef.js.map +1 -1
  548. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  549. package/lib/esm/CommonLoggerCategory.js +23 -23
  550. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  551. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  552. package/lib/esm/ConcurrentQuery.js +545 -545
  553. package/lib/esm/ConcurrentQuery.js.map +1 -1
  554. package/lib/esm/ContextRealityModel.d.ts +303 -303
  555. package/lib/esm/ContextRealityModel.js +366 -368
  556. package/lib/esm/ContextRealityModel.js.map +1 -1
  557. package/lib/esm/DisplayStyleSettings.d.ts +593 -588
  558. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  559. package/lib/esm/DisplayStyleSettings.js +985 -980
  560. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  561. package/lib/esm/ECSchemaProps.d.ts +39 -39
  562. package/lib/esm/ECSchemaProps.js +8 -8
  563. package/lib/esm/ECSqlReader.d.ts +72 -70
  564. package/lib/esm/ECSqlReader.d.ts.map +1 -1
  565. package/lib/esm/ECSqlReader.js +293 -275
  566. package/lib/esm/ECSqlReader.js.map +1 -1
  567. package/lib/esm/ECSqlTypes.d.ts +128 -128
  568. package/lib/esm/ECSqlTypes.js +185 -185
  569. package/lib/esm/ElementMesh.d.ts +39 -39
  570. package/lib/esm/ElementMesh.js +52 -52
  571. package/lib/esm/ElementProps.d.ts +483 -483
  572. package/lib/esm/ElementProps.d.ts.map +1 -1
  573. package/lib/esm/ElementProps.js +93 -92
  574. package/lib/esm/ElementProps.js.map +1 -1
  575. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  576. package/lib/esm/EmphasizeElementsProps.js +22 -22
  577. package/lib/esm/EntityProps.d.ts +177 -177
  578. package/lib/esm/EntityProps.d.ts.map +1 -1
  579. package/lib/esm/EntityProps.js +108 -108
  580. package/lib/esm/EntityReference.d.ts +51 -51
  581. package/lib/esm/EntityReference.d.ts.map +1 -1
  582. package/lib/esm/EntityReference.js +52 -52
  583. package/lib/esm/Environment.d.ts +74 -61
  584. package/lib/esm/Environment.d.ts.map +1 -1
  585. package/lib/esm/Environment.js +75 -69
  586. package/lib/esm/Environment.js.map +1 -1
  587. package/lib/esm/FeatureIndex.d.ts +39 -39
  588. package/lib/esm/FeatureIndex.js +57 -57
  589. package/lib/esm/FeatureIndex.js.map +1 -1
  590. package/lib/esm/FeatureSymbology.d.ts +449 -444
  591. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  592. package/lib/esm/FeatureSymbology.js +615 -609
  593. package/lib/esm/FeatureSymbology.js.map +1 -1
  594. package/lib/esm/FeatureTable.d.ts +255 -141
  595. package/lib/esm/FeatureTable.d.ts.map +1 -1
  596. package/lib/esm/FeatureTable.js +476 -272
  597. package/lib/esm/FeatureTable.js.map +1 -1
  598. package/lib/esm/Fonts.d.ts +51 -51
  599. package/lib/esm/Fonts.d.ts.map +1 -1
  600. package/lib/esm/Fonts.js +49 -49
  601. package/lib/esm/Frustum.d.ts +114 -114
  602. package/lib/esm/Frustum.js +288 -288
  603. package/lib/esm/GeoCoordinateServices.d.ts +123 -119
  604. package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
  605. package/lib/esm/GeoCoordinateServices.js +77 -76
  606. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  607. package/lib/esm/GeometryContainment.d.ts +28 -28
  608. package/lib/esm/GeometryContainment.js +8 -8
  609. package/lib/esm/GeometryParams.d.ts +130 -130
  610. package/lib/esm/GeometryParams.js +170 -170
  611. package/lib/esm/GeometrySummary.d.ts +45 -45
  612. package/lib/esm/GeometrySummary.js +20 -20
  613. package/lib/esm/Gradient.d.ts +139 -139
  614. package/lib/esm/Gradient.js +450 -452
  615. package/lib/esm/Gradient.js.map +1 -1
  616. package/lib/esm/GraphicParams.d.ts +58 -58
  617. package/lib/esm/GraphicParams.js +81 -81
  618. package/lib/esm/GraphicParams.js.map +1 -1
  619. package/lib/esm/GroundPlane.d.ts +52 -52
  620. package/lib/esm/GroundPlane.d.ts.map +1 -1
  621. package/lib/esm/GroundPlane.js +60 -60
  622. package/lib/esm/GroundPlane.js.map +1 -1
  623. package/lib/esm/HSLColor.d.ts +20 -20
  624. package/lib/esm/HSLColor.js +28 -28
  625. package/lib/esm/HSLColor.js.map +1 -1
  626. package/lib/esm/HSVColor.d.ts +30 -30
  627. package/lib/esm/HSVColor.js +55 -55
  628. package/lib/esm/HSVColor.js.map +1 -1
  629. package/lib/esm/HiddenLine.d.ts +97 -97
  630. package/lib/esm/HiddenLine.js +157 -159
  631. package/lib/esm/HiddenLine.js.map +1 -1
  632. package/lib/esm/Hilite.d.ts +50 -50
  633. package/lib/esm/Hilite.js +61 -61
  634. package/lib/esm/Hilite.js.map +1 -1
  635. package/lib/esm/IModel.d.ts +358 -359
  636. package/lib/esm/IModel.d.ts.map +1 -1
  637. package/lib/esm/IModel.js +343 -342
  638. package/lib/esm/IModel.js.map +1 -1
  639. package/lib/esm/IModelError.d.ts +42 -42
  640. package/lib/esm/IModelError.d.ts.map +1 -1
  641. package/lib/esm/IModelError.js +56 -56
  642. package/lib/esm/IModelError.js.map +1 -1
  643. package/lib/esm/IModelVersion.d.ts +68 -68
  644. package/lib/esm/IModelVersion.d.ts.map +1 -1
  645. package/lib/esm/IModelVersion.js +75 -75
  646. package/lib/esm/Image.d.ts +86 -86
  647. package/lib/esm/Image.js +120 -120
  648. package/lib/esm/Image.js.map +1 -1
  649. package/lib/esm/IpcAppProps.d.ts +141 -141
  650. package/lib/esm/IpcAppProps.js +19 -19
  651. package/lib/esm/LightSettings.d.ts +224 -224
  652. package/lib/esm/LightSettings.js +297 -301
  653. package/lib/esm/LightSettings.js.map +1 -1
  654. package/lib/esm/LinePixels.d.ts +34 -34
  655. package/lib/esm/LinePixels.js +39 -39
  656. package/lib/esm/Localization.d.ts +117 -113
  657. package/lib/esm/Localization.d.ts.map +1 -1
  658. package/lib/esm/Localization.js +29 -29
  659. package/lib/esm/Localization.js.map +1 -1
  660. package/lib/esm/MapImagerySettings.d.ts +62 -62
  661. package/lib/esm/MapImagerySettings.d.ts.map +1 -1
  662. package/lib/esm/MapImagerySettings.js +76 -76
  663. package/lib/esm/MapImagerySettings.js.map +1 -1
  664. package/lib/esm/MapLayerSettings.d.ts +272 -272
  665. package/lib/esm/MapLayerSettings.d.ts.map +1 -1
  666. package/lib/esm/MapLayerSettings.js +399 -403
  667. package/lib/esm/MapLayerSettings.js.map +1 -1
  668. package/lib/esm/MassProperties.d.ts +64 -64
  669. package/lib/esm/MassProperties.js +20 -20
  670. package/lib/esm/MaterialProps.d.ts +165 -153
  671. package/lib/esm/MaterialProps.d.ts.map +1 -1
  672. package/lib/esm/MaterialProps.js +34 -32
  673. package/lib/esm/MaterialProps.js.map +1 -1
  674. package/lib/esm/ModelClipGroup.d.ts +67 -67
  675. package/lib/esm/ModelClipGroup.js +91 -93
  676. package/lib/esm/ModelClipGroup.js.map +1 -1
  677. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  678. package/lib/esm/ModelGeometryChanges.d.ts.map +1 -1
  679. package/lib/esm/ModelGeometryChanges.js +80 -80
  680. package/lib/esm/ModelProps.d.ts +67 -67
  681. package/lib/esm/ModelProps.js +8 -8
  682. package/lib/esm/NativeAppProps.d.ts +122 -122
  683. package/lib/esm/NativeAppProps.d.ts.map +1 -1
  684. package/lib/esm/NativeAppProps.js +27 -27
  685. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  686. package/lib/esm/OctEncodedNormal.js +93 -93
  687. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  688. package/lib/esm/PlanProjectionSettings.js +59 -59
  689. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  690. package/lib/esm/PlanarClipMask.d.ts +177 -177
  691. package/lib/esm/PlanarClipMask.js +133 -132
  692. package/lib/esm/PlanarClipMask.js.map +1 -1
  693. package/lib/esm/QPoint.d.ts +479 -479
  694. package/lib/esm/QPoint.js +813 -815
  695. package/lib/esm/QPoint.js.map +1 -1
  696. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  697. package/lib/esm/RealityDataAccessProps.js +16 -16
  698. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  699. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
  700. package/lib/esm/RealityModelDisplaySettings.js +138 -137
  701. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  702. package/lib/esm/Render.d.ts +89 -89
  703. package/lib/esm/Render.js +165 -165
  704. package/lib/esm/RenderMaterial.d.ts +58 -58
  705. package/lib/esm/RenderMaterial.js +71 -72
  706. package/lib/esm/RenderMaterial.js.map +1 -1
  707. package/lib/esm/RenderSchedule.d.ts +557 -543
  708. package/lib/esm/RenderSchedule.d.ts.map +1 -1
  709. package/lib/esm/RenderSchedule.js +1025 -999
  710. package/lib/esm/RenderSchedule.js.map +1 -1
  711. package/lib/esm/RenderTexture.d.ts +70 -70
  712. package/lib/esm/RenderTexture.d.ts.map +1 -1
  713. package/lib/esm/RenderTexture.js +55 -55
  714. package/lib/esm/RenderTexture.js.map +1 -1
  715. package/lib/esm/RgbColor.d.ts +47 -47
  716. package/lib/esm/RgbColor.js +73 -73
  717. package/lib/esm/RpcInterface.d.ts +42 -33
  718. package/lib/esm/RpcInterface.d.ts.map +1 -1
  719. package/lib/esm/RpcInterface.js +154 -133
  720. package/lib/esm/RpcInterface.js.map +1 -1
  721. package/lib/esm/RpcManager.d.ts +40 -40
  722. package/lib/esm/RpcManager.js +51 -51
  723. package/lib/esm/RpcManager.js.map +1 -1
  724. package/lib/esm/SessionProps.d.ts +16 -16
  725. package/lib/esm/SessionProps.js +8 -8
  726. package/lib/esm/SkyBox.d.ts +217 -215
  727. package/lib/esm/SkyBox.d.ts.map +1 -1
  728. package/lib/esm/SkyBox.js +204 -203
  729. package/lib/esm/SkyBox.js.map +1 -1
  730. package/lib/esm/Snapping.d.ts +49 -49
  731. package/lib/esm/Snapping.js +8 -8
  732. package/lib/esm/SolarCalculate.d.ts +27 -27
  733. package/lib/esm/SolarCalculate.js +204 -204
  734. package/lib/esm/SolarShadows.d.ts +35 -35
  735. package/lib/esm/SolarShadows.js +58 -58
  736. package/lib/esm/SolarShadows.js.map +1 -1
  737. package/lib/esm/SpatialClassification.d.ts +208 -208
  738. package/lib/esm/SpatialClassification.js +333 -334
  739. package/lib/esm/SpatialClassification.js.map +1 -1
  740. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  741. package/lib/esm/SubCategoryAppearance.js +93 -92
  742. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  743. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  744. package/lib/esm/SubCategoryOverride.js +101 -100
  745. package/lib/esm/SubCategoryOverride.js.map +1 -1
  746. package/lib/esm/TerrainSettings.d.ts +82 -82
  747. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  748. package/lib/esm/TerrainSettings.js +96 -98
  749. package/lib/esm/TerrainSettings.js.map +1 -1
  750. package/lib/esm/TextureMapping.d.ts +151 -118
  751. package/lib/esm/TextureMapping.d.ts.map +1 -1
  752. package/lib/esm/TextureMapping.js +176 -170
  753. package/lib/esm/TextureMapping.js.map +1 -1
  754. package/lib/esm/TextureProps.d.ts +65 -65
  755. package/lib/esm/TextureProps.js +25 -25
  756. package/lib/esm/ThematicDisplay.d.ts +230 -230
  757. package/lib/esm/ThematicDisplay.js +337 -337
  758. package/lib/esm/ThematicDisplay.js.map +1 -1
  759. package/lib/esm/Thumbnail.d.ts +26 -26
  760. package/lib/esm/Thumbnail.js +8 -8
  761. package/lib/esm/TileProps.d.ts +88 -82
  762. package/lib/esm/TileProps.d.ts.map +1 -1
  763. package/lib/esm/TileProps.js +25 -25
  764. package/lib/esm/TileProps.js.map +1 -1
  765. package/lib/esm/Tween.d.ts +191 -191
  766. package/lib/esm/Tween.d.ts.map +1 -1
  767. package/lib/esm/Tween.js +565 -565
  768. package/lib/esm/TxnAction.d.ts +21 -21
  769. package/lib/esm/TxnAction.js +26 -26
  770. package/lib/esm/ViewDetails.d.ts +125 -125
  771. package/lib/esm/ViewDetails.js +162 -161
  772. package/lib/esm/ViewDetails.js.map +1 -1
  773. package/lib/esm/ViewFlags.d.ts +287 -287
  774. package/lib/esm/ViewFlags.d.ts.map +1 -1
  775. package/lib/esm/ViewFlags.js +364 -364
  776. package/lib/esm/ViewFlags.js.map +1 -1
  777. package/lib/esm/ViewProps.d.ts +205 -205
  778. package/lib/esm/ViewProps.js +8 -8
  779. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  780. package/lib/esm/WhiteOnWhiteReversalSettings.js +34 -33
  781. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  782. package/lib/esm/core-common.d.ts +244 -244
  783. package/lib/esm/core-common.d.ts.map +1 -1
  784. package/lib/esm/core-common.js +248 -248
  785. package/lib/esm/core-common.js.map +1 -1
  786. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  787. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  788. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  789. package/lib/esm/domains/GenericElementProps.js +8 -8
  790. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  791. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  792. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  793. package/lib/esm/geometry/AreaPattern.js +200 -201
  794. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  795. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  796. package/lib/esm/geometry/BoundingSphere.js +40 -40
  797. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  798. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  799. package/lib/esm/geometry/Cartographic.js +341 -340
  800. package/lib/esm/geometry/Cartographic.js.map +1 -1
  801. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  802. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  803. package/lib/esm/geometry/CoordinateReferenceSystem.js +253 -254
  804. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  805. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  806. package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
  807. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  808. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  809. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  810. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  811. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  812. package/lib/esm/geometry/FrustumPlanes.d.ts +83 -81
  813. package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
  814. package/lib/esm/geometry/FrustumPlanes.js +223 -189
  815. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  816. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  817. package/lib/esm/geometry/GeodeticDatum.d.ts.map +1 -1
  818. package/lib/esm/geometry/GeodeticDatum.js +389 -390
  819. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  820. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  821. package/lib/esm/geometry/GeodeticEllipsoid.js +67 -68
  822. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  823. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  824. package/lib/esm/geometry/GeometryStream.d.ts.map +1 -1
  825. package/lib/esm/geometry/GeometryStream.js +463 -464
  826. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  827. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  828. package/lib/esm/geometry/ImageGraphic.d.ts.map +1 -1
  829. package/lib/esm/geometry/ImageGraphic.js +93 -93
  830. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  831. package/lib/esm/geometry/LineStyle.js +126 -126
  832. package/lib/esm/geometry/Placement.d.ts +95 -95
  833. package/lib/esm/geometry/Placement.d.ts.map +1 -1
  834. package/lib/esm/geometry/Placement.js +126 -126
  835. package/lib/esm/geometry/Projection.d.ts +251 -251
  836. package/lib/esm/geometry/Projection.d.ts.map +1 -1
  837. package/lib/esm/geometry/Projection.js +192 -192
  838. package/lib/esm/geometry/Projection.js.map +1 -1
  839. package/lib/esm/geometry/TextString.d.ts +55 -55
  840. package/lib/esm/geometry/TextString.js +61 -61
  841. package/lib/esm/geometry/TextString.js.map +1 -1
  842. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  843. package/lib/esm/ipc/IpcSession.js +23 -23
  844. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  845. package/lib/esm/ipc/IpcSocket.d.ts.map +1 -1
  846. package/lib/esm/ipc/IpcSocket.js +12 -12
  847. package/lib/esm/ipc/IpcWebSocket.d.ts +60 -61
  848. package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
  849. package/lib/esm/ipc/IpcWebSocket.js +143 -145
  850. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  851. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  852. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  853. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  854. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  855. package/lib/esm/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  856. package/lib/esm/rpc/DevToolsRpcInterface.js +49 -44
  857. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  858. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  859. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  860. package/lib/esm/rpc/IModelReadRpcInterface.js +118 -117
  861. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  862. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +49 -61
  863. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  864. package/lib/esm/rpc/IModelTileRpcInterface.js +76 -92
  865. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  866. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  867. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +45 -44
  868. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  869. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  870. package/lib/esm/rpc/TestRpcManager.js +36 -36
  871. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  872. package/lib/esm/rpc/WipRpcInterface.js +37 -36
  873. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  874. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  875. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  876. package/lib/esm/rpc/core/RpcConfiguration.js +185 -184
  877. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  878. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
  879. package/lib/esm/rpc/core/RpcConstants.js +106 -106
  880. package/lib/esm/rpc/core/RpcControl.d.ts +54 -57
  881. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  882. package/lib/esm/rpc/core/RpcControl.js +144 -141
  883. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  884. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  885. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  886. package/lib/esm/rpc/core/RpcInvocation.js +253 -254
  887. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  888. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  889. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  890. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  891. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  892. package/lib/esm/rpc/core/RpcOperation.js +130 -129
  893. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  894. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  895. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -91
  896. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  897. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  898. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  899. package/lib/esm/rpc/core/RpcProtocol.js +124 -123
  900. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  901. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  902. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  903. package/lib/esm/rpc/core/RpcPush.js +121 -119
  904. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  905. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  906. package/lib/esm/rpc/core/RpcRegistry.js +194 -195
  907. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  908. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  909. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  910. package/lib/esm/rpc/core/RpcRequest.js +474 -473
  911. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  912. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  913. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  914. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  915. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  916. package/lib/esm/rpc/core/RpcRoutingToken.js +21 -20
  917. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  918. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  919. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
  920. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  921. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  922. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  923. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +72 -68
  924. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  925. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  926. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +137 -139
  927. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  928. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
  929. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  930. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  931. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  932. package/lib/esm/rpc/web/RpcMultipart.js +47 -46
  933. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  934. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  935. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  936. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  937. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  938. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  939. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  940. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  941. package/lib/esm/rpc/web/WebAppRpcRequest.js +236 -235
  942. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  943. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  944. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
  945. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  946. package/lib/esm/tile/B3dmTileIO.js +62 -62
  947. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  948. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  949. package/lib/esm/tile/CompositeTileIO.js +22 -22
  950. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  951. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  952. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  953. package/lib/esm/tile/ElementGraphics.js +8 -8
  954. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  955. package/lib/esm/tile/GltfTileIO.d.ts.map +1 -1
  956. package/lib/esm/tile/GltfTileIO.js +105 -105
  957. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  958. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  959. package/lib/esm/tile/I3dmTileIO.js +36 -36
  960. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  961. package/lib/esm/tile/IModelTileIO.d.ts +77 -75
  962. package/lib/esm/tile/IModelTileIO.d.ts.map +1 -1
  963. package/lib/esm/tile/IModelTileIO.js +93 -90
  964. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  965. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  966. package/lib/esm/tile/PntsTileIO.js +22 -22
  967. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  968. package/lib/esm/tile/TileIO.d.ts +66 -66
  969. package/lib/esm/tile/TileIO.js +110 -110
  970. package/lib/esm/tile/TileMetadata.d.ts +240 -228
  971. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  972. package/lib/esm/tile/TileMetadata.js +677 -661
  973. package/lib/esm/tile/TileMetadata.js.map +1 -1
  974. package/lib/esm/tile/Tileset3dSchema.d.ts +97 -0
  975. package/lib/esm/tile/Tileset3dSchema.d.ts.map +1 -0
  976. package/lib/esm/tile/Tileset3dSchema.js +9 -0
  977. package/lib/esm/tile/Tileset3dSchema.js.map +1 -0
  978. package/package.json +15 -18
  979. package/lib/cjs/CloudStorage.d.ts +0 -63
  980. package/lib/cjs/CloudStorage.d.ts.map +0 -1
  981. package/lib/cjs/CloudStorage.js +0 -114
  982. package/lib/cjs/CloudStorage.js.map +0 -1
  983. package/lib/cjs/CloudStorageTileCache.d.ts +0 -28
  984. package/lib/cjs/CloudStorageTileCache.d.ts.map +0 -1
  985. package/lib/cjs/CloudStorageTileCache.js +0 -67
  986. package/lib/cjs/CloudStorageTileCache.js.map +0 -1
  987. package/lib/esm/CloudStorage.d.ts +0 -63
  988. package/lib/esm/CloudStorage.d.ts.map +0 -1
  989. package/lib/esm/CloudStorage.js +0 -110
  990. package/lib/esm/CloudStorage.js.map +0 -1
  991. package/lib/esm/CloudStorageTileCache.d.ts +0 -28
  992. package/lib/esm/CloudStorageTileCache.d.ts.map +0 -1
  993. package/lib/esm/CloudStorageTileCache.js +0 -63
  994. package/lib/esm/CloudStorageTileCache.js.map +0 -1
@@ -1,273 +1,477 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Rendering
7
- */
8
- import { assert, compareNumbers, compareStrings, Id64, IndexedValue, IndexMap } from "@itwin/core-bentley";
9
- import { GeometryClass } from "./GeometryParams";
10
- /** Describes a discrete entity within a batched [RenderGraphic]($frontend) that can be
11
- * grouped with other such entities in a [[FeatureTable]].
12
- * Features roughly correlate to elements: a [Tile]($frontend)'s graphics combines geometry from every
13
- * [GeometricElement]($backend) that intersects the tile's volume, so each element produces at least one feature.
14
- * However, an element's geometry stream can contain geometry belonging to multiple different combinations of [SubCategory]($backend) and
15
- * [[GeometryClass]], so an individual element may produce more than one feature.
16
- * @see [[FeatureOverrides]] for customizing the appearance of individual features.
17
- * @public
18
- */
19
- export class Feature {
20
- constructor(elementId = Id64.invalid, subCategoryId = Id64.invalid, geometryClass = GeometryClass.Primary) {
21
- this.elementId = elementId;
22
- this.subCategoryId = subCategoryId;
23
- this.geometryClass = geometryClass;
24
- }
25
- get isDefined() { return !Id64.isInvalid(this.elementId) || !Id64.isInvalid(this.subCategoryId) || this.geometryClass !== GeometryClass.Primary; }
26
- get isUndefined() { return !this.isDefined; }
27
- /** Returns true if this feature is equivalent to the supplied feature. */
28
- equals(other) { return 0 === this.compare(other); }
29
- /** Performs ordinal comparison of this feature with another.
30
- * @param rhs The feature to compare with.
31
- * @returns zero if the features are equivalent, a negative value if this feature compares as "less than" `rhs`, or a positive value if this feature compares "greater than" `rhs`.
32
- */
33
- compare(rhs) {
34
- if (this === rhs)
35
- return 0;
36
- let cmp = compareNumbers(this.geometryClass, rhs.geometryClass);
37
- if (0 === cmp) {
38
- cmp = compareStrings(this.elementId, rhs.elementId);
39
- if (0 === cmp) {
40
- cmp = compareStrings(this.subCategoryId, rhs.subCategoryId);
41
- }
42
- }
43
- return cmp;
44
- }
45
- }
46
- /** Describes the type of a 'batch' of graphics representing multiple [[Feature]]s.
47
- * The most commonly-encountered batches are Tiles, which can be of either Primary or
48
- * Classifier type.
49
- * @public
50
- * @extensions
51
- */
52
- export var BatchType;
53
- (function (BatchType) {
54
- /** This batch contains graphics derived from a model's visible geometry. */
55
- BatchType[BatchType["Primary"] = 0] = "Primary";
56
- /**
57
- * This batch contains color volumes which are used to classify a model's visible geometry.
58
- * The graphics themselves are not rendered to the screen; instead they are rendered to the stencil buffer
59
- * to resymbolize the primary geometry.
60
- */
61
- BatchType[BatchType["VolumeClassifier"] = 1] = "VolumeClassifier";
62
- /**
63
- * This batch contains planar graphics which are used to classify a model's visible geometry.
64
- * The graphics themselves are not rendered to the screen; instead they are rendered to a texture buffer
65
- * to resymbolize the primary geometry.
66
- */
67
- BatchType[BatchType["PlanarClassifier"] = 2] = "PlanarClassifier";
68
- })(BatchType || (BatchType = {}));
69
- /** Defines a look-up table for [[Feature]]s within a batched [RenderGraphic]($frontend). Consecutive 32-bit
70
- * indices are assigned to each unique Feature. Primitives within the RenderGraphic can
71
- * use per-vertex indices to specify the distribution of Features within the primitive. The appearance of individual
72
- * features can be customized using [[FeatureOverrides]]. Typically a [Tile]($frontend) will contain a feature table
73
- * identifying the elements whose geometry appears within that tile.
74
- * @see [[FeatureOverrides]] for customizing the appearance of individual features.
75
- * @public
76
- */
77
- export class FeatureTable extends IndexMap {
78
- /** Construct an empty FeatureTable. */
79
- constructor(maxFeatures, modelId = Id64.invalid, type = BatchType.Primary) {
80
- super((lhs, rhs) => lhs.compare(rhs), maxFeatures);
81
- this.modelId = modelId;
82
- this.type = type;
83
- }
84
- /** Returns the maximum number of [[Feature]]s this FeatureTable can contain. */
85
- get maxFeatures() { return this._maximumSize; }
86
- /** @internal */
87
- get anyDefined() { return this.length > 1 || (1 === this.length && this._array[0].value.isDefined); }
88
- /** Returns true if this FeatureTable contains exactly one [[Feature]]. */
89
- get isUniform() { return 1 === this.length; }
90
- /** If this FeatureTable contains exactly one [[Feature]], returns that Feature; otherwise returns undefined. */
91
- get uniform() { return 1 === this.length ? this._array[0].value : undefined; }
92
- /** Returns true if this FeatureTable is associated with [[BatchType.VolumeClassifier]] geometry. */
93
- get isVolumeClassifier() { return BatchType.VolumeClassifier === this.type; }
94
- /** Returns true if this FeatureTable is associated with [[BatchType.PlanarClassifier]] geometry. */
95
- get isPlanarClassifier() { return BatchType.PlanarClassifier === this.type; }
96
- /** Returns the Feature corresponding to the specified index, or undefined if the index is not present. */
97
- findFeature(index) {
98
- for (const entry of this._array)
99
- if (entry.index === index)
100
- return entry.value;
101
- return undefined;
102
- }
103
- /** @internal */
104
- insertWithIndex(feature, index) {
105
- const bound = this.lowerBound(feature);
106
- assert(!bound.equal);
107
- assert(!this.isFull);
108
- const entry = new IndexedValue(feature, index);
109
- this._array.splice(bound.index, 0, entry);
110
- }
111
- /** @internal */
112
- getArray() { return this._array; }
113
- }
114
- /**
115
- * An immutable, packed representation of a [[FeatureTable]]. The features are packed into a single array of 32-bit integer values,
116
- * wherein each feature occupies 3 32-bit integers.
117
- * @internal
118
- */
119
- export class PackedFeatureTable {
120
- /** Construct a PackedFeatureTable from the packed binary data.
121
- * This is used internally when deserializing Tiles in iMdl format.
122
- * @internal
123
- */
124
- constructor(data, modelId, numFeatures, maxFeatures, type, animationNodeIds) {
125
- this._data = data;
126
- this.modelId = modelId;
127
- this.maxFeatures = maxFeatures;
128
- this.numFeatures = numFeatures;
129
- this.type = type;
130
- this._animationNodeIds = animationNodeIds;
131
- switch (this.numFeatures) {
132
- case 0:
133
- this.anyDefined = false;
134
- break;
135
- case 1:
136
- this.anyDefined = this.getFeature(0).isDefined;
137
- break;
138
- default:
139
- this.anyDefined = true;
140
- break;
141
- }
142
- assert(this._data.length >= this._subCategoriesOffset);
143
- assert(this.maxFeatures >= this.numFeatures);
144
- assert(undefined === this._animationNodeIds || this._animationNodeIds.length === this.numFeatures);
145
- }
146
- get byteLength() { return this._data.byteLength; }
147
- get animationNodeIds() { return this._animationNodeIds; }
148
- /** Create a packed feature table from a [[FeatureTable]]. */
149
- static pack(featureTable) {
150
- // We must determine how many subcategories we have ahead of time to compute the size of the Uint32Array, as
151
- // the array cannot be resized after it is created.
152
- // We are not too worried about this as FeatureTables created on the front-end will contain few if any features; those obtained from the
153
- // back-end arrive within tiles already in the packed format.
154
- const subcategories = new Map();
155
- for (const iv of featureTable.getArray()) {
156
- const found = subcategories.get(iv.value.subCategoryId.toString());
157
- if (undefined === found)
158
- subcategories.set(iv.value.subCategoryId, subcategories.size);
159
- }
160
- // We need 3 32-bit integers per feature, plus 2 32-bit integers per subcategory.
161
- const subCategoriesOffset = 3 * featureTable.length;
162
- const nUint32s = subCategoriesOffset + 2 * subcategories.size;
163
- const uint32s = new Uint32Array(nUint32s);
164
- for (const iv of featureTable.getArray()) {
165
- const feature = iv.value;
166
- const index = iv.index * 3;
167
- let subCategoryIndex = subcategories.get(feature.subCategoryId);
168
- assert(undefined !== subCategoryIndex); // we inserted it above...
169
- subCategoryIndex |= (feature.geometryClass << 24);
170
- uint32s[index + 0] = Id64.getLowerUint32(feature.elementId);
171
- uint32s[index + 1] = Id64.getUpperUint32(feature.elementId);
172
- uint32s[index + 2] = subCategoryIndex;
173
- }
174
- subcategories.forEach((index, id, _map) => {
175
- const index32 = subCategoriesOffset + 2 * index;
176
- uint32s[index32 + 0] = Id64.getLowerUint32(id);
177
- uint32s[index32 + 1] = Id64.getUpperUint32(id);
178
- });
179
- return new PackedFeatureTable(uint32s, featureTable.modelId, featureTable.length, featureTable.maxFeatures, featureTable.type);
180
- }
181
- /** Retrieve the Feature associated with the specified index. */
182
- getFeature(featureIndex) {
183
- const packed = this.getPackedFeature(featureIndex);
184
- const elemId = Id64.fromUint32Pair(packed.elementId.lower, packed.elementId.upper);
185
- const subcatId = Id64.fromUint32Pair(packed.subCategoryId.lower, packed.subCategoryId.upper);
186
- return new Feature(elemId, subcatId, packed.geometryClass);
187
- }
188
- /** Returns the Feature associated with the specified index, or undefined if the index is out of range. */
189
- findFeature(featureIndex) {
190
- return featureIndex < this.numFeatures ? this.getFeature(featureIndex) : undefined;
191
- }
192
- /** @internal */
193
- getElementIdPair(featureIndex, out) {
194
- out = out !== null && out !== void 0 ? out : { lower: 0, upper: 0 };
195
- assert(featureIndex < this.numFeatures);
196
- const offset = 3 * featureIndex;
197
- out.lower = this._data[offset];
198
- out.upper = this._data[offset + 1];
199
- return out;
200
- }
201
- /** @internal */
202
- getSubCategoryIdPair(featureIndex) {
203
- const index = 3 * featureIndex;
204
- let subCatIndex = this._data[index + 2];
205
- subCatIndex = (subCatIndex & 0x00ffffff) >>> 0;
206
- subCatIndex = subCatIndex * 2 + this._subCategoriesOffset;
207
- return { lower: this._data[subCatIndex], upper: this._data[subCatIndex + 1] };
208
- }
209
- /** @internal */
210
- getAnimationNodeId(featureIndex) {
211
- return undefined !== this._animationNodeIds && featureIndex < this.numFeatures ? this._animationNodeIds[featureIndex] : 0;
212
- }
213
- /** @internal */
214
- getPackedFeature(featureIndex) {
215
- assert(featureIndex < this.numFeatures);
216
- const index32 = 3 * featureIndex;
217
- const elementId = { lower: this._data[index32], upper: this._data[index32 + 1] };
218
- const subCatIndexAndClass = this._data[index32 + 2];
219
- const geometryClass = (subCatIndexAndClass >>> 24) & 0xff;
220
- let subCatIndex = (subCatIndexAndClass & 0x00ffffff) >>> 0;
221
- subCatIndex = subCatIndex * 2 + this._subCategoriesOffset;
222
- const subCategoryId = { lower: this._data[subCatIndex], upper: this._data[subCatIndex + 1] };
223
- const animationNodeId = this.getAnimationNodeId(featureIndex);
224
- return { elementId, subCategoryId, geometryClass, animationNodeId };
225
- }
226
- /** Returns the element ID of the Feature associated with the specified index, or undefined if the index is out of range. */
227
- findElementId(featureIndex) {
228
- if (featureIndex >= this.numFeatures)
229
- return undefined;
230
- else
231
- return this.readId(3 * featureIndex);
232
- }
233
- /** Return true if this table contains exactly 1 feature. */
234
- get isUniform() { return 1 === this.numFeatures; }
235
- /** If this table contains exactly 1 feature, return it. */
236
- get uniform() { return this.isUniform ? this.getFeature(0) : undefined; }
237
- get isVolumeClassifier() { return BatchType.VolumeClassifier === this.type; }
238
- get isPlanarClassifier() { return BatchType.VolumeClassifier === this.type; }
239
- get isClassifier() { return this.isVolumeClassifier || this.isPlanarClassifier; }
240
- /** Unpack the features into a [[FeatureTable]]. */
241
- unpack() {
242
- const table = new FeatureTable(this.maxFeatures, this.modelId);
243
- for (let i = 0; i < this.numFeatures; i++) {
244
- const feature = this.getFeature(i);
245
- table.insertWithIndex(feature, i);
246
- }
247
- return table;
248
- }
249
- populateAnimationNodeIds(computeNodeId, maxNodeId) {
250
- assert(undefined === this._animationNodeIds);
251
- assert(maxNodeId > 0);
252
- const pair = { lower: 0, upper: 0 };
253
- let haveNodes = false;
254
- const size = this.numFeatures;
255
- const nodeIds = maxNodeId < 0x100 ? new Uint8Array(size) : (maxNodeId < 0x10000 ? new Uint16Array(size) : new Uint32Array(size));
256
- for (let i = 0; i < this.numFeatures; i++) {
257
- this.getElementIdPair(i, pair);
258
- const nodeId = computeNodeId(pair, i);
259
- assert(nodeId <= maxNodeId);
260
- if (0 !== nodeId) {
261
- nodeIds[i] = nodeId;
262
- haveNodes = true;
263
- }
264
- }
265
- if (haveNodes)
266
- this._animationNodeIds = nodeIds;
267
- }
268
- get _subCategoriesOffset() { return this.numFeatures * 3; }
269
- readId(offset32) {
270
- return Id64.fromUint32Pair(this._data[offset32], this._data[offset32 + 1]);
271
- }
272
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Rendering
7
+ */
8
+ import { assert, compareNumbers, compareStrings, Id64, IndexedValue, IndexMap, } from "@itwin/core-bentley";
9
+ import { GeometryClass } from "./GeometryParams";
10
+ /** Describes a discrete entity within a batched [RenderGraphic]($frontend) that can be
11
+ * grouped with other such entities in a [[FeatureTable]].
12
+ * Features roughly correlate to elements: a [Tile]($frontend)'s graphics combines geometry from every
13
+ * [GeometricElement]($backend) that intersects the tile's volume, so each element produces at least one feature.
14
+ * However, an element's geometry stream can contain geometry belonging to multiple different combinations of [SubCategory]($backend) and
15
+ * [[GeometryClass]], so an individual element may produce more than one feature.
16
+ * @see [[FeatureOverrides]] for customizing the appearance of individual features.
17
+ * @public
18
+ */
19
+ export class Feature {
20
+ constructor(elementId = Id64.invalid, subCategoryId = Id64.invalid, geometryClass = GeometryClass.Primary) {
21
+ this.elementId = elementId;
22
+ this.subCategoryId = subCategoryId;
23
+ this.geometryClass = geometryClass;
24
+ }
25
+ get isDefined() { return !Id64.isInvalid(this.elementId) || !Id64.isInvalid(this.subCategoryId) || this.geometryClass !== GeometryClass.Primary; }
26
+ get isUndefined() { return !this.isDefined; }
27
+ /** Returns true if this feature is equivalent to the supplied feature. */
28
+ equals(other) { return 0 === this.compare(other); }
29
+ /** Performs ordinal comparison of this feature with another.
30
+ * @param rhs The feature to compare with.
31
+ * @returns zero if the features are equivalent, a negative value if this feature compares as "less than" `rhs`, or a positive value if this feature compares "greater than" `rhs`.
32
+ */
33
+ compare(rhs) {
34
+ if (this === rhs)
35
+ return 0;
36
+ let cmp = compareNumbers(this.geometryClass, rhs.geometryClass);
37
+ if (0 === cmp) {
38
+ cmp = compareStrings(this.elementId, rhs.elementId);
39
+ if (0 === cmp) {
40
+ cmp = compareStrings(this.subCategoryId, rhs.subCategoryId);
41
+ }
42
+ }
43
+ return cmp;
44
+ }
45
+ }
46
+ /** @internal */
47
+ export var ModelFeature;
48
+ (function (ModelFeature) {
49
+ function create() {
50
+ return {
51
+ modelId: Id64.invalid,
52
+ elementId: Id64.invalid,
53
+ subCategoryId: Id64.invalid,
54
+ geometryClass: GeometryClass.Primary,
55
+ };
56
+ }
57
+ ModelFeature.create = create;
58
+ function isDefined(feature) {
59
+ return !Id64.isInvalid(feature.modelId) || !Id64.isInvalid(feature.elementId) || !Id64.isInvalid(feature.subCategoryId) || feature.geometryClass !== GeometryClass.Primary;
60
+ }
61
+ ModelFeature.isDefined = isDefined;
62
+ function unpack(packed, result, unpackedModelId) {
63
+ result.modelId = unpackedModelId ?? Id64.fromUint32PairObject(packed.modelId);
64
+ result.elementId = Id64.fromUint32PairObject(packed.elementId);
65
+ result.subCategoryId = Id64.fromUint32PairObject(packed.subCategoryId);
66
+ result.geometryClass = packed.geometryClass;
67
+ return result;
68
+ }
69
+ ModelFeature.unpack = unpack;
70
+ })(ModelFeature || (ModelFeature = {}));
71
+ /** @internal */
72
+ export var PackedFeature;
73
+ (function (PackedFeature) {
74
+ function create() {
75
+ const pair = { upper: 0, lower: 0 };
76
+ return {
77
+ modelId: { ...pair },
78
+ elementId: { ...pair },
79
+ subCategoryId: { ...pair },
80
+ geometryClass: GeometryClass.Primary,
81
+ animationNodeId: 0,
82
+ };
83
+ }
84
+ PackedFeature.create = create;
85
+ function createWithIndex() {
86
+ const result = create();
87
+ result.index = 0;
88
+ return result;
89
+ }
90
+ PackedFeature.createWithIndex = createWithIndex;
91
+ })(PackedFeature || (PackedFeature = {}));
92
+ /** Describes the type of a 'batch' of graphics representing multiple [[Feature]]s.
93
+ * The most commonly-encountered batches are Tiles, which can be of either Primary or
94
+ * Classifier type.
95
+ * @public
96
+ * @extensions
97
+ */
98
+ export var BatchType;
99
+ (function (BatchType) {
100
+ /** This batch contains graphics derived from a model's visible geometry. */
101
+ BatchType[BatchType["Primary"] = 0] = "Primary";
102
+ /**
103
+ * This batch contains color volumes which are used to classify a model's visible geometry.
104
+ * The graphics themselves are not rendered to the screen; instead they are rendered to the stencil buffer
105
+ * to resymbolize the primary geometry.
106
+ */
107
+ BatchType[BatchType["VolumeClassifier"] = 1] = "VolumeClassifier";
108
+ /**
109
+ * This batch contains planar graphics which are used to classify a model's visible geometry.
110
+ * The graphics themselves are not rendered to the screen; instead they are rendered to a texture buffer
111
+ * to resymbolize the primary geometry.
112
+ */
113
+ BatchType[BatchType["PlanarClassifier"] = 2] = "PlanarClassifier";
114
+ })(BatchType || (BatchType = {}));
115
+ /** Defines a look-up table for [[Feature]]s within a batched [RenderGraphic]($frontend). Consecutive 32-bit
116
+ * indices are assigned to each unique Feature. Primitives within the RenderGraphic can
117
+ * use per-vertex indices to specify the distribution of Features within the primitive. The appearance of individual
118
+ * features can be customized using [[FeatureOverrides]]. Typically a [Tile]($frontend) will contain a feature table
119
+ * identifying the elements whose geometry appears within that tile.
120
+ * @see [[FeatureOverrides]] for customizing the appearance of individual features.
121
+ * @public
122
+ */
123
+ export class FeatureTable extends IndexMap {
124
+ /** Construct an empty FeatureTable. */
125
+ constructor(maxFeatures, modelId = Id64.invalid, type = BatchType.Primary) {
126
+ super((lhs, rhs) => lhs.compare(rhs), maxFeatures);
127
+ this.modelId = modelId;
128
+ this.type = type;
129
+ }
130
+ /** Returns the maximum number of [[Feature]]s this FeatureTable can contain. */
131
+ get maxFeatures() { return this._maximumSize; }
132
+ /** @internal */
133
+ get anyDefined() { return this.length > 1 || (1 === this.length && this._array[0].value.isDefined); }
134
+ /** Returns true if this FeatureTable contains exactly one [[Feature]]. */
135
+ get isUniform() { return 1 === this.length; }
136
+ /** If this FeatureTable contains exactly one [[Feature]], returns that Feature; otherwise returns undefined. */
137
+ get uniform() { return 1 === this.length ? this._array[0].value : undefined; }
138
+ /** Returns true if this FeatureTable is associated with [[BatchType.VolumeClassifier]] geometry. */
139
+ get isVolumeClassifier() { return BatchType.VolumeClassifier === this.type; }
140
+ /** Returns true if this FeatureTable is associated with [[BatchType.PlanarClassifier]] geometry. */
141
+ get isPlanarClassifier() { return BatchType.PlanarClassifier === this.type; }
142
+ /** Returns the Feature corresponding to the specified index, or undefined if the index is not present. */
143
+ findFeature(index) {
144
+ for (const entry of this._array)
145
+ if (entry.index === index)
146
+ return entry.value;
147
+ return undefined;
148
+ }
149
+ /** @internal */
150
+ insertWithIndex(feature, index) {
151
+ const bound = this.lowerBound(feature);
152
+ assert(!bound.equal);
153
+ assert(!this.isFull);
154
+ const entry = new IndexedValue(feature, index);
155
+ this._array.splice(bound.index, 0, entry);
156
+ }
157
+ /** @internal */
158
+ getArray() { return this._array; }
159
+ }
160
+ const scratchPackedFeature = PackedFeature.create();
161
+ function populateAnimationNodeIds(table, computeNodeId, maxNodeId) {
162
+ assert(maxNodeId > 0);
163
+ let nodeIds;
164
+ const outputFeature = PackedFeature.createWithIndex();
165
+ for (const feature of table.iterable(outputFeature)) {
166
+ const nodeId = computeNodeId(feature);
167
+ assert(nodeId <= maxNodeId);
168
+ if (0 !== nodeId) {
169
+ if (!nodeIds) {
170
+ const size = table.numFeatures;
171
+ nodeIds = maxNodeId < 0x100 ? new Uint8Array(size) : (maxNodeId < 0x10000 ? new Uint16Array(size) : new Uint32Array(size));
172
+ }
173
+ nodeIds[feature.index] = nodeId;
174
+ }
175
+ }
176
+ return nodeIds;
177
+ }
178
+ /**
179
+ * An immutable, packed representation of a [[FeatureTable]]. The features are packed into a single array of 32-bit integer values,
180
+ * wherein each feature occupies 3 32-bit integers.
181
+ * @internal
182
+ */
183
+ export class PackedFeatureTable {
184
+ get byteLength() { return this._data.byteLength; }
185
+ get animationNodeIds() { return this._animationNodeIds; }
186
+ /** @internal for use by MultiModelPackedFeatureTable */
187
+ setAnimationNodeIds(nodeIds) {
188
+ assert(undefined === this._animationNodeIds);
189
+ this._animationNodeIds = nodeIds;
190
+ }
191
+ /** Construct a PackedFeatureTable from the packed binary data.
192
+ * This is used internally when deserializing Tiles in iMdl format.
193
+ * @internal
194
+ */
195
+ constructor(data, modelId, numFeatures, type, animationNodeIds) {
196
+ this._data = data;
197
+ this.batchModelId = modelId;
198
+ this.batchModelIdPair = Id64.getUint32Pair(modelId);
199
+ this.numFeatures = numFeatures;
200
+ this.type = type;
201
+ this._animationNodeIds = animationNodeIds;
202
+ switch (this.numFeatures) {
203
+ case 0:
204
+ this.anyDefined = false;
205
+ break;
206
+ case 1:
207
+ this.anyDefined = ModelFeature.isDefined(this.getFeature(0, ModelFeature.create()));
208
+ break;
209
+ default:
210
+ this.anyDefined = true;
211
+ break;
212
+ }
213
+ assert(this._data.length >= this._subCategoriesOffset);
214
+ assert(undefined === this._animationNodeIds || this._animationNodeIds.length === this.numFeatures);
215
+ }
216
+ /** Create a packed feature table from a [[FeatureTable]]. */
217
+ static pack(featureTable) {
218
+ // We must determine how many subcategories we have ahead of time to compute the size of the Uint32Array, as
219
+ // the array cannot be resized after it is created.
220
+ // We are not too worried about this as FeatureTables created on the front-end will contain few if any features; those obtained from the
221
+ // back-end arrive within tiles already in the packed format.
222
+ const subcategories = new Map();
223
+ for (const iv of featureTable.getArray()) {
224
+ const found = subcategories.get(iv.value.subCategoryId.toString());
225
+ if (undefined === found)
226
+ subcategories.set(iv.value.subCategoryId, subcategories.size);
227
+ }
228
+ // We need 3 32-bit integers per feature, plus 2 32-bit integers per subcategory.
229
+ const subCategoriesOffset = 3 * featureTable.length;
230
+ const nUint32s = subCategoriesOffset + 2 * subcategories.size;
231
+ const uint32s = new Uint32Array(nUint32s);
232
+ for (const iv of featureTable.getArray()) {
233
+ const feature = iv.value;
234
+ const index = iv.index * 3;
235
+ let subCategoryIndex = subcategories.get(feature.subCategoryId);
236
+ assert(undefined !== subCategoryIndex); // we inserted it above...
237
+ subCategoryIndex |= (feature.geometryClass << 24);
238
+ uint32s[index + 0] = Id64.getLowerUint32(feature.elementId);
239
+ uint32s[index + 1] = Id64.getUpperUint32(feature.elementId);
240
+ uint32s[index + 2] = subCategoryIndex;
241
+ }
242
+ subcategories.forEach((index, id, _map) => {
243
+ const index32 = subCategoriesOffset + 2 * index;
244
+ uint32s[index32 + 0] = Id64.getLowerUint32(id);
245
+ uint32s[index32 + 1] = Id64.getUpperUint32(id);
246
+ });
247
+ return new PackedFeatureTable(uint32s, featureTable.modelId, featureTable.length, featureTable.type);
248
+ }
249
+ /** Retrieve the Feature associated with the specified index. */
250
+ getFeature(featureIndex, result) {
251
+ const packed = this.getPackedFeature(featureIndex, scratchPackedFeature);
252
+ return ModelFeature.unpack(packed, result, this.batchModelId);
253
+ }
254
+ /** Returns the Feature associated with the specified index, or undefined if the index is out of range. */
255
+ findFeature(featureIndex, result) {
256
+ return featureIndex < this.numFeatures ? this.getFeature(featureIndex, result) : undefined;
257
+ }
258
+ /** @internal */
259
+ getElementIdPair(featureIndex, out) {
260
+ out = out ?? { lower: 0, upper: 0 };
261
+ assert(featureIndex < this.numFeatures);
262
+ const offset = 3 * featureIndex;
263
+ out.lower = this._data[offset];
264
+ out.upper = this._data[offset + 1];
265
+ return out;
266
+ }
267
+ /** @internal */
268
+ getSubCategoryIdPair(featureIndex) {
269
+ const index = 3 * featureIndex;
270
+ let subCatIndex = this._data[index + 2];
271
+ subCatIndex = (subCatIndex & 0x00ffffff) >>> 0;
272
+ subCatIndex = subCatIndex * 2 + this._subCategoriesOffset;
273
+ return { lower: this._data[subCatIndex], upper: this._data[subCatIndex + 1] };
274
+ }
275
+ /** @internal */
276
+ getAnimationNodeId(featureIndex) {
277
+ return undefined !== this._animationNodeIds && featureIndex < this.numFeatures ? this._animationNodeIds[featureIndex] : 0;
278
+ }
279
+ /** @internal */
280
+ getPackedFeature(featureIndex, result) {
281
+ assert(featureIndex < this.numFeatures);
282
+ const index32 = 3 * featureIndex;
283
+ result.elementId.lower = this._data[index32];
284
+ result.elementId.upper = this._data[index32 + 1];
285
+ const subCatIndexAndClass = this._data[index32 + 2];
286
+ result.geometryClass = (subCatIndexAndClass >>> 24) & 0xff;
287
+ let subCatIndex = (subCatIndexAndClass & 0x00ffffff) >>> 0;
288
+ subCatIndex = subCatIndex * 2 + this._subCategoriesOffset;
289
+ result.subCategoryId.lower = this._data[subCatIndex];
290
+ result.subCategoryId.upper = this._data[subCatIndex + 1];
291
+ result.animationNodeId = this.getAnimationNodeId(featureIndex);
292
+ result.modelId.lower = this.batchModelIdPair.lower;
293
+ result.modelId.upper = this.batchModelIdPair.upper;
294
+ return result;
295
+ }
296
+ /** Returns the element ID of the Feature associated with the specified index, or undefined if the index is out of range. */
297
+ findElementId(featureIndex) {
298
+ if (featureIndex >= this.numFeatures)
299
+ return undefined;
300
+ else
301
+ return this.readId(3 * featureIndex);
302
+ }
303
+ /** Return true if this table contains exactly 1 feature. */
304
+ get isUniform() { return 1 === this.numFeatures; }
305
+ /** If this table contains exactly 1 feature, return it. */
306
+ getUniform(result) {
307
+ return this.isUniform ? this.getFeature(0, result) : undefined;
308
+ }
309
+ get isVolumeClassifier() { return BatchType.VolumeClassifier === this.type; }
310
+ get isPlanarClassifier() { return BatchType.VolumeClassifier === this.type; }
311
+ get isClassifier() { return this.isVolumeClassifier || this.isPlanarClassifier; }
312
+ /** Unpack the features into a [[FeatureTable]]. */
313
+ unpack() {
314
+ const table = new FeatureTable(this.numFeatures, this.batchModelId);
315
+ const feature = ModelFeature.create();
316
+ for (let i = 0; i < this.numFeatures; i++) {
317
+ this.getFeature(i, feature);
318
+ table.insertWithIndex(new Feature(feature.elementId, feature.subCategoryId, feature.geometryClass), i);
319
+ }
320
+ return table;
321
+ }
322
+ populateAnimationNodeIds(computeNodeId, maxNodeId) {
323
+ assert(undefined === this._animationNodeIds);
324
+ this._animationNodeIds = populateAnimationNodeIds(this, computeNodeId, maxNodeId);
325
+ }
326
+ *iterator(output) {
327
+ for (let i = 0; i < this.numFeatures; i++) {
328
+ this.getPackedFeature(i, output);
329
+ output.index = i;
330
+ yield output;
331
+ }
332
+ }
333
+ iterable(output) {
334
+ return {
335
+ [Symbol.iterator]: () => this.iterator(output),
336
+ };
337
+ }
338
+ get _subCategoriesOffset() { return this.numFeatures * 3; }
339
+ readId(offset32) {
340
+ return Id64.fromUint32Pair(this._data[offset32], this._data[offset32 + 1]);
341
+ }
342
+ }
343
+ const scratchPackedFeatureModelEntry = { lastFeatureIndex: -1, idLower: -1, idUpper: -1 };
344
+ /** A table of model Ids associated with a [[MultiModelPackedFeatureTable]].
345
+ * The feature indices in the packed feature table are grouped together by model, such that the first N features belong to model 1, the next M features to model 2, and so on.
346
+ * The model table itself consists of one entry per model, where each entry looks like:
347
+ * indexOfLastFeatureInModel: u32
348
+ * modelId: u64
349
+ * The modelId associated with a feature can therefore be derived by finding the entry in the model table with the highest indexOfLastFeatureInModel no greater than the feature index.
350
+ * This lookup can be optimized using binary search.
351
+ * Moreover, while iterating the feature table in sequence, the model table can be iterated in parallel so that no per-feature lookup of model Id is required.
352
+ * @internal
353
+ */
354
+ export class PackedFeatureModelTable {
355
+ constructor(data) {
356
+ this._data = data;
357
+ assert(this._data.length % 3 === 0);
358
+ }
359
+ /** The number of models in the table. */
360
+ get length() {
361
+ return this._data.length / 3;
362
+ }
363
+ get byteLength() {
364
+ return this._data.byteLength;
365
+ }
366
+ getLastFeatureIndex(modelIndex) {
367
+ return this._data[modelIndex * 3];
368
+ }
369
+ getEntry(modelIndex, result) {
370
+ if (modelIndex >= this.length) {
371
+ result.idLower = result.idUpper = 0;
372
+ result.lastFeatureIndex = Number.MAX_SAFE_INTEGER;
373
+ return result;
374
+ }
375
+ const index = modelIndex * 3;
376
+ result.lastFeatureIndex = this._data[index + 0];
377
+ result.idLower = this._data[index + 1];
378
+ result.idUpper = this._data[index + 2];
379
+ return result;
380
+ }
381
+ /** Get the Id of the model associated with the specified feature, or an invalid Id if the feature is not associated with any model. */
382
+ getModelIdPair(featureIndex, result) {
383
+ if (!result)
384
+ result = { lower: 0, upper: 0 };
385
+ else
386
+ result.lower = result.upper = 0;
387
+ let first = 0;
388
+ const last = this.length;
389
+ let count = last;
390
+ while (count > 0) {
391
+ const step = Math.floor(count / 2);
392
+ const mid = first + step;
393
+ const lastFeatureIndex = this.getLastFeatureIndex(mid);
394
+ if (featureIndex > lastFeatureIndex) {
395
+ first = mid + 1;
396
+ count -= step + 1;
397
+ }
398
+ else {
399
+ count = step;
400
+ }
401
+ }
402
+ if (first < last) {
403
+ result.lower = this._data[first * 3 + 1];
404
+ result.upper = this._data[first * 3 + 2];
405
+ }
406
+ return result;
407
+ }
408
+ }
409
+ /** A PackedFeatureTable with a PackedFeatureModelTable appended to it, capable of storing features belonging to more than one model.
410
+ * @internal
411
+ */
412
+ export class MultiModelPackedFeatureTable {
413
+ constructor(features, models) {
414
+ this._features = features;
415
+ this._models = models;
416
+ }
417
+ static create(data, batchModelId, numFeatures, type, numSubCategories) {
418
+ const modelTableOffset = 3 * numFeatures + 2 * numSubCategories;
419
+ const featureData = data.subarray(0, modelTableOffset);
420
+ const features = new PackedFeatureTable(featureData, batchModelId, numFeatures, type);
421
+ const modelData = data.subarray(modelTableOffset);
422
+ const models = new PackedFeatureModelTable(modelData);
423
+ return new MultiModelPackedFeatureTable(features, models);
424
+ }
425
+ get batchModelId() { return this._features.batchModelId; }
426
+ get batchModelIdPair() { return this._features.batchModelIdPair; }
427
+ get numFeatures() { return this._features.numFeatures; }
428
+ get type() { return this._features.type; }
429
+ get animationNodeIds() { return this._features.animationNodeIds; }
430
+ get byteLength() {
431
+ return this._features.byteLength + this._models.byteLength;
432
+ }
433
+ getPackedFeature(featureIndex, result) {
434
+ this._features.getPackedFeature(featureIndex, result);
435
+ this._models.getModelIdPair(featureIndex, result.modelId);
436
+ return result;
437
+ }
438
+ getFeature(featureIndex, result) {
439
+ const packed = this.getPackedFeature(featureIndex, scratchPackedFeature);
440
+ return ModelFeature.unpack(packed, result);
441
+ }
442
+ findFeature(featureIndex, result) {
443
+ return featureIndex < this.numFeatures ? this.getFeature(featureIndex, result) : undefined;
444
+ }
445
+ getElementIdPair(featureIndex, out) {
446
+ return this._features.getElementIdPair(featureIndex, out);
447
+ }
448
+ findElementId(featureIndex) {
449
+ return this._features.findElementId(featureIndex);
450
+ }
451
+ *iterator(output) {
452
+ // Rather than perform a binary search on the model table to find each feature's model Id, traverse the model table in parallel with the feature table.
453
+ let modelIndex = 0;
454
+ const modelEntry = this._models.getEntry(modelIndex, scratchPackedFeatureModelEntry);
455
+ for (let featureIndex = 0; featureIndex < this.numFeatures; featureIndex++) {
456
+ if (featureIndex > modelEntry.lastFeatureIndex)
457
+ this._models.getEntry(++modelIndex, modelEntry);
458
+ this._features.getPackedFeature(featureIndex, output);
459
+ output.modelId.lower = modelEntry.idLower;
460
+ output.modelId.upper = modelEntry.idUpper;
461
+ output.index = featureIndex;
462
+ yield output;
463
+ }
464
+ }
465
+ iterable(output) {
466
+ return {
467
+ [Symbol.iterator]: () => this.iterator(output),
468
+ };
469
+ }
470
+ getAnimationNodeId(featureIndex) {
471
+ return this._features.getAnimationNodeId(featureIndex);
472
+ }
473
+ populateAnimationNodeIds(computeNodeId, maxNodeId) {
474
+ this._features.setAnimationNodeIds(populateAnimationNodeIds(this, computeNodeId, maxNodeId));
475
+ }
476
+ }
273
477
  //# sourceMappingURL=FeatureTable.js.map