@itwin/core-common 3.4.0-dev.8 → 3.5.0-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (992) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  4. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  5. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  6. package/lib/cjs/AnalysisStyle.js +165 -165
  7. package/lib/cjs/AnalysisStyle.js.map +1 -1
  8. package/lib/cjs/AuthorizationClient.d.ts +11 -11
  9. package/lib/cjs/AuthorizationClient.js +9 -9
  10. package/lib/cjs/AuthorizationClient.js.map +1 -1
  11. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  12. package/lib/cjs/BackgroundMapProvider.js +68 -68
  13. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  14. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  15. package/lib/cjs/BackgroundMapSettings.js +156 -156
  16. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  17. package/lib/cjs/Base64EncodedString.d.ts +30 -30
  18. package/lib/cjs/Base64EncodedString.js +56 -56
  19. package/lib/cjs/Base64EncodedString.js.map +1 -1
  20. package/lib/cjs/BlobReader.d.ts +31 -31
  21. package/lib/cjs/BlobReader.js +84 -84
  22. package/lib/cjs/BlobReader.js.map +1 -1
  23. package/lib/cjs/BriefcaseTypes.d.ts +189 -189
  24. package/lib/cjs/BriefcaseTypes.js +95 -95
  25. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  26. package/lib/cjs/Camera.d.ts +42 -42
  27. package/lib/cjs/Camera.d.ts.map +1 -1
  28. package/lib/cjs/Camera.js +62 -58
  29. package/lib/cjs/Camera.js.map +1 -1
  30. package/lib/cjs/ChangedElements.d.ts +83 -83
  31. package/lib/cjs/ChangedElements.js +21 -21
  32. package/lib/cjs/ChangedElements.js.map +1 -1
  33. package/lib/cjs/ChangedEntities.d.ts +45 -45
  34. package/lib/cjs/ChangedEntities.js +9 -9
  35. package/lib/cjs/ChangedEntities.js.map +1 -1
  36. package/lib/cjs/ChangesetProps.d.ts +98 -98
  37. package/lib/cjs/ChangesetProps.js +22 -22
  38. package/lib/cjs/ChangesetProps.js.map +1 -1
  39. package/lib/cjs/ClipStyle.d.ts +89 -89
  40. package/lib/cjs/ClipStyle.js +123 -123
  41. package/lib/cjs/ClipStyle.js.map +1 -1
  42. package/lib/cjs/CloudStorage.d.ts +62 -47
  43. package/lib/cjs/CloudStorage.d.ts.map +1 -1
  44. package/lib/cjs/CloudStorage.js +113 -103
  45. package/lib/cjs/CloudStorage.js.map +1 -1
  46. package/lib/cjs/CloudStorageTileCache.d.ts +27 -24
  47. package/lib/cjs/CloudStorageTileCache.d.ts.map +1 -1
  48. package/lib/cjs/CloudStorageTileCache.js +66 -62
  49. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  50. package/lib/cjs/Code.d.ts +256 -250
  51. package/lib/cjs/Code.d.ts.map +1 -1
  52. package/lib/cjs/Code.js +281 -277
  53. package/lib/cjs/Code.js.map +1 -1
  54. package/lib/cjs/ColorByName.d.ts +161 -161
  55. package/lib/cjs/ColorByName.js +169 -169
  56. package/lib/cjs/ColorByName.js.map +1 -1
  57. package/lib/cjs/ColorDef.d.ts +208 -208
  58. package/lib/cjs/ColorDef.d.ts.map +1 -1
  59. package/lib/cjs/ColorDef.js +571 -569
  60. package/lib/cjs/ColorDef.js.map +1 -1
  61. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  62. package/lib/cjs/CommonLoggerCategory.js +26 -26
  63. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  64. package/lib/cjs/ConcurrentQuery.d.ts +241 -241
  65. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  66. package/lib/cjs/ConcurrentQuery.js +380 -338
  67. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  68. package/lib/cjs/ContextRealityModel.d.ts +255 -255
  69. package/lib/cjs/ContextRealityModel.js +325 -325
  70. package/lib/cjs/ContextRealityModel.js.map +1 -1
  71. package/lib/cjs/DisplayStyleSettings.d.ts +552 -552
  72. package/lib/cjs/DisplayStyleSettings.js +951 -951
  73. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  74. package/lib/cjs/ECSchemaProps.d.ts +40 -0
  75. package/lib/cjs/ECSchemaProps.d.ts.map +1 -0
  76. package/lib/cjs/ECSchemaProps.js +10 -0
  77. package/lib/cjs/ECSchemaProps.js.map +1 -0
  78. package/lib/cjs/ECSqlReader.d.ts +70 -70
  79. package/lib/cjs/ECSqlReader.js +280 -280
  80. package/lib/cjs/ECSqlReader.js.map +1 -1
  81. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  82. package/lib/cjs/ECSqlTypes.js +189 -189
  83. package/lib/cjs/ECSqlTypes.js.map +1 -1
  84. package/lib/cjs/ElementProps.d.ts +476 -470
  85. package/lib/cjs/ElementProps.d.ts.map +1 -1
  86. package/lib/cjs/ElementProps.js +99 -99
  87. package/lib/cjs/ElementProps.js.map +1 -1
  88. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  89. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  90. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  91. package/lib/cjs/EntityProps.d.ts +176 -176
  92. package/lib/cjs/EntityProps.js +112 -112
  93. package/lib/cjs/EntityProps.js.map +1 -1
  94. package/lib/cjs/Environment.d.ts +61 -61
  95. package/lib/cjs/Environment.js +73 -73
  96. package/lib/cjs/Environment.js.map +1 -1
  97. package/lib/cjs/FeatureGates.d.ts +31 -31
  98. package/lib/cjs/FeatureGates.d.ts.map +1 -1
  99. package/lib/cjs/FeatureGates.js +55 -51
  100. package/lib/cjs/FeatureGates.js.map +1 -1
  101. package/lib/cjs/FeatureIndex.d.ts +39 -39
  102. package/lib/cjs/FeatureIndex.d.ts.map +1 -1
  103. package/lib/cjs/FeatureIndex.js +63 -59
  104. package/lib/cjs/FeatureIndex.js.map +1 -1
  105. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  106. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  107. package/lib/cjs/FeatureSymbology.js +614 -614
  108. package/lib/cjs/FeatureSymbology.js.map +1 -1
  109. package/lib/cjs/FeatureTable.d.ts +141 -141
  110. package/lib/cjs/FeatureTable.js +278 -278
  111. package/lib/cjs/FeatureTable.js.map +1 -1
  112. package/lib/cjs/Fonts.d.ts +51 -51
  113. package/lib/cjs/Fonts.d.ts.map +1 -1
  114. package/lib/cjs/Fonts.js +53 -53
  115. package/lib/cjs/Fonts.js.map +1 -1
  116. package/lib/cjs/Frustum.d.ts +114 -114
  117. package/lib/cjs/Frustum.d.ts.map +1 -1
  118. package/lib/cjs/Frustum.js +292 -258
  119. package/lib/cjs/Frustum.js.map +1 -1
  120. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  121. package/lib/cjs/GeoCoordinateServices.js +80 -80
  122. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  123. package/lib/cjs/GeometryContainment.d.ts +28 -28
  124. package/lib/cjs/GeometryContainment.js +9 -9
  125. package/lib/cjs/GeometryContainment.js.map +1 -1
  126. package/lib/cjs/GeometryParams.d.ts +130 -130
  127. package/lib/cjs/GeometryParams.js +174 -174
  128. package/lib/cjs/GeometryParams.js.map +1 -1
  129. package/lib/cjs/GeometrySummary.d.ts +45 -45
  130. package/lib/cjs/GeometrySummary.js +23 -23
  131. package/lib/cjs/GeometrySummary.js.map +1 -1
  132. package/lib/cjs/Gradient.d.ts +139 -123
  133. package/lib/cjs/Gradient.d.ts.map +1 -1
  134. package/lib/cjs/Gradient.js +455 -444
  135. package/lib/cjs/Gradient.js.map +1 -1
  136. package/lib/cjs/GraphicParams.d.ts +58 -58
  137. package/lib/cjs/GraphicParams.js +85 -85
  138. package/lib/cjs/GraphicParams.js.map +1 -1
  139. package/lib/cjs/GroundPlane.d.ts +52 -52
  140. package/lib/cjs/GroundPlane.js +64 -64
  141. package/lib/cjs/GroundPlane.js.map +1 -1
  142. package/lib/cjs/HSLColor.d.ts +20 -20
  143. package/lib/cjs/HSLColor.js +32 -32
  144. package/lib/cjs/HSLColor.js.map +1 -1
  145. package/lib/cjs/HSVColor.d.ts +30 -30
  146. package/lib/cjs/HSVColor.js +59 -59
  147. package/lib/cjs/HSVColor.js.map +1 -1
  148. package/lib/cjs/HiddenLine.d.ts +97 -97
  149. package/lib/cjs/HiddenLine.js +162 -162
  150. package/lib/cjs/HiddenLine.js.map +1 -1
  151. package/lib/cjs/Hilite.d.ts +50 -50
  152. package/lib/cjs/Hilite.js +64 -64
  153. package/lib/cjs/Hilite.js.map +1 -1
  154. package/lib/cjs/IModel.d.ts +355 -355
  155. package/lib/cjs/IModel.js +340 -340
  156. package/lib/cjs/IModel.js.map +1 -1
  157. package/lib/cjs/IModelError.d.ts +36 -36
  158. package/lib/cjs/IModelError.js +72 -72
  159. package/lib/cjs/IModelError.js.map +1 -1
  160. package/lib/cjs/IModelVersion.d.ts +68 -68
  161. package/lib/cjs/IModelVersion.js +79 -79
  162. package/lib/cjs/IModelVersion.js.map +1 -1
  163. package/lib/cjs/Image.d.ts +86 -86
  164. package/lib/cjs/Image.d.ts.map +1 -1
  165. package/lib/cjs/Image.js +128 -126
  166. package/lib/cjs/Image.js.map +1 -1
  167. package/lib/cjs/IpcAppProps.d.ts +124 -124
  168. package/lib/cjs/IpcAppProps.js +18 -18
  169. package/lib/cjs/IpcAppProps.js.map +1 -1
  170. package/lib/cjs/LightSettings.d.ts +224 -224
  171. package/lib/cjs/LightSettings.js +309 -309
  172. package/lib/cjs/LightSettings.js.map +1 -1
  173. package/lib/cjs/LinePixels.d.ts +34 -34
  174. package/lib/cjs/LinePixels.js +42 -42
  175. package/lib/cjs/LinePixels.js.map +1 -1
  176. package/lib/cjs/Localization.d.ts +111 -112
  177. package/lib/cjs/Localization.d.ts.map +1 -1
  178. package/lib/cjs/Localization.js +26 -26
  179. package/lib/cjs/Localization.js.map +1 -1
  180. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  181. package/lib/cjs/MapImagerySettings.js +80 -80
  182. package/lib/cjs/MapImagerySettings.js.map +1 -1
  183. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  184. package/lib/cjs/MapLayerSettings.js +411 -411
  185. package/lib/cjs/MapLayerSettings.js.map +1 -1
  186. package/lib/cjs/MassProperties.d.ts +64 -64
  187. package/lib/cjs/MassProperties.js +23 -23
  188. package/lib/cjs/MassProperties.js.map +1 -1
  189. package/lib/cjs/MaterialProps.d.ts +118 -118
  190. package/lib/cjs/MaterialProps.js +23 -23
  191. package/lib/cjs/MaterialProps.js.map +1 -1
  192. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  193. package/lib/cjs/ModelClipGroup.js +98 -98
  194. package/lib/cjs/ModelClipGroup.js.map +1 -1
  195. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  196. package/lib/cjs/ModelGeometryChanges.js +83 -83
  197. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  198. package/lib/cjs/ModelProps.d.ts +66 -66
  199. package/lib/cjs/ModelProps.js +9 -9
  200. package/lib/cjs/ModelProps.js.map +1 -1
  201. package/lib/cjs/NativeAppProps.d.ts +122 -122
  202. package/lib/cjs/NativeAppProps.js +30 -30
  203. package/lib/cjs/NativeAppProps.js.map +1 -1
  204. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  205. package/lib/cjs/OctEncodedNormal.js +98 -98
  206. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  207. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  208. package/lib/cjs/PlanProjectionSettings.js +63 -63
  209. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  210. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  211. package/lib/cjs/PlanarClipMask.js +136 -136
  212. package/lib/cjs/PlanarClipMask.js.map +1 -1
  213. package/lib/cjs/QPoint.d.ts +479 -299
  214. package/lib/cjs/QPoint.d.ts.map +1 -1
  215. package/lib/cjs/QPoint.js +826 -626
  216. package/lib/cjs/QPoint.js.map +1 -1
  217. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  218. package/lib/cjs/RealityDataAccessProps.js +19 -19
  219. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  220. package/lib/cjs/Render.d.ts +89 -89
  221. package/lib/cjs/Render.d.ts.map +1 -1
  222. package/lib/cjs/Render.js +177 -169
  223. package/lib/cjs/Render.js.map +1 -1
  224. package/lib/cjs/RenderMaterial.d.ts +58 -58
  225. package/lib/cjs/RenderMaterial.js +76 -76
  226. package/lib/cjs/RenderMaterial.js.map +1 -1
  227. package/lib/cjs/RenderSchedule.d.ts +540 -540
  228. package/lib/cjs/RenderSchedule.js +1000 -1000
  229. package/lib/cjs/RenderTexture.d.ts +70 -70
  230. package/lib/cjs/RenderTexture.js +59 -59
  231. package/lib/cjs/RenderTexture.js.map +1 -1
  232. package/lib/cjs/RgbColor.d.ts +39 -39
  233. package/lib/cjs/RgbColor.js +67 -67
  234. package/lib/cjs/RgbColor.js.map +1 -1
  235. package/lib/cjs/RpcInterface.d.ts +33 -33
  236. package/lib/cjs/RpcInterface.js +137 -137
  237. package/lib/cjs/RpcInterface.js.map +1 -1
  238. package/lib/cjs/RpcManager.d.ts +40 -40
  239. package/lib/cjs/RpcManager.js +55 -55
  240. package/lib/cjs/RpcManager.js.map +1 -1
  241. package/lib/cjs/SessionProps.d.ts +16 -16
  242. package/lib/cjs/SessionProps.js +9 -9
  243. package/lib/cjs/SessionProps.js.map +1 -1
  244. package/lib/cjs/SkyBox.d.ts +215 -215
  245. package/lib/cjs/SkyBox.js +210 -210
  246. package/lib/cjs/SkyBox.js.map +1 -1
  247. package/lib/cjs/Snapping.d.ts +49 -49
  248. package/lib/cjs/Snapping.js +9 -9
  249. package/lib/cjs/Snapping.js.map +1 -1
  250. package/lib/cjs/SolarCalculate.d.ts +27 -27
  251. package/lib/cjs/SolarCalculate.js +211 -211
  252. package/lib/cjs/SolarCalculate.js.map +1 -1
  253. package/lib/cjs/SolarShadows.d.ts +35 -35
  254. package/lib/cjs/SolarShadows.js +62 -62
  255. package/lib/cjs/SolarShadows.js.map +1 -1
  256. package/lib/cjs/SpatialClassification.d.ts +208 -208
  257. package/lib/cjs/SpatialClassification.js +340 -340
  258. package/lib/cjs/SpatialClassification.js.map +1 -1
  259. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  260. package/lib/cjs/SubCategoryAppearance.js +96 -96
  261. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  262. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  263. package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
  264. package/lib/cjs/SubCategoryOverride.js +104 -104
  265. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  266. package/lib/cjs/TerrainSettings.d.ts +82 -77
  267. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  268. package/lib/cjs/TerrainSettings.js +102 -101
  269. package/lib/cjs/TerrainSettings.js.map +1 -1
  270. package/lib/cjs/TextureMapping.d.ts +101 -101
  271. package/lib/cjs/TextureMapping.js +174 -174
  272. package/lib/cjs/TextureMapping.js.map +1 -1
  273. package/lib/cjs/TextureProps.d.ts +65 -65
  274. package/lib/cjs/TextureProps.js +28 -28
  275. package/lib/cjs/TextureProps.js.map +1 -1
  276. package/lib/cjs/ThematicDisplay.d.ts +230 -234
  277. package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
  278. package/lib/cjs/ThematicDisplay.js +344 -344
  279. package/lib/cjs/ThematicDisplay.js.map +1 -1
  280. package/lib/cjs/Thumbnail.d.ts +26 -26
  281. package/lib/cjs/Thumbnail.js +9 -9
  282. package/lib/cjs/Thumbnail.js.map +1 -1
  283. package/lib/cjs/TileProps.d.ts +82 -77
  284. package/lib/cjs/TileProps.d.ts.map +1 -1
  285. package/lib/cjs/TileProps.js +29 -18
  286. package/lib/cjs/TileProps.js.map +1 -1
  287. package/lib/cjs/Tween.d.ts +191 -191
  288. package/lib/cjs/Tween.js +570 -570
  289. package/lib/cjs/Tween.js.map +1 -1
  290. package/lib/cjs/TxnAction.d.ts +21 -21
  291. package/lib/cjs/TxnAction.js +29 -29
  292. package/lib/cjs/TxnAction.js.map +1 -1
  293. package/lib/cjs/ViewDetails.d.ts +125 -125
  294. package/lib/cjs/ViewDetails.js +158 -158
  295. package/lib/cjs/ViewDetails.js.map +1 -1
  296. package/lib/cjs/ViewFlags.d.ts +291 -291
  297. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  298. package/lib/cjs/ViewFlags.js +368 -368
  299. package/lib/cjs/ViewFlags.js.map +1 -1
  300. package/lib/cjs/ViewProps.d.ts +205 -205
  301. package/lib/cjs/ViewProps.js +9 -9
  302. package/lib/cjs/ViewProps.js.map +1 -1
  303. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  304. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  305. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  306. package/lib/cjs/core-common.d.ts +240 -239
  307. package/lib/cjs/core-common.d.ts.map +1 -1
  308. package/lib/cjs/core-common.js +256 -255
  309. package/lib/cjs/core-common.js.map +1 -1
  310. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  311. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  312. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  313. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  314. package/lib/cjs/domains/GenericElementProps.js +9 -9
  315. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  316. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  317. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  318. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  319. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  320. package/lib/cjs/geometry/AreaPattern.js +204 -204
  321. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  322. package/lib/cjs/geometry/BoundingSphere.d.ts +14 -14
  323. package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
  324. package/lib/cjs/geometry/BoundingSphere.js +30 -24
  325. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  326. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  327. package/lib/cjs/geometry/Cartographic.js +345 -345
  328. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  329. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  330. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  331. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  332. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  333. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  334. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  335. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  336. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  337. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  338. package/lib/cjs/geometry/FrustumPlanes.d.ts +32 -32
  339. package/lib/cjs/geometry/FrustumPlanes.js +132 -132
  340. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  341. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  342. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  343. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  344. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  345. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  346. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  347. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  348. package/lib/cjs/geometry/GeometryStream.js +469 -469
  349. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  350. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  351. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  352. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  353. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  354. package/lib/cjs/geometry/LineStyle.js +129 -129
  355. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  356. package/lib/cjs/geometry/Placement.d.ts +95 -95
  357. package/lib/cjs/geometry/Placement.js +131 -131
  358. package/lib/cjs/geometry/Placement.js.map +1 -1
  359. package/lib/cjs/geometry/Projection.d.ts +251 -251
  360. package/lib/cjs/geometry/Projection.js +198 -198
  361. package/lib/cjs/geometry/Projection.js.map +1 -1
  362. package/lib/cjs/geometry/TextString.d.ts +55 -55
  363. package/lib/cjs/geometry/TextString.d.ts.map +1 -1
  364. package/lib/cjs/geometry/TextString.js +65 -65
  365. package/lib/cjs/geometry/TextString.js.map +1 -1
  366. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  367. package/lib/cjs/ipc/IpcSession.js +27 -27
  368. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  369. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  370. package/lib/cjs/ipc/IpcSocket.js +16 -16
  371. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  372. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -58
  373. package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
  374. package/lib/cjs/ipc/IpcWebSocket.js +151 -137
  375. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  376. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  377. package/lib/cjs/ipc/IpcWebSocketTransport.js +158 -151
  378. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  379. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  380. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  381. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  382. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +75 -75
  383. package/lib/cjs/rpc/IModelReadRpcInterface.js +115 -115
  384. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  385. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -53
  386. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  387. package/lib/cjs/rpc/IModelTileRpcInterface.js +95 -86
  388. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  389. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  390. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  391. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  392. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  393. package/lib/cjs/rpc/TestRpcManager.js +39 -39
  394. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  395. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  396. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  397. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  398. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  399. package/lib/cjs/rpc/core/RpcConfiguration.js +192 -192
  400. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  401. package/lib/cjs/rpc/core/RpcConstants.d.ts +85 -83
  402. package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
  403. package/lib/cjs/rpc/core/RpcConstants.js +103 -100
  404. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  405. package/lib/cjs/rpc/core/RpcControl.d.ts +52 -52
  406. package/lib/cjs/rpc/core/RpcControl.js +149 -149
  407. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  408. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  409. package/lib/cjs/rpc/core/RpcInvocation.js +257 -257
  410. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  411. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +36 -36
  412. package/lib/cjs/rpc/core/RpcMarshaling.js +153 -153
  413. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  414. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  415. package/lib/cjs/rpc/core/RpcOperation.js +133 -133
  416. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  417. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  418. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -94
  419. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  420. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  421. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  422. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  423. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  424. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  425. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  426. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  427. package/lib/cjs/rpc/core/RpcRegistry.js +198 -198
  428. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  429. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  430. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  431. package/lib/cjs/rpc/core/RpcRequest.js +477 -471
  432. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  433. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  434. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  435. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  436. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  437. package/lib/cjs/rpc/core/RpcRoutingToken.js +23 -23
  438. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  439. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  440. package/lib/cjs/rpc/core/RpcSessionInvocation.js +59 -59
  441. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  442. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  443. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  444. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  445. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  446. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  447. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +142 -139
  448. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  449. package/lib/cjs/rpc/web/OpenAPI.d.ts +139 -139
  450. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  451. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  452. package/lib/cjs/rpc/web/RpcMultipart.d.ts +31 -31
  453. package/lib/cjs/rpc/web/RpcMultipart.js +45 -45
  454. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  455. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +17 -17
  456. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  457. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  458. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  459. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  460. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -100
  461. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  462. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +71 -71
  463. package/lib/cjs/rpc/web/WebAppRpcRequest.js +374 -374
  464. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  465. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  466. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  467. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +359 -359
  468. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  469. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  470. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  471. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  472. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  473. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  474. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  475. package/lib/cjs/tile/ElementGraphics.d.ts +134 -134
  476. package/lib/cjs/tile/ElementGraphics.js +9 -9
  477. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  478. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  479. package/lib/cjs/tile/GltfTileIO.js +109 -109
  480. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  481. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  482. package/lib/cjs/tile/I3dmTileIO.d.ts.map +1 -1
  483. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  484. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  485. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  486. package/lib/cjs/tile/IModelTileIO.js +95 -95
  487. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  488. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  489. package/lib/cjs/tile/PntsTileIO.js +26 -26
  490. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  491. package/lib/cjs/tile/TileIO.d.ts +66 -66
  492. package/lib/cjs/tile/TileIO.js +118 -118
  493. package/lib/cjs/tile/TileIO.js.map +1 -1
  494. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  495. package/lib/cjs/tile/TileMetadata.js +676 -676
  496. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  497. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  498. package/lib/esm/AmbientOcclusion.js +52 -52
  499. package/lib/esm/AmbientOcclusion.js.map +1 -1
  500. package/lib/esm/AnalysisStyle.d.ts +134 -134
  501. package/lib/esm/AnalysisStyle.js +159 -159
  502. package/lib/esm/AnalysisStyle.js.map +1 -1
  503. package/lib/esm/AuthorizationClient.d.ts +11 -11
  504. package/lib/esm/AuthorizationClient.js +8 -8
  505. package/lib/esm/AuthorizationClient.js.map +1 -1
  506. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  507. package/lib/esm/BackgroundMapProvider.js +64 -64
  508. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  509. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  510. package/lib/esm/BackgroundMapSettings.js +152 -152
  511. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  512. package/lib/esm/Base64EncodedString.d.ts +30 -30
  513. package/lib/esm/Base64EncodedString.js +53 -53
  514. package/lib/esm/Base64EncodedString.js.map +1 -1
  515. package/lib/esm/BlobReader.d.ts +31 -31
  516. package/lib/esm/BlobReader.js +79 -79
  517. package/lib/esm/BlobReader.js.map +1 -1
  518. package/lib/esm/BriefcaseTypes.d.ts +189 -189
  519. package/lib/esm/BriefcaseTypes.js +92 -92
  520. package/lib/esm/BriefcaseTypes.js.map +1 -1
  521. package/lib/esm/Camera.d.ts +42 -42
  522. package/lib/esm/Camera.d.ts.map +1 -1
  523. package/lib/esm/Camera.js +58 -54
  524. package/lib/esm/Camera.js.map +1 -1
  525. package/lib/esm/ChangedElements.d.ts +83 -83
  526. package/lib/esm/ChangedElements.js +18 -18
  527. package/lib/esm/ChangedElements.js.map +1 -1
  528. package/lib/esm/ChangedEntities.d.ts +45 -45
  529. package/lib/esm/ChangedEntities.js +8 -8
  530. package/lib/esm/ChangedEntities.js.map +1 -1
  531. package/lib/esm/ChangesetProps.d.ts +98 -98
  532. package/lib/esm/ChangesetProps.js +19 -19
  533. package/lib/esm/ChangesetProps.js.map +1 -1
  534. package/lib/esm/ClipStyle.d.ts +89 -89
  535. package/lib/esm/ClipStyle.js +118 -118
  536. package/lib/esm/ClipStyle.js.map +1 -1
  537. package/lib/esm/CloudStorage.d.ts +62 -47
  538. package/lib/esm/CloudStorage.d.ts.map +1 -1
  539. package/lib/esm/CloudStorage.js +109 -99
  540. package/lib/esm/CloudStorage.js.map +1 -1
  541. package/lib/esm/CloudStorageTileCache.d.ts +27 -24
  542. package/lib/esm/CloudStorageTileCache.d.ts.map +1 -1
  543. package/lib/esm/CloudStorageTileCache.js +62 -58
  544. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  545. package/lib/esm/Code.d.ts +256 -250
  546. package/lib/esm/Code.d.ts.map +1 -1
  547. package/lib/esm/Code.js +276 -272
  548. package/lib/esm/Code.js.map +1 -1
  549. package/lib/esm/ColorByName.d.ts +161 -161
  550. package/lib/esm/ColorByName.js +166 -166
  551. package/lib/esm/ColorByName.js.map +1 -1
  552. package/lib/esm/ColorDef.d.ts +208 -208
  553. package/lib/esm/ColorDef.d.ts.map +1 -1
  554. package/lib/esm/ColorDef.js +567 -565
  555. package/lib/esm/ColorDef.js.map +1 -1
  556. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  557. package/lib/esm/CommonLoggerCategory.js +23 -23
  558. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  559. package/lib/esm/ConcurrentQuery.d.ts +241 -241
  560. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  561. package/lib/esm/ConcurrentQuery.js +373 -331
  562. package/lib/esm/ConcurrentQuery.js.map +1 -1
  563. package/lib/esm/ContextRealityModel.d.ts +255 -255
  564. package/lib/esm/ContextRealityModel.js +320 -320
  565. package/lib/esm/ContextRealityModel.js.map +1 -1
  566. package/lib/esm/DisplayStyleSettings.d.ts +552 -552
  567. package/lib/esm/DisplayStyleSettings.js +946 -946
  568. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  569. package/lib/esm/ECSchemaProps.d.ts +40 -0
  570. package/lib/esm/ECSchemaProps.d.ts.map +1 -0
  571. package/lib/esm/ECSchemaProps.js +9 -0
  572. package/lib/esm/ECSchemaProps.js.map +1 -0
  573. package/lib/esm/ECSqlReader.d.ts +70 -70
  574. package/lib/esm/ECSqlReader.js +275 -275
  575. package/lib/esm/ECSqlReader.js.map +1 -1
  576. package/lib/esm/ECSqlTypes.d.ts +128 -128
  577. package/lib/esm/ECSqlTypes.js +185 -185
  578. package/lib/esm/ECSqlTypes.js.map +1 -1
  579. package/lib/esm/ElementProps.d.ts +476 -470
  580. package/lib/esm/ElementProps.d.ts.map +1 -1
  581. package/lib/esm/ElementProps.js +92 -92
  582. package/lib/esm/ElementProps.js.map +1 -1
  583. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  584. package/lib/esm/EmphasizeElementsProps.js +22 -22
  585. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  586. package/lib/esm/EntityProps.d.ts +176 -176
  587. package/lib/esm/EntityProps.js +107 -107
  588. package/lib/esm/EntityProps.js.map +1 -1
  589. package/lib/esm/Environment.d.ts +61 -61
  590. package/lib/esm/Environment.js +69 -69
  591. package/lib/esm/Environment.js.map +1 -1
  592. package/lib/esm/FeatureGates.d.ts +31 -31
  593. package/lib/esm/FeatureGates.d.ts.map +1 -1
  594. package/lib/esm/FeatureGates.js +51 -47
  595. package/lib/esm/FeatureGates.js.map +1 -1
  596. package/lib/esm/FeatureIndex.d.ts +39 -39
  597. package/lib/esm/FeatureIndex.d.ts.map +1 -1
  598. package/lib/esm/FeatureIndex.js +57 -53
  599. package/lib/esm/FeatureIndex.js.map +1 -1
  600. package/lib/esm/FeatureSymbology.d.ts +444 -444
  601. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  602. package/lib/esm/FeatureSymbology.js +609 -609
  603. package/lib/esm/FeatureSymbology.js.map +1 -1
  604. package/lib/esm/FeatureTable.d.ts +141 -141
  605. package/lib/esm/FeatureTable.js +272 -272
  606. package/lib/esm/FeatureTable.js.map +1 -1
  607. package/lib/esm/Fonts.d.ts +51 -51
  608. package/lib/esm/Fonts.d.ts.map +1 -1
  609. package/lib/esm/Fonts.js +49 -49
  610. package/lib/esm/Fonts.js.map +1 -1
  611. package/lib/esm/Frustum.d.ts +114 -114
  612. package/lib/esm/Frustum.d.ts.map +1 -1
  613. package/lib/esm/Frustum.js +288 -254
  614. package/lib/esm/Frustum.js.map +1 -1
  615. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  616. package/lib/esm/GeoCoordinateServices.js +76 -76
  617. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  618. package/lib/esm/GeometryContainment.d.ts +28 -28
  619. package/lib/esm/GeometryContainment.js +8 -8
  620. package/lib/esm/GeometryContainment.js.map +1 -1
  621. package/lib/esm/GeometryParams.d.ts +130 -130
  622. package/lib/esm/GeometryParams.js +170 -170
  623. package/lib/esm/GeometryParams.js.map +1 -1
  624. package/lib/esm/GeometrySummary.d.ts +45 -45
  625. package/lib/esm/GeometrySummary.js +20 -20
  626. package/lib/esm/GeometrySummary.js.map +1 -1
  627. package/lib/esm/Gradient.d.ts +139 -123
  628. package/lib/esm/Gradient.d.ts.map +1 -1
  629. package/lib/esm/Gradient.js +452 -441
  630. package/lib/esm/Gradient.js.map +1 -1
  631. package/lib/esm/GraphicParams.d.ts +58 -58
  632. package/lib/esm/GraphicParams.js +81 -81
  633. package/lib/esm/GraphicParams.js.map +1 -1
  634. package/lib/esm/GroundPlane.d.ts +52 -52
  635. package/lib/esm/GroundPlane.js +60 -60
  636. package/lib/esm/GroundPlane.js.map +1 -1
  637. package/lib/esm/HSLColor.d.ts +20 -20
  638. package/lib/esm/HSLColor.js +28 -28
  639. package/lib/esm/HSLColor.js.map +1 -1
  640. package/lib/esm/HSVColor.d.ts +30 -30
  641. package/lib/esm/HSVColor.js +55 -55
  642. package/lib/esm/HSVColor.js.map +1 -1
  643. package/lib/esm/HiddenLine.d.ts +97 -97
  644. package/lib/esm/HiddenLine.js +159 -159
  645. package/lib/esm/HiddenLine.js.map +1 -1
  646. package/lib/esm/Hilite.d.ts +50 -50
  647. package/lib/esm/Hilite.js +61 -61
  648. package/lib/esm/Hilite.js.map +1 -1
  649. package/lib/esm/IModel.d.ts +355 -355
  650. package/lib/esm/IModel.js +335 -335
  651. package/lib/esm/IModel.js.map +1 -1
  652. package/lib/esm/IModelError.d.ts +36 -36
  653. package/lib/esm/IModelError.js +55 -55
  654. package/lib/esm/IModelError.js.map +1 -1
  655. package/lib/esm/IModelVersion.d.ts +68 -68
  656. package/lib/esm/IModelVersion.js +75 -75
  657. package/lib/esm/IModelVersion.js.map +1 -1
  658. package/lib/esm/Image.d.ts +86 -86
  659. package/lib/esm/Image.d.ts.map +1 -1
  660. package/lib/esm/Image.js +120 -118
  661. package/lib/esm/Image.js.map +1 -1
  662. package/lib/esm/IpcAppProps.d.ts +124 -124
  663. package/lib/esm/IpcAppProps.js +15 -15
  664. package/lib/esm/IpcAppProps.js.map +1 -1
  665. package/lib/esm/LightSettings.d.ts +224 -224
  666. package/lib/esm/LightSettings.js +301 -301
  667. package/lib/esm/LightSettings.js.map +1 -1
  668. package/lib/esm/LinePixels.d.ts +34 -34
  669. package/lib/esm/LinePixels.js +39 -39
  670. package/lib/esm/LinePixels.js.map +1 -1
  671. package/lib/esm/Localization.d.ts +111 -112
  672. package/lib/esm/Localization.d.ts.map +1 -1
  673. package/lib/esm/Localization.js +22 -22
  674. package/lib/esm/Localization.js.map +1 -1
  675. package/lib/esm/MapImagerySettings.d.ts +62 -62
  676. package/lib/esm/MapImagerySettings.js +76 -76
  677. package/lib/esm/MapImagerySettings.js.map +1 -1
  678. package/lib/esm/MapLayerSettings.d.ts +272 -272
  679. package/lib/esm/MapLayerSettings.js +403 -403
  680. package/lib/esm/MapLayerSettings.js.map +1 -1
  681. package/lib/esm/MassProperties.d.ts +64 -64
  682. package/lib/esm/MassProperties.js +20 -20
  683. package/lib/esm/MassProperties.js.map +1 -1
  684. package/lib/esm/MaterialProps.d.ts +118 -118
  685. package/lib/esm/MaterialProps.js +20 -20
  686. package/lib/esm/MaterialProps.js.map +1 -1
  687. package/lib/esm/ModelClipGroup.d.ts +67 -67
  688. package/lib/esm/ModelClipGroup.js +93 -93
  689. package/lib/esm/ModelClipGroup.js.map +1 -1
  690. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  691. package/lib/esm/ModelGeometryChanges.js +80 -80
  692. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  693. package/lib/esm/ModelProps.d.ts +66 -66
  694. package/lib/esm/ModelProps.js +8 -8
  695. package/lib/esm/ModelProps.js.map +1 -1
  696. package/lib/esm/NativeAppProps.d.ts +122 -122
  697. package/lib/esm/NativeAppProps.js +27 -27
  698. package/lib/esm/NativeAppProps.js.map +1 -1
  699. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  700. package/lib/esm/OctEncodedNormal.js +93 -93
  701. package/lib/esm/OctEncodedNormal.js.map +1 -1
  702. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  703. package/lib/esm/PlanProjectionSettings.js +59 -59
  704. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  705. package/lib/esm/PlanarClipMask.d.ts +177 -177
  706. package/lib/esm/PlanarClipMask.js +132 -132
  707. package/lib/esm/PlanarClipMask.js.map +1 -1
  708. package/lib/esm/QPoint.d.ts +479 -299
  709. package/lib/esm/QPoint.d.ts.map +1 -1
  710. package/lib/esm/QPoint.js +815 -617
  711. package/lib/esm/QPoint.js.map +1 -1
  712. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  713. package/lib/esm/RealityDataAccessProps.js +16 -16
  714. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  715. package/lib/esm/Render.d.ts +89 -89
  716. package/lib/esm/Render.d.ts.map +1 -1
  717. package/lib/esm/Render.js +165 -157
  718. package/lib/esm/Render.js.map +1 -1
  719. package/lib/esm/RenderMaterial.d.ts +58 -58
  720. package/lib/esm/RenderMaterial.js +72 -72
  721. package/lib/esm/RenderMaterial.js.map +1 -1
  722. package/lib/esm/RenderSchedule.d.ts +540 -540
  723. package/lib/esm/RenderSchedule.js +997 -997
  724. package/lib/esm/RenderTexture.d.ts +70 -70
  725. package/lib/esm/RenderTexture.js +55 -55
  726. package/lib/esm/RenderTexture.js.map +1 -1
  727. package/lib/esm/RgbColor.d.ts +39 -39
  728. package/lib/esm/RgbColor.js +63 -63
  729. package/lib/esm/RgbColor.js.map +1 -1
  730. package/lib/esm/RpcInterface.d.ts +33 -33
  731. package/lib/esm/RpcInterface.js +133 -133
  732. package/lib/esm/RpcInterface.js.map +1 -1
  733. package/lib/esm/RpcManager.d.ts +40 -40
  734. package/lib/esm/RpcManager.js +51 -51
  735. package/lib/esm/RpcManager.js.map +1 -1
  736. package/lib/esm/SessionProps.d.ts +16 -16
  737. package/lib/esm/SessionProps.js +8 -8
  738. package/lib/esm/SessionProps.js.map +1 -1
  739. package/lib/esm/SkyBox.d.ts +215 -215
  740. package/lib/esm/SkyBox.js +203 -203
  741. package/lib/esm/SkyBox.js.map +1 -1
  742. package/lib/esm/Snapping.d.ts +49 -49
  743. package/lib/esm/Snapping.js +8 -8
  744. package/lib/esm/Snapping.js.map +1 -1
  745. package/lib/esm/SolarCalculate.d.ts +27 -27
  746. package/lib/esm/SolarCalculate.js +204 -204
  747. package/lib/esm/SolarCalculate.js.map +1 -1
  748. package/lib/esm/SolarShadows.d.ts +35 -35
  749. package/lib/esm/SolarShadows.js +58 -58
  750. package/lib/esm/SolarShadows.js.map +1 -1
  751. package/lib/esm/SpatialClassification.d.ts +208 -208
  752. package/lib/esm/SpatialClassification.js +334 -334
  753. package/lib/esm/SpatialClassification.js.map +1 -1
  754. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  755. package/lib/esm/SubCategoryAppearance.js +92 -92
  756. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  757. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  758. package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
  759. package/lib/esm/SubCategoryOverride.js +100 -100
  760. package/lib/esm/SubCategoryOverride.js.map +1 -1
  761. package/lib/esm/TerrainSettings.d.ts +82 -77
  762. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  763. package/lib/esm/TerrainSettings.js +98 -97
  764. package/lib/esm/TerrainSettings.js.map +1 -1
  765. package/lib/esm/TextureMapping.d.ts +101 -101
  766. package/lib/esm/TextureMapping.js +170 -170
  767. package/lib/esm/TextureMapping.js.map +1 -1
  768. package/lib/esm/TextureProps.d.ts +65 -65
  769. package/lib/esm/TextureProps.js +25 -25
  770. package/lib/esm/TextureProps.js.map +1 -1
  771. package/lib/esm/ThematicDisplay.d.ts +230 -234
  772. package/lib/esm/ThematicDisplay.d.ts.map +1 -1
  773. package/lib/esm/ThematicDisplay.js +337 -337
  774. package/lib/esm/ThematicDisplay.js.map +1 -1
  775. package/lib/esm/Thumbnail.d.ts +26 -26
  776. package/lib/esm/Thumbnail.js +8 -8
  777. package/lib/esm/Thumbnail.js.map +1 -1
  778. package/lib/esm/TileProps.d.ts +82 -77
  779. package/lib/esm/TileProps.d.ts.map +1 -1
  780. package/lib/esm/TileProps.js +25 -15
  781. package/lib/esm/TileProps.js.map +1 -1
  782. package/lib/esm/Tween.d.ts +191 -191
  783. package/lib/esm/Tween.js +565 -565
  784. package/lib/esm/Tween.js.map +1 -1
  785. package/lib/esm/TxnAction.d.ts +21 -21
  786. package/lib/esm/TxnAction.js +26 -26
  787. package/lib/esm/TxnAction.js.map +1 -1
  788. package/lib/esm/ViewDetails.d.ts +125 -125
  789. package/lib/esm/ViewDetails.js +153 -153
  790. package/lib/esm/ViewDetails.js.map +1 -1
  791. package/lib/esm/ViewFlags.d.ts +291 -291
  792. package/lib/esm/ViewFlags.d.ts.map +1 -1
  793. package/lib/esm/ViewFlags.js +364 -364
  794. package/lib/esm/ViewFlags.js.map +1 -1
  795. package/lib/esm/ViewProps.d.ts +205 -205
  796. package/lib/esm/ViewProps.js +8 -8
  797. package/lib/esm/ViewProps.js.map +1 -1
  798. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  799. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  800. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  801. package/lib/esm/core-common.d.ts +240 -239
  802. package/lib/esm/core-common.d.ts.map +1 -1
  803. package/lib/esm/core-common.js +244 -243
  804. package/lib/esm/core-common.js.map +1 -1
  805. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  806. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  807. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  808. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  809. package/lib/esm/domains/GenericElementProps.js +8 -8
  810. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  811. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  812. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  813. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  814. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  815. package/lib/esm/geometry/AreaPattern.js +201 -201
  816. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  817. package/lib/esm/geometry/BoundingSphere.d.ts +14 -14
  818. package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
  819. package/lib/esm/geometry/BoundingSphere.js +26 -20
  820. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  821. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  822. package/lib/esm/geometry/Cartographic.js +340 -340
  823. package/lib/esm/geometry/Cartographic.js.map +1 -1
  824. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  825. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  826. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  827. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  828. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  829. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  830. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  831. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  832. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  833. package/lib/esm/geometry/FrustumPlanes.d.ts +32 -32
  834. package/lib/esm/geometry/FrustumPlanes.js +128 -128
  835. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  836. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  837. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  838. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  839. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  840. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  841. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  842. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  843. package/lib/esm/geometry/GeometryStream.js +464 -464
  844. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  845. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  846. package/lib/esm/geometry/ImageGraphic.js +93 -93
  847. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  848. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  849. package/lib/esm/geometry/LineStyle.js +126 -126
  850. package/lib/esm/geometry/LineStyle.js.map +1 -1
  851. package/lib/esm/geometry/Placement.d.ts +95 -95
  852. package/lib/esm/geometry/Placement.js +126 -126
  853. package/lib/esm/geometry/Placement.js.map +1 -1
  854. package/lib/esm/geometry/Projection.d.ts +251 -251
  855. package/lib/esm/geometry/Projection.js +192 -192
  856. package/lib/esm/geometry/Projection.js.map +1 -1
  857. package/lib/esm/geometry/TextString.d.ts +55 -55
  858. package/lib/esm/geometry/TextString.d.ts.map +1 -1
  859. package/lib/esm/geometry/TextString.js +61 -61
  860. package/lib/esm/geometry/TextString.js.map +1 -1
  861. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  862. package/lib/esm/ipc/IpcSession.js +23 -23
  863. package/lib/esm/ipc/IpcSession.js.map +1 -1
  864. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  865. package/lib/esm/ipc/IpcSocket.js +12 -12
  866. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  867. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -58
  868. package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
  869. package/lib/esm/ipc/IpcWebSocket.js +145 -131
  870. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  871. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  872. package/lib/esm/ipc/IpcWebSocketTransport.js +154 -147
  873. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  874. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  875. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  876. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  877. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +75 -75
  878. package/lib/esm/rpc/IModelReadRpcInterface.js +110 -110
  879. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  880. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -53
  881. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  882. package/lib/esm/rpc/IModelTileRpcInterface.js +91 -82
  883. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  884. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  885. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  886. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  887. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  888. package/lib/esm/rpc/TestRpcManager.js +35 -35
  889. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  890. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  891. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  892. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  893. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  894. package/lib/esm/rpc/core/RpcConfiguration.js +185 -185
  895. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  896. package/lib/esm/rpc/core/RpcConstants.d.ts +85 -83
  897. package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
  898. package/lib/esm/rpc/core/RpcConstants.js +100 -97
  899. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  900. package/lib/esm/rpc/core/RpcControl.d.ts +52 -52
  901. package/lib/esm/rpc/core/RpcControl.js +142 -142
  902. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  903. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  904. package/lib/esm/rpc/core/RpcInvocation.js +253 -253
  905. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  906. package/lib/esm/rpc/core/RpcMarshaling.d.ts +36 -36
  907. package/lib/esm/rpc/core/RpcMarshaling.js +149 -149
  908. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  909. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  910. package/lib/esm/rpc/core/RpcOperation.js +128 -128
  911. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  912. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  913. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -90
  914. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  915. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  916. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  917. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  918. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  919. package/lib/esm/rpc/core/RpcPush.js +119 -119
  920. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  921. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  922. package/lib/esm/rpc/core/RpcRegistry.js +194 -194
  923. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  924. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  925. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  926. package/lib/esm/rpc/core/RpcRequest.js +472 -466
  927. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  928. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  929. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  930. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  931. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  932. package/lib/esm/rpc/core/RpcRoutingToken.js +19 -19
  933. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  934. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  935. package/lib/esm/rpc/core/RpcSessionInvocation.js +55 -55
  936. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  937. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  938. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  939. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  940. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  941. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  942. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +138 -135
  943. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  944. package/lib/esm/rpc/web/OpenAPI.d.ts +139 -139
  945. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  946. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  947. package/lib/esm/rpc/web/RpcMultipart.d.ts +31 -31
  948. package/lib/esm/rpc/web/RpcMultipart.js +41 -41
  949. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  950. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +17 -17
  951. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  952. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  953. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  954. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  955. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -96
  956. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  957. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +71 -71
  958. package/lib/esm/rpc/web/WebAppRpcRequest.js +370 -370
  959. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  960. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  961. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  962. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +355 -355
  963. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  964. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  965. package/lib/esm/tile/B3dmTileIO.js +62 -62
  966. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  967. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  968. package/lib/esm/tile/CompositeTileIO.js +22 -22
  969. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  970. package/lib/esm/tile/ElementGraphics.d.ts +134 -134
  971. package/lib/esm/tile/ElementGraphics.js +8 -8
  972. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  973. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  974. package/lib/esm/tile/GltfTileIO.js +105 -105
  975. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  976. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  977. package/lib/esm/tile/I3dmTileIO.d.ts.map +1 -1
  978. package/lib/esm/tile/I3dmTileIO.js +36 -36
  979. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  980. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  981. package/lib/esm/tile/IModelTileIO.js +90 -90
  982. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  983. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  984. package/lib/esm/tile/PntsTileIO.js +22 -22
  985. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  986. package/lib/esm/tile/TileIO.d.ts +66 -66
  987. package/lib/esm/tile/TileIO.js +110 -110
  988. package/lib/esm/tile/TileIO.js.map +1 -1
  989. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  990. package/lib/esm/tile/TileMetadata.js +661 -661
  991. package/lib/esm/tile/TileMetadata.js.map +1 -1
  992. package/package.json +10 -9
