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

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 (1037) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  4. package/lib/cjs/AmbientOcclusion.js +55 -55
  5. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  6. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  7. package/lib/cjs/AnalysisStyle.js +165 -165
  8. package/lib/cjs/AnalysisStyle.js.map +1 -1
  9. package/lib/cjs/AuthorizationClient.d.ts +17 -11
  10. package/lib/cjs/AuthorizationClient.d.ts.map +1 -1
  11. package/lib/cjs/AuthorizationClient.js +9 -9
  12. package/lib/cjs/AuthorizationClient.js.map +1 -1
  13. package/lib/cjs/BackendTypes.d.ts +12 -12
  14. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  15. package/lib/cjs/BackendTypes.js +9 -9
  16. package/lib/cjs/BackendTypes.js.map +1 -1
  17. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  18. package/lib/cjs/BackgroundMapProvider.js +68 -68
  19. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  20. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  21. package/lib/cjs/BackgroundMapSettings.js +156 -156
  22. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  23. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  24. package/lib/cjs/Base64EncodedString.js +66 -66
  25. package/lib/cjs/Base64EncodedString.js.map +1 -1
  26. package/lib/cjs/BlobReader.d.ts +31 -31
  27. package/lib/cjs/BlobReader.js +84 -84
  28. package/lib/cjs/BlobReader.js.map +1 -1
  29. package/lib/cjs/BriefcaseTypes.d.ts +191 -189
  30. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  31. package/lib/cjs/BriefcaseTypes.js +95 -95
  32. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  33. package/lib/cjs/Camera.d.ts +42 -42
  34. package/lib/cjs/Camera.js +62 -62
  35. package/lib/cjs/Camera.js.map +1 -1
  36. package/lib/cjs/ChangedElements.d.ts +85 -85
  37. package/lib/cjs/ChangedElements.js +23 -23
  38. package/lib/cjs/ChangedElements.js.map +1 -1
  39. package/lib/cjs/ChangedEntities.d.ts +45 -45
  40. package/lib/cjs/ChangedEntities.js +9 -9
  41. package/lib/cjs/ChangedEntities.js.map +1 -1
  42. package/lib/cjs/ChangesetProps.d.ts +98 -98
  43. package/lib/cjs/ChangesetProps.js +22 -22
  44. package/lib/cjs/ChangesetProps.js.map +1 -1
  45. package/lib/cjs/ClipStyle.d.ts +89 -89
  46. package/lib/cjs/ClipStyle.js +123 -123
  47. package/lib/cjs/ClipStyle.js.map +1 -1
  48. package/lib/cjs/CloudStorage.d.ts +62 -62
  49. package/lib/cjs/CloudStorage.js +113 -113
  50. package/lib/cjs/CloudStorage.js.map +1 -1
  51. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  52. package/lib/cjs/CloudStorageTileCache.js +66 -66
  53. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  54. package/lib/cjs/Code.d.ts +277 -256
  55. package/lib/cjs/Code.d.ts.map +1 -1
  56. package/lib/cjs/Code.js +269 -281
  57. package/lib/cjs/Code.js.map +1 -1
  58. package/lib/cjs/ColorByName.d.ts +161 -161
  59. package/lib/cjs/ColorByName.js +169 -169
  60. package/lib/cjs/ColorByName.js.map +1 -1
  61. package/lib/cjs/ColorDef.d.ts +208 -208
  62. package/lib/cjs/ColorDef.js +571 -571
  63. package/lib/cjs/ColorDef.js.map +1 -1
  64. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  65. package/lib/cjs/CommonLoggerCategory.js +26 -26
  66. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  67. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  68. package/lib/cjs/ConcurrentQuery.js +552 -552
  69. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  70. package/lib/cjs/ContextRealityModel.d.ts +303 -276
  71. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  72. package/lib/cjs/ContextRealityModel.js +373 -358
  73. package/lib/cjs/ContextRealityModel.js.map +1 -1
  74. package/lib/cjs/DisplayStyleSettings.d.ts +588 -584
  75. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  76. package/lib/cjs/DisplayStyleSettings.js +985 -981
  77. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  78. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  79. package/lib/cjs/ECSchemaProps.js +9 -9
  80. package/lib/cjs/ECSchemaProps.js.map +1 -1
  81. package/lib/cjs/ECSqlReader.d.ts +70 -70
  82. package/lib/cjs/ECSqlReader.js +280 -280
  83. package/lib/cjs/ECSqlReader.js.map +1 -1
  84. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  85. package/lib/cjs/ECSqlTypes.js +189 -189
  86. package/lib/cjs/ECSqlTypes.js.map +1 -1
  87. package/lib/cjs/ElementMesh.d.ts +39 -39
  88. package/lib/cjs/ElementMesh.js +56 -56
  89. package/lib/cjs/ElementMesh.js.map +1 -1
  90. package/lib/cjs/ElementProps.d.ts +483 -479
  91. package/lib/cjs/ElementProps.d.ts.map +1 -1
  92. package/lib/cjs/ElementProps.js +99 -99
  93. package/lib/cjs/ElementProps.js.map +1 -1
  94. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  95. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  96. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  97. package/lib/cjs/EntityProps.d.ts +177 -176
  98. package/lib/cjs/EntityProps.d.ts.map +1 -1
  99. package/lib/cjs/EntityProps.js +113 -112
  100. package/lib/cjs/EntityProps.js.map +1 -1
  101. package/lib/cjs/EntityReference.d.ts +51 -51
  102. package/lib/cjs/EntityReference.js +56 -56
  103. package/lib/cjs/EntityReference.js.map +1 -1
  104. package/lib/cjs/Environment.d.ts +61 -61
  105. package/lib/cjs/Environment.js +73 -73
  106. package/lib/cjs/Environment.js.map +1 -1
  107. package/lib/cjs/FeatureIndex.d.ts +39 -39
  108. package/lib/cjs/FeatureIndex.js +63 -63
  109. package/lib/cjs/FeatureIndex.js.map +1 -1
  110. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  111. package/lib/cjs/FeatureSymbology.js +614 -614
  112. package/lib/cjs/FeatureSymbology.js.map +1 -1
  113. package/lib/cjs/FeatureTable.d.ts +141 -141
  114. package/lib/cjs/FeatureTable.js +278 -278
  115. package/lib/cjs/FeatureTable.js.map +1 -1
  116. package/lib/cjs/Fonts.d.ts +51 -51
  117. package/lib/cjs/Fonts.js +53 -53
  118. package/lib/cjs/Fonts.js.map +1 -1
  119. package/lib/cjs/Frustum.d.ts +114 -114
  120. package/lib/cjs/Frustum.js +292 -292
  121. package/lib/cjs/Frustum.js.map +1 -1
  122. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  123. package/lib/cjs/GeoCoordinateServices.js +80 -80
  124. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  125. package/lib/cjs/GeometryContainment.d.ts +28 -28
  126. package/lib/cjs/GeometryContainment.js +9 -9
  127. package/lib/cjs/GeometryContainment.js.map +1 -1
  128. package/lib/cjs/GeometryParams.d.ts +130 -130
  129. package/lib/cjs/GeometryParams.js +174 -174
  130. package/lib/cjs/GeometryParams.js.map +1 -1
  131. package/lib/cjs/GeometrySummary.d.ts +45 -45
  132. package/lib/cjs/GeometrySummary.js +23 -23
  133. package/lib/cjs/GeometrySummary.js.map +1 -1
  134. package/lib/cjs/Gradient.d.ts +139 -139
  135. package/lib/cjs/Gradient.js +455 -455
  136. package/lib/cjs/Gradient.js.map +1 -1
  137. package/lib/cjs/GraphicParams.d.ts +58 -58
  138. package/lib/cjs/GraphicParams.js +85 -85
  139. package/lib/cjs/GraphicParams.js.map +1 -1
  140. package/lib/cjs/GroundPlane.d.ts +52 -52
  141. package/lib/cjs/GroundPlane.js +64 -64
  142. package/lib/cjs/GroundPlane.js.map +1 -1
  143. package/lib/cjs/HSLColor.d.ts +20 -20
  144. package/lib/cjs/HSLColor.js +32 -32
  145. package/lib/cjs/HSLColor.js.map +1 -1
  146. package/lib/cjs/HSVColor.d.ts +30 -30
  147. package/lib/cjs/HSVColor.js +59 -59
  148. package/lib/cjs/HSVColor.js.map +1 -1
  149. package/lib/cjs/HiddenLine.d.ts +97 -97
  150. package/lib/cjs/HiddenLine.js +162 -162
  151. package/lib/cjs/HiddenLine.js.map +1 -1
  152. package/lib/cjs/Hilite.d.ts +50 -50
  153. package/lib/cjs/Hilite.js +64 -64
  154. package/lib/cjs/Hilite.js.map +1 -1
  155. package/lib/cjs/IModel.d.ts +359 -359
  156. package/lib/cjs/IModel.js +347 -347
  157. package/lib/cjs/IModel.js.map +1 -1
  158. package/lib/cjs/IModelError.d.ts +42 -36
  159. package/lib/cjs/IModelError.d.ts.map +1 -1
  160. package/lib/cjs/IModelError.js +71 -72
  161. package/lib/cjs/IModelError.js.map +1 -1
  162. package/lib/cjs/IModelVersion.d.ts +68 -68
  163. package/lib/cjs/IModelVersion.js +79 -79
  164. package/lib/cjs/IModelVersion.js.map +1 -1
  165. package/lib/cjs/Image.d.ts +86 -86
  166. package/lib/cjs/Image.js +128 -128
  167. package/lib/cjs/Image.js.map +1 -1
  168. package/lib/cjs/IpcAppProps.d.ts +141 -141
  169. package/lib/cjs/IpcAppProps.js +23 -23
  170. package/lib/cjs/IpcAppProps.js.map +1 -1
  171. package/lib/cjs/LightSettings.d.ts +224 -224
  172. package/lib/cjs/LightSettings.js +309 -309
  173. package/lib/cjs/LightSettings.js.map +1 -1
  174. package/lib/cjs/LinePixels.d.ts +34 -34
  175. package/lib/cjs/LinePixels.js +42 -42
  176. package/lib/cjs/LinePixels.js.map +1 -1
  177. package/lib/cjs/Localization.d.ts +113 -113
  178. package/lib/cjs/Localization.d.ts.map +1 -1
  179. package/lib/cjs/Localization.js +33 -26
  180. package/lib/cjs/Localization.js.map +1 -1
  181. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  182. package/lib/cjs/MapImagerySettings.js +80 -80
  183. package/lib/cjs/MapImagerySettings.js.map +1 -1
  184. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  185. package/lib/cjs/MapLayerSettings.js +411 -411
  186. package/lib/cjs/MapLayerSettings.js.map +1 -1
  187. package/lib/cjs/MassProperties.d.ts +64 -64
  188. package/lib/cjs/MassProperties.js +23 -23
  189. package/lib/cjs/MassProperties.js.map +1 -1
  190. package/lib/cjs/MaterialProps.d.ts +153 -118
  191. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  192. package/lib/cjs/MaterialProps.js +35 -23
  193. package/lib/cjs/MaterialProps.js.map +1 -1
  194. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  195. package/lib/cjs/ModelClipGroup.js +98 -98
  196. package/lib/cjs/ModelClipGroup.js.map +1 -1
  197. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  198. package/lib/cjs/ModelGeometryChanges.js +83 -83
  199. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  200. package/lib/cjs/ModelProps.d.ts +67 -67
  201. package/lib/cjs/ModelProps.js +9 -9
  202. package/lib/cjs/ModelProps.js.map +1 -1
  203. package/lib/cjs/NativeAppProps.d.ts +122 -122
  204. package/lib/cjs/NativeAppProps.js +30 -30
  205. package/lib/cjs/NativeAppProps.js.map +1 -1
  206. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  207. package/lib/cjs/OctEncodedNormal.js +98 -98
  208. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  209. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  210. package/lib/cjs/PlanProjectionSettings.js +63 -63
  211. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  212. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  213. package/lib/cjs/PlanarClipMask.js +136 -136
  214. package/lib/cjs/PlanarClipMask.js.map +1 -1
  215. package/lib/cjs/QPoint.d.ts +479 -479
  216. package/lib/cjs/QPoint.js +826 -826
  217. package/lib/cjs/QPoint.js.map +1 -1
  218. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  219. package/lib/cjs/RealityDataAccessProps.js +19 -19
  220. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  221. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -118
  222. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
  223. package/lib/cjs/RealityModelDisplaySettings.js +142 -114
  224. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  225. package/lib/cjs/Render.d.ts +89 -89
  226. package/lib/cjs/Render.js +177 -177
  227. package/lib/cjs/Render.js.map +1 -1
  228. package/lib/cjs/RenderMaterial.d.ts +58 -58
  229. package/lib/cjs/RenderMaterial.d.ts.map +1 -1
  230. package/lib/cjs/RenderMaterial.js +76 -76
  231. package/lib/cjs/RenderMaterial.js.map +1 -1
  232. package/lib/cjs/RenderSchedule.d.ts +543 -543
  233. package/lib/cjs/RenderSchedule.js +1002 -1002
  234. package/lib/cjs/RenderTexture.d.ts +70 -70
  235. package/lib/cjs/RenderTexture.js +59 -59
  236. package/lib/cjs/RenderTexture.js.map +1 -1
  237. package/lib/cjs/RgbColor.d.ts +47 -47
  238. package/lib/cjs/RgbColor.js +77 -77
  239. package/lib/cjs/RgbColor.js.map +1 -1
  240. package/lib/cjs/RpcInterface.d.ts +33 -33
  241. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  242. package/lib/cjs/RpcInterface.js +137 -137
  243. package/lib/cjs/RpcInterface.js.map +1 -1
  244. package/lib/cjs/RpcManager.d.ts +40 -40
  245. package/lib/cjs/RpcManager.d.ts.map +1 -1
  246. package/lib/cjs/RpcManager.js +55 -55
  247. package/lib/cjs/RpcManager.js.map +1 -1
  248. package/lib/cjs/SessionProps.d.ts +16 -16
  249. package/lib/cjs/SessionProps.js +9 -9
  250. package/lib/cjs/SessionProps.js.map +1 -1
  251. package/lib/cjs/SkyBox.d.ts +215 -215
  252. package/lib/cjs/SkyBox.js +210 -210
  253. package/lib/cjs/SkyBox.js.map +1 -1
  254. package/lib/cjs/Snapping.d.ts +49 -49
  255. package/lib/cjs/Snapping.js +9 -9
  256. package/lib/cjs/Snapping.js.map +1 -1
  257. package/lib/cjs/SolarCalculate.d.ts +27 -27
  258. package/lib/cjs/SolarCalculate.js +211 -211
  259. package/lib/cjs/SolarCalculate.js.map +1 -1
  260. package/lib/cjs/SolarShadows.d.ts +35 -35
  261. package/lib/cjs/SolarShadows.js +62 -62
  262. package/lib/cjs/SolarShadows.js.map +1 -1
  263. package/lib/cjs/SpatialClassification.d.ts +208 -208
  264. package/lib/cjs/SpatialClassification.js +340 -340
  265. package/lib/cjs/SpatialClassification.js.map +1 -1
  266. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  267. package/lib/cjs/SubCategoryAppearance.js +96 -96
  268. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  269. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  270. package/lib/cjs/SubCategoryOverride.js +104 -104
  271. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  272. package/lib/cjs/TerrainSettings.d.ts +82 -82
  273. package/lib/cjs/TerrainSettings.js +102 -102
  274. package/lib/cjs/TerrainSettings.js.map +1 -1
  275. package/lib/cjs/TextureMapping.d.ts +118 -116
  276. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  277. package/lib/cjs/TextureMapping.js +174 -174
  278. package/lib/cjs/TextureMapping.js.map +1 -1
  279. package/lib/cjs/TextureProps.d.ts +65 -65
  280. package/lib/cjs/TextureProps.js +28 -28
  281. package/lib/cjs/TextureProps.js.map +1 -1
  282. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  283. package/lib/cjs/ThematicDisplay.js +344 -344
  284. package/lib/cjs/ThematicDisplay.js.map +1 -1
  285. package/lib/cjs/Thumbnail.d.ts +26 -26
  286. package/lib/cjs/Thumbnail.js +9 -9
  287. package/lib/cjs/Thumbnail.js.map +1 -1
  288. package/lib/cjs/TileProps.d.ts +82 -82
  289. package/lib/cjs/TileProps.js +29 -29
  290. package/lib/cjs/TileProps.js.map +1 -1
  291. package/lib/cjs/Tween.d.ts +191 -191
  292. package/lib/cjs/Tween.js +570 -570
  293. package/lib/cjs/Tween.js.map +1 -1
  294. package/lib/cjs/TxnAction.d.ts +21 -21
  295. package/lib/cjs/TxnAction.js +29 -29
  296. package/lib/cjs/TxnAction.js.map +1 -1
  297. package/lib/cjs/ViewDetails.d.ts +125 -125
  298. package/lib/cjs/ViewDetails.js +166 -166
  299. package/lib/cjs/ViewDetails.js.map +1 -1
  300. package/lib/cjs/ViewFlags.d.ts +287 -291
  301. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  302. package/lib/cjs/ViewFlags.js +368 -368
  303. package/lib/cjs/ViewFlags.js.map +1 -1
  304. package/lib/cjs/ViewProps.d.ts +205 -205
  305. package/lib/cjs/ViewProps.d.ts.map +1 -1
  306. package/lib/cjs/ViewProps.js +9 -9
  307. package/lib/cjs/ViewProps.js.map +1 -1
  308. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  309. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  310. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  311. package/lib/cjs/core-common.d.ts +244 -245
  312. package/lib/cjs/core-common.d.ts.map +1 -1
  313. package/lib/cjs/core-common.js +260 -261
  314. package/lib/cjs/core-common.js.map +1 -1
  315. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  316. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  317. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  318. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  319. package/lib/cjs/domains/GenericElementProps.js +9 -9
  320. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  321. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  322. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  323. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  324. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  325. package/lib/cjs/geometry/AreaPattern.js +204 -204
  326. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  327. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -14
  328. package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
  329. package/lib/cjs/geometry/BoundingSphere.js +44 -30
  330. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  331. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  332. package/lib/cjs/geometry/Cartographic.js +345 -345
  333. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  334. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  335. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  336. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  337. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  338. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  339. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  340. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  341. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  342. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  343. package/lib/cjs/geometry/FrustumPlanes.d.ts +81 -32
  344. package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
  345. package/lib/cjs/geometry/FrustumPlanes.js +193 -132
  346. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  347. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  348. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  349. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  350. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  351. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  352. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  353. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  354. package/lib/cjs/geometry/GeometryStream.js +469 -469
  355. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  356. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  357. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  358. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  359. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  360. package/lib/cjs/geometry/LineStyle.js +129 -129
  361. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  362. package/lib/cjs/geometry/Placement.d.ts +95 -95
  363. package/lib/cjs/geometry/Placement.js +131 -131
  364. package/lib/cjs/geometry/Placement.js.map +1 -1
  365. package/lib/cjs/geometry/Projection.d.ts +251 -251
  366. package/lib/cjs/geometry/Projection.js +198 -198
  367. package/lib/cjs/geometry/Projection.js.map +1 -1
  368. package/lib/cjs/geometry/TextString.d.ts +55 -55
  369. package/lib/cjs/geometry/TextString.js +65 -65
  370. package/lib/cjs/geometry/TextString.js.map +1 -1
  371. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  372. package/lib/cjs/ipc/IpcSession.js +27 -27
  373. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  374. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  375. package/lib/cjs/ipc/IpcSocket.js +16 -16
  376. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  377. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  378. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  379. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  380. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  381. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  382. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  383. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  384. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  385. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  386. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  387. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  388. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  389. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  390. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  391. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -96
  392. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  393. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  394. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  395. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  396. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  397. package/lib/cjs/rpc/TestRpcManager.d.ts.map +1 -1
  398. package/lib/cjs/rpc/TestRpcManager.js +40 -39
  399. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  400. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  401. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  402. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  403. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  404. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  405. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  406. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  407. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -85
  408. package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
  409. package/lib/cjs/rpc/core/RpcConstants.js +109 -103
  410. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  411. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  412. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  413. package/lib/cjs/rpc/core/RpcControl.js +145 -144
  414. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  415. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  416. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  417. package/lib/cjs/rpc/core/RpcInvocation.js +258 -258
  418. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  419. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  420. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  421. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  422. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  423. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  424. package/lib/cjs/rpc/core/RpcOperation.js +134 -133
  425. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  426. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  427. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts.map +1 -1
  428. package/lib/cjs/rpc/core/RpcPendingQueue.js +95 -94
  429. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  430. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  431. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  432. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  433. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  434. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  435. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  436. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  437. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  438. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  439. package/lib/cjs/rpc/core/RpcRegistry.d.ts.map +1 -1
  440. package/lib/cjs/rpc/core/RpcRegistry.js +199 -198
  441. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  442. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  443. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  444. package/lib/cjs/rpc/core/RpcRequest.js +478 -477
  445. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  446. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  447. package/lib/cjs/rpc/core/RpcRequestContext.d.ts.map +1 -1
  448. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  449. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  450. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  451. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  452. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -23
  453. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  454. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  455. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts.map +1 -1
  456. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -59
  457. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  458. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  459. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  460. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  461. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  462. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  463. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  464. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +143 -142
  465. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  466. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -139
  467. package/lib/cjs/rpc/web/OpenAPI.d.ts.map +1 -1
  468. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  469. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  470. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  471. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  472. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  473. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  474. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  475. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -139
  476. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  477. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -87
  478. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  479. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  480. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  481. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  482. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  483. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  484. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  485. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  486. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  487. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -372
  488. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  489. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  490. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  491. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  492. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  493. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  494. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  495. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  496. package/lib/cjs/tile/ElementGraphics.js +9 -9
  497. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  498. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  499. package/lib/cjs/tile/GltfTileIO.js +109 -109
  500. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  501. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  502. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  503. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  504. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  505. package/lib/cjs/tile/IModelTileIO.js +95 -95
  506. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  507. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  508. package/lib/cjs/tile/PntsTileIO.js +26 -26
  509. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  510. package/lib/cjs/tile/TileIO.d.ts +66 -66
  511. package/lib/cjs/tile/TileIO.js +118 -118
  512. package/lib/cjs/tile/TileIO.js.map +1 -1
  513. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  514. package/lib/cjs/tile/TileMetadata.js +676 -676
  515. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  516. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  517. package/lib/esm/AmbientOcclusion.js +52 -52
  518. package/lib/esm/AmbientOcclusion.js.map +1 -1
  519. package/lib/esm/AnalysisStyle.d.ts +134 -134
  520. package/lib/esm/AnalysisStyle.js +159 -159
  521. package/lib/esm/AnalysisStyle.js.map +1 -1
  522. package/lib/esm/AuthorizationClient.d.ts +17 -11
  523. package/lib/esm/AuthorizationClient.d.ts.map +1 -1
  524. package/lib/esm/AuthorizationClient.js +8 -8
  525. package/lib/esm/AuthorizationClient.js.map +1 -1
  526. package/lib/esm/BackendTypes.d.ts +12 -12
  527. package/lib/esm/BackendTypes.d.ts.map +1 -1
  528. package/lib/esm/BackendTypes.js +8 -8
  529. package/lib/esm/BackendTypes.js.map +1 -1
  530. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  531. package/lib/esm/BackgroundMapProvider.js +64 -64
  532. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  533. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  534. package/lib/esm/BackgroundMapSettings.js +152 -152
  535. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  536. package/lib/esm/Base64EncodedString.d.ts +32 -32
  537. package/lib/esm/Base64EncodedString.js +63 -63
  538. package/lib/esm/Base64EncodedString.js.map +1 -1
  539. package/lib/esm/BlobReader.d.ts +31 -31
  540. package/lib/esm/BlobReader.js +79 -79
  541. package/lib/esm/BlobReader.js.map +1 -1
  542. package/lib/esm/BriefcaseTypes.d.ts +191 -189
  543. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  544. package/lib/esm/BriefcaseTypes.js +92 -92
  545. package/lib/esm/BriefcaseTypes.js.map +1 -1
  546. package/lib/esm/Camera.d.ts +42 -42
  547. package/lib/esm/Camera.js +58 -58
  548. package/lib/esm/Camera.js.map +1 -1
  549. package/lib/esm/ChangedElements.d.ts +85 -85
  550. package/lib/esm/ChangedElements.js +20 -20
  551. package/lib/esm/ChangedElements.js.map +1 -1
  552. package/lib/esm/ChangedEntities.d.ts +45 -45
  553. package/lib/esm/ChangedEntities.js +8 -8
  554. package/lib/esm/ChangedEntities.js.map +1 -1
  555. package/lib/esm/ChangesetProps.d.ts +98 -98
  556. package/lib/esm/ChangesetProps.js +19 -19
  557. package/lib/esm/ChangesetProps.js.map +1 -1
  558. package/lib/esm/ClipStyle.d.ts +89 -89
  559. package/lib/esm/ClipStyle.js +118 -118
  560. package/lib/esm/ClipStyle.js.map +1 -1
  561. package/lib/esm/CloudStorage.d.ts +62 -62
  562. package/lib/esm/CloudStorage.js +109 -109
  563. package/lib/esm/CloudStorage.js.map +1 -1
  564. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  565. package/lib/esm/CloudStorageTileCache.js +62 -62
  566. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  567. package/lib/esm/Code.d.ts +277 -256
  568. package/lib/esm/Code.d.ts.map +1 -1
  569. package/lib/esm/Code.js +264 -276
  570. package/lib/esm/Code.js.map +1 -1
  571. package/lib/esm/ColorByName.d.ts +161 -161
  572. package/lib/esm/ColorByName.js +166 -166
  573. package/lib/esm/ColorByName.js.map +1 -1
  574. package/lib/esm/ColorDef.d.ts +208 -208
  575. package/lib/esm/ColorDef.js +567 -567
  576. package/lib/esm/ColorDef.js.map +1 -1
  577. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  578. package/lib/esm/CommonLoggerCategory.js +23 -23
  579. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  580. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  581. package/lib/esm/ConcurrentQuery.js +545 -545
  582. package/lib/esm/ConcurrentQuery.js.map +1 -1
  583. package/lib/esm/ContextRealityModel.d.ts +303 -276
  584. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  585. package/lib/esm/ContextRealityModel.js +368 -353
  586. package/lib/esm/ContextRealityModel.js.map +1 -1
  587. package/lib/esm/DisplayStyleSettings.d.ts +588 -584
  588. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  589. package/lib/esm/DisplayStyleSettings.js +980 -976
  590. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  591. package/lib/esm/ECSchemaProps.d.ts +39 -39
  592. package/lib/esm/ECSchemaProps.js +8 -8
  593. package/lib/esm/ECSchemaProps.js.map +1 -1
  594. package/lib/esm/ECSqlReader.d.ts +70 -70
  595. package/lib/esm/ECSqlReader.js +275 -275
  596. package/lib/esm/ECSqlReader.js.map +1 -1
  597. package/lib/esm/ECSqlTypes.d.ts +128 -128
  598. package/lib/esm/ECSqlTypes.js +185 -185
  599. package/lib/esm/ECSqlTypes.js.map +1 -1
  600. package/lib/esm/ElementMesh.d.ts +39 -39
  601. package/lib/esm/ElementMesh.js +52 -52
  602. package/lib/esm/ElementMesh.js.map +1 -1
  603. package/lib/esm/ElementProps.d.ts +483 -479
  604. package/lib/esm/ElementProps.d.ts.map +1 -1
  605. package/lib/esm/ElementProps.js +92 -92
  606. package/lib/esm/ElementProps.js.map +1 -1
  607. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  608. package/lib/esm/EmphasizeElementsProps.js +22 -22
  609. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  610. package/lib/esm/EntityProps.d.ts +177 -176
  611. package/lib/esm/EntityProps.d.ts.map +1 -1
  612. package/lib/esm/EntityProps.js +108 -107
  613. package/lib/esm/EntityProps.js.map +1 -1
  614. package/lib/esm/EntityReference.d.ts +51 -51
  615. package/lib/esm/EntityReference.js +52 -52
  616. package/lib/esm/EntityReference.js.map +1 -1
  617. package/lib/esm/Environment.d.ts +61 -61
  618. package/lib/esm/Environment.js +69 -69
  619. package/lib/esm/Environment.js.map +1 -1
  620. package/lib/esm/FeatureIndex.d.ts +39 -39
  621. package/lib/esm/FeatureIndex.js +57 -57
  622. package/lib/esm/FeatureIndex.js.map +1 -1
  623. package/lib/esm/FeatureSymbology.d.ts +444 -444
  624. package/lib/esm/FeatureSymbology.js +609 -609
  625. package/lib/esm/FeatureSymbology.js.map +1 -1
  626. package/lib/esm/FeatureTable.d.ts +141 -141
  627. package/lib/esm/FeatureTable.js +272 -272
  628. package/lib/esm/FeatureTable.js.map +1 -1
  629. package/lib/esm/Fonts.d.ts +51 -51
  630. package/lib/esm/Fonts.js +49 -49
  631. package/lib/esm/Fonts.js.map +1 -1
  632. package/lib/esm/Frustum.d.ts +114 -114
  633. package/lib/esm/Frustum.js +288 -288
  634. package/lib/esm/Frustum.js.map +1 -1
  635. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  636. package/lib/esm/GeoCoordinateServices.js +76 -76
  637. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  638. package/lib/esm/GeometryContainment.d.ts +28 -28
  639. package/lib/esm/GeometryContainment.js +8 -8
  640. package/lib/esm/GeometryContainment.js.map +1 -1
  641. package/lib/esm/GeometryParams.d.ts +130 -130
  642. package/lib/esm/GeometryParams.js +170 -170
  643. package/lib/esm/GeometryParams.js.map +1 -1
  644. package/lib/esm/GeometrySummary.d.ts +45 -45
  645. package/lib/esm/GeometrySummary.js +20 -20
  646. package/lib/esm/GeometrySummary.js.map +1 -1
  647. package/lib/esm/Gradient.d.ts +139 -139
  648. package/lib/esm/Gradient.js +452 -452
  649. package/lib/esm/Gradient.js.map +1 -1
  650. package/lib/esm/GraphicParams.d.ts +58 -58
  651. package/lib/esm/GraphicParams.js +81 -81
  652. package/lib/esm/GraphicParams.js.map +1 -1
  653. package/lib/esm/GroundPlane.d.ts +52 -52
  654. package/lib/esm/GroundPlane.js +60 -60
  655. package/lib/esm/GroundPlane.js.map +1 -1
  656. package/lib/esm/HSLColor.d.ts +20 -20
  657. package/lib/esm/HSLColor.js +28 -28
  658. package/lib/esm/HSLColor.js.map +1 -1
  659. package/lib/esm/HSVColor.d.ts +30 -30
  660. package/lib/esm/HSVColor.js +55 -55
  661. package/lib/esm/HSVColor.js.map +1 -1
  662. package/lib/esm/HiddenLine.d.ts +97 -97
  663. package/lib/esm/HiddenLine.js +159 -159
  664. package/lib/esm/HiddenLine.js.map +1 -1
  665. package/lib/esm/Hilite.d.ts +50 -50
  666. package/lib/esm/Hilite.js +61 -61
  667. package/lib/esm/Hilite.js.map +1 -1
  668. package/lib/esm/IModel.d.ts +359 -359
  669. package/lib/esm/IModel.js +342 -342
  670. package/lib/esm/IModel.js.map +1 -1
  671. package/lib/esm/IModelError.d.ts +42 -36
  672. package/lib/esm/IModelError.d.ts.map +1 -1
  673. package/lib/esm/IModelError.js +56 -55
  674. package/lib/esm/IModelError.js.map +1 -1
  675. package/lib/esm/IModelVersion.d.ts +68 -68
  676. package/lib/esm/IModelVersion.js +75 -75
  677. package/lib/esm/IModelVersion.js.map +1 -1
  678. package/lib/esm/Image.d.ts +86 -86
  679. package/lib/esm/Image.js +120 -120
  680. package/lib/esm/Image.js.map +1 -1
  681. package/lib/esm/IpcAppProps.d.ts +141 -141
  682. package/lib/esm/IpcAppProps.js +19 -19
  683. package/lib/esm/IpcAppProps.js.map +1 -1
  684. package/lib/esm/LightSettings.d.ts +224 -224
  685. package/lib/esm/LightSettings.js +301 -301
  686. package/lib/esm/LightSettings.js.map +1 -1
  687. package/lib/esm/LinePixels.d.ts +34 -34
  688. package/lib/esm/LinePixels.js +39 -39
  689. package/lib/esm/LinePixels.js.map +1 -1
  690. package/lib/esm/Localization.d.ts +113 -113
  691. package/lib/esm/Localization.d.ts.map +1 -1
  692. package/lib/esm/Localization.js +29 -22
  693. package/lib/esm/Localization.js.map +1 -1
  694. package/lib/esm/MapImagerySettings.d.ts +62 -62
  695. package/lib/esm/MapImagerySettings.js +76 -76
  696. package/lib/esm/MapImagerySettings.js.map +1 -1
  697. package/lib/esm/MapLayerSettings.d.ts +272 -272
  698. package/lib/esm/MapLayerSettings.js +403 -403
  699. package/lib/esm/MapLayerSettings.js.map +1 -1
  700. package/lib/esm/MassProperties.d.ts +64 -64
  701. package/lib/esm/MassProperties.js +20 -20
  702. package/lib/esm/MassProperties.js.map +1 -1
  703. package/lib/esm/MaterialProps.d.ts +153 -118
  704. package/lib/esm/MaterialProps.d.ts.map +1 -1
  705. package/lib/esm/MaterialProps.js +32 -20
  706. package/lib/esm/MaterialProps.js.map +1 -1
  707. package/lib/esm/ModelClipGroup.d.ts +67 -67
  708. package/lib/esm/ModelClipGroup.js +93 -93
  709. package/lib/esm/ModelClipGroup.js.map +1 -1
  710. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  711. package/lib/esm/ModelGeometryChanges.js +80 -80
  712. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  713. package/lib/esm/ModelProps.d.ts +67 -67
  714. package/lib/esm/ModelProps.js +8 -8
  715. package/lib/esm/ModelProps.js.map +1 -1
  716. package/lib/esm/NativeAppProps.d.ts +122 -122
  717. package/lib/esm/NativeAppProps.js +27 -27
  718. package/lib/esm/NativeAppProps.js.map +1 -1
  719. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  720. package/lib/esm/OctEncodedNormal.js +93 -93
  721. package/lib/esm/OctEncodedNormal.js.map +1 -1
  722. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  723. package/lib/esm/PlanProjectionSettings.js +59 -59
  724. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  725. package/lib/esm/PlanarClipMask.d.ts +177 -177
  726. package/lib/esm/PlanarClipMask.js +132 -132
  727. package/lib/esm/PlanarClipMask.js.map +1 -1
  728. package/lib/esm/QPoint.d.ts +479 -479
  729. package/lib/esm/QPoint.js +815 -815
  730. package/lib/esm/QPoint.js.map +1 -1
  731. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  732. package/lib/esm/RealityDataAccessProps.js +16 -16
  733. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  734. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -118
  735. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
  736. package/lib/esm/RealityModelDisplaySettings.js +137 -109
  737. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  738. package/lib/esm/Render.d.ts +89 -89
  739. package/lib/esm/Render.js +165 -165
  740. package/lib/esm/Render.js.map +1 -1
  741. package/lib/esm/RenderMaterial.d.ts +58 -58
  742. package/lib/esm/RenderMaterial.d.ts.map +1 -1
  743. package/lib/esm/RenderMaterial.js +72 -72
  744. package/lib/esm/RenderMaterial.js.map +1 -1
  745. package/lib/esm/RenderSchedule.d.ts +543 -543
  746. package/lib/esm/RenderSchedule.js +999 -999
  747. package/lib/esm/RenderTexture.d.ts +70 -70
  748. package/lib/esm/RenderTexture.js +55 -55
  749. package/lib/esm/RenderTexture.js.map +1 -1
  750. package/lib/esm/RgbColor.d.ts +47 -47
  751. package/lib/esm/RgbColor.js +73 -73
  752. package/lib/esm/RgbColor.js.map +1 -1
  753. package/lib/esm/RpcInterface.d.ts +33 -33
  754. package/lib/esm/RpcInterface.d.ts.map +1 -1
  755. package/lib/esm/RpcInterface.js +133 -133
  756. package/lib/esm/RpcInterface.js.map +1 -1
  757. package/lib/esm/RpcManager.d.ts +40 -40
  758. package/lib/esm/RpcManager.d.ts.map +1 -1
  759. package/lib/esm/RpcManager.js +51 -51
  760. package/lib/esm/RpcManager.js.map +1 -1
  761. package/lib/esm/SessionProps.d.ts +16 -16
  762. package/lib/esm/SessionProps.js +8 -8
  763. package/lib/esm/SessionProps.js.map +1 -1
  764. package/lib/esm/SkyBox.d.ts +215 -215
  765. package/lib/esm/SkyBox.js +203 -203
  766. package/lib/esm/SkyBox.js.map +1 -1
  767. package/lib/esm/Snapping.d.ts +49 -49
  768. package/lib/esm/Snapping.js +8 -8
  769. package/lib/esm/Snapping.js.map +1 -1
  770. package/lib/esm/SolarCalculate.d.ts +27 -27
  771. package/lib/esm/SolarCalculate.js +204 -204
  772. package/lib/esm/SolarCalculate.js.map +1 -1
  773. package/lib/esm/SolarShadows.d.ts +35 -35
  774. package/lib/esm/SolarShadows.js +58 -58
  775. package/lib/esm/SolarShadows.js.map +1 -1
  776. package/lib/esm/SpatialClassification.d.ts +208 -208
  777. package/lib/esm/SpatialClassification.js +334 -334
  778. package/lib/esm/SpatialClassification.js.map +1 -1
  779. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  780. package/lib/esm/SubCategoryAppearance.js +92 -92
  781. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  782. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  783. package/lib/esm/SubCategoryOverride.js +100 -100
  784. package/lib/esm/SubCategoryOverride.js.map +1 -1
  785. package/lib/esm/TerrainSettings.d.ts +82 -82
  786. package/lib/esm/TerrainSettings.js +98 -98
  787. package/lib/esm/TerrainSettings.js.map +1 -1
  788. package/lib/esm/TextureMapping.d.ts +118 -116
  789. package/lib/esm/TextureMapping.d.ts.map +1 -1
  790. package/lib/esm/TextureMapping.js +170 -170
  791. package/lib/esm/TextureMapping.js.map +1 -1
  792. package/lib/esm/TextureProps.d.ts +65 -65
  793. package/lib/esm/TextureProps.js +25 -25
  794. package/lib/esm/TextureProps.js.map +1 -1
  795. package/lib/esm/ThematicDisplay.d.ts +230 -230
  796. package/lib/esm/ThematicDisplay.js +337 -337
  797. package/lib/esm/ThematicDisplay.js.map +1 -1
  798. package/lib/esm/Thumbnail.d.ts +26 -26
  799. package/lib/esm/Thumbnail.js +8 -8
  800. package/lib/esm/Thumbnail.js.map +1 -1
  801. package/lib/esm/TileProps.d.ts +82 -82
  802. package/lib/esm/TileProps.js +25 -25
  803. package/lib/esm/TileProps.js.map +1 -1
  804. package/lib/esm/Tween.d.ts +191 -191
  805. package/lib/esm/Tween.js +565 -565
  806. package/lib/esm/Tween.js.map +1 -1
  807. package/lib/esm/TxnAction.d.ts +21 -21
  808. package/lib/esm/TxnAction.js +26 -26
  809. package/lib/esm/TxnAction.js.map +1 -1
  810. package/lib/esm/ViewDetails.d.ts +125 -125
  811. package/lib/esm/ViewDetails.js +161 -161
  812. package/lib/esm/ViewDetails.js.map +1 -1
  813. package/lib/esm/ViewFlags.d.ts +287 -291
  814. package/lib/esm/ViewFlags.d.ts.map +1 -1
  815. package/lib/esm/ViewFlags.js +364 -364
  816. package/lib/esm/ViewFlags.js.map +1 -1
  817. package/lib/esm/ViewProps.d.ts +205 -205
  818. package/lib/esm/ViewProps.d.ts.map +1 -1
  819. package/lib/esm/ViewProps.js +8 -8
  820. package/lib/esm/ViewProps.js.map +1 -1
  821. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  822. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  823. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  824. package/lib/esm/core-common.d.ts +244 -245
  825. package/lib/esm/core-common.d.ts.map +1 -1
  826. package/lib/esm/core-common.js +248 -249
  827. package/lib/esm/core-common.js.map +1 -1
  828. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  829. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  830. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  831. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  832. package/lib/esm/domains/GenericElementProps.js +8 -8
  833. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  834. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  835. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  836. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  837. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  838. package/lib/esm/geometry/AreaPattern.js +201 -201
  839. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  840. package/lib/esm/geometry/BoundingSphere.d.ts +27 -14
  841. package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
  842. package/lib/esm/geometry/BoundingSphere.js +40 -26
  843. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  844. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  845. package/lib/esm/geometry/Cartographic.js +340 -340
  846. package/lib/esm/geometry/Cartographic.js.map +1 -1
  847. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  848. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  849. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  850. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  851. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  852. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  853. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  854. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  855. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  856. package/lib/esm/geometry/FrustumPlanes.d.ts +81 -32
  857. package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
  858. package/lib/esm/geometry/FrustumPlanes.js +189 -128
  859. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  860. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  861. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  862. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  863. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  864. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  865. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  866. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  867. package/lib/esm/geometry/GeometryStream.js +464 -464
  868. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  869. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  870. package/lib/esm/geometry/ImageGraphic.js +93 -93
  871. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  872. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  873. package/lib/esm/geometry/LineStyle.js +126 -126
  874. package/lib/esm/geometry/LineStyle.js.map +1 -1
  875. package/lib/esm/geometry/Placement.d.ts +95 -95
  876. package/lib/esm/geometry/Placement.js +126 -126
  877. package/lib/esm/geometry/Placement.js.map +1 -1
  878. package/lib/esm/geometry/Projection.d.ts +251 -251
  879. package/lib/esm/geometry/Projection.js +192 -192
  880. package/lib/esm/geometry/Projection.js.map +1 -1
  881. package/lib/esm/geometry/TextString.d.ts +55 -55
  882. package/lib/esm/geometry/TextString.js +61 -61
  883. package/lib/esm/geometry/TextString.js.map +1 -1
  884. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  885. package/lib/esm/ipc/IpcSession.js +23 -23
  886. package/lib/esm/ipc/IpcSession.js.map +1 -1
  887. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  888. package/lib/esm/ipc/IpcSocket.js +12 -12
  889. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  890. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  891. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  892. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  893. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  894. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  895. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  896. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  897. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  898. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  899. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  900. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  901. package/lib/esm/rpc/IModelReadRpcInterface.js +117 -117
  902. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  903. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  904. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -92
  905. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  906. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  907. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  908. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  909. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  910. package/lib/esm/rpc/TestRpcManager.d.ts.map +1 -1
  911. package/lib/esm/rpc/TestRpcManager.js +36 -35
  912. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  913. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  914. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  915. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  916. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  917. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  918. package/lib/esm/rpc/core/RpcConfiguration.js +184 -184
  919. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  920. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -85
  921. package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
  922. package/lib/esm/rpc/core/RpcConstants.js +106 -100
  923. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  924. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  925. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  926. package/lib/esm/rpc/core/RpcControl.js +138 -137
  927. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  928. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  929. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  930. package/lib/esm/rpc/core/RpcInvocation.js +254 -254
  931. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  932. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  933. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  934. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  935. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  936. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  937. package/lib/esm/rpc/core/RpcOperation.js +129 -128
  938. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  939. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  940. package/lib/esm/rpc/core/RpcPendingQueue.d.ts.map +1 -1
  941. package/lib/esm/rpc/core/RpcPendingQueue.js +91 -90
  942. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  943. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  944. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  945. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  946. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  947. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  948. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  949. package/lib/esm/rpc/core/RpcPush.js +119 -119
  950. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  951. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  952. package/lib/esm/rpc/core/RpcRegistry.d.ts.map +1 -1
  953. package/lib/esm/rpc/core/RpcRegistry.js +195 -194
  954. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  955. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  956. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  957. package/lib/esm/rpc/core/RpcRequest.js +473 -472
  958. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  959. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  960. package/lib/esm/rpc/core/RpcRequestContext.d.ts.map +1 -1
  961. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  962. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  963. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  964. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  965. package/lib/esm/rpc/core/RpcRoutingToken.js +20 -19
  966. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  967. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  968. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts.map +1 -1
  969. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -55
  970. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  971. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  972. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  973. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  974. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  975. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  976. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  977. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +139 -138
  978. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  979. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -139
  980. package/lib/esm/rpc/web/OpenAPI.d.ts.map +1 -1
  981. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  982. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  983. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  984. package/lib/esm/rpc/web/RpcMultipart.js +46 -46
  985. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  986. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  987. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  988. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -135
  989. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  990. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -87
  991. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  992. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  993. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  994. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  995. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  996. package/lib/esm/rpc/web/WebAppRpcRequest.js +235 -235
  997. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  998. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  999. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  1000. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -368
  1001. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  1002. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  1003. package/lib/esm/tile/B3dmTileIO.js +62 -62
  1004. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  1005. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  1006. package/lib/esm/tile/CompositeTileIO.js +22 -22
  1007. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  1008. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  1009. package/lib/esm/tile/ElementGraphics.js +8 -8
  1010. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  1011. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  1012. package/lib/esm/tile/GltfTileIO.js +105 -105
  1013. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  1014. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  1015. package/lib/esm/tile/I3dmTileIO.js +36 -36
  1016. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  1017. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  1018. package/lib/esm/tile/IModelTileIO.js +90 -90
  1019. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  1020. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  1021. package/lib/esm/tile/PntsTileIO.js +22 -22
  1022. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  1023. package/lib/esm/tile/TileIO.d.ts +66 -66
  1024. package/lib/esm/tile/TileIO.js +110 -110
  1025. package/lib/esm/tile/TileIO.js.map +1 -1
  1026. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  1027. package/lib/esm/tile/TileMetadata.js +661 -661
  1028. package/lib/esm/tile/TileMetadata.js.map +1 -1
  1029. package/package.json +7 -7
  1030. package/lib/cjs/FeatureGates.d.ts +0 -32
  1031. package/lib/cjs/FeatureGates.d.ts.map +0 -1
  1032. package/lib/cjs/FeatureGates.js +0 -56
  1033. package/lib/cjs/FeatureGates.js.map +0 -1
  1034. package/lib/esm/FeatureGates.d.ts +0 -32
  1035. package/lib/esm/FeatureGates.d.ts.map +0 -1
  1036. package/lib/esm/FeatureGates.js +0 -52
  1037. package/lib/esm/FeatureGates.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureTable.js","sourceRoot":"","sources":["../../src/FeatureTable.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, compareNumbers, compareStrings, Id64, Id64String, IndexedValue, IndexMap } from \"@itwin/core-bentley\";\r\nimport { GeometryClass } from \"./GeometryParams\";\r\n\r\n/** Describes a discrete entity within a batched [RenderGraphic]($frontend) that can be\r\n * grouped with other such entities in a [[FeatureTable]].\r\n * Features roughly correlate to elements: a [Tile]($frontend)'s graphics combines geometry from every\r\n * [GeometricElement]($backend) that intersects the tile's volume, so each element produces at least one feature.\r\n * However, an element's geometry stream can contain geometry belonging to multiple different combinations of [SubCategory]($backend) and\r\n * [[GeometryClass]], so an individual element may produce more than one feature.\r\n * @see [[FeatureOverrides]] for customizing the appearance of individual features.\r\n * @public\r\n */\r\nexport class Feature {\r\n public readonly elementId: string;\r\n public readonly subCategoryId: string;\r\n public readonly geometryClass: GeometryClass;\r\n\r\n public constructor(elementId: Id64String = Id64.invalid, subCategoryId: Id64String = Id64.invalid, geometryClass: GeometryClass = GeometryClass.Primary) {\r\n this.elementId = elementId;\r\n this.subCategoryId = subCategoryId;\r\n this.geometryClass = geometryClass;\r\n }\r\n\r\n public get isDefined(): boolean { return !Id64.isInvalid(this.elementId) || !Id64.isInvalid(this.subCategoryId) || this.geometryClass !== GeometryClass.Primary; }\r\n public get isUndefined(): boolean { return !this.isDefined; }\r\n\r\n /** Returns true if this feature is equivalent to the supplied feature. */\r\n public equals(other: Feature): boolean { return 0 === this.compare(other); }\r\n\r\n /** Performs ordinal comparison of this feature with another.\r\n * @param rhs The feature to compare with.\r\n * @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`.\r\n */\r\n public compare(rhs: Feature): number {\r\n if (this === rhs)\r\n return 0;\r\n\r\n let cmp = compareNumbers(this.geometryClass, rhs.geometryClass);\r\n if (0 === cmp) {\r\n cmp = compareStrings(this.elementId, rhs.elementId);\r\n if (0 === cmp) {\r\n cmp = compareStrings(this.subCategoryId, rhs.subCategoryId);\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface PackedFeature {\r\n elementId: Id64.Uint32Pair;\r\n subCategoryId: Id64.Uint32Pair;\r\n geometryClass: GeometryClass;\r\n animationNodeId: number;\r\n}\r\n\r\n/** Describes the type of a 'batch' of graphics representing multiple [[Feature]]s.\r\n * The most commonly-encountered batches are Tiles, which can be of either Primary or\r\n * Classifier type.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum BatchType {\r\n /** This batch contains graphics derived from a model's visible geometry. */\r\n Primary,\r\n /**\r\n * This batch contains color volumes which are used to classify a model's visible geometry.\r\n * The graphics themselves are not rendered to the screen; instead they are rendered to the stencil buffer\r\n * to resymbolize the primary geometry.\r\n */\r\n VolumeClassifier,\r\n /**\r\n * This batch contains planar graphics which are used to classify a model's visible geometry.\r\n * The graphics themselves are not rendered to the screen; instead they are rendered to a texture buffer\r\n * to resymbolize the primary geometry.\r\n */\r\n PlanarClassifier,\r\n}\r\n\r\n/** Defines a look-up table for [[Feature]]s within a batched [RenderGraphic]($frontend). Consecutive 32-bit\r\n * indices are assigned to each unique Feature. Primitives within the RenderGraphic can\r\n * use per-vertex indices to specify the distribution of Features within the primitive. The appearance of individual\r\n * features can be customized using [[FeatureOverrides]]. Typically a [Tile]($frontend) will contain a feature table\r\n * identifying the elements whose geometry appears within that tile.\r\n * @see [[FeatureOverrides]] for customizing the appearance of individual features.\r\n * @public\r\n */\r\nexport class FeatureTable extends IndexMap<Feature> {\r\n public readonly modelId: Id64String;\r\n public readonly type: BatchType;\r\n\r\n /** Construct an empty FeatureTable. */\r\n public constructor(maxFeatures: number, modelId: Id64String = Id64.invalid, type: BatchType = BatchType.Primary) {\r\n super((lhs, rhs) => lhs.compare(rhs), maxFeatures);\r\n this.modelId = modelId;\r\n this.type = type;\r\n }\r\n\r\n /** Returns the maximum number of [[Feature]]s this FeatureTable can contain. */\r\n public get maxFeatures(): number { return this._maximumSize; }\r\n /** @internal */\r\n public get anyDefined(): boolean { return this.length > 1 || (1 === this.length && this._array[0].value.isDefined); }\r\n /** Returns true if this FeatureTable contains exactly one [[Feature]]. */\r\n public get isUniform(): boolean { return 1 === this.length; }\r\n /** If this FeatureTable contains exactly one [[Feature]], returns that Feature; otherwise returns undefined. */\r\n public get uniform(): Feature | undefined { return 1 === this.length ? this._array[0].value : undefined; }\r\n /** Returns true if this FeatureTable is associated with [[BatchType.VolumeClassifier]] geometry. */\r\n public get isVolumeClassifier(): boolean { return BatchType.VolumeClassifier === this.type; }\r\n /** Returns true if this FeatureTable is associated with [[BatchType.PlanarClassifier]] geometry. */\r\n public get isPlanarClassifier(): boolean { return BatchType.PlanarClassifier === this.type; }\r\n\r\n /** Returns the Feature corresponding to the specified index, or undefined if the index is not present. */\r\n public findFeature(index: number): Feature | undefined {\r\n for (const entry of this._array)\r\n if (entry.index === index)\r\n return entry.value;\r\n\r\n return undefined;\r\n }\r\n\r\n /** @internal */\r\n public insertWithIndex(feature: Feature, index: number): void {\r\n const bound = this.lowerBound(feature);\r\n assert(!bound.equal);\r\n assert(!this.isFull);\r\n const entry = new IndexedValue<Feature>(feature, index);\r\n this._array.splice(bound.index, 0, entry);\r\n }\r\n\r\n /** @internal */\r\n public getArray(): Array<IndexedValue<Feature>> { return this._array; }\r\n}\r\n\r\n/** @alpha */\r\nexport type ComputeNodeId = (elementId: Id64.Uint32Pair, featureIndex: number) => number;\r\n\r\n/**\r\n * An immutable, packed representation of a [[FeatureTable]]. The features are packed into a single array of 32-bit integer values,\r\n * wherein each feature occupies 3 32-bit integers.\r\n * @internal\r\n */\r\nexport class PackedFeatureTable {\r\n private readonly _data: Uint32Array;\r\n public readonly modelId: Id64String;\r\n public readonly maxFeatures: number;\r\n public readonly numFeatures: number;\r\n public readonly anyDefined: boolean;\r\n public readonly type: BatchType;\r\n private _animationNodeIds?: Uint8Array | Uint16Array | Uint32Array;\r\n\r\n public get byteLength(): number { return this._data.byteLength; }\r\n public get animationNodeIds(): Readonly<Uint8Array | Uint16Array | Uint32Array> | undefined { return this._animationNodeIds; }\r\n\r\n /** Construct a PackedFeatureTable from the packed binary data.\r\n * This is used internally when deserializing Tiles in iMdl format.\r\n * @internal\r\n */\r\n public constructor(data: Uint32Array, modelId: Id64String, numFeatures: number, maxFeatures: number, type: BatchType, animationNodeIds?: Uint8Array | Uint16Array | Uint32Array) {\r\n this._data = data;\r\n this.modelId = modelId;\r\n this.maxFeatures = maxFeatures;\r\n this.numFeatures = numFeatures;\r\n this.type = type;\r\n this._animationNodeIds = animationNodeIds;\r\n\r\n switch (this.numFeatures) {\r\n case 0:\r\n this.anyDefined = false;\r\n break;\r\n case 1:\r\n this.anyDefined = this.getFeature(0).isDefined;\r\n break;\r\n default:\r\n this.anyDefined = true;\r\n break;\r\n }\r\n\r\n assert(this._data.length >= this._subCategoriesOffset);\r\n assert(this.maxFeatures >= this.numFeatures);\r\n assert(undefined === this._animationNodeIds || this._animationNodeIds.length === this.numFeatures);\r\n }\r\n\r\n /** Create a packed feature table from a [[FeatureTable]]. */\r\n public static pack(featureTable: FeatureTable): PackedFeatureTable {\r\n // We must determine how many subcategories we have ahead of time to compute the size of the Uint32Array, as\r\n // the array cannot be resized after it is created.\r\n // We are not too worried about this as FeatureTables created on the front-end will contain few if any features; those obtained from the\r\n // back-end arrive within tiles already in the packed format.\r\n const subcategories = new Map<string, number>();\r\n for (const iv of featureTable.getArray()) {\r\n const found = subcategories.get(iv.value.subCategoryId.toString());\r\n if (undefined === found)\r\n subcategories.set(iv.value.subCategoryId, subcategories.size);\r\n }\r\n\r\n // We need 3 32-bit integers per feature, plus 2 32-bit integers per subcategory.\r\n const subCategoriesOffset = 3 * featureTable.length;\r\n const nUint32s = subCategoriesOffset + 2 * subcategories.size;\r\n const uint32s = new Uint32Array(nUint32s);\r\n\r\n for (const iv of featureTable.getArray()) {\r\n const feature = iv.value;\r\n const index = iv.index * 3;\r\n\r\n let subCategoryIndex = subcategories.get(feature.subCategoryId)!;\r\n assert(undefined !== subCategoryIndex); // we inserted it above...\r\n subCategoryIndex |= (feature.geometryClass << 24);\r\n\r\n uint32s[index + 0] = Id64.getLowerUint32(feature.elementId);\r\n uint32s[index + 1] = Id64.getUpperUint32(feature.elementId);\r\n uint32s[index + 2] = subCategoryIndex;\r\n }\r\n\r\n subcategories.forEach((index: number, id: string, _map) => {\r\n const index32 = subCategoriesOffset + 2 * index;\r\n uint32s[index32 + 0] = Id64.getLowerUint32(id);\r\n uint32s[index32 + 1] = Id64.getUpperUint32(id);\r\n });\r\n\r\n return new PackedFeatureTable(uint32s, featureTable.modelId, featureTable.length, featureTable.maxFeatures, featureTable.type);\r\n }\r\n\r\n /** Retrieve the Feature associated with the specified index. */\r\n public getFeature(featureIndex: number): Feature {\r\n const packed = this.getPackedFeature(featureIndex);\r\n const elemId = Id64.fromUint32Pair(packed.elementId.lower, packed.elementId.upper);\r\n const subcatId = Id64.fromUint32Pair(packed.subCategoryId.lower, packed.subCategoryId.upper);\r\n return new Feature(elemId, subcatId, packed.geometryClass);\r\n }\r\n\r\n /** Returns the Feature associated with the specified index, or undefined if the index is out of range. */\r\n public findFeature(featureIndex: number): Feature | undefined {\r\n return featureIndex < this.numFeatures ? this.getFeature(featureIndex) : undefined;\r\n }\r\n\r\n /** @internal */\r\n public getElementIdPair(featureIndex: number, out?: Id64.Uint32Pair): Id64.Uint32Pair {\r\n out = out ?? { lower: 0, upper: 0 };\r\n assert(featureIndex < this.numFeatures);\r\n const offset = 3 * featureIndex;\r\n out.lower = this._data[offset];\r\n out.upper = this._data[offset + 1];\r\n return out;\r\n }\r\n\r\n /** @internal */\r\n public getSubCategoryIdPair(featureIndex: number): Id64.Uint32Pair {\r\n const index = 3 * featureIndex;\r\n let subCatIndex = this._data[index + 2];\r\n subCatIndex = (subCatIndex & 0x00ffffff) >>> 0;\r\n subCatIndex = subCatIndex * 2 + this._subCategoriesOffset;\r\n return { lower: this._data[subCatIndex], upper: this._data[subCatIndex + 1] };\r\n }\r\n\r\n /** @internal */\r\n public getAnimationNodeId(featureIndex: number): number {\r\n return undefined !== this._animationNodeIds && featureIndex < this.numFeatures ? this._animationNodeIds[featureIndex] : 0;\r\n }\r\n\r\n /** @internal */\r\n public getPackedFeature(featureIndex: number): PackedFeature {\r\n assert(featureIndex < this.numFeatures);\r\n\r\n const index32 = 3 * featureIndex;\r\n const elementId = { lower: this._data[index32], upper: this._data[index32 + 1] };\r\n\r\n const subCatIndexAndClass = this._data[index32 + 2];\r\n const geometryClass = (subCatIndexAndClass >>> 24) & 0xff;\r\n\r\n let subCatIndex = (subCatIndexAndClass & 0x00ffffff) >>> 0;\r\n subCatIndex = subCatIndex * 2 + this._subCategoriesOffset;\r\n const subCategoryId = { lower: this._data[subCatIndex], upper: this._data[subCatIndex + 1] };\r\n\r\n const animationNodeId = this.getAnimationNodeId(featureIndex);\r\n return { elementId, subCategoryId, geometryClass, animationNodeId };\r\n }\r\n\r\n /** Returns the element ID of the Feature associated with the specified index, or undefined if the index is out of range. */\r\n public findElementId(featureIndex: number): Id64String | undefined {\r\n if (featureIndex >= this.numFeatures)\r\n return undefined;\r\n else\r\n return this.readId(3 * featureIndex);\r\n }\r\n\r\n /** Return true if this table contains exactly 1 feature. */\r\n public get isUniform(): boolean { return 1 === this.numFeatures; }\r\n\r\n /** If this table contains exactly 1 feature, return it. */\r\n public get uniform(): Feature | undefined { return this.isUniform ? this.getFeature(0) : undefined; }\r\n\r\n public get isVolumeClassifier(): boolean { return BatchType.VolumeClassifier === this.type; }\r\n public get isPlanarClassifier(): boolean { return BatchType.VolumeClassifier === this.type; }\r\n public get isClassifier(): boolean { return this.isVolumeClassifier || this.isPlanarClassifier; }\r\n\r\n /** Unpack the features into a [[FeatureTable]]. */\r\n public unpack(): FeatureTable {\r\n const table = new FeatureTable(this.maxFeatures, this.modelId);\r\n for (let i = 0; i < this.numFeatures; i++) {\r\n const feature = this.getFeature(i);\r\n table.insertWithIndex(feature, i);\r\n }\r\n\r\n return table;\r\n }\r\n\r\n public populateAnimationNodeIds(computeNodeId: ComputeNodeId, maxNodeId: number): void {\r\n assert(undefined === this._animationNodeIds);\r\n assert(maxNodeId > 0);\r\n\r\n const pair = { lower: 0, upper: 0 };\r\n let haveNodes = false;\r\n const size = this.numFeatures;\r\n const nodeIds = maxNodeId < 0x100 ? new Uint8Array(size) : (maxNodeId < 0x10000 ? new Uint16Array(size) : new Uint32Array(size));\r\n for (let i = 0; i < this.numFeatures; i++) {\r\n this.getElementIdPair(i, pair);\r\n const nodeId = computeNodeId(pair, i);\r\n assert(nodeId <= maxNodeId);\r\n if (0 !== nodeId) {\r\n nodeIds[i] = nodeId;\r\n haveNodes = true;\r\n }\r\n }\r\n\r\n if (haveNodes)\r\n this._animationNodeIds = nodeIds;\r\n }\r\n\r\n private get _subCategoriesOffset(): number { return this.numFeatures * 3; }\r\n\r\n private readId(offset32: number): Id64String {\r\n return Id64.fromUint32Pair(this._data[offset32], this._data[offset32 + 1]);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"FeatureTable.js","sourceRoot":"","sources":["../../src/FeatureTable.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Rendering\n */\n\nimport { assert, compareNumbers, compareStrings, Id64, Id64String, IndexedValue, IndexMap } from \"@itwin/core-bentley\";\nimport { GeometryClass } from \"./GeometryParams\";\n\n/** Describes a discrete entity within a batched [RenderGraphic]($frontend) that can be\n * grouped with other such entities in a [[FeatureTable]].\n * Features roughly correlate to elements: a [Tile]($frontend)'s graphics combines geometry from every\n * [GeometricElement]($backend) that intersects the tile's volume, so each element produces at least one feature.\n * However, an element's geometry stream can contain geometry belonging to multiple different combinations of [SubCategory]($backend) and\n * [[GeometryClass]], so an individual element may produce more than one feature.\n * @see [[FeatureOverrides]] for customizing the appearance of individual features.\n * @public\n */\nexport class Feature {\n public readonly elementId: string;\n public readonly subCategoryId: string;\n public readonly geometryClass: GeometryClass;\n\n public constructor(elementId: Id64String = Id64.invalid, subCategoryId: Id64String = Id64.invalid, geometryClass: GeometryClass = GeometryClass.Primary) {\n this.elementId = elementId;\n this.subCategoryId = subCategoryId;\n this.geometryClass = geometryClass;\n }\n\n public get isDefined(): boolean { return !Id64.isInvalid(this.elementId) || !Id64.isInvalid(this.subCategoryId) || this.geometryClass !== GeometryClass.Primary; }\n public get isUndefined(): boolean { return !this.isDefined; }\n\n /** Returns true if this feature is equivalent to the supplied feature. */\n public equals(other: Feature): boolean { return 0 === this.compare(other); }\n\n /** Performs ordinal comparison of this feature with another.\n * @param rhs The feature to compare with.\n * @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`.\n */\n public compare(rhs: Feature): number {\n if (this === rhs)\n return 0;\n\n let cmp = compareNumbers(this.geometryClass, rhs.geometryClass);\n if (0 === cmp) {\n cmp = compareStrings(this.elementId, rhs.elementId);\n if (0 === cmp) {\n cmp = compareStrings(this.subCategoryId, rhs.subCategoryId);\n }\n }\n\n return cmp;\n }\n}\n\n/** @internal */\nexport interface PackedFeature {\n elementId: Id64.Uint32Pair;\n subCategoryId: Id64.Uint32Pair;\n geometryClass: GeometryClass;\n animationNodeId: number;\n}\n\n/** Describes the type of a 'batch' of graphics representing multiple [[Feature]]s.\n * The most commonly-encountered batches are Tiles, which can be of either Primary or\n * Classifier type.\n * @public\n * @extensions\n */\nexport enum BatchType {\n /** This batch contains graphics derived from a model's visible geometry. */\n Primary,\n /**\n * This batch contains color volumes which are used to classify a model's visible geometry.\n * The graphics themselves are not rendered to the screen; instead they are rendered to the stencil buffer\n * to resymbolize the primary geometry.\n */\n VolumeClassifier,\n /**\n * This batch contains planar graphics which are used to classify a model's visible geometry.\n * The graphics themselves are not rendered to the screen; instead they are rendered to a texture buffer\n * to resymbolize the primary geometry.\n */\n PlanarClassifier,\n}\n\n/** Defines a look-up table for [[Feature]]s within a batched [RenderGraphic]($frontend). Consecutive 32-bit\n * indices are assigned to each unique Feature. Primitives within the RenderGraphic can\n * use per-vertex indices to specify the distribution of Features within the primitive. The appearance of individual\n * features can be customized using [[FeatureOverrides]]. Typically a [Tile]($frontend) will contain a feature table\n * identifying the elements whose geometry appears within that tile.\n * @see [[FeatureOverrides]] for customizing the appearance of individual features.\n * @public\n */\nexport class FeatureTable extends IndexMap<Feature> {\n public readonly modelId: Id64String;\n public readonly type: BatchType;\n\n /** Construct an empty FeatureTable. */\n public constructor(maxFeatures: number, modelId: Id64String = Id64.invalid, type: BatchType = BatchType.Primary) {\n super((lhs, rhs) => lhs.compare(rhs), maxFeatures);\n this.modelId = modelId;\n this.type = type;\n }\n\n /** Returns the maximum number of [[Feature]]s this FeatureTable can contain. */\n public get maxFeatures(): number { return this._maximumSize; }\n /** @internal */\n public get anyDefined(): boolean { return this.length > 1 || (1 === this.length && this._array[0].value.isDefined); }\n /** Returns true if this FeatureTable contains exactly one [[Feature]]. */\n public get isUniform(): boolean { return 1 === this.length; }\n /** If this FeatureTable contains exactly one [[Feature]], returns that Feature; otherwise returns undefined. */\n public get uniform(): Feature | undefined { return 1 === this.length ? this._array[0].value : undefined; }\n /** Returns true if this FeatureTable is associated with [[BatchType.VolumeClassifier]] geometry. */\n public get isVolumeClassifier(): boolean { return BatchType.VolumeClassifier === this.type; }\n /** Returns true if this FeatureTable is associated with [[BatchType.PlanarClassifier]] geometry. */\n public get isPlanarClassifier(): boolean { return BatchType.PlanarClassifier === this.type; }\n\n /** Returns the Feature corresponding to the specified index, or undefined if the index is not present. */\n public findFeature(index: number): Feature | undefined {\n for (const entry of this._array)\n if (entry.index === index)\n return entry.value;\n\n return undefined;\n }\n\n /** @internal */\n public insertWithIndex(feature: Feature, index: number): void {\n const bound = this.lowerBound(feature);\n assert(!bound.equal);\n assert(!this.isFull);\n const entry = new IndexedValue<Feature>(feature, index);\n this._array.splice(bound.index, 0, entry);\n }\n\n /** @internal */\n public getArray(): Array<IndexedValue<Feature>> { return this._array; }\n}\n\n/** @alpha */\nexport type ComputeNodeId = (elementId: Id64.Uint32Pair, featureIndex: number) => number;\n\n/**\n * An immutable, packed representation of a [[FeatureTable]]. The features are packed into a single array of 32-bit integer values,\n * wherein each feature occupies 3 32-bit integers.\n * @internal\n */\nexport class PackedFeatureTable {\n private readonly _data: Uint32Array;\n public readonly modelId: Id64String;\n public readonly maxFeatures: number;\n public readonly numFeatures: number;\n public readonly anyDefined: boolean;\n public readonly type: BatchType;\n private _animationNodeIds?: Uint8Array | Uint16Array | Uint32Array;\n\n public get byteLength(): number { return this._data.byteLength; }\n public get animationNodeIds(): Readonly<Uint8Array | Uint16Array | Uint32Array> | undefined { return this._animationNodeIds; }\n\n /** Construct a PackedFeatureTable from the packed binary data.\n * This is used internally when deserializing Tiles in iMdl format.\n * @internal\n */\n public constructor(data: Uint32Array, modelId: Id64String, numFeatures: number, maxFeatures: number, type: BatchType, animationNodeIds?: Uint8Array | Uint16Array | Uint32Array) {\n this._data = data;\n this.modelId = modelId;\n this.maxFeatures = maxFeatures;\n this.numFeatures = numFeatures;\n this.type = type;\n this._animationNodeIds = animationNodeIds;\n\n switch (this.numFeatures) {\n case 0:\n this.anyDefined = false;\n break;\n case 1:\n this.anyDefined = this.getFeature(0).isDefined;\n break;\n default:\n this.anyDefined = true;\n break;\n }\n\n assert(this._data.length >= this._subCategoriesOffset);\n assert(this.maxFeatures >= this.numFeatures);\n assert(undefined === this._animationNodeIds || this._animationNodeIds.length === this.numFeatures);\n }\n\n /** Create a packed feature table from a [[FeatureTable]]. */\n public static pack(featureTable: FeatureTable): PackedFeatureTable {\n // We must determine how many subcategories we have ahead of time to compute the size of the Uint32Array, as\n // the array cannot be resized after it is created.\n // We are not too worried about this as FeatureTables created on the front-end will contain few if any features; those obtained from the\n // back-end arrive within tiles already in the packed format.\n const subcategories = new Map<string, number>();\n for (const iv of featureTable.getArray()) {\n const found = subcategories.get(iv.value.subCategoryId.toString());\n if (undefined === found)\n subcategories.set(iv.value.subCategoryId, subcategories.size);\n }\n\n // We need 3 32-bit integers per feature, plus 2 32-bit integers per subcategory.\n const subCategoriesOffset = 3 * featureTable.length;\n const nUint32s = subCategoriesOffset + 2 * subcategories.size;\n const uint32s = new Uint32Array(nUint32s);\n\n for (const iv of featureTable.getArray()) {\n const feature = iv.value;\n const index = iv.index * 3;\n\n let subCategoryIndex = subcategories.get(feature.subCategoryId)!;\n assert(undefined !== subCategoryIndex); // we inserted it above...\n subCategoryIndex |= (feature.geometryClass << 24);\n\n uint32s[index + 0] = Id64.getLowerUint32(feature.elementId);\n uint32s[index + 1] = Id64.getUpperUint32(feature.elementId);\n uint32s[index + 2] = subCategoryIndex;\n }\n\n subcategories.forEach((index: number, id: string, _map) => {\n const index32 = subCategoriesOffset + 2 * index;\n uint32s[index32 + 0] = Id64.getLowerUint32(id);\n uint32s[index32 + 1] = Id64.getUpperUint32(id);\n });\n\n return new PackedFeatureTable(uint32s, featureTable.modelId, featureTable.length, featureTable.maxFeatures, featureTable.type);\n }\n\n /** Retrieve the Feature associated with the specified index. */\n public getFeature(featureIndex: number): Feature {\n const packed = this.getPackedFeature(featureIndex);\n const elemId = Id64.fromUint32Pair(packed.elementId.lower, packed.elementId.upper);\n const subcatId = Id64.fromUint32Pair(packed.subCategoryId.lower, packed.subCategoryId.upper);\n return new Feature(elemId, subcatId, packed.geometryClass);\n }\n\n /** Returns the Feature associated with the specified index, or undefined if the index is out of range. */\n public findFeature(featureIndex: number): Feature | undefined {\n return featureIndex < this.numFeatures ? this.getFeature(featureIndex) : undefined;\n }\n\n /** @internal */\n public getElementIdPair(featureIndex: number, out?: Id64.Uint32Pair): Id64.Uint32Pair {\n out = out ?? { lower: 0, upper: 0 };\n assert(featureIndex < this.numFeatures);\n const offset = 3 * featureIndex;\n out.lower = this._data[offset];\n out.upper = this._data[offset + 1];\n return out;\n }\n\n /** @internal */\n public getSubCategoryIdPair(featureIndex: number): Id64.Uint32Pair {\n const index = 3 * featureIndex;\n let subCatIndex = this._data[index + 2];\n subCatIndex = (subCatIndex & 0x00ffffff) >>> 0;\n subCatIndex = subCatIndex * 2 + this._subCategoriesOffset;\n return { lower: this._data[subCatIndex], upper: this._data[subCatIndex + 1] };\n }\n\n /** @internal */\n public getAnimationNodeId(featureIndex: number): number {\n return undefined !== this._animationNodeIds && featureIndex < this.numFeatures ? this._animationNodeIds[featureIndex] : 0;\n }\n\n /** @internal */\n public getPackedFeature(featureIndex: number): PackedFeature {\n assert(featureIndex < this.numFeatures);\n\n const index32 = 3 * featureIndex;\n const elementId = { lower: this._data[index32], upper: this._data[index32 + 1] };\n\n const subCatIndexAndClass = this._data[index32 + 2];\n const geometryClass = (subCatIndexAndClass >>> 24) & 0xff;\n\n let subCatIndex = (subCatIndexAndClass & 0x00ffffff) >>> 0;\n subCatIndex = subCatIndex * 2 + this._subCategoriesOffset;\n const subCategoryId = { lower: this._data[subCatIndex], upper: this._data[subCatIndex + 1] };\n\n const animationNodeId = this.getAnimationNodeId(featureIndex);\n return { elementId, subCategoryId, geometryClass, animationNodeId };\n }\n\n /** Returns the element ID of the Feature associated with the specified index, or undefined if the index is out of range. */\n public findElementId(featureIndex: number): Id64String | undefined {\n if (featureIndex >= this.numFeatures)\n return undefined;\n else\n return this.readId(3 * featureIndex);\n }\n\n /** Return true if this table contains exactly 1 feature. */\n public get isUniform(): boolean { return 1 === this.numFeatures; }\n\n /** If this table contains exactly 1 feature, return it. */\n public get uniform(): Feature | undefined { return this.isUniform ? this.getFeature(0) : undefined; }\n\n public get isVolumeClassifier(): boolean { return BatchType.VolumeClassifier === this.type; }\n public get isPlanarClassifier(): boolean { return BatchType.VolumeClassifier === this.type; }\n public get isClassifier(): boolean { return this.isVolumeClassifier || this.isPlanarClassifier; }\n\n /** Unpack the features into a [[FeatureTable]]. */\n public unpack(): FeatureTable {\n const table = new FeatureTable(this.maxFeatures, this.modelId);\n for (let i = 0; i < this.numFeatures; i++) {\n const feature = this.getFeature(i);\n table.insertWithIndex(feature, i);\n }\n\n return table;\n }\n\n public populateAnimationNodeIds(computeNodeId: ComputeNodeId, maxNodeId: number): void {\n assert(undefined === this._animationNodeIds);\n assert(maxNodeId > 0);\n\n const pair = { lower: 0, upper: 0 };\n let haveNodes = false;\n const size = this.numFeatures;\n const nodeIds = maxNodeId < 0x100 ? new Uint8Array(size) : (maxNodeId < 0x10000 ? new Uint16Array(size) : new Uint32Array(size));\n for (let i = 0; i < this.numFeatures; i++) {\n this.getElementIdPair(i, pair);\n const nodeId = computeNodeId(pair, i);\n assert(nodeId <= maxNodeId);\n if (0 !== nodeId) {\n nodeIds[i] = nodeId;\n haveNodes = true;\n }\n }\n\n if (haveNodes)\n this._animationNodeIds = nodeIds;\n }\n\n private get _subCategoriesOffset(): number { return this.numFeatures * 3; }\n\n private readId(offset32: number): Id64String {\n return Id64.fromUint32Pair(this._data[offset32], this._data[offset32 + 1]);\n }\n}\n"]}
