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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1039) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  4. package/lib/cjs/AmbientOcclusion.js +55 -55
  5. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  6. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  7. package/lib/cjs/AnalysisStyle.js +165 -165
  8. package/lib/cjs/AnalysisStyle.js.map +1 -1
  9. package/lib/cjs/AuthorizationClient.d.ts +17 -11
  10. package/lib/cjs/AuthorizationClient.d.ts.map +1 -1
  11. package/lib/cjs/AuthorizationClient.js +9 -9
  12. package/lib/cjs/AuthorizationClient.js.map +1 -1
  13. package/lib/cjs/BackendTypes.d.ts +12 -12
  14. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  15. package/lib/cjs/BackendTypes.js +9 -9
  16. package/lib/cjs/BackendTypes.js.map +1 -1
  17. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  18. package/lib/cjs/BackgroundMapProvider.js +68 -68
  19. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  20. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  21. package/lib/cjs/BackgroundMapSettings.js +156 -156
  22. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  23. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  24. package/lib/cjs/Base64EncodedString.js +66 -66
  25. package/lib/cjs/Base64EncodedString.js.map +1 -1
  26. package/lib/cjs/BlobReader.d.ts +31 -31
  27. package/lib/cjs/BlobReader.js +84 -84
  28. package/lib/cjs/BlobReader.js.map +1 -1
  29. package/lib/cjs/BriefcaseTypes.d.ts +191 -189
  30. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  31. package/lib/cjs/BriefcaseTypes.js +95 -95
  32. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  33. package/lib/cjs/Camera.d.ts +42 -42
  34. package/lib/cjs/Camera.js +62 -62
  35. package/lib/cjs/Camera.js.map +1 -1
  36. package/lib/cjs/ChangedElements.d.ts +85 -85
  37. package/lib/cjs/ChangedElements.js +23 -23
  38. package/lib/cjs/ChangedElements.js.map +1 -1
  39. package/lib/cjs/ChangedEntities.d.ts +45 -45
  40. package/lib/cjs/ChangedEntities.js +9 -9
  41. package/lib/cjs/ChangedEntities.js.map +1 -1
  42. package/lib/cjs/ChangesetProps.d.ts +98 -98
  43. package/lib/cjs/ChangesetProps.js +22 -22
  44. package/lib/cjs/ChangesetProps.js.map +1 -1
  45. package/lib/cjs/ClipStyle.d.ts +89 -89
  46. package/lib/cjs/ClipStyle.js +123 -123
  47. package/lib/cjs/ClipStyle.js.map +1 -1
  48. package/lib/cjs/CloudStorage.d.ts +62 -62
  49. package/lib/cjs/CloudStorage.js +113 -113
  50. package/lib/cjs/CloudStorage.js.map +1 -1
  51. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  52. package/lib/cjs/CloudStorageTileCache.js +66 -66
  53. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  54. package/lib/cjs/Code.d.ts +277 -256
  55. package/lib/cjs/Code.d.ts.map +1 -1
  56. package/lib/cjs/Code.js +269 -281
  57. package/lib/cjs/Code.js.map +1 -1
  58. package/lib/cjs/ColorByName.d.ts +161 -161
  59. package/lib/cjs/ColorByName.js +169 -169
  60. package/lib/cjs/ColorByName.js.map +1 -1
  61. package/lib/cjs/ColorDef.d.ts +208 -208
  62. package/lib/cjs/ColorDef.js +571 -571
  63. package/lib/cjs/ColorDef.js.map +1 -1
  64. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  65. package/lib/cjs/CommonLoggerCategory.js +26 -26
  66. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  67. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  68. package/lib/cjs/ConcurrentQuery.js +552 -552
  69. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  70. package/lib/cjs/ContextRealityModel.d.ts +303 -276
  71. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  72. package/lib/cjs/ContextRealityModel.js +373 -358
  73. package/lib/cjs/ContextRealityModel.js.map +1 -1
  74. package/lib/cjs/DisplayStyleSettings.d.ts +588 -584
  75. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  76. package/lib/cjs/DisplayStyleSettings.js +985 -981
  77. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  78. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  79. package/lib/cjs/ECSchemaProps.js +9 -9
  80. package/lib/cjs/ECSchemaProps.js.map +1 -1
  81. package/lib/cjs/ECSqlReader.d.ts +70 -70
  82. package/lib/cjs/ECSqlReader.js +280 -280
  83. package/lib/cjs/ECSqlReader.js.map +1 -1
  84. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  85. package/lib/cjs/ECSqlTypes.js +189 -189
  86. package/lib/cjs/ECSqlTypes.js.map +1 -1
  87. package/lib/cjs/ElementMesh.d.ts +39 -39
  88. package/lib/cjs/ElementMesh.js +56 -56
  89. package/lib/cjs/ElementMesh.js.map +1 -1
  90. package/lib/cjs/ElementProps.d.ts +483 -479
  91. package/lib/cjs/ElementProps.d.ts.map +1 -1
  92. package/lib/cjs/ElementProps.js +99 -99
  93. package/lib/cjs/ElementProps.js.map +1 -1
  94. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  95. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  96. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  97. package/lib/cjs/EntityProps.d.ts +177 -176
  98. package/lib/cjs/EntityProps.d.ts.map +1 -1
  99. package/lib/cjs/EntityProps.js +113 -112
  100. package/lib/cjs/EntityProps.js.map +1 -1
  101. package/lib/cjs/EntityReference.d.ts +51 -51
  102. package/lib/cjs/EntityReference.js +56 -56
  103. package/lib/cjs/EntityReference.js.map +1 -1
  104. package/lib/cjs/Environment.d.ts +61 -61
  105. package/lib/cjs/Environment.js +73 -73
  106. package/lib/cjs/Environment.js.map +1 -1
  107. package/lib/cjs/FeatureIndex.d.ts +39 -39
  108. package/lib/cjs/FeatureIndex.js +63 -63
  109. package/lib/cjs/FeatureIndex.js.map +1 -1
  110. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  111. package/lib/cjs/FeatureSymbology.js +614 -614
  112. package/lib/cjs/FeatureSymbology.js.map +1 -1
  113. package/lib/cjs/FeatureTable.d.ts +141 -141
  114. package/lib/cjs/FeatureTable.js +278 -278
  115. package/lib/cjs/FeatureTable.js.map +1 -1
  116. package/lib/cjs/Fonts.d.ts +51 -51
  117. package/lib/cjs/Fonts.js +53 -53
  118. package/lib/cjs/Fonts.js.map +1 -1
  119. package/lib/cjs/Frustum.d.ts +114 -114
  120. package/lib/cjs/Frustum.js +292 -292
  121. package/lib/cjs/Frustum.js.map +1 -1
  122. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  123. package/lib/cjs/GeoCoordinateServices.js +80 -80
  124. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  125. package/lib/cjs/GeometryContainment.d.ts +28 -28
  126. package/lib/cjs/GeometryContainment.js +9 -9
  127. package/lib/cjs/GeometryContainment.js.map +1 -1
  128. package/lib/cjs/GeometryParams.d.ts +130 -130
  129. package/lib/cjs/GeometryParams.js +174 -174
  130. package/lib/cjs/GeometryParams.js.map +1 -1
  131. package/lib/cjs/GeometrySummary.d.ts +45 -45
  132. package/lib/cjs/GeometrySummary.js +23 -23
  133. package/lib/cjs/GeometrySummary.js.map +1 -1
  134. package/lib/cjs/Gradient.d.ts +139 -139
  135. package/lib/cjs/Gradient.js +455 -455
  136. package/lib/cjs/Gradient.js.map +1 -1
  137. package/lib/cjs/GraphicParams.d.ts +58 -58
  138. package/lib/cjs/GraphicParams.js +85 -85
  139. package/lib/cjs/GraphicParams.js.map +1 -1
  140. package/lib/cjs/GroundPlane.d.ts +52 -52
  141. package/lib/cjs/GroundPlane.js +64 -64
  142. package/lib/cjs/GroundPlane.js.map +1 -1
  143. package/lib/cjs/HSLColor.d.ts +20 -20
  144. package/lib/cjs/HSLColor.js +32 -32
  145. package/lib/cjs/HSLColor.js.map +1 -1
  146. package/lib/cjs/HSVColor.d.ts +30 -30
  147. package/lib/cjs/HSVColor.js +59 -59
  148. package/lib/cjs/HSVColor.js.map +1 -1
  149. package/lib/cjs/HiddenLine.d.ts +97 -97
  150. package/lib/cjs/HiddenLine.js +162 -162
  151. package/lib/cjs/HiddenLine.js.map +1 -1
  152. package/lib/cjs/Hilite.d.ts +50 -50
  153. package/lib/cjs/Hilite.js +64 -64
  154. package/lib/cjs/Hilite.js.map +1 -1
  155. package/lib/cjs/IModel.d.ts +358 -359
  156. package/lib/cjs/IModel.d.ts.map +1 -1
  157. package/lib/cjs/IModel.js +347 -347
  158. package/lib/cjs/IModel.js.map +1 -1
  159. package/lib/cjs/IModelError.d.ts +42 -36
  160. package/lib/cjs/IModelError.d.ts.map +1 -1
  161. package/lib/cjs/IModelError.js +71 -72
  162. package/lib/cjs/IModelError.js.map +1 -1
  163. package/lib/cjs/IModelVersion.d.ts +68 -68
  164. package/lib/cjs/IModelVersion.js +79 -79
  165. package/lib/cjs/IModelVersion.js.map +1 -1
  166. package/lib/cjs/Image.d.ts +86 -86
  167. package/lib/cjs/Image.js +128 -128
  168. package/lib/cjs/Image.js.map +1 -1
  169. package/lib/cjs/IpcAppProps.d.ts +141 -141
  170. package/lib/cjs/IpcAppProps.js +23 -23
  171. package/lib/cjs/IpcAppProps.js.map +1 -1
  172. package/lib/cjs/LightSettings.d.ts +224 -224
  173. package/lib/cjs/LightSettings.js +309 -309
  174. package/lib/cjs/LightSettings.js.map +1 -1
  175. package/lib/cjs/LinePixels.d.ts +34 -34
  176. package/lib/cjs/LinePixels.js +42 -42
  177. package/lib/cjs/LinePixels.js.map +1 -1
  178. package/lib/cjs/Localization.d.ts +113 -113
  179. package/lib/cjs/Localization.d.ts.map +1 -1
  180. package/lib/cjs/Localization.js +33 -26
  181. package/lib/cjs/Localization.js.map +1 -1
  182. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  183. package/lib/cjs/MapImagerySettings.js +80 -80
  184. package/lib/cjs/MapImagerySettings.js.map +1 -1
  185. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  186. package/lib/cjs/MapLayerSettings.js +411 -411
  187. package/lib/cjs/MapLayerSettings.js.map +1 -1
  188. package/lib/cjs/MassProperties.d.ts +64 -64
  189. package/lib/cjs/MassProperties.js +23 -23
  190. package/lib/cjs/MassProperties.js.map +1 -1
  191. package/lib/cjs/MaterialProps.d.ts +153 -118
  192. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  193. package/lib/cjs/MaterialProps.js +35 -23
  194. package/lib/cjs/MaterialProps.js.map +1 -1
  195. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  196. package/lib/cjs/ModelClipGroup.js +98 -98
  197. package/lib/cjs/ModelClipGroup.js.map +1 -1
  198. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  199. package/lib/cjs/ModelGeometryChanges.js +83 -83
  200. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  201. package/lib/cjs/ModelProps.d.ts +67 -67
  202. package/lib/cjs/ModelProps.js +9 -9
  203. package/lib/cjs/ModelProps.js.map +1 -1
  204. package/lib/cjs/NativeAppProps.d.ts +122 -122
  205. package/lib/cjs/NativeAppProps.js +30 -30
  206. package/lib/cjs/NativeAppProps.js.map +1 -1
  207. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  208. package/lib/cjs/OctEncodedNormal.js +98 -98
  209. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  210. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  211. package/lib/cjs/PlanProjectionSettings.js +63 -63
  212. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  213. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  214. package/lib/cjs/PlanarClipMask.js +136 -136
  215. package/lib/cjs/PlanarClipMask.js.map +1 -1
  216. package/lib/cjs/QPoint.d.ts +479 -479
  217. package/lib/cjs/QPoint.js +826 -826
  218. package/lib/cjs/QPoint.js.map +1 -1
  219. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  220. package/lib/cjs/RealityDataAccessProps.js +19 -19
  221. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  222. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -118
  223. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
  224. package/lib/cjs/RealityModelDisplaySettings.js +142 -114
  225. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  226. package/lib/cjs/Render.d.ts +89 -89
  227. package/lib/cjs/Render.js +177 -177
  228. package/lib/cjs/Render.js.map +1 -1
  229. package/lib/cjs/RenderMaterial.d.ts +58 -58
  230. package/lib/cjs/RenderMaterial.d.ts.map +1 -1
  231. package/lib/cjs/RenderMaterial.js +76 -76
  232. package/lib/cjs/RenderMaterial.js.map +1 -1
  233. package/lib/cjs/RenderSchedule.d.ts +543 -543
  234. package/lib/cjs/RenderSchedule.js +1002 -1002
  235. package/lib/cjs/RenderTexture.d.ts +70 -70
  236. package/lib/cjs/RenderTexture.js +59 -59
  237. package/lib/cjs/RenderTexture.js.map +1 -1
  238. package/lib/cjs/RgbColor.d.ts +47 -47
  239. package/lib/cjs/RgbColor.js +77 -77
  240. package/lib/cjs/RgbColor.js.map +1 -1
  241. package/lib/cjs/RpcInterface.d.ts +33 -33
  242. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  243. package/lib/cjs/RpcInterface.js +137 -137
  244. package/lib/cjs/RpcInterface.js.map +1 -1
  245. package/lib/cjs/RpcManager.d.ts +40 -40
  246. package/lib/cjs/RpcManager.d.ts.map +1 -1
  247. package/lib/cjs/RpcManager.js +55 -55
  248. package/lib/cjs/RpcManager.js.map +1 -1
  249. package/lib/cjs/SessionProps.d.ts +16 -16
  250. package/lib/cjs/SessionProps.js +9 -9
  251. package/lib/cjs/SessionProps.js.map +1 -1
  252. package/lib/cjs/SkyBox.d.ts +215 -215
  253. package/lib/cjs/SkyBox.js +210 -210
  254. package/lib/cjs/SkyBox.js.map +1 -1
  255. package/lib/cjs/Snapping.d.ts +49 -49
  256. package/lib/cjs/Snapping.js +9 -9
  257. package/lib/cjs/Snapping.js.map +1 -1
  258. package/lib/cjs/SolarCalculate.d.ts +27 -27
  259. package/lib/cjs/SolarCalculate.js +211 -211
  260. package/lib/cjs/SolarCalculate.js.map +1 -1
  261. package/lib/cjs/SolarShadows.d.ts +35 -35
  262. package/lib/cjs/SolarShadows.js +62 -62
  263. package/lib/cjs/SolarShadows.js.map +1 -1
  264. package/lib/cjs/SpatialClassification.d.ts +208 -208
  265. package/lib/cjs/SpatialClassification.js +340 -340
  266. package/lib/cjs/SpatialClassification.js.map +1 -1
  267. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  268. package/lib/cjs/SubCategoryAppearance.js +96 -96
  269. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  270. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  271. package/lib/cjs/SubCategoryOverride.js +104 -104
  272. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  273. package/lib/cjs/TerrainSettings.d.ts +82 -82
  274. package/lib/cjs/TerrainSettings.js +102 -102
  275. package/lib/cjs/TerrainSettings.js.map +1 -1
  276. package/lib/cjs/TextureMapping.d.ts +118 -116
  277. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  278. package/lib/cjs/TextureMapping.js +174 -174
  279. package/lib/cjs/TextureMapping.js.map +1 -1
  280. package/lib/cjs/TextureProps.d.ts +65 -65
  281. package/lib/cjs/TextureProps.js +28 -28
  282. package/lib/cjs/TextureProps.js.map +1 -1
  283. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  284. package/lib/cjs/ThematicDisplay.js +344 -344
  285. package/lib/cjs/ThematicDisplay.js.map +1 -1
  286. package/lib/cjs/Thumbnail.d.ts +26 -26
  287. package/lib/cjs/Thumbnail.js +9 -9
  288. package/lib/cjs/Thumbnail.js.map +1 -1
  289. package/lib/cjs/TileProps.d.ts +82 -82
  290. package/lib/cjs/TileProps.js +29 -29
  291. package/lib/cjs/TileProps.js.map +1 -1
  292. package/lib/cjs/Tween.d.ts +191 -191
  293. package/lib/cjs/Tween.js +570 -570
  294. package/lib/cjs/Tween.js.map +1 -1
  295. package/lib/cjs/TxnAction.d.ts +21 -21
  296. package/lib/cjs/TxnAction.js +29 -29
  297. package/lib/cjs/TxnAction.js.map +1 -1
  298. package/lib/cjs/ViewDetails.d.ts +125 -125
  299. package/lib/cjs/ViewDetails.js +166 -166
  300. package/lib/cjs/ViewDetails.js.map +1 -1
  301. package/lib/cjs/ViewFlags.d.ts +287 -291
  302. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  303. package/lib/cjs/ViewFlags.js +368 -368
  304. package/lib/cjs/ViewFlags.js.map +1 -1
  305. package/lib/cjs/ViewProps.d.ts +205 -205
  306. package/lib/cjs/ViewProps.d.ts.map +1 -1
  307. package/lib/cjs/ViewProps.js +9 -9
  308. package/lib/cjs/ViewProps.js.map +1 -1
  309. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  310. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  311. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  312. package/lib/cjs/core-common.d.ts +244 -245
  313. package/lib/cjs/core-common.d.ts.map +1 -1
  314. package/lib/cjs/core-common.js +260 -261
  315. package/lib/cjs/core-common.js.map +1 -1
  316. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  317. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  318. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  319. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  320. package/lib/cjs/domains/GenericElementProps.js +9 -9
  321. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  322. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  323. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  324. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  325. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  326. package/lib/cjs/geometry/AreaPattern.js +204 -204
  327. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  328. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -14
  329. package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
  330. package/lib/cjs/geometry/BoundingSphere.js +44 -30
  331. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  332. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  333. package/lib/cjs/geometry/Cartographic.js +345 -345
  334. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  335. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  336. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  337. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  338. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  339. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  340. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  341. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  342. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  343. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  344. package/lib/cjs/geometry/FrustumPlanes.d.ts +81 -32
  345. package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
  346. package/lib/cjs/geometry/FrustumPlanes.js +193 -132
  347. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  348. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  349. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  350. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  351. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  352. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  353. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  354. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  355. package/lib/cjs/geometry/GeometryStream.js +469 -469
  356. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  357. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  358. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  359. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  360. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  361. package/lib/cjs/geometry/LineStyle.js +129 -129
  362. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  363. package/lib/cjs/geometry/Placement.d.ts +95 -95
  364. package/lib/cjs/geometry/Placement.js +131 -131
  365. package/lib/cjs/geometry/Placement.js.map +1 -1
  366. package/lib/cjs/geometry/Projection.d.ts +251 -251
  367. package/lib/cjs/geometry/Projection.js +198 -198
  368. package/lib/cjs/geometry/Projection.js.map +1 -1
  369. package/lib/cjs/geometry/TextString.d.ts +55 -55
  370. package/lib/cjs/geometry/TextString.js +65 -65
  371. package/lib/cjs/geometry/TextString.js.map +1 -1
  372. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  373. package/lib/cjs/ipc/IpcSession.js +27 -27
  374. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  375. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  376. package/lib/cjs/ipc/IpcSocket.js +16 -16
  377. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  378. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  379. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  380. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  381. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  382. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  383. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  384. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  385. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  386. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  387. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  388. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  389. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  390. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  391. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  392. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -96
  393. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  394. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  395. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  396. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  397. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  398. package/lib/cjs/rpc/TestRpcManager.d.ts.map +1 -1
  399. package/lib/cjs/rpc/TestRpcManager.js +40 -39
  400. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  401. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  402. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  403. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  404. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  405. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  406. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  407. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  408. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -85
  409. package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
  410. package/lib/cjs/rpc/core/RpcConstants.js +109 -103
  411. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  412. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  413. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  414. package/lib/cjs/rpc/core/RpcControl.js +145 -144
  415. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  416. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  417. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  418. package/lib/cjs/rpc/core/RpcInvocation.js +258 -258
  419. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  420. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  421. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  422. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  423. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  424. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  425. package/lib/cjs/rpc/core/RpcOperation.js +134 -133
  426. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  427. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  428. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts.map +1 -1
  429. package/lib/cjs/rpc/core/RpcPendingQueue.js +95 -94
  430. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  431. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  432. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  433. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  434. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  435. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  436. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  437. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  438. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  439. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  440. package/lib/cjs/rpc/core/RpcRegistry.d.ts.map +1 -1
  441. package/lib/cjs/rpc/core/RpcRegistry.js +199 -198
  442. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  443. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  444. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  445. package/lib/cjs/rpc/core/RpcRequest.js +478 -477
  446. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  447. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  448. package/lib/cjs/rpc/core/RpcRequestContext.d.ts.map +1 -1
  449. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  450. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  451. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  452. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  453. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -23
  454. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  455. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  456. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts.map +1 -1
  457. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -59
  458. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  459. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  460. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  461. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  462. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  463. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  464. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  465. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +143 -142
  466. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  467. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -139
  468. package/lib/cjs/rpc/web/OpenAPI.d.ts.map +1 -1
  469. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  470. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  471. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  472. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  473. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  474. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  475. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  476. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -139
  477. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  478. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -87
  479. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  480. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  481. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  482. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  483. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  484. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  485. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  486. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  487. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  488. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -372
  489. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  490. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  491. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  492. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  493. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  494. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  495. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  496. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  497. package/lib/cjs/tile/ElementGraphics.js +9 -9
  498. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  499. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  500. package/lib/cjs/tile/GltfTileIO.js +109 -109
  501. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  502. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  503. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  504. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  505. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  506. package/lib/cjs/tile/IModelTileIO.js +95 -95
  507. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  508. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  509. package/lib/cjs/tile/PntsTileIO.js +26 -26
  510. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  511. package/lib/cjs/tile/TileIO.d.ts +66 -66
  512. package/lib/cjs/tile/TileIO.js +118 -118
  513. package/lib/cjs/tile/TileIO.js.map +1 -1
  514. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  515. package/lib/cjs/tile/TileMetadata.js +676 -676
  516. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  517. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  518. package/lib/esm/AmbientOcclusion.js +52 -52
  519. package/lib/esm/AmbientOcclusion.js.map +1 -1
  520. package/lib/esm/AnalysisStyle.d.ts +134 -134
  521. package/lib/esm/AnalysisStyle.js +159 -159
  522. package/lib/esm/AnalysisStyle.js.map +1 -1
  523. package/lib/esm/AuthorizationClient.d.ts +17 -11
  524. package/lib/esm/AuthorizationClient.d.ts.map +1 -1
  525. package/lib/esm/AuthorizationClient.js +8 -8
  526. package/lib/esm/AuthorizationClient.js.map +1 -1
  527. package/lib/esm/BackendTypes.d.ts +12 -12
  528. package/lib/esm/BackendTypes.d.ts.map +1 -1
  529. package/lib/esm/BackendTypes.js +8 -8
  530. package/lib/esm/BackendTypes.js.map +1 -1
  531. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  532. package/lib/esm/BackgroundMapProvider.js +64 -64
  533. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  534. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  535. package/lib/esm/BackgroundMapSettings.js +152 -152
  536. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  537. package/lib/esm/Base64EncodedString.d.ts +32 -32
  538. package/lib/esm/Base64EncodedString.js +63 -63
  539. package/lib/esm/Base64EncodedString.js.map +1 -1
  540. package/lib/esm/BlobReader.d.ts +31 -31
  541. package/lib/esm/BlobReader.js +79 -79
  542. package/lib/esm/BlobReader.js.map +1 -1
  543. package/lib/esm/BriefcaseTypes.d.ts +191 -189
  544. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  545. package/lib/esm/BriefcaseTypes.js +92 -92
  546. package/lib/esm/BriefcaseTypes.js.map +1 -1
  547. package/lib/esm/Camera.d.ts +42 -42
  548. package/lib/esm/Camera.js +58 -58
  549. package/lib/esm/Camera.js.map +1 -1
  550. package/lib/esm/ChangedElements.d.ts +85 -85
  551. package/lib/esm/ChangedElements.js +20 -20
  552. package/lib/esm/ChangedElements.js.map +1 -1
  553. package/lib/esm/ChangedEntities.d.ts +45 -45
  554. package/lib/esm/ChangedEntities.js +8 -8
  555. package/lib/esm/ChangedEntities.js.map +1 -1
  556. package/lib/esm/ChangesetProps.d.ts +98 -98
  557. package/lib/esm/ChangesetProps.js +19 -19
  558. package/lib/esm/ChangesetProps.js.map +1 -1
  559. package/lib/esm/ClipStyle.d.ts +89 -89
  560. package/lib/esm/ClipStyle.js +118 -118
  561. package/lib/esm/ClipStyle.js.map +1 -1
  562. package/lib/esm/CloudStorage.d.ts +62 -62
  563. package/lib/esm/CloudStorage.js +109 -109
  564. package/lib/esm/CloudStorage.js.map +1 -1
  565. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  566. package/lib/esm/CloudStorageTileCache.js +62 -62
  567. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  568. package/lib/esm/Code.d.ts +277 -256
  569. package/lib/esm/Code.d.ts.map +1 -1
  570. package/lib/esm/Code.js +264 -276
  571. package/lib/esm/Code.js.map +1 -1
  572. package/lib/esm/ColorByName.d.ts +161 -161
  573. package/lib/esm/ColorByName.js +166 -166
  574. package/lib/esm/ColorByName.js.map +1 -1
  575. package/lib/esm/ColorDef.d.ts +208 -208
  576. package/lib/esm/ColorDef.js +567 -567
  577. package/lib/esm/ColorDef.js.map +1 -1
  578. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  579. package/lib/esm/CommonLoggerCategory.js +23 -23
  580. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  581. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  582. package/lib/esm/ConcurrentQuery.js +545 -545
  583. package/lib/esm/ConcurrentQuery.js.map +1 -1
  584. package/lib/esm/ContextRealityModel.d.ts +303 -276
  585. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  586. package/lib/esm/ContextRealityModel.js +368 -353
  587. package/lib/esm/ContextRealityModel.js.map +1 -1
  588. package/lib/esm/DisplayStyleSettings.d.ts +588 -584
  589. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  590. package/lib/esm/DisplayStyleSettings.js +980 -976
  591. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  592. package/lib/esm/ECSchemaProps.d.ts +39 -39
  593. package/lib/esm/ECSchemaProps.js +8 -8
  594. package/lib/esm/ECSchemaProps.js.map +1 -1
  595. package/lib/esm/ECSqlReader.d.ts +70 -70
  596. package/lib/esm/ECSqlReader.js +275 -275
  597. package/lib/esm/ECSqlReader.js.map +1 -1
  598. package/lib/esm/ECSqlTypes.d.ts +128 -128
  599. package/lib/esm/ECSqlTypes.js +185 -185
  600. package/lib/esm/ECSqlTypes.js.map +1 -1
  601. package/lib/esm/ElementMesh.d.ts +39 -39
  602. package/lib/esm/ElementMesh.js +52 -52
  603. package/lib/esm/ElementMesh.js.map +1 -1
  604. package/lib/esm/ElementProps.d.ts +483 -479
  605. package/lib/esm/ElementProps.d.ts.map +1 -1
  606. package/lib/esm/ElementProps.js +92 -92
  607. package/lib/esm/ElementProps.js.map +1 -1
  608. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  609. package/lib/esm/EmphasizeElementsProps.js +22 -22
  610. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  611. package/lib/esm/EntityProps.d.ts +177 -176
  612. package/lib/esm/EntityProps.d.ts.map +1 -1
  613. package/lib/esm/EntityProps.js +108 -107
  614. package/lib/esm/EntityProps.js.map +1 -1
  615. package/lib/esm/EntityReference.d.ts +51 -51
  616. package/lib/esm/EntityReference.js +52 -52
  617. package/lib/esm/EntityReference.js.map +1 -1
  618. package/lib/esm/Environment.d.ts +61 -61
  619. package/lib/esm/Environment.js +69 -69
  620. package/lib/esm/Environment.js.map +1 -1
  621. package/lib/esm/FeatureIndex.d.ts +39 -39
  622. package/lib/esm/FeatureIndex.js +57 -57
  623. package/lib/esm/FeatureIndex.js.map +1 -1
  624. package/lib/esm/FeatureSymbology.d.ts +444 -444
  625. package/lib/esm/FeatureSymbology.js +609 -609
  626. package/lib/esm/FeatureSymbology.js.map +1 -1
  627. package/lib/esm/FeatureTable.d.ts +141 -141
  628. package/lib/esm/FeatureTable.js +272 -272
  629. package/lib/esm/FeatureTable.js.map +1 -1
  630. package/lib/esm/Fonts.d.ts +51 -51
  631. package/lib/esm/Fonts.js +49 -49
  632. package/lib/esm/Fonts.js.map +1 -1
  633. package/lib/esm/Frustum.d.ts +114 -114
  634. package/lib/esm/Frustum.js +288 -288
  635. package/lib/esm/Frustum.js.map +1 -1
  636. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  637. package/lib/esm/GeoCoordinateServices.js +76 -76
  638. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  639. package/lib/esm/GeometryContainment.d.ts +28 -28
  640. package/lib/esm/GeometryContainment.js +8 -8
  641. package/lib/esm/GeometryContainment.js.map +1 -1
  642. package/lib/esm/GeometryParams.d.ts +130 -130
  643. package/lib/esm/GeometryParams.js +170 -170
  644. package/lib/esm/GeometryParams.js.map +1 -1
  645. package/lib/esm/GeometrySummary.d.ts +45 -45
  646. package/lib/esm/GeometrySummary.js +20 -20
  647. package/lib/esm/GeometrySummary.js.map +1 -1
  648. package/lib/esm/Gradient.d.ts +139 -139
  649. package/lib/esm/Gradient.js +452 -452
  650. package/lib/esm/Gradient.js.map +1 -1
  651. package/lib/esm/GraphicParams.d.ts +58 -58
  652. package/lib/esm/GraphicParams.js +81 -81
  653. package/lib/esm/GraphicParams.js.map +1 -1
  654. package/lib/esm/GroundPlane.d.ts +52 -52
  655. package/lib/esm/GroundPlane.js +60 -60
  656. package/lib/esm/GroundPlane.js.map +1 -1
  657. package/lib/esm/HSLColor.d.ts +20 -20
  658. package/lib/esm/HSLColor.js +28 -28
  659. package/lib/esm/HSLColor.js.map +1 -1
  660. package/lib/esm/HSVColor.d.ts +30 -30
  661. package/lib/esm/HSVColor.js +55 -55
  662. package/lib/esm/HSVColor.js.map +1 -1
  663. package/lib/esm/HiddenLine.d.ts +97 -97
  664. package/lib/esm/HiddenLine.js +159 -159
  665. package/lib/esm/HiddenLine.js.map +1 -1
  666. package/lib/esm/Hilite.d.ts +50 -50
  667. package/lib/esm/Hilite.js +61 -61
  668. package/lib/esm/Hilite.js.map +1 -1
  669. package/lib/esm/IModel.d.ts +358 -359
  670. package/lib/esm/IModel.d.ts.map +1 -1
  671. package/lib/esm/IModel.js +342 -342
  672. package/lib/esm/IModel.js.map +1 -1
  673. package/lib/esm/IModelError.d.ts +42 -36
  674. package/lib/esm/IModelError.d.ts.map +1 -1
  675. package/lib/esm/IModelError.js +56 -55
  676. package/lib/esm/IModelError.js.map +1 -1
  677. package/lib/esm/IModelVersion.d.ts +68 -68
  678. package/lib/esm/IModelVersion.js +75 -75
  679. package/lib/esm/IModelVersion.js.map +1 -1
  680. package/lib/esm/Image.d.ts +86 -86
  681. package/lib/esm/Image.js +120 -120
  682. package/lib/esm/Image.js.map +1 -1
  683. package/lib/esm/IpcAppProps.d.ts +141 -141
  684. package/lib/esm/IpcAppProps.js +19 -19
  685. package/lib/esm/IpcAppProps.js.map +1 -1
  686. package/lib/esm/LightSettings.d.ts +224 -224
  687. package/lib/esm/LightSettings.js +301 -301
  688. package/lib/esm/LightSettings.js.map +1 -1
  689. package/lib/esm/LinePixels.d.ts +34 -34
  690. package/lib/esm/LinePixels.js +39 -39
  691. package/lib/esm/LinePixels.js.map +1 -1
  692. package/lib/esm/Localization.d.ts +113 -113
  693. package/lib/esm/Localization.d.ts.map +1 -1
  694. package/lib/esm/Localization.js +29 -22
  695. package/lib/esm/Localization.js.map +1 -1
  696. package/lib/esm/MapImagerySettings.d.ts +62 -62
  697. package/lib/esm/MapImagerySettings.js +76 -76
  698. package/lib/esm/MapImagerySettings.js.map +1 -1
  699. package/lib/esm/MapLayerSettings.d.ts +272 -272
  700. package/lib/esm/MapLayerSettings.js +403 -403
  701. package/lib/esm/MapLayerSettings.js.map +1 -1
  702. package/lib/esm/MassProperties.d.ts +64 -64
  703. package/lib/esm/MassProperties.js +20 -20
  704. package/lib/esm/MassProperties.js.map +1 -1
  705. package/lib/esm/MaterialProps.d.ts +153 -118
  706. package/lib/esm/MaterialProps.d.ts.map +1 -1
  707. package/lib/esm/MaterialProps.js +32 -20
  708. package/lib/esm/MaterialProps.js.map +1 -1
  709. package/lib/esm/ModelClipGroup.d.ts +67 -67
  710. package/lib/esm/ModelClipGroup.js +93 -93
  711. package/lib/esm/ModelClipGroup.js.map +1 -1
  712. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  713. package/lib/esm/ModelGeometryChanges.js +80 -80
  714. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  715. package/lib/esm/ModelProps.d.ts +67 -67
  716. package/lib/esm/ModelProps.js +8 -8
  717. package/lib/esm/ModelProps.js.map +1 -1
  718. package/lib/esm/NativeAppProps.d.ts +122 -122
  719. package/lib/esm/NativeAppProps.js +27 -27
  720. package/lib/esm/NativeAppProps.js.map +1 -1
  721. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  722. package/lib/esm/OctEncodedNormal.js +93 -93
  723. package/lib/esm/OctEncodedNormal.js.map +1 -1
  724. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  725. package/lib/esm/PlanProjectionSettings.js +59 -59
  726. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  727. package/lib/esm/PlanarClipMask.d.ts +177 -177
  728. package/lib/esm/PlanarClipMask.js +132 -132
  729. package/lib/esm/PlanarClipMask.js.map +1 -1
  730. package/lib/esm/QPoint.d.ts +479 -479
  731. package/lib/esm/QPoint.js +815 -815
  732. package/lib/esm/QPoint.js.map +1 -1
  733. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  734. package/lib/esm/RealityDataAccessProps.js +16 -16
  735. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  736. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -118
  737. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
  738. package/lib/esm/RealityModelDisplaySettings.js +137 -109
  739. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  740. package/lib/esm/Render.d.ts +89 -89
  741. package/lib/esm/Render.js +165 -165
  742. package/lib/esm/Render.js.map +1 -1
  743. package/lib/esm/RenderMaterial.d.ts +58 -58
  744. package/lib/esm/RenderMaterial.d.ts.map +1 -1
  745. package/lib/esm/RenderMaterial.js +72 -72
  746. package/lib/esm/RenderMaterial.js.map +1 -1
  747. package/lib/esm/RenderSchedule.d.ts +543 -543
  748. package/lib/esm/RenderSchedule.js +999 -999
  749. package/lib/esm/RenderTexture.d.ts +70 -70
  750. package/lib/esm/RenderTexture.js +55 -55
  751. package/lib/esm/RenderTexture.js.map +1 -1
  752. package/lib/esm/RgbColor.d.ts +47 -47
  753. package/lib/esm/RgbColor.js +73 -73
  754. package/lib/esm/RgbColor.js.map +1 -1
  755. package/lib/esm/RpcInterface.d.ts +33 -33
  756. package/lib/esm/RpcInterface.d.ts.map +1 -1
  757. package/lib/esm/RpcInterface.js +133 -133
  758. package/lib/esm/RpcInterface.js.map +1 -1
  759. package/lib/esm/RpcManager.d.ts +40 -40
  760. package/lib/esm/RpcManager.d.ts.map +1 -1
  761. package/lib/esm/RpcManager.js +51 -51
  762. package/lib/esm/RpcManager.js.map +1 -1
  763. package/lib/esm/SessionProps.d.ts +16 -16
  764. package/lib/esm/SessionProps.js +8 -8
  765. package/lib/esm/SessionProps.js.map +1 -1
  766. package/lib/esm/SkyBox.d.ts +215 -215
  767. package/lib/esm/SkyBox.js +203 -203
  768. package/lib/esm/SkyBox.js.map +1 -1
  769. package/lib/esm/Snapping.d.ts +49 -49
  770. package/lib/esm/Snapping.js +8 -8
  771. package/lib/esm/Snapping.js.map +1 -1
  772. package/lib/esm/SolarCalculate.d.ts +27 -27
  773. package/lib/esm/SolarCalculate.js +204 -204
  774. package/lib/esm/SolarCalculate.js.map +1 -1
  775. package/lib/esm/SolarShadows.d.ts +35 -35
  776. package/lib/esm/SolarShadows.js +58 -58
  777. package/lib/esm/SolarShadows.js.map +1 -1
  778. package/lib/esm/SpatialClassification.d.ts +208 -208
  779. package/lib/esm/SpatialClassification.js +334 -334
  780. package/lib/esm/SpatialClassification.js.map +1 -1
  781. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  782. package/lib/esm/SubCategoryAppearance.js +92 -92
  783. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  784. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  785. package/lib/esm/SubCategoryOverride.js +100 -100
  786. package/lib/esm/SubCategoryOverride.js.map +1 -1
  787. package/lib/esm/TerrainSettings.d.ts +82 -82
  788. package/lib/esm/TerrainSettings.js +98 -98
  789. package/lib/esm/TerrainSettings.js.map +1 -1
  790. package/lib/esm/TextureMapping.d.ts +118 -116
  791. package/lib/esm/TextureMapping.d.ts.map +1 -1
  792. package/lib/esm/TextureMapping.js +170 -170
  793. package/lib/esm/TextureMapping.js.map +1 -1
  794. package/lib/esm/TextureProps.d.ts +65 -65
  795. package/lib/esm/TextureProps.js +25 -25
  796. package/lib/esm/TextureProps.js.map +1 -1
  797. package/lib/esm/ThematicDisplay.d.ts +230 -230
  798. package/lib/esm/ThematicDisplay.js +337 -337
  799. package/lib/esm/ThematicDisplay.js.map +1 -1
  800. package/lib/esm/Thumbnail.d.ts +26 -26
  801. package/lib/esm/Thumbnail.js +8 -8
  802. package/lib/esm/Thumbnail.js.map +1 -1
  803. package/lib/esm/TileProps.d.ts +82 -82
  804. package/lib/esm/TileProps.js +25 -25
  805. package/lib/esm/TileProps.js.map +1 -1
  806. package/lib/esm/Tween.d.ts +191 -191
  807. package/lib/esm/Tween.js +565 -565
  808. package/lib/esm/Tween.js.map +1 -1
  809. package/lib/esm/TxnAction.d.ts +21 -21
  810. package/lib/esm/TxnAction.js +26 -26
  811. package/lib/esm/TxnAction.js.map +1 -1
  812. package/lib/esm/ViewDetails.d.ts +125 -125
  813. package/lib/esm/ViewDetails.js +161 -161
  814. package/lib/esm/ViewDetails.js.map +1 -1
  815. package/lib/esm/ViewFlags.d.ts +287 -291
  816. package/lib/esm/ViewFlags.d.ts.map +1 -1
  817. package/lib/esm/ViewFlags.js +364 -364
  818. package/lib/esm/ViewFlags.js.map +1 -1
  819. package/lib/esm/ViewProps.d.ts +205 -205
  820. package/lib/esm/ViewProps.d.ts.map +1 -1
  821. package/lib/esm/ViewProps.js +8 -8
  822. package/lib/esm/ViewProps.js.map +1 -1
  823. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  824. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  825. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  826. package/lib/esm/core-common.d.ts +244 -245
  827. package/lib/esm/core-common.d.ts.map +1 -1
  828. package/lib/esm/core-common.js +248 -249
  829. package/lib/esm/core-common.js.map +1 -1
  830. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  831. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  832. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  833. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  834. package/lib/esm/domains/GenericElementProps.js +8 -8
  835. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  836. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  837. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  838. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  839. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  840. package/lib/esm/geometry/AreaPattern.js +201 -201
  841. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  842. package/lib/esm/geometry/BoundingSphere.d.ts +27 -14
  843. package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
  844. package/lib/esm/geometry/BoundingSphere.js +40 -26
  845. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  846. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  847. package/lib/esm/geometry/Cartographic.js +340 -340
  848. package/lib/esm/geometry/Cartographic.js.map +1 -1
  849. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  850. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  851. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  852. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  853. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  854. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  855. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  856. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  857. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  858. package/lib/esm/geometry/FrustumPlanes.d.ts +81 -32
  859. package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
  860. package/lib/esm/geometry/FrustumPlanes.js +189 -128
  861. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  862. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  863. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  864. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  865. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  866. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  867. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  868. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  869. package/lib/esm/geometry/GeometryStream.js +464 -464
  870. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  871. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  872. package/lib/esm/geometry/ImageGraphic.js +93 -93
  873. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  874. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  875. package/lib/esm/geometry/LineStyle.js +126 -126
  876. package/lib/esm/geometry/LineStyle.js.map +1 -1
  877. package/lib/esm/geometry/Placement.d.ts +95 -95
  878. package/lib/esm/geometry/Placement.js +126 -126
  879. package/lib/esm/geometry/Placement.js.map +1 -1
  880. package/lib/esm/geometry/Projection.d.ts +251 -251
  881. package/lib/esm/geometry/Projection.js +192 -192
  882. package/lib/esm/geometry/Projection.js.map +1 -1
  883. package/lib/esm/geometry/TextString.d.ts +55 -55
  884. package/lib/esm/geometry/TextString.js +61 -61
  885. package/lib/esm/geometry/TextString.js.map +1 -1
  886. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  887. package/lib/esm/ipc/IpcSession.js +23 -23
  888. package/lib/esm/ipc/IpcSession.js.map +1 -1
  889. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  890. package/lib/esm/ipc/IpcSocket.js +12 -12
  891. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  892. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  893. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  894. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  895. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  896. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  897. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  898. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  899. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  900. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  901. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  902. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  903. package/lib/esm/rpc/IModelReadRpcInterface.js +117 -117
  904. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  905. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  906. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -92
  907. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  908. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  909. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  910. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  911. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  912. package/lib/esm/rpc/TestRpcManager.d.ts.map +1 -1
  913. package/lib/esm/rpc/TestRpcManager.js +36 -35
  914. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  915. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  916. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  917. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  918. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  919. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  920. package/lib/esm/rpc/core/RpcConfiguration.js +184 -184
  921. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  922. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -85
  923. package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
  924. package/lib/esm/rpc/core/RpcConstants.js +106 -100
  925. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  926. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  927. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  928. package/lib/esm/rpc/core/RpcControl.js +138 -137
  929. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  930. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  931. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  932. package/lib/esm/rpc/core/RpcInvocation.js +254 -254
  933. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  934. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  935. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  936. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  937. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  938. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  939. package/lib/esm/rpc/core/RpcOperation.js +129 -128
  940. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  941. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  942. package/lib/esm/rpc/core/RpcPendingQueue.d.ts.map +1 -1
  943. package/lib/esm/rpc/core/RpcPendingQueue.js +91 -90
  944. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  945. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  946. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  947. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  948. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  949. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  950. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  951. package/lib/esm/rpc/core/RpcPush.js +119 -119
  952. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  953. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  954. package/lib/esm/rpc/core/RpcRegistry.d.ts.map +1 -1
  955. package/lib/esm/rpc/core/RpcRegistry.js +195 -194
  956. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  957. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  958. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  959. package/lib/esm/rpc/core/RpcRequest.js +473 -472
  960. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  961. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  962. package/lib/esm/rpc/core/RpcRequestContext.d.ts.map +1 -1
  963. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  964. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  965. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  966. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  967. package/lib/esm/rpc/core/RpcRoutingToken.js +20 -19
  968. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  969. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  970. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts.map +1 -1
  971. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -55
  972. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  973. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  974. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  975. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  976. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  977. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  978. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  979. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +139 -138
  980. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  981. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -139
  982. package/lib/esm/rpc/web/OpenAPI.d.ts.map +1 -1
  983. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  984. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  985. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  986. package/lib/esm/rpc/web/RpcMultipart.js +46 -46
  987. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  988. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  989. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  990. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -135
  991. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  992. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -87
  993. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  994. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  995. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  996. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  997. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  998. package/lib/esm/rpc/web/WebAppRpcRequest.js +235 -235
  999. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  1000. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  1001. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  1002. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -368
  1003. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  1004. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  1005. package/lib/esm/tile/B3dmTileIO.js +62 -62
  1006. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  1007. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  1008. package/lib/esm/tile/CompositeTileIO.js +22 -22
  1009. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  1010. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  1011. package/lib/esm/tile/ElementGraphics.js +8 -8
  1012. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  1013. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  1014. package/lib/esm/tile/GltfTileIO.js +105 -105
  1015. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  1016. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  1017. package/lib/esm/tile/I3dmTileIO.js +36 -36
  1018. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  1019. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  1020. package/lib/esm/tile/IModelTileIO.js +90 -90
  1021. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  1022. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  1023. package/lib/esm/tile/PntsTileIO.js +22 -22
  1024. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  1025. package/lib/esm/tile/TileIO.d.ts +66 -66
  1026. package/lib/esm/tile/TileIO.js +110 -110
  1027. package/lib/esm/tile/TileIO.js.map +1 -1
  1028. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  1029. package/lib/esm/tile/TileMetadata.js +661 -661
  1030. package/lib/esm/tile/TileMetadata.js.map +1 -1
  1031. package/package.json +7 -7
  1032. package/lib/cjs/FeatureGates.d.ts +0 -32
  1033. package/lib/cjs/FeatureGates.d.ts.map +0 -1
  1034. package/lib/cjs/FeatureGates.js +0 -56
  1035. package/lib/cjs/FeatureGates.js.map +0 -1
  1036. package/lib/esm/FeatureGates.d.ts +0 -32
  1037. package/lib/esm/FeatureGates.d.ts.map +0 -1
  1038. package/lib/esm/FeatureGates.js +0 -52
  1039. package/lib/esm/FeatureGates.js.map +0 -1