@@ -1 +1 @@
1
- {"version":3,"file":"LightSettings.js","sourceRoot":"","sources":["../../src/LightSettings.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 DisplayStyles\r\n */\r\n\r\nimport { assert, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { Vector3d, XYZProps } from \"@itwin/core-geometry\";\r\nimport { RgbColor, RgbColorProps } from \"./RgbColor\";\r\n\r\nfunction extractIntensity(value: number | undefined, defaultValue: number) {\r\n const maxIntensity = 5;\r\n return typeof value === \"number\" ? Math.max(0, Math.min(maxIntensity, value)) : defaultValue;\r\n}\r\n\r\n/** Wire format for the solar directional light associated with a [[LightSettingsProps]].\r\n * The light is colored white and oriented in any direction in world coordinates.\r\n * It will cast shadows if it is above the world XY plane and if the shadows view flag is enabled for the view.\r\n * By default, the solar light is only applied when shadows are enabled, but can be set to be applied unconditionally.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SolarLightProps {\r\n /** Intensity of the light, typically in [0..1] but can range up to 5. Default: 1.0 */\r\n intensity?: number;\r\n /** Direction of the light in world coordinates. Defaults to a vector looking down on the scene at a 45 degree angle mostly along the Y axis. */\r\n direction?: XYZProps;\r\n /** If true, the light will be applied even when shadows are turned off for the view.\r\n * If false, a roughly overhead light of the same intensity oriented in view space will be used instead.\r\n * Default: false.\r\n */\r\n alwaysEnabled?: boolean;\r\n /** If defined, the time in UNIX milliseconds from which [[direction]] was calculated.\r\n * @see [[DisplayStyleSettings.setSunTime]] to compute the solar direction from a point in time.\r\n */\r\n timePoint?: number;\r\n}\r\n\r\nconst defaultSolarDirection = Vector3d.create(0.272166, 0.680414, 0.680414);\r\n\r\n/** Describes the solar directional light associated with a [[LightSettings]].\r\n * @see [[SolarLightProps]].\r\n * @public\r\n */\r\nexport class SolarLight {\r\n /** Direction of the light in world coordinates. Defaults to a vector looking down on the scene at a 45 degree angle mostly along the Y axis. */\r\n public readonly direction: Readonly<Vector3d>;\r\n /** Intensity of the light, typically in [0..1] but can range up to 5. Default: 1.0 */\r\n public readonly intensity: number;\r\n /** If true, the light will be applied even when shadows are turned off for the view.\r\n * If false, a roughly overhead light of the same intensity oriented in view space will be used instead.\r\n * Default: false.\r\n */\r\n public readonly alwaysEnabled: boolean;\r\n /** If defined, the time in UNIX milliseconds from which [[direction]] was calculated.\r\n * @see [[DisplayStyleSettings.setSunTime]] to compute the solar direction from a point in time.\r\n */\r\n public readonly timePoint?: number;\r\n\r\n public constructor(json?: SolarLightProps) {\r\n json = json || {};\r\n this.intensity = extractIntensity(json.intensity, 1);\r\n this.alwaysEnabled = JsonUtils.asBool(json.alwaysEnabled);\r\n\r\n if (json.direction)\r\n this.direction = Vector3d.fromJSON(json.direction);\r\n else\r\n this.direction = defaultSolarDirection.clone();\r\n\r\n if (typeof json.timePoint === \"number\")\r\n this.timePoint = json.timePoint;\r\n }\r\n\r\n public toJSON(): SolarLightProps | undefined {\r\n const direction = this.direction.isAlmostEqual(defaultSolarDirection) ? undefined : this.direction.toJSON();\r\n const intensity = this.intensity !== 1 ? this.intensity : undefined;\r\n const alwaysEnabled = this.alwaysEnabled ? true : undefined;\r\n const timePoint = this.timePoint;\r\n\r\n if (undefined === direction && undefined === intensity && undefined === alwaysEnabled && undefined === timePoint)\r\n return undefined;\r\n\r\n const json: SolarLightProps = {};\r\n if (direction)\r\n json.direction = direction;\r\n\r\n if (undefined !== intensity)\r\n json.intensity = intensity;\r\n\r\n if (undefined !== alwaysEnabled)\r\n json.alwaysEnabled = alwaysEnabled;\r\n\r\n if (undefined !== timePoint)\r\n json.timePoint = timePoint;\r\n\r\n return json;\r\n }\r\n\r\n /** Create a copy of this SolarLight, identical except in any properties explicitly specified by `changedProps`, with a possible exception for [[timePoint]].\r\n * If `this.timePoint` is defined and `changedProps` defines `direction` but **doesn't** define `timePoint`, the time point will only be preserved in the\r\n * copy if `changesProps.direction` is equal to `this.direction`.\r\n */\r\n public clone(changedProps?: SolarLightProps): SolarLight {\r\n if (!changedProps)\r\n return this;\r\n\r\n const props = this.toJSON() ?? {};\r\n if (undefined !== changedProps.direction)\r\n props.direction = changedProps.direction;\r\n\r\n if (undefined !== changedProps.intensity)\r\n props.intensity = changedProps.intensity;\r\n\r\n if (undefined !== changedProps.alwaysEnabled)\r\n props.alwaysEnabled = changedProps.alwaysEnabled;\r\n\r\n if (undefined !== changedProps.timePoint)\r\n props.timePoint = changedProps.timePoint;\r\n\r\n // If our direction was computed from a time point and the caller only supplies a direction, invalidate the time point unless the input direction matches our direction.\r\n // If caller explicitly supplied a timePoint, trust it.\r\n if (undefined !== this.timePoint && undefined === changedProps.timePoint && undefined !== changedProps.direction) {\r\n const newDirection = Vector3d.fromJSON(changedProps.direction);\r\n if (!newDirection.isAlmostEqual(this.direction))\r\n props.timePoint = undefined;\r\n }\r\n\r\n return new SolarLight(props);\r\n }\r\n\r\n public equals(rhs: SolarLight): boolean {\r\n return this.intensity === rhs.intensity && this.alwaysEnabled === rhs.alwaysEnabled && this.direction.isExactEqual(rhs.direction) && this.timePoint === rhs.timePoint;\r\n }\r\n}\r\n\r\n/** Wire format for the ambient light associated with a [[LightSettingsProps]].\r\n * Ambient light applies equally to all surfaces in the scene.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface AmbientLightProps {\r\n /** The color of the light. Black is treated as a special case, indicating that the surface's own diffuse color should be used. */\r\n color?: RgbColorProps;\r\n /** The intensity of the light. Default: 0.2. */\r\n intensity?: number;\r\n}\r\n\r\n/** Describes the ambient light associated with a [[LightSettings]].\r\n * @see [[AmbientLightProps]]\r\n * @public\r\n */\r\nexport class AmbientLight {\r\n public readonly color: RgbColor;\r\n public readonly intensity: number;\r\n\r\n public constructor(json?: AmbientLightProps) {\r\n json = json || {};\r\n this.intensity = extractIntensity(json.intensity, 0.2);\r\n this.color = json.color ? RgbColor.fromJSON(json.color) : new RgbColor(0, 0, 0);\r\n }\r\n\r\n public toJSON(): AmbientLightProps | undefined {\r\n const color = this.color.r !== 0 || this.color.g !== 0 || this.color.b !== 0 ? this.color.toJSON() : undefined;\r\n const intensity = 0.2 !== this.intensity ? this.intensity : undefined;\r\n if (undefined === color && undefined === intensity)\r\n return undefined;\r\n\r\n const json: AmbientLightProps = {};\r\n if (color)\r\n json.color = color;\r\n\r\n if (undefined !== intensity)\r\n json.intensity = intensity;\r\n\r\n return json;\r\n }\r\n\r\n /** Create a copy of this light, identical except for any properties explicitly specified by `changed`. */\r\n public clone(changed?: AmbientLightProps): AmbientLight {\r\n if (!changed)\r\n return this;\r\n\r\n const props = this.toJSON() ?? {};\r\n if (undefined !== changed.intensity)\r\n props.intensity = changed.intensity;\r\n\r\n if (undefined !== changed.color)\r\n props.color = changed.color;\r\n\r\n return new AmbientLight(props);\r\n }\r\n\r\n public equals(rhs: AmbientLight): boolean {\r\n return this.intensity === rhs.intensity && this.color.equals(rhs.color);\r\n }\r\n}\r\n\r\n/** Wire format for a pair of hemisphere lights associated with a [[LightSettingsProps]].\r\n * Hemisphere lights are oriented in opposite directions along the world Z axis. Each has its own color; they share one intensity.\r\n * They are often used to simulate outdoor reflection of light from the ground and sky, so the colors often match the ground and sky colors\r\n * of the [[SkyBox]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface HemisphereLightsProps {\r\n /** The color of the downward-facing light. Default: (143, 205, 255). */\r\n upperColor?: RgbColorProps;\r\n /** The color of the upward-facing light. Default: (120, 143, 125). */\r\n lowerColor?: RgbColorProps;\r\n /** Intensity of the lights. Default: 0. */\r\n intensity?: number;\r\n}\r\n\r\nconst defaultUpperHemisphereColor = new RgbColor(143, 205, 255);\r\nconst defaultLowerHemisphereColor = new RgbColor(120, 143, 125);\r\n\r\n/** Describes a pair of hemisphere lights associated with a [[LightSettings]].\r\n * @see [[HemisphereLightsProps]]\r\n * @public\r\n */\r\nexport class HemisphereLights {\r\n public readonly upperColor: RgbColor;\r\n public readonly lowerColor: RgbColor;\r\n public readonly intensity: number;\r\n\r\n public constructor(json?: HemisphereLightsProps) {\r\n json = json || {};\r\n this.intensity = extractIntensity(json.intensity, 0);\r\n this.upperColor = json.upperColor ? RgbColor.fromJSON(json.upperColor) : defaultUpperHemisphereColor;\r\n this.lowerColor = json.lowerColor ? RgbColor.fromJSON(json.lowerColor) : defaultLowerHemisphereColor;\r\n }\r\n\r\n public toJSON(): HemisphereLightsProps | undefined {\r\n const upperColor = this.upperColor.equals(defaultUpperHemisphereColor) ? undefined : this.upperColor.toJSON();\r\n const lowerColor = this.lowerColor.equals(defaultLowerHemisphereColor) ? undefined : this.lowerColor.toJSON();\r\n const intensity = 0 === this.intensity ? undefined : this.intensity;\r\n\r\n if (undefined === upperColor && undefined === lowerColor && undefined === intensity)\r\n return undefined;\r\n\r\n const json: HemisphereLightsProps = {};\r\n if (upperColor)\r\n json.upperColor = upperColor;\r\n\r\n if (lowerColor)\r\n json.lowerColor = lowerColor;\r\n\r\n if (undefined !== intensity)\r\n json.intensity = intensity;\r\n\r\n return json;\r\n }\r\n\r\n /** Create a copy of these lights, identical except for any properties explicitly specified by `changed`. */\r\n public clone(changed?: HemisphereLightsProps): HemisphereLights {\r\n if (!changed)\r\n return this;\r\n\r\n const props = this.toJSON() || {};\r\n if (undefined !== changed.upperColor)\r\n props.upperColor = changed.upperColor;\r\n\r\n if (undefined !== changed.lowerColor)\r\n props.lowerColor = changed.lowerColor;\r\n\r\n if (undefined !== changed.intensity)\r\n props.intensity = changed.intensity;\r\n\r\n return new HemisphereLights(props);\r\n }\r\n\r\n public equals(rhs: HemisphereLights): boolean {\r\n return this.intensity === rhs.intensity && this.upperColor.equals(rhs.upperColor) && this.lowerColor.equals(rhs.lowerColor);\r\n }\r\n}\r\n\r\n/** JSON representation of a [[FresnelSettings]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FresnelSettingsProps {\r\n /** See [[FresnelSettings.intensity]].\r\n * Default value: 0\r\n */\r\n intensity?: number;\r\n\r\n /** See [[FresnelSettings.invert]].\r\n * Default value: false\r\n */\r\n invert?: boolean;\r\n}\r\n\r\nfunction clampIntensity(intensity = 0): number {\r\n return Math.max(intensity, 0);\r\n}\r\n\r\n/** As part of a [[LightSettings]], describes how to apply a Fresnel effect to the contents of the view.\r\n * The \"Fresnel effect\" is based on the observation that the reflectivity of a surface varies based on the angle between the surface and\r\n * the viewer's line of sight. For example, a flat surface will appear more reflective when viewed at a glancing angle than it will when\r\n * viewed from above; and a sphere will appear more reflective around its edges than at its center.\r\n *\r\n * This principle can be used to improve photorealism, but the implementation provided here is intended to produce non-realistic but\r\n * aesthetically-pleasing results.\r\n * @see [[LightSettings.fresnel]].\r\n * @public\r\n */\r\nexport class FresnelSettings {\r\n /** The strength of the effect in terms of how much brighter the surface becomes. The intensity at a given point on the surface is determined by\r\n * the angle between the viewer's line of sight and the vector from the viewer to that point. Maximum intensity is produced when those vectors are\r\n * perpendicular, and zero intensity is produced when those vectors are parallel (unless [[invert]] is `true`).\r\n *\r\n * A value of zero turns off the effect. Values less than zero are clamped to zero. Typical values range between 0 and 1.\r\n */\r\n public readonly intensity: number;\r\n /** If true, inverts the effect's [[intensity]] such that maximum intensity is produced when the viewer's line of sight is parallel to the vector between\r\n * the viewer and the point on the surface, and zero intensity is produced when the viewer's line of sight is perpendicular to that vector.\r\n */\r\n public readonly invert: boolean;\r\n\r\n private constructor(intensity: number, invert: boolean) {\r\n assert(intensity >= 0);\r\n this.intensity = intensity;\r\n this.invert = invert;\r\n }\r\n\r\n private static readonly _defaults = new FresnelSettings(0, false);\r\n\r\n /** Create from JSON representation, using default values for any unspecified or `undefined` properties. */\r\n public static fromJSON(props?: FresnelSettingsProps): FresnelSettings {\r\n const intensity = clampIntensity(JsonUtils.asDouble(props?.intensity));\r\n const invert = JsonUtils.asBool(props?.invert);\r\n if (0 === intensity && !invert)\r\n return this._defaults;\r\n\r\n return new this(intensity, invert);\r\n }\r\n\r\n /** Create a new FresnelSettings.\r\n * @note Intensity values less than zero will be set to zero.\r\n */\r\n public static create(intensity = 0, invert = false): FresnelSettings {\r\n return this.fromJSON({ intensity, invert });\r\n }\r\n\r\n /** Convert to JSON representation.\r\n * @note If all settings match the default values, `undefined` will be returned.\r\n */\r\n public toJSON(): FresnelSettingsProps | undefined {\r\n if (0 === this.intensity && !this.invert)\r\n return undefined;\r\n\r\n const props: FresnelSettingsProps = {};\r\n if (0 !== this.intensity)\r\n props.intensity = this.intensity;\r\n\r\n if (this.invert)\r\n props.invert = true;\r\n\r\n return props;\r\n }\r\n\r\n /** Create a copy of these settings, modified to match any properties explicitly specified by `changedProps`. */\r\n public clone(changedProps?: FresnelSettingsProps): FresnelSettings {\r\n if ((undefined === changedProps?.intensity || changedProps.intensity === this.intensity)\r\n && (undefined === changedProps?.invert || changedProps.invert === this.invert))\r\n return this;\r\n\r\n const intensity = changedProps?.intensity ?? this.intensity;\r\n const invert = changedProps?.invert ?? this.invert;\r\n return FresnelSettings.fromJSON({ intensity, invert });\r\n }\r\n\r\n /** Return true if these settings are equivalent to `rhs`. */\r\n public equals(rhs: FresnelSettings): boolean {\r\n return this === rhs || (this.intensity === rhs.intensity && this.invert === rhs.invert);\r\n }\r\n}\r\n\r\n/** Wire format for a [[LightSettings]] describing lighting for a 3d scene.\r\n * 3d lighting provides the following lights, all of which are optional:\r\n * - A \"portrait\" light affixed to the camera and pointing directly forward into the scene. Color: white.\r\n * - A second directional light. Color: white.\r\n * - This can be a solar shadow-casting light, or (when shadows are disabled) a roughly overhead light oriented in view space.\r\n * - A pair of hemisphere lights pointing in opposite directions along the world Z axis. Each has its own customizable color.\r\n * - An ambient light of any color applied equally to all surfaces.\r\n * Specular intensity of all lights is controlled separately.\r\n * Light intensities are typically expressed in [0..1] but can be as large as 5.\r\n * @see [[DisplayStyle3dSettingsProps]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface LightSettingsProps {\r\n /** A white portrait light affixed to the camera and pointing directly forward into the scene. */\r\n portrait?: {\r\n /** Intensity, typically in [0..1], maximum 5. Default: 0.3. */\r\n intensity?: number;\r\n };\r\n /** Solar light settings. */\r\n solar?: SolarLightProps;\r\n /** Hemisphere light settings. */\r\n hemisphere?: HemisphereLightsProps;\r\n /** Ambient light settings. */\r\n ambient?: AmbientLightProps;\r\n /** Specular intensity applied to all lights. */\r\n specularIntensity?: number;\r\n /** Applies a [cel-shaded](https://en.wikipedia.org/wiki/Cel_shading) effect. If greater than zero, specifies the number of cels. Continuous lighting intensities\r\n * are computed, then quantized to the specified number of cels. Values greater than 254 have no visible effect.\r\n * Typically a value of 2 is appropriate if specular intensity is close to zero; 3 if specular intensity is larger.\r\n * Cel-shading is often combined with thick, dark visible edges for a cartoon or comic book effect.\r\n * Default: 0\r\n */\r\n numCels?: number;\r\n\r\n /** Fresnel settings.\r\n * @see [[FresnelSettings]].\r\n */\r\n fresnel?: FresnelSettingsProps;\r\n}\r\n\r\n/** Describes the lighting for a 3d scene, associated with a [[DisplayStyle3dSettings]] in turn associated with a [DisplayStyle3d]($backend) or [DisplayStyle3dState]($frontend).\r\n * @see [[LightSettingsProps]]\r\n * @public\r\n */\r\nexport class LightSettings {\r\n public readonly solar: SolarLight;\r\n public readonly ambient: AmbientLight;\r\n public readonly hemisphere: HemisphereLights;\r\n /** See [[LightSettingsProps.portrait]]. */\r\n public readonly portraitIntensity: number;\r\n public readonly specularIntensity: number;\r\n /** See [[LightSettingsProps.numCels]]. */\r\n public readonly numCels: number;\r\n public readonly fresnel: FresnelSettings;\r\n\r\n private constructor(solar: SolarLight, ambient: AmbientLight, hemisphere: HemisphereLights, portraitIntensity: number, specularIntensity: number, numCels: number,\r\n fresnel: FresnelSettings) {\r\n this.solar = solar;\r\n this.ambient = ambient;\r\n this.hemisphere = hemisphere;\r\n this.portraitIntensity = portraitIntensity;\r\n this.specularIntensity = specularIntensity;\r\n this.numCels = numCels;\r\n this.fresnel = fresnel;\r\n }\r\n\r\n public static fromJSON(props?: LightSettingsProps): LightSettings {\r\n const solar = new SolarLight(props?.solar);\r\n const ambient = new AmbientLight(props?.ambient);\r\n const hemisphere = new HemisphereLights(props?.hemisphere);\r\n const portraitIntensity = extractIntensity(props?.portrait?.intensity, 0.3);\r\n const specularIntensity = extractIntensity(props?.specularIntensity, 1.0);\r\n const numCels = JsonUtils.asInt(props?.numCels, 0);\r\n const fresnel = FresnelSettings.fromJSON(props?.fresnel);\r\n\r\n return new LightSettings(solar, ambient, hemisphere, portraitIntensity, specularIntensity, numCels, fresnel);\r\n }\r\n\r\n public toJSON(): LightSettingsProps | undefined {\r\n const solar = this.solar.toJSON();\r\n const ambient = this.ambient.toJSON();\r\n const hemisphere = this.hemisphere.toJSON();\r\n const portrait = 0.3 !== this.portraitIntensity ? { intensity: this.portraitIntensity } : undefined;\r\n const specularIntensity = 1 !== this.specularIntensity ? this.specularIntensity : undefined;\r\n const numCels = 0 !== this.numCels ? this.numCels : undefined;\r\n const fresnel = this.fresnel.toJSON();\r\n\r\n if (!solar && !ambient && !hemisphere && !portrait && undefined === specularIntensity && undefined === numCels && undefined === fresnel)\r\n return undefined;\r\n\r\n const json: LightSettingsProps = {};\r\n if (solar)\r\n json.solar = solar;\r\n\r\n if (ambient)\r\n json.ambient = ambient;\r\n\r\n if (hemisphere)\r\n json.hemisphere = hemisphere;\r\n\r\n if (portrait)\r\n json.portrait = portrait;\r\n\r\n if (undefined !== specularIntensity)\r\n json.specularIntensity = specularIntensity;\r\n\r\n if (undefined !== numCels)\r\n json.numCels = numCels;\r\n\r\n if (fresnel)\r\n json.fresnel = fresnel;\r\n\r\n return json;\r\n }\r\n\r\n /** Create a copy of these light settings, identical except for any properties explicitly specified by `changed`.\r\n * Note that the solar, ambient, and hemisphere lights will also be cloned using their own `clone` methods - so for example, the following:\r\n * ` clone({ ambient: { intensity: 0.5 } })`\r\n * will overwrite the ambient light's intensity but preserve its current color, rather than replacing the color with the default color.\r\n */\r\n public clone(changed?: LightSettingsProps): LightSettings {\r\n if (!changed)\r\n return this;\r\n\r\n const solar = this.solar.clone(changed.solar);\r\n const ambient = this.ambient.clone(changed.ambient);\r\n const hemisphere = this.hemisphere.clone(changed.hemisphere);\r\n const portrait = changed.portrait?.intensity ?? this.portraitIntensity;\r\n const specular = changed.specularIntensity ?? this.specularIntensity;\r\n const numCels = changed.numCels ?? this.numCels;\r\n const fresnel = this.fresnel.clone(changed.fresnel);\r\n\r\n return new LightSettings(solar, ambient, hemisphere, portrait, specular, numCels, fresnel);\r\n }\r\n\r\n public equals(rhs: LightSettings): boolean {\r\n if (this === rhs)\r\n return true;\r\n\r\n return this.portraitIntensity === rhs.portraitIntensity && this.specularIntensity === rhs.specularIntensity && this.numCels === rhs.numCels\r\n && this.ambient.equals(rhs.ambient) && this.solar.equals(rhs.solar) && this.hemisphere.equals(rhs.hemisphere) && this.fresnel.equals(rhs.fresnel);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"LightSettings.js","sourceRoot":"","sources":["../../src/LightSettings.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 DisplayStyles\n */\n\nimport { assert, JsonUtils } from \"@itwin/core-bentley\";\nimport { Vector3d, XYZProps } from \"@itwin/core-geometry\";\nimport { RgbColor, RgbColorProps } from \"./RgbColor\";\n\nfunction extractIntensity(value: number | undefined, defaultValue: number) {\n const maxIntensity = 5;\n return typeof value === \"number\" ? Math.max(0, Math.min(maxIntensity, value)) : defaultValue;\n}\n\n/** Wire format for the solar directional light associated with a [[LightSettingsProps]].\n * The light is colored white and oriented in any direction in world coordinates.\n * It will cast shadows if it is above the world XY plane and if the shadows view flag is enabled for the view.\n * By default, the solar light is only applied when shadows are enabled, but can be set to be applied unconditionally.\n * @public\n * @extensions\n */\nexport interface SolarLightProps {\n /** Intensity of the light, typically in [0..1] but can range up to 5. Default: 1.0 */\n intensity?: number;\n /** Direction of the light in world coordinates. Defaults to a vector looking down on the scene at a 45 degree angle mostly along the Y axis. */\n direction?: XYZProps;\n /** If true, the light will be applied even when shadows are turned off for the view.\n * If false, a roughly overhead light of the same intensity oriented in view space will be used instead.\n * Default: false.\n */\n alwaysEnabled?: boolean;\n /** If defined, the time in UNIX milliseconds from which [[direction]] was calculated.\n * @see [[DisplayStyleSettings.setSunTime]] to compute the solar direction from a point in time.\n */\n timePoint?: number;\n}\n\nconst defaultSolarDirection = Vector3d.create(0.272166, 0.680414, 0.680414);\n\n/** Describes the solar directional light associated with a [[LightSettings]].\n * @see [[SolarLightProps]].\n * @public\n */\nexport class SolarLight {\n /** Direction of the light in world coordinates. Defaults to a vector looking down on the scene at a 45 degree angle mostly along the Y axis. */\n public readonly direction: Readonly<Vector3d>;\n /** Intensity of the light, typically in [0..1] but can range up to 5. Default: 1.0 */\n public readonly intensity: number;\n /** If true, the light will be applied even when shadows are turned off for the view.\n * If false, a roughly overhead light of the same intensity oriented in view space will be used instead.\n * Default: false.\n */\n public readonly alwaysEnabled: boolean;\n /** If defined, the time in UNIX milliseconds from which [[direction]] was calculated.\n * @see [[DisplayStyleSettings.setSunTime]] to compute the solar direction from a point in time.\n */\n public readonly timePoint?: number;\n\n public constructor(json?: SolarLightProps) {\n json = json || {};\n this.intensity = extractIntensity(json.intensity, 1);\n this.alwaysEnabled = JsonUtils.asBool(json.alwaysEnabled);\n\n if (json.direction)\n this.direction = Vector3d.fromJSON(json.direction);\n else\n this.direction = defaultSolarDirection.clone();\n\n if (typeof json.timePoint === \"number\")\n this.timePoint = json.timePoint;\n }\n\n public toJSON(): SolarLightProps | undefined {\n const direction = this.direction.isAlmostEqual(defaultSolarDirection) ? undefined : this.direction.toJSON();\n const intensity = this.intensity !== 1 ? this.intensity : undefined;\n const alwaysEnabled = this.alwaysEnabled ? true : undefined;\n const timePoint = this.timePoint;\n\n if (undefined === direction && undefined === intensity && undefined === alwaysEnabled && undefined === timePoint)\n return undefined;\n\n const json: SolarLightProps = {};\n if (direction)\n json.direction = direction;\n\n if (undefined !== intensity)\n json.intensity = intensity;\n\n if (undefined !== alwaysEnabled)\n json.alwaysEnabled = alwaysEnabled;\n\n if (undefined !== timePoint)\n json.timePoint = timePoint;\n\n return json;\n }\n\n /** Create a copy of this SolarLight, identical except in any properties explicitly specified by `changedProps`, with a possible exception for [[timePoint]].\n * If `this.timePoint` is defined and `changedProps` defines `direction` but **doesn't** define `timePoint`, the time point will only be preserved in the\n * copy if `changesProps.direction` is equal to `this.direction`.\n */\n public clone(changedProps?: SolarLightProps): SolarLight {\n if (!changedProps)\n return this;\n\n const props = this.toJSON() ?? {};\n if (undefined !== changedProps.direction)\n props.direction = changedProps.direction;\n\n if (undefined !== changedProps.intensity)\n props.intensity = changedProps.intensity;\n\n if (undefined !== changedProps.alwaysEnabled)\n props.alwaysEnabled = changedProps.alwaysEnabled;\n\n if (undefined !== changedProps.timePoint)\n props.timePoint = changedProps.timePoint;\n\n // If our direction was computed from a time point and the caller only supplies a direction, invalidate the time point unless the input direction matches our direction.\n // If caller explicitly supplied a timePoint, trust it.\n if (undefined !== this.timePoint && undefined === changedProps.timePoint && undefined !== changedProps.direction) {\n const newDirection = Vector3d.fromJSON(changedProps.direction);\n if (!newDirection.isAlmostEqual(this.direction))\n props.timePoint = undefined;\n }\n\n return new SolarLight(props);\n }\n\n public equals(rhs: SolarLight): boolean {\n return this.intensity === rhs.intensity && this.alwaysEnabled === rhs.alwaysEnabled && this.direction.isExactEqual(rhs.direction) && this.timePoint === rhs.timePoint;\n }\n}\n\n/** Wire format for the ambient light associated with a [[LightSettingsProps]].\n * Ambient light applies equally to all surfaces in the scene.\n * @public\n * @extensions\n */\nexport interface AmbientLightProps {\n /** The color of the light. Black is treated as a special case, indicating that the surface's own diffuse color should be used. */\n color?: RgbColorProps;\n /** The intensity of the light. Default: 0.2. */\n intensity?: number;\n}\n\n/** Describes the ambient light associated with a [[LightSettings]].\n * @see [[AmbientLightProps]]\n * @public\n */\nexport class AmbientLight {\n public readonly color: RgbColor;\n public readonly intensity: number;\n\n public constructor(json?: AmbientLightProps) {\n json = json || {};\n this.intensity = extractIntensity(json.intensity, 0.2);\n this.color = json.color ? RgbColor.fromJSON(json.color) : new RgbColor(0, 0, 0);\n }\n\n public toJSON(): AmbientLightProps | undefined {\n const color = this.color.r !== 0 || this.color.g !== 0 || this.color.b !== 0 ? this.color.toJSON() : undefined;\n const intensity = 0.2 !== this.intensity ? this.intensity : undefined;\n if (undefined === color && undefined === intensity)\n return undefined;\n\n const json: AmbientLightProps = {};\n if (color)\n json.color = color;\n\n if (undefined !== intensity)\n json.intensity = intensity;\n\n return json;\n }\n\n /** Create a copy of this light, identical except for any properties explicitly specified by `changed`. */\n public clone(changed?: AmbientLightProps): AmbientLight {\n if (!changed)\n return this;\n\n const props = this.toJSON() ?? {};\n if (undefined !== changed.intensity)\n props.intensity = changed.intensity;\n\n if (undefined !== changed.color)\n props.color = changed.color;\n\n return new AmbientLight(props);\n }\n\n public equals(rhs: AmbientLight): boolean {\n return this.intensity === rhs.intensity && this.color.equals(rhs.color);\n }\n}\n\n/** Wire format for a pair of hemisphere lights associated with a [[LightSettingsProps]].\n * Hemisphere lights are oriented in opposite directions along the world Z axis. Each has its own color; they share one intensity.\n * They are often used to simulate outdoor reflection of light from the ground and sky, so the colors often match the ground and sky colors\n * of the [[SkyBox]].\n * @public\n * @extensions\n */\nexport interface HemisphereLightsProps {\n /** The color of the downward-facing light. Default: (143, 205, 255). */\n upperColor?: RgbColorProps;\n /** The color of the upward-facing light. Default: (120, 143, 125). */\n lowerColor?: RgbColorProps;\n /** Intensity of the lights. Default: 0. */\n intensity?: number;\n}\n\nconst defaultUpperHemisphereColor = new RgbColor(143, 205, 255);\nconst defaultLowerHemisphereColor = new RgbColor(120, 143, 125);\n\n/** Describes a pair of hemisphere lights associated with a [[LightSettings]].\n * @see [[HemisphereLightsProps]]\n * @public\n */\nexport class HemisphereLights {\n public readonly upperColor: RgbColor;\n public readonly lowerColor: RgbColor;\n public readonly intensity: number;\n\n public constructor(json?: HemisphereLightsProps) {\n json = json || {};\n this.intensity = extractIntensity(json.intensity, 0);\n this.upperColor = json.upperColor ? RgbColor.fromJSON(json.upperColor) : defaultUpperHemisphereColor;\n this.lowerColor = json.lowerColor ? RgbColor.fromJSON(json.lowerColor) : defaultLowerHemisphereColor;\n }\n\n public toJSON(): HemisphereLightsProps | undefined {\n const upperColor = this.upperColor.equals(defaultUpperHemisphereColor) ? undefined : this.upperColor.toJSON();\n const lowerColor = this.lowerColor.equals(defaultLowerHemisphereColor) ? undefined : this.lowerColor.toJSON();\n const intensity = 0 === this.intensity ? undefined : this.intensity;\n\n if (undefined === upperColor && undefined === lowerColor && undefined === intensity)\n return undefined;\n\n const json: HemisphereLightsProps = {};\n if (upperColor)\n json.upperColor = upperColor;\n\n if (lowerColor)\n json.lowerColor = lowerColor;\n\n if (undefined !== intensity)\n json.intensity = intensity;\n\n return json;\n }\n\n /** Create a copy of these lights, identical except for any properties explicitly specified by `changed`. */\n public clone(changed?: HemisphereLightsProps): HemisphereLights {\n if (!changed)\n return this;\n\n const props = this.toJSON() || {};\n if (undefined !== changed.upperColor)\n props.upperColor = changed.upperColor;\n\n if (undefined !== changed.lowerColor)\n props.lowerColor = changed.lowerColor;\n\n if (undefined !== changed.intensity)\n props.intensity = changed.intensity;\n\n return new HemisphereLights(props);\n }\n\n public equals(rhs: HemisphereLights): boolean {\n return this.intensity === rhs.intensity && this.upperColor.equals(rhs.upperColor) && this.lowerColor.equals(rhs.lowerColor);\n }\n}\n\n/** JSON representation of a [[FresnelSettings]].\n * @public\n * @extensions\n */\nexport interface FresnelSettingsProps {\n /** See [[FresnelSettings.intensity]].\n * Default value: 0\n */\n intensity?: number;\n\n /** See [[FresnelSettings.invert]].\n * Default value: false\n */\n invert?: boolean;\n}\n\nfunction clampIntensity(intensity = 0): number {\n return Math.max(intensity, 0);\n}\n\n/** As part of a [[LightSettings]], describes how to apply a Fresnel effect to the contents of the view.\n * The \"Fresnel effect\" is based on the observation that the reflectivity of a surface varies based on the angle between the surface and\n * the viewer's line of sight. For example, a flat surface will appear more reflective when viewed at a glancing angle than it will when\n * viewed from above; and a sphere will appear more reflective around its edges than at its center.\n *\n * This principle can be used to improve photorealism, but the implementation provided here is intended to produce non-realistic but\n * aesthetically-pleasing results.\n * @see [[LightSettings.fresnel]].\n * @public\n */\nexport class FresnelSettings {\n /** The strength of the effect in terms of how much brighter the surface becomes. The intensity at a given point on the surface is determined by\n * the angle between the viewer's line of sight and the vector from the viewer to that point. Maximum intensity is produced when those vectors are\n * perpendicular, and zero intensity is produced when those vectors are parallel (unless [[invert]] is `true`).\n *\n * A value of zero turns off the effect. Values less than zero are clamped to zero. Typical values range between 0 and 1.\n */\n public readonly intensity: number;\n /** If true, inverts the effect's [[intensity]] such that maximum intensity is produced when the viewer's line of sight is parallel to the vector between\n * the viewer and the point on the surface, and zero intensity is produced when the viewer's line of sight is perpendicular to that vector.\n */\n public readonly invert: boolean;\n\n private constructor(intensity: number, invert: boolean) {\n assert(intensity >= 0);\n this.intensity = intensity;\n this.invert = invert;\n }\n\n private static readonly _defaults = new FresnelSettings(0, false);\n\n /** Create from JSON representation, using default values for any unspecified or `undefined` properties. */\n public static fromJSON(props?: FresnelSettingsProps): FresnelSettings {\n const intensity = clampIntensity(JsonUtils.asDouble(props?.intensity));\n const invert = JsonUtils.asBool(props?.invert);\n if (0 === intensity && !invert)\n return this._defaults;\n\n return new this(intensity, invert);\n }\n\n /** Create a new FresnelSettings.\n * @note Intensity values less than zero will be set to zero.\n */\n public static create(intensity = 0, invert = false): FresnelSettings {\n return this.fromJSON({ intensity, invert });\n }\n\n /** Convert to JSON representation.\n * @note If all settings match the default values, `undefined` will be returned.\n */\n public toJSON(): FresnelSettingsProps | undefined {\n if (0 === this.intensity && !this.invert)\n return undefined;\n\n const props: FresnelSettingsProps = {};\n if (0 !== this.intensity)\n props.intensity = this.intensity;\n\n if (this.invert)\n props.invert = true;\n\n return props;\n }\n\n /** Create a copy of these settings, modified to match any properties explicitly specified by `changedProps`. */\n public clone(changedProps?: FresnelSettingsProps): FresnelSettings {\n if ((undefined === changedProps?.intensity || changedProps.intensity === this.intensity)\n && (undefined === changedProps?.invert || changedProps.invert === this.invert))\n return this;\n\n const intensity = changedProps?.intensity ?? this.intensity;\n const invert = changedProps?.invert ?? this.invert;\n return FresnelSettings.fromJSON({ intensity, invert });\n }\n\n /** Return true if these settings are equivalent to `rhs`. */\n public equals(rhs: FresnelSettings): boolean {\n return this === rhs || (this.intensity === rhs.intensity && this.invert === rhs.invert);\n }\n}\n\n/** Wire format for a [[LightSettings]] describing lighting for a 3d scene.\n * 3d lighting provides the following lights, all of which are optional:\n * - A \"portrait\" light affixed to the camera and pointing directly forward into the scene. Color: white.\n * - A second directional light. Color: white.\n * - This can be a solar shadow-casting light, or (when shadows are disabled) a roughly overhead light oriented in view space.\n * - A pair of hemisphere lights pointing in opposite directions along the world Z axis. Each has its own customizable color.\n * - An ambient light of any color applied equally to all surfaces.\n * Specular intensity of all lights is controlled separately.\n * Light intensities are typically expressed in [0..1] but can be as large as 5.\n * @see [[DisplayStyle3dSettingsProps]]\n * @public\n * @extensions\n */\nexport interface LightSettingsProps {\n /** A white portrait light affixed to the camera and pointing directly forward into the scene. */\n portrait?: {\n /** Intensity, typically in [0..1], maximum 5. Default: 0.3. */\n intensity?: number;\n };\n /** Solar light settings. */\n solar?: SolarLightProps;\n /** Hemisphere light settings. */\n hemisphere?: HemisphereLightsProps;\n /** Ambient light settings. */\n ambient?: AmbientLightProps;\n /** Specular intensity applied to all lights. */\n specularIntensity?: number;\n /** Applies a [cel-shaded](https://en.wikipedia.org/wiki/Cel_shading) effect. If greater than zero, specifies the number of cels. Continuous lighting intensities\n * are computed, then quantized to the specified number of cels. Values greater than 254 have no visible effect.\n * Typically a value of 2 is appropriate if specular intensity is close to zero; 3 if specular intensity is larger.\n * Cel-shading is often combined with thick, dark visible edges for a cartoon or comic book effect.\n * Default: 0\n */\n numCels?: number;\n\n /** Fresnel settings.\n * @see [[FresnelSettings]].\n */\n fresnel?: FresnelSettingsProps;\n}\n\n/** Describes the lighting for a 3d scene, associated with a [[DisplayStyle3dSettings]] in turn associated with a [DisplayStyle3d]($backend) or [DisplayStyle3dState]($frontend).\n * @see [[LightSettingsProps]]\n * @public\n */\nexport class LightSettings {\n public readonly solar: SolarLight;\n public readonly ambient: AmbientLight;\n public readonly hemisphere: HemisphereLights;\n /** See [[LightSettingsProps.portrait]]. */\n public readonly portraitIntensity: number;\n public readonly specularIntensity: number;\n /** See [[LightSettingsProps.numCels]]. */\n public readonly numCels: number;\n public readonly fresnel: FresnelSettings;\n\n private constructor(solar: SolarLight, ambient: AmbientLight, hemisphere: HemisphereLights, portraitIntensity: number, specularIntensity: number, numCels: number,\n fresnel: FresnelSettings) {\n this.solar = solar;\n this.ambient = ambient;\n this.hemisphere = hemisphere;\n this.portraitIntensity = portraitIntensity;\n this.specularIntensity = specularIntensity;\n this.numCels = numCels;\n this.fresnel = fresnel;\n }\n\n public static fromJSON(props?: LightSettingsProps): LightSettings {\n const solar = new SolarLight(props?.solar);\n const ambient = new AmbientLight(props?.ambient);\n const hemisphere = new HemisphereLights(props?.hemisphere);\n const portraitIntensity = extractIntensity(props?.portrait?.intensity, 0.3);\n const specularIntensity = extractIntensity(props?.specularIntensity, 1.0);\n const numCels = JsonUtils.asInt(props?.numCels, 0);\n const fresnel = FresnelSettings.fromJSON(props?.fresnel);\n\n return new LightSettings(solar, ambient, hemisphere, portraitIntensity, specularIntensity, numCels, fresnel);\n }\n\n public toJSON(): LightSettingsProps | undefined {\n const solar = this.solar.toJSON();\n const ambient = this.ambient.toJSON();\n const hemisphere = this.hemisphere.toJSON();\n const portrait = 0.3 !== this.portraitIntensity ? { intensity: this.portraitIntensity } : undefined;\n const specularIntensity = 1 !== this.specularIntensity ? this.specularIntensity : undefined;\n const numCels = 0 !== this.numCels ? this.numCels : undefined;\n const fresnel = this.fresnel.toJSON();\n\n if (!solar && !ambient && !hemisphere && !portrait && undefined === specularIntensity && undefined === numCels && undefined === fresnel)\n return undefined;\n\n const json: LightSettingsProps = {};\n if (solar)\n json.solar = solar;\n\n if (ambient)\n json.ambient = ambient;\n\n if (hemisphere)\n json.hemisphere = hemisphere;\n\n if (portrait)\n json.portrait = portrait;\n\n if (undefined !== specularIntensity)\n json.specularIntensity = specularIntensity;\n\n if (undefined !== numCels)\n json.numCels = numCels;\n\n if (fresnel)\n json.fresnel = fresnel;\n\n return json;\n }\n\n /** Create a copy of these light settings, identical except for any properties explicitly specified by `changed`.\n * Note that the solar, ambient, and hemisphere lights will also be cloned using their own `clone` methods - so for example, the following:\n * ` clone({ ambient: { intensity: 0.5 } })`\n * will overwrite the ambient light's intensity but preserve its current color, rather than replacing the color with the default color.\n */\n public clone(changed?: LightSettingsProps): LightSettings {\n if (!changed)\n return this;\n\n const solar = this.solar.clone(changed.solar);\n const ambient = this.ambient.clone(changed.ambient);\n const hemisphere = this.hemisphere.clone(changed.hemisphere);\n const portrait = changed.portrait?.intensity ?? this.portraitIntensity;\n const specular = changed.specularIntensity ?? this.specularIntensity;\n const numCels = changed.numCels ?? this.numCels;\n const fresnel = this.fresnel.clone(changed.fresnel);\n\n return new LightSettings(solar, ambient, hemisphere, portrait, specular, numCels, fresnel);\n }\n\n public equals(rhs: LightSettings): boolean {\n if (this === rhs)\n return true;\n\n return this.portraitIntensity === rhs.portraitIntensity && this.specularIntensity === rhs.specularIntensity && this.numCels === rhs.numCels\n && this.ambient.equals(rhs.ambient) && this.solar.equals(rhs.solar) && this.hemisphere.equals(rhs.hemisphere) && this.fresnel.equals(rhs.fresnel);\n }\n}\n"]}
@@ -1,35 +1,35 @@
1
- /** @packageDocumentation
2
- * @module Symbology
3
- */
4
- /** Enumerates the available patterns for drawing patterned lines.
5
- * Each is a 32-bit pattern in which each bit specifies the on- or off-state of a pixel along the line. The pattern repeats along the length of the entire line.
6
- * @public
7
- * @extensions
8
- */
9
- export declare enum LinePixels {
10
- /** A solid line. */
11
- Solid = 0,
12
- /** A solid line. */
13
- Code0 = 0,
14
- /** 1 lit pixel followed by 7 unlit pixels: =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= */
15
- Code1 = 2155905152,
16
- /** 5 lit pixels followed by 3 unlit pixels: =====&nbsp;&nbsp;&nbsp;=====&nbsp;&nbsp;&nbsp;===== */
17
- Code2 = 4177066232,
18
- /** 11 lit pixels followed by 5 unlit pixels: ===========&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=========== */
19
- Code3 = 4292935648,
20
- /** 7 lit pixels followed by 4 unlit pixels followed by 1 lit pixel followed by 1 lit pixel: =======&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;=======&nbsp;&nbsp;&nbsp;&nbsp;= */
21
- Code4 = 4262526480,
22
- /** 3 lit pixels followed by 5 unlit pixels: ===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=== */
23
- Code5 = 3772834016,
24
- /** 5 lit pixels followed by 3 unlit followed by 1 lit followed by 3 unlit followed by 1 lit followed by 3 unlit: =====&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;===== */
25
- Code6 = 4169726088,
26
- /** 8 lit pixels followed by 3 unlit followed by 2 lit followed by 3 unlit: ========&nbsp;&nbsp;&nbsp;==&nbsp;&nbsp;&nbsp;======== */
27
- Code7 = 4279828248,
28
- /** 2 lit pixels followed by 2 unlit pixels - default style for drawing hidden edges: ==&nbsp;&nbsp;==&nbsp;&nbsp;==&nbsp;&nbsp;== */
29
- HiddenLine = 3435973836,
30
- /** Barely visible - 1 lit pixel followed by 31 unlit pixels. */
31
- Invisible = 1,
32
- /** Indicates no valid line style or none specified, depending on context. */
33
- Invalid = -1
34
- }
1
+ /** @packageDocumentation
2
+ * @module Symbology
3
+ */
4
+ /** Enumerates the available patterns for drawing patterned lines.
5
+ * Each is a 32-bit pattern in which each bit specifies the on- or off-state of a pixel along the line. The pattern repeats along the length of the entire line.
6
+ * @public
7
+ * @extensions
8
+ */
9
+ export declare enum LinePixels {
10
+ /** A solid line. */
11
+ Solid = 0,
12
+ /** A solid line. */
13
+ Code0 = 0,
14
+ /** 1 lit pixel followed by 7 unlit pixels: =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= */
15
+ Code1 = 2155905152,
16
+ /** 5 lit pixels followed by 3 unlit pixels: =====&nbsp;&nbsp;&nbsp;=====&nbsp;&nbsp;&nbsp;===== */
17
+ Code2 = 4177066232,
18
+ /** 11 lit pixels followed by 5 unlit pixels: ===========&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=========== */
19
+ Code3 = 4292935648,
20
+ /** 7 lit pixels followed by 4 unlit pixels followed by 1 lit pixel followed by 1 lit pixel: =======&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;=======&nbsp;&nbsp;&nbsp;&nbsp;= */
21
+ Code4 = 4262526480,
22
+ /** 3 lit pixels followed by 5 unlit pixels: ===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=== */
23
+ Code5 = 3772834016,
24
+ /** 5 lit pixels followed by 3 unlit followed by 1 lit followed by 3 unlit followed by 1 lit followed by 3 unlit: =====&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;===== */
25
+ Code6 = 4169726088,
26
+ /** 8 lit pixels followed by 3 unlit followed by 2 lit followed by 3 unlit: ========&nbsp;&nbsp;&nbsp;==&nbsp;&nbsp;&nbsp;======== */
27
+ Code7 = 4279828248,
28
+ /** 2 lit pixels followed by 2 unlit pixels - default style for drawing hidden edges: ==&nbsp;&nbsp;==&nbsp;&nbsp;==&nbsp;&nbsp;== */
29
+ HiddenLine = 3435973836,
30
+ /** Barely visible - 1 lit pixel followed by 31 unlit pixels. */
31
+ Invisible = 1,
32
+ /** Indicates no valid line style or none specified, depending on context. */
33
+ Invalid = -1
34
+ }
35
35
  //# sourceMappingURL=LinePixels.d.ts.map