@@ -1,52 +1,52 @@
1
- /** @packageDocumentation
2
- * @module Symbology
3
- */
4
- /** The type of a font.
5
- * @public
6
- * @extensions
7
- */
8
- export declare enum FontType {
9
- TrueType = 1,
10
- Rsc = 2,
11
- Shx = 3
12
- }
13
- /** An iModel-local identifier for a font.
14
- * @public
15
- * @extensions
16
- */
17
- export declare type FontId = number;
18
- /** The properties of a Font.
19
- * @public
20
- */
21
- export interface FontProps {
22
- /** the Id, within an iModel, of this font. */
23
- id: FontId;
24
- /** The type of font */
25
- type: FontType;
26
- /** The name of the font. */
27
- name: string;
28
- }
29
- /** The properties of a FontMap
30
- * @public
31
- * @extensions
32
- */
33
- export interface FontMapProps {
34
- fonts: FontProps[];
35
- }
36
- /**
37
- * A FontMap holds the set of font names available in an iModel.
38
- * Within the GeometryStream of an Element, a specific font is referenced by its FontId that is local to the iModel.
39
- * This class maps FontIds to FontProps.
40
- * @note The font map is generally established when the iModel is first created to specify the set of fonts available
41
- * for editors. Adding new entries requires that the schema lock be held.
42
- * @public
43
- */
44
- export declare class FontMap {
45
- readonly fonts: Map<number, FontProps>;
46
- constructor(props?: FontMapProps);
47
- addFonts(fonts: FontProps[]): void;
48
- toJSON(): FontMapProps;
49
- /** look up a font by name or number and return its FontProps */
50
- getFont(arg: string | FontId): FontProps | undefined;
51
- }
1
+ /** @packageDocumentation
2
+ * @module Symbology
3
+ */
4
+ /** The type of a font.
5
+ * @public
6
+ * @extensions
7
+ */
8
+ export declare enum FontType {
9
+ TrueType = 1,
10
+ Rsc = 2,
11
+ Shx = 3
12
+ }
13
+ /** An iModel-local identifier for a font.
14
+ * @public
15
+ * @extensions
16
+ */
17
+ export declare type FontId = number;
18
+ /** The properties of a Font.
19
+ * @public
20
+ */
21
+ export interface FontProps {
22
+ /** the Id, within an iModel, of this font. */
23
+ id: FontId;
24
+ /** The type of font */
25
+ type: FontType;
26
+ /** The name of the font. */
27
+ name: string;
28
+ }
29
+ /** The properties of a FontMap
30
+ * @public
31
+ * @extensions
32
+ */
33
+ export interface FontMapProps {
34
+ fonts: FontProps[];
35
+ }
36
+ /**
37
+ * A FontMap holds the set of font names available in an iModel.
38
+ * Within the GeometryStream of an Element, a specific font is referenced by its FontId that is local to the iModel.
39
+ * This class maps FontIds to FontProps.
40
+ * @note The font map is generally established when the iModel is first created to specify the set of fonts available
41
+ * for editors. Adding new entries requires that the schema lock be held.
42
+ * @public
43
+ */
44
+ export declare class FontMap {
45
+ readonly fonts: Map<number, FontProps>;
46
+ constructor(props?: FontMapProps);
47
+ addFonts(fonts: FontProps[]): void;
48
+ toJSON(): FontMapProps;
49
+ /** look up a font by name or number and return its FontProps */
50
+ getFont(arg: string | FontId): FontProps | undefined;
51
+ }
52
52
  //# sourceMappingURL=Fonts.d.ts.map
