@itwin/core-common 3.5.0-dev.16 → 3.5.0-dev.19

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 (930) hide show
  1. package/CHANGELOG.md +8 -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.js +62 -62
  28. package/lib/cjs/Camera.js.map +1 -1
  29. package/lib/cjs/ChangedElements.d.ts +83 -83
  30. package/lib/cjs/ChangedElements.js +21 -21
  31. package/lib/cjs/ChangedElements.js.map +1 -1
  32. package/lib/cjs/ChangedEntities.d.ts +45 -45
  33. package/lib/cjs/ChangedEntities.js +9 -9
  34. package/lib/cjs/ChangedEntities.js.map +1 -1
  35. package/lib/cjs/ChangesetProps.d.ts +98 -98
  36. package/lib/cjs/ChangesetProps.js +22 -22
  37. package/lib/cjs/ChangesetProps.js.map +1 -1
  38. package/lib/cjs/ClipStyle.d.ts +89 -89
  39. package/lib/cjs/ClipStyle.js +123 -123
  40. package/lib/cjs/ClipStyle.js.map +1 -1
  41. package/lib/cjs/CloudStorage.d.ts +62 -62
  42. package/lib/cjs/CloudStorage.js +113 -113
  43. package/lib/cjs/CloudStorage.js.map +1 -1
  44. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  45. package/lib/cjs/CloudStorageTileCache.js +66 -66
  46. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  47. package/lib/cjs/Code.d.ts +256 -256
  48. package/lib/cjs/Code.js +281 -281
  49. package/lib/cjs/Code.js.map +1 -1
  50. package/lib/cjs/ColorByName.d.ts +161 -161
  51. package/lib/cjs/ColorByName.js +169 -169
  52. package/lib/cjs/ColorByName.js.map +1 -1
  53. package/lib/cjs/ColorDef.d.ts +208 -208
  54. package/lib/cjs/ColorDef.js +571 -571
  55. package/lib/cjs/ColorDef.js.map +1 -1
  56. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  57. package/lib/cjs/CommonLoggerCategory.js +26 -26
  58. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  59. package/lib/cjs/ConcurrentQuery.d.ts +241 -241
  60. package/lib/cjs/ConcurrentQuery.js +380 -380
  61. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  62. package/lib/cjs/ContextRealityModel.d.ts +276 -276
  63. package/lib/cjs/ContextRealityModel.js +358 -358
  64. package/lib/cjs/ContextRealityModel.js.map +1 -1
  65. package/lib/cjs/DisplayStyleSettings.d.ts +584 -584
  66. package/lib/cjs/DisplayStyleSettings.js +981 -981
  67. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  68. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  69. package/lib/cjs/ECSchemaProps.js +9 -9
  70. package/lib/cjs/ECSchemaProps.js.map +1 -1
  71. package/lib/cjs/ECSqlReader.d.ts +70 -70
  72. package/lib/cjs/ECSqlReader.js +280 -280
  73. package/lib/cjs/ECSqlReader.js.map +1 -1
  74. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  75. package/lib/cjs/ECSqlTypes.js +189 -189
  76. package/lib/cjs/ECSqlTypes.js.map +1 -1
  77. package/lib/cjs/ElementProps.d.ts +476 -476
  78. package/lib/cjs/ElementProps.js +99 -99
  79. package/lib/cjs/ElementProps.js.map +1 -1
  80. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  81. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  82. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  83. package/lib/cjs/EntityProps.d.ts +176 -176
  84. package/lib/cjs/EntityProps.js +112 -112
  85. package/lib/cjs/EntityProps.js.map +1 -1
  86. package/lib/cjs/Environment.d.ts +61 -61
  87. package/lib/cjs/Environment.js +73 -73
  88. package/lib/cjs/Environment.js.map +1 -1
  89. package/lib/cjs/FeatureGates.d.ts +31 -31
  90. package/lib/cjs/FeatureGates.js +55 -55
  91. package/lib/cjs/FeatureGates.js.map +1 -1
  92. package/lib/cjs/FeatureIndex.d.ts +39 -39
  93. package/lib/cjs/FeatureIndex.js +63 -63
  94. package/lib/cjs/FeatureIndex.js.map +1 -1
  95. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  96. package/lib/cjs/FeatureSymbology.js +614 -614
  97. package/lib/cjs/FeatureSymbology.js.map +1 -1
  98. package/lib/cjs/FeatureTable.d.ts +141 -141
  99. package/lib/cjs/FeatureTable.js +278 -278
  100. package/lib/cjs/FeatureTable.js.map +1 -1
  101. package/lib/cjs/Fonts.d.ts +51 -51
  102. package/lib/cjs/Fonts.js +53 -53
  103. package/lib/cjs/Fonts.js.map +1 -1
  104. package/lib/cjs/Frustum.d.ts +114 -114
  105. package/lib/cjs/Frustum.js +292 -292
  106. package/lib/cjs/Frustum.js.map +1 -1
  107. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  108. package/lib/cjs/GeoCoordinateServices.js +80 -80
  109. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  110. package/lib/cjs/GeometryContainment.d.ts +28 -28
  111. package/lib/cjs/GeometryContainment.js +9 -9
  112. package/lib/cjs/GeometryContainment.js.map +1 -1
  113. package/lib/cjs/GeometryParams.d.ts +130 -130
  114. package/lib/cjs/GeometryParams.js +174 -174
  115. package/lib/cjs/GeometryParams.js.map +1 -1
  116. package/lib/cjs/GeometrySummary.d.ts +45 -45
  117. package/lib/cjs/GeometrySummary.js +23 -23
  118. package/lib/cjs/GeometrySummary.js.map +1 -1
  119. package/lib/cjs/Gradient.d.ts +139 -139
  120. package/lib/cjs/Gradient.js +455 -455
  121. package/lib/cjs/Gradient.js.map +1 -1
  122. package/lib/cjs/GraphicParams.d.ts +58 -58
  123. package/lib/cjs/GraphicParams.js +85 -85
  124. package/lib/cjs/GraphicParams.js.map +1 -1
  125. package/lib/cjs/GroundPlane.d.ts +52 -52
  126. package/lib/cjs/GroundPlane.js +64 -64
  127. package/lib/cjs/GroundPlane.js.map +1 -1
  128. package/lib/cjs/HSLColor.d.ts +20 -20
  129. package/lib/cjs/HSLColor.js +32 -32
  130. package/lib/cjs/HSLColor.js.map +1 -1
  131. package/lib/cjs/HSVColor.d.ts +30 -30
  132. package/lib/cjs/HSVColor.js +59 -59
  133. package/lib/cjs/HSVColor.js.map +1 -1
  134. package/lib/cjs/HiddenLine.d.ts +97 -97
  135. package/lib/cjs/HiddenLine.js +162 -162
  136. package/lib/cjs/HiddenLine.js.map +1 -1
  137. package/lib/cjs/Hilite.d.ts +50 -50
  138. package/lib/cjs/Hilite.js +64 -64
  139. package/lib/cjs/Hilite.js.map +1 -1
  140. package/lib/cjs/IModel.d.ts +359 -359
  141. package/lib/cjs/IModel.js +347 -347
  142. package/lib/cjs/IModel.js.map +1 -1
  143. package/lib/cjs/IModelError.d.ts +36 -36
  144. package/lib/cjs/IModelError.js +72 -72
  145. package/lib/cjs/IModelError.js.map +1 -1
  146. package/lib/cjs/IModelVersion.d.ts +68 -68
  147. package/lib/cjs/IModelVersion.js +79 -79
  148. package/lib/cjs/IModelVersion.js.map +1 -1
  149. package/lib/cjs/Image.d.ts +86 -86
  150. package/lib/cjs/Image.js +128 -128
  151. package/lib/cjs/Image.js.map +1 -1
  152. package/lib/cjs/IpcAppProps.d.ts +124 -124
  153. package/lib/cjs/IpcAppProps.js +18 -18
  154. package/lib/cjs/IpcAppProps.js.map +1 -1
  155. package/lib/cjs/LightSettings.d.ts +224 -224
  156. package/lib/cjs/LightSettings.js +309 -309
  157. package/lib/cjs/LightSettings.js.map +1 -1
  158. package/lib/cjs/LinePixels.d.ts +34 -34
  159. package/lib/cjs/LinePixels.js +42 -42
  160. package/lib/cjs/LinePixels.js.map +1 -1
  161. package/lib/cjs/Localization.d.ts +111 -111
  162. package/lib/cjs/Localization.js +26 -26
  163. package/lib/cjs/Localization.js.map +1 -1
  164. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  165. package/lib/cjs/MapImagerySettings.js +80 -80
  166. package/lib/cjs/MapImagerySettings.js.map +1 -1
  167. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  168. package/lib/cjs/MapLayerSettings.js +411 -411
  169. package/lib/cjs/MapLayerSettings.js.map +1 -1
  170. package/lib/cjs/MassProperties.d.ts +64 -64
  171. package/lib/cjs/MassProperties.js +23 -23
  172. package/lib/cjs/MassProperties.js.map +1 -1
  173. package/lib/cjs/MaterialProps.d.ts +118 -118
  174. package/lib/cjs/MaterialProps.js +23 -23
  175. package/lib/cjs/MaterialProps.js.map +1 -1
  176. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  177. package/lib/cjs/ModelClipGroup.js +98 -98
  178. package/lib/cjs/ModelClipGroup.js.map +1 -1
  179. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  180. package/lib/cjs/ModelGeometryChanges.js +83 -83
  181. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  182. package/lib/cjs/ModelProps.d.ts +67 -67
  183. package/lib/cjs/ModelProps.js +9 -9
  184. package/lib/cjs/ModelProps.js.map +1 -1
  185. package/lib/cjs/NativeAppProps.d.ts +122 -122
  186. package/lib/cjs/NativeAppProps.js +30 -30
  187. package/lib/cjs/NativeAppProps.js.map +1 -1
  188. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  189. package/lib/cjs/OctEncodedNormal.js +98 -98
  190. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  191. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  192. package/lib/cjs/PlanProjectionSettings.js +63 -63
  193. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  194. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  195. package/lib/cjs/PlanarClipMask.js +136 -136
  196. package/lib/cjs/PlanarClipMask.js.map +1 -1
  197. package/lib/cjs/QPoint.d.ts +479 -479
  198. package/lib/cjs/QPoint.js +826 -826
  199. package/lib/cjs/QPoint.js.map +1 -1
  200. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  201. package/lib/cjs/RealityDataAccessProps.js +19 -19
  202. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  203. package/lib/cjs/RealityModelDisplaySettings.d.ts +118 -118
  204. package/lib/cjs/RealityModelDisplaySettings.js +114 -114
  205. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  206. package/lib/cjs/Render.d.ts +89 -89
  207. package/lib/cjs/Render.js +177 -177
  208. package/lib/cjs/Render.js.map +1 -1
  209. package/lib/cjs/RenderMaterial.d.ts +58 -58
  210. package/lib/cjs/RenderMaterial.js +76 -76
  211. package/lib/cjs/RenderMaterial.js.map +1 -1
  212. package/lib/cjs/RenderSchedule.d.ts +540 -540
  213. package/lib/cjs/RenderSchedule.js +1000 -1000
  214. package/lib/cjs/RenderTexture.d.ts +70 -70
  215. package/lib/cjs/RenderTexture.js +59 -59
  216. package/lib/cjs/RenderTexture.js.map +1 -1
  217. package/lib/cjs/RgbColor.d.ts +47 -47
  218. package/lib/cjs/RgbColor.js +77 -77
  219. package/lib/cjs/RgbColor.js.map +1 -1
  220. package/lib/cjs/RpcInterface.d.ts +33 -33
  221. package/lib/cjs/RpcInterface.js +137 -137
  222. package/lib/cjs/RpcInterface.js.map +1 -1
  223. package/lib/cjs/RpcManager.d.ts +40 -40
  224. package/lib/cjs/RpcManager.js +55 -55
  225. package/lib/cjs/RpcManager.js.map +1 -1
  226. package/lib/cjs/SessionProps.d.ts +16 -16
  227. package/lib/cjs/SessionProps.js +9 -9
  228. package/lib/cjs/SessionProps.js.map +1 -1
  229. package/lib/cjs/SkyBox.d.ts +215 -215
  230. package/lib/cjs/SkyBox.js +210 -210
  231. package/lib/cjs/SkyBox.js.map +1 -1
  232. package/lib/cjs/Snapping.d.ts +49 -49
  233. package/lib/cjs/Snapping.js +9 -9
  234. package/lib/cjs/Snapping.js.map +1 -1
  235. package/lib/cjs/SolarCalculate.d.ts +27 -27
  236. package/lib/cjs/SolarCalculate.js +211 -211
  237. package/lib/cjs/SolarCalculate.js.map +1 -1
  238. package/lib/cjs/SolarShadows.d.ts +35 -35
  239. package/lib/cjs/SolarShadows.js +62 -62
  240. package/lib/cjs/SolarShadows.js.map +1 -1
  241. package/lib/cjs/SpatialClassification.d.ts +208 -208
  242. package/lib/cjs/SpatialClassification.js +340 -340
  243. package/lib/cjs/SpatialClassification.js.map +1 -1
  244. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  245. package/lib/cjs/SubCategoryAppearance.js +96 -96
  246. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  247. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  248. package/lib/cjs/SubCategoryOverride.js +104 -104
  249. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  250. package/lib/cjs/TerrainSettings.d.ts +82 -82
  251. package/lib/cjs/TerrainSettings.js +102 -102
  252. package/lib/cjs/TerrainSettings.js.map +1 -1
  253. package/lib/cjs/TextureMapping.d.ts +101 -101
  254. package/lib/cjs/TextureMapping.js +174 -174
  255. package/lib/cjs/TextureMapping.js.map +1 -1
  256. package/lib/cjs/TextureProps.d.ts +65 -65
  257. package/lib/cjs/TextureProps.js +28 -28
  258. package/lib/cjs/TextureProps.js.map +1 -1
  259. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  260. package/lib/cjs/ThematicDisplay.js +344 -344
  261. package/lib/cjs/ThematicDisplay.js.map +1 -1
  262. package/lib/cjs/Thumbnail.d.ts +26 -26
  263. package/lib/cjs/Thumbnail.js +9 -9
  264. package/lib/cjs/Thumbnail.js.map +1 -1
  265. package/lib/cjs/TileProps.d.ts +82 -82
  266. package/lib/cjs/TileProps.js +29 -29
  267. package/lib/cjs/TileProps.js.map +1 -1
  268. package/lib/cjs/Tween.d.ts +191 -191
  269. package/lib/cjs/Tween.js +570 -570
  270. package/lib/cjs/Tween.js.map +1 -1
  271. package/lib/cjs/TxnAction.d.ts +21 -21
  272. package/lib/cjs/TxnAction.js +29 -29
  273. package/lib/cjs/TxnAction.js.map +1 -1
  274. package/lib/cjs/ViewDetails.d.ts +125 -125
  275. package/lib/cjs/ViewDetails.js +158 -158
  276. package/lib/cjs/ViewDetails.js.map +1 -1
  277. package/lib/cjs/ViewFlags.d.ts +291 -291
  278. package/lib/cjs/ViewFlags.js +368 -368
  279. package/lib/cjs/ViewFlags.js.map +1 -1
  280. package/lib/cjs/ViewProps.d.ts +205 -205
  281. package/lib/cjs/ViewProps.js +9 -9
  282. package/lib/cjs/ViewProps.js.map +1 -1
  283. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  284. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  285. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  286. package/lib/cjs/core-common.d.ts +241 -241
  287. package/lib/cjs/core-common.js +257 -257
  288. package/lib/cjs/core-common.js.map +1 -1
  289. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  290. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  291. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  292. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  293. package/lib/cjs/domains/GenericElementProps.js +9 -9
  294. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  295. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  296. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  297. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  298. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  299. package/lib/cjs/geometry/AreaPattern.js +204 -204
  300. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  301. package/lib/cjs/geometry/BoundingSphere.d.ts +14 -14
  302. package/lib/cjs/geometry/BoundingSphere.js +30 -30
  303. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  304. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  305. package/lib/cjs/geometry/Cartographic.js +345 -345
  306. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  307. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  308. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  309. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  310. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  311. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  312. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  313. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  314. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  315. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  316. package/lib/cjs/geometry/FrustumPlanes.d.ts +32 -32
  317. package/lib/cjs/geometry/FrustumPlanes.js +132 -132
  318. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  319. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  320. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  321. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  322. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  323. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  324. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  325. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  326. package/lib/cjs/geometry/GeometryStream.js +469 -469
  327. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  328. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  329. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  330. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  331. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  332. package/lib/cjs/geometry/LineStyle.js +129 -129
  333. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  334. package/lib/cjs/geometry/Placement.d.ts +95 -95
  335. package/lib/cjs/geometry/Placement.js +131 -131
  336. package/lib/cjs/geometry/Placement.js.map +1 -1
  337. package/lib/cjs/geometry/Projection.d.ts +251 -251
  338. package/lib/cjs/geometry/Projection.js +198 -198
  339. package/lib/cjs/geometry/Projection.js.map +1 -1
  340. package/lib/cjs/geometry/TextString.d.ts +55 -55
  341. package/lib/cjs/geometry/TextString.js +65 -65
  342. package/lib/cjs/geometry/TextString.js.map +1 -1
  343. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  344. package/lib/cjs/ipc/IpcSession.js +27 -27
  345. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  346. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  347. package/lib/cjs/ipc/IpcSocket.js +16 -16
  348. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  349. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  350. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  351. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  352. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  353. package/lib/cjs/ipc/IpcWebSocketTransport.js +158 -158
  354. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  355. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  356. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  357. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  358. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +75 -75
  359. package/lib/cjs/rpc/IModelReadRpcInterface.js +115 -115
  360. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  361. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  362. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -96
  363. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  364. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  365. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  366. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  367. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  368. package/lib/cjs/rpc/TestRpcManager.js +39 -39
  369. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  370. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  371. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  372. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  373. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  374. package/lib/cjs/rpc/core/RpcConfiguration.js +192 -192
  375. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  376. package/lib/cjs/rpc/core/RpcConstants.d.ts +85 -85
  377. package/lib/cjs/rpc/core/RpcConstants.js +103 -103
  378. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  379. package/lib/cjs/rpc/core/RpcControl.d.ts +52 -52
  380. package/lib/cjs/rpc/core/RpcControl.js +149 -149
  381. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  382. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  383. package/lib/cjs/rpc/core/RpcInvocation.js +257 -257
  384. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  385. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +36 -36
  386. package/lib/cjs/rpc/core/RpcMarshaling.js +153 -153
  387. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  388. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  389. package/lib/cjs/rpc/core/RpcOperation.js +133 -133
  390. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  391. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  392. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -94
  393. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  394. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  395. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  396. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  397. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  398. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  399. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  400. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  401. package/lib/cjs/rpc/core/RpcRegistry.js +198 -198
  402. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  403. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  404. package/lib/cjs/rpc/core/RpcRequest.js +477 -477
  405. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  406. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  407. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  408. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  409. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  410. package/lib/cjs/rpc/core/RpcRoutingToken.js +23 -23
  411. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  412. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  413. package/lib/cjs/rpc/core/RpcSessionInvocation.js +59 -59
  414. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  415. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  416. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  417. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  418. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  419. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +142 -142
  420. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  421. package/lib/cjs/rpc/web/OpenAPI.d.ts +139 -139
  422. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  423. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  424. package/lib/cjs/rpc/web/RpcMultipart.d.ts +31 -31
  425. package/lib/cjs/rpc/web/RpcMultipart.js +45 -45
  426. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  427. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +17 -17
  428. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  429. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  430. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  431. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  432. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  433. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +71 -71
  434. package/lib/cjs/rpc/web/WebAppRpcRequest.js +374 -374
  435. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  436. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  437. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +359 -359
  438. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  439. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  440. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  441. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  442. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  443. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  444. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  445. package/lib/cjs/tile/ElementGraphics.d.ts +134 -134
  446. package/lib/cjs/tile/ElementGraphics.js +9 -9
  447. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  448. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  449. package/lib/cjs/tile/GltfTileIO.js +109 -109
  450. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  451. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  452. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  453. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  454. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  455. package/lib/cjs/tile/IModelTileIO.js +95 -95
  456. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  457. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  458. package/lib/cjs/tile/PntsTileIO.js +26 -26
  459. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  460. package/lib/cjs/tile/TileIO.d.ts +66 -66
  461. package/lib/cjs/tile/TileIO.js +118 -118
  462. package/lib/cjs/tile/TileIO.js.map +1 -1
  463. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  464. package/lib/cjs/tile/TileMetadata.js +676 -676
  465. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  466. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  467. package/lib/esm/AmbientOcclusion.js +52 -52
  468. package/lib/esm/AmbientOcclusion.js.map +1 -1
  469. package/lib/esm/AnalysisStyle.d.ts +134 -134
  470. package/lib/esm/AnalysisStyle.js +159 -159
  471. package/lib/esm/AnalysisStyle.js.map +1 -1
  472. package/lib/esm/AuthorizationClient.d.ts +11 -11
  473. package/lib/esm/AuthorizationClient.js +8 -8
  474. package/lib/esm/AuthorizationClient.js.map +1 -1
  475. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  476. package/lib/esm/BackgroundMapProvider.js +64 -64
  477. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  478. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  479. package/lib/esm/BackgroundMapSettings.js +152 -152
  480. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  481. package/lib/esm/Base64EncodedString.d.ts +30 -30
  482. package/lib/esm/Base64EncodedString.js +53 -53
  483. package/lib/esm/Base64EncodedString.js.map +1 -1
  484. package/lib/esm/BlobReader.d.ts +31 -31
  485. package/lib/esm/BlobReader.js +79 -79
  486. package/lib/esm/BlobReader.js.map +1 -1
  487. package/lib/esm/BriefcaseTypes.d.ts +189 -189
  488. package/lib/esm/BriefcaseTypes.js +92 -92
  489. package/lib/esm/BriefcaseTypes.js.map +1 -1
  490. package/lib/esm/Camera.d.ts +42 -42
  491. package/lib/esm/Camera.js +58 -58
  492. package/lib/esm/Camera.js.map +1 -1
  493. package/lib/esm/ChangedElements.d.ts +83 -83
  494. package/lib/esm/ChangedElements.js +18 -18
  495. package/lib/esm/ChangedElements.js.map +1 -1
  496. package/lib/esm/ChangedEntities.d.ts +45 -45
  497. package/lib/esm/ChangedEntities.js +8 -8
  498. package/lib/esm/ChangedEntities.js.map +1 -1
  499. package/lib/esm/ChangesetProps.d.ts +98 -98
  500. package/lib/esm/ChangesetProps.js +19 -19
  501. package/lib/esm/ChangesetProps.js.map +1 -1
  502. package/lib/esm/ClipStyle.d.ts +89 -89
  503. package/lib/esm/ClipStyle.js +118 -118
  504. package/lib/esm/ClipStyle.js.map +1 -1
  505. package/lib/esm/CloudStorage.d.ts +62 -62
  506. package/lib/esm/CloudStorage.js +109 -109
  507. package/lib/esm/CloudStorage.js.map +1 -1
  508. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  509. package/lib/esm/CloudStorageTileCache.js +62 -62
  510. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  511. package/lib/esm/Code.d.ts +256 -256
  512. package/lib/esm/Code.js +276 -276
  513. package/lib/esm/Code.js.map +1 -1
  514. package/lib/esm/ColorByName.d.ts +161 -161
  515. package/lib/esm/ColorByName.js +166 -166
  516. package/lib/esm/ColorByName.js.map +1 -1
  517. package/lib/esm/ColorDef.d.ts +208 -208
  518. package/lib/esm/ColorDef.js +567 -567
  519. package/lib/esm/ColorDef.js.map +1 -1
  520. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  521. package/lib/esm/CommonLoggerCategory.js +23 -23
  522. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  523. package/lib/esm/ConcurrentQuery.d.ts +241 -241
  524. package/lib/esm/ConcurrentQuery.js +373 -373
  525. package/lib/esm/ConcurrentQuery.js.map +1 -1
  526. package/lib/esm/ContextRealityModel.d.ts +276 -276
  527. package/lib/esm/ContextRealityModel.js +353 -353
  528. package/lib/esm/ContextRealityModel.js.map +1 -1
  529. package/lib/esm/DisplayStyleSettings.d.ts +584 -584
  530. package/lib/esm/DisplayStyleSettings.js +976 -976
  531. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  532. package/lib/esm/ECSchemaProps.d.ts +39 -39
  533. package/lib/esm/ECSchemaProps.js +8 -8
  534. package/lib/esm/ECSchemaProps.js.map +1 -1
  535. package/lib/esm/ECSqlReader.d.ts +70 -70
  536. package/lib/esm/ECSqlReader.js +275 -275
  537. package/lib/esm/ECSqlReader.js.map +1 -1
  538. package/lib/esm/ECSqlTypes.d.ts +128 -128
  539. package/lib/esm/ECSqlTypes.js +185 -185
  540. package/lib/esm/ECSqlTypes.js.map +1 -1
  541. package/lib/esm/ElementProps.d.ts +476 -476
  542. package/lib/esm/ElementProps.js +92 -92
  543. package/lib/esm/ElementProps.js.map +1 -1
  544. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  545. package/lib/esm/EmphasizeElementsProps.js +22 -22
  546. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  547. package/lib/esm/EntityProps.d.ts +176 -176
  548. package/lib/esm/EntityProps.js +107 -107
  549. package/lib/esm/EntityProps.js.map +1 -1
  550. package/lib/esm/Environment.d.ts +61 -61
  551. package/lib/esm/Environment.js +69 -69
  552. package/lib/esm/Environment.js.map +1 -1
  553. package/lib/esm/FeatureGates.d.ts +31 -31
  554. package/lib/esm/FeatureGates.js +51 -51
  555. package/lib/esm/FeatureGates.js.map +1 -1
  556. package/lib/esm/FeatureIndex.d.ts +39 -39
  557. package/lib/esm/FeatureIndex.js +57 -57
  558. package/lib/esm/FeatureIndex.js.map +1 -1
  559. package/lib/esm/FeatureSymbology.d.ts +444 -444
  560. package/lib/esm/FeatureSymbology.js +609 -609
  561. package/lib/esm/FeatureSymbology.js.map +1 -1
  562. package/lib/esm/FeatureTable.d.ts +141 -141
  563. package/lib/esm/FeatureTable.js +272 -272
  564. package/lib/esm/FeatureTable.js.map +1 -1
  565. package/lib/esm/Fonts.d.ts +51 -51
  566. package/lib/esm/Fonts.js +49 -49
  567. package/lib/esm/Fonts.js.map +1 -1
  568. package/lib/esm/Frustum.d.ts +114 -114
  569. package/lib/esm/Frustum.js +288 -288
  570. package/lib/esm/Frustum.js.map +1 -1
  571. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  572. package/lib/esm/GeoCoordinateServices.js +76 -76
  573. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  574. package/lib/esm/GeometryContainment.d.ts +28 -28
  575. package/lib/esm/GeometryContainment.js +8 -8
  576. package/lib/esm/GeometryContainment.js.map +1 -1
  577. package/lib/esm/GeometryParams.d.ts +130 -130
  578. package/lib/esm/GeometryParams.js +170 -170
  579. package/lib/esm/GeometryParams.js.map +1 -1
  580. package/lib/esm/GeometrySummary.d.ts +45 -45
  581. package/lib/esm/GeometrySummary.js +20 -20
  582. package/lib/esm/GeometrySummary.js.map +1 -1
  583. package/lib/esm/Gradient.d.ts +139 -139
  584. package/lib/esm/Gradient.js +452 -452
  585. package/lib/esm/Gradient.js.map +1 -1
  586. package/lib/esm/GraphicParams.d.ts +58 -58
  587. package/lib/esm/GraphicParams.js +81 -81
  588. package/lib/esm/GraphicParams.js.map +1 -1
  589. package/lib/esm/GroundPlane.d.ts +52 -52
  590. package/lib/esm/GroundPlane.js +60 -60
  591. package/lib/esm/GroundPlane.js.map +1 -1
  592. package/lib/esm/HSLColor.d.ts +20 -20
  593. package/lib/esm/HSLColor.js +28 -28
  594. package/lib/esm/HSLColor.js.map +1 -1
  595. package/lib/esm/HSVColor.d.ts +30 -30
  596. package/lib/esm/HSVColor.js +55 -55
  597. package/lib/esm/HSVColor.js.map +1 -1
  598. package/lib/esm/HiddenLine.d.ts +97 -97
  599. package/lib/esm/HiddenLine.js +159 -159
  600. package/lib/esm/HiddenLine.js.map +1 -1
  601. package/lib/esm/Hilite.d.ts +50 -50
  602. package/lib/esm/Hilite.js +61 -61
  603. package/lib/esm/Hilite.js.map +1 -1
  604. package/lib/esm/IModel.d.ts +359 -359
  605. package/lib/esm/IModel.js +342 -342
  606. package/lib/esm/IModel.js.map +1 -1
  607. package/lib/esm/IModelError.d.ts +36 -36
  608. package/lib/esm/IModelError.js +55 -55
  609. package/lib/esm/IModelError.js.map +1 -1
  610. package/lib/esm/IModelVersion.d.ts +68 -68
  611. package/lib/esm/IModelVersion.js +75 -75
  612. package/lib/esm/IModelVersion.js.map +1 -1
  613. package/lib/esm/Image.d.ts +86 -86
  614. package/lib/esm/Image.js +120 -120
  615. package/lib/esm/Image.js.map +1 -1
  616. package/lib/esm/IpcAppProps.d.ts +124 -124
  617. package/lib/esm/IpcAppProps.js +15 -15
  618. package/lib/esm/IpcAppProps.js.map +1 -1
  619. package/lib/esm/LightSettings.d.ts +224 -224
  620. package/lib/esm/LightSettings.js +301 -301
  621. package/lib/esm/LightSettings.js.map +1 -1
  622. package/lib/esm/LinePixels.d.ts +34 -34
  623. package/lib/esm/LinePixels.js +39 -39
  624. package/lib/esm/LinePixels.js.map +1 -1
  625. package/lib/esm/Localization.d.ts +111 -111
  626. package/lib/esm/Localization.js +22 -22
  627. package/lib/esm/Localization.js.map +1 -1
  628. package/lib/esm/MapImagerySettings.d.ts +62 -62
  629. package/lib/esm/MapImagerySettings.js +76 -76
  630. package/lib/esm/MapImagerySettings.js.map +1 -1
  631. package/lib/esm/MapLayerSettings.d.ts +272 -272
  632. package/lib/esm/MapLayerSettings.js +403 -403
  633. package/lib/esm/MapLayerSettings.js.map +1 -1
  634. package/lib/esm/MassProperties.d.ts +64 -64
  635. package/lib/esm/MassProperties.js +20 -20
  636. package/lib/esm/MassProperties.js.map +1 -1
  637. package/lib/esm/MaterialProps.d.ts +118 -118
  638. package/lib/esm/MaterialProps.js +20 -20
  639. package/lib/esm/MaterialProps.js.map +1 -1
  640. package/lib/esm/ModelClipGroup.d.ts +67 -67
  641. package/lib/esm/ModelClipGroup.js +93 -93
  642. package/lib/esm/ModelClipGroup.js.map +1 -1
  643. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  644. package/lib/esm/ModelGeometryChanges.js +80 -80
  645. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  646. package/lib/esm/ModelProps.d.ts +67 -67
  647. package/lib/esm/ModelProps.js +8 -8
  648. package/lib/esm/ModelProps.js.map +1 -1
  649. package/lib/esm/NativeAppProps.d.ts +122 -122
  650. package/lib/esm/NativeAppProps.js +27 -27
  651. package/lib/esm/NativeAppProps.js.map +1 -1
  652. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  653. package/lib/esm/OctEncodedNormal.js +93 -93
  654. package/lib/esm/OctEncodedNormal.js.map +1 -1
  655. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  656. package/lib/esm/PlanProjectionSettings.js +59 -59
  657. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  658. package/lib/esm/PlanarClipMask.d.ts +177 -177
  659. package/lib/esm/PlanarClipMask.js +132 -132
  660. package/lib/esm/PlanarClipMask.js.map +1 -1
  661. package/lib/esm/QPoint.d.ts +479 -479
  662. package/lib/esm/QPoint.js +815 -815
  663. package/lib/esm/QPoint.js.map +1 -1
  664. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  665. package/lib/esm/RealityDataAccessProps.js +16 -16
  666. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  667. package/lib/esm/RealityModelDisplaySettings.d.ts +118 -118
  668. package/lib/esm/RealityModelDisplaySettings.js +109 -109
  669. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  670. package/lib/esm/Render.d.ts +89 -89
  671. package/lib/esm/Render.js +165 -165
  672. package/lib/esm/Render.js.map +1 -1
  673. package/lib/esm/RenderMaterial.d.ts +58 -58
  674. package/lib/esm/RenderMaterial.js +72 -72
  675. package/lib/esm/RenderMaterial.js.map +1 -1
  676. package/lib/esm/RenderSchedule.d.ts +540 -540
  677. package/lib/esm/RenderSchedule.js +997 -997
  678. package/lib/esm/RenderTexture.d.ts +70 -70
  679. package/lib/esm/RenderTexture.js +55 -55
  680. package/lib/esm/RenderTexture.js.map +1 -1
  681. package/lib/esm/RgbColor.d.ts +47 -47
  682. package/lib/esm/RgbColor.js +73 -73
  683. package/lib/esm/RgbColor.js.map +1 -1
  684. package/lib/esm/RpcInterface.d.ts +33 -33
  685. package/lib/esm/RpcInterface.js +133 -133
  686. package/lib/esm/RpcInterface.js.map +1 -1
  687. package/lib/esm/RpcManager.d.ts +40 -40
  688. package/lib/esm/RpcManager.js +51 -51
  689. package/lib/esm/RpcManager.js.map +1 -1
  690. package/lib/esm/SessionProps.d.ts +16 -16
  691. package/lib/esm/SessionProps.js +8 -8
  692. package/lib/esm/SessionProps.js.map +1 -1
  693. package/lib/esm/SkyBox.d.ts +215 -215
  694. package/lib/esm/SkyBox.js +203 -203
  695. package/lib/esm/SkyBox.js.map +1 -1
  696. package/lib/esm/Snapping.d.ts +49 -49
  697. package/lib/esm/Snapping.js +8 -8
  698. package/lib/esm/Snapping.js.map +1 -1
  699. package/lib/esm/SolarCalculate.d.ts +27 -27
  700. package/lib/esm/SolarCalculate.js +204 -204
  701. package/lib/esm/SolarCalculate.js.map +1 -1
  702. package/lib/esm/SolarShadows.d.ts +35 -35
  703. package/lib/esm/SolarShadows.js +58 -58
  704. package/lib/esm/SolarShadows.js.map +1 -1
  705. package/lib/esm/SpatialClassification.d.ts +208 -208
  706. package/lib/esm/SpatialClassification.js +334 -334
  707. package/lib/esm/SpatialClassification.js.map +1 -1
  708. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  709. package/lib/esm/SubCategoryAppearance.js +92 -92
  710. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  711. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  712. package/lib/esm/SubCategoryOverride.js +100 -100
  713. package/lib/esm/SubCategoryOverride.js.map +1 -1
  714. package/lib/esm/TerrainSettings.d.ts +82 -82
  715. package/lib/esm/TerrainSettings.js +98 -98
  716. package/lib/esm/TerrainSettings.js.map +1 -1
  717. package/lib/esm/TextureMapping.d.ts +101 -101
  718. package/lib/esm/TextureMapping.js +170 -170
  719. package/lib/esm/TextureMapping.js.map +1 -1
  720. package/lib/esm/TextureProps.d.ts +65 -65
  721. package/lib/esm/TextureProps.js +25 -25
  722. package/lib/esm/TextureProps.js.map +1 -1
  723. package/lib/esm/ThematicDisplay.d.ts +230 -230
  724. package/lib/esm/ThematicDisplay.js +337 -337
  725. package/lib/esm/ThematicDisplay.js.map +1 -1
  726. package/lib/esm/Thumbnail.d.ts +26 -26
  727. package/lib/esm/Thumbnail.js +8 -8
  728. package/lib/esm/Thumbnail.js.map +1 -1
  729. package/lib/esm/TileProps.d.ts +82 -82
  730. package/lib/esm/TileProps.js +25 -25
  731. package/lib/esm/TileProps.js.map +1 -1
  732. package/lib/esm/Tween.d.ts +191 -191
  733. package/lib/esm/Tween.js +565 -565
  734. package/lib/esm/Tween.js.map +1 -1
  735. package/lib/esm/TxnAction.d.ts +21 -21
  736. package/lib/esm/TxnAction.js +26 -26
  737. package/lib/esm/TxnAction.js.map +1 -1
  738. package/lib/esm/ViewDetails.d.ts +125 -125
  739. package/lib/esm/ViewDetails.js +153 -153
  740. package/lib/esm/ViewDetails.js.map +1 -1
  741. package/lib/esm/ViewFlags.d.ts +291 -291
  742. package/lib/esm/ViewFlags.js +364 -364
  743. package/lib/esm/ViewFlags.js.map +1 -1
  744. package/lib/esm/ViewProps.d.ts +205 -205
  745. package/lib/esm/ViewProps.js +8 -8
  746. package/lib/esm/ViewProps.js.map +1 -1
  747. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  748. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  749. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  750. package/lib/esm/core-common.d.ts +241 -241
  751. package/lib/esm/core-common.js +245 -245
  752. package/lib/esm/core-common.js.map +1 -1
  753. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  754. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  755. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  756. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  757. package/lib/esm/domains/GenericElementProps.js +8 -8
  758. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  759. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  760. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  761. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  762. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  763. package/lib/esm/geometry/AreaPattern.js +201 -201
  764. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  765. package/lib/esm/geometry/BoundingSphere.d.ts +14 -14
  766. package/lib/esm/geometry/BoundingSphere.js +26 -26
  767. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  768. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  769. package/lib/esm/geometry/Cartographic.js +340 -340
  770. package/lib/esm/geometry/Cartographic.js.map +1 -1
  771. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  772. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  773. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  774. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  775. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  776. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  777. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  778. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  779. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  780. package/lib/esm/geometry/FrustumPlanes.d.ts +32 -32
  781. package/lib/esm/geometry/FrustumPlanes.js +128 -128
  782. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  783. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  784. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  785. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  786. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  787. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  788. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  789. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  790. package/lib/esm/geometry/GeometryStream.js +464 -464
  791. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  792. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  793. package/lib/esm/geometry/ImageGraphic.js +93 -93
  794. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  795. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  796. package/lib/esm/geometry/LineStyle.js +126 -126
  797. package/lib/esm/geometry/LineStyle.js.map +1 -1
  798. package/lib/esm/geometry/Placement.d.ts +95 -95
  799. package/lib/esm/geometry/Placement.js +126 -126
  800. package/lib/esm/geometry/Placement.js.map +1 -1
  801. package/lib/esm/geometry/Projection.d.ts +251 -251
  802. package/lib/esm/geometry/Projection.js +192 -192
  803. package/lib/esm/geometry/Projection.js.map +1 -1
  804. package/lib/esm/geometry/TextString.d.ts +55 -55
  805. package/lib/esm/geometry/TextString.js +61 -61
  806. package/lib/esm/geometry/TextString.js.map +1 -1
  807. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  808. package/lib/esm/ipc/IpcSession.js +23 -23
  809. package/lib/esm/ipc/IpcSession.js.map +1 -1
  810. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  811. package/lib/esm/ipc/IpcSocket.js +12 -12
  812. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  813. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  814. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  815. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  816. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  817. package/lib/esm/ipc/IpcWebSocketTransport.js +154 -154
  818. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  819. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  820. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  821. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  822. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +75 -75
  823. package/lib/esm/rpc/IModelReadRpcInterface.js +110 -110
  824. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  825. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  826. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -92
  827. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  828. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  829. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  830. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  831. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  832. package/lib/esm/rpc/TestRpcManager.js +35 -35
  833. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  834. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  835. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  836. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  837. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  838. package/lib/esm/rpc/core/RpcConfiguration.js +185 -185
  839. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  840. package/lib/esm/rpc/core/RpcConstants.d.ts +85 -85
  841. package/lib/esm/rpc/core/RpcConstants.js +100 -100
  842. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  843. package/lib/esm/rpc/core/RpcControl.d.ts +52 -52
  844. package/lib/esm/rpc/core/RpcControl.js +142 -142
  845. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  846. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  847. package/lib/esm/rpc/core/RpcInvocation.js +253 -253
  848. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  849. package/lib/esm/rpc/core/RpcMarshaling.d.ts +36 -36
  850. package/lib/esm/rpc/core/RpcMarshaling.js +149 -149
  851. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  852. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  853. package/lib/esm/rpc/core/RpcOperation.js +128 -128
  854. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  855. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  856. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -90
  857. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  858. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  859. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  860. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  861. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  862. package/lib/esm/rpc/core/RpcPush.js +119 -119
  863. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  864. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  865. package/lib/esm/rpc/core/RpcRegistry.js +194 -194
  866. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  867. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  868. package/lib/esm/rpc/core/RpcRequest.js +472 -472
  869. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  870. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  871. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  872. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  873. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  874. package/lib/esm/rpc/core/RpcRoutingToken.js +19 -19
  875. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  876. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  877. package/lib/esm/rpc/core/RpcSessionInvocation.js +55 -55
  878. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  879. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  880. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  881. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  882. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  883. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +138 -138
  884. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  885. package/lib/esm/rpc/web/OpenAPI.d.ts +139 -139
  886. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  887. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  888. package/lib/esm/rpc/web/RpcMultipart.d.ts +31 -31
  889. package/lib/esm/rpc/web/RpcMultipart.js +41 -41
  890. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  891. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +17 -17
  892. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  893. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  894. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +86 -86
  895. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  896. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  897. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +71 -71
  898. package/lib/esm/rpc/web/WebAppRpcRequest.js +370 -370
  899. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  900. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
  901. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +355 -355
  902. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  903. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  904. package/lib/esm/tile/B3dmTileIO.js +62 -62
  905. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  906. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  907. package/lib/esm/tile/CompositeTileIO.js +22 -22
  908. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  909. package/lib/esm/tile/ElementGraphics.d.ts +134 -134
  910. package/lib/esm/tile/ElementGraphics.js +8 -8
  911. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  912. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  913. package/lib/esm/tile/GltfTileIO.js +105 -105
  914. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  915. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  916. package/lib/esm/tile/I3dmTileIO.js +36 -36
  917. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  918. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  919. package/lib/esm/tile/IModelTileIO.js +90 -90
  920. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  921. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  922. package/lib/esm/tile/PntsTileIO.js +22 -22
  923. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  924. package/lib/esm/tile/TileIO.d.ts +66 -66
  925. package/lib/esm/tile/TileIO.js +110 -110
  926. package/lib/esm/tile/TileIO.js.map +1 -1
  927. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  928. package/lib/esm/tile/TileMetadata.js +661 -661
  929. package/lib/esm/tile/TileMetadata.js.map +1 -1
  930. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"Snapping.js","sourceRoot":"","sources":["../../src/Snapping.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Geometry\r\n */\r\n\r\nimport { Id64Array, Id64String } from \"@itwin/core-bentley\";\r\nimport { Matrix4dProps, XYZProps } from \"@itwin/core-geometry\";\r\nimport { GeometryStreamProps } from \"./geometry/GeometryStream\";\r\nimport { GeometryClass } from \"./GeometryParams\";\r\nimport { ViewFlagProps } from \"./ViewFlags\";\r\n\r\n/** Information required to request a *snap* to a pickable decoration from the front end to the back end.\r\n * @internal\r\n */\r\nexport interface DecorationGeometryProps {\r\n readonly id: Id64String;\r\n readonly geometryStream: GeometryStreamProps;\r\n}\r\n\r\n/** Information required to request a *snap* to an element from the front end to the back end.\r\n * Includes the viewing parameters so that snap can be relative to the view direction, viewing mode, etc.\r\n * @internal\r\n */\r\nexport interface SnapRequestProps {\r\n id: Id64String;\r\n testPoint: XYZProps;\r\n closePoint: XYZProps;\r\n worldToView: Matrix4dProps;\r\n viewFlags?: ViewFlagProps;\r\n snapModes?: number[];\r\n snapAperture?: number;\r\n snapDivisor?: number;\r\n subCategoryId?: Id64String;\r\n geometryClass?: GeometryClass;\r\n intersectCandidates?: Id64Array;\r\n decorationGeometry?: DecorationGeometryProps[];\r\n}\r\n\r\n/** Information returned from the back end to the front end holding the result of a *snap* operation.\r\n * @internal\r\n */\r\nexport interface SnapResponseProps {\r\n status: number;\r\n snapMode?: number;\r\n heat?: number;\r\n geomType?: number;\r\n parentGeomType?: number;\r\n hitPoint?: XYZProps;\r\n snapPoint?: XYZProps;\r\n normal?: XYZProps;\r\n curve?: any;\r\n intersectCurve?: any;\r\n intersectId?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"Snapping.js","sourceRoot":"","sources":["../../src/Snapping.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Geometry\n */\n\nimport { Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport { Matrix4dProps, XYZProps } from \"@itwin/core-geometry\";\nimport { GeometryStreamProps } from \"./geometry/GeometryStream\";\nimport { GeometryClass } from \"./GeometryParams\";\nimport { ViewFlagProps } from \"./ViewFlags\";\n\n/** Information required to request a *snap* to a pickable decoration from the front end to the back end.\n * @internal\n */\nexport interface DecorationGeometryProps {\n readonly id: Id64String;\n readonly geometryStream: GeometryStreamProps;\n}\n\n/** Information required to request a *snap* to an element from the front end to the back end.\n * Includes the viewing parameters so that snap can be relative to the view direction, viewing mode, etc.\n * @internal\n */\nexport interface SnapRequestProps {\n id: Id64String;\n testPoint: XYZProps;\n closePoint: XYZProps;\n worldToView: Matrix4dProps;\n viewFlags?: ViewFlagProps;\n snapModes?: number[];\n snapAperture?: number;\n snapDivisor?: number;\n subCategoryId?: Id64String;\n geometryClass?: GeometryClass;\n intersectCandidates?: Id64Array;\n decorationGeometry?: DecorationGeometryProps[];\n}\n\n/** Information returned from the back end to the front end holding the result of a *snap* operation.\n * @internal\n */\nexport interface SnapResponseProps {\n status: number;\n snapMode?: number;\n heat?: number;\n geomType?: number;\n parentGeomType?: number;\n hitPoint?: XYZProps;\n snapPoint?: XYZProps;\n normal?: XYZProps;\n curve?: any;\n intersectCurve?: any;\n intersectId?: string;\n}\n"]}