@@ -1,33 +1,82 @@
1
- /** @packageDocumentation
2
- * @module Geometry
3
- */
4
- import { ClipPlane, Point3d, Vector3d } from "@itwin/core-geometry";
5
- import { Frustum } from "../Frustum";
6
- import { BoundingSphere } from "./BoundingSphere";
7
- /** Represents a frustum as 6 planes and provides containment and intersection testing
8
- * @internal
9
- */
10
- export declare class FrustumPlanes {
11
- private _planes?;
12
- constructor(frustum?: Frustum);
13
- get isValid(): boolean;
14
- get planes(): ClipPlane[] | undefined;
15
- init(frustum: Frustum): void;
16
- computeFrustumContainment(box: Frustum, sphere?: BoundingSphere): FrustumPlanes.Containment;
17
- intersectsFrustum(box: Frustum, sphere?: BoundingSphere): boolean;
18
- containsPoint(point: Point3d, tolerance?: number): boolean;
19
- computeContainment(points: Point3d[], sphere?: BoundingSphere, tolerance?: number): FrustumPlanes.Containment;
20
- intersectsRay(origin: Point3d, direction: Vector3d): boolean;
21
- }
22
- /** @internal */
23
- export declare namespace FrustumPlanes {
24
- /** @internal */
25
- enum Containment {
26
- Outside = 0,
27
- Partial = 1,
28
- Inside = 2
29
- }
30
- /** @internal */
31
- function addPlaneFromPoints(planes: ClipPlane[], points: Point3d[], i0: number, i1: number, i2: number, expandPlaneDistance?: number): void;
32
- }
1
+ /** @packageDocumentation
2
+ * @module Geometry
3
+ */
4
+ import { ClipPlane, Point3d, Vector3d } from "@itwin/core-geometry";
5
+ import { Frustum } from "../Frustum";
6
+ import { BoundingSphere } from "./BoundingSphere";
7
+ /** Represents a the planes of a [[Frustum]] for testing containment and intersection.
8
+ * A valid frustum produces six planes. A degenerate frustum produces zero planes.
9
+ * @public
10
+ * @extensions
11
+ */
12
+ export declare class FrustumPlanes {
13
+ private _planes;
14
+ private constructor();
15
+ /** Compute the six planes of the specified frustum.
16
+ * If the frustum is degenerate - that is, its points do not represent a truncated pyramid - then the returned `FrustumPlanes` will contain zero planes.
17
+ * @see [[isValid]] to test this condition.
18
+ */
19
+ static fromFrustum(frustum: Frustum): FrustumPlanes;
20
+ /** Create an empty set of frustum planes. [[isValid]] will be `true`. This can be useful when you want to create a `FrustumPlanes` object and initialize it later via [[init]] -
21
+ * for example, if you intend to use the same object repeatedly with different [[Frustum]]s.
22
+ */
23
+ static createEmpty(): FrustumPlanes;
24
+ /** Returns true if [[planes]] consists of six planes. This may return `false` if a degenerate [[Frustum]] was supplied to [[fromFrustum]], or if this object was created
25
+ * via [[createEmpty]] - in either case, [[planes]] will be an empty array.
26
+ */
27
+ get isValid(): boolean;
28
+ /** Obtain the list of planes defining the frustum. If [[isValid]] is `true`, it will have a length of six, with the planes ordered as
29
+ * right, left, top, bottom, back, front. Otherwise, it will be empty.
30
+ */
31
+ get planes(): ClipPlane[];
32
+ /** Recompute the planes from the specified frustum.
33
+ * @returns true upon success, or false if the input frustum was degenerate, in which case [[isValid]] will be `false`.
34
+ */
35
+ init(frustum: Frustum): boolean;
36
+ /** Compute to what degree a [[Frustum]] is contained with these frustum planes.
37
+ * @param box The frustum to test for containment.
38
+ * @param sphere An optional spherical bounding volume fully containing `box`. If supplied, this can reduce the amount of computation required.
39
+ * @returns the degree to which `box` is contained within the clipping planes.
40
+ */
41
+ computeFrustumContainment(box: Frustum, sphere?: BoundingSphere): FrustumPlanes.Containment;
42
+ /** Determines whether a [[Frustum]] intersects with or is fully contained within these frustum planes.
43
+ * @param box The frustum to test for containment.
44
+ * @param sphere An optional spherical bounding volume fully containing `box`. If supplied, this can reduce the amount of computation required.
45
+ * @returns true if `box` is not entirely outside of the clipping planes.
46
+ */
47
+ intersectsFrustum(box: Frustum, sphere?: BoundingSphere): boolean;
48
+ /** Determines whether a point is contained within these frustum planes.
49
+ * @param point The point to test for containment.
50
+ * @param tolerance The maximum distance from the interior of the frustum planes that will still be considered "contained".
51
+ * @returns true if `point` is no further than `tolerance` meters outside of the clipping planes.
52
+ */
53
+ containsPoint(point: Point3d, tolerance?: number): boolean;
54
+ /** Compute the degree to which a set of points is contained within these frustum planes.
55
+ * @param points The points to test for containment.
56
+ * @param sphere An optional spherical bounding volume fully containing all of the points. If supplied, this can reduce the amount of computation required.
57
+ * @param tolerance The maximum distance from the interior of the frustum planes a point must be to be considered "contained".
58
+ * @returns the degree to which all of the points are contained within the clipping planes.
59
+ */
60
+ computeContainment(points: Point3d[], sphere?: BoundingSphere, tolerance?: number): FrustumPlanes.Containment;
61
+ /** Computes whether a ray intersects these clipping planes.
62
+ * @param origin The origin of the ray.
63
+ * @param direction The direction of the ray.
64
+ * @returns true if the ray extending from `origin` in the specified `direction` intersects at least one of the clipping planes.
65
+ */
66
+ intersectsRay(origin: Point3d, direction: Vector3d): boolean;
67
+ }
68
+ /** @public @extensions */
69
+ export declare namespace FrustumPlanes {
70
+ /** Describes the degree to which an object is contained within the planes of a [[Frustum]].
71
+ * @see [[FrustumPlanes.computeContainment]], for example.
72
+ */
73
+ enum Containment {
74
+ /** The object is entirely outside of the frustum, intersecting none of its planes. */
75
+ Outside = 0,
76
+ /** The object intersects at least one of the frustum planes. placing it partially inside of the frustum. */
77
+ Partial = 1,
78
+ /** The object is entirely inside of the frustum, intersecting none of its planes. */
79
+ Inside = 2
80
+ }
81
+ }
33
82
  //# sourceMappingURL=FrustumPlanes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrustumPlanes.d.ts","sourceRoot":"","sources":["../../../src/geometry/FrustumPlanes.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAC,CAAc;gBAEX,OAAO,CAAC,EAAE,OAAO;IAMpC,IAAW,OAAO,IAAI,OAAO,CAAuC;IAGpE,IAAW,MAAM,4BAA2B;IAErC,IAAI,CAAC,OAAO,EAAE,OAAO;IAerB,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,WAAW;IAI3F,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO;IAIjE,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,MAAe,GAAG,OAAO;IAIlE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,SAAS,GAAE,MAAe,GAAG,aAAa,CAAC,WAAW;IAwCrH,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO;CA6BpE;AAED,gBAAgB;AAChB,yBAAiB,aAAa,CAAC;IAC7B,gBAAgB;IAChB,KAAY,WAAW;QACrB,OAAO,IAAI;QACX,OAAO,IAAI;QACX,MAAM,IAAI;KACX;IAED,gBAAgB;IAChB,SAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,mBAAmB,GAAE,MAAe,GAAG,IAAI,CAOzJ;CACF"}
