@itwin/core-common 4.0.0-dev.6 → 4.0.0-dev.61

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 (970) hide show
  1. package/CHANGELOG.md +35 -17
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  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 +17 -17
  8. package/lib/cjs/AuthorizationClient.js +9 -9
  9. package/lib/cjs/BackendTypes.d.ts +13 -12
  10. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  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.d.ts.map +1 -1
  15. package/lib/cjs/BackgroundMapProvider.js +67 -68
  16. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  17. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  18. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  19. package/lib/cjs/BackgroundMapSettings.js +154 -156
  20. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  21. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  22. package/lib/cjs/Base64EncodedString.d.ts.map +1 -1
  23. package/lib/cjs/Base64EncodedString.js +66 -66
  24. package/lib/cjs/Base64EncodedString.js.map +1 -1
  25. package/lib/cjs/BlobReader.d.ts +31 -31
  26. package/lib/cjs/BlobReader.js +84 -84
  27. package/lib/cjs/BriefcaseTypes.d.ts +191 -189
  28. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  29. package/lib/cjs/BriefcaseTypes.js +95 -95
  30. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  31. package/lib/cjs/Camera.d.ts +42 -42
  32. package/lib/cjs/Camera.js +62 -62
  33. package/lib/cjs/Camera.js.map +1 -1
  34. package/lib/cjs/ChangedElements.d.ts +85 -85
  35. package/lib/cjs/ChangedElements.js +23 -23
  36. package/lib/cjs/ChangedEntities.d.ts +45 -45
  37. package/lib/cjs/ChangedEntities.d.ts.map +1 -1
  38. package/lib/cjs/ChangedEntities.js +9 -9
  39. package/lib/cjs/ChangesetProps.d.ts +98 -98
  40. package/lib/cjs/ChangesetProps.d.ts.map +1 -1
  41. package/lib/cjs/ChangesetProps.js +22 -22
  42. package/lib/cjs/ClipStyle.d.ts +89 -89
  43. package/lib/cjs/ClipStyle.js +121 -123
  44. package/lib/cjs/ClipStyle.js.map +1 -1
  45. package/lib/cjs/Code.d.ts +277 -277
  46. package/lib/cjs/Code.d.ts.map +1 -1
  47. package/lib/cjs/Code.js +268 -269
  48. package/lib/cjs/Code.js.map +1 -1
  49. package/lib/cjs/ColorByName.d.ts +161 -161
  50. package/lib/cjs/ColorByName.js +169 -169
  51. package/lib/cjs/ColorDef.d.ts +210 -208
  52. package/lib/cjs/ColorDef.d.ts.map +1 -1
  53. package/lib/cjs/ColorDef.js +572 -571
  54. package/lib/cjs/ColorDef.js.map +1 -1
  55. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  56. package/lib/cjs/CommonLoggerCategory.js +26 -26
  57. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  58. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  59. package/lib/cjs/ConcurrentQuery.js +552 -552
  60. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  61. package/lib/cjs/ContextRealityModel.d.ts +303 -303
  62. package/lib/cjs/ContextRealityModel.js +371 -373
  63. package/lib/cjs/ContextRealityModel.js.map +1 -1
  64. package/lib/cjs/DisplayStyleSettings.d.ts +588 -588
  65. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  66. package/lib/cjs/DisplayStyleSettings.js +981 -985
  67. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  68. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  69. package/lib/cjs/ECSchemaProps.js +9 -9
  70. package/lib/cjs/ECSqlReader.d.ts +70 -70
  71. package/lib/cjs/ECSqlReader.d.ts.map +1 -1
  72. package/lib/cjs/ECSqlReader.js +280 -280
  73. package/lib/cjs/ECSqlReader.js.map +1 -1
  74. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  75. package/lib/cjs/ECSqlTypes.js +189 -189
  76. package/lib/cjs/ElementMesh.d.ts +39 -39
  77. package/lib/cjs/ElementMesh.js +56 -56
  78. package/lib/cjs/ElementProps.d.ts +483 -483
  79. package/lib/cjs/ElementProps.d.ts.map +1 -1
  80. package/lib/cjs/ElementProps.js +99 -99
  81. package/lib/cjs/ElementProps.js.map +1 -1
  82. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  83. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  84. package/lib/cjs/EntityProps.d.ts +177 -177
  85. package/lib/cjs/EntityProps.d.ts.map +1 -1
  86. package/lib/cjs/EntityProps.js +113 -113
  87. package/lib/cjs/EntityReference.d.ts +51 -51
  88. package/lib/cjs/EntityReference.d.ts.map +1 -1
  89. package/lib/cjs/EntityReference.js +56 -56
  90. package/lib/cjs/Environment.d.ts +61 -61
  91. package/lib/cjs/Environment.d.ts.map +1 -1
  92. package/lib/cjs/Environment.js +70 -73
  93. package/lib/cjs/Environment.js.map +1 -1
  94. package/lib/cjs/FeatureIndex.d.ts +39 -39
  95. package/lib/cjs/FeatureIndex.js +63 -63
  96. package/lib/cjs/FeatureIndex.js.map +1 -1
  97. package/lib/cjs/FeatureSymbology.d.ts +449 -444
  98. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  99. package/lib/cjs/FeatureSymbology.js +618 -614
  100. package/lib/cjs/FeatureSymbology.js.map +1 -1
  101. package/lib/cjs/FeatureTable.d.ts +248 -141
  102. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  103. package/lib/cjs/FeatureTable.js +470 -278
  104. package/lib/cjs/FeatureTable.js.map +1 -1
  105. package/lib/cjs/Fonts.d.ts +51 -51
  106. package/lib/cjs/Fonts.d.ts.map +1 -1
  107. package/lib/cjs/Fonts.js +53 -53
  108. package/lib/cjs/Frustum.d.ts +114 -114
  109. package/lib/cjs/Frustum.js +292 -292
  110. package/lib/cjs/GeoCoordinateServices.d.ts +123 -119
  111. package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
  112. package/lib/cjs/GeoCoordinateServices.js +81 -80
  113. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  114. package/lib/cjs/GeometryContainment.d.ts +28 -28
  115. package/lib/cjs/GeometryContainment.js +9 -9
  116. package/lib/cjs/GeometryParams.d.ts +130 -130
  117. package/lib/cjs/GeometryParams.js +174 -174
  118. package/lib/cjs/GeometrySummary.d.ts +45 -45
  119. package/lib/cjs/GeometrySummary.js +23 -23
  120. package/lib/cjs/Gradient.d.ts +139 -139
  121. package/lib/cjs/Gradient.js +453 -455
  122. package/lib/cjs/Gradient.js.map +1 -1
  123. package/lib/cjs/GraphicParams.d.ts +58 -58
  124. package/lib/cjs/GraphicParams.js +85 -85
  125. package/lib/cjs/GraphicParams.js.map +1 -1
  126. package/lib/cjs/GroundPlane.d.ts +52 -52
  127. package/lib/cjs/GroundPlane.d.ts.map +1 -1
  128. package/lib/cjs/GroundPlane.js +63 -64
  129. package/lib/cjs/GroundPlane.js.map +1 -1
  130. package/lib/cjs/HSLColor.d.ts +20 -20
  131. package/lib/cjs/HSLColor.js +32 -32
  132. package/lib/cjs/HSLColor.js.map +1 -1
  133. package/lib/cjs/HSVColor.d.ts +30 -30
  134. package/lib/cjs/HSVColor.js +59 -59
  135. package/lib/cjs/HSVColor.js.map +1 -1
  136. package/lib/cjs/HiddenLine.d.ts +97 -97
  137. package/lib/cjs/HiddenLine.js +160 -162
  138. package/lib/cjs/HiddenLine.js.map +1 -1
  139. package/lib/cjs/Hilite.d.ts +50 -50
  140. package/lib/cjs/Hilite.js +64 -64
  141. package/lib/cjs/Hilite.js.map +1 -1
  142. package/lib/cjs/IModel.d.ts +358 -359
  143. package/lib/cjs/IModel.d.ts.map +1 -1
  144. package/lib/cjs/IModel.js +347 -347
  145. package/lib/cjs/IModel.js.map +1 -1
  146. package/lib/cjs/IModelError.d.ts +42 -42
  147. package/lib/cjs/IModelError.d.ts.map +1 -1
  148. package/lib/cjs/IModelError.js +71 -71
  149. package/lib/cjs/IModelVersion.d.ts +68 -68
  150. package/lib/cjs/IModelVersion.d.ts.map +1 -1
  151. package/lib/cjs/IModelVersion.js +79 -79
  152. package/lib/cjs/Image.d.ts +86 -86
  153. package/lib/cjs/Image.js +128 -128
  154. package/lib/cjs/Image.js.map +1 -1
  155. package/lib/cjs/IpcAppProps.d.ts +141 -141
  156. package/lib/cjs/IpcAppProps.js +23 -23
  157. package/lib/cjs/LightSettings.d.ts +224 -224
  158. package/lib/cjs/LightSettings.js +304 -309
  159. package/lib/cjs/LightSettings.js.map +1 -1
  160. package/lib/cjs/LinePixels.d.ts +34 -34
  161. package/lib/cjs/LinePixels.js +42 -42
  162. package/lib/cjs/Localization.d.ts +113 -113
  163. package/lib/cjs/Localization.js +33 -33
  164. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  165. package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
  166. package/lib/cjs/MapImagerySettings.js +80 -80
  167. package/lib/cjs/MapImagerySettings.js.map +1 -1
  168. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  169. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  170. package/lib/cjs/MapLayerSettings.js +407 -411
  171. package/lib/cjs/MapLayerSettings.js.map +1 -1
  172. package/lib/cjs/MassProperties.d.ts +64 -64
  173. package/lib/cjs/MassProperties.js +23 -23
  174. package/lib/cjs/MaterialProps.d.ts +153 -153
  175. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  176. package/lib/cjs/MaterialProps.js +35 -35
  177. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  178. package/lib/cjs/ModelClipGroup.js +96 -98
  179. package/lib/cjs/ModelClipGroup.js.map +1 -1
  180. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  181. package/lib/cjs/ModelGeometryChanges.d.ts.map +1 -1
  182. package/lib/cjs/ModelGeometryChanges.js +83 -83
  183. package/lib/cjs/ModelProps.d.ts +67 -67
  184. package/lib/cjs/ModelProps.js +9 -9
  185. package/lib/cjs/NativeAppProps.d.ts +122 -122
  186. package/lib/cjs/NativeAppProps.d.ts.map +1 -1
  187. package/lib/cjs/NativeAppProps.js +30 -30
  188. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  189. package/lib/cjs/OctEncodedNormal.js +98 -98
  190. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  191. package/lib/cjs/PlanProjectionSettings.js +63 -63
  192. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  193. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  194. package/lib/cjs/PlanarClipMask.js +136 -136
  195. package/lib/cjs/PlanarClipMask.js.map +1 -1
  196. package/lib/cjs/QPoint.d.ts +479 -479
  197. package/lib/cjs/QPoint.js +824 -826
  198. package/lib/cjs/QPoint.js.map +1 -1
  199. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  200. package/lib/cjs/RealityDataAccessProps.js +19 -19
  201. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
  202. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
  203. package/lib/cjs/RealityModelDisplaySettings.js +141 -142
  204. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  205. package/lib/cjs/Render.d.ts +89 -89
  206. package/lib/cjs/Render.js +177 -177
  207. package/lib/cjs/RenderMaterial.d.ts +58 -58
  208. package/lib/cjs/RenderMaterial.js +75 -76
  209. package/lib/cjs/RenderMaterial.js.map +1 -1
  210. package/lib/cjs/RenderSchedule.d.ts +543 -543
  211. package/lib/cjs/RenderSchedule.js +992 -1002
  212. package/lib/cjs/RenderSchedule.js.map +1 -1
  213. package/lib/cjs/RenderTexture.d.ts +70 -70
  214. package/lib/cjs/RenderTexture.d.ts.map +1 -1
  215. package/lib/cjs/RenderTexture.js +59 -59
  216. package/lib/cjs/RenderTexture.js.map +1 -1
  217. package/lib/cjs/RgbColor.d.ts +47 -47
  218. package/lib/cjs/RgbColor.js +77 -77
  219. package/lib/cjs/RpcInterface.d.ts +40 -33
  220. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  221. package/lib/cjs/RpcInterface.js +137 -137
  222. package/lib/cjs/RpcInterface.js.map +1 -1
  223. package/lib/cjs/RpcManager.d.ts +40 -40
  224. package/lib/cjs/RpcManager.js +55 -55
  225. package/lib/cjs/RpcManager.js.map +1 -1
  226. package/lib/cjs/SessionProps.d.ts +16 -16
  227. package/lib/cjs/SessionProps.js +9 -9
  228. package/lib/cjs/SkyBox.d.ts +215 -215
  229. package/lib/cjs/SkyBox.d.ts.map +1 -1
  230. package/lib/cjs/SkyBox.js +209 -210
  231. package/lib/cjs/SkyBox.js.map +1 -1
  232. package/lib/cjs/Snapping.d.ts +49 -49
  233. package/lib/cjs/Snapping.js +9 -9
  234. package/lib/cjs/SolarCalculate.d.ts +27 -27
  235. package/lib/cjs/SolarCalculate.js +211 -211
  236. package/lib/cjs/SolarShadows.d.ts +35 -35
  237. package/lib/cjs/SolarShadows.js +61 -62
  238. package/lib/cjs/SolarShadows.js.map +1 -1
  239. package/lib/cjs/SpatialClassification.d.ts +208 -208
  240. package/lib/cjs/SpatialClassification.js +339 -340
  241. package/lib/cjs/SpatialClassification.js.map +1 -1
  242. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  243. package/lib/cjs/SubCategoryAppearance.js +96 -96
  244. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  245. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  246. package/lib/cjs/SubCategoryOverride.js +104 -104
  247. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  248. package/lib/cjs/TerrainSettings.d.ts +82 -82
  249. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  250. package/lib/cjs/TerrainSettings.js +100 -102
  251. package/lib/cjs/TerrainSettings.js.map +1 -1
  252. package/lib/cjs/TextureMapping.d.ts +151 -118
  253. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  254. package/lib/cjs/TextureMapping.js +180 -174
  255. package/lib/cjs/TextureMapping.js.map +1 -1
  256. package/lib/cjs/TextureProps.d.ts +65 -65
  257. package/lib/cjs/TextureProps.js +28 -28
  258. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  259. package/lib/cjs/ThematicDisplay.js +343 -344
  260. package/lib/cjs/ThematicDisplay.js.map +1 -1
  261. package/lib/cjs/Thumbnail.d.ts +26 -26
  262. package/lib/cjs/Thumbnail.js +9 -9
  263. package/lib/cjs/TileProps.d.ts +88 -82
  264. package/lib/cjs/TileProps.d.ts.map +1 -1
  265. package/lib/cjs/TileProps.js +29 -29
  266. package/lib/cjs/TileProps.js.map +1 -1
  267. package/lib/cjs/Tween.d.ts +191 -191
  268. package/lib/cjs/Tween.d.ts.map +1 -1
  269. package/lib/cjs/Tween.js +570 -570
  270. package/lib/cjs/TxnAction.d.ts +21 -21
  271. package/lib/cjs/TxnAction.js +29 -29
  272. package/lib/cjs/ViewDetails.d.ts +125 -125
  273. package/lib/cjs/ViewDetails.js +166 -166
  274. package/lib/cjs/ViewDetails.js.map +1 -1
  275. package/lib/cjs/ViewFlags.d.ts +287 -287
  276. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  277. package/lib/cjs/ViewFlags.js +367 -368
  278. package/lib/cjs/ViewFlags.js.map +1 -1
  279. package/lib/cjs/ViewProps.d.ts +205 -205
  280. package/lib/cjs/ViewProps.js +9 -9
  281. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  282. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  283. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  284. package/lib/cjs/core-common.d.ts +243 -244
  285. package/lib/cjs/core-common.d.ts.map +1 -1
  286. package/lib/cjs/core-common.js +263 -260
  287. package/lib/cjs/core-common.js.map +1 -1
  288. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  289. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  290. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  291. package/lib/cjs/domains/GenericElementProps.js +9 -9
  292. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  293. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  294. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  295. package/lib/cjs/geometry/AreaPattern.js +203 -204
  296. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  297. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  298. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  299. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  300. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  301. package/lib/cjs/geometry/Cartographic.js +345 -345
  302. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  303. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  304. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  305. package/lib/cjs/geometry/CoordinateReferenceSystem.js +260 -261
  306. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  307. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  308. package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
  309. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  310. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  311. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  312. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  313. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  314. package/lib/cjs/geometry/FrustumPlanes.d.ts +81 -81
  315. package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
  316. package/lib/cjs/geometry/FrustumPlanes.js +189 -193
  317. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  318. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  319. package/lib/cjs/geometry/GeodeticDatum.d.ts.map +1 -1
  320. package/lib/cjs/geometry/GeodeticDatum.js +400 -401
  321. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  322. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  323. package/lib/cjs/geometry/GeodeticEllipsoid.js +71 -72
  324. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  325. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  326. package/lib/cjs/geometry/GeometryStream.d.ts.map +1 -1
  327. package/lib/cjs/geometry/GeometryStream.js +468 -469
  328. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  329. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  330. package/lib/cjs/geometry/ImageGraphic.d.ts.map +1 -1
  331. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  332. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  333. package/lib/cjs/geometry/LineStyle.js +129 -129
  334. package/lib/cjs/geometry/Placement.d.ts +95 -95
  335. package/lib/cjs/geometry/Placement.d.ts.map +1 -1
  336. package/lib/cjs/geometry/Placement.js +131 -131
  337. package/lib/cjs/geometry/Projection.d.ts +251 -251
  338. package/lib/cjs/geometry/Projection.d.ts.map +1 -1
  339. package/lib/cjs/geometry/Projection.js +198 -198
  340. package/lib/cjs/geometry/Projection.js.map +1 -1
  341. package/lib/cjs/geometry/TextString.d.ts +55 -55
  342. package/lib/cjs/geometry/TextString.js +65 -65
  343. package/lib/cjs/geometry/TextString.js.map +1 -1
  344. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  345. package/lib/cjs/ipc/IpcSession.js +27 -27
  346. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  347. package/lib/cjs/ipc/IpcSocket.d.ts.map +1 -1
  348. package/lib/cjs/ipc/IpcSocket.js +16 -16
  349. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  350. package/lib/cjs/ipc/IpcWebSocket.js +150 -151
  351. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  352. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  353. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  354. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  355. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  356. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  357. package/lib/cjs/rpc/DevToolsRpcInterface.js +52 -48
  358. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  359. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  360. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  361. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  362. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  363. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +49 -61
  364. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  365. package/lib/cjs/rpc/IModelTileRpcInterface.js +79 -96
  366. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  367. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  368. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  369. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  370. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  371. package/lib/cjs/rpc/TestRpcManager.js +40 -40
  372. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  373. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  374. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  375. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  376. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  377. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  378. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  379. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
  380. package/lib/cjs/rpc/core/RpcConstants.js +109 -109
  381. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  382. package/lib/cjs/rpc/core/RpcControl.js +150 -145
  383. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  384. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  385. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  386. package/lib/cjs/rpc/core/RpcInvocation.js +256 -258
  387. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  388. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  389. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  390. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  391. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  392. package/lib/cjs/rpc/core/RpcOperation.js +135 -134
  393. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  394. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  395. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -95
  396. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  397. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  398. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  399. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  400. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  401. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  402. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  403. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  404. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  405. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  406. package/lib/cjs/rpc/core/RpcRegistry.js +198 -199
  407. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  408. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  409. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  410. package/lib/cjs/rpc/core/RpcRequest.js +478 -478
  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/RpcRoutingToken.d.ts +12 -12
  415. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  416. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
  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 +60 -60
  420. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  421. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  422. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  423. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +76 -73
  424. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  425. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  426. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +141 -143
  427. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  428. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
  429. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  430. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  431. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  432. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  433. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  434. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  435. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  436. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  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.d.ts.map +1 -1
  441. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  442. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  443. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  444. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
  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.d.ts.map +1 -1
  453. package/lib/cjs/tile/ElementGraphics.js +9 -9
  454. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  455. package/lib/cjs/tile/GltfTileIO.d.ts.map +1 -1
  456. package/lib/cjs/tile/GltfTileIO.js +109 -109
  457. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  458. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  459. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  460. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  461. package/lib/cjs/tile/IModelTileIO.d.ts +77 -75
  462. package/lib/cjs/tile/IModelTileIO.d.ts.map +1 -1
  463. package/lib/cjs/tile/IModelTileIO.js +97 -95
  464. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  465. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  466. package/lib/cjs/tile/PntsTileIO.js +26 -26
  467. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  468. package/lib/cjs/tile/TileIO.d.ts +66 -66
  469. package/lib/cjs/tile/TileIO.js +118 -118
  470. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  471. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  472. package/lib/cjs/tile/TileMetadata.js +675 -676
  473. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  474. package/lib/cjs/tile/Tileset3dSchema.d.ts +97 -0
  475. package/lib/cjs/tile/Tileset3dSchema.d.ts.map +1 -0
  476. package/lib/cjs/tile/Tileset3dSchema.js +10 -0
  477. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -0
  478. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  479. package/lib/esm/AmbientOcclusion.js +52 -52
  480. package/lib/esm/AnalysisStyle.d.ts +134 -134
  481. package/lib/esm/AnalysisStyle.js +160 -159
  482. package/lib/esm/AnalysisStyle.js.map +1 -1
  483. package/lib/esm/AuthorizationClient.d.ts +17 -17
  484. package/lib/esm/AuthorizationClient.js +8 -8
  485. package/lib/esm/BackendTypes.d.ts +13 -12
  486. package/lib/esm/BackendTypes.d.ts.map +1 -1
  487. package/lib/esm/BackendTypes.js +8 -8
  488. package/lib/esm/BackendTypes.js.map +1 -1
  489. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  490. package/lib/esm/BackgroundMapProvider.d.ts.map +1 -1
  491. package/lib/esm/BackgroundMapProvider.js +63 -64
  492. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  493. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  494. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  495. package/lib/esm/BackgroundMapSettings.js +150 -152
  496. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  497. package/lib/esm/Base64EncodedString.d.ts +32 -32
  498. package/lib/esm/Base64EncodedString.d.ts.map +1 -1
  499. package/lib/esm/Base64EncodedString.js +63 -63
  500. package/lib/esm/Base64EncodedString.js.map +1 -1
  501. package/lib/esm/BlobReader.d.ts +31 -31
  502. package/lib/esm/BlobReader.js +79 -79
  503. package/lib/esm/BriefcaseTypes.d.ts +191 -189
  504. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  505. package/lib/esm/BriefcaseTypes.js +92 -92
  506. package/lib/esm/BriefcaseTypes.js.map +1 -1
  507. package/lib/esm/Camera.d.ts +42 -42
  508. package/lib/esm/Camera.js +58 -58
  509. package/lib/esm/Camera.js.map +1 -1
  510. package/lib/esm/ChangedElements.d.ts +85 -85
  511. package/lib/esm/ChangedElements.js +20 -20
  512. package/lib/esm/ChangedEntities.d.ts +45 -45
  513. package/lib/esm/ChangedEntities.d.ts.map +1 -1
  514. package/lib/esm/ChangedEntities.js +8 -8
  515. package/lib/esm/ChangesetProps.d.ts +98 -98
  516. package/lib/esm/ChangesetProps.d.ts.map +1 -1
  517. package/lib/esm/ChangesetProps.js +19 -19
  518. package/lib/esm/ClipStyle.d.ts +89 -89
  519. package/lib/esm/ClipStyle.js +118 -118
  520. package/lib/esm/ClipStyle.js.map +1 -1
  521. package/lib/esm/Code.d.ts +277 -277
  522. package/lib/esm/Code.d.ts.map +1 -1
  523. package/lib/esm/Code.js +263 -264
  524. package/lib/esm/Code.js.map +1 -1
  525. package/lib/esm/ColorByName.d.ts +161 -161
  526. package/lib/esm/ColorByName.js +166 -166
  527. package/lib/esm/ColorDef.d.ts +210 -208
  528. package/lib/esm/ColorDef.d.ts.map +1 -1
  529. package/lib/esm/ColorDef.js +569 -567
  530. package/lib/esm/ColorDef.js.map +1 -1
  531. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  532. package/lib/esm/CommonLoggerCategory.js +23 -23
  533. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  534. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  535. package/lib/esm/ConcurrentQuery.js +545 -545
  536. package/lib/esm/ConcurrentQuery.js.map +1 -1
  537. package/lib/esm/ContextRealityModel.d.ts +303 -303
  538. package/lib/esm/ContextRealityModel.js +366 -368
  539. package/lib/esm/ContextRealityModel.js.map +1 -1
  540. package/lib/esm/DisplayStyleSettings.d.ts +588 -588
  541. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  542. package/lib/esm/DisplayStyleSettings.js +976 -980
  543. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  544. package/lib/esm/ECSchemaProps.d.ts +39 -39
  545. package/lib/esm/ECSchemaProps.js +8 -8
  546. package/lib/esm/ECSqlReader.d.ts +70 -70
  547. package/lib/esm/ECSqlReader.d.ts.map +1 -1
  548. package/lib/esm/ECSqlReader.js +276 -275
  549. package/lib/esm/ECSqlReader.js.map +1 -1
  550. package/lib/esm/ECSqlTypes.d.ts +128 -128
  551. package/lib/esm/ECSqlTypes.js +185 -185
  552. package/lib/esm/ElementMesh.d.ts +39 -39
  553. package/lib/esm/ElementMesh.js +52 -52
  554. package/lib/esm/ElementProps.d.ts +483 -483
  555. package/lib/esm/ElementProps.d.ts.map +1 -1
  556. package/lib/esm/ElementProps.js +93 -92
  557. package/lib/esm/ElementProps.js.map +1 -1
  558. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  559. package/lib/esm/EmphasizeElementsProps.js +22 -22
  560. package/lib/esm/EntityProps.d.ts +177 -177
  561. package/lib/esm/EntityProps.d.ts.map +1 -1
  562. package/lib/esm/EntityProps.js +108 -108
  563. package/lib/esm/EntityReference.d.ts +51 -51
  564. package/lib/esm/EntityReference.d.ts.map +1 -1
  565. package/lib/esm/EntityReference.js +52 -52
  566. package/lib/esm/Environment.d.ts +61 -61
  567. package/lib/esm/Environment.d.ts.map +1 -1
  568. package/lib/esm/Environment.js +67 -69
  569. package/lib/esm/Environment.js.map +1 -1
  570. package/lib/esm/FeatureIndex.d.ts +39 -39
  571. package/lib/esm/FeatureIndex.js +57 -57
  572. package/lib/esm/FeatureIndex.js.map +1 -1
  573. package/lib/esm/FeatureSymbology.d.ts +449 -444
  574. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  575. package/lib/esm/FeatureSymbology.js +615 -609
  576. package/lib/esm/FeatureSymbology.js.map +1 -1
  577. package/lib/esm/FeatureTable.d.ts +248 -141
  578. package/lib/esm/FeatureTable.d.ts.map +1 -1
  579. package/lib/esm/FeatureTable.js +462 -272
  580. package/lib/esm/FeatureTable.js.map +1 -1
  581. package/lib/esm/Fonts.d.ts +51 -51
  582. package/lib/esm/Fonts.d.ts.map +1 -1
  583. package/lib/esm/Fonts.js +49 -49
  584. package/lib/esm/Frustum.d.ts +114 -114
  585. package/lib/esm/Frustum.js +288 -288
  586. package/lib/esm/GeoCoordinateServices.d.ts +123 -119
  587. package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
  588. package/lib/esm/GeoCoordinateServices.js +77 -76
  589. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  590. package/lib/esm/GeometryContainment.d.ts +28 -28
  591. package/lib/esm/GeometryContainment.js +8 -8
  592. package/lib/esm/GeometryParams.d.ts +130 -130
  593. package/lib/esm/GeometryParams.js +170 -170
  594. package/lib/esm/GeometrySummary.d.ts +45 -45
  595. package/lib/esm/GeometrySummary.js +20 -20
  596. package/lib/esm/Gradient.d.ts +139 -139
  597. package/lib/esm/Gradient.js +450 -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.d.ts.map +1 -1
  604. package/lib/esm/GroundPlane.js +60 -60
  605. package/lib/esm/GroundPlane.js.map +1 -1
  606. package/lib/esm/HSLColor.d.ts +20 -20
  607. package/lib/esm/HSLColor.js +28 -28
  608. package/lib/esm/HSLColor.js.map +1 -1
  609. package/lib/esm/HSVColor.d.ts +30 -30
  610. package/lib/esm/HSVColor.js +55 -55
  611. package/lib/esm/HSVColor.js.map +1 -1
  612. package/lib/esm/HiddenLine.d.ts +97 -97
  613. package/lib/esm/HiddenLine.js +157 -159
  614. package/lib/esm/HiddenLine.js.map +1 -1
  615. package/lib/esm/Hilite.d.ts +50 -50
  616. package/lib/esm/Hilite.js +61 -61
  617. package/lib/esm/Hilite.js.map +1 -1
  618. package/lib/esm/IModel.d.ts +358 -359
  619. package/lib/esm/IModel.d.ts.map +1 -1
  620. package/lib/esm/IModel.js +343 -342
  621. package/lib/esm/IModel.js.map +1 -1
  622. package/lib/esm/IModelError.d.ts +42 -42
  623. package/lib/esm/IModelError.d.ts.map +1 -1
  624. package/lib/esm/IModelError.js +56 -56
  625. package/lib/esm/IModelVersion.d.ts +68 -68
  626. package/lib/esm/IModelVersion.d.ts.map +1 -1
  627. package/lib/esm/IModelVersion.js +75 -75
  628. package/lib/esm/Image.d.ts +86 -86
  629. package/lib/esm/Image.js +120 -120
  630. package/lib/esm/Image.js.map +1 -1
  631. package/lib/esm/IpcAppProps.d.ts +141 -141
  632. package/lib/esm/IpcAppProps.js +19 -19
  633. package/lib/esm/LightSettings.d.ts +224 -224
  634. package/lib/esm/LightSettings.js +297 -301
  635. package/lib/esm/LightSettings.js.map +1 -1
  636. package/lib/esm/LinePixels.d.ts +34 -34
  637. package/lib/esm/LinePixels.js +39 -39
  638. package/lib/esm/Localization.d.ts +113 -113
  639. package/lib/esm/Localization.js +29 -29
  640. package/lib/esm/MapImagerySettings.d.ts +62 -62
  641. package/lib/esm/MapImagerySettings.d.ts.map +1 -1
  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.d.ts.map +1 -1
  646. package/lib/esm/MapLayerSettings.js +399 -403
  647. package/lib/esm/MapLayerSettings.js.map +1 -1
  648. package/lib/esm/MassProperties.d.ts +64 -64
  649. package/lib/esm/MassProperties.js +20 -20
  650. package/lib/esm/MaterialProps.d.ts +153 -153
  651. package/lib/esm/MaterialProps.d.ts.map +1 -1
  652. package/lib/esm/MaterialProps.js +32 -32
  653. package/lib/esm/ModelClipGroup.d.ts +67 -67
  654. package/lib/esm/ModelClipGroup.js +91 -93
  655. package/lib/esm/ModelClipGroup.js.map +1 -1
  656. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  657. package/lib/esm/ModelGeometryChanges.d.ts.map +1 -1
  658. package/lib/esm/ModelGeometryChanges.js +80 -80
  659. package/lib/esm/ModelProps.d.ts +67 -67
  660. package/lib/esm/ModelProps.js +8 -8
  661. package/lib/esm/NativeAppProps.d.ts +122 -122
  662. package/lib/esm/NativeAppProps.d.ts.map +1 -1
  663. package/lib/esm/NativeAppProps.js +27 -27
  664. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  665. package/lib/esm/OctEncodedNormal.js +93 -93
  666. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  667. package/lib/esm/PlanProjectionSettings.js +59 -59
  668. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  669. package/lib/esm/PlanarClipMask.d.ts +177 -177
  670. package/lib/esm/PlanarClipMask.js +133 -132
  671. package/lib/esm/PlanarClipMask.js.map +1 -1
  672. package/lib/esm/QPoint.d.ts +479 -479
  673. package/lib/esm/QPoint.js +813 -815
  674. package/lib/esm/QPoint.js.map +1 -1
  675. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  676. package/lib/esm/RealityDataAccessProps.js +16 -16
  677. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  678. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
  679. package/lib/esm/RealityModelDisplaySettings.js +138 -137
  680. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  681. package/lib/esm/Render.d.ts +89 -89
  682. package/lib/esm/Render.js +165 -165
  683. package/lib/esm/RenderMaterial.d.ts +58 -58
  684. package/lib/esm/RenderMaterial.js +71 -72
  685. package/lib/esm/RenderMaterial.js.map +1 -1
  686. package/lib/esm/RenderSchedule.d.ts +543 -543
  687. package/lib/esm/RenderSchedule.js +989 -999
  688. package/lib/esm/RenderSchedule.js.map +1 -1
  689. package/lib/esm/RenderTexture.d.ts +70 -70
  690. package/lib/esm/RenderTexture.d.ts.map +1 -1
  691. package/lib/esm/RenderTexture.js +55 -55
  692. package/lib/esm/RenderTexture.js.map +1 -1
  693. package/lib/esm/RgbColor.d.ts +47 -47
  694. package/lib/esm/RgbColor.js +73 -73
  695. package/lib/esm/RpcInterface.d.ts +40 -33
  696. package/lib/esm/RpcInterface.d.ts.map +1 -1
  697. package/lib/esm/RpcInterface.js +133 -133
  698. package/lib/esm/RpcInterface.js.map +1 -1
  699. package/lib/esm/RpcManager.d.ts +40 -40
  700. package/lib/esm/RpcManager.js +51 -51
  701. package/lib/esm/RpcManager.js.map +1 -1
  702. package/lib/esm/SessionProps.d.ts +16 -16
  703. package/lib/esm/SessionProps.js +8 -8
  704. package/lib/esm/SkyBox.d.ts +215 -215
  705. package/lib/esm/SkyBox.d.ts.map +1 -1
  706. package/lib/esm/SkyBox.js +204 -203
  707. package/lib/esm/SkyBox.js.map +1 -1
  708. package/lib/esm/Snapping.d.ts +49 -49
  709. package/lib/esm/Snapping.js +8 -8
  710. package/lib/esm/SolarCalculate.d.ts +27 -27
  711. package/lib/esm/SolarCalculate.js +204 -204
  712. package/lib/esm/SolarShadows.d.ts +35 -35
  713. package/lib/esm/SolarShadows.js +58 -58
  714. package/lib/esm/SolarShadows.js.map +1 -1
  715. package/lib/esm/SpatialClassification.d.ts +208 -208
  716. package/lib/esm/SpatialClassification.js +333 -334
  717. package/lib/esm/SpatialClassification.js.map +1 -1
  718. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  719. package/lib/esm/SubCategoryAppearance.js +93 -92
  720. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  721. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  722. package/lib/esm/SubCategoryOverride.js +101 -100
  723. package/lib/esm/SubCategoryOverride.js.map +1 -1
  724. package/lib/esm/TerrainSettings.d.ts +82 -82
  725. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  726. package/lib/esm/TerrainSettings.js +96 -98
  727. package/lib/esm/TerrainSettings.js.map +1 -1
  728. package/lib/esm/TextureMapping.d.ts +151 -118
  729. package/lib/esm/TextureMapping.d.ts.map +1 -1
  730. package/lib/esm/TextureMapping.js +176 -170
  731. package/lib/esm/TextureMapping.js.map +1 -1
  732. package/lib/esm/TextureProps.d.ts +65 -65
  733. package/lib/esm/TextureProps.js +25 -25
  734. package/lib/esm/ThematicDisplay.d.ts +230 -230
  735. package/lib/esm/ThematicDisplay.js +337 -337
  736. package/lib/esm/ThematicDisplay.js.map +1 -1
  737. package/lib/esm/Thumbnail.d.ts +26 -26
  738. package/lib/esm/Thumbnail.js +8 -8
  739. package/lib/esm/TileProps.d.ts +88 -82
  740. package/lib/esm/TileProps.d.ts.map +1 -1
  741. package/lib/esm/TileProps.js +25 -25
  742. package/lib/esm/TileProps.js.map +1 -1
  743. package/lib/esm/Tween.d.ts +191 -191
  744. package/lib/esm/Tween.d.ts.map +1 -1
  745. package/lib/esm/Tween.js +565 -565
  746. package/lib/esm/TxnAction.d.ts +21 -21
  747. package/lib/esm/TxnAction.js +26 -26
  748. package/lib/esm/ViewDetails.d.ts +125 -125
  749. package/lib/esm/ViewDetails.js +162 -161
  750. package/lib/esm/ViewDetails.js.map +1 -1
  751. package/lib/esm/ViewFlags.d.ts +287 -287
  752. package/lib/esm/ViewFlags.d.ts.map +1 -1
  753. package/lib/esm/ViewFlags.js +364 -364
  754. package/lib/esm/ViewFlags.js.map +1 -1
  755. package/lib/esm/ViewProps.d.ts +205 -205
  756. package/lib/esm/ViewProps.js +8 -8
  757. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  758. package/lib/esm/WhiteOnWhiteReversalSettings.js +34 -33
  759. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  760. package/lib/esm/core-common.d.ts +243 -244
  761. package/lib/esm/core-common.d.ts.map +1 -1
  762. package/lib/esm/core-common.js +247 -248
  763. package/lib/esm/core-common.js.map +1 -1
  764. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  765. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  766. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  767. package/lib/esm/domains/GenericElementProps.js +8 -8
  768. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  769. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  770. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  771. package/lib/esm/geometry/AreaPattern.js +200 -201
  772. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  773. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  774. package/lib/esm/geometry/BoundingSphere.js +40 -40
  775. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  776. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  777. package/lib/esm/geometry/Cartographic.js +341 -340
  778. package/lib/esm/geometry/Cartographic.js.map +1 -1
  779. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  780. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  781. package/lib/esm/geometry/CoordinateReferenceSystem.js +253 -254
  782. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  783. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  784. package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
  785. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  786. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  787. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  788. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  789. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  790. package/lib/esm/geometry/FrustumPlanes.d.ts +81 -81
  791. package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
  792. package/lib/esm/geometry/FrustumPlanes.js +185 -189
  793. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  794. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  795. package/lib/esm/geometry/GeodeticDatum.d.ts.map +1 -1
  796. package/lib/esm/geometry/GeodeticDatum.js +389 -390
  797. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  798. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  799. package/lib/esm/geometry/GeodeticEllipsoid.js +67 -68
  800. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  801. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  802. package/lib/esm/geometry/GeometryStream.d.ts.map +1 -1
  803. package/lib/esm/geometry/GeometryStream.js +463 -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.d.ts.map +1 -1
  807. package/lib/esm/geometry/ImageGraphic.js +93 -93
  808. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  809. package/lib/esm/geometry/LineStyle.js +126 -126
  810. package/lib/esm/geometry/Placement.d.ts +95 -95
  811. package/lib/esm/geometry/Placement.d.ts.map +1 -1
  812. package/lib/esm/geometry/Placement.js +126 -126
  813. package/lib/esm/geometry/Projection.d.ts +251 -251
  814. package/lib/esm/geometry/Projection.d.ts.map +1 -1
  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/IpcSocket.d.ts +96 -96
  823. package/lib/esm/ipc/IpcSocket.d.ts.map +1 -1
  824. package/lib/esm/ipc/IpcSocket.js +12 -12
  825. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  826. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  827. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  828. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  829. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  830. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  831. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  832. package/lib/esm/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  833. package/lib/esm/rpc/DevToolsRpcInterface.js +49 -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.d.ts.map +1 -1
  837. package/lib/esm/rpc/IModelReadRpcInterface.js +118 -117
  838. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  839. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +49 -61
  840. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  841. package/lib/esm/rpc/IModelTileRpcInterface.js +76 -92
  842. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  843. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  844. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +45 -44
  845. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  846. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  847. package/lib/esm/rpc/TestRpcManager.js +36 -36
  848. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  849. package/lib/esm/rpc/WipRpcInterface.js +37 -36
  850. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  851. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  852. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  853. package/lib/esm/rpc/core/RpcConfiguration.js +185 -184
  854. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  855. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
  856. package/lib/esm/rpc/core/RpcConstants.js +106 -106
  857. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  858. package/lib/esm/rpc/core/RpcControl.js +144 -138
  859. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  860. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  861. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  862. package/lib/esm/rpc/core/RpcInvocation.js +253 -254
  863. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  864. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  865. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  866. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  867. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  868. package/lib/esm/rpc/core/RpcOperation.js +130 -129
  869. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  870. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  871. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -91
  872. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  873. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  874. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  875. package/lib/esm/rpc/core/RpcProtocol.js +124 -123
  876. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  877. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  878. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  879. package/lib/esm/rpc/core/RpcPush.js +121 -119
  880. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  881. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  882. package/lib/esm/rpc/core/RpcRegistry.js +194 -195
  883. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  884. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  885. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  886. package/lib/esm/rpc/core/RpcRequest.js +474 -473
  887. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  888. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  889. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  890. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  891. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  892. package/lib/esm/rpc/core/RpcRoutingToken.js +21 -20
  893. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  894. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  895. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
  896. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  897. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  898. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  899. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +72 -68
  900. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  901. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  902. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +137 -139
  903. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  904. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
  905. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  906. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  907. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  908. package/lib/esm/rpc/web/RpcMultipart.js +47 -46
  909. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  910. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  911. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  912. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  913. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  914. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  915. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  916. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  917. package/lib/esm/rpc/web/WebAppRpcRequest.js +236 -235
  918. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  919. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  920. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
  921. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  922. package/lib/esm/tile/B3dmTileIO.js +62 -62
  923. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  924. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  925. package/lib/esm/tile/CompositeTileIO.js +22 -22
  926. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  927. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  928. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  929. package/lib/esm/tile/ElementGraphics.js +8 -8
  930. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  931. package/lib/esm/tile/GltfTileIO.d.ts.map +1 -1
  932. package/lib/esm/tile/GltfTileIO.js +105 -105
  933. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  934. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  935. package/lib/esm/tile/I3dmTileIO.js +36 -36
  936. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  937. package/lib/esm/tile/IModelTileIO.d.ts +77 -75
  938. package/lib/esm/tile/IModelTileIO.d.ts.map +1 -1
  939. package/lib/esm/tile/IModelTileIO.js +93 -90
  940. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  941. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  942. package/lib/esm/tile/PntsTileIO.js +22 -22
  943. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  944. package/lib/esm/tile/TileIO.d.ts +66 -66
  945. package/lib/esm/tile/TileIO.js +110 -110
  946. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  947. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  948. package/lib/esm/tile/TileMetadata.js +660 -661
  949. package/lib/esm/tile/TileMetadata.js.map +1 -1
  950. package/lib/esm/tile/Tileset3dSchema.d.ts +97 -0
  951. package/lib/esm/tile/Tileset3dSchema.d.ts.map +1 -0
  952. package/lib/esm/tile/Tileset3dSchema.js +9 -0
  953. package/lib/esm/tile/Tileset3dSchema.js.map +1 -0
  954. package/package.json +11 -11
  955. package/lib/cjs/CloudStorage.d.ts +0 -63
  956. package/lib/cjs/CloudStorage.d.ts.map +0 -1
  957. package/lib/cjs/CloudStorage.js +0 -114
  958. package/lib/cjs/CloudStorage.js.map +0 -1
  959. package/lib/cjs/CloudStorageTileCache.d.ts +0 -28
  960. package/lib/cjs/CloudStorageTileCache.d.ts.map +0 -1
  961. package/lib/cjs/CloudStorageTileCache.js +0 -67
  962. package/lib/cjs/CloudStorageTileCache.js.map +0 -1
  963. package/lib/esm/CloudStorage.d.ts +0 -63
  964. package/lib/esm/CloudStorage.d.ts.map +0 -1
  965. package/lib/esm/CloudStorage.js +0 -110
  966. package/lib/esm/CloudStorage.js.map +0 -1
  967. package/lib/esm/CloudStorageTileCache.d.ts +0 -28
  968. package/lib/esm/CloudStorageTileCache.d.ts.map +0 -1
  969. package/lib/esm/CloudStorageTileCache.js +0 -63
  970. package/lib/esm/CloudStorageTileCache.js.map +0 -1