@@ -1,28 +1,28 @@
1
- /** @packageDocumentation
2
- * @module Utils
3
- */
4
- import { Vector3d } from "@itwin/core-geometry";
5
- import { Cartographic } from "./geometry/Cartographic";
6
- /** @public
7
- * calculate solar angles (in radians) based at a given date/time and cartographic location.
8
- */
9
- export declare function calculateSolarAngles(date: Date, location: Cartographic): {
10
- azimuth: number;
11
- elevation: number;
12
- };
13
- /** @public
14
- * calculate solar direction based at a given date/time and cartpgrphic location.
15
- */
16
- export declare function calculateSolarDirection(date: Date, location: Cartographic): Vector3d;
17
- /** @public
18
- * calculate solar direction corresponding to the given azimuth and elevation (altitude) angles in degrees.
19
- */
20
- export declare function calculateSolarDirectionFromAngles(azimuthElevation: {
21
- azimuth: number;
22
- elevation: number;
23
- }): Vector3d;
24
- /** @public
25
- * calculate solar sunrise or sunset for a given day and cartographic location.
26
- */
27
- export declare function calculateSunriseOrSunset(date: Date, location: Cartographic, sunrise: boolean): Date;
1
+ /** @packageDocumentation
2
+ * @module Utils
3
+ */
4
+ import { Vector3d } from "@itwin/core-geometry";
5
+ import { Cartographic } from "./geometry/Cartographic";
6
+ /** @public
7
+ * calculate solar angles (in radians) based at a given date/time and cartographic location.
8
+ */
9
+ export declare function calculateSolarAngles(date: Date, location: Cartographic): {
10
+ azimuth: number;
11
+ elevation: number;
12
+ };
13
+ /** @public
14
+ * calculate solar direction based at a given date/time and cartpgrphic location.
15
+ */
16
+ export declare function calculateSolarDirection(date: Date, location: Cartographic): Vector3d;
17
+ /** @public
18
+ * calculate solar direction corresponding to the given azimuth and elevation (altitude) angles in degrees.
19
+ */
20
+ export declare function calculateSolarDirectionFromAngles(azimuthElevation: {
21
+ azimuth: number;
22
+ elevation: number;
23
+ }): Vector3d;
24
+ /** @public
25
+ * calculate solar sunrise or sunset for a given day and cartographic location.
26
+ */
27
+ export declare function calculateSunriseOrSunset(date: Date, location: Cartographic, sunrise: boolean): Date;
28
28
  //# sourceMappingURL=SolarCalculate.d.ts.map