package/lib/esm/Fonts.js CHANGED
@@ -1,50 +1,50 @@
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 Symbology
7
- */
8
- /** The type of a font.
9
- * @public
10
- * @extensions
11
- */
12
- export var FontType;
13
- (function (FontType) {
14
- FontType[FontType["TrueType"] = 1] = "TrueType";
15
- FontType[FontType["Rsc"] = 2] = "Rsc";
16
- FontType[FontType["Shx"] = 3] = "Shx";
17
- })(FontType || (FontType = {}));
18
- /**
19
- * A FontMap holds the set of font names available in an iModel.
20
- * Within the GeometryStream of an Element, a specific font is referenced by its FontId that is local to the iModel.
21
- * This class maps FontIds to FontProps.
22
- * @note The font map is generally established when the iModel is first created to specify the set of fonts available
23
- * for editors. Adding new entries requires that the schema lock be held.
24
- * @public
25
- */
26
- export class FontMap {
27
- constructor(props) {
28
- this.fonts = new Map();
29
- if (undefined !== props)
30
- this.addFonts(props.fonts);
31
- }
32
- addFonts(fonts) {
33
- fonts.forEach((font) => this.fonts.set(font.id, font));
34
- }
35
- toJSON() {
36
- const fonts = [];
37
- this.fonts.forEach((font) => fonts.push(font));
38
- return { fonts };
39
- }
40
- /** look up a font by name or number and return its FontProps */
41
- getFont(arg) {
42
- if (typeof arg === "number")
43
- return this.fonts.get(arg);
44
- for (const font of this.fonts.values())
45
- if (font.name === arg)
46
- return font;
47
- return undefined;
48
- }
49
- }
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 Symbology
7
+ */
8
+ /** The type of a font.
9
+ * @public
10
+ * @extensions
11
+ */
12
+ export var FontType;
13
+ (function (FontType) {
14
+ FontType[FontType["TrueType"] = 1] = "TrueType";
15
+ FontType[FontType["Rsc"] = 2] = "Rsc";
16
+ FontType[FontType["Shx"] = 3] = "Shx";
17
+ })(FontType || (FontType = {}));
18
+ /**
19
+ * A FontMap holds the set of font names available in an iModel.
20
+ * Within the GeometryStream of an Element, a specific font is referenced by its FontId that is local to the iModel.
21
+ * This class maps FontIds to FontProps.
22
+ * @note The font map is generally established when the iModel is first created to specify the set of fonts available
23
+ * for editors. Adding new entries requires that the schema lock be held.
24
+ * @public
25
+ */
26
+ export class FontMap {
27
+ constructor(props) {
28
+ this.fonts = new Map();
29
+ if (undefined !== props)
30
+ this.addFonts(props.fonts);
31
+ }
32
+ addFonts(fonts) {
33
+ fonts.forEach((font) => this.fonts.set(font.id, font));
34
+ }
35
+ toJSON() {
36
+ const fonts = [];
37
+ this.fonts.forEach((font) => fonts.push(font));
38
+ return { fonts };
39
+ }
40
+ /** look up a font by name or number and return its FontProps */
41
+ getFont(arg) {
42
+ if (typeof arg === "number")
43
+ return this.fonts.get(arg);
44
+ for (const font of this.fonts.values())
45
+ if (font.name === arg)
46
+ return font;
47
+ return undefined;
48
+ }
49
+ }
50
50
  //# sourceMappingURL=Fonts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Fonts.js","sourceRoot":"","sources":["../../src/Fonts.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAN,IAAY,QAA2C;AAAvD,WAAY,QAAQ;IAAG,+CAAY,CAAA;IAAE,qCAAO,CAAA;IAAE,qCAAO,CAAA;AAAC,CAAC,EAA3C,QAAQ,KAAR,QAAQ,QAAmC;AA0BvD;;;;;;;GAOG;AACH,MAAM,OAAO,OAAO;IAElB,YAAY,KAAoB;QADhB,UAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;QAEnD,IAAI,SAAS,KAAK,KAAK;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACM,QAAQ,CAAC,KAAkB;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IACM,MAAM;QACX,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,gEAAgE;IACzD,OAAO,CAAC,GAAoB;QACjC,IAAI,OAAO,GAAG,KAAK,QAAQ;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACpC,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;gBACnB,OAAO,IAAI,CAAC;QAEhB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Symbology\r\n */\r\n\r\n/** The type of a font.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum FontType { TrueType = 1, Rsc = 2, Shx = 3 }\r\n\r\n/** An iModel-local identifier for a font.\r\n * @public\r\n * @extensions\r\n */\r\nexport type FontId = number;\r\n\r\n/** The properties of a Font.\r\n * @public\r\n */\r\nexport interface FontProps {\r\n /** the Id, within an iModel, of this font. */\r\n id: FontId;\r\n /** The type of font */\r\n type: FontType;\r\n /** The name of the font. */\r\n name: string;\r\n}\r\n\r\n/** The properties of a FontMap\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FontMapProps { fonts: FontProps[] }\r\n\r\n/**\r\n * A FontMap holds the set of font names available in an iModel.\r\n * Within the GeometryStream of an Element, a specific font is referenced by its FontId that is local to the iModel.\r\n * This class maps FontIds to FontProps.\r\n * @note The font map is generally established when the iModel is first created to specify the set of fonts available\r\n * for editors. Adding new entries requires that the schema lock be held.\r\n * @public\r\n */\r\nexport class FontMap {\r\n public readonly fonts = new Map<FontId, FontProps>();\r\n constructor(props?: FontMapProps) {\r\n if (undefined !== props)\r\n this.addFonts(props.fonts);\r\n }\r\n public addFonts(fonts: FontProps[]) {\r\n fonts.forEach((font) => this.fonts.set(font.id, font));\r\n }\r\n public toJSON(): FontMapProps {\r\n const fonts: FontProps[] = [];\r\n this.fonts.forEach((font) => fonts.push(font));\r\n return { fonts };\r\n }\r\n /** look up a font by name or number and return its FontProps */\r\n public getFont(arg: string | FontId): FontProps | undefined {\r\n if (typeof arg === \"number\")\r\n return this.fonts.get(arg);\r\n\r\n for (const font of this.fonts.values())\r\n if (font.name === arg)\r\n return font;\r\n\r\n return undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Fonts.js","sourceRoot":"","sources":["../../src/Fonts.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAN,IAAY,QAA2C;AAAvD,WAAY,QAAQ;IAAG,+CAAY,CAAA;IAAE,qCAAO,CAAA;IAAE,qCAAO,CAAA;AAAC,CAAC,EAA3C,QAAQ,KAAR,QAAQ,QAAmC;AA0BvD;;;;;;;GAOG;AACH,MAAM,OAAO,OAAO;IAElB,YAAY,KAAoB;QADhB,UAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;QAEnD,IAAI,SAAS,KAAK,KAAK;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACM,QAAQ,CAAC,KAAkB;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IACM,MAAM;QACX,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,gEAAgE;IACzD,OAAO,CAAC,GAAoB;QACjC,IAAI,OAAO,GAAG,KAAK,QAAQ;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACpC,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;gBACnB,OAAO,IAAI,CAAC;QAEhB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Symbology\n */\n\n/** The type of a font.\n * @public\n * @extensions\n */\nexport enum FontType { TrueType = 1, Rsc = 2, Shx = 3 }\n\n/** An iModel-local identifier for a font.\n * @public\n * @extensions\n */\nexport type FontId = number;\n\n/** The properties of a Font.\n * @public\n */\nexport interface FontProps {\n /** the Id, within an iModel, of this font. */\n id: FontId;\n /** The type of font */\n type: FontType;\n /** The name of the font. */\n name: string;\n}\n\n/** The properties of a FontMap\n * @public\n * @extensions\n */\nexport interface FontMapProps { fonts: FontProps[] }\n\n/**\n * A FontMap holds the set of font names available in an iModel.\n * Within the GeometryStream of an Element, a specific font is referenced by its FontId that is local to the iModel.\n * This class maps FontIds to FontProps.\n * @note The font map is generally established when the iModel is first created to specify the set of fonts available\n * for editors. Adding new entries requires that the schema lock be held.\n * @public\n */\nexport class FontMap {\n public readonly fonts = new Map<FontId, FontProps>();\n constructor(props?: FontMapProps) {\n if (undefined !== props)\n this.addFonts(props.fonts);\n }\n public addFonts(fonts: FontProps[]) {\n fonts.forEach((font) => this.fonts.set(font.id, font));\n }\n public toJSON(): FontMapProps {\n const fonts: FontProps[] = [];\n this.fonts.forEach((font) => fonts.push(font));\n return { fonts };\n }\n /** look up a font by name or number and return its FontProps */\n public getFont(arg: string | FontId): FontProps | undefined {\n if (typeof arg === \"number\")\n return this.fonts.get(arg);\n\n for (const font of this.fonts.values())\n if (font.name === arg)\n return font;\n\n return undefined;\n }\n}\n"]}