1
+ {"version":3,"file":"FrustumPlanes.d.ts","sourceRoot":"","sources":["../../../src/geometry/FrustumPlanes.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAmClD;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAc;IAE7B,OAAO;IAIP;;;OAGG;WACW,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa;IAK1D;;OAEG;WACW,WAAW,IAAI,aAAa;IAI1C;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,SAAS,EAAE,CAE/B;IAED;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAKtC;;;;OAIG;IACI,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,WAAW;IAIlG;;;;OAIG;IACI,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO;IAIxE;;;;OAIG;IACI,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,MAAe,GAAG,OAAO;IAIzE;;;;;OAKG;IACI,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,SAAS,GAAE,MAAe,GAAG,aAAa,CAAC,WAAW;IAwC5H;;;;OAIG;IACI,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO;CA6BpE;AAED,0BAA0B;AAC1B,yBAAiB,aAAa,CAAC;IAC7B;;OAEG;IACH,KAAY,WAAW;QACrB,sFAAsF;QACtF,OAAO,IAAI;QACX,4GAA4G;QAC5G,OAAO,IAAI;QACX,qFAAqF;QACrF,MAAM,IAAI;KACX;CACF"}
@@ -1,129 +1,190 @@
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 Geometry
7
- */
8
- import { assert } from "@itwin/core-bentley";
9
- import { ClipPlane, Vector3d } from "@itwin/core-geometry";
10
- // Scratch variable used by FrustumPlanes.computeContainment.
11
- const planesContainingSphere = [false, false, false, false, false, false];
12
- /** Represents a frustum as 6 planes and provides containment and intersection testing
13
- * @internal
14
- */
15
- export class FrustumPlanes {
16
- constructor(frustum) {
17
- if (undefined !== frustum) {
18
- this.init(frustum);
19
- }
20
- }
21
- get isValid() { return undefined !== this._planes; }
22
- // Order: right, left, top, bottom, back, front
23
- get planes() { return this._planes; }
24
- init(frustum) {
25
- if (undefined === this._planes) {
26
- this._planes = [];
27
- }
28
- else {
29
- this._planes.length = 0;
30
- }
31
- FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 1, 3, 5); // right
32
- FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 0, 4, 2); // left
33
- FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 2, 6, 3); // top
34
- FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 0, 1, 4); // bottom
35
- FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 0, 2, 1); // back
36
- FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 4, 5, 6); // front
37
- }
38
- computeFrustumContainment(box, sphere) {
39
- return this.computeContainment(box.points, sphere);
40
- }
41
- intersectsFrustum(box, sphere) {
42
- return FrustumPlanes.Containment.Outside !== this.computeFrustumContainment(box, sphere);
43
- }
44
- containsPoint(point, tolerance = 1.0e-8) {
45
- return FrustumPlanes.Containment.Outside !== this.computeContainment([point], undefined, tolerance);
46
- }
47
- computeContainment(points, sphere, tolerance = 1.0e-8) {
48
- assert(this.isValid);
49
- if (undefined === this._planes)
50
- return FrustumPlanes.Containment.Outside;
51
- // Do the cheap test against bounding sphere first.
52
- if (sphere) {
53
- for (let i = 0; i < this._planes.length; i++) {
54
- const plane = this._planes[i];
55
- const centerDistance = plane.altitude(sphere.center);
56
- const tolerancePlusRadius = tolerance + sphere.radius;
57
- if (centerDistance < -tolerancePlusRadius)
58
- return FrustumPlanes.Containment.Outside;
59
- planesContainingSphere[i] = centerDistance > tolerancePlusRadius;
60
- }
61
- }
62
- // Test against points.
63
- let allInside = true;
64
- for (let i = 0; i < this._planes.length; i++) {
65
- if (sphere && planesContainingSphere[i])
66
- continue;
67
- const plane = this._planes[i];
68
- let nOutside = 0;
69
- for (const point of points) {
70
- if (plane.altitude(point) + tolerance < 0) {
71
- ++nOutside;
72
- allInside = false;
73
- }
74
- }
75
- if (nOutside === points.length)
76
- return FrustumPlanes.Containment.Outside;
77
- }
78
- return allInside ? FrustumPlanes.Containment.Inside : FrustumPlanes.Containment.Partial;
79
- }
80
- intersectsRay(origin, direction) {
81
- assert(this.isValid);
82
- if (undefined === this._planes) {
83
- return false;
84
- }
85
- let tFar = 1e37;
86
- let tNear = -tFar;
87
- for (const plane of this._planes) {
88
- const vD = plane.velocity(direction);
89
- const vN = plane.altitude(origin);
90
- if (0.0 === vD) {
91
- // ray is parallel... no need to continue testing if outside halfspace.
92
- if (vN < 0.0) {
93
- return false;
94
- }
95
- }
96
- else {
97
- const rayDistance = -vN / vD;
98
- if (vD < 0.0) {
99
- tFar = Math.min(rayDistance, tFar);
100
- }
101
- else {
102
- tNear = Math.max(rayDistance, tNear);
103
- }
104
- }
105
- }
106
- return tNear <= tFar;
107
- }
108
- }
109
- /** @internal */
110
- (function (FrustumPlanes) {
111
- /** @internal */
112
- let Containment;
113
- (function (Containment) {
114
- Containment[Containment["Outside"] = 0] = "Outside";
115
- Containment[Containment["Partial"] = 1] = "Partial";
116
- Containment[Containment["Inside"] = 2] = "Inside";
117
- })(Containment = FrustumPlanes.Containment || (FrustumPlanes.Containment = {}));
118
- /** @internal */
119
- function addPlaneFromPoints(planes, points, i0, i1, i2, expandPlaneDistance = 1.0e-6) {
120
- const normal = Vector3d.createCrossProductToPoints(points[i2], points[i1], points[i0]);
121
- normal.normalizeInPlace();
122
- const plane = ClipPlane.createNormalAndDistance(normal, normal.dotProduct(points[i0]) - expandPlaneDistance);
123
- if (undefined !== plane) {
124
- planes.push(plane);
125
- }
126
- }
127
- FrustumPlanes.addPlaneFromPoints = addPlaneFromPoints;
128
- })(FrustumPlanes || (FrustumPlanes = {}));
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 Geometry
7
+ */
8
+ import { assert } from "@itwin/core-bentley";
9
+ import { ClipPlane, Vector3d } from "@itwin/core-geometry";
10
+ const planePointIndices = [
11
+ [1, 3, 5],
12
+ [0, 4, 2],
13
+ [2, 6, 3],
14
+ [0, 1, 4],
15
+ [0, 2, 1],
16
+ [4, 5, 6], // front
17
+ ];
18
+ function computeFrustumPlanes(frustum) {
19
+ const planes = [];
20
+ const points = frustum.points;
21
+ const expandPlaneDistance = 1e-6;
22
+ for (const indices of planePointIndices) {
23
+ const i0 = indices[0], i1 = indices[1], i2 = indices[2];
24
+ const normal = Vector3d.createCrossProductToPoints(points[i2], points[i1], points[i0]);
25
+ normal.normalizeInPlace();
26
+ const plane = ClipPlane.createNormalAndDistance(normal, normal.dotProduct(points[i0]) - expandPlaneDistance);
27
+ if (!plane)
28
+ return [];
29
+ planes.push(plane);
30
+ }
31
+ assert(planes.length === 6);
32
+ return planes;
33
+ }
34
+ // Scratch variable used by FrustumPlanes.computeContainment.
35
+ const planesContainingSphere = [false, false, false, false, false, false];
36
+ /** Represents a the planes of a [[Frustum]] for testing containment and intersection.
37
+ * A valid frustum produces six planes. A degenerate frustum produces zero planes.
38
+ * @public
39
+ * @extensions
40
+ */
41
+ export class FrustumPlanes {
42
+ constructor(planes) {
43
+ this._planes = planes;
44
+ }
45
+ /** Compute the six planes of the specified frustum.
46
+ * If the frustum is degenerate - that is, its points do not represent a truncated pyramid - then the returned `FrustumPlanes` will contain zero planes.
47
+ * @see [[isValid]] to test this condition.
48
+ */
49
+ static fromFrustum(frustum) {
50
+ const planes = computeFrustumPlanes(frustum);
51
+ return new FrustumPlanes(planes);
52
+ }
53
+ /** Create an empty set of frustum planes. [[isValid]] will be `true`. This can be useful when you want to create a `FrustumPlanes` object and initialize it later via [[init]] -
54
+ * for example, if you intend to use the same object repeatedly with different [[Frustum]]s.
55
+ */
56
+ static createEmpty() {
57
+ return new FrustumPlanes([]);
58
+ }
59
+ /** Returns true if [[planes]] consists of six planes. This may return `false` if a degenerate [[Frustum]] was supplied to [[fromFrustum]], or if this object was created
60
+ * via [[createEmpty]] - in either case, [[planes]] will be an empty array.
61
+ */
62
+ get isValid() {
63
+ return this._planes.length === 6;
64
+ }
65
+ /** Obtain the list of planes defining the frustum. If [[isValid]] is `true`, it will have a length of six, with the planes ordered as
66
+ * right, left, top, bottom, back, front. Otherwise, it will be empty.
67
+ */
68
+ get planes() {
69
+ return this._planes;
70
+ }
71
+ /** Recompute the planes from the specified frustum.
72
+ * @returns true upon success, or false if the input frustum was degenerate, in which case [[isValid]] will be `false`.
73
+ */
74
+ init(frustum) {
75
+ this._planes = computeFrustumPlanes(frustum);
76
+ return this.isValid;
77
+ }
78
+ /** Compute to what degree a [[Frustum]] is contained with these frustum planes.
79
+ * @param box The frustum to test for containment.
80
+ * @param sphere An optional spherical bounding volume fully containing `box`. If supplied, this can reduce the amount of computation required.
81
+ * @returns the degree to which `box` is contained within the clipping planes.
82
+ */
83
+ computeFrustumContainment(box, sphere) {
84
+ return this.computeContainment(box.points, sphere);
85
+ }
86
+ /** Determines whether a [[Frustum]] intersects with or is fully contained within these frustum planes.
87
+ * @param box The frustum to test for containment.
88
+ * @param sphere An optional spherical bounding volume fully containing `box`. If supplied, this can reduce the amount of computation required.
89
+ * @returns true if `box` is not entirely outside of the clipping planes.
90
+ */
91
+ intersectsFrustum(box, sphere) {
92
+ return FrustumPlanes.Containment.Outside !== this.computeFrustumContainment(box, sphere);
93
+ }
94
+ /** Determines whether a point is contained within these frustum planes.
95
+ * @param point The point to test for containment.
96
+ * @param tolerance The maximum distance from the interior of the frustum planes that will still be considered "contained".
97
+ * @returns true if `point` is no further than `tolerance` meters outside of the clipping planes.
98
+ */
99
+ containsPoint(point, tolerance = 1.0e-8) {
100
+ return FrustumPlanes.Containment.Outside !== this.computeContainment([point], undefined, tolerance);
101
+ }
102
+ /** Compute the degree to which a set of points is contained within these frustum planes.
103
+ * @param points The points to test for containment.
104
+ * @param sphere An optional spherical bounding volume fully containing all of the points. If supplied, this can reduce the amount of computation required.
105
+ * @param tolerance The maximum distance from the interior of the frustum planes a point must be to be considered "contained".
106
+ * @returns the degree to which all of the points are contained within the clipping planes.
107
+ */
108
+ computeContainment(points, sphere, tolerance = 1.0e-8) {
109
+ assert(this.isValid);
110
+ if (undefined === this._planes)
111
+ return FrustumPlanes.Containment.Outside;
112
+ // Do the cheap test against bounding sphere first.
113
+ if (sphere) {
114
+ for (let i = 0; i < this._planes.length; i++) {
115
+ const plane = this._planes[i];
116
+ const centerDistance = plane.altitude(sphere.center);
117
+ const tolerancePlusRadius = tolerance + sphere.radius;
118
+ if (centerDistance < -tolerancePlusRadius)
119
+ return FrustumPlanes.Containment.Outside;
120
+ planesContainingSphere[i] = centerDistance > tolerancePlusRadius;
121
+ }
122
+ }
123
+ // Test against points.
124
+ let allInside = true;
125
+ for (let i = 0; i < this._planes.length; i++) {
126
+ if (sphere && planesContainingSphere[i])
127
+ continue;
128
+ const plane = this._planes[i];
129
+ let nOutside = 0;
130
+ for (const point of points) {
131
+ if (plane.altitude(point) + tolerance < 0) {
132
+ ++nOutside;
133
+ allInside = false;
134
+ }
135
+ }
136
+ if (nOutside === points.length)
137
+ return FrustumPlanes.Containment.Outside;
138
+ }
139
+ return allInside ? FrustumPlanes.Containment.Inside : FrustumPlanes.Containment.Partial;
140
+ }
141
+ /** Computes whether a ray intersects these clipping planes.
142
+ * @param origin The origin of the ray.
143
+ * @param direction The direction of the ray.
144
+ * @returns true if the ray extending from `origin` in the specified `direction` intersects at least one of the clipping planes.
145
+ */
146
+ intersectsRay(origin, direction) {
147
+ assert(this.isValid);
148
+ if (undefined === this._planes) {
149
+ return false;
150
+ }
151
+ let tFar = 1e37;
152
+ let tNear = -tFar;
153
+ for (const plane of this._planes) {
154
+ const vD = plane.velocity(direction);
155
+ const vN = plane.altitude(origin);
156
+ if (0.0 === vD) {
157
+ // ray is parallel... no need to continue testing if outside halfspace.
158
+ if (vN < 0.0) {
159
+ return false;
160
+ }
161
+ }
162
+ else {
163
+ const rayDistance = -vN / vD;
164
+ if (vD < 0.0) {
165
+ tFar = Math.min(rayDistance, tFar);
166
+ }
167
+ else {
168
+ tNear = Math.max(rayDistance, tNear);
169
+ }
170
+ }
171
+ }
172
+ return tNear <= tFar;
173
+ }
174
+ }
175
+ /** @public @extensions */
176
+ (function (FrustumPlanes) {
177
+ /** Describes the degree to which an object is contained within the planes of a [[Frustum]].
178
+ * @see [[FrustumPlanes.computeContainment]], for example.
179
+ */
180
+ let Containment;
181
+ (function (Containment) {
182
+ /** The object is entirely outside of the frustum, intersecting none of its planes. */
183
+ Containment[Containment["Outside"] = 0] = "Outside";
184
+ /** The object intersects at least one of the frustum planes. placing it partially inside of the frustum. */
185
+ Containment[Containment["Partial"] = 1] = "Partial";
186
+ /** The object is entirely inside of the frustum, intersecting none of its planes. */
187
+ Containment[Containment["Inside"] = 2] = "Inside";
188
+ })(Containment = FrustumPlanes.Containment || (FrustumPlanes.Containment = {}));
189
+ })(FrustumPlanes || (FrustumPlanes = {}));
129
190
  //# sourceMappingURL=FrustumPlanes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrustumPlanes.js","sourceRoot":"","sources":["../../../src/geometry/FrustumPlanes.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 Geometry\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { ClipPlane, Point3d, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Frustum } from \"../Frustum\";\r\nimport { BoundingSphere } from \"./BoundingSphere\";\r\n\r\n// Scratch variable used by FrustumPlanes.computeContainment.\r\nconst planesContainingSphere = [false, false, false, false, false, false];\r\n\r\n/** Represents a frustum as 6 planes and provides containment and intersection testing\r\n * @internal\r\n */\r\nexport class FrustumPlanes {\r\n private _planes?: ClipPlane[];\r\n\r\n public constructor(frustum?: Frustum) {\r\n if (undefined !== frustum) {\r\n this.init(frustum);\r\n }\r\n }\r\n\r\n public get isValid(): boolean { return undefined !== this._planes; }\r\n\r\n // Order: right, left, top, bottom, back, front\r\n public get planes() { return this._planes; }\r\n\r\n public init(frustum: Frustum) {\r\n if (undefined === this._planes) {\r\n this._planes = [];\r\n } else {\r\n this._planes.length = 0;\r\n }\r\n\r\n FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 1, 3, 5); // right\r\n FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 0, 4, 2); // left\r\n FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 2, 6, 3); // top\r\n FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 0, 1, 4); // bottom\r\n FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 0, 2, 1); // back\r\n FrustumPlanes.addPlaneFromPoints(this._planes, frustum.points, 4, 5, 6); // front\r\n }\r\n\r\n public computeFrustumContainment(box: Frustum, sphere?: BoundingSphere): FrustumPlanes.Containment {\r\n return this.computeContainment(box.points, sphere);\r\n }\r\n\r\n public intersectsFrustum(box: Frustum, sphere?: BoundingSphere): boolean {\r\n return FrustumPlanes.Containment.Outside !== this.computeFrustumContainment(box, sphere);\r\n }\r\n\r\n public containsPoint(point: Point3d, tolerance: number = 1.0e-8): boolean {\r\n return FrustumPlanes.Containment.Outside !== this.computeContainment([point], undefined, tolerance);\r\n }\r\n\r\n public computeContainment(points: Point3d[], sphere?: BoundingSphere, tolerance: number = 1.0e-8): FrustumPlanes.Containment {\r\n assert(this.isValid);\r\n if (undefined === this._planes)\r\n return FrustumPlanes.Containment.Outside;\r\n\r\n // Do the cheap test against bounding sphere first.\r\n if (sphere) {\r\n for (let i = 0; i < this._planes.length; i++) {\r\n const plane = this._planes[i];\r\n const centerDistance = plane.altitude(sphere.center);\r\n const tolerancePlusRadius = tolerance + sphere.radius;\r\n if (centerDistance < -tolerancePlusRadius)\r\n return FrustumPlanes.Containment.Outside;\r\n\r\n planesContainingSphere[i] = centerDistance > tolerancePlusRadius;\r\n }\r\n }\r\n\r\n // Test against points.\r\n let allInside = true;\r\n for (let i = 0; i < this._planes.length; i++) {\r\n if (sphere && planesContainingSphere[i])\r\n continue;\r\n\r\n const plane = this._planes[i];\r\n let nOutside = 0;\r\n for (const point of points) {\r\n if (plane.altitude(point) + tolerance < 0) {\r\n ++nOutside;\r\n allInside = false;\r\n }\r\n }\r\n\r\n if (nOutside === points.length)\r\n return FrustumPlanes.Containment.Outside;\r\n }\r\n\r\n return allInside ? FrustumPlanes.Containment.Inside : FrustumPlanes.Containment.Partial;\r\n }\r\n\r\n public intersectsRay(origin: Point3d, direction: Vector3d): boolean {\r\n assert(this.isValid);\r\n if (undefined === this._planes) {\r\n return false;\r\n }\r\n\r\n let tFar = 1e37;\r\n let tNear = -tFar;\r\n\r\n for (const plane of this._planes) {\r\n const vD = plane.velocity(direction);\r\n const vN = plane.altitude(origin);\r\n if (0.0 === vD) {\r\n // ray is parallel... no need to continue testing if outside halfspace.\r\n if (vN < 0.0) {\r\n return false;\r\n }\r\n } else {\r\n const rayDistance = -vN / vD;\r\n if (vD < 0.0) {\r\n tFar = Math.min(rayDistance, tFar);\r\n } else {\r\n tNear = Math.max(rayDistance, tNear);\r\n }\r\n }\r\n }\r\n\r\n return tNear <= tFar;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport namespace FrustumPlanes { // eslint-disable-line no-redeclare\r\n /** @internal */\r\n export enum Containment {\r\n Outside = 0,\r\n Partial = 1,\r\n Inside = 2,\r\n }\r\n\r\n /** @internal */\r\n export function addPlaneFromPoints(planes: ClipPlane[], points: Point3d[], i0: number, i1: number, i2: number, expandPlaneDistance: number = 1.0e-6): void {\r\n const normal = Vector3d.createCrossProductToPoints(points[i2], points[i1], points[i0]);\r\n normal.normalizeInPlace();\r\n const plane = ClipPlane.createNormalAndDistance(normal, normal.dotProduct(points[i0]) - expandPlaneDistance);\r\n if (undefined !== plane) {\r\n planes.push(plane);\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"FrustumPlanes.js","sourceRoot":"","sources":["../../../src/geometry/FrustumPlanes.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 Geometry\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { ClipPlane, Point3d, Vector3d } from \"@itwin/core-geometry\";\nimport { Frustum } from \"../Frustum\";\nimport { BoundingSphere } from \"./BoundingSphere\";\n\nconst planePointIndices = [\n [1, 3, 5], // right\n [0, 4, 2], // left\n [2, 6, 3], // top\n [0, 1, 4], // bottom\n [0, 2, 1], // back\n [4, 5, 6], // front\n];\n\nfunction computeFrustumPlanes(frustum: Frustum): ClipPlane[] {\n const planes = [];\n const points = frustum.points;\n const expandPlaneDistance = 1e-6;\n\n for (const indices of planePointIndices) {\n const i0 = indices[0], i1 = indices[1], i2 = indices[2];\n const normal = Vector3d.createCrossProductToPoints(points[i2], points[i1], points[i0]);\n normal.normalizeInPlace();\n\n const plane = ClipPlane.createNormalAndDistance(normal, normal.dotProduct(points[i0]) - expandPlaneDistance);\n if (!plane)\n return [];\n\n planes.push(plane);\n }\n\n assert(planes.length === 6);\n return planes;\n}\n\n// Scratch variable used by FrustumPlanes.computeContainment.\nconst planesContainingSphere = [false, false, false, false, false, false];\n\n/** Represents a the planes of a [[Frustum]] for testing containment and intersection.\n * A valid frustum produces six planes. A degenerate frustum produces zero planes.\n * @public\n * @extensions\n */\nexport class FrustumPlanes {\n private _planes: ClipPlane[];\n\n private constructor(planes: ClipPlane[]) {\n this._planes = planes;\n }\n\n /** Compute the six planes of the specified frustum.\n * If the frustum is degenerate - that is, its points do not represent a truncated pyramid - then the returned `FrustumPlanes` will contain zero planes.\n * @see [[isValid]] to test this condition.\n */\n public static fromFrustum(frustum: Frustum): FrustumPlanes {\n const planes = computeFrustumPlanes(frustum);\n return new FrustumPlanes(planes);\n }\n\n /** Create an empty set of frustum planes. [[isValid]] will be `true`. This can be useful when you want to create a `FrustumPlanes` object and initialize it later via [[init]] -\n * for example, if you intend to use the same object repeatedly with different [[Frustum]]s.\n */\n public static createEmpty(): FrustumPlanes {\n return new FrustumPlanes([]);\n }\n\n /** Returns true if [[planes]] consists of six planes. This may return `false` if a degenerate [[Frustum]] was supplied to [[fromFrustum]], or if this object was created\n * via [[createEmpty]] - in either case, [[planes]] will be an empty array.\n */\n public get isValid(): boolean {\n return this._planes.length === 6;\n }\n\n /** Obtain the list of planes defining the frustum. If [[isValid]] is `true`, it will have a length of six, with the planes ordered as\n * right, left, top, bottom, back, front. Otherwise, it will be empty.\n */\n public get planes(): ClipPlane[] {\n return this._planes;\n }\n\n /** Recompute the planes from the specified frustum.\n * @returns true upon success, or false if the input frustum was degenerate, in which case [[isValid]] will be `false`.\n */\n public init(frustum: Frustum): boolean {\n this._planes = computeFrustumPlanes(frustum);\n return this.isValid;\n }\n\n /** Compute to what degree a [[Frustum]] is contained with these frustum planes.\n * @param box The frustum to test for containment.\n * @param sphere An optional spherical bounding volume fully containing `box`. If supplied, this can reduce the amount of computation required.\n * @returns the degree to which `box` is contained within the clipping planes.\n */\n public computeFrustumContainment(box: Frustum, sphere?: BoundingSphere): FrustumPlanes.Containment {\n return this.computeContainment(box.points, sphere);\n }\n\n /** Determines whether a [[Frustum]] intersects with or is fully contained within these frustum planes.\n * @param box The frustum to test for containment.\n * @param sphere An optional spherical bounding volume fully containing `box`. If supplied, this can reduce the amount of computation required.\n * @returns true if `box` is not entirely outside of the clipping planes.\n */\n public intersectsFrustum(box: Frustum, sphere?: BoundingSphere): boolean {\n return FrustumPlanes.Containment.Outside !== this.computeFrustumContainment(box, sphere);\n }\n\n /** Determines whether a point is contained within these frustum planes.\n * @param point The point to test for containment.\n * @param tolerance The maximum distance from the interior of the frustum planes that will still be considered \"contained\".\n * @returns true if `point` is no further than `tolerance` meters outside of the clipping planes.\n */\n public containsPoint(point: Point3d, tolerance: number = 1.0e-8): boolean {\n return FrustumPlanes.Containment.Outside !== this.computeContainment([point], undefined, tolerance);\n }\n\n /** Compute the degree to which a set of points is contained within these frustum planes.\n * @param points The points to test for containment.\n * @param sphere An optional spherical bounding volume fully containing all of the points. If supplied, this can reduce the amount of computation required.\n * @param tolerance The maximum distance from the interior of the frustum planes a point must be to be considered \"contained\".\n * @returns the degree to which all of the points are contained within the clipping planes.\n */\n public computeContainment(points: Point3d[], sphere?: BoundingSphere, tolerance: number = 1.0e-8): FrustumPlanes.Containment {\n assert(this.isValid);\n if (undefined === this._planes)\n return FrustumPlanes.Containment.Outside;\n\n // Do the cheap test against bounding sphere first.\n if (sphere) {\n for (let i = 0; i < this._planes.length; i++) {\n const plane = this._planes[i];\n const centerDistance = plane.altitude(sphere.center);\n const tolerancePlusRadius = tolerance + sphere.radius;\n if (centerDistance < -tolerancePlusRadius)\n return FrustumPlanes.Containment.Outside;\n\n planesContainingSphere[i] = centerDistance > tolerancePlusRadius;\n }\n }\n\n // Test against points.\n let allInside = true;\n for (let i = 0; i < this._planes.length; i++) {\n if (sphere && planesContainingSphere[i])\n continue;\n\n const plane = this._planes[i];\n let nOutside = 0;\n for (const point of points) {\n if (plane.altitude(point) + tolerance < 0) {\n ++nOutside;\n allInside = false;\n }\n }\n\n if (nOutside === points.length)\n return FrustumPlanes.Containment.Outside;\n }\n\n return allInside ? FrustumPlanes.Containment.Inside : FrustumPlanes.Containment.Partial;\n }\n\n /** Computes whether a ray intersects these clipping planes.\n * @param origin The origin of the ray.\n * @param direction The direction of the ray.\n * @returns true if the ray extending from `origin` in the specified `direction` intersects at least one of the clipping planes.\n */\n public intersectsRay(origin: Point3d, direction: Vector3d): boolean {\n assert(this.isValid);\n if (undefined === this._planes) {\n return false;\n }\n\n let tFar = 1e37;\n let tNear = -tFar;\n\n for (const plane of this._planes) {\n const vD = plane.velocity(direction);\n const vN = plane.altitude(origin);\n if (0.0 === vD) {\n // ray is parallel... no need to continue testing if outside halfspace.\n if (vN < 0.0) {\n return false;\n }\n } else {\n const rayDistance = -vN / vD;\n if (vD < 0.0) {\n tFar = Math.min(rayDistance, tFar);\n } else {\n tNear = Math.max(rayDistance, tNear);\n }\n }\n }\n\n return tNear <= tFar;\n }\n}\n\n/** @public @extensions */\nexport namespace FrustumPlanes { // eslint-disable-line no-redeclare\n /** Describes the degree to which an object is contained within the planes of a [[Frustum]].\n * @see [[FrustumPlanes.computeContainment]], for example.\n */\n export enum Containment {\n /** The object is entirely outside of the frustum, intersecting none of its planes. */\n Outside = 0,\n /** The object intersects at least one of the frustum planes. placing it partially inside of the frustum. */\n Partial = 1,\n /** The object is entirely inside of the frustum, intersecting none of its planes. */\n Inside = 2,\n }\n}\n"]}