@@ -1,212 +1,212 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Utils
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.calculateSunriseOrSunset = exports.calculateSolarDirectionFromAngles = exports.calculateSolarDirection = exports.calculateSolarAngles = void 0;
11
- const core_geometry_1 = require("@itwin/core-geometry");
12
- // cspell:ignore mrad sinm sint aarg
13
- // Code below loosely translated from https://www.esrl.noaa.gov/gmd/grad/solcalc/
14
- function calcTimeJulianCent(jd) {
15
- const T = (jd - 2451545.0) / 36525.0;
16
- return T;
17
- }
18
- function radToDeg(angleRad) {
19
- return (180.0 * angleRad / Math.PI);
20
- }
21
- function degToRad(angleDeg) {
22
- return (Math.PI * angleDeg / 180.0);
23
- }
24
- function calcGeomMeanLongSun(t) {
25
- let L0 = 280.46646 + t * (36000.76983 + t * (0.0003032));
26
- while (L0 > 360.0) {
27
- L0 -= 360.0;
28
- }
29
- while (L0 < 0.0) {
30
- L0 += 360.0;
31
- }
32
- return L0; // in degrees
33
- }
34
- function calcGeomMeanAnomalySun(t) {
35
- const M = 357.52911 + t * (35999.05029 - 0.0001537 * t);
36
- return M; // in degrees
37
- }
38
- function calcEccentricityEarthOrbit(t) {
39
- const e = 0.016708634 - t * (0.000042037 + 0.0000001267 * t);
40
- return e; // unitless
41
- }
42
- function calcSunEqOfCenter(t) {
43
- const m = calcGeomMeanAnomalySun(t);
44
- const mrad = degToRad(m);
45
- const sinm = Math.sin(mrad);
46
- const sin2m = Math.sin(mrad + mrad);
47
- const sin3m = Math.sin(mrad + mrad + mrad);
48
- const C = sinm * (1.914602 - t * (0.004817 + 0.000014 * t)) + sin2m * (0.019993 - 0.000101 * t) + sin3m * 0.000289;
49
- return C; // in degrees
50
- }
51
- function calcSunTrueLong(t) {
52
- const l0 = calcGeomMeanLongSun(t);
53
- const c = calcSunEqOfCenter(t);
54
- const O = l0 + c;
55
- return O; // in degrees
56
- }
57
- function calcSunApparentLong(t) {
58
- const o = calcSunTrueLong(t);
59
- const omega = 125.04 - 1934.136 * t;
60
- const lambda = o - 0.00569 - 0.00478 * Math.sin(degToRad(omega));
61
- return lambda; // in degrees
62
- }
63
- function calcMeanObliquityOfEcliptic(t) {
64
- const seconds = 21.448 - t * (46.8150 + t * (0.00059 - t * (0.001813)));
65
- const e0 = 23.0 + (26.0 + (seconds / 60.0)) / 60.0;
66
- return e0; // in degrees
67
- }
68
- function calcObliquityCorrection(t) {
69
- const e0 = calcMeanObliquityOfEcliptic(t);
70
- const omega = 125.04 - 1934.136 * t;
71
- const e = e0 + 0.00256 * Math.cos(degToRad(omega));
72
- return e; // in degrees
73
- }
74
- function calcSunDeclination(t) {
75
- const e = calcObliquityCorrection(t);
76
- const lambda = calcSunApparentLong(t);
77
- const sint = Math.sin(degToRad(e)) * Math.sin(degToRad(lambda));
78
- const theta = radToDeg(Math.asin(sint));
79
- return theta; // in degrees
80
- }
81
- function calcEquationOfTime(t) {
82
- const epsilon = calcObliquityCorrection(t);
83
- const l0 = calcGeomMeanLongSun(t);
84
- const e = calcEccentricityEarthOrbit(t);
85
- const m = calcGeomMeanAnomalySun(t);
86
- let y = Math.tan(degToRad(epsilon) / 2.0);
87
- y *= y;
88
- const sin2l0 = Math.sin(2.0 * degToRad(l0));
89
- const sinm = Math.sin(degToRad(m));
90
- const cos2l0 = Math.cos(2.0 * degToRad(l0));
91
- const sin4l0 = Math.sin(4.0 * degToRad(l0));
92
- const sin2m = Math.sin(2.0 * degToRad(m));
93
- const eTime = y * sin2l0 - 2.0 * e * sinm + 4.0 * e * y * sinm * cos2l0 - 0.5 * y * y * sin4l0 - 1.25 * e * e * sin2m;
94
- return radToDeg(eTime) * 4.0; // in minutes of time
95
- }
96
- function calcAzEl(t, localTime, latitude, longitude, zone) {
97
- const eqTime = calcEquationOfTime(t);
98
- const theta = calcSunDeclination(t);
99
- const solarTimeFix = eqTime + 4.0 * longitude - 60.0 * zone;
100
- let trueSolarTime = localTime + solarTimeFix;
101
- while (trueSolarTime > 1440)
102
- trueSolarTime -= 1440;
103
- let hourAngle = trueSolarTime / 4.0 - 180.0;
104
- if (hourAngle < -180) {
105
- hourAngle += 360.0;
106
- }
107
- const haRad = degToRad(hourAngle);
108
- let csz = Math.sin(degToRad(latitude)) * Math.sin(degToRad(theta)) + Math.cos(degToRad(latitude)) * Math.cos(degToRad(theta)) * Math.cos(haRad);
109
- if (csz > 1.0) {
110
- csz = 1.0;
111
- }
112
- else if (csz < -1.0) {
113
- csz = -1.0;
114
- }
115
- const zenith = radToDeg(Math.acos(csz));
116
- const azDenom = (Math.cos(degToRad(latitude)) * Math.sin(degToRad(zenith)));
117
- let azimuth;
118
- if (Math.abs(azDenom) > 0.001) {
119
- let azRad = ((Math.sin(degToRad(latitude)) * Math.cos(degToRad(zenith))) - Math.sin(degToRad(theta))) / azDenom;
120
- if (Math.abs(azRad) > 1.0) {
121
- if (azRad < 0) {
122
- azRad = -1.0;
123
- }
124
- else {
125
- azRad = 1.0;
126
- }
127
- }
128
- azimuth = 180.0 - radToDeg(Math.acos(azRad));
129
- if (hourAngle > 0.0) {
130
- azimuth = -azimuth;
131
- }
132
- }
133
- else {
134
- if (latitude > 0.0) {
135
- azimuth = 180.0;
136
- }
137
- else {
138
- azimuth = 0.0;
139
- }
140
- }
141
- if (azimuth < 0.0) {
142
- azimuth += 360.0;
143
- }
144
- return { azimuth, elevation: 90 - zenith };
145
- }
146
- function calculateJulianDay(date) {
147
- return Math.floor(date.getTime() / 86400000) + 2440587.5; // https://stackoverflow.com/questions/11759992/calculating-jdayjulian-day-in-javascript
148
- }
149
- /** @public
150
- * calculate solar angles (in radians) based at a given date/time and cartographic location.
151
- */
152
- function calculateSolarAngles(date, location) {
153
- const jDay = calculateJulianDay(date);
154
- const latitude = location.latitudeDegrees;
155
- const longitude = location.longitudeDegrees;
156
- const utcMinutes = date.getUTCHours() * 60 + date.getUTCMinutes() + date.getUTCSeconds() / 60;
157
- const zone = Math.floor(.5 + longitude / 15.0); // date.getTimeZoneOffset mixes in DST.
158
- const localMinutes = utcMinutes + zone * 60;
159
- const jTotal = jDay + utcMinutes / 1440.0;
160
- const T = calcTimeJulianCent(jTotal);
161
- return calcAzEl(T, localMinutes, latitude, longitude, zone);
162
- }
163
- exports.calculateSolarAngles = calculateSolarAngles;
164
- /** @public
165
- * calculate solar direction based at a given date/time and cartpgrphic location.
166
- */
167
- function calculateSolarDirection(date, location) {
168
- return calculateSolarDirectionFromAngles(calculateSolarAngles(date, location));
169
- }
170
- exports.calculateSolarDirection = calculateSolarDirection;
171
- /** @public
172
- * calculate solar direction corresponding to the given azimuth and elevation (altitude) angles in degrees.
173
- */
174
- function calculateSolarDirectionFromAngles(azimuthElevation) {
175
- const azimuth = core_geometry_1.Angle.degreesToRadians(azimuthElevation.azimuth);
176
- const elevation = core_geometry_1.Angle.degreesToRadians(azimuthElevation.elevation);
177
- const cosElevation = Math.cos(elevation);
178
- const sinElevation = Math.sin(elevation);
179
- return core_geometry_1.Vector3d.create(-Math.sin(azimuth) * cosElevation, -Math.cos(azimuth) * cosElevation, -sinElevation);
180
- }
181
- exports.calculateSolarDirectionFromAngles = calculateSolarDirectionFromAngles;
182
- function dateFromUtcMinutes(date, utcMinutes) {
183
- const utcHours = Math.floor(utcMinutes / 60.0);
184
- const output = new Date(date);
185
- output.setUTCHours(utcHours);
186
- output.setUTCMinutes(Math.floor(.5 + utcMinutes - 60.0 * utcHours));
187
- output.setUTCSeconds(0);
188
- return output;
189
- }
190
- function calcSunriseUtcMinutes(rise, lat, longitude, jDay) {
191
- const t = calcTimeJulianCent(jDay);
192
- const eqTime = calcEquationOfTime(t);
193
- const solarDec = calcSunDeclination(t);
194
- const latRad = degToRad(lat);
195
- const sdRad = degToRad(solarDec);
196
- const hAarg = (Math.cos(degToRad(90.833)) / (Math.cos(latRad) * Math.cos(sdRad)) - Math.tan(latRad) * Math.tan(sdRad));
197
- const hourAngle = Math.acos(hAarg);
198
- const delta = longitude + radToDeg(rise ? hourAngle : -hourAngle);
199
- return 720 - (4.0 * delta) - eqTime; // in UTC minutes
200
- }
201
- /** @public
202
- * calculate solar sunrise or sunset for a given day and cartographic location.
203
- */
204
- function calculateSunriseOrSunset(date, location, sunrise) {
205
- const jDay = calculateJulianDay(date);
206
- const longitude = location.longitudeDegrees;
207
- const latitude = location.latitudeDegrees;
208
- const utcMinutes = calcSunriseUtcMinutes(sunrise, latitude, longitude, jDay);
209
- return sunrise ? dateFromUtcMinutes(date, utcMinutes) : dateFromUtcMinutes(date, calcSunriseUtcMinutes(sunrise, latitude, longitude, jDay + utcMinutes / 1440));
210
- }
211
- exports.calculateSunriseOrSunset = calculateSunriseOrSunset;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Utils
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.calculateSunriseOrSunset = exports.calculateSolarDirectionFromAngles = exports.calculateSolarDirection = exports.calculateSolarAngles = void 0;
11
+ const core_geometry_1 = require("@itwin/core-geometry");
12
+ // cspell:ignore mrad sinm sint aarg
13
+ // Code below loosely translated from https://www.esrl.noaa.gov/gmd/grad/solcalc/
14
+ function calcTimeJulianCent(jd) {
15
+ const T = (jd - 2451545.0) / 36525.0;
16
+ return T;
17
+ }
18
+ function radToDeg(angleRad) {
19
+ return (180.0 * angleRad / Math.PI);
20
+ }
21
+ function degToRad(angleDeg) {
22
+ return (Math.PI * angleDeg / 180.0);
23
+ }
24
+ function calcGeomMeanLongSun(t) {
25
+ let L0 = 280.46646 + t * (36000.76983 + t * (0.0003032));
26
+ while (L0 > 360.0) {
27
+ L0 -= 360.0;
28
+ }
29
+ while (L0 < 0.0) {
30
+ L0 += 360.0;
31
+ }
32
+ return L0; // in degrees
33
+ }
34
+ function calcGeomMeanAnomalySun(t) {
35
+ const M = 357.52911 + t * (35999.05029 - 0.0001537 * t);
36
+ return M; // in degrees
37
+ }
38
+ function calcEccentricityEarthOrbit(t) {
39
+ const e = 0.016708634 - t * (0.000042037 + 0.0000001267 * t);
40
+ return e; // unitless
41
+ }
42
+ function calcSunEqOfCenter(t) {
43
+ const m = calcGeomMeanAnomalySun(t);
44
+ const mrad = degToRad(m);
45
+ const sinm = Math.sin(mrad);
46
+ const sin2m = Math.sin(mrad + mrad);
47
+ const sin3m = Math.sin(mrad + mrad + mrad);
48
+ const C = sinm * (1.914602 - t * (0.004817 + 0.000014 * t)) + sin2m * (0.019993 - 0.000101 * t) + sin3m * 0.000289;
49
+ return C; // in degrees
50
+ }
51
+ function calcSunTrueLong(t) {
52
+ const l0 = calcGeomMeanLongSun(t);
53
+ const c = calcSunEqOfCenter(t);
54
+ const O = l0 + c;
55
+ return O; // in degrees
56
+ }
57
+ function calcSunApparentLong(t) {
58
+ const o = calcSunTrueLong(t);
59
+ const omega = 125.04 - 1934.136 * t;
60
+ const lambda = o - 0.00569 - 0.00478 * Math.sin(degToRad(omega));
61
+ return lambda; // in degrees
62
+ }
63
+ function calcMeanObliquityOfEcliptic(t) {
64
+ const seconds = 21.448 - t * (46.8150 + t * (0.00059 - t * (0.001813)));
65
+ const e0 = 23.0 + (26.0 + (seconds / 60.0)) / 60.0;
66
+ return e0; // in degrees
67
+ }
68
+ function calcObliquityCorrection(t) {
69
+ const e0 = calcMeanObliquityOfEcliptic(t);
70
+ const omega = 125.04 - 1934.136 * t;
71
+ const e = e0 + 0.00256 * Math.cos(degToRad(omega));
72
+ return e; // in degrees
73
+ }
74
+ function calcSunDeclination(t) {
75
+ const e = calcObliquityCorrection(t);
76
+ const lambda = calcSunApparentLong(t);
77
+ const sint = Math.sin(degToRad(e)) * Math.sin(degToRad(lambda));
78
+ const theta = radToDeg(Math.asin(sint));
79
+ return theta; // in degrees
80
+ }
81
+ function calcEquationOfTime(t) {
82
+ const epsilon = calcObliquityCorrection(t);
83
+ const l0 = calcGeomMeanLongSun(t);
84
+ const e = calcEccentricityEarthOrbit(t);
85
+ const m = calcGeomMeanAnomalySun(t);
86
+ let y = Math.tan(degToRad(epsilon) / 2.0);
87
+ y *= y;
88
+ const sin2l0 = Math.sin(2.0 * degToRad(l0));
89
+ const sinm = Math.sin(degToRad(m));
90
+ const cos2l0 = Math.cos(2.0 * degToRad(l0));
91
+ const sin4l0 = Math.sin(4.0 * degToRad(l0));
92
+ const sin2m = Math.sin(2.0 * degToRad(m));
93
+ const eTime = y * sin2l0 - 2.0 * e * sinm + 4.0 * e * y * sinm * cos2l0 - 0.5 * y * y * sin4l0 - 1.25 * e * e * sin2m;
94
+ return radToDeg(eTime) * 4.0; // in minutes of time
95
+ }
96
+ function calcAzEl(t, localTime, latitude, longitude, zone) {
97
+ const eqTime = calcEquationOfTime(t);
98
+ const theta = calcSunDeclination(t);
99
+ const solarTimeFix = eqTime + 4.0 * longitude - 60.0 * zone;
100
+ let trueSolarTime = localTime + solarTimeFix;
101
+ while (trueSolarTime > 1440)
102
+ trueSolarTime -= 1440;
103
+ let hourAngle = trueSolarTime / 4.0 - 180.0;
104
+ if (hourAngle < -180) {
105
+ hourAngle += 360.0;
106
+ }
107
+ const haRad = degToRad(hourAngle);
108
+ let csz = Math.sin(degToRad(latitude)) * Math.sin(degToRad(theta)) + Math.cos(degToRad(latitude)) * Math.cos(degToRad(theta)) * Math.cos(haRad);
109
+ if (csz > 1.0) {
110
+ csz = 1.0;
111
+ }
112
+ else if (csz < -1.0) {
113
+ csz = -1.0;
114
+ }
115
+ const zenith = radToDeg(Math.acos(csz));
116
+ const azDenom = (Math.cos(degToRad(latitude)) * Math.sin(degToRad(zenith)));
117
+ let azimuth;
118
+ if (Math.abs(azDenom) > 0.001) {
119
+ let azRad = ((Math.sin(degToRad(latitude)) * Math.cos(degToRad(zenith))) - Math.sin(degToRad(theta))) / azDenom;
120
+ if (Math.abs(azRad) > 1.0) {
121
+ if (azRad < 0) {
122
+ azRad = -1.0;
123
+ }
124
+ else {
125
+ azRad = 1.0;
126
+ }
127
+ }
128
+ azimuth = 180.0 - radToDeg(Math.acos(azRad));
129
+ if (hourAngle > 0.0) {
130
+ azimuth = -azimuth;
131
+ }
132
+ }
133
+ else {
134
+ if (latitude > 0.0) {
135
+ azimuth = 180.0;
136
+ }
137
+ else {
138
+ azimuth = 0.0;
139
+ }
140
+ }
141
+ if (azimuth < 0.0) {
142
+ azimuth += 360.0;
143
+ }
144
+ return { azimuth, elevation: 90 - zenith };
145
+ }
146
+ function calculateJulianDay(date) {
147
+ return Math.floor(date.getTime() / 86400000) + 2440587.5; // https://stackoverflow.com/questions/11759992/calculating-jdayjulian-day-in-javascript
148
+ }
149
+ /** @public
150
+ * calculate solar angles (in radians) based at a given date/time and cartographic location.
151
+ */
152
+ function calculateSolarAngles(date, location) {
153
+ const jDay = calculateJulianDay(date);
154
+ const latitude = location.latitudeDegrees;
155
+ const longitude = location.longitudeDegrees;
156
+ const utcMinutes = date.getUTCHours() * 60 + date.getUTCMinutes() + date.getUTCSeconds() / 60;
157
+ const zone = Math.floor(.5 + longitude / 15.0); // date.getTimeZoneOffset mixes in DST.
158
+ const localMinutes = utcMinutes + zone * 60;
159
+ const jTotal = jDay + utcMinutes / 1440.0;
160
+ const T = calcTimeJulianCent(jTotal);
161
+ return calcAzEl(T, localMinutes, latitude, longitude, zone);
162
+ }
163
+ exports.calculateSolarAngles = calculateSolarAngles;
164
+ /** @public
165
+ * calculate solar direction based at a given date/time and cartpgrphic location.
166
+ */
167
+ function calculateSolarDirection(date, location) {
168
+ return calculateSolarDirectionFromAngles(calculateSolarAngles(date, location));
169
+ }
170
+ exports.calculateSolarDirection = calculateSolarDirection;
171
+ /** @public
172
+ * calculate solar direction corresponding to the given azimuth and elevation (altitude) angles in degrees.
173
+ */
174
+ function calculateSolarDirectionFromAngles(azimuthElevation) {
175
+ const azimuth = core_geometry_1.Angle.degreesToRadians(azimuthElevation.azimuth);
176
+ const elevation = core_geometry_1.Angle.degreesToRadians(azimuthElevation.elevation);
177
+ const cosElevation = Math.cos(elevation);
178
+ const sinElevation = Math.sin(elevation);
179
+ return core_geometry_1.Vector3d.create(-Math.sin(azimuth) * cosElevation, -Math.cos(azimuth) * cosElevation, -sinElevation);
180
+ }
181
+ exports.calculateSolarDirectionFromAngles = calculateSolarDirectionFromAngles;
182
+ function dateFromUtcMinutes(date, utcMinutes) {
183
+ const utcHours = Math.floor(utcMinutes / 60.0);
184
+ const output = new Date(date);
185
+ output.setUTCHours(utcHours);
186
+ output.setUTCMinutes(Math.floor(.5 + utcMinutes - 60.0 * utcHours));
187
+ output.setUTCSeconds(0);
188
+ return output;
189
+ }
190
+ function calcSunriseUtcMinutes(rise, lat, longitude, jDay) {
191
+ const t = calcTimeJulianCent(jDay);
192
+ const eqTime = calcEquationOfTime(t);
193
+ const solarDec = calcSunDeclination(t);
194
+ const latRad = degToRad(lat);
195
+ const sdRad = degToRad(solarDec);
196
+ const hAarg = (Math.cos(degToRad(90.833)) / (Math.cos(latRad) * Math.cos(sdRad)) - Math.tan(latRad) * Math.tan(sdRad));
197
+ const hourAngle = Math.acos(hAarg);
198
+ const delta = longitude + radToDeg(rise ? hourAngle : -hourAngle);
199
+ return 720 - (4.0 * delta) - eqTime; // in UTC minutes
200
+ }
201
+ /** @public
202
+ * calculate solar sunrise or sunset for a given day and cartographic location.
203
+ */
204
+ function calculateSunriseOrSunset(date, location, sunrise) {
205
+ const jDay = calculateJulianDay(date);
206
+ const longitude = location.longitudeDegrees;
207
+ const latitude = location.latitudeDegrees;
208
+ const utcMinutes = calcSunriseUtcMinutes(sunrise, latitude, longitude, jDay);
209
+ return sunrise ? dateFromUtcMinutes(date, utcMinutes) : dateFromUtcMinutes(date, calcSunriseUtcMinutes(sunrise, latitude, longitude, jDay + utcMinutes / 1440));
210
+ }
211
+ exports.calculateSunriseOrSunset = calculateSunriseOrSunset;
212
212
  //# sourceMappingURL=SolarCalculate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolarCalculate.js","sourceRoot":"","sources":["../../src/SolarCalculate.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 Utils\r\n */\r\n\r\nimport { Angle, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Cartographic } from \"./geometry/Cartographic\";\r\n\r\n// cspell:ignore mrad sinm sint aarg\r\n\r\n// Code below loosely translated from https://www.esrl.noaa.gov/gmd/grad/solcalc/\r\nfunction calcTimeJulianCent(jd: number) {\r\n const T = (jd - 2451545.0) / 36525.0;\r\n return T;\r\n}\r\n\r\nfunction radToDeg(angleRad: number) {\r\n return (180.0 * angleRad / Math.PI);\r\n}\r\n\r\nfunction degToRad(angleDeg: number) {\r\n return (Math.PI * angleDeg / 180.0);\r\n}\r\n\r\nfunction calcGeomMeanLongSun(t: number) {\r\n let L0 = 280.46646 + t * (36000.76983 + t * (0.0003032));\r\n while (L0 > 360.0) {\r\n L0 -= 360.0;\r\n }\r\n while (L0 < 0.0) {\r\n L0 += 360.0;\r\n }\r\n return L0;\t\t// in degrees\r\n}\r\n\r\nfunction calcGeomMeanAnomalySun(t: number) {\r\n const M = 357.52911 + t * (35999.05029 - 0.0001537 * t);\r\n return M;\t\t// in degrees\r\n}\r\n\r\nfunction calcEccentricityEarthOrbit(t: number) {\r\n const e = 0.016708634 - t * (0.000042037 + 0.0000001267 * t);\r\n return e;\t\t// unitless\r\n}\r\n\r\nfunction calcSunEqOfCenter(t: number) {\r\n const m = calcGeomMeanAnomalySun(t);\r\n const mrad = degToRad(m);\r\n const sinm = Math.sin(mrad);\r\n const sin2m = Math.sin(mrad + mrad);\r\n const sin3m = Math.sin(mrad + mrad + mrad);\r\n const C = sinm * (1.914602 - t * (0.004817 + 0.000014 * t)) + sin2m * (0.019993 - 0.000101 * t) + sin3m * 0.000289;\r\n return C;\t\t// in degrees\r\n}\r\n\r\nfunction calcSunTrueLong(t: number) {\r\n const l0 = calcGeomMeanLongSun(t);\r\n const c = calcSunEqOfCenter(t);\r\n const O = l0 + c;\r\n return O;\t\t// in degrees\r\n}\r\n\r\nfunction calcSunApparentLong(t: number) {\r\n const o = calcSunTrueLong(t);\r\n const omega = 125.04 - 1934.136 * t;\r\n const lambda = o - 0.00569 - 0.00478 * Math.sin(degToRad(omega));\r\n return lambda;\t\t// in degrees\r\n}\r\n\r\nfunction calcMeanObliquityOfEcliptic(t: number) {\r\n const seconds = 21.448 - t * (46.8150 + t * (0.00059 - t * (0.001813)));\r\n const e0 = 23.0 + (26.0 + (seconds / 60.0)) / 60.0;\r\n return e0;\t\t// in degrees\r\n}\r\n\r\nfunction calcObliquityCorrection(t: number) {\r\n const e0 = calcMeanObliquityOfEcliptic(t);\r\n const omega = 125.04 - 1934.136 * t;\r\n const e = e0 + 0.00256 * Math.cos(degToRad(omega));\r\n return e;\t\t// in degrees\r\n}\r\n\r\nfunction calcSunDeclination(t: number) {\r\n const e = calcObliquityCorrection(t);\r\n const lambda = calcSunApparentLong(t);\r\n\r\n const sint = Math.sin(degToRad(e)) * Math.sin(degToRad(lambda));\r\n const theta = radToDeg(Math.asin(sint));\r\n return theta;\t\t// in degrees\r\n}\r\n\r\nfunction calcEquationOfTime(t: number) {\r\n const epsilon = calcObliquityCorrection(t);\r\n const l0 = calcGeomMeanLongSun(t);\r\n const e = calcEccentricityEarthOrbit(t);\r\n const m = calcGeomMeanAnomalySun(t);\r\n\r\n let y = Math.tan(degToRad(epsilon) / 2.0);\r\n y *= y;\r\n\r\n const sin2l0 = Math.sin(2.0 * degToRad(l0));\r\n const sinm = Math.sin(degToRad(m));\r\n const cos2l0 = Math.cos(2.0 * degToRad(l0));\r\n const sin4l0 = Math.sin(4.0 * degToRad(l0));\r\n const sin2m = Math.sin(2.0 * degToRad(m));\r\n\r\n const eTime = y * sin2l0 - 2.0 * e * sinm + 4.0 * e * y * sinm * cos2l0 - 0.5 * y * y * sin4l0 - 1.25 * e * e * sin2m;\r\n return radToDeg(eTime) * 4.0;\t// in minutes of time\r\n}\r\n\r\nfunction calcAzEl(t: number, localTime: number, latitude: number, longitude: number, zone: number): { azimuth: number, elevation: number } {\r\n const eqTime = calcEquationOfTime(t);\r\n const theta = calcSunDeclination(t);\r\n const solarTimeFix = eqTime + 4.0 * longitude - 60.0 * zone;\r\n let trueSolarTime = localTime + solarTimeFix;\r\n while (trueSolarTime > 1440)\r\n trueSolarTime -= 1440;\r\n\r\n let hourAngle = trueSolarTime / 4.0 - 180.0;\r\n if (hourAngle < -180) {\r\n hourAngle += 360.0;\r\n }\r\n const haRad = degToRad(hourAngle);\r\n let csz = Math.sin(degToRad(latitude)) * Math.sin(degToRad(theta)) + Math.cos(degToRad(latitude)) * Math.cos(degToRad(theta)) * Math.cos(haRad);\r\n if (csz > 1.0) {\r\n csz = 1.0;\r\n } else if (csz < -1.0) {\r\n csz = -1.0;\r\n }\r\n const zenith = radToDeg(Math.acos(csz));\r\n const azDenom = (Math.cos(degToRad(latitude)) * Math.sin(degToRad(zenith)));\r\n let azimuth;\r\n if (Math.abs(azDenom) > 0.001) {\r\n let azRad = ((Math.sin(degToRad(latitude)) * Math.cos(degToRad(zenith))) - Math.sin(degToRad(theta))) / azDenom;\r\n if (Math.abs(azRad) > 1.0) {\r\n if (azRad < 0) {\r\n azRad = -1.0;\r\n } else {\r\n azRad = 1.0;\r\n }\r\n }\r\n azimuth = 180.0 - radToDeg(Math.acos(azRad));\r\n if (hourAngle > 0.0) {\r\n azimuth = -azimuth;\r\n }\r\n } else {\r\n if (latitude > 0.0) {\r\n azimuth = 180.0;\r\n } else {\r\n azimuth = 0.0;\r\n }\r\n }\r\n if (azimuth < 0.0) {\r\n azimuth += 360.0;\r\n }\r\n return { azimuth, elevation: 90 - zenith };\r\n}\r\n\r\nfunction calculateJulianDay(date: Date) {\r\n return Math.floor(date.getTime() / 86400000) + 2440587.5; // https://stackoverflow.com/questions/11759992/calculating-jdayjulian-day-in-javascript\r\n}\r\n\r\n/** @public\r\n * calculate solar angles (in radians) based at a given date/time and cartographic location.\r\n */\r\nexport function calculateSolarAngles(date: Date, location: Cartographic): { azimuth: number, elevation: number } {\r\n const jDay = calculateJulianDay(date);\r\n const latitude = location.latitudeDegrees;\r\n const longitude = location.longitudeDegrees;\r\n const utcMinutes = date.getUTCHours() * 60 + date.getUTCMinutes() + date.getUTCSeconds() / 60;\r\n const zone = Math.floor(.5 + longitude / 15.0); // date.getTimeZoneOffset mixes in DST.\r\n const localMinutes = utcMinutes + zone * 60;\r\n const jTotal = jDay + utcMinutes / 1440.0;\r\n const T = calcTimeJulianCent(jTotal);\r\n return calcAzEl(T, localMinutes, latitude, longitude, zone);\r\n}\r\n\r\n/** @public\r\n * calculate solar direction based at a given date/time and cartpgrphic location.\r\n */\r\nexport function calculateSolarDirection(date: Date, location: Cartographic): Vector3d {\r\n return calculateSolarDirectionFromAngles(calculateSolarAngles(date, location));\r\n}\r\n\r\n/** @public\r\n * calculate solar direction corresponding to the given azimuth and elevation (altitude) angles in degrees.\r\n */\r\nexport function calculateSolarDirectionFromAngles(azimuthElevation: { azimuth: number, elevation: number }): Vector3d {\r\n const azimuth = Angle.degreesToRadians(azimuthElevation.azimuth);\r\n const elevation = Angle.degreesToRadians(azimuthElevation.elevation);\r\n const cosElevation = Math.cos(elevation);\r\n const sinElevation = Math.sin(elevation);\r\n return Vector3d.create(-Math.sin(azimuth) * cosElevation, -Math.cos(azimuth) * cosElevation, -sinElevation);\r\n}\r\n\r\nfunction dateFromUtcMinutes(date: Date, utcMinutes: number) {\r\n const utcHours = Math.floor(utcMinutes / 60.0);\r\n const output = new Date(date);\r\n output.setUTCHours(utcHours);\r\n output.setUTCMinutes(Math.floor(.5 + utcMinutes - 60.0 * utcHours));\r\n output.setUTCSeconds(0);\r\n return output;\r\n}\r\n\r\nfunction calcSunriseUtcMinutes(rise: boolean, lat: number, longitude: number, jDay: number) {\r\n const t = calcTimeJulianCent(jDay);\r\n const eqTime = calcEquationOfTime(t);\r\n const solarDec = calcSunDeclination(t);\r\n const latRad = degToRad(lat);\r\n const sdRad = degToRad(solarDec);\r\n const hAarg = (Math.cos(degToRad(90.833)) / (Math.cos(latRad) * Math.cos(sdRad)) - Math.tan(latRad) * Math.tan(sdRad));\r\n const hourAngle = Math.acos(hAarg);\r\n const delta = longitude + radToDeg(rise ? hourAngle : - hourAngle);\r\n return 720 - (4.0 * delta) - eqTime;\t// in UTC minutes\r\n}\r\n\r\n/** @public\r\n * calculate solar sunrise or sunset for a given day and cartographic location.\r\n */\r\nexport function calculateSunriseOrSunset(date: Date, location: Cartographic, sunrise: boolean): Date {\r\n const jDay = calculateJulianDay(date);\r\n const longitude = location.longitudeDegrees;\r\n const latitude = location.latitudeDegrees;\r\n const utcMinutes = calcSunriseUtcMinutes(sunrise, latitude, longitude, jDay);\r\n return sunrise ? dateFromUtcMinutes(date, utcMinutes) : dateFromUtcMinutes(date, calcSunriseUtcMinutes(sunrise, latitude, longitude, jDay + utcMinutes / 1440));\r\n}\r\n"]}