@@ -1,115 +1,115 @@
1
- /** @packageDocumentation
2
- * @module Views
3
- */
4
- import { ConvexClipPlaneSet, LowAndHighXY, LowAndHighXYZ, Map4d, Matrix3d, Plane3dByOriginAndUnitNormal, Point3d, Range3d, Transform, XYAndZ } from "@itwin/core-geometry";
5
- /** The 8 corners of the [Normalized Plane Coordinate]($docs/learning/glossary.md#npc) cube.
6
- * @public
7
- * @extensions
8
- */
9
- export declare enum Npc {
10
- /** Left bottom rear */
11
- _000 = 0,
12
- /** Right bottom rear */
13
- _100 = 1,
14
- /** Left top rear */
15
- _010 = 2,
16
- /** Right top rear */
17
- _110 = 3,
18
- /** Left bottom front */
19
- _001 = 4,
20
- /** Right bottom front */
21
- _101 = 5,
22
- /** Left top front */
23
- _011 = 6,
24
- /** Right top front */
25
- _111 = 7,
26
- LeftBottomRear = 0,
27
- RightBottomRear = 1,
28
- LeftTopRear = 2,
29
- RightTopRear = 3,
30
- LeftBottomFront = 4,
31
- RightBottomFront = 5,
32
- LeftTopFront = 6,
33
- RightTopFront = 7,
34
- /** useful for sizing arrays */
35
- CORNER_COUNT = 8
36
- }
37
- /** The 8 corners of an [[Npc]] Frustum.
38
- * @public
39
- */
40
- export declare const NpcCorners: Point3d[];
41
- /** The center point of the [Normalized Plane Coordinate]($docs/learning/glossary.md#npc) cube.
42
- * @public
43
- */
44
- export declare const NpcCenter: Point3d;
45
- /** The region of physical (3d) space that appears in a view. It forms the field-of-view of a camera.
46
- * It is stored as 8 points, in [[Npc]] order, that must define a truncated pyramid.
47
- * @public
48
- */
49
- export declare class Frustum {
50
- /** Array of the 8 points of this Frustum. */
51
- readonly points: Point3d[];
52
- /** Constructor for Frustum. Members are initialized to the Npc cube. */
53
- constructor();
54
- /** Initialize this Frustum to the 8 corners of the NPC cube. */
55
- initNpc(): this;
56
- /** Get a corner Point from this Frustum. */
57
- getCorner(i: number): Point3d;
58
- /** Get the point at the center of this Frustum (halfway between RightTopFront and LeftBottomRear. */
59
- getCenter(): Point3d;
60
- /** Get the distance between two corners of this Frustum. */
61
- distance(corner1: number, corner2: number): number;
62
- /** Get the ratio of the length of the diagonal of the front plane to the diagonal of the back plane. */
63
- getFraction(): number;
64
- /** Multiply all the points of this Frustum by a Transform, in place. */
65
- multiply(trans: Transform): void;
66
- /** Offset all of the points of this Frustum by a vector. */
67
- translate(offset: XYAndZ): void;
68
- /** Transform all the points of this Frustum and return the result in another Frustum. */
69
- transformBy(trans: Transform, result?: Frustum): Frustum;
70
- /** Calculate a bounding range from the 8 points in this Frustum. */
71
- toRange(range?: Range3d): Range3d;
72
- /** Make a copy of this Frustum.
73
- * @param result Optional Frustum for copy. If undefined allocate a new Frustum.
74
- */
75
- clone(result?: Frustum): Frustum;
76
- /** Set the points of this Frustum to be copies of the points in another Frustum. */
77
- setFrom(other: Frustum): void;
78
- /** Set the points of this frustum from array of corner points in NPC order. */
79
- setFromCorners(corners: Point3d[]): void;
80
- /** Scale this Frustum, in place, about its center by a scale factor. */
81
- scaleAboutCenter(scale: number): void;
82
- /** The point at the center of the front face of this frustum */
83
- get frontCenter(): Point3d;
84
- /** The point at the center of the rear face of this frustum */
85
- get rearCenter(): Point3d;
86
- /** Scale this frustum's XY (viewing) plane about its center */
87
- scaleXYAboutCenter(scale: number): void;
88
- /** Create a Map4d that converts world coordinates to/from [[Npc]] coordinates of this Frustum. */
89
- toMap4d(): Map4d | undefined;
90
- /** Get the rotation matrix to the frame of this frustum. This is equivalent to the view rotation matrix. */
91
- getRotation(result?: Matrix3d): Matrix3d | undefined;
92
- /** Get the eye point - undefined if parallel projection */
93
- getEyePoint(result?: Point3d): Point3d | undefined;
94
- /** Invalidate this Frustum by setting all 8 points to zero. */
95
- invalidate(): void;
96
- /** Return true if this Frustum is equal to another Frustum */
97
- equals(rhs: Frustum): boolean;
98
- /** Return true if all of the points in this Frustum are *almost* the same as the points in another Frustum.
99
- * @see [[equals]], [XYZ.isAlmostEqual]($geometry)
100
- */
101
- isSame(other: Frustum): boolean;
102
- /** Initialize this Frustum from a Range */
103
- initFromRange(range: LowAndHighXYZ | LowAndHighXY): void;
104
- /** Create a new Frustum from a Range3d */
105
- static fromRange(range: LowAndHighXYZ | LowAndHighXY, out?: Frustum): Frustum;
106
- /** Return true if this Frustum has a mirror (is not in the correct order.) */
107
- get hasMirror(): boolean;
108
- /** Make sure the frustum point order does not include mirroring. If so, reverse the order. */
109
- fixPointOrder(): void;
110
- /** Get a convex set of clipping planes bounding the region contained by this Frustum. */
111
- getRangePlanes(clipFront: boolean, clipBack: boolean, expandPlaneDistance: number): ConvexClipPlaneSet;
112
- /** Get a (convex) polygon that represents the intersection of this frustum with a plane, or undefined if no intersection exists */
113
- getIntersectionWithPlane(plane: Plane3dByOriginAndUnitNormal): Point3d[] | undefined;
114
- }
1
+ /** @packageDocumentation
2
+ * @module Views
3
+ */
4
+ import { ConvexClipPlaneSet, LowAndHighXY, LowAndHighXYZ, Map4d, Matrix3d, Plane3dByOriginAndUnitNormal, Point3d, Range3d, Transform, XYAndZ } from "@itwin/core-geometry";
5
+ /** The 8 corners of the [Normalized Plane Coordinate]($docs/learning/glossary.md#npc) cube.
6
+ * @public
7
+ * @extensions
8
+ */
9
+ export declare enum Npc {
10
+ /** Left bottom rear */
11
+ _000 = 0,
12
+ /** Right bottom rear */
13
+ _100 = 1,
14
+ /** Left top rear */
15
+ _010 = 2,
16
+ /** Right top rear */
17
+ _110 = 3,
18
+ /** Left bottom front */
19
+ _001 = 4,
20
+ /** Right bottom front */
21
+ _101 = 5,
22
+ /** Left top front */
23
+ _011 = 6,
24
+ /** Right top front */
25
+ _111 = 7,
26
+ LeftBottomRear = 0,
27
+ RightBottomRear = 1,
28
+ LeftTopRear = 2,
29
+ RightTopRear = 3,
30
+ LeftBottomFront = 4,
31
+ RightBottomFront = 5,
32
+ LeftTopFront = 6,
33
+ RightTopFront = 7,
34
+ /** useful for sizing arrays */
35
+ CORNER_COUNT = 8
36
+ }
37
+ /** The 8 corners of an [[Npc]] Frustum.
38
+ * @public
39
+ */
40
+ export declare const NpcCorners: Point3d[];
41
+ /** The center point of the [Normalized Plane Coordinate]($docs/learning/glossary.md#npc) cube.
42
+ * @public
43
+ */
44
+ export declare const NpcCenter: Point3d;
45
+ /** The region of physical (3d) space that appears in a view. It forms the field-of-view of a camera.
46
+ * It is stored as 8 points, in [[Npc]] order, that must define a truncated pyramid.
47
+ * @public
48
+ */
49
+ export declare class Frustum {
50
+ /** Array of the 8 points of this Frustum. */
51
+ readonly points: Point3d[];
52
+ /** Constructor for Frustum. Members are initialized to the Npc cube. */
53
+ constructor();
54
+ /** Initialize this Frustum to the 8 corners of the NPC cube. */
55
+ initNpc(): this;
56
+ /** Get a corner Point from this Frustum. */
57
+ getCorner(i: number): Point3d;
58
+ /** Get the point at the center of this Frustum (halfway between RightTopFront and LeftBottomRear. */
59
+ getCenter(): Point3d;
60
+ /** Get the distance between two corners of this Frustum. */
61
+ distance(corner1: number, corner2: number): number;
62
+ /** Get the ratio of the length of the diagonal of the front plane to the diagonal of the back plane. */
63
+ getFraction(): number;
64
+ /** Multiply all the points of this Frustum by a Transform, in place. */
65
+ multiply(trans: Transform): void;
66
+ /** Offset all of the points of this Frustum by a vector. */
67
+ translate(offset: XYAndZ): void;
68
+ /** Transform all the points of this Frustum and return the result in another Frustum. */
69
+ transformBy(trans: Transform, result?: Frustum): Frustum;
70
+ /** Calculate a bounding range from the 8 points in this Frustum. */
71
+ toRange(range?: Range3d): Range3d;
72
+ /** Make a copy of this Frustum.
73
+ * @param result Optional Frustum for copy. If undefined allocate a new Frustum.
74
+ */
75
+ clone(result?: Frustum): Frustum;
76
+ /** Set the points of this Frustum to be copies of the points in another Frustum. */
77
+ setFrom(other: Frustum): void;
78
+ /** Set the points of this frustum from array of corner points in NPC order. */
79
+ setFromCorners(corners: Point3d[]): void;
80
+ /** Scale this Frustum, in place, about its center by a scale factor. */
81
+ scaleAboutCenter(scale: number): void;
82
+ /** The point at the center of the front face of this frustum */
83
+ get frontCenter(): Point3d;
84
+ /** The point at the center of the rear face of this frustum */
85
+ get rearCenter(): Point3d;
86
+ /** Scale this frustum's XY (viewing) plane about its center */
87
+ scaleXYAboutCenter(scale: number): void;
88
+ /** Create a Map4d that converts world coordinates to/from [[Npc]] coordinates of this Frustum. */
89
+ toMap4d(): Map4d | undefined;
90
+ /** Get the rotation matrix to the frame of this frustum. This is equivalent to the view rotation matrix. */
91
+ getRotation(result?: Matrix3d): Matrix3d | undefined;
92
+ /** Get the eye point - undefined if parallel projection */
93
+ getEyePoint(result?: Point3d): Point3d | undefined;
94
+ /** Invalidate this Frustum by setting all 8 points to zero. */
95
+ invalidate(): void;
96
+ /** Return true if this Frustum is equal to another Frustum */
97
+ equals(rhs: Frustum): boolean;
98
+ /** Return true if all of the points in this Frustum are *almost* the same as the points in another Frustum.
99
+ * @see [[equals]], [XYZ.isAlmostEqual]($geometry)
100
+ */
101
+ isSame(other: Frustum): boolean;
102
+ /** Initialize this Frustum from a Range */
103
+ initFromRange(range: LowAndHighXYZ | LowAndHighXY): void;
104
+ /** Create a new Frustum from a Range3d */
105
+ static fromRange(range: LowAndHighXYZ | LowAndHighXY, out?: Frustum): Frustum;
106
+ /** Return true if this Frustum has a mirror (is not in the correct order.) */
107
+ get hasMirror(): boolean;
108
+ /** Make sure the frustum point order does not include mirroring. If so, reverse the order. */
109
+ fixPointOrder(): void;
110
+ /** Get a convex set of clipping planes bounding the region contained by this Frustum. */
111
+ getRangePlanes(clipFront: boolean, clipBack: boolean, expandPlaneDistance: number): ConvexClipPlaneSet;
112
+ /** Get a (convex) polygon that represents the intersection of this frustum with a plane, or undefined if no intersection exists */
113
+ getIntersectionWithPlane(plane: Plane3dByOriginAndUnitNormal): Point3d[] | undefined;
114
+ }
115
115
  //# sourceMappingURL=Frustum.d.ts.map