@@ -1,40 +1,40 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Symbology
7
- */
8
- /** Enumerates the available patterns for drawing patterned lines.
9
- * Each is a 32-bit pattern in which each bit specifies the on- or off-state of a pixel along the line. The pattern repeats along the length of the entire line.
10
- * @public
11
- * @extensions
12
- */
13
- export var LinePixels;
14
- (function (LinePixels) {
15
- /** A solid line. */
16
- LinePixels[LinePixels["Solid"] = 0] = "Solid";
17
- /** A solid line. */
18
- LinePixels[LinePixels["Code0"] = 0] = "Code0";
19
- /** 1 lit pixel followed by 7 unlit pixels: =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= */
20
- LinePixels[LinePixels["Code1"] = 2155905152] = "Code1";
21
- /** 5 lit pixels followed by 3 unlit pixels: =====&nbsp;&nbsp;&nbsp;=====&nbsp;&nbsp;&nbsp;===== */
22
- LinePixels[LinePixels["Code2"] = 4177066232] = "Code2";
23
- /** 11 lit pixels followed by 5 unlit pixels: ===========&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=========== */
24
- LinePixels[LinePixels["Code3"] = 4292935648] = "Code3";
25
- /** 7 lit pixels followed by 4 unlit pixels followed by 1 lit pixel followed by 1 lit pixel: =======&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;=======&nbsp;&nbsp;&nbsp;&nbsp;= */
26
- LinePixels[LinePixels["Code4"] = 4262526480] = "Code4";
27
- /** 3 lit pixels followed by 5 unlit pixels: ===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=== */
28
- LinePixels[LinePixels["Code5"] = 3772834016] = "Code5";
29
- /** 5 lit pixels followed by 3 unlit followed by 1 lit followed by 3 unlit followed by 1 lit followed by 3 unlit: =====&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;===== */
30
- LinePixels[LinePixels["Code6"] = 4169726088] = "Code6";
31
- /** 8 lit pixels followed by 3 unlit followed by 2 lit followed by 3 unlit: ========&nbsp;&nbsp;&nbsp;==&nbsp;&nbsp;&nbsp;======== */
32
- LinePixels[LinePixels["Code7"] = 4279828248] = "Code7";
33
- /** 2 lit pixels followed by 2 unlit pixels - default style for drawing hidden edges: ==&nbsp;&nbsp;==&nbsp;&nbsp;==&nbsp;&nbsp;== */
34
- LinePixels[LinePixels["HiddenLine"] = 3435973836] = "HiddenLine";
35
- /** Barely visible - 1 lit pixel followed by 31 unlit pixels. */
36
- LinePixels[LinePixels["Invisible"] = 1] = "Invisible";
37
- /** Indicates no valid line style or none specified, depending on context. */
38
- LinePixels[LinePixels["Invalid"] = -1] = "Invalid";
39
- })(LinePixels || (LinePixels = {}));
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Symbology
7
+ */
8
+ /** Enumerates the available patterns for drawing patterned lines.
9
+ * Each is a 32-bit pattern in which each bit specifies the on- or off-state of a pixel along the line. The pattern repeats along the length of the entire line.
10
+ * @public
11
+ * @extensions
12
+ */
13
+ export var LinePixels;
14
+ (function (LinePixels) {
15
+ /** A solid line. */
16
+ LinePixels[LinePixels["Solid"] = 0] = "Solid";
17
+ /** A solid line. */
18
+ LinePixels[LinePixels["Code0"] = 0] = "Code0";
19
+ /** 1 lit pixel followed by 7 unlit pixels: =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= */
20
+ LinePixels[LinePixels["Code1"] = 2155905152] = "Code1";
21
+ /** 5 lit pixels followed by 3 unlit pixels: =====&nbsp;&nbsp;&nbsp;=====&nbsp;&nbsp;&nbsp;===== */
22
+ LinePixels[LinePixels["Code2"] = 4177066232] = "Code2";
23
+ /** 11 lit pixels followed by 5 unlit pixels: ===========&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=========== */
24
+ LinePixels[LinePixels["Code3"] = 4292935648] = "Code3";
25
+ /** 7 lit pixels followed by 4 unlit pixels followed by 1 lit pixel followed by 1 lit pixel: =======&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;=======&nbsp;&nbsp;&nbsp;&nbsp;= */
26
+ LinePixels[LinePixels["Code4"] = 4262526480] = "Code4";
27
+ /** 3 lit pixels followed by 5 unlit pixels: ===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=== */
28
+ LinePixels[LinePixels["Code5"] = 3772834016] = "Code5";
29
+ /** 5 lit pixels followed by 3 unlit followed by 1 lit followed by 3 unlit followed by 1 lit followed by 3 unlit: =====&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;===== */
30
+ LinePixels[LinePixels["Code6"] = 4169726088] = "Code6";
31
+ /** 8 lit pixels followed by 3 unlit followed by 2 lit followed by 3 unlit: ========&nbsp;&nbsp;&nbsp;==&nbsp;&nbsp;&nbsp;======== */
32
+ LinePixels[LinePixels["Code7"] = 4279828248] = "Code7";
33
+ /** 2 lit pixels followed by 2 unlit pixels - default style for drawing hidden edges: ==&nbsp;&nbsp;==&nbsp;&nbsp;==&nbsp;&nbsp;== */
34
+ LinePixels[LinePixels["HiddenLine"] = 3435973836] = "HiddenLine";
35
+ /** Barely visible - 1 lit pixel followed by 31 unlit pixels. */
36
+ LinePixels[LinePixels["Invisible"] = 1] = "Invisible";
37
+ /** Indicates no valid line style or none specified, depending on context. */
38
+ LinePixels[LinePixels["Invalid"] = -1] = "Invalid";
39
+ })(LinePixels || (LinePixels = {}));
40
40
  //# sourceMappingURL=LinePixels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinePixels.js","sourceRoot":"","sources":["../../src/LinePixels.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;;;GAIG;AACH,MAAM,CAAN,IAAY,UAyBX;AAzBD,WAAY,UAAU;IACpB,oBAAoB;IACpB,6CAAS,CAAA;IACT,oBAAoB;IACpB,6CAAa,CAAA;IACb,sIAAsI;IACtI,sDAAkB,CAAA;IAClB,mGAAmG;IACnG,sDAAkB,CAAA;IAClB,qGAAqG;IACrG,sDAAkB,CAAA;IAClB,wLAAwL;IACxL,sDAAkB,CAAA;IAClB,qHAAqH;IACrH,sDAAkB,CAAA;IAClB,uLAAuL;IACvL,sDAAkB,CAAA;IAClB,qIAAqI;IACrI,sDAAkB,CAAA;IAClB,qIAAqI;IACrI,gEAAuB,CAAA;IACvB,gEAAgE;IAChE,qDAAsB,CAAA;IACtB,6EAA6E;IAC7E,kDAAY,CAAA;AACd,CAAC,EAzBW,UAAU,KAAV,UAAU,QAyBrB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Symbology\r\n */\r\n\r\n/** Enumerates the available patterns for drawing patterned lines.\r\n * Each is a 32-bit pattern in which each bit specifies the on- or off-state of a pixel along the line. The pattern repeats along the length of the entire line.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum LinePixels {\r\n /** A solid line. */\r\n Solid = 0,\r\n /** A solid line. */\r\n Code0 = Solid,\r\n /** 1 lit pixel followed by 7 unlit pixels: =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= */\r\n Code1 = 0x80808080,\r\n /** 5 lit pixels followed by 3 unlit pixels: =====&nbsp;&nbsp;&nbsp;=====&nbsp;&nbsp;&nbsp;===== */\r\n Code2 = 0xf8f8f8f8,\r\n /** 11 lit pixels followed by 5 unlit pixels: ===========&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=========== */\r\n Code3 = 0xffe0ffe0,\r\n /** 7 lit pixels followed by 4 unlit pixels followed by 1 lit pixel followed by 1 lit pixel: =======&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;=======&nbsp;&nbsp;&nbsp;&nbsp;= */\r\n Code4 = 0xfe10fe10,\r\n /** 3 lit pixels followed by 5 unlit pixels: ===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=== */\r\n Code5 = 0xe0e0e0e0,\r\n /** 5 lit pixels followed by 3 unlit followed by 1 lit followed by 3 unlit followed by 1 lit followed by 3 unlit: =====&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;===== */\r\n Code6 = 0xf888f888,\r\n /** 8 lit pixels followed by 3 unlit followed by 2 lit followed by 3 unlit: ========&nbsp;&nbsp;&nbsp;==&nbsp;&nbsp;&nbsp;======== */\r\n Code7 = 0xff18ff18,\r\n /** 2 lit pixels followed by 2 unlit pixels - default style for drawing hidden edges: ==&nbsp;&nbsp;==&nbsp;&nbsp;==&nbsp;&nbsp;== */\r\n HiddenLine = 0xcccccccc,\r\n /** Barely visible - 1 lit pixel followed by 31 unlit pixels. */\r\n Invisible = 0x00000001,\r\n /** Indicates no valid line style or none specified, depending on context. */\r\n Invalid = -1,\r\n}\r\n"]}
