@itwin/core-common 3.6.0-dev.36 → 3.6.0-dev.38

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 (943) hide show
  1. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  2. package/lib/cjs/AmbientOcclusion.js +55 -55
  3. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  4. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  5. package/lib/cjs/AnalysisStyle.js +165 -165
  6. package/lib/cjs/AnalysisStyle.js.map +1 -1
  7. package/lib/cjs/AuthorizationClient.d.ts +11 -11
  8. package/lib/cjs/AuthorizationClient.js +9 -9
  9. package/lib/cjs/AuthorizationClient.js.map +1 -1
  10. package/lib/cjs/BackendTypes.d.ts +12 -12
  11. package/lib/cjs/BackendTypes.js +9 -9
  12. package/lib/cjs/BackendTypes.js.map +1 -1
  13. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  14. package/lib/cjs/BackgroundMapProvider.js +68 -68
  15. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  16. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  17. package/lib/cjs/BackgroundMapSettings.js +156 -156
  18. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  19. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  20. package/lib/cjs/Base64EncodedString.js +66 -66
  21. package/lib/cjs/Base64EncodedString.js.map +1 -1
  22. package/lib/cjs/BlobReader.d.ts +31 -31
  23. package/lib/cjs/BlobReader.js +84 -84
  24. package/lib/cjs/BlobReader.js.map +1 -1
  25. package/lib/cjs/BriefcaseTypes.d.ts +189 -189
  26. package/lib/cjs/BriefcaseTypes.js +95 -95
  27. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  28. package/lib/cjs/Camera.d.ts +42 -42
  29. package/lib/cjs/Camera.js +62 -62
  30. package/lib/cjs/Camera.js.map +1 -1
  31. package/lib/cjs/ChangedElements.d.ts +85 -85
  32. package/lib/cjs/ChangedElements.js +23 -23
  33. package/lib/cjs/ChangedElements.js.map +1 -1
  34. package/lib/cjs/ChangedEntities.d.ts +45 -45
  35. package/lib/cjs/ChangedEntities.js +9 -9
  36. package/lib/cjs/ChangedEntities.js.map +1 -1
  37. package/lib/cjs/ChangesetProps.d.ts +98 -98
  38. package/lib/cjs/ChangesetProps.js +22 -22
  39. package/lib/cjs/ChangesetProps.js.map +1 -1
  40. package/lib/cjs/ClipStyle.d.ts +89 -89
  41. package/lib/cjs/ClipStyle.js +123 -123
  42. package/lib/cjs/ClipStyle.js.map +1 -1
  43. package/lib/cjs/CloudStorage.d.ts +62 -62
  44. package/lib/cjs/CloudStorage.js +113 -113
  45. package/lib/cjs/CloudStorage.js.map +1 -1
  46. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  47. package/lib/cjs/CloudStorageTileCache.js +66 -66
  48. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  49. package/lib/cjs/Code.d.ts +256 -256
  50. package/lib/cjs/Code.js +281 -281
  51. package/lib/cjs/Code.js.map +1 -1
  52. package/lib/cjs/ColorByName.d.ts +161 -161
  53. package/lib/cjs/ColorByName.js +169 -169
  54. package/lib/cjs/ColorByName.js.map +1 -1
  55. package/lib/cjs/ColorDef.d.ts +208 -208
  56. package/lib/cjs/ColorDef.js +571 -571
  57. package/lib/cjs/ColorDef.js.map +1 -1
  58. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  59. package/lib/cjs/CommonLoggerCategory.js +26 -26
  60. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  61. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  62. package/lib/cjs/ConcurrentQuery.js +552 -552
  63. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  64. package/lib/cjs/ContextRealityModel.d.ts +276 -276
  65. package/lib/cjs/ContextRealityModel.js +358 -358
  66. package/lib/cjs/ContextRealityModel.js.map +1 -1
  67. package/lib/cjs/DisplayStyleSettings.d.ts +584 -584
  68. package/lib/cjs/DisplayStyleSettings.js +981 -981
  69. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  70. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  71. package/lib/cjs/ECSchemaProps.js +9 -9
  72. package/lib/cjs/ECSchemaProps.js.map +1 -1
  73. package/lib/cjs/ECSqlReader.d.ts +70 -70
  74. package/lib/cjs/ECSqlReader.js +280 -280
  75. package/lib/cjs/ECSqlReader.js.map +1 -1
  76. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  77. package/lib/cjs/ECSqlTypes.js +189 -189
  78. package/lib/cjs/ECSqlTypes.js.map +1 -1
  79. package/lib/cjs/ElementMesh.d.ts +39 -39
  80. package/lib/cjs/ElementMesh.js +56 -56
  81. package/lib/cjs/ElementMesh.js.map +1 -1
  82. package/lib/cjs/ElementProps.d.ts +479 -479
  83. package/lib/cjs/ElementProps.js +99 -99
  84. package/lib/cjs/ElementProps.js.map +1 -1
  85. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  86. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  87. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  88. package/lib/cjs/EntityProps.d.ts +177 -176
  89. package/lib/cjs/EntityProps.d.ts.map +1 -1
  90. package/lib/cjs/EntityProps.js +113 -112
  91. package/lib/cjs/EntityProps.js.map +1 -1
  92. package/lib/cjs/EntityReference.d.ts +51 -51
  93. package/lib/cjs/EntityReference.js +56 -56
  94. package/lib/cjs/EntityReference.js.map +1 -1
  95. package/lib/cjs/Environment.d.ts +61 -61
  96. package/lib/cjs/Environment.js +73 -73
  97. package/lib/cjs/Environment.js.map +1 -1
  98. package/lib/cjs/FeatureIndex.d.ts +39 -39
  99. package/lib/cjs/FeatureIndex.js +63 -63
  100. package/lib/cjs/FeatureIndex.js.map +1 -1
  101. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  102. package/lib/cjs/FeatureSymbology.js +614 -614
  103. package/lib/cjs/FeatureSymbology.js.map +1 -1
  104. package/lib/cjs/FeatureTable.d.ts +141 -141
  105. package/lib/cjs/FeatureTable.js +278 -278
  106. package/lib/cjs/FeatureTable.js.map +1 -1
  107. package/lib/cjs/Fonts.d.ts +51 -51
  108. package/lib/cjs/Fonts.js +53 -53
  109. package/lib/cjs/Fonts.js.map +1 -1
  110. package/lib/cjs/Frustum.d.ts +114 -114
  111. package/lib/cjs/Frustum.js +292 -292
  112. package/lib/cjs/Frustum.js.map +1 -1
  113. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  114. package/lib/cjs/GeoCoordinateServices.js +80 -80
  115. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  116. package/lib/cjs/GeometryContainment.d.ts +28 -28
  117. package/lib/cjs/GeometryContainment.js +9 -9
  118. package/lib/cjs/GeometryContainment.js.map +1 -1
  119. package/lib/cjs/GeometryParams.d.ts +130 -130
  120. package/lib/cjs/GeometryParams.js +174 -174
  121. package/lib/cjs/GeometryParams.js.map +1 -1
  122. package/lib/cjs/GeometrySummary.d.ts +45 -45
  123. package/lib/cjs/GeometrySummary.js +23 -23
  124. package/lib/cjs/GeometrySummary.js.map +1 -1
  125. package/lib/cjs/Gradient.d.ts +139 -139
  126. package/lib/cjs/Gradient.js +455 -455
  127. package/lib/cjs/Gradient.js.map +1 -1
  128. package/lib/cjs/GraphicParams.d.ts +58 -58
  129. package/lib/cjs/GraphicParams.js +85 -85
  130. package/lib/cjs/GraphicParams.js.map +1 -1
  131. package/lib/cjs/GroundPlane.d.ts +52 -52
  132. package/lib/cjs/GroundPlane.js +64 -64
  133. package/lib/cjs/GroundPlane.js.map +1 -1
  134. package/lib/cjs/HSLColor.d.ts +20 -20
  135. package/lib/cjs/HSLColor.js +32 -32
  136. package/lib/cjs/HSLColor.js.map +1 -1
  137. package/lib/cjs/HSVColor.d.ts +30 -30
  138. package/lib/cjs/HSVColor.js +59 -59
  139. package/lib/cjs/HSVColor.js.map +1 -1
  140. package/lib/cjs/HiddenLine.d.ts +97 -97
  141. package/lib/cjs/HiddenLine.js +162 -162
  142. package/lib/cjs/HiddenLine.js.map +1 -1
  143. package/lib/cjs/Hilite.d.ts +50 -50
  144. package/lib/cjs/Hilite.js +64 -64
  145. package/lib/cjs/Hilite.js.map +1 -1
  146. package/lib/cjs/IModel.d.ts +359 -359
  147. package/lib/cjs/IModel.js +347 -347
  148. package/lib/cjs/IModel.js.map +1 -1
  149. package/lib/cjs/IModelError.d.ts +42 -42
  150. package/lib/cjs/IModelError.js +71 -71
  151. package/lib/cjs/IModelError.js.map +1 -1
  152. package/lib/cjs/IModelVersion.d.ts +68 -68
  153. package/lib/cjs/IModelVersion.js +79 -79
  154. package/lib/cjs/IModelVersion.js.map +1 -1
  155. package/lib/cjs/Image.d.ts +86 -86
  156. package/lib/cjs/Image.js +128 -128
  157. package/lib/cjs/Image.js.map +1 -1
  158. package/lib/cjs/IpcAppProps.d.ts +141 -141
  159. package/lib/cjs/IpcAppProps.js +23 -23
  160. package/lib/cjs/IpcAppProps.js.map +1 -1
  161. package/lib/cjs/LightSettings.d.ts +224 -224
  162. package/lib/cjs/LightSettings.js +309 -309
  163. package/lib/cjs/LightSettings.js.map +1 -1
  164. package/lib/cjs/LinePixels.d.ts +34 -34
  165. package/lib/cjs/LinePixels.js +42 -42
  166. package/lib/cjs/LinePixels.js.map +1 -1
  167. package/lib/cjs/Localization.d.ts +113 -113
  168. package/lib/cjs/Localization.js +33 -33
  169. package/lib/cjs/Localization.js.map +1 -1
  170. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  171. package/lib/cjs/MapImagerySettings.js +80 -80
  172. package/lib/cjs/MapImagerySettings.js.map +1 -1
  173. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  174. package/lib/cjs/MapLayerSettings.js +411 -411
  175. package/lib/cjs/MapLayerSettings.js.map +1 -1
  176. package/lib/cjs/MassProperties.d.ts +64 -64
  177. package/lib/cjs/MassProperties.js +23 -23
  178. package/lib/cjs/MassProperties.js.map +1 -1
  179. package/lib/cjs/MaterialProps.d.ts +118 -118
  180. package/lib/cjs/MaterialProps.js +23 -23
  181. package/lib/cjs/MaterialProps.js.map +1 -1
  182. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  183. package/lib/cjs/ModelClipGroup.js +98 -98
  184. package/lib/cjs/ModelClipGroup.js.map +1 -1
  185. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  186. package/lib/cjs/ModelGeometryChanges.js +83 -83
  187. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  188. package/lib/cjs/ModelProps.d.ts +67 -67
  189. package/lib/cjs/ModelProps.js +9 -9
  190. package/lib/cjs/ModelProps.js.map +1 -1
  191. package/lib/cjs/NativeAppProps.d.ts +122 -122
  192. package/lib/cjs/NativeAppProps.js +30 -30
  193. package/lib/cjs/NativeAppProps.js.map +1 -1
  194. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  195. package/lib/cjs/OctEncodedNormal.js +98 -98
  196. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  197. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  198. package/lib/cjs/PlanProjectionSettings.js +63 -63
  199. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  200. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  201. package/lib/cjs/PlanarClipMask.js +136 -136
  202. package/lib/cjs/PlanarClipMask.js.map +1 -1
  203. package/lib/cjs/QPoint.d.ts +479 -479
  204. package/lib/cjs/QPoint.js +826 -826
  205. package/lib/cjs/QPoint.js.map +1 -1
  206. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  207. package/lib/cjs/RealityDataAccessProps.js +19 -19
  208. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  209. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
  210. package/lib/cjs/RealityModelDisplaySettings.js +142 -142
  211. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  212. package/lib/cjs/Render.d.ts +89 -89
  213. package/lib/cjs/Render.js +177 -177
  214. package/lib/cjs/Render.js.map +1 -1
  215. package/lib/cjs/RenderMaterial.d.ts +58 -58
  216. package/lib/cjs/RenderMaterial.js +76 -76
  217. package/lib/cjs/RenderMaterial.js.map +1 -1
  218. package/lib/cjs/RenderSchedule.d.ts +543 -543
  219. package/lib/cjs/RenderSchedule.js +1002 -1002
  220. package/lib/cjs/RenderTexture.d.ts +70 -70
  221. package/lib/cjs/RenderTexture.js +59 -59
  222. package/lib/cjs/RenderTexture.js.map +1 -1
  223. package/lib/cjs/RgbColor.d.ts +47 -47
  224. package/lib/cjs/RgbColor.js +77 -77
  225. package/lib/cjs/RgbColor.js.map +1 -1
  226. package/lib/cjs/RpcInterface.d.ts +33 -33
  227. package/lib/cjs/RpcInterface.js +137 -137
  228. package/lib/cjs/RpcInterface.js.map +1 -1
  229. package/lib/cjs/RpcManager.d.ts +40 -40
  230. package/lib/cjs/RpcManager.js +55 -55
  231. package/lib/cjs/RpcManager.js.map +1 -1
  232. package/lib/cjs/SessionProps.d.ts +16 -16
  233. package/lib/cjs/SessionProps.js +9 -9
  234. package/lib/cjs/SessionProps.js.map +1 -1
  235. package/lib/cjs/SkyBox.d.ts +215 -215
  236. package/lib/cjs/SkyBox.js +210 -210
  237. package/lib/cjs/SkyBox.js.map +1 -1
  238. package/lib/cjs/Snapping.d.ts +49 -49
  239. package/lib/cjs/Snapping.js +9 -9
  240. package/lib/cjs/Snapping.js.map +1 -1
  241. package/lib/cjs/SolarCalculate.d.ts +27 -27
  242. package/lib/cjs/SolarCalculate.js +211 -211
  243. package/lib/cjs/SolarCalculate.js.map +1 -1
  244. package/lib/cjs/SolarShadows.d.ts +35 -35
  245. package/lib/cjs/SolarShadows.js +62 -62
  246. package/lib/cjs/SolarShadows.js.map +1 -1
  247. package/lib/cjs/SpatialClassification.d.ts +208 -208
  248. package/lib/cjs/SpatialClassification.js +340 -340
  249. package/lib/cjs/SpatialClassification.js.map +1 -1
  250. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  251. package/lib/cjs/SubCategoryAppearance.js +96 -96
  252. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  253. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  254. package/lib/cjs/SubCategoryOverride.js +104 -104
  255. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  256. package/lib/cjs/TerrainSettings.d.ts +82 -82
  257. package/lib/cjs/TerrainSettings.js +102 -102
  258. package/lib/cjs/TerrainSettings.js.map +1 -1
  259. package/lib/cjs/TextureMapping.d.ts +116 -116
  260. package/lib/cjs/TextureMapping.js +174 -174
  261. package/lib/cjs/TextureMapping.js.map +1 -1
  262. package/lib/cjs/TextureProps.d.ts +65 -65
  263. package/lib/cjs/TextureProps.js +28 -28
  264. package/lib/cjs/TextureProps.js.map +1 -1
  265. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  266. package/lib/cjs/ThematicDisplay.js +344 -344
  267. package/lib/cjs/ThematicDisplay.js.map +1 -1
  268. package/lib/cjs/Thumbnail.d.ts +26 -26
  269. package/lib/cjs/Thumbnail.js +9 -9
  270. package/lib/cjs/Thumbnail.js.map +1 -1
  271. package/lib/cjs/TileProps.d.ts +82 -82
  272. package/lib/cjs/TileProps.js +29 -29
  273. package/lib/cjs/TileProps.js.map +1 -1
  274. package/lib/cjs/Tween.d.ts +191 -191
  275. package/lib/cjs/Tween.js +570 -570
  276. package/lib/cjs/Tween.js.map +1 -1
  277. package/lib/cjs/TxnAction.d.ts +21 -21
  278. package/lib/cjs/TxnAction.js +29 -29
  279. package/lib/cjs/TxnAction.js.map +1 -1
  280. package/lib/cjs/ViewDetails.d.ts +125 -125
  281. package/lib/cjs/ViewDetails.js +166 -166
  282. package/lib/cjs/ViewDetails.js.map +1 -1
  283. package/lib/cjs/ViewFlags.d.ts +291 -291
  284. package/lib/cjs/ViewFlags.js +368 -368
  285. package/lib/cjs/ViewFlags.js.map +1 -1
  286. package/lib/cjs/ViewProps.d.ts +205 -205
  287. package/lib/cjs/ViewProps.js +9 -9
  288. package/lib/cjs/ViewProps.js.map +1 -1
  289. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  290. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  291. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  292. package/lib/cjs/core-common.d.ts +244 -244
  293. package/lib/cjs/core-common.js +260 -260
  294. package/lib/cjs/core-common.js.map +1 -1
  295. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  296. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  297. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  298. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  299. package/lib/cjs/domains/GenericElementProps.js +9 -9
  300. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  301. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  302. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  303. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  304. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  305. package/lib/cjs/geometry/AreaPattern.js +204 -204
  306. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  307. package/lib/cjs/geometry/BoundingSphere.d.ts +14 -14
  308. package/lib/cjs/geometry/BoundingSphere.js +30 -30
  309. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  310. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  311. package/lib/cjs/geometry/Cartographic.js +345 -345
  312. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  313. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  314. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  315. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  316. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  317. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  318. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  319. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  320. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  321. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  322. package/lib/cjs/geometry/FrustumPlanes.d.ts +32 -32
  323. package/lib/cjs/geometry/FrustumPlanes.js +132 -132
  324. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  325. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  326. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  327. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  328. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  329. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  330. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  331. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  332. package/lib/cjs/geometry/GeometryStream.js +469 -469
  333. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  334. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  335. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  336. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  337. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  338. package/lib/cjs/geometry/LineStyle.js +129 -129
  339. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  340. package/lib/cjs/geometry/Placement.d.ts +95 -95
  341. package/lib/cjs/geometry/Placement.js +131 -131
  342. package/lib/cjs/geometry/Placement.js.map +1 -1
  343. package/lib/cjs/geometry/Projection.d.ts +251 -251
  344. package/lib/cjs/geometry/Projection.js +198 -198
  345. package/lib/cjs/geometry/Projection.js.map +1 -1
  346. package/lib/cjs/geometry/TextString.d.ts +55 -55
  347. package/lib/cjs/geometry/TextString.js +65 -65
  348. package/lib/cjs/geometry/TextString.js.map +1 -1
  349. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  350. package/lib/cjs/ipc/IpcSession.js +27 -27
  351. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  352. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  353. package/lib/cjs/ipc/IpcSocket.js +16 -16
  354. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  355. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  356. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  357. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  358. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  359. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  360. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  361. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  362. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  363. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  364. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  365. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  366. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  367. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  368. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -96
  369. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  370. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  371. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  372. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  373. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  374. package/lib/cjs/rpc/TestRpcManager.js +39 -39
  375. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  376. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  377. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  378. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  379. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  380. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  381. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  382. package/lib/cjs/rpc/core/RpcConstants.d.ts +85 -85
  383. package/lib/cjs/rpc/core/RpcConstants.js +103 -103
  384. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  385. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  386. package/lib/cjs/rpc/core/RpcControl.js +144 -144
  387. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  388. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  389. package/lib/cjs/rpc/core/RpcInvocation.js +258 -258
  390. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  391. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  392. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  393. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  394. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  395. package/lib/cjs/rpc/core/RpcOperation.js +133 -133
  396. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  397. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  398. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -94
  399. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  400. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  401. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  402. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  403. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  404. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  405. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  406. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  407. package/lib/cjs/rpc/core/RpcRegistry.js +198 -198
  408. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  409. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  410. package/lib/cjs/rpc/core/RpcRequest.js +477 -477
  411. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  412. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  413. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  414. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  415. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  416. package/lib/cjs/rpc/core/RpcRoutingToken.js +23 -23
  417. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  418. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  419. package/lib/cjs/rpc/core/RpcSessionInvocation.js +59 -59
  420. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  421. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  422. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  423. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  424. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  425. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +142 -142
  426. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  427. package/lib/cjs/rpc/web/OpenAPI.d.ts +139 -139
  428. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  429. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  430. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  431. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  432. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  433. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  434. package/lib/cjs/rpc/web/WebAppRpcLogging.js +139 -139
  435. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  436. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +87 -87
  437. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  438. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  439. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  440. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  441. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  442. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  443. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +372 -372
  444. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  445. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  446. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  447. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  448. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  449. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  450. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  451. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  452. package/lib/cjs/tile/ElementGraphics.js +9 -9
  453. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  454. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  455. package/lib/cjs/tile/GltfTileIO.js +109 -109
  456. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  457. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  458. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  459. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  460. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  461. package/lib/cjs/tile/IModelTileIO.js +95 -95
  462. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  463. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  464. package/lib/cjs/tile/PntsTileIO.js +26 -26
  465. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  466. package/lib/cjs/tile/TileIO.d.ts +66 -66
  467. package/lib/cjs/tile/TileIO.js +118 -118
  468. package/lib/cjs/tile/TileIO.js.map +1 -1
  469. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  470. package/lib/cjs/tile/TileMetadata.js +676 -676
  471. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  472. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  473. package/lib/esm/AmbientOcclusion.js +52 -52
  474. package/lib/esm/AmbientOcclusion.js.map +1 -1
  475. package/lib/esm/AnalysisStyle.d.ts +134 -134
  476. package/lib/esm/AnalysisStyle.js +159 -159
  477. package/lib/esm/AnalysisStyle.js.map +1 -1
  478. package/lib/esm/AuthorizationClient.d.ts +11 -11
  479. package/lib/esm/AuthorizationClient.js +8 -8
  480. package/lib/esm/AuthorizationClient.js.map +1 -1
  481. package/lib/esm/BackendTypes.d.ts +12 -12
  482. package/lib/esm/BackendTypes.js +8 -8
  483. package/lib/esm/BackendTypes.js.map +1 -1
  484. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  485. package/lib/esm/BackgroundMapProvider.js +64 -64
  486. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  487. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  488. package/lib/esm/BackgroundMapSettings.js +152 -152
  489. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  490. package/lib/esm/Base64EncodedString.d.ts +32 -32
  491. package/lib/esm/Base64EncodedString.js +63 -63
  492. package/lib/esm/Base64EncodedString.js.map +1 -1
  493. package/lib/esm/BlobReader.d.ts +31 -31
  494. package/lib/esm/BlobReader.js +79 -79
  495. package/lib/esm/BlobReader.js.map +1 -1
  496. package/lib/esm/BriefcaseTypes.d.ts +189 -189
  497. package/lib/esm/BriefcaseTypes.js +92 -92
  498. package/lib/esm/BriefcaseTypes.js.map +1 -1
  499. package/lib/esm/Camera.d.ts +42 -42
  500. package/lib/esm/Camera.js +58 -58
  501. package/lib/esm/Camera.js.map +1 -1
  502. package/lib/esm/ChangedElements.d.ts +85 -85
  503. package/lib/esm/ChangedElements.js +20 -20
  504. package/lib/esm/ChangedElements.js.map +1 -1
  505. package/lib/esm/ChangedEntities.d.ts +45 -45
  506. package/lib/esm/ChangedEntities.js +8 -8
  507. package/lib/esm/ChangedEntities.js.map +1 -1
  508. package/lib/esm/ChangesetProps.d.ts +98 -98
  509. package/lib/esm/ChangesetProps.js +19 -19
  510. package/lib/esm/ChangesetProps.js.map +1 -1
  511. package/lib/esm/ClipStyle.d.ts +89 -89
  512. package/lib/esm/ClipStyle.js +118 -118
  513. package/lib/esm/ClipStyle.js.map +1 -1
  514. package/lib/esm/CloudStorage.d.ts +62 -62
  515. package/lib/esm/CloudStorage.js +109 -109
  516. package/lib/esm/CloudStorage.js.map +1 -1
  517. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  518. package/lib/esm/CloudStorageTileCache.js +62 -62
  519. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  520. package/lib/esm/Code.d.ts +256 -256
  521. package/lib/esm/Code.js +276 -276
  522. package/lib/esm/Code.js.map +1 -1
  523. package/lib/esm/ColorByName.d.ts +161 -161
  524. package/lib/esm/ColorByName.js +166 -166
  525. package/lib/esm/ColorByName.js.map +1 -1
  526. package/lib/esm/ColorDef.d.ts +208 -208
  527. package/lib/esm/ColorDef.js +567 -567
  528. package/lib/esm/ColorDef.js.map +1 -1
  529. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  530. package/lib/esm/CommonLoggerCategory.js +23 -23
  531. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  532. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  533. package/lib/esm/ConcurrentQuery.js +545 -545
  534. package/lib/esm/ConcurrentQuery.js.map +1 -1
  535. package/lib/esm/ContextRealityModel.d.ts +276 -276
  536. package/lib/esm/ContextRealityModel.js +353 -353
  537. package/lib/esm/ContextRealityModel.js.map +1 -1
  538. package/lib/esm/DisplayStyleSettings.d.ts +584 -584
  539. package/lib/esm/DisplayStyleSettings.js +976 -976
  540. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  541. package/lib/esm/ECSchemaProps.d.ts +39 -39
  542. package/lib/esm/ECSchemaProps.js +8 -8
  543. package/lib/esm/ECSchemaProps.js.map +1 -1
  544. package/lib/esm/ECSqlReader.d.ts +70 -70
  545. package/lib/esm/ECSqlReader.js +275 -275
  546. package/lib/esm/ECSqlReader.js.map +1 -1
  547. package/lib/esm/ECSqlTypes.d.ts +128 -128
  548. package/lib/esm/ECSqlTypes.js +185 -185
  549. package/lib/esm/ECSqlTypes.js.map +1 -1
  550. package/lib/esm/ElementMesh.d.ts +39 -39
  551. package/lib/esm/ElementMesh.js +52 -52
  552. package/lib/esm/ElementMesh.js.map +1 -1
  553. package/lib/esm/ElementProps.d.ts +479 -479
  554. package/lib/esm/ElementProps.js +92 -92
  555. package/lib/esm/ElementProps.js.map +1 -1
  556. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  557. package/lib/esm/EmphasizeElementsProps.js +22 -22
  558. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  559. package/lib/esm/EntityProps.d.ts +177 -176
  560. package/lib/esm/EntityProps.d.ts.map +1 -1
  561. package/lib/esm/EntityProps.js +108 -107
  562. package/lib/esm/EntityProps.js.map +1 -1
  563. package/lib/esm/EntityReference.d.ts +51 -51
  564. package/lib/esm/EntityReference.js +52 -52
  565. package/lib/esm/EntityReference.js.map +1 -1
  566. package/lib/esm/Environment.d.ts +61 -61
  567. package/lib/esm/Environment.js +69 -69
  568. package/lib/esm/Environment.js.map +1 -1
  569. package/lib/esm/FeatureIndex.d.ts +39 -39
  570. package/lib/esm/FeatureIndex.js +57 -57
  571. package/lib/esm/FeatureIndex.js.map +1 -1
  572. package/lib/esm/FeatureSymbology.d.ts +444 -444
  573. package/lib/esm/FeatureSymbology.js +609 -609
  574. package/lib/esm/FeatureSymbology.js.map +1 -1
  575. package/lib/esm/FeatureTable.d.ts +141 -141
  576. package/lib/esm/FeatureTable.js +272 -272
  577. package/lib/esm/FeatureTable.js.map +1 -1
  578. package/lib/esm/Fonts.d.ts +51 -51
  579. package/lib/esm/Fonts.js +49 -49
  580. package/lib/esm/Fonts.js.map +1 -1
  581. package/lib/esm/Frustum.d.ts +114 -114
  582. package/lib/esm/Frustum.js +288 -288
  583. package/lib/esm/Frustum.js.map +1 -1
  584. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  585. package/lib/esm/GeoCoordinateServices.js +76 -76
  586. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  587. package/lib/esm/GeometryContainment.d.ts +28 -28
  588. package/lib/esm/GeometryContainment.js +8 -8
  589. package/lib/esm/GeometryContainment.js.map +1 -1
  590. package/lib/esm/GeometryParams.d.ts +130 -130
  591. package/lib/esm/GeometryParams.js +170 -170
  592. package/lib/esm/GeometryParams.js.map +1 -1
  593. package/lib/esm/GeometrySummary.d.ts +45 -45
  594. package/lib/esm/GeometrySummary.js +20 -20
  595. package/lib/esm/GeometrySummary.js.map +1 -1
  596. package/lib/esm/Gradient.d.ts +139 -139
  597. package/lib/esm/Gradient.js +452 -452
  598. package/lib/esm/Gradient.js.map +1 -1
  599. package/lib/esm/GraphicParams.d.ts +58 -58
  600. package/lib/esm/GraphicParams.js +81 -81
  601. package/lib/esm/GraphicParams.js.map +1 -1
  602. package/lib/esm/GroundPlane.d.ts +52 -52
  603. package/lib/esm/GroundPlane.js +60 -60
  604. package/lib/esm/GroundPlane.js.map +1 -1
  605. package/lib/esm/HSLColor.d.ts +20 -20
  606. package/lib/esm/HSLColor.js +28 -28
  607. package/lib/esm/HSLColor.js.map +1 -1
  608. package/lib/esm/HSVColor.d.ts +30 -30
  609. package/lib/esm/HSVColor.js +55 -55
  610. package/lib/esm/HSVColor.js.map +1 -1
  611. package/lib/esm/HiddenLine.d.ts +97 -97
  612. package/lib/esm/HiddenLine.js +159 -159
  613. package/lib/esm/HiddenLine.js.map +1 -1
  614. package/lib/esm/Hilite.d.ts +50 -50
  615. package/lib/esm/Hilite.js +61 -61
  616. package/lib/esm/Hilite.js.map +1 -1
  617. package/lib/esm/IModel.d.ts +359 -359
  618. package/lib/esm/IModel.js +342 -342
  619. package/lib/esm/IModel.js.map +1 -1
  620. package/lib/esm/IModelError.d.ts +42 -42
  621. package/lib/esm/IModelError.js +56 -56
  622. package/lib/esm/IModelError.js.map +1 -1
  623. package/lib/esm/IModelVersion.d.ts +68 -68
  624. package/lib/esm/IModelVersion.js +75 -75
  625. package/lib/esm/IModelVersion.js.map +1 -1
  626. package/lib/esm/Image.d.ts +86 -86
  627. package/lib/esm/Image.js +120 -120
  628. package/lib/esm/Image.js.map +1 -1
  629. package/lib/esm/IpcAppProps.d.ts +141 -141
  630. package/lib/esm/IpcAppProps.js +19 -19
  631. package/lib/esm/IpcAppProps.js.map +1 -1
  632. package/lib/esm/LightSettings.d.ts +224 -224
  633. package/lib/esm/LightSettings.js +301 -301
  634. package/lib/esm/LightSettings.js.map +1 -1
  635. package/lib/esm/LinePixels.d.ts +34 -34
  636. package/lib/esm/LinePixels.js +39 -39
  637. package/lib/esm/LinePixels.js.map +1 -1
  638. package/lib/esm/Localization.d.ts +113 -113
  639. package/lib/esm/Localization.js +29 -29
  640. package/lib/esm/Localization.js.map +1 -1
  641. package/lib/esm/MapImagerySettings.d.ts +62 -62
  642. package/lib/esm/MapImagerySettings.js +76 -76
  643. package/lib/esm/MapImagerySettings.js.map +1 -1
  644. package/lib/esm/MapLayerSettings.d.ts +272 -272
  645. package/lib/esm/MapLayerSettings.js +403 -403
  646. package/lib/esm/MapLayerSettings.js.map +1 -1
  647. package/lib/esm/MassProperties.d.ts +64 -64
  648. package/lib/esm/MassProperties.js +20 -20
  649. package/lib/esm/MassProperties.js.map +1 -1
  650. package/lib/esm/MaterialProps.d.ts +118 -118
  651. package/lib/esm/MaterialProps.js +20 -20
  652. package/lib/esm/MaterialProps.js.map +1 -1
  653. package/lib/esm/ModelClipGroup.d.ts +67 -67
  654. package/lib/esm/ModelClipGroup.js +93 -93
  655. package/lib/esm/ModelClipGroup.js.map +1 -1
  656. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  657. package/lib/esm/ModelGeometryChanges.js +80 -80
  658. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  659. package/lib/esm/ModelProps.d.ts +67 -67
  660. package/lib/esm/ModelProps.js +8 -8
  661. package/lib/esm/ModelProps.js.map +1 -1
  662. package/lib/esm/NativeAppProps.d.ts +122 -122
  663. package/lib/esm/NativeAppProps.js +27 -27
  664. package/lib/esm/NativeAppProps.js.map +1 -1
  665. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  666. package/lib/esm/OctEncodedNormal.js +93 -93
  667. package/lib/esm/OctEncodedNormal.js.map +1 -1
  668. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  669. package/lib/esm/PlanProjectionSettings.js +59 -59
  670. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  671. package/lib/esm/PlanarClipMask.d.ts +177 -177
  672. package/lib/esm/PlanarClipMask.js +132 -132
  673. package/lib/esm/PlanarClipMask.js.map +1 -1
  674. package/lib/esm/QPoint.d.ts +479 -479
  675. package/lib/esm/QPoint.js +815 -815
  676. package/lib/esm/QPoint.js.map +1 -1
  677. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  678. package/lib/esm/RealityDataAccessProps.js +16 -16
  679. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  680. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  681. package/lib/esm/RealityModelDisplaySettings.js +137 -137
  682. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  683. package/lib/esm/Render.d.ts +89 -89
  684. package/lib/esm/Render.js +165 -165
  685. package/lib/esm/Render.js.map +1 -1
  686. package/lib/esm/RenderMaterial.d.ts +58 -58
  687. package/lib/esm/RenderMaterial.js +72 -72
  688. package/lib/esm/RenderMaterial.js.map +1 -1
  689. package/lib/esm/RenderSchedule.d.ts +543 -543
  690. package/lib/esm/RenderSchedule.js +999 -999
  691. package/lib/esm/RenderTexture.d.ts +70 -70
  692. package/lib/esm/RenderTexture.js +55 -55
  693. package/lib/esm/RenderTexture.js.map +1 -1
  694. package/lib/esm/RgbColor.d.ts +47 -47
  695. package/lib/esm/RgbColor.js +73 -73
  696. package/lib/esm/RgbColor.js.map +1 -1
  697. package/lib/esm/RpcInterface.d.ts +33 -33
  698. package/lib/esm/RpcInterface.js +133 -133
  699. package/lib/esm/RpcInterface.js.map +1 -1
  700. package/lib/esm/RpcManager.d.ts +40 -40
  701. package/lib/esm/RpcManager.js +51 -51
  702. package/lib/esm/RpcManager.js.map +1 -1
  703. package/lib/esm/SessionProps.d.ts +16 -16
  704. package/lib/esm/SessionProps.js +8 -8
  705. package/lib/esm/SessionProps.js.map +1 -1
  706. package/lib/esm/SkyBox.d.ts +215 -215
  707. package/lib/esm/SkyBox.js +203 -203
  708. package/lib/esm/SkyBox.js.map +1 -1
  709. package/lib/esm/Snapping.d.ts +49 -49
  710. package/lib/esm/Snapping.js +8 -8
  711. package/lib/esm/Snapping.js.map +1 -1
  712. package/lib/esm/SolarCalculate.d.ts +27 -27
  713. package/lib/esm/SolarCalculate.js +204 -204
  714. package/lib/esm/SolarCalculate.js.map +1 -1
  715. package/lib/esm/SolarShadows.d.ts +35 -35
  716. package/lib/esm/SolarShadows.js +58 -58
  717. package/lib/esm/SolarShadows.js.map +1 -1
  718. package/lib/esm/SpatialClassification.d.ts +208 -208
  719. package/lib/esm/SpatialClassification.js +334 -334
  720. package/lib/esm/SpatialClassification.js.map +1 -1
  721. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  722. package/lib/esm/SubCategoryAppearance.js +92 -92
  723. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  724. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  725. package/lib/esm/SubCategoryOverride.js +100 -100
  726. package/lib/esm/SubCategoryOverride.js.map +1 -1
  727. package/lib/esm/TerrainSettings.d.ts +82 -82
  728. package/lib/esm/TerrainSettings.js +98 -98
  729. package/lib/esm/TerrainSettings.js.map +1 -1
  730. package/lib/esm/TextureMapping.d.ts +116 -116
  731. package/lib/esm/TextureMapping.js +170 -170
  732. package/lib/esm/TextureMapping.js.map +1 -1
  733. package/lib/esm/TextureProps.d.ts +65 -65
  734. package/lib/esm/TextureProps.js +25 -25
  735. package/lib/esm/TextureProps.js.map +1 -1
  736. package/lib/esm/ThematicDisplay.d.ts +230 -230
  737. package/lib/esm/ThematicDisplay.js +337 -337
  738. package/lib/esm/ThematicDisplay.js.map +1 -1
  739. package/lib/esm/Thumbnail.d.ts +26 -26
  740. package/lib/esm/Thumbnail.js +8 -8
  741. package/lib/esm/Thumbnail.js.map +1 -1
  742. package/lib/esm/TileProps.d.ts +82 -82
  743. package/lib/esm/TileProps.js +25 -25
  744. package/lib/esm/TileProps.js.map +1 -1
  745. package/lib/esm/Tween.d.ts +191 -191
  746. package/lib/esm/Tween.js +565 -565
  747. package/lib/esm/Tween.js.map +1 -1
  748. package/lib/esm/TxnAction.d.ts +21 -21
  749. package/lib/esm/TxnAction.js +26 -26
  750. package/lib/esm/TxnAction.js.map +1 -1
  751. package/lib/esm/ViewDetails.d.ts +125 -125
  752. package/lib/esm/ViewDetails.js +161 -161
  753. package/lib/esm/ViewDetails.js.map +1 -1
  754. package/lib/esm/ViewFlags.d.ts +291 -291
  755. package/lib/esm/ViewFlags.js +364 -364
  756. package/lib/esm/ViewFlags.js.map +1 -1
  757. package/lib/esm/ViewProps.d.ts +205 -205
  758. package/lib/esm/ViewProps.js +8 -8
  759. package/lib/esm/ViewProps.js.map +1 -1
  760. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  761. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  762. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  763. package/lib/esm/core-common.d.ts +244 -244
  764. package/lib/esm/core-common.js +248 -248
  765. package/lib/esm/core-common.js.map +1 -1
  766. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  767. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  768. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  769. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  770. package/lib/esm/domains/GenericElementProps.js +8 -8
  771. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  772. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  773. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  774. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  775. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  776. package/lib/esm/geometry/AreaPattern.js +201 -201
  777. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  778. package/lib/esm/geometry/BoundingSphere.d.ts +14 -14
  779. package/lib/esm/geometry/BoundingSphere.js +26 -26
  780. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  781. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  782. package/lib/esm/geometry/Cartographic.js +340 -340
  783. package/lib/esm/geometry/Cartographic.js.map +1 -1
  784. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  785. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  786. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  787. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  788. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  789. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  790. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  791. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  792. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  793. package/lib/esm/geometry/FrustumPlanes.d.ts +32 -32
  794. package/lib/esm/geometry/FrustumPlanes.js +128 -128
  795. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  796. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  797. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  798. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  799. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  800. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  801. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  802. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  803. package/lib/esm/geometry/GeometryStream.js +464 -464
  804. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  805. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  806. package/lib/esm/geometry/ImageGraphic.js +93 -93
  807. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  808. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  809. package/lib/esm/geometry/LineStyle.js +126 -126
  810. package/lib/esm/geometry/LineStyle.js.map +1 -1
  811. package/lib/esm/geometry/Placement.d.ts +95 -95
  812. package/lib/esm/geometry/Placement.js +126 -126
  813. package/lib/esm/geometry/Placement.js.map +1 -1
  814. package/lib/esm/geometry/Projection.d.ts +251 -251
  815. package/lib/esm/geometry/Projection.js +192 -192
  816. package/lib/esm/geometry/Projection.js.map +1 -1
  817. package/lib/esm/geometry/TextString.d.ts +55 -55
  818. package/lib/esm/geometry/TextString.js +61 -61
  819. package/lib/esm/geometry/TextString.js.map +1 -1
  820. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  821. package/lib/esm/ipc/IpcSession.js +23 -23
  822. package/lib/esm/ipc/IpcSession.js.map +1 -1
  823. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  824. package/lib/esm/ipc/IpcSocket.js +12 -12
  825. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  826. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  827. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  828. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  829. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  830. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  831. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  832. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  833. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  834. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  835. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  836. package/lib/esm/rpc/IModelReadRpcInterface.js +117 -117
  837. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  838. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  839. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -92
  840. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  841. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  842. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  843. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  844. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  845. package/lib/esm/rpc/TestRpcManager.js +35 -35
  846. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  847. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  848. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  849. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  850. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  851. package/lib/esm/rpc/core/RpcConfiguration.js +184 -184
  852. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  853. package/lib/esm/rpc/core/RpcConstants.d.ts +85 -85
  854. package/lib/esm/rpc/core/RpcConstants.js +100 -100
  855. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  856. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  857. package/lib/esm/rpc/core/RpcControl.js +137 -137
  858. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  859. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  860. package/lib/esm/rpc/core/RpcInvocation.js +254 -254
  861. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  862. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  863. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  864. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  865. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  866. package/lib/esm/rpc/core/RpcOperation.js +128 -128
  867. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  868. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  869. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -90
  870. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  871. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  872. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  873. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  874. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  875. package/lib/esm/rpc/core/RpcPush.js +119 -119
  876. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  877. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  878. package/lib/esm/rpc/core/RpcRegistry.js +194 -194
  879. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  880. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  881. package/lib/esm/rpc/core/RpcRequest.js +472 -472
  882. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  883. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  884. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  885. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  886. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  887. package/lib/esm/rpc/core/RpcRoutingToken.js +19 -19
  888. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  889. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  890. package/lib/esm/rpc/core/RpcSessionInvocation.js +55 -55
  891. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  892. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  893. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  894. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  895. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  896. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +138 -138
  897. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  898. package/lib/esm/rpc/web/OpenAPI.d.ts +139 -139
  899. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  900. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  901. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  902. package/lib/esm/rpc/web/RpcMultipart.js +46 -46
  903. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  904. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  905. package/lib/esm/rpc/web/WebAppRpcLogging.js +135 -135
  906. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  907. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +87 -87
  908. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  909. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  910. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  911. package/lib/esm/rpc/web/WebAppRpcRequest.js +235 -235
  912. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  913. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  914. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +368 -368
  915. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  916. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  917. package/lib/esm/tile/B3dmTileIO.js +62 -62
  918. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  919. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  920. package/lib/esm/tile/CompositeTileIO.js +22 -22
  921. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  922. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  923. package/lib/esm/tile/ElementGraphics.js +8 -8
  924. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  925. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  926. package/lib/esm/tile/GltfTileIO.js +105 -105
  927. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  928. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  929. package/lib/esm/tile/I3dmTileIO.js +36 -36
  930. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  931. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  932. package/lib/esm/tile/IModelTileIO.js +90 -90
  933. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  934. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  935. package/lib/esm/tile/PntsTileIO.js +22 -22
  936. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  937. package/lib/esm/tile/TileIO.d.ts +66 -66
  938. package/lib/esm/tile/TileIO.js +110 -110
  939. package/lib/esm/tile/TileIO.js.map +1 -1
  940. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  941. package/lib/esm/tile/TileMetadata.js +661 -661
  942. package/lib/esm/tile/TileMetadata.js.map +1 -1
  943. 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":["/*---------------------------------------------------------------------------------------------\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
+ {"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,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":["/*---------------------------------------------------------------------------------------------\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"]}
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"]}