1
+ {"version":3,"file":"SolarCalculate.js","sourceRoot":"","sources":["../../src/SolarCalculate.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 Utils\n */\n\nimport { Angle, Vector3d } from \"@itwin/core-geometry\";\nimport { Cartographic } from \"./geometry/Cartographic\";\n\n// cspell:ignore mrad sinm sint aarg\n\n// Code below loosely translated from https://www.esrl.noaa.gov/gmd/grad/solcalc/\nfunction calcTimeJulianCent(jd: number) {\n const T = (jd - 2451545.0) / 36525.0;\n return T;\n}\n\nfunction radToDeg(angleRad: number) {\n return (180.0 * angleRad / Math.PI);\n}\n\nfunction degToRad(angleDeg: number) {\n return (Math.PI * angleDeg / 180.0);\n}\n\nfunction calcGeomMeanLongSun(t: number) {\n let L0 = 280.46646 + t * (36000.76983 + t * (0.0003032));\n while (L0 > 360.0) {\n L0 -= 360.0;\n }\n while (L0 < 0.0) {\n L0 += 360.0;\n }\n return L0;\t\t// in degrees\n}\n\nfunction calcGeomMeanAnomalySun(t: number) {\n const M = 357.52911 + t * (35999.05029 - 0.0001537 * t);\n return M;\t\t// in degrees\n}\n\nfunction calcEccentricityEarthOrbit(t: number) {\n const e = 0.016708634 - t * (0.000042037 + 0.0000001267 * t);\n return e;\t\t// unitless\n}\n\nfunction calcSunEqOfCenter(t: number) {\n const m = calcGeomMeanAnomalySun(t);\n const mrad = degToRad(m);\n const sinm = Math.sin(mrad);\n const sin2m = Math.sin(mrad + mrad);\n const sin3m = Math.sin(mrad + mrad + mrad);\n const C = sinm * (1.914602 - t * (0.004817 + 0.000014 * t)) + sin2m * (0.019993 - 0.000101 * t) + sin3m * 0.000289;\n return C;\t\t// in degrees\n}\n\nfunction calcSunTrueLong(t: number) {\n const l0 = calcGeomMeanLongSun(t);\n const c = calcSunEqOfCenter(t);\n const O = l0 + c;\n return O;\t\t// in degrees\n}\n\nfunction calcSunApparentLong(t: number) {\n const o = calcSunTrueLong(t);\n const omega = 125.04 - 1934.136 * t;\n const lambda = o - 0.00569 - 0.00478 * Math.sin(degToRad(omega));\n return lambda;\t\t// in degrees\n}\n\nfunction calcMeanObliquityOfEcliptic(t: number) {\n const seconds = 21.448 - t * (46.8150 + t * (0.00059 - t * (0.001813)));\n const e0 = 23.0 + (26.0 + (seconds / 60.0)) / 60.0;\n return e0;\t\t// in degrees\n}\n\nfunction calcObliquityCorrection(t: number) {\n const e0 = calcMeanObliquityOfEcliptic(t);\n const omega = 125.04 - 1934.136 * t;\n const e = e0 + 0.00256 * Math.cos(degToRad(omega));\n return e;\t\t// in degrees\n}\n\nfunction calcSunDeclination(t: number) {\n const e = calcObliquityCorrection(t);\n const lambda = calcSunApparentLong(t);\n\n const sint = Math.sin(degToRad(e)) * Math.sin(degToRad(lambda));\n const theta = radToDeg(Math.asin(sint));\n return theta;\t\t// in degrees\n}\n\nfunction calcEquationOfTime(t: number) {\n const epsilon = calcObliquityCorrection(t);\n const l0 = calcGeomMeanLongSun(t);\n const e = calcEccentricityEarthOrbit(t);\n const m = calcGeomMeanAnomalySun(t);\n\n let y = Math.tan(degToRad(epsilon) / 2.0);\n y *= y;\n\n const sin2l0 = Math.sin(2.0 * degToRad(l0));\n const sinm = Math.sin(degToRad(m));\n const cos2l0 = Math.cos(2.0 * degToRad(l0));\n const sin4l0 = Math.sin(4.0 * degToRad(l0));\n const sin2m = Math.sin(2.0 * degToRad(m));\n\n const eTime = y * sin2l0 - 2.0 * e * sinm + 4.0 * e * y * sinm * cos2l0 - 0.5 * y * y * sin4l0 - 1.25 * e * e * sin2m;\n return radToDeg(eTime) * 4.0;\t// in minutes of time\n}\n\nfunction calcAzEl(t: number, localTime: number, latitude: number, longitude: number, zone: number): { azimuth: number, elevation: number } {\n const eqTime = calcEquationOfTime(t);\n const theta = calcSunDeclination(t);\n const solarTimeFix = eqTime + 4.0 * longitude - 60.0 * zone;\n let trueSolarTime = localTime + solarTimeFix;\n while (trueSolarTime > 1440)\n trueSolarTime -= 1440;\n\n let hourAngle = trueSolarTime / 4.0 - 180.0;\n if (hourAngle < -180) {\n hourAngle += 360.0;\n }\n const haRad = degToRad(hourAngle);\n let csz = Math.sin(degToRad(latitude)) * Math.sin(degToRad(theta)) + Math.cos(degToRad(latitude)) * Math.cos(degToRad(theta)) * Math.cos(haRad);\n if (csz > 1.0) {\n csz = 1.0;\n } else if (csz < -1.0) {\n csz = -1.0;\n }\n const zenith = radToDeg(Math.acos(csz));\n const azDenom = (Math.cos(degToRad(latitude)) * Math.sin(degToRad(zenith)));\n let azimuth;\n if (Math.abs(azDenom) > 0.001) {\n let azRad = ((Math.sin(degToRad(latitude)) * Math.cos(degToRad(zenith))) - Math.sin(degToRad(theta))) / azDenom;\n if (Math.abs(azRad) > 1.0) {\n if (azRad < 0) {\n azRad = -1.0;\n } else {\n azRad = 1.0;\n }\n }\n azimuth = 180.0 - radToDeg(Math.acos(azRad));\n if (hourAngle > 0.0) {\n azimuth = -azimuth;\n }\n } else {\n if (latitude > 0.0) {\n azimuth = 180.0;\n } else {\n azimuth = 0.0;\n }\n }\n if (azimuth < 0.0) {\n azimuth += 360.0;\n }\n return { azimuth, elevation: 90 - zenith };\n}\n\nfunction calculateJulianDay(date: Date) {\n return Math.floor(date.getTime() / 86400000) + 2440587.5; // https://stackoverflow.com/questions/11759992/calculating-jdayjulian-day-in-javascript\n}\n\n/** @public\n * calculate solar angles (in radians) based at a given date/time and cartographic location.\n */\nexport function calculateSolarAngles(date: Date, location: Cartographic): { azimuth: number, elevation: number } {\n const jDay = calculateJulianDay(date);\n const latitude = location.latitudeDegrees;\n const longitude = location.longitudeDegrees;\n const utcMinutes = date.getUTCHours() * 60 + date.getUTCMinutes() + date.getUTCSeconds() / 60;\n const zone = Math.floor(.5 + longitude / 15.0); // date.getTimeZoneOffset mixes in DST.\n const localMinutes = utcMinutes + zone * 60;\n const jTotal = jDay + utcMinutes / 1440.0;\n const T = calcTimeJulianCent(jTotal);\n return calcAzEl(T, localMinutes, latitude, longitude, zone);\n}\n\n/** @public\n * calculate solar direction based at a given date/time and cartpgrphic location.\n */\nexport function calculateSolarDirection(date: Date, location: Cartographic): Vector3d {\n return calculateSolarDirectionFromAngles(calculateSolarAngles(date, location));\n}\n\n/** @public\n * calculate solar direction corresponding to the given azimuth and elevation (altitude) angles in degrees.\n */\nexport function calculateSolarDirectionFromAngles(azimuthElevation: { azimuth: number, elevation: number }): Vector3d {\n const azimuth = Angle.degreesToRadians(azimuthElevation.azimuth);\n const elevation = Angle.degreesToRadians(azimuthElevation.elevation);\n const cosElevation = Math.cos(elevation);\n const sinElevation = Math.sin(elevation);\n return Vector3d.create(-Math.sin(azimuth) * cosElevation, -Math.cos(azimuth) * cosElevation, -sinElevation);\n}\n\nfunction dateFromUtcMinutes(date: Date, utcMinutes: number) {\n const utcHours = Math.floor(utcMinutes / 60.0);\n const output = new Date(date);\n output.setUTCHours(utcHours);\n output.setUTCMinutes(Math.floor(.5 + utcMinutes - 60.0 * utcHours));\n output.setUTCSeconds(0);\n return output;\n}\n\nfunction calcSunriseUtcMinutes(rise: boolean, lat: number, longitude: number, jDay: number) {\n const t = calcTimeJulianCent(jDay);\n const eqTime = calcEquationOfTime(t);\n const solarDec = calcSunDeclination(t);\n const latRad = degToRad(lat);\n const sdRad = degToRad(solarDec);\n const hAarg = (Math.cos(degToRad(90.833)) / (Math.cos(latRad) * Math.cos(sdRad)) - Math.tan(latRad) * Math.tan(sdRad));\n const hourAngle = Math.acos(hAarg);\n const delta = longitude + radToDeg(rise ? hourAngle : - hourAngle);\n return 720 - (4.0 * delta) - eqTime;\t// in UTC minutes\n}\n\n/** @public\n * calculate solar sunrise or sunset for a given day and cartographic location.\n */\nexport function calculateSunriseOrSunset(date: Date, location: Cartographic, sunrise: boolean): Date {\n const jDay = calculateJulianDay(date);\n const longitude = location.longitudeDegrees;\n const latitude = location.latitudeDegrees;\n const utcMinutes = calcSunriseUtcMinutes(sunrise, latitude, longitude, jDay);\n return sunrise ? dateFromUtcMinutes(date, utcMinutes) : dateFromUtcMinutes(date, calcSunriseUtcMinutes(sunrise, latitude, longitude, jDay + utcMinutes / 1440));\n}\n"]}