1
+ {"version":3,"file":"LinePixels.js","sourceRoot":"","sources":["../../src/LinePixels.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;;;GAIG;AACH,MAAM,CAAN,IAAY,UAyBX;AAzBD,WAAY,UAAU;IACpB,oBAAoB;IACpB,6CAAS,CAAA;IACT,oBAAoB;IACpB,6CAAa,CAAA;IACb,sIAAsI;IACtI,sDAAkB,CAAA;IAClB,mGAAmG;IACnG,sDAAkB,CAAA;IAClB,qGAAqG;IACrG,sDAAkB,CAAA;IAClB,wLAAwL;IACxL,sDAAkB,CAAA;IAClB,qHAAqH;IACrH,sDAAkB,CAAA;IAClB,uLAAuL;IACvL,sDAAkB,CAAA;IAClB,qIAAqI;IACrI,sDAAkB,CAAA;IAClB,qIAAqI;IACrI,gEAAuB,CAAA;IACvB,gEAAgE;IAChE,qDAAsB,CAAA;IACtB,6EAA6E;IAC7E,kDAAY,CAAA;AACd,CAAC,EAzBW,UAAU,KAAV,UAAU,QAyBrB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Symbology\n */\n\n/** Enumerates the available patterns for drawing patterned lines.\n * Each is a 32-bit pattern in which each bit specifies the on- or off-state of a pixel along the line. The pattern repeats along the length of the entire line.\n * @public\n * @extensions\n */\nexport enum LinePixels {\n /** A solid line. */\n Solid = 0,\n /** A solid line. */\n Code0 = Solid,\n /** 1 lit pixel followed by 7 unlit pixels: =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= */\n Code1 = 0x80808080,\n /** 5 lit pixels followed by 3 unlit pixels: =====&nbsp;&nbsp;&nbsp;=====&nbsp;&nbsp;&nbsp;===== */\n Code2 = 0xf8f8f8f8,\n /** 11 lit pixels followed by 5 unlit pixels: ===========&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=========== */\n Code3 = 0xffe0ffe0,\n /** 7 lit pixels followed by 4 unlit pixels followed by 1 lit pixel followed by 1 lit pixel: =======&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;=======&nbsp;&nbsp;&nbsp;&nbsp;= */\n Code4 = 0xfe10fe10,\n /** 3 lit pixels followed by 5 unlit pixels: ===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=== */\n Code5 = 0xe0e0e0e0,\n /** 5 lit pixels followed by 3 unlit followed by 1 lit followed by 3 unlit followed by 1 lit followed by 3 unlit: =====&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;===== */\n Code6 = 0xf888f888,\n /** 8 lit pixels followed by 3 unlit followed by 2 lit followed by 3 unlit: ========&nbsp;&nbsp;&nbsp;==&nbsp;&nbsp;&nbsp;======== */\n Code7 = 0xff18ff18,\n /** 2 lit pixels followed by 2 unlit pixels - default style for drawing hidden edges: ==&nbsp;&nbsp;==&nbsp;&nbsp;==&nbsp;&nbsp;== */\n HiddenLine = 0xcccccccc,\n /** Barely visible - 1 lit pixel followed by 31 unlit pixels. */\n Invisible = 0x00000001,\n /** Indicates no valid line style or none specified, depending on context. */\n Invalid = -1,\n}\n"]}
@@ -1,113 +1,112 @@
1
- /** @packageDocumentation
2
- * @module Localization
3
- */
4
- /** Options for Localization
5
- * @public
6
- */
7
- interface LocalizationOptions {
8
- /** for interpolation values */
9
- [key: string]: any;
10
- /**
11
- * defaultValue to return if a translation was not found
12
- */
13
- defaultValue?: any;
14
- /**
15
- * count value used for plurals
16
- */
17
- count?: number;
18
- /**
19
- * used for contexts (eg. male\female)
20
- */
21
- context?: any;
22
- /**
23
- * override languages to use
24
- */
25
- lngs?: string[];
26
- /**
27
- * override language to lookup key if not found see fallbacks for details
28
- */
29
- fallbackLng?: string;
30
- }
31
- /** The interface defining the localization requirements of [IModelApp]($frontend).
32
- * @public
33
- * @extensions
34
- */
35
- export interface Localization {
36
- /** This method must be called and awaited before using an instance of Localization.
37
- * @param namespaces an array of namespaces to load. There must be at least one namespace, and it
38
- * becomes the default namespace.
39
- * @note IModelApp.startup calls this internally, so you should not call this method directly
40
- * except for Localization instances outside of IModelApp (e.g., for tests.)
41
- */
42
- initialize(namespaces: string[]): Promise<void>;
43
- /** Return the translated value of a key.
44
- * @param key - the key that matches a property in the JSON localization file.
45
- * @note The key includes the namespace, which identifies the particular localization file that contains the property,
46
- * followed by a colon, followed by the property in the JSON file.
47
- * For example:
48
- * ``` ts
49
- * const dataString: string = IModelApp.localization.getLocalizedString("iModelJs:BackgroundMap.BingDataAttribution");
50
- * ```
51
- * assigns to dataString the string with property BackgroundMap.BingDataAttribution from the iModelJs.json localization file.
52
- * @returns The string corresponding to the first key that resolves.
53
- * @throws Error if no keys resolve to a string.
54
- */
55
- getLocalizedString(key: string | string[], options?: LocalizationOptions): string;
56
- /** Similar to `getLocalizedString` but the namespace is a separate param and the key does not include the namespace.
57
- * @param namespace - the namespace that identifies the particular localization file that contains the property.
58
- * @param key - the key that matches a property in the JSON localization file.
59
- * @returns The string corresponding to the first key that resolves.
60
- * @throws Error if no keys resolve to a string.
61
- */
62
- getLocalizedStringWithNamespace(namespace: string, key: string | string[], options?: LocalizationOptions): string;
63
- /** get the English string for a key. */
64
- getEnglishString(namespace: string, key: string | string[], options?: LocalizationOptions): string;
65
- /** Replace all instances of `%{key}` within a string with the translations of those keys.
66
- * For example:
67
- * ``` ts
68
- * "MyKeys": {
69
- * "Key1": "First value",
70
- * "Key2": "Second value"
71
- * }
72
- * ```
73
- *
74
- * ``` ts
75
- * getLocalizedKeys("string with %{MyKeys.Key1} followed by %{MyKeys.Key2}!"") // returns "string with First Value followed by Second Value!"
76
- * ```
77
- */
78
- getLocalizedKeys(inputString: string): string;
79
- /** Register a new Namespace and return a Promise that is fulfilled when the content is loaded.
80
- * If the namespace is already registered, its Promise will be returned.
81
- * @param name - the name of the namespace.
82
- * @note - The registerNamespace method starts fetching the appropriate version of the JSON localization file from the server,
83
- * based on the current locale. To make sure that fetch is complete before performing translations from this namespace, await
84
- * fulfillment of returned Promise.
85
- * @see [Localization in iTwin.js]($docs/learning/frontend/Localization.md)
86
- */
87
- registerNamespace(namespace: string): Promise<void>;
88
- /** @internal */
89
- unregisterNamespace(namespace: string): void;
90
- /** @internal */
91
- getNamespacePromise(name: string): Promise<void> | undefined;
92
- /** Get the list of available languages for translations */
93
- getLanguageList(): readonly string[];
94
- /** Change the language for translations. This overrides the language from the browser, for tests. */
95
- changeLanguage(language: string): Promise<void>;
96
- }
97
- /** An empty [[Localization]] used if one is not provided to [IModelApp]($frontend). Does not perform localizations (merely returns the key.)
98
- * @public
99
- */
100
- export declare class EmptyLocalization implements Localization {
101
- initialize(): Promise<void>;
102
- getLocalizedString(key: string | string[]): string;
103
- getLocalizedStringWithNamespace(_namespace: string, key: string | string[]): string;
104
- getEnglishString(_namespace: string, key: string | string[]): string;
105
- getLocalizedKeys(inputString: string): string;
106
- registerNamespace(): Promise<void>;
107
- unregisterNamespace(): void;
108
- getNamespacePromise(): Promise<void> | undefined;
109
- getLanguageList(): readonly string[];
110
- changeLanguage(): Promise<void>;
111
- }
112
- export {};
1
+ /** @packageDocumentation
2
+ * @module Localization
3
+ */
4
+ /** Options for Localization
5
+ * @public
6
+ */
7
+ export interface TranslationOptions {
8
+ /** for interpolation values */
9
+ [key: string]: any;
10
+ /**
11
+ * defaultValue to return if a translation was not found
12
+ */
13
+ defaultValue?: any;
14
+ /**
15
+ * count value used for plurals
16
+ */
17
+ count?: number;
18
+ /**
19
+ * used for contexts (eg. male\female)
20
+ */
21
+ context?: any;
22
+ /**
23
+ * override languages to use
24
+ */
25
+ lngs?: string[];
26
+ /**
27
+ * override language to lookup key if not found see fallbacks for details
28
+ */
29
+ fallbackLng?: string;
30
+ }
31
+ /** The interface defining the localization requirements of [IModelApp]($frontend).
32
+ * @public
33
+ * @extensions
34
+ */
35
+ export interface Localization {
36
+ /** This method must be called and awaited before using an instance of Localization.
37
+ * @param namespaces an array of namespaces to load. There must be at least one namespace, and it
38
+ * becomes the default namespace.
39
+ * @note IModelApp.startup calls this internally, so you should not call this method directly
40
+ * except for Localization instances outside of IModelApp (e.g., for tests.)
41
+ */
42
+ initialize(namespaces: string[]): Promise<void>;
43
+ /** Return the translated value of a key.
44
+ * @param key - the key that matches a property in the JSON localization file.
45
+ * @note The key includes the namespace, which identifies the particular localization file that contains the property,
46
+ * followed by a colon, followed by the property in the JSON file.
47
+ * For example:
48
+ * ``` ts
49
+ * const dataString: string = IModelApp.localization.getLocalizedString("iModelJs:BackgroundMap.BingDataAttribution");
50
+ * ```
51
+ * assigns to dataString the string with property BackgroundMap.BingDataAttribution from the iModelJs.json localization file.
52
+ * @returns The string corresponding to the first key that resolves.
53
+ * @throws Error if no keys resolve to a string.
54
+ */
55
+ getLocalizedString(key: string | string[], options?: TranslationOptions): string;
56
+ /** Similar to `getLocalizedString` but the namespace is a separate param and the key does not include the namespace.
57
+ * @param namespace - the namespace that identifies the particular localization file that contains the property.
58
+ * @param key - the key that matches a property in the JSON localization file.
59
+ * @returns The string corresponding to the first key that resolves.
60
+ * @throws Error if no keys resolve to a string.
61
+ */
62
+ getLocalizedStringWithNamespace(namespace: string, key: string | string[], options?: TranslationOptions): string;
63
+ /** get the English string for a key. */
64
+ getEnglishString(namespace: string, key: string | string[], options?: TranslationOptions): string;
65
+ /** Replace all instances of `%{key}` within a string with the translations of those keys.
66
+ * For example:
67
+ * ``` ts
68
+ * "MyKeys": {
69
+ * "Key1": "First value",
70
+ * "Key2": "Second value"
71
+ * }
72
+ * ```
73
+ *
74
+ * ``` ts
75
+ * getLocalizedKeys("string with %{MyKeys.Key1} followed by %{MyKeys.Key2}!"") // returns "string with First Value followed by Second Value!"
76
+ * ```
77
+ */
78
+ getLocalizedKeys(inputString: string): string;
79
+ /** Register a new Namespace and return a Promise that is fulfilled when the content is loaded.
80
+ * If the namespace is already registered, its Promise will be returned.
81
+ * @param name - the name of the namespace.
82
+ * @note - The registerNamespace method starts fetching the appropriate version of the JSON localization file from the server,
83
+ * based on the current locale. To make sure that fetch is complete before performing translations from this namespace, await
84
+ * fulfillment of returned Promise.
85
+ * @see [Localization in iTwin.js]($docs/learning/frontend/Localization.md)
86
+ */
87
+ registerNamespace(namespace: string): Promise<void>;
88
+ /** @internal */
89
+ unregisterNamespace(namespace: string): void;
90
+ /** @internal */
91
+ getNamespacePromise(name: string): Promise<void> | undefined;
92
+ /** Get the list of available languages for translations */
93
+ getLanguageList(): readonly string[];
94
+ /** Change the language for translations. This overrides the language from the browser, for tests. */
95
+ changeLanguage(language: string): Promise<void>;
96
+ }
97
+ /** An empty [[Localization]] used if one is not provided to [IModelApp]($frontend). Does not perform localizations (merely returns the key.)
98
+ * @public
99
+ */
100
+ export declare class EmptyLocalization implements Localization {
101
+ initialize(): Promise<void>;
102
+ getLocalizedString(key: string | string[]): string;
103
+ getLocalizedStringWithNamespace(_namespace: string, key: string | string[]): string;
104
+ getEnglishString(_namespace: string, key: string | string[]): string;
105
+ getLocalizedKeys(inputString: string): string;
106
+ registerNamespace(): Promise<void>;
107
+ unregisterNamespace(): void;
108
+ getNamespacePromise(): Promise<void> | undefined;
109
+ getLanguageList(): readonly string[];
110
+ changeLanguage(): Promise<void>;
111
+ }
113
112
  //# sourceMappingURL=Localization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Localization.d.ts","sourceRoot":"","sources":["../../src/Localization.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,UAAU,mBAAmB;IAC3B,+BAA+B;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC;IAClF;;;;;OAKG;IACH,+BAA+B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC;IAClH,wCAAwC;IACxC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC;IACnG;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9C;;;;;;;OAOG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,gBAAgB;IAChB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,gBAAgB;IAChB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7D,2DAA2D;IAC3D,eAAe,IAAI,SAAS,MAAM,EAAE,CAAC;IACrC,qGAAqG;IACrG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACjC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM;IAClD,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM;IACnF,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM;IACpE,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IACvC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IACxC,mBAAmB,IAAI,IAAI;IAC3B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS;IAChD,eAAe,IAAI,SAAS,MAAM,EAAE;IAC9B,cAAc;CAC5B"}