@@ -1,199 +1,199 @@
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 Geometry
8
- */
9
- // cspell:ignore Albers, Krovak, OSTN, Cassini, Grinten, Mollweide, Eckert, Homolosine, Carree, Winkel, Tripel, Polyconic
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.Carto2DDegrees = exports.Projection = exports.AffineTransform = void 0;
12
- const core_geometry_1 = require("@itwin/core-geometry");
13
- /** The equations are:
14
- * X1 = a1*X + a2*Y + TranslationX
15
- * Y1 = b1*X + b2*Y + translationY
16
- * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.
17
- * @public
18
- */
19
- class AffineTransform {
20
- constructor(data) {
21
- if (data) {
22
- this.translationX = data.translationX;
23
- this.translationY = data.translationY;
24
- this.a1 = data.a1;
25
- this.b1 = data.b1;
26
- this.a2 = data.a2;
27
- this.b2 = data.b2;
28
- }
29
- }
30
- /** Creates an Affine Transform from JSON representation.
31
- * @public */
32
- static fromJSON(data) {
33
- return new AffineTransform(data);
34
- }
35
- /** Creates a JSON from the Affine Transform definition
36
- * @public */
37
- toJSON() {
38
- return { translationX: this.translationX, a1: this.a1, a2: this.a2, translationY: this.translationY, b1: this.b1, b2: this.b2 };
39
- }
40
- /** Compares two Affine Transforms. It applies a minuscule tolerance for number compares
41
- * @public */
42
- equals(other) {
43
- return (Math.abs(this.translationX - other.translationX) < core_geometry_1.Geometry.smallMetricDistance &&
44
- Math.abs(this.translationY - other.translationY) < core_geometry_1.Geometry.smallMetricDistance &&
45
- Math.abs(this.a1 - other.a1) < core_geometry_1.Geometry.smallFraction &&
46
- Math.abs(this.b1 - other.b1) < core_geometry_1.Geometry.smallFraction &&
47
- Math.abs(this.a2 - other.a2) < core_geometry_1.Geometry.smallFraction &&
48
- Math.abs(this.b2 - other.b2) < core_geometry_1.Geometry.smallFraction);
49
- }
50
- }
51
- exports.AffineTransform = AffineTransform;
52
- /** This class encapsulates the projection of the CRS. The projection relies on a projection method and a set
53
- * of projection parameters specific to projection method selected to flatten the surface of the model of the Earth
54
- * defines as a geodetic ellipsoid. The flattening and the distortion angular, linear, scale from the process varies between methods.
55
- * Refer to appropriate external documentation for details.
56
- * @note Various property sets are required for specific projection methods. The current class implementation does not enforce
57
- * these rules yet and it is possible to define or not define any property regardless the method used.
58
- * @public
59
- */
60
- class Projection {
61
- constructor(_data) {
62
- if (_data) {
63
- this.method = _data.method;
64
- this.falseEasting = _data.falseEasting;
65
- this.falseNorthing = _data.falseNorthing;
66
- this.centralMeridian = _data.centralMeridian;
67
- this.latitudeOfOrigin = _data.latitudeOfOrigin;
68
- this.longitudeOfOrigin = _data.longitudeOfOrigin;
69
- this.scaleFactor = _data.scaleFactor;
70
- this.elevationAboveGeoid = _data.elevationAboveGeoid;
71
- this.geoidSeparation = _data.geoidSeparation;
72
- this.affine = _data.affine ? AffineTransform.fromJSON(_data.affine) : undefined;
73
- this.standardParallel = _data.standardParallel;
74
- this.standardParallel1 = _data.standardParallel1;
75
- this.standardParallel2 = _data.standardParallel2;
76
- this.zoneNumber = _data.zoneNumber;
77
- this.hemisphere = _data.hemisphere;
78
- this.centralPointLongitude = _data.centralPointLongitude;
79
- this.centralPointLatitude = _data.centralPointLatitude;
80
- this.point1Longitude = _data.point1Longitude;
81
- this.point1Latitude = _data.point1Latitude;
82
- this.point2Longitude = _data.point2Longitude;
83
- this.point2Latitude = _data.point2Latitude;
84
- this.danishSystem34Region = _data.danishSystem34Region;
85
- this.azimuth = _data.azimuth;
86
- }
87
- }
88
- /** Creates a Projection from JSON representation.
89
- * @public */
90
- static fromJSON(data) {
91
- return new Projection(data);
92
- }
93
- /** Creates a JSON from the Projection definition
94
- * @public */
95
- toJSON() {
96
- const data = { method: this.method };
97
- data.falseEasting = this.falseEasting;
98
- data.falseNorthing = this.falseNorthing;
99
- data.centralMeridian = this.centralMeridian;
100
- data.latitudeOfOrigin = this.latitudeOfOrigin;
101
- data.longitudeOfOrigin = this.longitudeOfOrigin;
102
- data.scaleFactor = this.scaleFactor;
103
- data.elevationAboveGeoid = this.elevationAboveGeoid;
104
- data.geoidSeparation = this.geoidSeparation;
105
- data.affine = this.affine ? this.affine.toJSON() : undefined;
106
- data.standardParallel = this.standardParallel;
107
- data.standardParallel1 = this.standardParallel1;
108
- data.standardParallel2 = this.standardParallel2;
109
- data.zoneNumber = this.zoneNumber;
110
- data.hemisphere = this.hemisphere;
111
- data.centralPointLongitude = this.centralPointLongitude;
112
- data.centralPointLatitude = this.centralPointLatitude;
113
- data.point1Longitude = this.point1Longitude;
114
- data.point1Latitude = this.point1Latitude;
115
- data.point2Longitude = this.point2Longitude;
116
- data.point2Latitude = this.point2Latitude;
117
- data.danishSystem34Region = this.danishSystem34Region;
118
- data.azimuth = this.azimuth;
119
- return data;
120
- }
121
- /** Compares two projections. It is a strict compare operation as descriptive data is compared
122
- * but a minuscule tolerance is applied to number compares.
123
- * @public */
124
- equals(other) {
125
- if (this.method !== other.method ||
126
- this.zoneNumber !== other.zoneNumber ||
127
- this.hemisphere !== other.hemisphere ||
128
- this.danishSystem34Region !== other.danishSystem34Region)
129
- return false;
130
- // Note that even though falseEasting, falseNorthing, elevationAboveGeoid and geoidSeparation are expressed
131
- // in the units of the projection which can be foot or US survey foot, they are still within the same order
132
- // of size that Geometry.smallMetricDistance can be used effectively.
133
- if (!core_geometry_1.Geometry.isAlmostEqualOptional(this.falseEasting, other.falseEasting, core_geometry_1.Geometry.smallMetricDistance) ||
134
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.falseNorthing, other.falseNorthing, core_geometry_1.Geometry.smallMetricDistance) ||
135
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.centralMeridian, other.centralMeridian, core_geometry_1.Geometry.smallAngleDegrees) ||
136
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.latitudeOfOrigin, other.latitudeOfOrigin, core_geometry_1.Geometry.smallAngleDegrees) ||
137
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.longitudeOfOrigin, other.longitudeOfOrigin, core_geometry_1.Geometry.smallAngleDegrees) ||
138
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.scaleFactor, other.scaleFactor, core_geometry_1.Geometry.smallFraction) ||
139
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.elevationAboveGeoid, other.elevationAboveGeoid, core_geometry_1.Geometry.smallMetricDistance) ||
140
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.geoidSeparation, other.geoidSeparation, core_geometry_1.Geometry.smallMetricDistance) ||
141
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.standardParallel, other.standardParallel, core_geometry_1.Geometry.smallAngleDegrees) ||
142
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.standardParallel1, other.standardParallel1, core_geometry_1.Geometry.smallAngleDegrees) ||
143
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.standardParallel2, other.standardParallel2, core_geometry_1.Geometry.smallAngleDegrees) ||
144
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.centralPointLongitude, other.centralPointLongitude, core_geometry_1.Geometry.smallAngleDegrees) ||
145
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.centralPointLatitude, other.centralPointLatitude, core_geometry_1.Geometry.smallAngleDegrees) ||
146
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.point1Longitude, other.point1Longitude, core_geometry_1.Geometry.smallAngleDegrees) ||
147
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.point1Latitude, other.point1Latitude, core_geometry_1.Geometry.smallAngleDegrees) ||
148
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.point2Longitude, other.point2Longitude, core_geometry_1.Geometry.smallAngleDegrees) ||
149
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.point2Latitude, other.point2Latitude, core_geometry_1.Geometry.smallAngleDegrees) ||
150
- !core_geometry_1.Geometry.isAlmostEqualOptional(this.azimuth, other.azimuth, core_geometry_1.Geometry.smallAngleDegrees))
151
- return false;
152
- if (this.affine && other.affine) {
153
- if (!this.affine.equals(other.affine))
154
- return false;
155
- }
156
- else {
157
- if (this.affine || other.affine)
158
- return false;
159
- }
160
- return true;
161
- }
162
- }
163
- exports.Projection = Projection;
164
- /** A 2D cartographic point in degrees
165
- * @public
166
- */
167
- class Carto2DDegrees {
168
- constructor(data) {
169
- this.latitude = 0.0; /* make sure latitude is init even if invalid latitude provided */
170
- if (data) {
171
- this.latitude = data.latitude;
172
- this.longitude = data.longitude;
173
- }
174
- }
175
- /** Returns or sets the latitude in degrees. When setting the provided number must be between or equal from -90 to 90. */
176
- get latitude() { return this._latitude; }
177
- set latitude(newLatitude) {
178
- if ((newLatitude <= 90.0) && (newLatitude >= -90.0))
179
- this._latitude = newLatitude;
180
- }
181
- /** Creates a Carto2DDegrees object from JSON representation.
182
- * @public */
183
- static fromJSON(data) {
184
- return new Carto2DDegrees(data);
185
- }
186
- /** Creates a JSON from the Carto2DDegrees definition
187
- * @public */
188
- toJSON() {
189
- return { latitude: this.latitude, longitude: this.longitude };
190
- }
191
- /** Compares two Carto2DDegrees object. It applies a minuscule tolerance to compares.
192
- * @public */
193
- equals(other) {
194
- return (Math.abs(this.latitude - other.latitude) < core_geometry_1.Geometry.smallAngleDegrees &&
195
- Math.abs(this.longitude - other.longitude) < core_geometry_1.Geometry.smallAngleDegrees);
196
- }
197
- }
198
- exports.Carto2DDegrees = Carto2DDegrees;
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 Geometry
8
+ */
9
+ // cspell:ignore Albers, Krovak, OSTN, Cassini, Grinten, Mollweide, Eckert, Homolosine, Carree, Winkel, Tripel, Polyconic
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.Carto2DDegrees = exports.Projection = exports.AffineTransform = void 0;
12
+ const core_geometry_1 = require("@itwin/core-geometry");
13
+ /** The equations are:
14
+ * X1 = a1*X + a2*Y + TranslationX
15
+ * Y1 = b1*X + b2*Y + translationY
16
+ * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.
17
+ * @public
18
+ */
19
+ class AffineTransform {
20
+ constructor(data) {
21
+ if (data) {
22
+ this.translationX = data.translationX;
23
+ this.translationY = data.translationY;
24
+ this.a1 = data.a1;
25
+ this.b1 = data.b1;
26
+ this.a2 = data.a2;
27
+ this.b2 = data.b2;
28
+ }
29
+ }
30
+ /** Creates an Affine Transform from JSON representation.
31
+ * @public */
32
+ static fromJSON(data) {
33
+ return new AffineTransform(data);
34
+ }
35
+ /** Creates a JSON from the Affine Transform definition
36
+ * @public */
37
+ toJSON() {
38
+ return { translationX: this.translationX, a1: this.a1, a2: this.a2, translationY: this.translationY, b1: this.b1, b2: this.b2 };
39
+ }
40
+ /** Compares two Affine Transforms. It applies a minuscule tolerance for number compares
41
+ * @public */
42
+ equals(other) {
43
+ return (Math.abs(this.translationX - other.translationX) < core_geometry_1.Geometry.smallMetricDistance &&
44
+ Math.abs(this.translationY - other.translationY) < core_geometry_1.Geometry.smallMetricDistance &&
45
+ Math.abs(this.a1 - other.a1) < core_geometry_1.Geometry.smallFraction &&
46
+ Math.abs(this.b1 - other.b1) < core_geometry_1.Geometry.smallFraction &&
47
+ Math.abs(this.a2 - other.a2) < core_geometry_1.Geometry.smallFraction &&
48
+ Math.abs(this.b2 - other.b2) < core_geometry_1.Geometry.smallFraction);
49
+ }
50
+ }
51
+ exports.AffineTransform = AffineTransform;
52
+ /** This class encapsulates the projection of the CRS. The projection relies on a projection method and a set
53
+ * of projection parameters specific to projection method selected to flatten the surface of the model of the Earth
54
+ * defines as a geodetic ellipsoid. The flattening and the distortion angular, linear, scale from the process varies between methods.
55
+ * Refer to appropriate external documentation for details.
56
+ * @note Various property sets are required for specific projection methods. The current class implementation does not enforce
57
+ * these rules yet and it is possible to define or not define any property regardless the method used.
58
+ * @public
59
+ */
60
+ class Projection {
61
+ constructor(_data) {
62
+ if (_data) {
63
+ this.method = _data.method;
64
+ this.falseEasting = _data.falseEasting;
65
+ this.falseNorthing = _data.falseNorthing;
66
+ this.centralMeridian = _data.centralMeridian;
67
+ this.latitudeOfOrigin = _data.latitudeOfOrigin;
68
+ this.longitudeOfOrigin = _data.longitudeOfOrigin;
69
+ this.scaleFactor = _data.scaleFactor;
70
+ this.elevationAboveGeoid = _data.elevationAboveGeoid;
71
+ this.geoidSeparation = _data.geoidSeparation;
72
+ this.affine = _data.affine ? AffineTransform.fromJSON(_data.affine) : undefined;
73
+ this.standardParallel = _data.standardParallel;
74
+ this.standardParallel1 = _data.standardParallel1;
75
+ this.standardParallel2 = _data.standardParallel2;
76
+ this.zoneNumber = _data.zoneNumber;
77
+ this.hemisphere = _data.hemisphere;
78
+ this.centralPointLongitude = _data.centralPointLongitude;
79
+ this.centralPointLatitude = _data.centralPointLatitude;
80
+ this.point1Longitude = _data.point1Longitude;
81
+ this.point1Latitude = _data.point1Latitude;
82
+ this.point2Longitude = _data.point2Longitude;
83
+ this.point2Latitude = _data.point2Latitude;
84
+ this.danishSystem34Region = _data.danishSystem34Region;
85
+ this.azimuth = _data.azimuth;
86
+ }
87
+ }
88
+ /** Creates a Projection from JSON representation.
89
+ * @public */
90
+ static fromJSON(data) {
91
+ return new Projection(data);
92
+ }
93
+ /** Creates a JSON from the Projection definition
94
+ * @public */
95
+ toJSON() {
96
+ const data = { method: this.method };
97
+ data.falseEasting = this.falseEasting;
98
+ data.falseNorthing = this.falseNorthing;
99
+ data.centralMeridian = this.centralMeridian;
100
+ data.latitudeOfOrigin = this.latitudeOfOrigin;
101
+ data.longitudeOfOrigin = this.longitudeOfOrigin;
102
+ data.scaleFactor = this.scaleFactor;
103
+ data.elevationAboveGeoid = this.elevationAboveGeoid;
104
+ data.geoidSeparation = this.geoidSeparation;
105
+ data.affine = this.affine ? this.affine.toJSON() : undefined;
106
+ data.standardParallel = this.standardParallel;
107
+ data.standardParallel1 = this.standardParallel1;
108
+ data.standardParallel2 = this.standardParallel2;
109
+ data.zoneNumber = this.zoneNumber;
110
+ data.hemisphere = this.hemisphere;
111
+ data.centralPointLongitude = this.centralPointLongitude;
112
+ data.centralPointLatitude = this.centralPointLatitude;
113
+ data.point1Longitude = this.point1Longitude;
114
+ data.point1Latitude = this.point1Latitude;
115
+ data.point2Longitude = this.point2Longitude;
116
+ data.point2Latitude = this.point2Latitude;
117
+ data.danishSystem34Region = this.danishSystem34Region;
118
+ data.azimuth = this.azimuth;
119
+ return data;
120
+ }
121
+ /** Compares two projections. It is a strict compare operation as descriptive data is compared
122
+ * but a minuscule tolerance is applied to number compares.
123
+ * @public */
124
+ equals(other) {
125
+ if (this.method !== other.method ||
126
+ this.zoneNumber !== other.zoneNumber ||
127
+ this.hemisphere !== other.hemisphere ||
128
+ this.danishSystem34Region !== other.danishSystem34Region)
129
+ return false;
130
+ // Note that even though falseEasting, falseNorthing, elevationAboveGeoid and geoidSeparation are expressed
131
+ // in the units of the projection which can be foot or US survey foot, they are still within the same order
132
+ // of size that Geometry.smallMetricDistance can be used effectively.
133
+ if (!core_geometry_1.Geometry.isAlmostEqualOptional(this.falseEasting, other.falseEasting, core_geometry_1.Geometry.smallMetricDistance) ||
134
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.falseNorthing, other.falseNorthing, core_geometry_1.Geometry.smallMetricDistance) ||
135
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.centralMeridian, other.centralMeridian, core_geometry_1.Geometry.smallAngleDegrees) ||
136
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.latitudeOfOrigin, other.latitudeOfOrigin, core_geometry_1.Geometry.smallAngleDegrees) ||
137
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.longitudeOfOrigin, other.longitudeOfOrigin, core_geometry_1.Geometry.smallAngleDegrees) ||
138
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.scaleFactor, other.scaleFactor, core_geometry_1.Geometry.smallFraction) ||
139
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.elevationAboveGeoid, other.elevationAboveGeoid, core_geometry_1.Geometry.smallMetricDistance) ||
140
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.geoidSeparation, other.geoidSeparation, core_geometry_1.Geometry.smallMetricDistance) ||
141
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.standardParallel, other.standardParallel, core_geometry_1.Geometry.smallAngleDegrees) ||
142
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.standardParallel1, other.standardParallel1, core_geometry_1.Geometry.smallAngleDegrees) ||
143
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.standardParallel2, other.standardParallel2, core_geometry_1.Geometry.smallAngleDegrees) ||
144
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.centralPointLongitude, other.centralPointLongitude, core_geometry_1.Geometry.smallAngleDegrees) ||
145
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.centralPointLatitude, other.centralPointLatitude, core_geometry_1.Geometry.smallAngleDegrees) ||
146
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.point1Longitude, other.point1Longitude, core_geometry_1.Geometry.smallAngleDegrees) ||
147
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.point1Latitude, other.point1Latitude, core_geometry_1.Geometry.smallAngleDegrees) ||
148
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.point2Longitude, other.point2Longitude, core_geometry_1.Geometry.smallAngleDegrees) ||
149
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.point2Latitude, other.point2Latitude, core_geometry_1.Geometry.smallAngleDegrees) ||
150
+ !core_geometry_1.Geometry.isAlmostEqualOptional(this.azimuth, other.azimuth, core_geometry_1.Geometry.smallAngleDegrees))
151
+ return false;
152
+ if (this.affine && other.affine) {
153
+ if (!this.affine.equals(other.affine))
154
+ return false;
155
+ }
156
+ else {
157
+ if (this.affine || other.affine)
158
+ return false;
159
+ }
160
+ return true;
161
+ }
162
+ }
163
+ exports.Projection = Projection;
164
+ /** A 2D cartographic point in degrees
165
+ * @public
166
+ */
167
+ class Carto2DDegrees {
168
+ /** Returns or sets the latitude in degrees. When setting the provided number must be between or equal from -90 to 90. */
169
+ get latitude() { return this._latitude; }
170
+ set latitude(newLatitude) {
171
+ if ((newLatitude <= 90.0) && (newLatitude >= -90.0))
172
+ this._latitude = newLatitude;
173
+ }
174
+ constructor(data) {
175
+ this.latitude = 0.0; /* make sure latitude is init even if invalid latitude provided */
176
+ if (data) {
177
+ this.latitude = data.latitude;
178
+ this.longitude = data.longitude;
179
+ }
180
+ }
181
+ /** Creates a Carto2DDegrees object from JSON representation.
182
+ * @public */
183
+ static fromJSON(data) {
184
+ return new Carto2DDegrees(data);
185
+ }
186
+ /** Creates a JSON from the Carto2DDegrees definition
187
+ * @public */
188
+ toJSON() {
189
+ return { latitude: this.latitude, longitude: this.longitude };
190
+ }
191
+ /** Compares two Carto2DDegrees object. It applies a minuscule tolerance to compares.
192
+ * @public */
193
+ equals(other) {
194
+ return (Math.abs(this.latitude - other.latitude) < core_geometry_1.Geometry.smallAngleDegrees &&
195
+ Math.abs(this.longitude - other.longitude) < core_geometry_1.Geometry.smallAngleDegrees);
196
+ }
197
+ }
198
+ exports.Carto2DDegrees = Carto2DDegrees;
199
199
  //# sourceMappingURL=Projection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Projection.js","sourceRoot":"","sources":["../../../src/geometry/Projection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Geometry\r\n */\r\n// cspell:ignore Albers, Krovak, OSTN, Cassini, Grinten, Mollweide, Eckert, Homolosine, Carree, Winkel, Tripel, Polyconic\r\n\r\nimport { Geometry } from \"@itwin/core-geometry\";\r\n\r\n/** This enum contains the list of all projection methods that can be represented as part of the HorizontalCRS\r\n * class. The None method indicates there is no projection and thus the CRS is longitude/latitude based\r\n * with units as degrees.\r\n * All other projection indicated a projected CRS.\r\n * @public\r\n * @extensions\r\n */\r\nexport type ProjectionMethod =\r\n \"None\" |\r\n \"TransverseMercator\" |\r\n \"SouthOrientedTransverseMercator\" |\r\n \"TransverseMercatorWisconsin\" |\r\n \"TransverseMercatorMinnesota\" |\r\n \"TransverseMercatorAffine\" |\r\n \"MercatorStandardParallel\" |\r\n \"Mercator\" |\r\n \"UniversalTransverseMercator\" |\r\n \"LambertConformalConicTwoParallels\" |\r\n \"LambertConformalConicBelgium\" |\r\n \"LambertConformalConicAffine\" |\r\n \"LambertConformalConicWisconsin\" |\r\n \"LambertConformalConicMinnesota\" |\r\n \"LambertConformalConicMichigan\" |\r\n \"LambertConformalConicOneParallel\" |\r\n \"AlbersEqualArea\" |\r\n \"NewZealandNationalGrid\" |\r\n \"ObliqueMercator1\" |\r\n \"ObliqueMercator2\" |\r\n \"TransverseMercatorOSTN97\" |\r\n \"TransverseMercatorOSTN02\" |\r\n \"TransverseMercatorOSTN15\" |\r\n \"Krovak\" |\r\n \"KrovakModified\" |\r\n \"ObliqueCylindricalSwiss\" |\r\n \"TransverseMercatorDenmarkSystem34\" |\r\n \"TransverseMercatorDenmarkSystem3499\" |\r\n \"TransverseMercatorDenmarkSystem3401\" |\r\n \"Cassini\" |\r\n \"Sinusoidal\" |\r\n \"VanDerGrinten\" |\r\n \"Bonne\" |\r\n \"Mollweide\" |\r\n \"EckertIV\" |\r\n \"EckertVI\" |\r\n \"GoodeHomolosine\" |\r\n \"Robinson\" |\r\n \"PlateCarree\" |\r\n \"MillerCylindrical\" |\r\n \"WinkelTripel\" |\r\n \"AzimuthalEqualArea\" |\r\n \"ObliqueStereographic\" |\r\n \"RectifiedSkewOrthomorphicCentered\" |\r\n \"RectifiedSkewOrthomorphicOrigin\" |\r\n \"ObliqueCylindricalHungary\" |\r\n \"Orthographic\" |\r\n \"AmericanPolyconic\" |\r\n \"LambertEquidistantAzimuthal\" |\r\n \"ObliqueMercatorMinnesota\";\r\n\r\n/** The equations are:\r\n * X1 = a1*X + a2*Y + TranslationX\r\n * Y1 = b1*X + b2*Y + translationY\r\n * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface AffineTransformProps {\r\n /** The X post translation */\r\n translationX: number;\r\n /** The Y post-translation */\r\n translationY: number;\r\n /** A1 value as defined in global comment. */\r\n a1: number;\r\n /** B1 value as defined in global comment. */\r\n b1: number;\r\n /** A2 value as defined in global comment. */\r\n a2: number;\r\n /** B2 value as defined in global comment. */\r\n b2: number;\r\n}\r\n\r\n/** The equations are:\r\n * X1 = a1*X + a2*Y + TranslationX\r\n * Y1 = b1*X + b2*Y + translationY\r\n * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.\r\n * @public\r\n */\r\nexport class AffineTransform implements AffineTransformProps {\r\n /** The X post translation */\r\n public readonly translationX!: number;\r\n /** The Y post-translation */\r\n public readonly translationY!: number;\r\n /** A1 value as defined in global comment. */\r\n public readonly a1!: number;\r\n /** B1 value as defined in global comment. */\r\n public readonly b1!: number;\r\n /** A2 value as defined in global comment. */\r\n public readonly a2!: number;\r\n /** B2 value as defined in global comment. */\r\n public readonly b2!: number;\r\n\r\n constructor(data?: AffineTransformProps) {\r\n if (data) {\r\n this.translationX = data.translationX;\r\n this.translationY = data.translationY;\r\n this.a1 = data.a1;\r\n this.b1 = data.b1;\r\n this.a2 = data.a2;\r\n this.b2 = data.b2;\r\n }\r\n }\r\n\r\n /** Creates an Affine Transform from JSON representation.\r\n * @public */\r\n public static fromJSON(data: AffineTransformProps): AffineTransform {\r\n return new AffineTransform(data);\r\n }\r\n\r\n /** Creates a JSON from the Affine Transform definition\r\n * @public */\r\n public toJSON(): AffineTransformProps {\r\n return { translationX: this.translationX, a1: this.a1, a2: this.a2, translationY: this.translationY, b1: this.b1, b2: this.b2 };\r\n }\r\n\r\n /** Compares two Affine Transforms. It applies a minuscule tolerance for number compares\r\n * @public */\r\n public equals(other: AffineTransform): boolean {\r\n return (Math.abs(this.translationX - other.translationX) < Geometry.smallMetricDistance &&\r\n Math.abs(this.translationY - other.translationY) < Geometry.smallMetricDistance &&\r\n Math.abs(this.a1 - other.a1) < Geometry.smallFraction &&\r\n Math.abs(this.b1 - other.b1) < Geometry.smallFraction &&\r\n Math.abs(this.a2 - other.a2) < Geometry.smallFraction &&\r\n Math.abs(this.b2 - other.b2) < Geometry.smallFraction);\r\n }\r\n}\r\n\r\n/** Type used in the definition of UTM Zoning projection. This projection only requires a zone number and\r\n * the hemisphere North or South.\r\n * @public\r\n * @extensions\r\n */\r\nexport type HemisphereEnum = \"South\" | \"North\";\r\n\r\n/** The type to define the three zones of the Danish System 34 projections.\r\n * @public\r\n * @extensions\r\n */\r\nexport type DanishSystem34Region = \"Jylland\" | \"Sjaelland\" | \"Bornholm\";\r\n\r\n/** This class encapsulates the projection of the CRS. The projection relies on a projection method\r\n * and a set of projection parameters specific to projection method selected.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ProjectionProps {\r\n /** The projection method. */\r\n method: ProjectionMethod;\r\n /** The False Easting of the projection. */\r\n falseEasting?: number;\r\n /** The False Northing of the projection. */\r\n falseNorthing?: number;\r\n /** The Central Meridian. */\r\n centralMeridian?: number;\r\n /** The latitude of origin of the projection. */\r\n latitudeOfOrigin?: number;\r\n /** Longitude of origin of the projection. */\r\n longitudeOfOrigin?: number;\r\n /** The scale reduction factor applied at origin. The nature of the projection has a\r\n * inherent scale factor applied that gradually varies outward from the projection origin.\r\n * The scale factor at origin enables to level the inherent scale factor over an use extent.\r\n * For the michigan variation of the Lambert Conformal Conic projection it\r\n * can be used instead or in addition to Standard Parallel to define\r\n * a scale factor.\r\n */\r\n scaleFactor?: number;\r\n /** The elevation of the origin of the projection above the geoid. This value\r\n * allows compensation for the scale factor related to elevation above the sea level.\r\n */\r\n elevationAboveGeoid?: number;\r\n /** The geoid separation. It represents the elevation of the geoid above the ellipsoid at the center of the projection. */\r\n geoidSeparation?: number;\r\n /** The definition of the affine post-transformation for Transverse Mercator and Lambert Conformal Conic with post-affine projections */\r\n affine?: AffineTransformProps;\r\n /** Standard parallel for projection that only use one.\r\n * For cylindrical projections (mercator, transverse mercator ...) it defines the parallel at\r\n * which the cylinder crosses the ellipsoid resulting in a scale factor being applied.\r\n * For conic projections (Lambert Tangential ...) it defines\r\n * the standard parallel at which the cone is tangent to the ellipsoid.\r\n */\r\n standardParallel?: number;\r\n /** The first standard parallel at which the cone crosses the ellipsoid. */\r\n standardParallel1?: number;\r\n /** The second standard parallel at which the cone crosses the ellipsoid. */\r\n standardParallel2?: number;\r\n /** The UTM zone number. A number from 0 to 60. */\r\n zoneNumber?: number;\r\n /** The hemisphere for Universal Transverse Mercator projection. */\r\n hemisphere?: HemisphereEnum;\r\n /** Longitude of the central point. */\r\n centralPointLongitude?: number;\r\n /** Latitude of the central point. */\r\n centralPointLatitude?: number;\r\n /** Longitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n point1Longitude?: number;\r\n /** Latitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n point1Latitude?: number;\r\n /** Longitude of the second alignment point for some Oblique Mercator projections. */\r\n point2Longitude?: number;\r\n /** Latitude of the second alignment point for some Oblique Mercator projections. */\r\n point2Latitude?: number;\r\n /** The Danish zone for Danish projections. */\r\n danishSystem34Region?: DanishSystem34Region;\r\n /** Azimuth. */\r\n azimuth?: number;\r\n}\r\n\r\n/** This class encapsulates the projection of the CRS. The projection relies on a projection method and a set\r\n * of projection parameters specific to projection method selected to flatten the surface of the model of the Earth\r\n * defines as a geodetic ellipsoid. The flattening and the distortion angular, linear, scale from the process varies between methods.\r\n * Refer to appropriate external documentation for details.\r\n * @note Various property sets are required for specific projection methods. The current class implementation does not enforce\r\n * these rules yet and it is possible to define or not define any property regardless the method used.\r\n * @public\r\n */\r\nexport class Projection implements ProjectionProps {\r\n /** The projection method. */\r\n public readonly method!: ProjectionMethod;\r\n /** The False Easting of the projection. */\r\n public readonly falseEasting?: number;\r\n /** The False Northing of the projection. */\r\n public readonly falseNorthing?: number;\r\n /** The Central Meridian. */\r\n public readonly centralMeridian?: number;\r\n /** The latitude of origin of the projection. */\r\n public readonly latitudeOfOrigin?: number;\r\n /** Longitude of origin of the projection. */\r\n public readonly longitudeOfOrigin?: number;\r\n /** The scale reduction factor applied at origin. The nature of the projection has a\r\n * inherent scale factor applied that gradually varies outward from the projection origin.\r\n * The scale factor at origin enables to level the inherent scale factor over an use extent.\r\n * For the michigan variation of the Lambert Conformal Conic projection it\r\n * can be used instead or in addition to Standard Parallel to define\r\n * a scale factor.\r\n */\r\n public readonly scaleFactor?: number;\r\n /** The elevation of the origin of the projection above the geoid. This value\r\n * allows compensation for the scale factor related to elevation above the sea level.\r\n */\r\n public readonly elevationAboveGeoid?: number;\r\n /** The geoid separation. It represents the elevation of the geoid above the ellipsoid at the center of the projection. */\r\n public readonly geoidSeparation?: number;\r\n /** The definition of the affine post-transformation for Transverse Mercator and Lambert Conformal Conic with post-affine projections */\r\n public readonly affine?: AffineTransform;\r\n /** Standard parallel for projection that only use one.\r\n * For cylindrical projections (mercator, transverse mercator ...) it defines the parallel at\r\n ** which the cylinder crosses the ellipsoid resulting in a scale factor being applied.\r\n * For conic projections (Lambert Tangential ...) it defines\r\n * the standard parallel at which the cone is tangent to the ellipsoid.\r\n */\r\n public readonly standardParallel?: number;\r\n /** The first standard parallel at which the cone crosses the ellipsoid. */\r\n public readonly standardParallel1?: number;\r\n /** The second standard parallel at which the cone crosses the ellipsoid. */\r\n public readonly standardParallel2?: number;\r\n /** The UTM zone number. A number from 0 to 60. */\r\n public readonly zoneNumber?: number;\r\n /** The hemisphere for Universal Transverse Mercator projection. */\r\n public readonly hemisphere?: HemisphereEnum;\r\n /** Longitude of the central point. */\r\n public readonly centralPointLongitude?: number;\r\n /** Latitude of the central point. */\r\n public readonly centralPointLatitude?: number;\r\n /** Longitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n public readonly point1Longitude?: number;\r\n /** Latitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n public readonly point1Latitude?: number;\r\n /** Longitude of the second alignment point for some Oblique Mercator projections. */\r\n public readonly point2Longitude?: number;\r\n /** Latitude of the second alignment point for some Oblique Mercator projections. */\r\n public readonly point2Latitude?: number;\r\n /** The Danish zone for Danish projections. */\r\n public readonly danishSystem34Region?: DanishSystem34Region;\r\n /** Azimuth. */\r\n public readonly azimuth?: number;\r\n\r\n public constructor(_data?: ProjectionProps) {\r\n if (_data) {\r\n this.method = _data.method;\r\n this.falseEasting = _data.falseEasting;\r\n this.falseNorthing = _data.falseNorthing;\r\n this.centralMeridian = _data.centralMeridian;\r\n this.latitudeOfOrigin = _data.latitudeOfOrigin;\r\n this.longitudeOfOrigin = _data.longitudeOfOrigin;\r\n this.scaleFactor = _data.scaleFactor;\r\n this.elevationAboveGeoid = _data.elevationAboveGeoid;\r\n this.geoidSeparation = _data.geoidSeparation;\r\n this.affine = _data.affine ? AffineTransform.fromJSON(_data.affine) : undefined;\r\n this.standardParallel = _data.standardParallel;\r\n this.standardParallel1 = _data.standardParallel1;\r\n this.standardParallel2 = _data.standardParallel2;\r\n this.zoneNumber = _data.zoneNumber;\r\n this.hemisphere = _data.hemisphere;\r\n this.centralPointLongitude = _data.centralPointLongitude;\r\n this.centralPointLatitude = _data.centralPointLatitude;\r\n this.point1Longitude = _data.point1Longitude;\r\n this.point1Latitude = _data.point1Latitude;\r\n this.point2Longitude = _data.point2Longitude;\r\n this.point2Latitude = _data.point2Latitude;\r\n this.danishSystem34Region = _data.danishSystem34Region;\r\n this.azimuth = _data.azimuth;\r\n }\r\n }\r\n\r\n /** Creates a Projection from JSON representation.\r\n * @public */\r\n public static fromJSON(data: ProjectionProps): Projection {\r\n return new Projection(data);\r\n }\r\n\r\n /** Creates a JSON from the Projection definition\r\n * @public */\r\n public toJSON(): ProjectionProps {\r\n const data: ProjectionProps = { method: this.method };\r\n data.falseEasting = this.falseEasting;\r\n data.falseNorthing = this.falseNorthing;\r\n data.centralMeridian = this.centralMeridian;\r\n data.latitudeOfOrigin = this.latitudeOfOrigin;\r\n data.longitudeOfOrigin = this.longitudeOfOrigin;\r\n data.scaleFactor = this.scaleFactor;\r\n data.elevationAboveGeoid = this.elevationAboveGeoid;\r\n data.geoidSeparation = this.geoidSeparation;\r\n data.affine = this.affine ? this.affine.toJSON() : undefined;\r\n data.standardParallel = this.standardParallel;\r\n data.standardParallel1 = this.standardParallel1;\r\n data.standardParallel2 = this.standardParallel2;\r\n data.zoneNumber = this.zoneNumber;\r\n data.hemisphere = this.hemisphere;\r\n data.centralPointLongitude = this.centralPointLongitude;\r\n data.centralPointLatitude = this.centralPointLatitude;\r\n data.point1Longitude = this.point1Longitude;\r\n data.point1Latitude = this.point1Latitude;\r\n data.point2Longitude = this.point2Longitude;\r\n data.point2Latitude = this.point2Latitude;\r\n data.danishSystem34Region = this.danishSystem34Region;\r\n data.azimuth = this.azimuth;\r\n return data;\r\n }\r\n\r\n /** Compares two projections. It is a strict compare operation as descriptive data is compared\r\n * but a minuscule tolerance is applied to number compares.\r\n * @public */\r\n public equals(other: Projection): boolean {\r\n if (this.method !== other.method ||\r\n this.zoneNumber !== other.zoneNumber ||\r\n this.hemisphere !== other.hemisphere ||\r\n this.danishSystem34Region !== other.danishSystem34Region)\r\n return false;\r\n\r\n // Note that even though falseEasting, falseNorthing, elevationAboveGeoid and geoidSeparation are expressed\r\n // in the units of the projection which can be foot or US survey foot, they are still within the same order\r\n // of size that Geometry.smallMetricDistance can be used effectively.\r\n if (!Geometry.isAlmostEqualOptional(this.falseEasting, other.falseEasting, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.falseNorthing, other.falseNorthing, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.centralMeridian, other.centralMeridian, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.latitudeOfOrigin, other.latitudeOfOrigin, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.longitudeOfOrigin, other.longitudeOfOrigin, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.scaleFactor, other.scaleFactor, Geometry.smallFraction) ||\r\n !Geometry.isAlmostEqualOptional(this.elevationAboveGeoid, other.elevationAboveGeoid, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.geoidSeparation, other.geoidSeparation, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel, other.standardParallel, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel1, other.standardParallel1, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel2, other.standardParallel2, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.centralPointLongitude, other.centralPointLongitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.centralPointLatitude, other.centralPointLatitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point1Longitude, other.point1Longitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point1Latitude, other.point1Latitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point2Longitude, other.point2Longitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point2Latitude, other.point2Latitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.azimuth, other.azimuth, Geometry.smallAngleDegrees))\r\n return false;\r\n\r\n if (this.affine && other.affine) {\r\n if (!this.affine.equals(other.affine))\r\n return false;\r\n } else {\r\n if (this.affine || other.affine)\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/** A 2D cartographic point in degrees\r\n * @public\r\n * @extensions\r\n */\r\nexport interface Carto2DDegreesProps {\r\n /** Latitude value in degrees */\r\n latitude: number;\r\n /** Longitude value in degrees */\r\n longitude: number;\r\n}\r\n\r\n/** A 2D cartographic point in degrees\r\n * @public\r\n */\r\nexport class Carto2DDegrees implements Carto2DDegreesProps {\r\n /** Latitude value in degrees. Must be between -90 and +90 included */\r\n private _latitude!: number;\r\n /** Returns or sets the latitude in degrees. When setting the provided number must be between or equal from -90 to 90. */\r\n public get latitude() { return this._latitude; }\r\n public set latitude(newLatitude: number) {\r\n if ((newLatitude <= 90.0) && (newLatitude >= -90.0))\r\n this._latitude = newLatitude;\r\n }\r\n /** Longitude value in degrees */\r\n public longitude!: number;\r\n\r\n public constructor(data?: Carto2DDegreesProps) {\r\n this.latitude = 0.0; /* make sure latitude is init even if invalid latitude provided */\r\n if (data) {\r\n this.latitude = data.latitude;\r\n this.longitude = data.longitude;\r\n }\r\n }\r\n\r\n /** Creates a Carto2DDegrees object from JSON representation.\r\n * @public */\r\n public static fromJSON(data: Carto2DDegreesProps): Carto2DDegrees {\r\n return new Carto2DDegrees(data);\r\n }\r\n\r\n /** Creates a JSON from the Carto2DDegrees definition\r\n * @public */\r\n public toJSON(): Carto2DDegreesProps {\r\n return { latitude: this.latitude, longitude: this.longitude };\r\n }\r\n\r\n /** Compares two Carto2DDegrees object. It applies a minuscule tolerance to compares.\r\n * @public */\r\n public equals(other: Carto2DDegrees): boolean {\r\n return (Math.abs(this.latitude - other.latitude) < Geometry.smallAngleDegrees &&\r\n Math.abs(this.longitude - other.longitude) < Geometry.smallAngleDegrees);\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"Projection.js","sourceRoot":"","sources":["../../../src/geometry/Projection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Geometry\r\n */\r\n// cspell:ignore Albers, Krovak, OSTN, Cassini, Grinten, Mollweide, Eckert, Homolosine, Carree, Winkel, Tripel, Polyconic\r\n\r\nimport { Geometry } from \"@itwin/core-geometry\";\r\n\r\n/** This enum contains the list of all projection methods that can be represented as part of the HorizontalCRS\r\n * class. The None method indicates there is no projection and thus the CRS is longitude/latitude based\r\n * with units as degrees.\r\n * All other projection indicated a projected CRS.\r\n * @public\r\n * @extensions\r\n */\r\nexport type ProjectionMethod =\r\n \"None\" |\r\n \"TransverseMercator\" |\r\n \"SouthOrientedTransverseMercator\" |\r\n \"TransverseMercatorWisconsin\" |\r\n \"TransverseMercatorMinnesota\" |\r\n \"TransverseMercatorAffine\" |\r\n \"MercatorStandardParallel\" |\r\n \"Mercator\" |\r\n \"UniversalTransverseMercator\" |\r\n \"LambertConformalConicTwoParallels\" |\r\n \"LambertConformalConicBelgium\" |\r\n \"LambertConformalConicAffine\" |\r\n \"LambertConformalConicWisconsin\" |\r\n \"LambertConformalConicMinnesota\" |\r\n \"LambertConformalConicMichigan\" |\r\n \"LambertConformalConicOneParallel\" |\r\n \"AlbersEqualArea\" |\r\n \"NewZealandNationalGrid\" |\r\n \"ObliqueMercator1\" |\r\n \"ObliqueMercator2\" |\r\n \"TransverseMercatorOSTN97\" |\r\n \"TransverseMercatorOSTN02\" |\r\n \"TransverseMercatorOSTN15\" |\r\n \"Krovak\" |\r\n \"KrovakModified\" |\r\n \"ObliqueCylindricalSwiss\" |\r\n \"TransverseMercatorDenmarkSystem34\" |\r\n \"TransverseMercatorDenmarkSystem3499\" |\r\n \"TransverseMercatorDenmarkSystem3401\" |\r\n \"Cassini\" |\r\n \"Sinusoidal\" |\r\n \"VanDerGrinten\" |\r\n \"Bonne\" |\r\n \"Mollweide\" |\r\n \"EckertIV\" |\r\n \"EckertVI\" |\r\n \"GoodeHomolosine\" |\r\n \"Robinson\" |\r\n \"PlateCarree\" |\r\n \"MillerCylindrical\" |\r\n \"WinkelTripel\" |\r\n \"AzimuthalEqualArea\" |\r\n \"ObliqueStereographic\" |\r\n \"RectifiedSkewOrthomorphicCentered\" |\r\n \"RectifiedSkewOrthomorphicOrigin\" |\r\n \"ObliqueCylindricalHungary\" |\r\n \"Orthographic\" |\r\n \"AmericanPolyconic\" |\r\n \"LambertEquidistantAzimuthal\" |\r\n \"ObliqueMercatorMinnesota\";\r\n\r\n/** The equations are:\r\n * X1 = a1*X + a2*Y + TranslationX\r\n * Y1 = b1*X + b2*Y + translationY\r\n * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface AffineTransformProps {\r\n /** The X post translation */\r\n translationX: number;\r\n /** The Y post-translation */\r\n translationY: number;\r\n /** A1 value as defined in global comment. */\r\n a1: number;\r\n /** B1 value as defined in global comment. */\r\n b1: number;\r\n /** A2 value as defined in global comment. */\r\n a2: number;\r\n /** B2 value as defined in global comment. */\r\n b2: number;\r\n}\r\n\r\n/** The equations are:\r\n * X1 = a1*X + a2*Y + TranslationX\r\n * Y1 = b1*X + b2*Y + translationY\r\n * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.\r\n * @public\r\n */\r\nexport class AffineTransform implements AffineTransformProps {\r\n /** The X post translation */\r\n public readonly translationX!: number;\r\n /** The Y post-translation */\r\n public readonly translationY!: number;\r\n /** A1 value as defined in global comment. */\r\n public readonly a1!: number;\r\n /** B1 value as defined in global comment. */\r\n public readonly b1!: number;\r\n /** A2 value as defined in global comment. */\r\n public readonly a2!: number;\r\n /** B2 value as defined in global comment. */\r\n public readonly b2!: number;\r\n\r\n constructor(data?: AffineTransformProps) {\r\n if (data) {\r\n this.translationX = data.translationX;\r\n this.translationY = data.translationY;\r\n this.a1 = data.a1;\r\n this.b1 = data.b1;\r\n this.a2 = data.a2;\r\n this.b2 = data.b2;\r\n }\r\n }\r\n\r\n /** Creates an Affine Transform from JSON representation.\r\n * @public */\r\n public static fromJSON(data: AffineTransformProps): AffineTransform {\r\n return new AffineTransform(data);\r\n }\r\n\r\n /** Creates a JSON from the Affine Transform definition\r\n * @public */\r\n public toJSON(): AffineTransformProps {\r\n return { translationX: this.translationX, a1: this.a1, a2: this.a2, translationY: this.translationY, b1: this.b1, b2: this.b2 };\r\n }\r\n\r\n /** Compares two Affine Transforms. It applies a minuscule tolerance for number compares\r\n * @public */\r\n public equals(other: AffineTransform): boolean {\r\n return (Math.abs(this.translationX - other.translationX) < Geometry.smallMetricDistance &&\r\n Math.abs(this.translationY - other.translationY) < Geometry.smallMetricDistance &&\r\n Math.abs(this.a1 - other.a1) < Geometry.smallFraction &&\r\n Math.abs(this.b1 - other.b1) < Geometry.smallFraction &&\r\n Math.abs(this.a2 - other.a2) < Geometry.smallFraction &&\r\n Math.abs(this.b2 - other.b2) < Geometry.smallFraction);\r\n }\r\n}\r\n\r\n/** Type used in the definition of UTM Zoning projection. This projection only requires a zone number and\r\n * the hemisphere North or South.\r\n * @public\r\n * @extensions\r\n */\r\nexport type HemisphereEnum = \"South\" | \"North\";\r\n\r\n/** The type to define the three zones of the Danish System 34 projections.\r\n * @public\r\n * @extensions\r\n */\r\nexport type DanishSystem34Region = \"Jylland\" | \"Sjaelland\" | \"Bornholm\";\r\n\r\n/** This class encapsulates the projection of the CRS. The projection relies on a projection method\r\n * and a set of projection parameters specific to projection method selected.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ProjectionProps {\r\n /** The projection method. */\r\n method: ProjectionMethod;\r\n /** The False Easting of the projection. */\r\n falseEasting?: number;\r\n /** The False Northing of the projection. */\r\n falseNorthing?: number;\r\n /** The Central Meridian. */\r\n centralMeridian?: number;\r\n /** The latitude of origin of the projection. */\r\n latitudeOfOrigin?: number;\r\n /** Longitude of origin of the projection. */\r\n longitudeOfOrigin?: number;\r\n /** The scale reduction factor applied at origin. The nature of the projection has a\r\n * inherent scale factor applied that gradually varies outward from the projection origin.\r\n * The scale factor at origin enables to level the inherent scale factor over an use extent.\r\n * For the michigan variation of the Lambert Conformal Conic projection it\r\n * can be used instead or in addition to Standard Parallel to define\r\n * a scale factor.\r\n */\r\n scaleFactor?: number;\r\n /** The elevation of the origin of the projection above the geoid. This value\r\n * allows compensation for the scale factor related to elevation above the sea level.\r\n */\r\n elevationAboveGeoid?: number;\r\n /** The geoid separation. It represents the elevation of the geoid above the ellipsoid at the center of the projection. */\r\n geoidSeparation?: number;\r\n /** The definition of the affine post-transformation for Transverse Mercator and Lambert Conformal Conic with post-affine projections */\r\n affine?: AffineTransformProps;\r\n /** Standard parallel for projection that only use one.\r\n * For cylindrical projections (mercator, transverse mercator ...) it defines the parallel at\r\n * which the cylinder crosses the ellipsoid resulting in a scale factor being applied.\r\n * For conic projections (Lambert Tangential ...) it defines\r\n * the standard parallel at which the cone is tangent to the ellipsoid.\r\n */\r\n standardParallel?: number;\r\n /** The first standard parallel at which the cone crosses the ellipsoid. */\r\n standardParallel1?: number;\r\n /** The second standard parallel at which the cone crosses the ellipsoid. */\r\n standardParallel2?: number;\r\n /** The UTM zone number. A number from 0 to 60. */\r\n zoneNumber?: number;\r\n /** The hemisphere for Universal Transverse Mercator projection. */\r\n hemisphere?: HemisphereEnum;\r\n /** Longitude of the central point. */\r\n centralPointLongitude?: number;\r\n /** Latitude of the central point. */\r\n centralPointLatitude?: number;\r\n /** Longitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n point1Longitude?: number;\r\n /** Latitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n point1Latitude?: number;\r\n /** Longitude of the second alignment point for some Oblique Mercator projections. */\r\n point2Longitude?: number;\r\n /** Latitude of the second alignment point for some Oblique Mercator projections. */\r\n point2Latitude?: number;\r\n /** The Danish zone for Danish projections. */\r\n danishSystem34Region?: DanishSystem34Region;\r\n /** Azimuth. */\r\n azimuth?: number;\r\n}\r\n\r\n/** This class encapsulates the projection of the CRS. The projection relies on a projection method and a set\r\n * of projection parameters specific to projection method selected to flatten the surface of the model of the Earth\r\n * defines as a geodetic ellipsoid. The flattening and the distortion angular, linear, scale from the process varies between methods.\r\n * Refer to appropriate external documentation for details.\r\n * @note Various property sets are required for specific projection methods. The current class implementation does not enforce\r\n * these rules yet and it is possible to define or not define any property regardless the method used.\r\n * @public\r\n */\r\nexport class Projection implements ProjectionProps {\r\n /** The projection method. */\r\n public readonly method!: ProjectionMethod;\r\n /** The False Easting of the projection. */\r\n public readonly falseEasting?: number;\r\n /** The False Northing of the projection. */\r\n public readonly falseNorthing?: number;\r\n /** The Central Meridian. */\r\n public readonly centralMeridian?: number;\r\n /** The latitude of origin of the projection. */\r\n public readonly latitudeOfOrigin?: number;\r\n /** Longitude of origin of the projection. */\r\n public readonly longitudeOfOrigin?: number;\r\n /** The scale reduction factor applied at origin. The nature of the projection has a\r\n * inherent scale factor applied that gradually varies outward from the projection origin.\r\n * The scale factor at origin enables to level the inherent scale factor over an use extent.\r\n * For the michigan variation of the Lambert Conformal Conic projection it\r\n * can be used instead or in addition to Standard Parallel to define\r\n * a scale factor.\r\n */\r\n public readonly scaleFactor?: number;\r\n /** The elevation of the origin of the projection above the geoid. This value\r\n * allows compensation for the scale factor related to elevation above the sea level.\r\n */\r\n public readonly elevationAboveGeoid?: number;\r\n /** The geoid separation. It represents the elevation of the geoid above the ellipsoid at the center of the projection. */\r\n public readonly geoidSeparation?: number;\r\n /** The definition of the affine post-transformation for Transverse Mercator and Lambert Conformal Conic with post-affine projections */\r\n public readonly affine?: AffineTransform;\r\n /** Standard parallel for projection that only use one.\r\n * For cylindrical projections (mercator, transverse mercator ...) it defines the parallel at\r\n ** which the cylinder crosses the ellipsoid resulting in a scale factor being applied.\r\n * For conic projections (Lambert Tangential ...) it defines\r\n * the standard parallel at which the cone is tangent to the ellipsoid.\r\n */\r\n public readonly standardParallel?: number;\r\n /** The first standard parallel at which the cone crosses the ellipsoid. */\r\n public readonly standardParallel1?: number;\r\n /** The second standard parallel at which the cone crosses the ellipsoid. */\r\n public readonly standardParallel2?: number;\r\n /** The UTM zone number. A number from 0 to 60. */\r\n public readonly zoneNumber?: number;\r\n /** The hemisphere for Universal Transverse Mercator projection. */\r\n public readonly hemisphere?: HemisphereEnum;\r\n /** Longitude of the central point. */\r\n public readonly centralPointLongitude?: number;\r\n /** Latitude of the central point. */\r\n public readonly centralPointLatitude?: number;\r\n /** Longitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n public readonly point1Longitude?: number;\r\n /** Latitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n public readonly point1Latitude?: number;\r\n /** Longitude of the second alignment point for some Oblique Mercator projections. */\r\n public readonly point2Longitude?: number;\r\n /** Latitude of the second alignment point for some Oblique Mercator projections. */\r\n public readonly point2Latitude?: number;\r\n /** The Danish zone for Danish projections. */\r\n public readonly danishSystem34Region?: DanishSystem34Region;\r\n /** Azimuth. */\r\n public readonly azimuth?: number;\r\n\r\n public constructor(_data?: ProjectionProps) {\r\n if (_data) {\r\n this.method = _data.method;\r\n this.falseEasting = _data.falseEasting;\r\n this.falseNorthing = _data.falseNorthing;\r\n this.centralMeridian = _data.centralMeridian;\r\n this.latitudeOfOrigin = _data.latitudeOfOrigin;\r\n this.longitudeOfOrigin = _data.longitudeOfOrigin;\r\n this.scaleFactor = _data.scaleFactor;\r\n this.elevationAboveGeoid = _data.elevationAboveGeoid;\r\n this.geoidSeparation = _data.geoidSeparation;\r\n this.affine = _data.affine ? AffineTransform.fromJSON(_data.affine) : undefined;\r\n this.standardParallel = _data.standardParallel;\r\n this.standardParallel1 = _data.standardParallel1;\r\n this.standardParallel2 = _data.standardParallel2;\r\n this.zoneNumber = _data.zoneNumber;\r\n this.hemisphere = _data.hemisphere;\r\n this.centralPointLongitude = _data.centralPointLongitude;\r\n this.centralPointLatitude = _data.centralPointLatitude;\r\n this.point1Longitude = _data.point1Longitude;\r\n this.point1Latitude = _data.point1Latitude;\r\n this.point2Longitude = _data.point2Longitude;\r\n this.point2Latitude = _data.point2Latitude;\r\n this.danishSystem34Region = _data.danishSystem34Region;\r\n this.azimuth = _data.azimuth;\r\n }\r\n }\r\n\r\n /** Creates a Projection from JSON representation.\r\n * @public */\r\n public static fromJSON(data: ProjectionProps): Projection {\r\n return new Projection(data);\r\n }\r\n\r\n /** Creates a JSON from the Projection definition\r\n * @public */\r\n public toJSON(): ProjectionProps {\r\n const data: ProjectionProps = { method: this.method };\r\n data.falseEasting = this.falseEasting;\r\n data.falseNorthing = this.falseNorthing;\r\n data.centralMeridian = this.centralMeridian;\r\n data.latitudeOfOrigin = this.latitudeOfOrigin;\r\n data.longitudeOfOrigin = this.longitudeOfOrigin;\r\n data.scaleFactor = this.scaleFactor;\r\n data.elevationAboveGeoid = this.elevationAboveGeoid;\r\n data.geoidSeparation = this.geoidSeparation;\r\n data.affine = this.affine ? this.affine.toJSON() : undefined;\r\n data.standardParallel = this.standardParallel;\r\n data.standardParallel1 = this.standardParallel1;\r\n data.standardParallel2 = this.standardParallel2;\r\n data.zoneNumber = this.zoneNumber;\r\n data.hemisphere = this.hemisphere;\r\n data.centralPointLongitude = this.centralPointLongitude;\r\n data.centralPointLatitude = this.centralPointLatitude;\r\n data.point1Longitude = this.point1Longitude;\r\n data.point1Latitude = this.point1Latitude;\r\n data.point2Longitude = this.point2Longitude;\r\n data.point2Latitude = this.point2Latitude;\r\n data.danishSystem34Region = this.danishSystem34Region;\r\n data.azimuth = this.azimuth;\r\n return data;\r\n }\r\n\r\n /** Compares two projections. It is a strict compare operation as descriptive data is compared\r\n * but a minuscule tolerance is applied to number compares.\r\n * @public */\r\n public equals(other: Projection): boolean {\r\n if (this.method !== other.method ||\r\n this.zoneNumber !== other.zoneNumber ||\r\n this.hemisphere !== other.hemisphere ||\r\n this.danishSystem34Region !== other.danishSystem34Region)\r\n return false;\r\n\r\n // Note that even though falseEasting, falseNorthing, elevationAboveGeoid and geoidSeparation are expressed\r\n // in the units of the projection which can be foot or US survey foot, they are still within the same order\r\n // of size that Geometry.smallMetricDistance can be used effectively.\r\n if (!Geometry.isAlmostEqualOptional(this.falseEasting, other.falseEasting, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.falseNorthing, other.falseNorthing, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.centralMeridian, other.centralMeridian, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.latitudeOfOrigin, other.latitudeOfOrigin, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.longitudeOfOrigin, other.longitudeOfOrigin, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.scaleFactor, other.scaleFactor, Geometry.smallFraction) ||\r\n !Geometry.isAlmostEqualOptional(this.elevationAboveGeoid, other.elevationAboveGeoid, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.geoidSeparation, other.geoidSeparation, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel, other.standardParallel, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel1, other.standardParallel1, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel2, other.standardParallel2, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.centralPointLongitude, other.centralPointLongitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.centralPointLatitude, other.centralPointLatitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point1Longitude, other.point1Longitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point1Latitude, other.point1Latitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point2Longitude, other.point2Longitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point2Latitude, other.point2Latitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.azimuth, other.azimuth, Geometry.smallAngleDegrees))\r\n return false;\r\n\r\n if (this.affine && other.affine) {\r\n if (!this.affine.equals(other.affine))\r\n return false;\r\n } else {\r\n if (this.affine || other.affine)\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/** A 2D cartographic point in degrees\r\n * @public\r\n * @extensions\r\n */\r\nexport interface Carto2DDegreesProps {\r\n /** Latitude value in degrees */\r\n latitude: number;\r\n /** Longitude value in degrees */\r\n longitude: number;\r\n}\r\n\r\n/** A 2D cartographic point in degrees\r\n * @public\r\n */\r\nexport class Carto2DDegrees implements Carto2DDegreesProps {\r\n /** Latitude value in degrees. Must be between -90 and +90 included */\r\n private _latitude!: number;\r\n /** Returns or sets the latitude in degrees. When setting the provided number must be between or equal from -90 to 90. */\r\n public get latitude() { return this._latitude; }\r\n public set latitude(newLatitude: number) {\r\n if ((newLatitude <= 90.0) && (newLatitude >= -90.0))\r\n this._latitude = newLatitude;\r\n }\r\n /** Longitude value in degrees */\r\n public longitude!: number;\r\n\r\n public constructor(data?: Carto2DDegreesProps) {\r\n this.latitude = 0.0; /* make sure latitude is init even if invalid latitude provided */\r\n if (data) {\r\n this.latitude = data.latitude;\r\n this.longitude = data.longitude;\r\n }\r\n }\r\n\r\n /** Creates a Carto2DDegrees object from JSON representation.\r\n * @public */\r\n public static fromJSON(data: Carto2DDegreesProps): Carto2DDegrees {\r\n return new Carto2DDegrees(data);\r\n }\r\n\r\n /** Creates a JSON from the Carto2DDegrees definition\r\n * @public */\r\n public toJSON(): Carto2DDegreesProps {\r\n return { latitude: this.latitude, longitude: this.longitude };\r\n }\r\n\r\n /** Compares two Carto2DDegrees object. It applies a minuscule tolerance to compares.\r\n * @public */\r\n public equals(other: Carto2DDegrees): boolean {\r\n return (Math.abs(this.latitude - other.latitude) < Geometry.smallAngleDegrees &&\r\n Math.abs(this.longitude - other.longitude) < Geometry.smallAngleDegrees);\r\n }\r\n}\r\n\r\n"]}