1
+ {"version":3,"file":"Localization.d.ts","sourceRoot":"","sources":["../../src/Localization.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IACjF;;;;;OAKG;IACH,+BAA+B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IACjH,wCAAwC;IACxC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAClG;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9C;;;;;;;OAOG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,gBAAgB;IAChB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,gBAAgB;IAChB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7D,2DAA2D;IAC3D,eAAe,IAAI,SAAS,MAAM,EAAE,CAAC;IACrC,qGAAqG;IACrG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACjC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM;IAClD,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM;IACnF,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM;IACpE,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IACvC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IACxC,mBAAmB,IAAI,IAAI;IAC3B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS;IAChD,eAAe,IAAI,SAAS,MAAM,EAAE;IAC9B,cAAc;CAC5B"}
@@ -1,23 +1,23 @@
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 Localization
7
- */
8
- /** An empty [[Localization]] used if one is not provided to [IModelApp]($frontend). Does not perform localizations (merely returns the key.)
9
- * @public
10
- */
11
- export class EmptyLocalization {
12
- async initialize() { }
13
- getLocalizedString(key) { return typeof (key) == "string" ? key : key[0]; }
14
- getLocalizedStringWithNamespace(_namespace, key) { return this.getLocalizedString(key); }
15
- getEnglishString(_namespace, key) { return this.getLocalizedString(key); }
16
- getLocalizedKeys(inputString) { return inputString; }
17
- async registerNamespace() { }
18
- unregisterNamespace() { }
19
- getNamespacePromise() { return undefined; }
20
- getLanguageList() { return []; }
21
- async changeLanguage() { }
22
- }
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 Localization
7
+ */
8
+ /** An empty [[Localization]] used if one is not provided to [IModelApp]($frontend). Does not perform localizations (merely returns the key.)
9
+ * @public
10
+ */
11
+ export class EmptyLocalization {
12
+ async initialize() { }
13
+ getLocalizedString(key) { return typeof (key) == "string" ? key : key[0]; }
14
+ getLocalizedStringWithNamespace(_namespace, key) { return this.getLocalizedString(key); }
15
+ getEnglishString(_namespace, key) { return this.getLocalizedString(key); }
16
+ getLocalizedKeys(inputString) { return inputString; }
17
+ async registerNamespace() { }
18
+ unregisterNamespace() { }
19
+ getNamespacePromise() { return undefined; }
20
+ getLanguageList() { return []; }
21
+ async changeLanguage() { }
22
+ }
23
23
  //# sourceMappingURL=Localization.js.map