@itwin/core-common 4.0.0-dev.51 → 4.0.0-dev.54

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 (1057) hide show
  1. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  2. package/lib/cjs/AmbientOcclusion.js +55 -55
  3. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  4. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  5. package/lib/cjs/AnalysisStyle.js +165 -165
  6. package/lib/cjs/AnalysisStyle.js.map +1 -1
  7. package/lib/cjs/AuthorizationClient.d.ts +17 -17
  8. package/lib/cjs/AuthorizationClient.js +9 -9
  9. package/lib/cjs/AuthorizationClient.js.map +1 -1
  10. package/lib/cjs/BackendTypes.d.ts +13 -12
  11. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  12. package/lib/cjs/BackendTypes.js +9 -9
  13. package/lib/cjs/BackendTypes.js.map +1 -1
  14. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  15. package/lib/cjs/BackgroundMapProvider.d.ts.map +1 -1
  16. package/lib/cjs/BackgroundMapProvider.js +67 -67
  17. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  18. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  19. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  20. package/lib/cjs/BackgroundMapSettings.js +154 -154
  21. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  22. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  23. package/lib/cjs/Base64EncodedString.d.ts.map +1 -1
  24. package/lib/cjs/Base64EncodedString.js +66 -66
  25. package/lib/cjs/Base64EncodedString.js.map +1 -1
  26. package/lib/cjs/BlobReader.d.ts +31 -31
  27. package/lib/cjs/BlobReader.js +84 -84
  28. package/lib/cjs/BlobReader.js.map +1 -1
  29. package/lib/cjs/BriefcaseTypes.d.ts +191 -191
  30. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  31. package/lib/cjs/BriefcaseTypes.js +95 -95
  32. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  33. package/lib/cjs/Camera.d.ts +42 -42
  34. package/lib/cjs/Camera.js +62 -62
  35. package/lib/cjs/Camera.js.map +1 -1
  36. package/lib/cjs/ChangedElements.d.ts +85 -85
  37. package/lib/cjs/ChangedElements.js +23 -23
  38. package/lib/cjs/ChangedElements.js.map +1 -1
  39. package/lib/cjs/ChangedEntities.d.ts +45 -45
  40. package/lib/cjs/ChangedEntities.d.ts.map +1 -1
  41. package/lib/cjs/ChangedEntities.js +9 -9
  42. package/lib/cjs/ChangedEntities.js.map +1 -1
  43. package/lib/cjs/ChangesetProps.d.ts +98 -98
  44. package/lib/cjs/ChangesetProps.d.ts.map +1 -1
  45. package/lib/cjs/ChangesetProps.js +22 -22
  46. package/lib/cjs/ChangesetProps.js.map +1 -1
  47. package/lib/cjs/ClipStyle.d.ts +89 -89
  48. package/lib/cjs/ClipStyle.js +121 -121
  49. package/lib/cjs/ClipStyle.js.map +1 -1
  50. package/lib/cjs/CloudStorage.d.ts +62 -62
  51. package/lib/cjs/CloudStorage.js +113 -113
  52. package/lib/cjs/CloudStorage.js.map +1 -1
  53. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  54. package/lib/cjs/CloudStorageTileCache.js +65 -65
  55. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  56. package/lib/cjs/Code.d.ts +277 -277
  57. package/lib/cjs/Code.d.ts.map +1 -1
  58. package/lib/cjs/Code.js +268 -268
  59. package/lib/cjs/Code.js.map +1 -1
  60. package/lib/cjs/ColorByName.d.ts +161 -161
  61. package/lib/cjs/ColorByName.js +169 -169
  62. package/lib/cjs/ColorByName.js.map +1 -1
  63. package/lib/cjs/ColorDef.d.ts +210 -208
  64. package/lib/cjs/ColorDef.d.ts.map +1 -1
  65. package/lib/cjs/ColorDef.js +572 -570
  66. package/lib/cjs/ColorDef.js.map +1 -1
  67. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  68. package/lib/cjs/CommonLoggerCategory.js +26 -26
  69. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  70. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  71. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  72. package/lib/cjs/ConcurrentQuery.js +552 -552
  73. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  74. package/lib/cjs/ContextRealityModel.d.ts +303 -303
  75. package/lib/cjs/ContextRealityModel.js +371 -371
  76. package/lib/cjs/ContextRealityModel.js.map +1 -1
  77. package/lib/cjs/DisplayStyleSettings.d.ts +588 -588
  78. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  79. package/lib/cjs/DisplayStyleSettings.js +981 -981
  80. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  81. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  82. package/lib/cjs/ECSchemaProps.js +9 -9
  83. package/lib/cjs/ECSchemaProps.js.map +1 -1
  84. package/lib/cjs/ECSqlReader.d.ts +70 -70
  85. package/lib/cjs/ECSqlReader.d.ts.map +1 -1
  86. package/lib/cjs/ECSqlReader.js +280 -280
  87. package/lib/cjs/ECSqlReader.js.map +1 -1
  88. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  89. package/lib/cjs/ECSqlTypes.js +189 -189
  90. package/lib/cjs/ECSqlTypes.js.map +1 -1
  91. package/lib/cjs/ElementMesh.d.ts +39 -39
  92. package/lib/cjs/ElementMesh.js +56 -56
  93. package/lib/cjs/ElementMesh.js.map +1 -1
  94. package/lib/cjs/ElementProps.d.ts +483 -483
  95. package/lib/cjs/ElementProps.d.ts.map +1 -1
  96. package/lib/cjs/ElementProps.js +99 -99
  97. package/lib/cjs/ElementProps.js.map +1 -1
  98. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  99. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  100. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  101. package/lib/cjs/EntityProps.d.ts +177 -177
  102. package/lib/cjs/EntityProps.d.ts.map +1 -1
  103. package/lib/cjs/EntityProps.js +113 -113
  104. package/lib/cjs/EntityProps.js.map +1 -1
  105. package/lib/cjs/EntityReference.d.ts +51 -51
  106. package/lib/cjs/EntityReference.d.ts.map +1 -1
  107. package/lib/cjs/EntityReference.js +56 -56
  108. package/lib/cjs/EntityReference.js.map +1 -1
  109. package/lib/cjs/Environment.d.ts +61 -61
  110. package/lib/cjs/Environment.d.ts.map +1 -1
  111. package/lib/cjs/Environment.js +70 -70
  112. package/lib/cjs/Environment.js.map +1 -1
  113. package/lib/cjs/FeatureIndex.d.ts +39 -39
  114. package/lib/cjs/FeatureIndex.js +63 -63
  115. package/lib/cjs/FeatureIndex.js.map +1 -1
  116. package/lib/cjs/FeatureSymbology.d.ts +449 -444
  117. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  118. package/lib/cjs/FeatureSymbology.js +618 -613
  119. package/lib/cjs/FeatureSymbology.js.map +1 -1
  120. package/lib/cjs/FeatureTable.d.ts +248 -248
  121. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  122. package/lib/cjs/FeatureTable.js +470 -470
  123. package/lib/cjs/FeatureTable.js.map +1 -1
  124. package/lib/cjs/Fonts.d.ts +51 -51
  125. package/lib/cjs/Fonts.d.ts.map +1 -1
  126. package/lib/cjs/Fonts.js +53 -53
  127. package/lib/cjs/Fonts.js.map +1 -1
  128. package/lib/cjs/Frustum.d.ts +114 -114
  129. package/lib/cjs/Frustum.js +292 -292
  130. package/lib/cjs/Frustum.js.map +1 -1
  131. package/lib/cjs/GeoCoordinateServices.d.ts +123 -119
  132. package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
  133. package/lib/cjs/GeoCoordinateServices.js +81 -80
  134. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  135. package/lib/cjs/GeometryContainment.d.ts +28 -28
  136. package/lib/cjs/GeometryContainment.js +9 -9
  137. package/lib/cjs/GeometryContainment.js.map +1 -1
  138. package/lib/cjs/GeometryParams.d.ts +130 -130
  139. package/lib/cjs/GeometryParams.js +174 -174
  140. package/lib/cjs/GeometryParams.js.map +1 -1
  141. package/lib/cjs/GeometrySummary.d.ts +45 -45
  142. package/lib/cjs/GeometrySummary.js +23 -23
  143. package/lib/cjs/GeometrySummary.js.map +1 -1
  144. package/lib/cjs/Gradient.d.ts +139 -139
  145. package/lib/cjs/Gradient.js +453 -453
  146. package/lib/cjs/Gradient.js.map +1 -1
  147. package/lib/cjs/GraphicParams.d.ts +58 -58
  148. package/lib/cjs/GraphicParams.js +85 -85
  149. package/lib/cjs/GraphicParams.js.map +1 -1
  150. package/lib/cjs/GroundPlane.d.ts +52 -52
  151. package/lib/cjs/GroundPlane.d.ts.map +1 -1
  152. package/lib/cjs/GroundPlane.js +63 -63
  153. package/lib/cjs/GroundPlane.js.map +1 -1
  154. package/lib/cjs/HSLColor.d.ts +20 -20
  155. package/lib/cjs/HSLColor.js +32 -32
  156. package/lib/cjs/HSLColor.js.map +1 -1
  157. package/lib/cjs/HSVColor.d.ts +30 -30
  158. package/lib/cjs/HSVColor.js +59 -59
  159. package/lib/cjs/HSVColor.js.map +1 -1
  160. package/lib/cjs/HiddenLine.d.ts +97 -97
  161. package/lib/cjs/HiddenLine.js +160 -160
  162. package/lib/cjs/HiddenLine.js.map +1 -1
  163. package/lib/cjs/Hilite.d.ts +50 -50
  164. package/lib/cjs/Hilite.js +64 -64
  165. package/lib/cjs/Hilite.js.map +1 -1
  166. package/lib/cjs/IModel.d.ts +358 -358
  167. package/lib/cjs/IModel.d.ts.map +1 -1
  168. package/lib/cjs/IModel.js +347 -347
  169. package/lib/cjs/IModel.js.map +1 -1
  170. package/lib/cjs/IModelError.d.ts +42 -42
  171. package/lib/cjs/IModelError.d.ts.map +1 -1
  172. package/lib/cjs/IModelError.js +71 -71
  173. package/lib/cjs/IModelError.js.map +1 -1
  174. package/lib/cjs/IModelVersion.d.ts +68 -68
  175. package/lib/cjs/IModelVersion.d.ts.map +1 -1
  176. package/lib/cjs/IModelVersion.js +79 -79
  177. package/lib/cjs/IModelVersion.js.map +1 -1
  178. package/lib/cjs/Image.d.ts +86 -86
  179. package/lib/cjs/Image.js +128 -128
  180. package/lib/cjs/Image.js.map +1 -1
  181. package/lib/cjs/IpcAppProps.d.ts +141 -141
  182. package/lib/cjs/IpcAppProps.js +23 -23
  183. package/lib/cjs/IpcAppProps.js.map +1 -1
  184. package/lib/cjs/LightSettings.d.ts +224 -224
  185. package/lib/cjs/LightSettings.js +304 -304
  186. package/lib/cjs/LightSettings.js.map +1 -1
  187. package/lib/cjs/LinePixels.d.ts +34 -34
  188. package/lib/cjs/LinePixels.js +42 -42
  189. package/lib/cjs/LinePixels.js.map +1 -1
  190. package/lib/cjs/Localization.d.ts +113 -113
  191. package/lib/cjs/Localization.js +33 -33
  192. package/lib/cjs/Localization.js.map +1 -1
  193. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  194. package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
  195. package/lib/cjs/MapImagerySettings.js +80 -80
  196. package/lib/cjs/MapImagerySettings.js.map +1 -1
  197. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  198. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  199. package/lib/cjs/MapLayerSettings.js +407 -407
  200. package/lib/cjs/MapLayerSettings.js.map +1 -1
  201. package/lib/cjs/MassProperties.d.ts +64 -64
  202. package/lib/cjs/MassProperties.js +23 -23
  203. package/lib/cjs/MassProperties.js.map +1 -1
  204. package/lib/cjs/MaterialProps.d.ts +153 -153
  205. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  206. package/lib/cjs/MaterialProps.js +35 -35
  207. package/lib/cjs/MaterialProps.js.map +1 -1
  208. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  209. package/lib/cjs/ModelClipGroup.js +96 -96
  210. package/lib/cjs/ModelClipGroup.js.map +1 -1
  211. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  212. package/lib/cjs/ModelGeometryChanges.d.ts.map +1 -1
  213. package/lib/cjs/ModelGeometryChanges.js +83 -83
  214. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  215. package/lib/cjs/ModelProps.d.ts +67 -67
  216. package/lib/cjs/ModelProps.js +9 -9
  217. package/lib/cjs/ModelProps.js.map +1 -1
  218. package/lib/cjs/NativeAppProps.d.ts +122 -122
  219. package/lib/cjs/NativeAppProps.d.ts.map +1 -1
  220. package/lib/cjs/NativeAppProps.js +30 -30
  221. package/lib/cjs/NativeAppProps.js.map +1 -1
  222. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  223. package/lib/cjs/OctEncodedNormal.js +98 -98
  224. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  225. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  226. package/lib/cjs/PlanProjectionSettings.js +63 -63
  227. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  228. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  229. package/lib/cjs/PlanarClipMask.js +136 -136
  230. package/lib/cjs/PlanarClipMask.js.map +1 -1
  231. package/lib/cjs/QPoint.d.ts +479 -479
  232. package/lib/cjs/QPoint.js +824 -824
  233. package/lib/cjs/QPoint.js.map +1 -1
  234. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  235. package/lib/cjs/RealityDataAccessProps.js +19 -19
  236. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  237. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
  238. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
  239. package/lib/cjs/RealityModelDisplaySettings.js +141 -141
  240. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  241. package/lib/cjs/Render.d.ts +89 -89
  242. package/lib/cjs/Render.js +177 -177
  243. package/lib/cjs/Render.js.map +1 -1
  244. package/lib/cjs/RenderMaterial.d.ts +58 -58
  245. package/lib/cjs/RenderMaterial.js +75 -75
  246. package/lib/cjs/RenderMaterial.js.map +1 -1
  247. package/lib/cjs/RenderSchedule.d.ts +543 -543
  248. package/lib/cjs/RenderSchedule.js +992 -992
  249. package/lib/cjs/RenderSchedule.js.map +1 -1
  250. package/lib/cjs/RenderTexture.d.ts +70 -70
  251. package/lib/cjs/RenderTexture.d.ts.map +1 -1
  252. package/lib/cjs/RenderTexture.js +59 -59
  253. package/lib/cjs/RenderTexture.js.map +1 -1
  254. package/lib/cjs/RgbColor.d.ts +47 -47
  255. package/lib/cjs/RgbColor.js +77 -77
  256. package/lib/cjs/RgbColor.js.map +1 -1
  257. package/lib/cjs/RpcInterface.d.ts +33 -33
  258. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  259. package/lib/cjs/RpcInterface.js +137 -137
  260. package/lib/cjs/RpcInterface.js.map +1 -1
  261. package/lib/cjs/RpcManager.d.ts +40 -40
  262. package/lib/cjs/RpcManager.js +55 -55
  263. package/lib/cjs/RpcManager.js.map +1 -1
  264. package/lib/cjs/SessionProps.d.ts +16 -16
  265. package/lib/cjs/SessionProps.js +9 -9
  266. package/lib/cjs/SessionProps.js.map +1 -1
  267. package/lib/cjs/SkyBox.d.ts +215 -215
  268. package/lib/cjs/SkyBox.d.ts.map +1 -1
  269. package/lib/cjs/SkyBox.js +209 -209
  270. package/lib/cjs/SkyBox.js.map +1 -1
  271. package/lib/cjs/Snapping.d.ts +49 -49
  272. package/lib/cjs/Snapping.js +9 -9
  273. package/lib/cjs/Snapping.js.map +1 -1
  274. package/lib/cjs/SolarCalculate.d.ts +27 -27
  275. package/lib/cjs/SolarCalculate.js +211 -211
  276. package/lib/cjs/SolarCalculate.js.map +1 -1
  277. package/lib/cjs/SolarShadows.d.ts +35 -35
  278. package/lib/cjs/SolarShadows.js +61 -61
  279. package/lib/cjs/SolarShadows.js.map +1 -1
  280. package/lib/cjs/SpatialClassification.d.ts +208 -208
  281. package/lib/cjs/SpatialClassification.js +339 -339
  282. package/lib/cjs/SpatialClassification.js.map +1 -1
  283. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  284. package/lib/cjs/SubCategoryAppearance.js +96 -96
  285. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  286. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  287. package/lib/cjs/SubCategoryOverride.js +104 -104
  288. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  289. package/lib/cjs/TerrainSettings.d.ts +82 -82
  290. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  291. package/lib/cjs/TerrainSettings.js +100 -100
  292. package/lib/cjs/TerrainSettings.js.map +1 -1
  293. package/lib/cjs/TextureMapping.d.ts +118 -118
  294. package/lib/cjs/TextureMapping.js +173 -173
  295. package/lib/cjs/TextureMapping.js.map +1 -1
  296. package/lib/cjs/TextureProps.d.ts +65 -65
  297. package/lib/cjs/TextureProps.js +28 -28
  298. package/lib/cjs/TextureProps.js.map +1 -1
  299. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  300. package/lib/cjs/ThematicDisplay.js +343 -343
  301. package/lib/cjs/ThematicDisplay.js.map +1 -1
  302. package/lib/cjs/Thumbnail.d.ts +26 -26
  303. package/lib/cjs/Thumbnail.js +9 -9
  304. package/lib/cjs/Thumbnail.js.map +1 -1
  305. package/lib/cjs/TileProps.d.ts +82 -82
  306. package/lib/cjs/TileProps.js +29 -29
  307. package/lib/cjs/TileProps.js.map +1 -1
  308. package/lib/cjs/Tween.d.ts +191 -191
  309. package/lib/cjs/Tween.d.ts.map +1 -1
  310. package/lib/cjs/Tween.js +570 -570
  311. package/lib/cjs/Tween.js.map +1 -1
  312. package/lib/cjs/TxnAction.d.ts +21 -21
  313. package/lib/cjs/TxnAction.js +29 -29
  314. package/lib/cjs/TxnAction.js.map +1 -1
  315. package/lib/cjs/ViewDetails.d.ts +125 -125
  316. package/lib/cjs/ViewDetails.js +166 -166
  317. package/lib/cjs/ViewDetails.js.map +1 -1
  318. package/lib/cjs/ViewFlags.d.ts +287 -287
  319. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  320. package/lib/cjs/ViewFlags.js +367 -367
  321. package/lib/cjs/ViewFlags.js.map +1 -1
  322. package/lib/cjs/ViewProps.d.ts +205 -205
  323. package/lib/cjs/ViewProps.js +9 -9
  324. package/lib/cjs/ViewProps.js.map +1 -1
  325. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  326. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  327. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  328. package/lib/cjs/core-common.d.ts +245 -245
  329. package/lib/cjs/core-common.js +265 -261
  330. package/lib/cjs/core-common.js.map +1 -1
  331. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  332. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  333. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  334. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  335. package/lib/cjs/domains/GenericElementProps.js +9 -9
  336. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  337. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  338. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  339. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  340. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  341. package/lib/cjs/geometry/AreaPattern.js +203 -203
  342. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  343. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  344. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  345. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  346. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  347. package/lib/cjs/geometry/Cartographic.js +345 -345
  348. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  349. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  350. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  351. package/lib/cjs/geometry/CoordinateReferenceSystem.js +260 -260
  352. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  353. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  354. package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
  355. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  356. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  357. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  358. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  359. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  360. package/lib/cjs/geometry/FrustumPlanes.d.ts +81 -81
  361. package/lib/cjs/geometry/FrustumPlanes.js +189 -189
  362. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  363. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  364. package/lib/cjs/geometry/GeodeticDatum.d.ts.map +1 -1
  365. package/lib/cjs/geometry/GeodeticDatum.js +400 -400
  366. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  367. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  368. package/lib/cjs/geometry/GeodeticEllipsoid.js +71 -71
  369. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  370. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  371. package/lib/cjs/geometry/GeometryStream.d.ts.map +1 -1
  372. package/lib/cjs/geometry/GeometryStream.js +468 -468
  373. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  374. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  375. package/lib/cjs/geometry/ImageGraphic.d.ts.map +1 -1
  376. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  377. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  378. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  379. package/lib/cjs/geometry/LineStyle.js +129 -129
  380. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  381. package/lib/cjs/geometry/Placement.d.ts +95 -95
  382. package/lib/cjs/geometry/Placement.d.ts.map +1 -1
  383. package/lib/cjs/geometry/Placement.js +131 -131
  384. package/lib/cjs/geometry/Placement.js.map +1 -1
  385. package/lib/cjs/geometry/Projection.d.ts +251 -251
  386. package/lib/cjs/geometry/Projection.d.ts.map +1 -1
  387. package/lib/cjs/geometry/Projection.js +198 -198
  388. package/lib/cjs/geometry/Projection.js.map +1 -1
  389. package/lib/cjs/geometry/TextString.d.ts +55 -55
  390. package/lib/cjs/geometry/TextString.js +65 -65
  391. package/lib/cjs/geometry/TextString.js.map +1 -1
  392. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  393. package/lib/cjs/ipc/IpcSession.js +27 -27
  394. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  395. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  396. package/lib/cjs/ipc/IpcSocket.d.ts.map +1 -1
  397. package/lib/cjs/ipc/IpcSocket.js +16 -16
  398. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  399. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  400. package/lib/cjs/ipc/IpcWebSocket.js +150 -150
  401. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  402. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  403. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  404. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  405. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  406. package/lib/cjs/rpc/DevToolsRpcInterface.js +52 -52
  407. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  408. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  409. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  410. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  411. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  412. package/lib/cjs/rpc/IModelTileRpcInterface.js +97 -96
  413. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  414. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  415. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  416. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  417. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  418. package/lib/cjs/rpc/TestRpcManager.js +40 -40
  419. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  420. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  421. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  422. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  423. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  424. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  425. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  426. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  427. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
  428. package/lib/cjs/rpc/core/RpcConstants.js +109 -109
  429. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  430. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  431. package/lib/cjs/rpc/core/RpcControl.js +150 -145
  432. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  433. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  434. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  435. package/lib/cjs/rpc/core/RpcInvocation.js +256 -256
  436. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  437. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  438. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  439. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  440. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  441. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  442. package/lib/cjs/rpc/core/RpcOperation.js +135 -134
  443. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  444. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  445. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -94
  446. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  447. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  448. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  449. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  450. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  451. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  452. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  453. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  454. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  455. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  456. package/lib/cjs/rpc/core/RpcRegistry.js +198 -198
  457. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  458. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  459. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  460. package/lib/cjs/rpc/core/RpcRequest.js +478 -478
  461. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  462. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  463. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  464. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  465. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  466. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
  467. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  468. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  469. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -60
  470. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  471. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  472. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  473. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  474. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  475. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +141 -141
  476. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  477. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
  478. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  479. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  480. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  481. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  482. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  483. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  484. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  485. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  486. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  487. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  488. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  489. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  490. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  491. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  492. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  493. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  494. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
  495. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  496. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  497. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  498. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  499. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  500. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  501. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  502. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  503. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  504. package/lib/cjs/tile/ElementGraphics.js +9 -9
  505. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  506. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  507. package/lib/cjs/tile/GltfTileIO.d.ts.map +1 -1
  508. package/lib/cjs/tile/GltfTileIO.js +109 -109
  509. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  510. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  511. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  512. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  513. package/lib/cjs/tile/IModelTileIO.d.ts +77 -77
  514. package/lib/cjs/tile/IModelTileIO.js +97 -97
  515. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  516. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  517. package/lib/cjs/tile/PntsTileIO.js +26 -26
  518. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  519. package/lib/cjs/tile/TileIO.d.ts +66 -66
  520. package/lib/cjs/tile/TileIO.js +118 -118
  521. package/lib/cjs/tile/TileIO.js.map +1 -1
  522. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  523. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  524. package/lib/cjs/tile/TileMetadata.js +675 -675
  525. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  526. package/lib/cjs/tile/Tileset3dSchema.d.ts +96 -96
  527. package/lib/cjs/tile/Tileset3dSchema.js +9 -9
  528. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -1
  529. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  530. package/lib/esm/AmbientOcclusion.js +52 -52
  531. package/lib/esm/AmbientOcclusion.js.map +1 -1
  532. package/lib/esm/AnalysisStyle.d.ts +134 -134
  533. package/lib/esm/AnalysisStyle.js +160 -159
  534. package/lib/esm/AnalysisStyle.js.map +1 -1
  535. package/lib/esm/AuthorizationClient.d.ts +17 -17
  536. package/lib/esm/AuthorizationClient.js +8 -8
  537. package/lib/esm/AuthorizationClient.js.map +1 -1
  538. package/lib/esm/BackendTypes.d.ts +13 -12
  539. package/lib/esm/BackendTypes.d.ts.map +1 -1
  540. package/lib/esm/BackendTypes.js +8 -8
  541. package/lib/esm/BackendTypes.js.map +1 -1
  542. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  543. package/lib/esm/BackgroundMapProvider.d.ts.map +1 -1
  544. package/lib/esm/BackgroundMapProvider.js +63 -63
  545. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  546. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  547. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  548. package/lib/esm/BackgroundMapSettings.js +150 -150
  549. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  550. package/lib/esm/Base64EncodedString.d.ts +32 -32
  551. package/lib/esm/Base64EncodedString.d.ts.map +1 -1
  552. package/lib/esm/Base64EncodedString.js +63 -63
  553. package/lib/esm/Base64EncodedString.js.map +1 -1
  554. package/lib/esm/BlobReader.d.ts +31 -31
  555. package/lib/esm/BlobReader.js +79 -79
  556. package/lib/esm/BlobReader.js.map +1 -1
  557. package/lib/esm/BriefcaseTypes.d.ts +191 -191
  558. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  559. package/lib/esm/BriefcaseTypes.js +92 -92
  560. package/lib/esm/BriefcaseTypes.js.map +1 -1
  561. package/lib/esm/Camera.d.ts +42 -42
  562. package/lib/esm/Camera.js +58 -58
  563. package/lib/esm/Camera.js.map +1 -1
  564. package/lib/esm/ChangedElements.d.ts +85 -85
  565. package/lib/esm/ChangedElements.js +20 -20
  566. package/lib/esm/ChangedElements.js.map +1 -1
  567. package/lib/esm/ChangedEntities.d.ts +45 -45
  568. package/lib/esm/ChangedEntities.d.ts.map +1 -1
  569. package/lib/esm/ChangedEntities.js +8 -8
  570. package/lib/esm/ChangedEntities.js.map +1 -1
  571. package/lib/esm/ChangesetProps.d.ts +98 -98
  572. package/lib/esm/ChangesetProps.d.ts.map +1 -1
  573. package/lib/esm/ChangesetProps.js +19 -19
  574. package/lib/esm/ChangesetProps.js.map +1 -1
  575. package/lib/esm/ClipStyle.d.ts +89 -89
  576. package/lib/esm/ClipStyle.js +118 -116
  577. package/lib/esm/ClipStyle.js.map +1 -1
  578. package/lib/esm/CloudStorage.d.ts +62 -62
  579. package/lib/esm/CloudStorage.js +109 -109
  580. package/lib/esm/CloudStorage.js.map +1 -1
  581. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  582. package/lib/esm/CloudStorageTileCache.js +61 -61
  583. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  584. package/lib/esm/Code.d.ts +277 -277
  585. package/lib/esm/Code.d.ts.map +1 -1
  586. package/lib/esm/Code.js +263 -263
  587. package/lib/esm/Code.js.map +1 -1
  588. package/lib/esm/ColorByName.d.ts +161 -161
  589. package/lib/esm/ColorByName.js +166 -166
  590. package/lib/esm/ColorByName.js.map +1 -1
  591. package/lib/esm/ColorDef.d.ts +210 -208
  592. package/lib/esm/ColorDef.d.ts.map +1 -1
  593. package/lib/esm/ColorDef.js +569 -566
  594. package/lib/esm/ColorDef.js.map +1 -1
  595. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  596. package/lib/esm/CommonLoggerCategory.js +23 -23
  597. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  598. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  599. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  600. package/lib/esm/ConcurrentQuery.js +545 -545
  601. package/lib/esm/ConcurrentQuery.js.map +1 -1
  602. package/lib/esm/ContextRealityModel.d.ts +303 -303
  603. package/lib/esm/ContextRealityModel.js +366 -366
  604. package/lib/esm/ContextRealityModel.js.map +1 -1
  605. package/lib/esm/DisplayStyleSettings.d.ts +588 -588
  606. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  607. package/lib/esm/DisplayStyleSettings.js +976 -976
  608. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  609. package/lib/esm/ECSchemaProps.d.ts +39 -39
  610. package/lib/esm/ECSchemaProps.js +8 -8
  611. package/lib/esm/ECSchemaProps.js.map +1 -1
  612. package/lib/esm/ECSqlReader.d.ts +70 -70
  613. package/lib/esm/ECSqlReader.d.ts.map +1 -1
  614. package/lib/esm/ECSqlReader.js +276 -275
  615. package/lib/esm/ECSqlReader.js.map +1 -1
  616. package/lib/esm/ECSqlTypes.d.ts +128 -128
  617. package/lib/esm/ECSqlTypes.js +185 -185
  618. package/lib/esm/ECSqlTypes.js.map +1 -1
  619. package/lib/esm/ElementMesh.d.ts +39 -39
  620. package/lib/esm/ElementMesh.js +52 -52
  621. package/lib/esm/ElementMesh.js.map +1 -1
  622. package/lib/esm/ElementProps.d.ts +483 -483
  623. package/lib/esm/ElementProps.d.ts.map +1 -1
  624. package/lib/esm/ElementProps.js +93 -92
  625. package/lib/esm/ElementProps.js.map +1 -1
  626. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  627. package/lib/esm/EmphasizeElementsProps.js +22 -22
  628. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  629. package/lib/esm/EntityProps.d.ts +177 -177
  630. package/lib/esm/EntityProps.d.ts.map +1 -1
  631. package/lib/esm/EntityProps.js +108 -108
  632. package/lib/esm/EntityProps.js.map +1 -1
  633. package/lib/esm/EntityReference.d.ts +51 -51
  634. package/lib/esm/EntityReference.d.ts.map +1 -1
  635. package/lib/esm/EntityReference.js +52 -52
  636. package/lib/esm/EntityReference.js.map +1 -1
  637. package/lib/esm/Environment.d.ts +61 -61
  638. package/lib/esm/Environment.d.ts.map +1 -1
  639. package/lib/esm/Environment.js +67 -66
  640. package/lib/esm/Environment.js.map +1 -1
  641. package/lib/esm/FeatureIndex.d.ts +39 -39
  642. package/lib/esm/FeatureIndex.js +57 -57
  643. package/lib/esm/FeatureIndex.js.map +1 -1
  644. package/lib/esm/FeatureSymbology.d.ts +449 -444
  645. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  646. package/lib/esm/FeatureSymbology.js +615 -608
  647. package/lib/esm/FeatureSymbology.js.map +1 -1
  648. package/lib/esm/FeatureTable.d.ts +248 -248
  649. package/lib/esm/FeatureTable.d.ts.map +1 -1
  650. package/lib/esm/FeatureTable.js +462 -462
  651. package/lib/esm/FeatureTable.js.map +1 -1
  652. package/lib/esm/Fonts.d.ts +51 -51
  653. package/lib/esm/Fonts.d.ts.map +1 -1
  654. package/lib/esm/Fonts.js +49 -49
  655. package/lib/esm/Fonts.js.map +1 -1
  656. package/lib/esm/Frustum.d.ts +114 -114
  657. package/lib/esm/Frustum.js +288 -288
  658. package/lib/esm/Frustum.js.map +1 -1
  659. package/lib/esm/GeoCoordinateServices.d.ts +123 -119
  660. package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
  661. package/lib/esm/GeoCoordinateServices.js +77 -76
  662. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  663. package/lib/esm/GeometryContainment.d.ts +28 -28
  664. package/lib/esm/GeometryContainment.js +8 -8
  665. package/lib/esm/GeometryContainment.js.map +1 -1
  666. package/lib/esm/GeometryParams.d.ts +130 -130
  667. package/lib/esm/GeometryParams.js +170 -170
  668. package/lib/esm/GeometryParams.js.map +1 -1
  669. package/lib/esm/GeometrySummary.d.ts +45 -45
  670. package/lib/esm/GeometrySummary.js +20 -20
  671. package/lib/esm/GeometrySummary.js.map +1 -1
  672. package/lib/esm/Gradient.d.ts +139 -139
  673. package/lib/esm/Gradient.js +450 -450
  674. package/lib/esm/Gradient.js.map +1 -1
  675. package/lib/esm/GraphicParams.d.ts +58 -58
  676. package/lib/esm/GraphicParams.js +81 -81
  677. package/lib/esm/GraphicParams.js.map +1 -1
  678. package/lib/esm/GroundPlane.d.ts +52 -52
  679. package/lib/esm/GroundPlane.d.ts.map +1 -1
  680. package/lib/esm/GroundPlane.js +60 -59
  681. package/lib/esm/GroundPlane.js.map +1 -1
  682. package/lib/esm/HSLColor.d.ts +20 -20
  683. package/lib/esm/HSLColor.js +28 -28
  684. package/lib/esm/HSLColor.js.map +1 -1
  685. package/lib/esm/HSVColor.d.ts +30 -30
  686. package/lib/esm/HSVColor.js +55 -55
  687. package/lib/esm/HSVColor.js.map +1 -1
  688. package/lib/esm/HiddenLine.d.ts +97 -97
  689. package/lib/esm/HiddenLine.js +157 -157
  690. package/lib/esm/HiddenLine.js.map +1 -1
  691. package/lib/esm/Hilite.d.ts +50 -50
  692. package/lib/esm/Hilite.js +61 -61
  693. package/lib/esm/Hilite.js.map +1 -1
  694. package/lib/esm/IModel.d.ts +358 -358
  695. package/lib/esm/IModel.d.ts.map +1 -1
  696. package/lib/esm/IModel.js +343 -342
  697. package/lib/esm/IModel.js.map +1 -1
  698. package/lib/esm/IModelError.d.ts +42 -42
  699. package/lib/esm/IModelError.d.ts.map +1 -1
  700. package/lib/esm/IModelError.js +56 -56
  701. package/lib/esm/IModelError.js.map +1 -1
  702. package/lib/esm/IModelVersion.d.ts +68 -68
  703. package/lib/esm/IModelVersion.d.ts.map +1 -1
  704. package/lib/esm/IModelVersion.js +75 -75
  705. package/lib/esm/IModelVersion.js.map +1 -1
  706. package/lib/esm/Image.d.ts +86 -86
  707. package/lib/esm/Image.js +120 -120
  708. package/lib/esm/Image.js.map +1 -1
  709. package/lib/esm/IpcAppProps.d.ts +141 -141
  710. package/lib/esm/IpcAppProps.js +19 -19
  711. package/lib/esm/IpcAppProps.js.map +1 -1
  712. package/lib/esm/LightSettings.d.ts +224 -224
  713. package/lib/esm/LightSettings.js +297 -296
  714. package/lib/esm/LightSettings.js.map +1 -1
  715. package/lib/esm/LinePixels.d.ts +34 -34
  716. package/lib/esm/LinePixels.js +39 -39
  717. package/lib/esm/LinePixels.js.map +1 -1
  718. package/lib/esm/Localization.d.ts +113 -113
  719. package/lib/esm/Localization.js +29 -29
  720. package/lib/esm/Localization.js.map +1 -1
  721. package/lib/esm/MapImagerySettings.d.ts +62 -62
  722. package/lib/esm/MapImagerySettings.d.ts.map +1 -1
  723. package/lib/esm/MapImagerySettings.js +76 -76
  724. package/lib/esm/MapImagerySettings.js.map +1 -1
  725. package/lib/esm/MapLayerSettings.d.ts +272 -272
  726. package/lib/esm/MapLayerSettings.d.ts.map +1 -1
  727. package/lib/esm/MapLayerSettings.js +399 -399
  728. package/lib/esm/MapLayerSettings.js.map +1 -1
  729. package/lib/esm/MassProperties.d.ts +64 -64
  730. package/lib/esm/MassProperties.js +20 -20
  731. package/lib/esm/MassProperties.js.map +1 -1
  732. package/lib/esm/MaterialProps.d.ts +153 -153
  733. package/lib/esm/MaterialProps.d.ts.map +1 -1
  734. package/lib/esm/MaterialProps.js +32 -32
  735. package/lib/esm/MaterialProps.js.map +1 -1
  736. package/lib/esm/ModelClipGroup.d.ts +67 -67
  737. package/lib/esm/ModelClipGroup.js +91 -91
  738. package/lib/esm/ModelClipGroup.js.map +1 -1
  739. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  740. package/lib/esm/ModelGeometryChanges.d.ts.map +1 -1
  741. package/lib/esm/ModelGeometryChanges.js +80 -80
  742. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  743. package/lib/esm/ModelProps.d.ts +67 -67
  744. package/lib/esm/ModelProps.js +8 -8
  745. package/lib/esm/ModelProps.js.map +1 -1
  746. package/lib/esm/NativeAppProps.d.ts +122 -122
  747. package/lib/esm/NativeAppProps.d.ts.map +1 -1
  748. package/lib/esm/NativeAppProps.js +27 -27
  749. package/lib/esm/NativeAppProps.js.map +1 -1
  750. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  751. package/lib/esm/OctEncodedNormal.js +93 -93
  752. package/lib/esm/OctEncodedNormal.js.map +1 -1
  753. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  754. package/lib/esm/PlanProjectionSettings.js +59 -59
  755. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  756. package/lib/esm/PlanarClipMask.d.ts +177 -177
  757. package/lib/esm/PlanarClipMask.js +133 -132
  758. package/lib/esm/PlanarClipMask.js.map +1 -1
  759. package/lib/esm/QPoint.d.ts +479 -479
  760. package/lib/esm/QPoint.js +813 -813
  761. package/lib/esm/QPoint.js.map +1 -1
  762. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  763. package/lib/esm/RealityDataAccessProps.js +16 -16
  764. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  765. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  766. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
  767. package/lib/esm/RealityModelDisplaySettings.js +138 -136
  768. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  769. package/lib/esm/Render.d.ts +89 -89
  770. package/lib/esm/Render.js +165 -165
  771. package/lib/esm/Render.js.map +1 -1
  772. package/lib/esm/RenderMaterial.d.ts +58 -58
  773. package/lib/esm/RenderMaterial.js +71 -71
  774. package/lib/esm/RenderMaterial.js.map +1 -1
  775. package/lib/esm/RenderSchedule.d.ts +543 -543
  776. package/lib/esm/RenderSchedule.js +989 -989
  777. package/lib/esm/RenderSchedule.js.map +1 -1
  778. package/lib/esm/RenderTexture.d.ts +70 -70
  779. package/lib/esm/RenderTexture.d.ts.map +1 -1
  780. package/lib/esm/RenderTexture.js +55 -55
  781. package/lib/esm/RenderTexture.js.map +1 -1
  782. package/lib/esm/RgbColor.d.ts +47 -47
  783. package/lib/esm/RgbColor.js +73 -73
  784. package/lib/esm/RgbColor.js.map +1 -1
  785. package/lib/esm/RpcInterface.d.ts +33 -33
  786. package/lib/esm/RpcInterface.d.ts.map +1 -1
  787. package/lib/esm/RpcInterface.js +133 -133
  788. package/lib/esm/RpcInterface.js.map +1 -1
  789. package/lib/esm/RpcManager.d.ts +40 -40
  790. package/lib/esm/RpcManager.js +51 -51
  791. package/lib/esm/RpcManager.js.map +1 -1
  792. package/lib/esm/SessionProps.d.ts +16 -16
  793. package/lib/esm/SessionProps.js +8 -8
  794. package/lib/esm/SessionProps.js.map +1 -1
  795. package/lib/esm/SkyBox.d.ts +215 -215
  796. package/lib/esm/SkyBox.d.ts.map +1 -1
  797. package/lib/esm/SkyBox.js +204 -202
  798. package/lib/esm/SkyBox.js.map +1 -1
  799. package/lib/esm/Snapping.d.ts +49 -49
  800. package/lib/esm/Snapping.js +8 -8
  801. package/lib/esm/Snapping.js.map +1 -1
  802. package/lib/esm/SolarCalculate.d.ts +27 -27
  803. package/lib/esm/SolarCalculate.js +204 -204
  804. package/lib/esm/SolarCalculate.js.map +1 -1
  805. package/lib/esm/SolarShadows.d.ts +35 -35
  806. package/lib/esm/SolarShadows.js +58 -57
  807. package/lib/esm/SolarShadows.js.map +1 -1
  808. package/lib/esm/SpatialClassification.d.ts +208 -208
  809. package/lib/esm/SpatialClassification.js +333 -333
  810. package/lib/esm/SpatialClassification.js.map +1 -1
  811. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  812. package/lib/esm/SubCategoryAppearance.js +93 -92
  813. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  814. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  815. package/lib/esm/SubCategoryOverride.js +101 -100
  816. package/lib/esm/SubCategoryOverride.js.map +1 -1
  817. package/lib/esm/TerrainSettings.d.ts +82 -82
  818. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  819. package/lib/esm/TerrainSettings.js +96 -96
  820. package/lib/esm/TerrainSettings.js.map +1 -1
  821. package/lib/esm/TextureMapping.d.ts +118 -118
  822. package/lib/esm/TextureMapping.js +169 -169
  823. package/lib/esm/TextureMapping.js.map +1 -1
  824. package/lib/esm/TextureProps.d.ts +65 -65
  825. package/lib/esm/TextureProps.js +25 -25
  826. package/lib/esm/TextureProps.js.map +1 -1
  827. package/lib/esm/ThematicDisplay.d.ts +230 -230
  828. package/lib/esm/ThematicDisplay.js +337 -336
  829. package/lib/esm/ThematicDisplay.js.map +1 -1
  830. package/lib/esm/Thumbnail.d.ts +26 -26
  831. package/lib/esm/Thumbnail.js +8 -8
  832. package/lib/esm/Thumbnail.js.map +1 -1
  833. package/lib/esm/TileProps.d.ts +82 -82
  834. package/lib/esm/TileProps.js +25 -25
  835. package/lib/esm/TileProps.js.map +1 -1
  836. package/lib/esm/Tween.d.ts +191 -191
  837. package/lib/esm/Tween.d.ts.map +1 -1
  838. package/lib/esm/Tween.js +565 -565
  839. package/lib/esm/Tween.js.map +1 -1
  840. package/lib/esm/TxnAction.d.ts +21 -21
  841. package/lib/esm/TxnAction.js +26 -26
  842. package/lib/esm/TxnAction.js.map +1 -1
  843. package/lib/esm/ViewDetails.d.ts +125 -125
  844. package/lib/esm/ViewDetails.js +162 -161
  845. package/lib/esm/ViewDetails.js.map +1 -1
  846. package/lib/esm/ViewFlags.d.ts +287 -287
  847. package/lib/esm/ViewFlags.d.ts.map +1 -1
  848. package/lib/esm/ViewFlags.js +364 -363
  849. package/lib/esm/ViewFlags.js.map +1 -1
  850. package/lib/esm/ViewProps.d.ts +205 -205
  851. package/lib/esm/ViewProps.js +8 -8
  852. package/lib/esm/ViewProps.js.map +1 -1
  853. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  854. package/lib/esm/WhiteOnWhiteReversalSettings.js +34 -33
  855. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  856. package/lib/esm/core-common.d.ts +245 -245
  857. package/lib/esm/core-common.js +249 -249
  858. package/lib/esm/core-common.js.map +1 -1
  859. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  860. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  861. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  862. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  863. package/lib/esm/domains/GenericElementProps.js +8 -8
  864. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  865. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  866. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  867. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  868. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  869. package/lib/esm/geometry/AreaPattern.js +200 -200
  870. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  871. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  872. package/lib/esm/geometry/BoundingSphere.js +40 -40
  873. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  874. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  875. package/lib/esm/geometry/Cartographic.js +341 -340
  876. package/lib/esm/geometry/Cartographic.js.map +1 -1
  877. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  878. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  879. package/lib/esm/geometry/CoordinateReferenceSystem.js +253 -253
  880. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  881. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  882. package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
  883. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  884. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  885. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  886. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  887. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  888. package/lib/esm/geometry/FrustumPlanes.d.ts +81 -81
  889. package/lib/esm/geometry/FrustumPlanes.js +185 -185
  890. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  891. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  892. package/lib/esm/geometry/GeodeticDatum.d.ts.map +1 -1
  893. package/lib/esm/geometry/GeodeticDatum.js +389 -389
  894. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  895. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  896. package/lib/esm/geometry/GeodeticEllipsoid.js +67 -67
  897. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  898. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  899. package/lib/esm/geometry/GeometryStream.d.ts.map +1 -1
  900. package/lib/esm/geometry/GeometryStream.js +463 -463
  901. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  902. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  903. package/lib/esm/geometry/ImageGraphic.d.ts.map +1 -1
  904. package/lib/esm/geometry/ImageGraphic.js +93 -93
  905. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  906. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  907. package/lib/esm/geometry/LineStyle.js +126 -126
  908. package/lib/esm/geometry/LineStyle.js.map +1 -1
  909. package/lib/esm/geometry/Placement.d.ts +95 -95
  910. package/lib/esm/geometry/Placement.d.ts.map +1 -1
  911. package/lib/esm/geometry/Placement.js +126 -126
  912. package/lib/esm/geometry/Placement.js.map +1 -1
  913. package/lib/esm/geometry/Projection.d.ts +251 -251
  914. package/lib/esm/geometry/Projection.d.ts.map +1 -1
  915. package/lib/esm/geometry/Projection.js +192 -192
  916. package/lib/esm/geometry/Projection.js.map +1 -1
  917. package/lib/esm/geometry/TextString.d.ts +55 -55
  918. package/lib/esm/geometry/TextString.js +61 -61
  919. package/lib/esm/geometry/TextString.js.map +1 -1
  920. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  921. package/lib/esm/ipc/IpcSession.js +23 -23
  922. package/lib/esm/ipc/IpcSession.js.map +1 -1
  923. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  924. package/lib/esm/ipc/IpcSocket.d.ts.map +1 -1
  925. package/lib/esm/ipc/IpcSocket.js +12 -12
  926. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  927. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  928. package/lib/esm/ipc/IpcWebSocket.js +145 -144
  929. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  930. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  931. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  932. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  933. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  934. package/lib/esm/rpc/DevToolsRpcInterface.js +49 -48
  935. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  936. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  937. package/lib/esm/rpc/IModelReadRpcInterface.js +118 -117
  938. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  939. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  940. package/lib/esm/rpc/IModelTileRpcInterface.js +94 -92
  941. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  942. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  943. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +45 -44
  944. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  945. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  946. package/lib/esm/rpc/TestRpcManager.js +36 -36
  947. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  948. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  949. package/lib/esm/rpc/WipRpcInterface.js +37 -36
  950. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  951. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  952. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  953. package/lib/esm/rpc/core/RpcConfiguration.js +185 -184
  954. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  955. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
  956. package/lib/esm/rpc/core/RpcConstants.js +106 -106
  957. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  958. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  959. package/lib/esm/rpc/core/RpcControl.js +144 -138
  960. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  961. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  962. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  963. package/lib/esm/rpc/core/RpcInvocation.js +253 -252
  964. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  965. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  966. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  967. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  968. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  969. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  970. package/lib/esm/rpc/core/RpcOperation.js +130 -129
  971. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  972. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  973. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -90
  974. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  975. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  976. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  977. package/lib/esm/rpc/core/RpcProtocol.js +124 -123
  978. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  979. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  980. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  981. package/lib/esm/rpc/core/RpcPush.js +121 -119
  982. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  983. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  984. package/lib/esm/rpc/core/RpcRegistry.js +194 -194
  985. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  986. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  987. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  988. package/lib/esm/rpc/core/RpcRequest.js +474 -473
  989. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  990. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  991. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  992. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  993. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  994. package/lib/esm/rpc/core/RpcRoutingToken.js +21 -20
  995. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  996. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  997. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
  998. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  999. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  1000. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +69 -68
  1001. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  1002. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  1003. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +137 -137
  1004. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  1005. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
  1006. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  1007. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  1008. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  1009. package/lib/esm/rpc/web/RpcMultipart.js +47 -46
  1010. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  1011. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  1012. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  1013. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  1014. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  1015. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  1016. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  1017. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  1018. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  1019. package/lib/esm/rpc/web/WebAppRpcRequest.js +236 -235
  1020. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  1021. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  1022. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
  1023. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  1024. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  1025. package/lib/esm/tile/B3dmTileIO.js +62 -62
  1026. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  1027. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  1028. package/lib/esm/tile/CompositeTileIO.js +22 -22
  1029. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  1030. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  1031. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  1032. package/lib/esm/tile/ElementGraphics.js +8 -8
  1033. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  1034. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  1035. package/lib/esm/tile/GltfTileIO.d.ts.map +1 -1
  1036. package/lib/esm/tile/GltfTileIO.js +105 -105
  1037. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  1038. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  1039. package/lib/esm/tile/I3dmTileIO.js +36 -36
  1040. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  1041. package/lib/esm/tile/IModelTileIO.d.ts +77 -77
  1042. package/lib/esm/tile/IModelTileIO.js +93 -92
  1043. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  1044. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  1045. package/lib/esm/tile/PntsTileIO.js +22 -22
  1046. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  1047. package/lib/esm/tile/TileIO.d.ts +66 -66
  1048. package/lib/esm/tile/TileIO.js +110 -110
  1049. package/lib/esm/tile/TileIO.js.map +1 -1
  1050. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  1051. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  1052. package/lib/esm/tile/TileMetadata.js +660 -660
  1053. package/lib/esm/tile/TileMetadata.js.map +1 -1
  1054. package/lib/esm/tile/Tileset3dSchema.d.ts +96 -96
  1055. package/lib/esm/tile/Tileset3dSchema.js +8 -8
  1056. package/lib/esm/tile/Tileset3dSchema.js.map +1 -1
  1057. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"GeodeticDatum.js","sourceRoot":"","sources":["../../../src/geometry/GeodeticDatum.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 JSONXYZ, ETRF, OSGB, DHDN, NADCON, GEOCN\r\n\r\nimport { Geometry, Vector3d, XYAndZ } from \"@itwin/core-geometry\";\r\nimport { GeodeticEllipsoid, GeodeticEllipsoidProps } from \"./GeodeticEllipsoid\";\r\n\r\n/** Holds 3 components of a Positional Vector rotation definition in arc seconds\r\n * @public\r\n * @extensions\r\n */\r\nexport interface XyzRotationProps {\r\n /** X rotation component in arc second */\r\n x: number;\r\n /** Y rotation component in arc second*/\r\n y: number;\r\n /** Z rotation component in arc second*/\r\n z: number;\r\n}\r\n\r\n/** Hold 3 components data of a Positional Vector rotation definition in arc seconds\r\n * @public\r\n */\r\nexport class XyzRotation implements XyzRotationProps {\r\n /** X rotation component in arc second */\r\n public readonly x!: number;\r\n /** Y rotation component in arc second*/\r\n public readonly y!: number;\r\n /** Z rotation component in arc second*/\r\n public readonly z!: number;\r\n\r\n public constructor(data?: XyzRotationProps) {\r\n if (data) {\r\n this.x = data.x;\r\n this.y = data.y;\r\n this.z = data.z;\r\n }\r\n }\r\n\r\n /** Creates a Rotations object from JSON representation.\r\n * @public */\r\n public static fromJSON(data: XyzRotationProps): XyzRotation {\r\n return new XyzRotation(data);\r\n }\r\n\r\n /** Creates a JSON from the Rotations definition\r\n * @public */\r\n public toJSON(): XyzRotationProps {\r\n return { x: this.x, y: this.y, z: this.z };\r\n }\r\n\r\n /** Compares two geodetic rotations. It applies a minuscule angular tolerance\r\n * @public */\r\n public equals(other: XyzRotation): boolean {\r\n return (Math.abs(this.x - other.x) < Geometry.smallAngleSeconds &&\r\n Math.abs(this.y - other.y) < Geometry.smallAngleSeconds &&\r\n Math.abs(this.z - other.z) < Geometry.smallAngleSeconds);\r\n }\r\n}\r\n\r\n/** Type indicating the geodetic transformation method\r\n * @public\r\n * @extensions\r\n */\r\nexport type GeodeticTransformMethod =\r\n \"None\" |\r\n \"Geocentric\" |\r\n \"PositionalVector\" |\r\n \"GridFiles\" |\r\n \"MultipleRegression\" |\r\n \"Undefined\";\r\n\r\n/** This interface represents a geocentric (three parameters) geodetic transformation.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeocentricTransformProps {\r\n /** The frame translation components in meters */\r\n delta: XYAndZ;\r\n}\r\n\r\n/** This class represents a geocentric (three parameters) geodetic transformation.\r\n * @public\r\n */\r\nexport class GeocentricTransform implements GeocentricTransformProps {\r\n /** The frame translation components in meters */\r\n public readonly delta: Vector3d;\r\n\r\n public constructor(data?: GeocentricTransformProps) {\r\n this.delta = data ? Vector3d.fromJSON(data.delta) : new Vector3d();\r\n }\r\n\r\n /** Creates a Geocentric Transform from JSON representation.\r\n * @public */\r\n public static fromJSON(data: GeocentricTransformProps): GeocentricTransform {\r\n return new GeocentricTransform(data);\r\n }\r\n\r\n /** Creates a JSON from the Geodetic GeocentricTransform definition\r\n * @public */\r\n public toJSON(): GeocentricTransformProps {\r\n return { delta: { x: this.delta.x, y: this.delta.y, z: this.delta.z } };\r\n }\r\n\r\n /** Compares two geodetic transforms. It applies a minuscule tolerance.\r\n * @public */\r\n public equals(other: GeocentricTransform): boolean {\r\n return (Math.abs(this.delta.x - other.delta.x) < Geometry.smallMetricDistance &&\r\n Math.abs(this.delta.y - other.delta.y) < Geometry.smallMetricDistance &&\r\n Math.abs(this.delta.z - other.delta.z) < Geometry.smallMetricDistance);\r\n }\r\n}\r\n\r\n/** This interface represents a positional vector (seven parameters) geodetic transformation corresponding to\r\n * EPSG operation 9606. Beware that the convention relative to rotation direction is different\r\n * from the Coordinate Frame operation (epsg 9607).\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PositionalVectorTransformProps {\r\n /** The frame translation components in meters */\r\n delta: XYAndZ;\r\n /** The frame rotation components in arc seconds. The rotation sign convention is the one associated with\r\n * the operation EPSG:9606 following recommendation of ISO 19111 specifications */\r\n rotation: XyzRotationProps;\r\n /** Scale in parts per million. The scale effectively applied will be 1 plus scale divided by 1 000 000. */\r\n scalePPM: number;\r\n}\r\n\r\n/** This class represents a positional vector (seven parameters) geodetic transformation corresponding to\r\n * EPSG operation 9606. Beware that the convention relative to rotation direction is different\r\n * from the Coordinate Frame operation (epsg 9607).\r\n * @public\r\n */\r\nexport class PositionalVectorTransform implements PositionalVectorTransformProps {\r\n /** The frame translation components in meters */\r\n public readonly delta!: Vector3d;\r\n /** The frame rotation components in arc seconds. The rotation sign convention is the one associated with\r\n * the operation EPSG:9606 following recommendation of ISO 19111 specifications */\r\n public readonly rotation!: XyzRotation;\r\n /** Scale in parts per million. The scale effectively applied will be 1 plus scale divided by 1 000 000. */\r\n public readonly scalePPM!: number;\r\n\r\n public constructor(data?: PositionalVectorTransformProps) {\r\n if (data) {\r\n this.delta = data.delta ? Vector3d.fromJSON(data.delta) : new Vector3d();\r\n this.rotation = data.rotation ? XyzRotation.fromJSON(data.rotation) : new XyzRotation();\r\n this.scalePPM = data.scalePPM;\r\n }\r\n }\r\n\r\n /** Creates a Positional Vector Transform from JSON representation.\r\n * @public */\r\n public static fromJSON(data: PositionalVectorTransformProps): PositionalVectorTransform {\r\n return new PositionalVectorTransform(data);\r\n }\r\n\r\n /** Creates a JSON from the Positional Vector Transform definition\r\n * @public */\r\n public toJSON(): PositionalVectorTransformProps {\r\n return {\r\n delta: { x: this.delta.x, y: this.delta.y, z: this.delta.z },\r\n rotation: this.rotation.toJSON(),\r\n scalePPM: this.scalePPM,\r\n };\r\n }\r\n\r\n /** Compares two Positional Vector Transforms. It applies a minuscule tolerance to number compares.\r\n * @public */\r\n public equals(other: PositionalVectorTransform): boolean {\r\n if (Math.abs(this.delta.x - other.delta.x) > Geometry.smallMetricDistance ||\r\n Math.abs(this.delta.y - other.delta.y) > Geometry.smallMetricDistance ||\r\n Math.abs(this.delta.z - other.delta.z) > Geometry.smallMetricDistance ||\r\n Math.abs(this.scalePPM - other.scalePPM) > Geometry.smallFraction)\r\n return false;\r\n\r\n return this.rotation.equals(other.rotation);\r\n }\r\n}\r\n\r\n/** Type indicating the file format of the grid files.\r\n * @public\r\n * @extensions\r\n */\r\nexport type GridFileFormat =\r\n \"NONE\" |\r\n \"NTv1\" |\r\n \"NTv2\" |\r\n \"NADCON\" |\r\n \"FRENCH\" |\r\n \"JAPAN\" |\r\n \"ATS77\" |\r\n \"GEOCN\" |\r\n \"OSTN02\" |\r\n \"OSTN15\";\r\n\r\n/** type to indicate the grid file application direction.\r\n * @public\r\n * @extensions\r\n */\r\nexport type GridFileDirection = \"Direct\" | \"Inverse\";\r\n\r\n/** Grid file definition containing name of the file, the format and the direction it should be applied\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GridFileDefinitionProps {\r\n /** Name of the grid shift file. This name is relative to the expected dictionary root document.\r\n * Typical grid shift file name will contain first the country name it applies to then possibly some sub path.\r\n * Example of existing grid files:\r\n * Germany/BETA2007.gsb or Brazil/SAD69_003.GSB but sometimes longer paths USA/NADCON/conus.l*s\r\n * Note that the file name can contain wildcards when the format requires more than one file. For example\r\n * the NADCON format makes use of a different file for latitude and longitude shifts thus the .l*s extension in the\r\n * file name above.\r\n * Forward slash is always used to separate the path components.\r\n */\r\n fileName: string;\r\n /** The grid file format */\r\n format: GridFileFormat;\r\n /** The grid file application direction */\r\n direction: GridFileDirection;\r\n}\r\n\r\n/** Grid file definition containing name of the file, the format and the direction it should be applied\r\n * @public\r\n */\r\nexport class GridFileDefinition implements GridFileDefinitionProps {\r\n /** Name of the grid shift file. This name is relative to the expected dictionary root document.\r\n * Typical grid shift file name will contain first the country name it applies to then possibly some sub path.\r\n * Example of existing grid files:\r\n * Germany/BETA2007.gsb or Brazil/SAD69_003.GSB but sometimes longer paths USA/NADCON/conus.l*s\r\n * Note that the file name can contain wildcards when the format requires more than one file. For example\r\n * the NADCON format makes use of a different file for latitude and longitude shifts thus the .l*s extension in the\r\n * file name above.\r\n * Forward slash is always used to separate the path components.\r\n */\r\n public readonly fileName: string;\r\n /** The grid file format */\r\n public readonly format: GridFileFormat;\r\n /** The grid file application direction */\r\n public readonly direction: GridFileDirection;\r\n\r\n public constructor(data?: GridFileDefinitionProps) {\r\n this.fileName = data ? data.fileName : \"\";\r\n this.format = data ? data.format : \"NTv2\";\r\n this.direction = data ? data.direction : \"Direct\";\r\n }\r\n\r\n /** Creates a Grid File Definition from JSON representation.\r\n * @public */\r\n public static fromJSON(data: GridFileDefinitionProps): GridFileDefinition {\r\n return new GridFileDefinition(data);\r\n }\r\n\r\n /** Creates a JSON from the Grid File Definition\r\n * @public */\r\n public toJSON(): GridFileDefinitionProps {\r\n return { fileName: this.fileName, format: this.format, direction: this.direction };\r\n }\r\n\r\n /** Compares two grid file definition. It is a strict compare operation not an equivalence test.\r\n * @public */\r\n public equals(other: GridFileDefinition): boolean {\r\n return (this.fileName === other.fileName && this.direction === other.direction && this.format === other.format);\r\n }\r\n}\r\n\r\n/** This interface represents a grid files based geodetic transformation.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GridFileTransformProps {\r\n /** The list of grid files. The order of file is meaningful, the first encountered that covers the extent of coordinate\r\n * transformation will be used. */\r\n files: GridFileDefinitionProps[];\r\n /** The positional vector fallback transformation used for extents not covered by the grid files */\r\n fallback?: PositionalVectorTransformProps;\r\n}\r\n\r\n/** This class represents a grid files based geodetic transformation.\r\n * @public\r\n */\r\nexport class GridFileTransform implements GridFileTransformProps {\r\n /** The list of grid files. The order of file is meaningful, the first encountered that covers the extent of coordinate\r\n * transformation will be used. */\r\n public readonly files: GridFileDefinition[];\r\n /** The positional vector fallback transformation used for extents not covered by the grid files */\r\n public readonly fallback?: PositionalVectorTransform;\r\n\r\n public constructor(data?: GridFileTransformProps) {\r\n this.files = [];\r\n if (data) {\r\n this.fallback = data.fallback ? PositionalVectorTransform.fromJSON(data.fallback) : undefined;\r\n if (Array.isArray(data.files)) {\r\n this.files = [];\r\n for (const item of data.files)\r\n this.files.push(GridFileDefinition.fromJSON(item));\r\n }\r\n }\r\n }\r\n\r\n /** Creates a Grid File Transform from JSON representation.\r\n * @public */\r\n public static fromJSON(data: GridFileTransformProps): GridFileTransform {\r\n return new GridFileTransform(data);\r\n }\r\n\r\n /** Creates a JSON from the Grid File Transform definition\r\n * @public */\r\n public toJSON(): GridFileTransformProps {\r\n const data: GridFileTransformProps = { files: [] };\r\n data.fallback = this.fallback ? this.fallback.toJSON() : undefined;\r\n if (Array.isArray(this.files)) {\r\n for (const item of this.files)\r\n data.files.push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n /** Compares two Grid File Transforms. It is a strict compare operation not an equivalence test.\r\n * @public */\r\n public equals(other: GridFileTransform): boolean {\r\n if (this.files.length !== other.files.length)\r\n return false;\r\n\r\n for (let idx = 0; idx < this.files.length; ++idx)\r\n if (!this.files[idx].equals(other.files[idx]))\r\n return false;\r\n\r\n if ((this.fallback === undefined) !== (other.fallback === undefined))\r\n return false;\r\n\r\n if (this.fallback && !this.fallback.equals(other.fallback!))\r\n return false;\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** This interface represents a geodetic transformation that enables transforming longitude/latitude coordinates\r\n * from one datum to another.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeodeticTransformProps {\r\n /** The method used by the geodetic transform */\r\n method: GeodeticTransformMethod;\r\n /** The complete definition of the source geodetic ellipsoid referred to by ellipsoidId.\r\n * The source ellipsoid identifier enables obtaining the shape of the Earth mathematical model\r\n * for the purpose of performing the transformation.\r\n */\r\n sourceEllipsoid?: GeodeticEllipsoidProps;\r\n /** The complete definition of the target geodetic ellipsoid referred to by ellipsoidId.\r\n * The target ellipsoid identifier enables obtaining the shape of the Earth mathematical model\r\n * for the purpose of performing the transformation.*/\r\n targetEllipsoid?: GeodeticEllipsoidProps;\r\n /** The id of the source datum. */\r\n sourceDatumId?: string;\r\n /** The id of the target datum. This id is useful to seach within a geodetic transform path for\r\n * a shortcut to another included datum.\r\n */\r\n targetDatumId?: string;\r\n /** When method is Geocentric this property contains the geocentric parameters */\r\n geocentric?: GeocentricTransformProps;\r\n /** When method is PositionalVector this property contains the positional vector parameters */\r\n positionalVector?: PositionalVectorTransformProps;\r\n /** When method is GridFiles this property contains the grid files parameters */\r\n gridFile?: GridFileTransformProps;\r\n}\r\n\r\n/** This class represents a geodetic transformation that enables transforming longitude/latitude coordinates\r\n * from one datum to another.\r\n * @public\r\n */\r\nexport class GeodeticTransform implements GeodeticTransformProps {\r\n /** The method used by the geodetic transform */\r\n public readonly method: GeodeticTransformMethod;\r\n /** The identifier of the source geodetic datum as stored in the dictionary or the service database.\r\n * This identifier is optional and informational only.\r\n */\r\n public readonly sourceEllipsoid?: GeodeticEllipsoid;\r\n /** The complete definition of the target geodetic ellipsoid referred to by ellipsoidId.\r\n * The target ellipsoid identifier enables obtaining the shape of the Earth mathematical model\r\n * for the purpose of performing the transformation.*/\r\n public readonly targetEllipsoid?: GeodeticEllipsoid;\r\n /** The id of the source datum. */\r\n public readonly sourceDatumId?: string;\r\n /** The id of the target datum. This id is useful to seach within a geodetic transform path for\r\n * a shortcut to another included datum.\r\n */\r\n public readonly targetDatumId?: string;\r\n /** When method is Geocentric this property contains the geocentric parameters */\r\n public readonly geocentric?: GeocentricTransform;\r\n /** When method is PositionalVector this property contains the positional vector parameters */\r\n public readonly positionalVector?: PositionalVectorTransform;\r\n /** When method is GridFiles this property contains the grid files parameters */\r\n public readonly gridFile?: GridFileTransform;\r\n\r\n public constructor(data?: GeodeticTransformProps) {\r\n this.method = \"None\";\r\n if (data) {\r\n this.method = data.method;\r\n this.sourceEllipsoid = data.sourceEllipsoid ? GeodeticEllipsoid.fromJSON(data.sourceEllipsoid) : undefined;\r\n this.targetEllipsoid = data.targetEllipsoid ? GeodeticEllipsoid.fromJSON(data.targetEllipsoid) : undefined;\r\n this.sourceDatumId = data.sourceDatumId;\r\n this.targetDatumId = data.targetDatumId;\r\n this.geocentric = data.geocentric ? GeocentricTransform.fromJSON(data.geocentric) : undefined;\r\n this.positionalVector = data.positionalVector ? PositionalVectorTransform.fromJSON(data.positionalVector) : undefined;\r\n this.gridFile = data.gridFile ? GridFileTransform.fromJSON(data.gridFile) : undefined;\r\n }\r\n }\r\n\r\n /** Creates a Geodetic Transform from JSON representation.\r\n * @public */\r\n public static fromJSON(data: GeodeticTransformProps): GeodeticTransform {\r\n return new GeodeticTransform(data);\r\n }\r\n\r\n /** Creates a JSON from the Geodetic Transform definition\r\n * @public */\r\n public toJSON(): GeodeticTransformProps {\r\n const data: GeodeticTransformProps = { method: this.method };\r\n data.sourceEllipsoid = this.sourceEllipsoid ? this.sourceEllipsoid.toJSON() : undefined;\r\n data.targetEllipsoid = this.targetEllipsoid ? this.targetEllipsoid.toJSON() : undefined;\r\n data.sourceDatumId = this.sourceDatumId;\r\n data.targetDatumId = this.targetDatumId;\r\n data.geocentric = this.geocentric ? this.geocentric.toJSON() : undefined;\r\n data.positionalVector = this.positionalVector ? this.positionalVector.toJSON() : undefined;\r\n data.gridFile = this.gridFile ? this.gridFile.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n /** Compares two geodetic Transforms. It is not an equivalence test since\r\n * descriptive information is strictly compared. A minuscule tolerance is applied to number compares.\r\n * @public */\r\n public equals(other: GeodeticTransform): boolean {\r\n if (this.method !== other.method)\r\n return false;\r\n\r\n if (this.sourceDatumId !== other.sourceDatumId || this.targetDatumId !== other.targetDatumId)\r\n return false;\r\n\r\n if ((this.sourceEllipsoid === undefined) !== (other.sourceEllipsoid === undefined))\r\n return false;\r\n if (this.sourceEllipsoid && !this.sourceEllipsoid.equals(other.sourceEllipsoid!))\r\n return false;\r\n\r\n if ((this.targetEllipsoid === undefined) !== (other.targetEllipsoid === undefined))\r\n return false;\r\n if (this.targetEllipsoid && !this.targetEllipsoid.equals(other.targetEllipsoid!))\r\n return false;\r\n\r\n if ((this.geocentric === undefined) !== (other.geocentric === undefined))\r\n return false;\r\n if (this.geocentric && !this.geocentric.equals(other.geocentric!))\r\n return false;\r\n\r\n if ((this.positionalVector === undefined) !== (other.positionalVector === undefined))\r\n return false;\r\n if (this.positionalVector && !this.positionalVector.equals(other.positionalVector!))\r\n return false;\r\n\r\n if ((this.gridFile === undefined) !== (other.gridFile === undefined))\r\n return false;\r\n if (this.gridFile && !this.gridFile.equals(other.gridFile!))\r\n return false;\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** This interface represents a geodetic datum transform path. It contains a list of transforms linking\r\n * a source to a target geodetic datum.\r\n * @public\r\n */\r\nexport interface GeodeticTransformPathProps {\r\n /** Source geodetic datum key name */\r\n sourceDatumId?: string;\r\n /** Target geodetic datum key name */\r\n targetDatumId?: string;\r\n /** The transformation path from source datum to target datum.\r\n */\r\n transforms?: GeodeticTransformProps[];\r\n}\r\n\r\n/** This class represents a geodetic datum transform path. It contains a list of transforms linking\r\n * a source to a target geodetic datum.\r\n * @public\r\n */\r\nexport class GeodeticTransformPath implements GeodeticTransformPathProps {\r\n /** Source geodetic datum key name */\r\n public readonly sourceDatumId?: string;\r\n /** Target geodetic datum key name */\r\n public readonly targetDatumId?: string;\r\n /** The transformation path from source datum to target datum.\r\n */\r\n public readonly transforms?: GeodeticTransform[];\r\n\r\n public constructor(_data?: GeodeticTransformPathProps) {\r\n if (_data) {\r\n this.sourceDatumId = _data.sourceDatumId;\r\n this.targetDatumId = _data.targetDatumId;\r\n if (Array.isArray(_data.transforms)) {\r\n this.transforms = [];\r\n for (const item of _data.transforms)\r\n this.transforms.push(GeodeticTransform.fromJSON(item));\r\n }\r\n }\r\n }\r\n\r\n /** Creates a Geodetic transform path from JSON representation.\r\n * @public */\r\n public static fromJSON(data: GeodeticTransformPathProps): GeodeticTransformPath {\r\n return new GeodeticTransformPath(data);\r\n }\r\n\r\n /** Creates a JSON from the Geodetic transform path definition\r\n * @public */\r\n public toJSON(): GeodeticTransformPathProps {\r\n const data: GeodeticTransformPathProps = {};\r\n data.sourceDatumId = this.sourceDatumId;\r\n data.targetDatumId = this.targetDatumId;\r\n if (Array.isArray(this.transforms)) {\r\n data.transforms = [];\r\n for (const item of this.transforms)\r\n data.transforms.push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n /** Compares two Geodetic Transform Paths. It is a strict compare operation not an equivalence test.\r\n * It takes into account descriptive properties not only mathematical definition properties.\r\n * @public */\r\n public equals(other: GeodeticTransformPath): boolean {\r\n if (this.sourceDatumId !== other.sourceDatumId || this.targetDatumId !== other.targetDatumId)\r\n return false;\r\n\r\n if ((this.transforms === undefined) !== (other.transforms === undefined))\r\n return false;\r\n\r\n if (this.transforms && other.transforms) {\r\n if (this.transforms.length !== other.transforms.length)\r\n return false;\r\n\r\n for (let idx = 0; idx < this.transforms.length; ++idx)\r\n if (!this.transforms[idx].equals(other.transforms[idx]))\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/** This interface represents a geodetic datum. Geodetic datums are based on an ellipsoid.\r\n * In addition to the ellipsoid definition they are the base for longitude/latitude coordinates.\r\n * Geodetic datums are the basis for geodetic transformations. Most geodetic datums are defined by specifying\r\n * the transformation to the common base WGS84 (or local equivalent). The transforms property can contain the\r\n * definition of the transformation path to WGS84.\r\n * Sometimes there exists transformation paths direct from one non-WGS84 datum to another non-WGS84. The current model\r\n * does not allow specifications of these special paths at the moment.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeodeticDatumProps {\r\n /** GeodeticDatum key name */\r\n id?: string;\r\n /** Description */\r\n description?: string;\r\n /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.\r\n ** If false or undefined then the definition is not deprecated.\r\n */\r\n deprecated?: boolean;\r\n /** A textual description of the source of the geodetic datum definition. */\r\n source?: string;\r\n /** The EPSG code of the geodetic datum. If undefined then there is no EPSG code associated. */\r\n epsg?: number;\r\n /** The key name to the base Ellipsoid. */\r\n ellipsoidId?: string;\r\n /** The full definition of the geodetic ellipsoid associated to the datum. If undefined then the ellipsoidId must be used to fetch the definition from the dictionary, geographic coordinate system service or the backend */\r\n ellipsoid?: GeodeticEllipsoidProps;\r\n /** The transformation to WGS84. If null then there is no known transformation to WGS84. Although\r\n * this is rare it occurs in a few cases where the country charges for obtaining and using\r\n * the transformation and its parameters, or if the transformation is maintained secret for military reasons.\r\n * In this case the recommendation is to considered the geodetic datum to be coincident to WGS84 keeping\r\n * in mind imported global data such as Google Map or Bing Map data may be approximately located.\r\n * The list of transforms contains normally a single transform but there can be a sequence of transformations\r\n * required to transform to WGS84, such as the newer datum definitions for Slovakia or Switzerland.\r\n */\r\n transforms?: GeodeticTransformProps[];\r\n /** The optional list of transformation paths to other datum. These should only be used if the path to\r\n * these datum is not included in the transforms property definition of the transformation to WGS84.\r\n * It should not be used either if the transformation to the datum can be infered from the concatenation\r\n * of their individual paths to WGS84. These should be used to express an alternate shortcut path that is\r\n * inherent to the nature of the datum. As an example it is required to represent the transformation\r\n * from NAD27 to NAD83/2011 since NAD83/2011 is coincident to WGS84 yet the NAD27 datum to WGS84 path\r\n * only includes transformation to NAD83, making the path of transforms to NAD83/2011 not related\r\n * to the available paths to WGS84.\r\n */\r\n additionalTransformPaths?: GeodeticTransformPathProps[];\r\n}\r\n\r\n/** This class represents a geodetic datum. Geodetic datums are based on an ellipsoid.\r\n * In addition to the ellipsoid definition they are the base for longitude/latitude coordinates.\r\n * Geodetic datums are the basis for geodetic transformations. Most geodetic datums are defined by specifying\r\n * the transformation to the common base WGS84 (or local equivalent). The transforms property can contain the\r\n * definition of the transformation path to WGS84.\r\n * Sometimes there exists transformation paths direct from one non-WGS84 datum to another non-WGS84. The current model\r\n * does not allow specifications of these special paths at the moment.\r\n * @public\r\n */\r\nexport class GeodeticDatum implements GeodeticDatumProps {\r\n /** GeodeticDatum key name */\r\n public readonly id?: string;\r\n /** Description */\r\n public readonly description?: string;\r\n /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.\r\n * If false then the definition is not deprecated. Default is false.\r\n */\r\n public readonly deprecated: boolean;\r\n /** A textual description of the source of the geodetic datum definition. */\r\n public readonly source?: string;\r\n /** The EPSG code of the geodetic datum. If undefined then there is no EPSG code associated. */\r\n public readonly epsg?: number;\r\n /** The key name to the base Ellipsoid. */\r\n public readonly ellipsoidId?: string;\r\n /** The full definition of the geodetic ellipsoid associated to the datum. If undefined then the ellipsoidId must\r\n * be used to fetch the definition from the dictionary, geographic coordinate system service or the backend\r\n */\r\n public readonly ellipsoid?: GeodeticEllipsoid;\r\n /** The transformation to WGS84. If null then there is no known transformation to WGS84. Although\r\n * this is rare it occurs in a few cases where the country charges for obtaining and using\r\n * the transformation and its parameters, or if the transformation is maintained secret for military reasons.\r\n * In this case the recommendation is to considered the geodetic datum to be coincident to WGS84 keeping\r\n * in mind imported global data such as Google Map or Bing Map data may be approximately located.\r\n * The list of transforms contains normally a single transform but there can be a sequence of transformations\r\n * required to transform to WGS84, such as the newer datum definitions for Slovakia or Switzerland.\r\n */\r\n public readonly transforms?: GeodeticTransform[];\r\n /** The optional list of transformation paths to other datum. These should only be used if the path to\r\n * these datum is not included in the transforms property definition of the transformation to WGS84.\r\n * It should not be used either if the transformation to the datum can be infered from the concatenation\r\n * of their individual paths to WGS84. These should be used to express an alternate shortcut path that is\r\n * inherent to the nature of the datum. As an example it is required to represent the transformation\r\n * from NAD27 to NAD83/2011 since NAD83/2011 is coincident to WGS84 yet the NAD27 datum to WGS84 path\r\n * only includes transformation to NAD83, making the path of transforms to NAD83/2011 not related\r\n * to the available paths to WGS84.\r\n */\r\n public readonly additionalTransformPaths?: GeodeticTransformPath[];\r\n\r\n public constructor(_data?: GeodeticDatumProps) {\r\n this.deprecated = false;\r\n if (_data) {\r\n this.id = _data.id;\r\n this.description = _data.description;\r\n this.deprecated = _data.deprecated ?? false;\r\n this.source = _data.source;\r\n this.epsg = _data.epsg;\r\n this.ellipsoidId = _data.ellipsoidId;\r\n this.ellipsoid = _data.ellipsoid ? GeodeticEllipsoid.fromJSON(_data.ellipsoid) : undefined;\r\n if (Array.isArray(_data.transforms)) {\r\n this.transforms = [];\r\n for (const item of _data.transforms)\r\n this.transforms.push(GeodeticTransform.fromJSON(item));\r\n }\r\n if (Array.isArray(_data.additionalTransformPaths)) {\r\n this.additionalTransformPaths = [];\r\n for (const item of _data.additionalTransformPaths)\r\n this.additionalTransformPaths.push(GeodeticTransformPath.fromJSON(item));\r\n }\r\n }\r\n }\r\n\r\n /** Creates a Geodetic Datum from JSON representation.\r\n * @public */\r\n public static fromJSON(data: GeodeticDatumProps): GeodeticDatum {\r\n return new GeodeticDatum(data);\r\n }\r\n\r\n /** Creates a JSON from the Geodetic Datum definition\r\n * @public */\r\n public toJSON(): GeodeticDatumProps {\r\n const data: GeodeticDatumProps = {};\r\n data.id = this.id;\r\n data.description = this.description;\r\n /* We prefer to use the default undef instead of false value for deprecated value in Json */\r\n data.deprecated = (this.deprecated === false ? undefined : true);\r\n data.source = this.source;\r\n data.epsg = this.epsg;\r\n data.ellipsoidId = this.ellipsoidId;\r\n data.ellipsoid = this.ellipsoid ? this.ellipsoid.toJSON() : undefined;\r\n if (Array.isArray(this.transforms)) {\r\n data.transforms = [];\r\n for (const item of this.transforms)\r\n data.transforms.push(item.toJSON());\r\n }\r\n if (Array.isArray(this.additionalTransformPaths)) {\r\n data.additionalTransformPaths = [];\r\n for (const item of this.additionalTransformPaths)\r\n data.additionalTransformPaths.push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n /** Compares two Geodetic Datums. It is a strict compare operation not an equivalence test.\r\n * It takes into account descriptive properties not only mathematical definition properties.\r\n * @public */\r\n public equals(other: GeodeticDatum): boolean {\r\n if (this.id !== other.id ||\r\n this.description !== other.description ||\r\n this.deprecated !== other.deprecated ||\r\n this.source !== other.source ||\r\n this.epsg !== other.epsg ||\r\n this.ellipsoidId !== other.ellipsoidId)\r\n return false;\r\n\r\n if ((this.ellipsoid === undefined) !== (other.ellipsoid === undefined))\r\n return false;\r\n\r\n if (this.ellipsoid && !this.ellipsoid.equals(other.ellipsoid!))\r\n return false;\r\n\r\n if ((this.transforms === undefined) !== (other.transforms === undefined))\r\n return false;\r\n\r\n if (this.transforms && other.transforms) {\r\n if (this.transforms.length !== other.transforms.length)\r\n return false;\r\n\r\n for (let idx = 0; idx < this.transforms.length; ++idx)\r\n if (!this.transforms[idx].equals(other.transforms[idx]))\r\n return false;\r\n }\r\n\r\n if ((this.additionalTransformPaths === undefined) !== (other.additionalTransformPaths === undefined))\r\n return false;\r\n\r\n if (this.additionalTransformPaths && other.additionalTransformPaths) {\r\n if (this.additionalTransformPaths.length !== other.additionalTransformPaths.length)\r\n return false;\r\n\r\n for (let idx = 0; idx < this.additionalTransformPaths.length; ++idx)\r\n if (!this.additionalTransformPaths[idx].equals(other.additionalTransformPaths[idx]))\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"GeodeticDatum.js","sourceRoot":"","sources":["../../../src/geometry/GeodeticDatum.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Geometry\n */\n// cspell:ignore JSONXYZ, ETRF, OSGB, DHDN, NADCON, GEOCN\n\nimport { Geometry, Vector3d, XYAndZ } from \"@itwin/core-geometry\";\nimport { GeodeticEllipsoid, GeodeticEllipsoidProps } from \"./GeodeticEllipsoid\";\n\n/** Holds 3 components of a Positional Vector rotation definition in arc seconds\n * @public\n * @extensions\n */\nexport interface XyzRotationProps {\n /** X rotation component in arc second */\n x: number;\n /** Y rotation component in arc second*/\n y: number;\n /** Z rotation component in arc second*/\n z: number;\n}\n\n/** Hold 3 components data of a Positional Vector rotation definition in arc seconds\n * @public\n */\nexport class XyzRotation implements XyzRotationProps {\n /** X rotation component in arc second */\n public readonly x!: number;\n /** Y rotation component in arc second*/\n public readonly y!: number;\n /** Z rotation component in arc second*/\n public readonly z!: number;\n\n public constructor(data?: XyzRotationProps) {\n if (data) {\n this.x = data.x;\n this.y = data.y;\n this.z = data.z;\n }\n }\n\n /** Creates a Rotations object from JSON representation.\n * @public */\n public static fromJSON(data: XyzRotationProps): XyzRotation {\n return new XyzRotation(data);\n }\n\n /** Creates a JSON from the Rotations definition\n * @public */\n public toJSON(): XyzRotationProps {\n return { x: this.x, y: this.y, z: this.z };\n }\n\n /** Compares two geodetic rotations. It applies a minuscule angular tolerance\n * @public */\n public equals(other: XyzRotation): boolean {\n return (Math.abs(this.x - other.x) < Geometry.smallAngleSeconds &&\n Math.abs(this.y - other.y) < Geometry.smallAngleSeconds &&\n Math.abs(this.z - other.z) < Geometry.smallAngleSeconds);\n }\n}\n\n/** Type indicating the geodetic transformation method\n * @public\n * @extensions\n */\nexport type GeodeticTransformMethod =\n \"None\" |\n \"Geocentric\" |\n \"PositionalVector\" |\n \"GridFiles\" |\n \"MultipleRegression\" |\n \"Undefined\";\n\n/** This interface represents a geocentric (three parameters) geodetic transformation.\n * @public\n * @extensions\n */\nexport interface GeocentricTransformProps {\n /** The frame translation components in meters */\n delta: XYAndZ;\n}\n\n/** This class represents a geocentric (three parameters) geodetic transformation.\n * @public\n */\nexport class GeocentricTransform implements GeocentricTransformProps {\n /** The frame translation components in meters */\n public readonly delta: Vector3d;\n\n public constructor(data?: GeocentricTransformProps) {\n this.delta = data ? Vector3d.fromJSON(data.delta) : new Vector3d();\n }\n\n /** Creates a Geocentric Transform from JSON representation.\n * @public */\n public static fromJSON(data: GeocentricTransformProps): GeocentricTransform {\n return new GeocentricTransform(data);\n }\n\n /** Creates a JSON from the Geodetic GeocentricTransform definition\n * @public */\n public toJSON(): GeocentricTransformProps {\n return { delta: { x: this.delta.x, y: this.delta.y, z: this.delta.z } };\n }\n\n /** Compares two geodetic transforms. It applies a minuscule tolerance.\n * @public */\n public equals(other: GeocentricTransform): boolean {\n return (Math.abs(this.delta.x - other.delta.x) < Geometry.smallMetricDistance &&\n Math.abs(this.delta.y - other.delta.y) < Geometry.smallMetricDistance &&\n Math.abs(this.delta.z - other.delta.z) < Geometry.smallMetricDistance);\n }\n}\n\n/** This interface represents a positional vector (seven parameters) geodetic transformation corresponding to\n * EPSG operation 9606. Beware that the convention relative to rotation direction is different\n * from the Coordinate Frame operation (epsg 9607).\n * @public\n * @extensions\n */\nexport interface PositionalVectorTransformProps {\n /** The frame translation components in meters */\n delta: XYAndZ;\n /** The frame rotation components in arc seconds. The rotation sign convention is the one associated with\n * the operation EPSG:9606 following recommendation of ISO 19111 specifications */\n rotation: XyzRotationProps;\n /** Scale in parts per million. The scale effectively applied will be 1 plus scale divided by 1 000 000. */\n scalePPM: number;\n}\n\n/** This class represents a positional vector (seven parameters) geodetic transformation corresponding to\n * EPSG operation 9606. Beware that the convention relative to rotation direction is different\n * from the Coordinate Frame operation (epsg 9607).\n * @public\n */\nexport class PositionalVectorTransform implements PositionalVectorTransformProps {\n /** The frame translation components in meters */\n public readonly delta!: Vector3d;\n /** The frame rotation components in arc seconds. The rotation sign convention is the one associated with\n * the operation EPSG:9606 following recommendation of ISO 19111 specifications */\n public readonly rotation!: XyzRotation;\n /** Scale in parts per million. The scale effectively applied will be 1 plus scale divided by 1 000 000. */\n public readonly scalePPM!: number;\n\n public constructor(data?: PositionalVectorTransformProps) {\n if (data) {\n this.delta = data.delta ? Vector3d.fromJSON(data.delta) : new Vector3d();\n this.rotation = data.rotation ? XyzRotation.fromJSON(data.rotation) : new XyzRotation();\n this.scalePPM = data.scalePPM;\n }\n }\n\n /** Creates a Positional Vector Transform from JSON representation.\n * @public */\n public static fromJSON(data: PositionalVectorTransformProps): PositionalVectorTransform {\n return new PositionalVectorTransform(data);\n }\n\n /** Creates a JSON from the Positional Vector Transform definition\n * @public */\n public toJSON(): PositionalVectorTransformProps {\n return {\n delta: { x: this.delta.x, y: this.delta.y, z: this.delta.z },\n rotation: this.rotation.toJSON(),\n scalePPM: this.scalePPM,\n };\n }\n\n /** Compares two Positional Vector Transforms. It applies a minuscule tolerance to number compares.\n * @public */\n public equals(other: PositionalVectorTransform): boolean {\n if (Math.abs(this.delta.x - other.delta.x) > Geometry.smallMetricDistance ||\n Math.abs(this.delta.y - other.delta.y) > Geometry.smallMetricDistance ||\n Math.abs(this.delta.z - other.delta.z) > Geometry.smallMetricDistance ||\n Math.abs(this.scalePPM - other.scalePPM) > Geometry.smallFraction)\n return false;\n\n return this.rotation.equals(other.rotation);\n }\n}\n\n/** Type indicating the file format of the grid files.\n * @public\n * @extensions\n */\nexport type GridFileFormat =\n \"NONE\" |\n \"NTv1\" |\n \"NTv2\" |\n \"NADCON\" |\n \"FRENCH\" |\n \"JAPAN\" |\n \"ATS77\" |\n \"GEOCN\" |\n \"OSTN02\" |\n \"OSTN15\";\n\n/** type to indicate the grid file application direction.\n * @public\n * @extensions\n */\nexport type GridFileDirection = \"Direct\" | \"Inverse\";\n\n/** Grid file definition containing name of the file, the format and the direction it should be applied\n * @public\n * @extensions\n */\nexport interface GridFileDefinitionProps {\n /** Name of the grid shift file. This name is relative to the expected dictionary root document.\n * Typical grid shift file name will contain first the country name it applies to then possibly some sub path.\n * Example of existing grid files:\n * Germany/BETA2007.gsb or Brazil/SAD69_003.GSB but sometimes longer paths USA/NADCON/conus.l*s\n * Note that the file name can contain wildcards when the format requires more than one file. For example\n * the NADCON format makes use of a different file for latitude and longitude shifts thus the .l*s extension in the\n * file name above.\n * Forward slash is always used to separate the path components.\n */\n fileName: string;\n /** The grid file format */\n format: GridFileFormat;\n /** The grid file application direction */\n direction: GridFileDirection;\n}\n\n/** Grid file definition containing name of the file, the format and the direction it should be applied\n * @public\n */\nexport class GridFileDefinition implements GridFileDefinitionProps {\n /** Name of the grid shift file. This name is relative to the expected dictionary root document.\n * Typical grid shift file name will contain first the country name it applies to then possibly some sub path.\n * Example of existing grid files:\n * Germany/BETA2007.gsb or Brazil/SAD69_003.GSB but sometimes longer paths USA/NADCON/conus.l*s\n * Note that the file name can contain wildcards when the format requires more than one file. For example\n * the NADCON format makes use of a different file for latitude and longitude shifts thus the .l*s extension in the\n * file name above.\n * Forward slash is always used to separate the path components.\n */\n public readonly fileName: string;\n /** The grid file format */\n public readonly format: GridFileFormat;\n /** The grid file application direction */\n public readonly direction: GridFileDirection;\n\n public constructor(data?: GridFileDefinitionProps) {\n this.fileName = data ? data.fileName : \"\";\n this.format = data ? data.format : \"NTv2\";\n this.direction = data ? data.direction : \"Direct\";\n }\n\n /** Creates a Grid File Definition from JSON representation.\n * @public */\n public static fromJSON(data: GridFileDefinitionProps): GridFileDefinition {\n return new GridFileDefinition(data);\n }\n\n /** Creates a JSON from the Grid File Definition\n * @public */\n public toJSON(): GridFileDefinitionProps {\n return { fileName: this.fileName, format: this.format, direction: this.direction };\n }\n\n /** Compares two grid file definition. It is a strict compare operation not an equivalence test.\n * @public */\n public equals(other: GridFileDefinition): boolean {\n return (this.fileName === other.fileName && this.direction === other.direction && this.format === other.format);\n }\n}\n\n/** This interface represents a grid files based geodetic transformation.\n * @public\n * @extensions\n */\nexport interface GridFileTransformProps {\n /** The list of grid files. The order of file is meaningful, the first encountered that covers the extent of coordinate\n * transformation will be used. */\n files: GridFileDefinitionProps[];\n /** The positional vector fallback transformation used for extents not covered by the grid files */\n fallback?: PositionalVectorTransformProps;\n}\n\n/** This class represents a grid files based geodetic transformation.\n * @public\n */\nexport class GridFileTransform implements GridFileTransformProps {\n /** The list of grid files. The order of file is meaningful, the first encountered that covers the extent of coordinate\n * transformation will be used. */\n public readonly files: GridFileDefinition[];\n /** The positional vector fallback transformation used for extents not covered by the grid files */\n public readonly fallback?: PositionalVectorTransform;\n\n public constructor(data?: GridFileTransformProps) {\n this.files = [];\n if (data) {\n this.fallback = data.fallback ? PositionalVectorTransform.fromJSON(data.fallback) : undefined;\n if (Array.isArray(data.files)) {\n this.files = [];\n for (const item of data.files)\n this.files.push(GridFileDefinition.fromJSON(item));\n }\n }\n }\n\n /** Creates a Grid File Transform from JSON representation.\n * @public */\n public static fromJSON(data: GridFileTransformProps): GridFileTransform {\n return new GridFileTransform(data);\n }\n\n /** Creates a JSON from the Grid File Transform definition\n * @public */\n public toJSON(): GridFileTransformProps {\n const data: GridFileTransformProps = { files: [] };\n data.fallback = this.fallback ? this.fallback.toJSON() : undefined;\n if (Array.isArray(this.files)) {\n for (const item of this.files)\n data.files.push(item.toJSON());\n }\n return data;\n }\n\n /** Compares two Grid File Transforms. It is a strict compare operation not an equivalence test.\n * @public */\n public equals(other: GridFileTransform): boolean {\n if (this.files.length !== other.files.length)\n return false;\n\n for (let idx = 0; idx < this.files.length; ++idx)\n if (!this.files[idx].equals(other.files[idx]))\n return false;\n\n if ((this.fallback === undefined) !== (other.fallback === undefined))\n return false;\n\n if (this.fallback && !this.fallback.equals(other.fallback!))\n return false;\n\n return true;\n }\n}\n\n/** This interface represents a geodetic transformation that enables transforming longitude/latitude coordinates\n * from one datum to another.\n * @public\n * @extensions\n */\nexport interface GeodeticTransformProps {\n /** The method used by the geodetic transform */\n method: GeodeticTransformMethod;\n /** The complete definition of the source geodetic ellipsoid referred to by ellipsoidId.\n * The source ellipsoid identifier enables obtaining the shape of the Earth mathematical model\n * for the purpose of performing the transformation.\n */\n sourceEllipsoid?: GeodeticEllipsoidProps;\n /** The complete definition of the target geodetic ellipsoid referred to by ellipsoidId.\n * The target ellipsoid identifier enables obtaining the shape of the Earth mathematical model\n * for the purpose of performing the transformation.*/\n targetEllipsoid?: GeodeticEllipsoidProps;\n /** The id of the source datum. */\n sourceDatumId?: string;\n /** The id of the target datum. This id is useful to seach within a geodetic transform path for\n * a shortcut to another included datum.\n */\n targetDatumId?: string;\n /** When method is Geocentric this property contains the geocentric parameters */\n geocentric?: GeocentricTransformProps;\n /** When method is PositionalVector this property contains the positional vector parameters */\n positionalVector?: PositionalVectorTransformProps;\n /** When method is GridFiles this property contains the grid files parameters */\n gridFile?: GridFileTransformProps;\n}\n\n/** This class represents a geodetic transformation that enables transforming longitude/latitude coordinates\n * from one datum to another.\n * @public\n */\nexport class GeodeticTransform implements GeodeticTransformProps {\n /** The method used by the geodetic transform */\n public readonly method: GeodeticTransformMethod;\n /** The identifier of the source geodetic datum as stored in the dictionary or the service database.\n * This identifier is optional and informational only.\n */\n public readonly sourceEllipsoid?: GeodeticEllipsoid;\n /** The complete definition of the target geodetic ellipsoid referred to by ellipsoidId.\n * The target ellipsoid identifier enables obtaining the shape of the Earth mathematical model\n * for the purpose of performing the transformation.*/\n public readonly targetEllipsoid?: GeodeticEllipsoid;\n /** The id of the source datum. */\n public readonly sourceDatumId?: string;\n /** The id of the target datum. This id is useful to seach within a geodetic transform path for\n * a shortcut to another included datum.\n */\n public readonly targetDatumId?: string;\n /** When method is Geocentric this property contains the geocentric parameters */\n public readonly geocentric?: GeocentricTransform;\n /** When method is PositionalVector this property contains the positional vector parameters */\n public readonly positionalVector?: PositionalVectorTransform;\n /** When method is GridFiles this property contains the grid files parameters */\n public readonly gridFile?: GridFileTransform;\n\n public constructor(data?: GeodeticTransformProps) {\n this.method = \"None\";\n if (data) {\n this.method = data.method;\n this.sourceEllipsoid = data.sourceEllipsoid ? GeodeticEllipsoid.fromJSON(data.sourceEllipsoid) : undefined;\n this.targetEllipsoid = data.targetEllipsoid ? GeodeticEllipsoid.fromJSON(data.targetEllipsoid) : undefined;\n this.sourceDatumId = data.sourceDatumId;\n this.targetDatumId = data.targetDatumId;\n this.geocentric = data.geocentric ? GeocentricTransform.fromJSON(data.geocentric) : undefined;\n this.positionalVector = data.positionalVector ? PositionalVectorTransform.fromJSON(data.positionalVector) : undefined;\n this.gridFile = data.gridFile ? GridFileTransform.fromJSON(data.gridFile) : undefined;\n }\n }\n\n /** Creates a Geodetic Transform from JSON representation.\n * @public */\n public static fromJSON(data: GeodeticTransformProps): GeodeticTransform {\n return new GeodeticTransform(data);\n }\n\n /** Creates a JSON from the Geodetic Transform definition\n * @public */\n public toJSON(): GeodeticTransformProps {\n const data: GeodeticTransformProps = { method: this.method };\n data.sourceEllipsoid = this.sourceEllipsoid ? this.sourceEllipsoid.toJSON() : undefined;\n data.targetEllipsoid = this.targetEllipsoid ? this.targetEllipsoid.toJSON() : undefined;\n data.sourceDatumId = this.sourceDatumId;\n data.targetDatumId = this.targetDatumId;\n data.geocentric = this.geocentric ? this.geocentric.toJSON() : undefined;\n data.positionalVector = this.positionalVector ? this.positionalVector.toJSON() : undefined;\n data.gridFile = this.gridFile ? this.gridFile.toJSON() : undefined;\n return data;\n }\n\n /** Compares two geodetic Transforms. It is not an equivalence test since\n * descriptive information is strictly compared. A minuscule tolerance is applied to number compares.\n * @public */\n public equals(other: GeodeticTransform): boolean {\n if (this.method !== other.method)\n return false;\n\n if (this.sourceDatumId !== other.sourceDatumId || this.targetDatumId !== other.targetDatumId)\n return false;\n\n if ((this.sourceEllipsoid === undefined) !== (other.sourceEllipsoid === undefined))\n return false;\n if (this.sourceEllipsoid && !this.sourceEllipsoid.equals(other.sourceEllipsoid!))\n return false;\n\n if ((this.targetEllipsoid === undefined) !== (other.targetEllipsoid === undefined))\n return false;\n if (this.targetEllipsoid && !this.targetEllipsoid.equals(other.targetEllipsoid!))\n return false;\n\n if ((this.geocentric === undefined) !== (other.geocentric === undefined))\n return false;\n if (this.geocentric && !this.geocentric.equals(other.geocentric!))\n return false;\n\n if ((this.positionalVector === undefined) !== (other.positionalVector === undefined))\n return false;\n if (this.positionalVector && !this.positionalVector.equals(other.positionalVector!))\n return false;\n\n if ((this.gridFile === undefined) !== (other.gridFile === undefined))\n return false;\n if (this.gridFile && !this.gridFile.equals(other.gridFile!))\n return false;\n\n return true;\n }\n}\n\n/** This interface represents a geodetic datum transform path. It contains a list of transforms linking\n * a source to a target geodetic datum.\n * @public\n */\nexport interface GeodeticTransformPathProps {\n /** Source geodetic datum key name */\n sourceDatumId?: string;\n /** Target geodetic datum key name */\n targetDatumId?: string;\n /** The transformation path from source datum to target datum.\n */\n transforms?: GeodeticTransformProps[];\n}\n\n/** This class represents a geodetic datum transform path. It contains a list of transforms linking\n * a source to a target geodetic datum.\n * @public\n */\nexport class GeodeticTransformPath implements GeodeticTransformPathProps {\n /** Source geodetic datum key name */\n public readonly sourceDatumId?: string;\n /** Target geodetic datum key name */\n public readonly targetDatumId?: string;\n /** The transformation path from source datum to target datum.\n */\n public readonly transforms?: GeodeticTransform[];\n\n public constructor(_data?: GeodeticTransformPathProps) {\n if (_data) {\n this.sourceDatumId = _data.sourceDatumId;\n this.targetDatumId = _data.targetDatumId;\n if (Array.isArray(_data.transforms)) {\n this.transforms = [];\n for (const item of _data.transforms)\n this.transforms.push(GeodeticTransform.fromJSON(item));\n }\n }\n }\n\n /** Creates a Geodetic transform path from JSON representation.\n * @public */\n public static fromJSON(data: GeodeticTransformPathProps): GeodeticTransformPath {\n return new GeodeticTransformPath(data);\n }\n\n /** Creates a JSON from the Geodetic transform path definition\n * @public */\n public toJSON(): GeodeticTransformPathProps {\n const data: GeodeticTransformPathProps = {};\n data.sourceDatumId = this.sourceDatumId;\n data.targetDatumId = this.targetDatumId;\n if (Array.isArray(this.transforms)) {\n data.transforms = [];\n for (const item of this.transforms)\n data.transforms.push(item.toJSON());\n }\n return data;\n }\n\n /** Compares two Geodetic Transform Paths. It is a strict compare operation not an equivalence test.\n * It takes into account descriptive properties not only mathematical definition properties.\n * @public */\n public equals(other: GeodeticTransformPath): boolean {\n if (this.sourceDatumId !== other.sourceDatumId || this.targetDatumId !== other.targetDatumId)\n return false;\n\n if ((this.transforms === undefined) !== (other.transforms === undefined))\n return false;\n\n if (this.transforms && other.transforms) {\n if (this.transforms.length !== other.transforms.length)\n return false;\n\n for (let idx = 0; idx < this.transforms.length; ++idx)\n if (!this.transforms[idx].equals(other.transforms[idx]))\n return false;\n }\n return true;\n }\n}\n\n/** This interface represents a geodetic datum. Geodetic datums are based on an ellipsoid.\n * In addition to the ellipsoid definition they are the base for longitude/latitude coordinates.\n * Geodetic datums are the basis for geodetic transformations. Most geodetic datums are defined by specifying\n * the transformation to the common base WGS84 (or local equivalent). The transforms property can contain the\n * definition of the transformation path to WGS84.\n * Sometimes there exists transformation paths direct from one non-WGS84 datum to another non-WGS84. The current model\n * does not allow specifications of these special paths at the moment.\n * @public\n * @extensions\n */\nexport interface GeodeticDatumProps {\n /** GeodeticDatum key name */\n id?: string;\n /** Description */\n description?: string;\n /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.\n ** If false or undefined then the definition is not deprecated.\n */\n deprecated?: boolean;\n /** A textual description of the source of the geodetic datum definition. */\n source?: string;\n /** The EPSG code of the geodetic datum. If undefined then there is no EPSG code associated. */\n epsg?: number;\n /** The key name to the base Ellipsoid. */\n ellipsoidId?: string;\n /** The full definition of the geodetic ellipsoid associated to the datum. If undefined then the ellipsoidId must be used to fetch the definition from the dictionary, geographic coordinate system service or the backend */\n ellipsoid?: GeodeticEllipsoidProps;\n /** The transformation to WGS84. If null then there is no known transformation to WGS84. Although\n * this is rare it occurs in a few cases where the country charges for obtaining and using\n * the transformation and its parameters, or if the transformation is maintained secret for military reasons.\n * In this case the recommendation is to considered the geodetic datum to be coincident to WGS84 keeping\n * in mind imported global data such as Google Map or Bing Map data may be approximately located.\n * The list of transforms contains normally a single transform but there can be a sequence of transformations\n * required to transform to WGS84, such as the newer datum definitions for Slovakia or Switzerland.\n */\n transforms?: GeodeticTransformProps[];\n /** The optional list of transformation paths to other datum. These should only be used if the path to\n * these datum is not included in the transforms property definition of the transformation to WGS84.\n * It should not be used either if the transformation to the datum can be infered from the concatenation\n * of their individual paths to WGS84. These should be used to express an alternate shortcut path that is\n * inherent to the nature of the datum. As an example it is required to represent the transformation\n * from NAD27 to NAD83/2011 since NAD83/2011 is coincident to WGS84 yet the NAD27 datum to WGS84 path\n * only includes transformation to NAD83, making the path of transforms to NAD83/2011 not related\n * to the available paths to WGS84.\n */\n additionalTransformPaths?: GeodeticTransformPathProps[];\n}\n\n/** This class represents a geodetic datum. Geodetic datums are based on an ellipsoid.\n * In addition to the ellipsoid definition they are the base for longitude/latitude coordinates.\n * Geodetic datums are the basis for geodetic transformations. Most geodetic datums are defined by specifying\n * the transformation to the common base WGS84 (or local equivalent). The transforms property can contain the\n * definition of the transformation path to WGS84.\n * Sometimes there exists transformation paths direct from one non-WGS84 datum to another non-WGS84. The current model\n * does not allow specifications of these special paths at the moment.\n * @public\n */\nexport class GeodeticDatum implements GeodeticDatumProps {\n /** GeodeticDatum key name */\n public readonly id?: string;\n /** Description */\n public readonly description?: string;\n /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.\n * If false then the definition is not deprecated. Default is false.\n */\n public readonly deprecated: boolean;\n /** A textual description of the source of the geodetic datum definition. */\n public readonly source?: string;\n /** The EPSG code of the geodetic datum. If undefined then there is no EPSG code associated. */\n public readonly epsg?: number;\n /** The key name to the base Ellipsoid. */\n public readonly ellipsoidId?: string;\n /** The full definition of the geodetic ellipsoid associated to the datum. If undefined then the ellipsoidId must\n * be used to fetch the definition from the dictionary, geographic coordinate system service or the backend\n */\n public readonly ellipsoid?: GeodeticEllipsoid;\n /** The transformation to WGS84. If null then there is no known transformation to WGS84. Although\n * this is rare it occurs in a few cases where the country charges for obtaining and using\n * the transformation and its parameters, or if the transformation is maintained secret for military reasons.\n * In this case the recommendation is to considered the geodetic datum to be coincident to WGS84 keeping\n * in mind imported global data such as Google Map or Bing Map data may be approximately located.\n * The list of transforms contains normally a single transform but there can be a sequence of transformations\n * required to transform to WGS84, such as the newer datum definitions for Slovakia or Switzerland.\n */\n public readonly transforms?: GeodeticTransform[];\n /** The optional list of transformation paths to other datum. These should only be used if the path to\n * these datum is not included in the transforms property definition of the transformation to WGS84.\n * It should not be used either if the transformation to the datum can be infered from the concatenation\n * of their individual paths to WGS84. These should be used to express an alternate shortcut path that is\n * inherent to the nature of the datum. As an example it is required to represent the transformation\n * from NAD27 to NAD83/2011 since NAD83/2011 is coincident to WGS84 yet the NAD27 datum to WGS84 path\n * only includes transformation to NAD83, making the path of transforms to NAD83/2011 not related\n * to the available paths to WGS84.\n */\n public readonly additionalTransformPaths?: GeodeticTransformPath[];\n\n public constructor(_data?: GeodeticDatumProps) {\n this.deprecated = false;\n if (_data) {\n this.id = _data.id;\n this.description = _data.description;\n this.deprecated = _data.deprecated ?? false;\n this.source = _data.source;\n this.epsg = _data.epsg;\n this.ellipsoidId = _data.ellipsoidId;\n this.ellipsoid = _data.ellipsoid ? GeodeticEllipsoid.fromJSON(_data.ellipsoid) : undefined;\n if (Array.isArray(_data.transforms)) {\n this.transforms = [];\n for (const item of _data.transforms)\n this.transforms.push(GeodeticTransform.fromJSON(item));\n }\n if (Array.isArray(_data.additionalTransformPaths)) {\n this.additionalTransformPaths = [];\n for (const item of _data.additionalTransformPaths)\n this.additionalTransformPaths.push(GeodeticTransformPath.fromJSON(item));\n }\n }\n }\n\n /** Creates a Geodetic Datum from JSON representation.\n * @public */\n public static fromJSON(data: GeodeticDatumProps): GeodeticDatum {\n return new GeodeticDatum(data);\n }\n\n /** Creates a JSON from the Geodetic Datum definition\n * @public */\n public toJSON(): GeodeticDatumProps {\n const data: GeodeticDatumProps = {};\n data.id = this.id;\n data.description = this.description;\n /* We prefer to use the default undef instead of false value for deprecated value in Json */\n data.deprecated = (this.deprecated === false ? undefined : true);\n data.source = this.source;\n data.epsg = this.epsg;\n data.ellipsoidId = this.ellipsoidId;\n data.ellipsoid = this.ellipsoid ? this.ellipsoid.toJSON() : undefined;\n if (Array.isArray(this.transforms)) {\n data.transforms = [];\n for (const item of this.transforms)\n data.transforms.push(item.toJSON());\n }\n if (Array.isArray(this.additionalTransformPaths)) {\n data.additionalTransformPaths = [];\n for (const item of this.additionalTransformPaths)\n data.additionalTransformPaths.push(item.toJSON());\n }\n return data;\n }\n\n /** Compares two Geodetic Datums. It is a strict compare operation not an equivalence test.\n * It takes into account descriptive properties not only mathematical definition properties.\n * @public */\n public equals(other: GeodeticDatum): boolean {\n if (this.id !== other.id ||\n this.description !== other.description ||\n this.deprecated !== other.deprecated ||\n this.source !== other.source ||\n this.epsg !== other.epsg ||\n this.ellipsoidId !== other.ellipsoidId)\n return false;\n\n if ((this.ellipsoid === undefined) !== (other.ellipsoid === undefined))\n return false;\n\n if (this.ellipsoid && !this.ellipsoid.equals(other.ellipsoid!))\n return false;\n\n if ((this.transforms === undefined) !== (other.transforms === undefined))\n return false;\n\n if (this.transforms && other.transforms) {\n if (this.transforms.length !== other.transforms.length)\n return false;\n\n for (let idx = 0; idx < this.transforms.length; ++idx)\n if (!this.transforms[idx].equals(other.transforms[idx]))\n return false;\n }\n\n if ((this.additionalTransformPaths === undefined) !== (other.additionalTransformPaths === undefined))\n return false;\n\n if (this.additionalTransformPaths && other.additionalTransformPaths) {\n if (this.additionalTransformPaths.length !== other.additionalTransformPaths.length)\n return false;\n\n for (let idx = 0; idx < this.additionalTransformPaths.length; ++idx)\n if (!this.additionalTransformPaths[idx].equals(other.additionalTransformPaths[idx]))\n return false;\n }\n return true;\n }\n}\n\n"]}
@@ -1,73 +1,73 @@
1
- /** @packageDocumentation
2
- * @module Geometry
3
- */
4
- /** This interface defines the mathematical model of the Earth shape in the form of an ellipsoid.
5
- * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.
6
- * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using
7
- * the simple equations that are defined at:
8
- * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.
9
- * @public
10
- * @extensions
11
- */
12
- export interface GeodeticEllipsoidProps {
13
- /** Ellipsoid key name */
14
- id?: string;
15
- /** Description of the ellipsoid */
16
- description?: string;
17
- /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.
18
- * If false or undefined then the definition is not deprecated.
19
- */
20
- deprecated?: boolean;
21
- /** The textual description of the source of the ellipsoid definition. */
22
- source?: string;
23
- /** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */
24
- epsg?: number;
25
- /** The equatorial radius of the ellipsoid in meters */
26
- equatorialRadius?: number;
27
- /** The polar radius of the ellipsoid in meters*/
28
- polarRadius?: number;
29
- }
30
- /** This class defines the mathematical model of the Earth shape in the form of an ellipsoid.
31
- * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.
32
- * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using
33
- * the simple equations that are defined at:
34
- * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.
35
- * The present class only implements the definition of the ellipsoid. No processing is performed here. If ellipsoid based computation
36
- * are required refer to [[Ellipsoid]] in core/geometry package.
37
- * The class only serves to describe a geodetic ellipsoid and can be partially or fully defined.
38
- * For a lot of purposes simply setting the id property is sufficient to describe the ellipsoid in most cases
39
- * as the mathematical properties (equatorial and polar radiuses) will be often extracted from the dictionary
40
- * of commonly known ellipsoids by the reprojection engine used.
41
- * @public
42
- */
43
- export declare class GeodeticEllipsoid implements GeodeticEllipsoidProps {
44
- /** Ellipsoid key name */
45
- readonly id?: string;
46
- /** Description of the ellipsoid */
47
- readonly description?: string;
48
- /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.
49
- * If false then the definition is not deprecated. Default is false.
50
- */
51
- readonly deprecated: boolean;
52
- /** The textual description of the source of the ellipsoid definition. */
53
- readonly source?: string;
54
- /** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */
55
- readonly epsg?: number;
56
- /** The equatorial radius of the ellipsoid in meters. */
57
- readonly equatorialRadius?: number;
58
- /** The polar radius of the ellipsoid in meters. */
59
- readonly polarRadius?: number;
60
- constructor(data?: GeodeticEllipsoidProps);
61
- /** Creates a Geodetic Ellipsoid from JSON representation.
62
- * @public */
63
- static fromJSON(data: GeodeticEllipsoidProps): GeodeticEllipsoid;
64
- /** Creates a JSON from the Geodetic Ellipsoid definition
65
- * @public */
66
- toJSON(): GeodeticEllipsoidProps;
67
- /** Compares two Geodetic Ellipsoid. It is a strict compare operation not an equivalence test
68
- * but it applies a minuscule tolerance for floating point compares.
69
- * It takes into account descriptive properties not only mathematical definition properties.
70
- * @public */
71
- equals(other: GeodeticEllipsoid): boolean;
72
- }
1
+ /** @packageDocumentation
2
+ * @module Geometry
3
+ */
4
+ /** This interface defines the mathematical model of the Earth shape in the form of an ellipsoid.
5
+ * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.
6
+ * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using
7
+ * the simple equations that are defined at:
8
+ * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.
9
+ * @public
10
+ * @extensions
11
+ */
12
+ export interface GeodeticEllipsoidProps {
13
+ /** Ellipsoid key name */
14
+ id?: string;
15
+ /** Description of the ellipsoid */
16
+ description?: string;
17
+ /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.
18
+ * If false or undefined then the definition is not deprecated.
19
+ */
20
+ deprecated?: boolean;
21
+ /** The textual description of the source of the ellipsoid definition. */
22
+ source?: string;
23
+ /** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */
24
+ epsg?: number;
25
+ /** The equatorial radius of the ellipsoid in meters */
26
+ equatorialRadius?: number;
27
+ /** The polar radius of the ellipsoid in meters*/
28
+ polarRadius?: number;
29
+ }
30
+ /** This class defines the mathematical model of the Earth shape in the form of an ellipsoid.
31
+ * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.
32
+ * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using
33
+ * the simple equations that are defined at:
34
+ * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.
35
+ * The present class only implements the definition of the ellipsoid. No processing is performed here. If ellipsoid based computation
36
+ * are required refer to [[Ellipsoid]] in core/geometry package.
37
+ * The class only serves to describe a geodetic ellipsoid and can be partially or fully defined.
38
+ * For a lot of purposes simply setting the id property is sufficient to describe the ellipsoid in most cases
39
+ * as the mathematical properties (equatorial and polar radiuses) will be often extracted from the dictionary
40
+ * of commonly known ellipsoids by the reprojection engine used.
41
+ * @public
42
+ */
43
+ export declare class GeodeticEllipsoid implements GeodeticEllipsoidProps {
44
+ /** Ellipsoid key name */
45
+ readonly id?: string;
46
+ /** Description of the ellipsoid */
47
+ readonly description?: string;
48
+ /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.
49
+ * If false then the definition is not deprecated. Default is false.
50
+ */
51
+ readonly deprecated: boolean;
52
+ /** The textual description of the source of the ellipsoid definition. */
53
+ readonly source?: string;
54
+ /** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */
55
+ readonly epsg?: number;
56
+ /** The equatorial radius of the ellipsoid in meters. */
57
+ readonly equatorialRadius?: number;
58
+ /** The polar radius of the ellipsoid in meters. */
59
+ readonly polarRadius?: number;
60
+ constructor(data?: GeodeticEllipsoidProps);
61
+ /** Creates a Geodetic Ellipsoid from JSON representation.
62
+ * @public */
63
+ static fromJSON(data: GeodeticEllipsoidProps): GeodeticEllipsoid;
64
+ /** Creates a JSON from the Geodetic Ellipsoid definition
65
+ * @public */
66
+ toJSON(): GeodeticEllipsoidProps;
67
+ /** Compares two Geodetic Ellipsoid. It is a strict compare operation not an equivalence test
68
+ * but it applies a minuscule tolerance for floating point compares.
69
+ * It takes into account descriptive properties not only mathematical definition properties.
70
+ * @public */
71
+ equals(other: GeodeticEllipsoid): boolean;
72
+ }
73
73
  //# sourceMappingURL=GeodeticEllipsoid.d.ts.map
@@ -1,72 +1,72 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.GeodeticEllipsoid = void 0;
11
- const core_geometry_1 = require("@itwin/core-geometry");
12
- /** This class defines the mathematical model of the Earth shape in the form of an ellipsoid.
13
- * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.
14
- * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using
15
- * the simple equations that are defined at:
16
- * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.
17
- * The present class only implements the definition of the ellipsoid. No processing is performed here. If ellipsoid based computation
18
- * are required refer to [[Ellipsoid]] in core/geometry package.
19
- * The class only serves to describe a geodetic ellipsoid and can be partially or fully defined.
20
- * For a lot of purposes simply setting the id property is sufficient to describe the ellipsoid in most cases
21
- * as the mathematical properties (equatorial and polar radiuses) will be often extracted from the dictionary
22
- * of commonly known ellipsoids by the reprojection engine used.
23
- * @public
24
- */
25
- class GeodeticEllipsoid {
26
- constructor(data) {
27
- this.deprecated = false;
28
- if (data) {
29
- this.id = data.id;
30
- this.description = data.description;
31
- this.deprecated = data.deprecated ?? false;
32
- this.source = data.source;
33
- this.epsg = data.epsg;
34
- this.equatorialRadius = data.equatorialRadius;
35
- this.polarRadius = data.polarRadius;
36
- }
37
- }
38
- /** Creates a Geodetic Ellipsoid from JSON representation.
39
- * @public */
40
- static fromJSON(data) {
41
- return new GeodeticEllipsoid(data);
42
- }
43
- /** Creates a JSON from the Geodetic Ellipsoid definition
44
- * @public */
45
- toJSON() {
46
- const data = { equatorialRadius: this.equatorialRadius, polarRadius: this.polarRadius };
47
- data.id = this.id;
48
- data.description = this.description;
49
- /* We prefer to use the default undef instead of false value for deprecated in Json */
50
- data.deprecated = (this.deprecated === false ? undefined : true);
51
- data.source = this.source;
52
- data.epsg = this.epsg;
53
- data.equatorialRadius = this.equatorialRadius;
54
- data.polarRadius = this.polarRadius;
55
- return data;
56
- }
57
- /** Compares two Geodetic Ellipsoid. It is a strict compare operation not an equivalence test
58
- * but it applies a minuscule tolerance for floating point compares.
59
- * It takes into account descriptive properties not only mathematical definition properties.
60
- * @public */
61
- equals(other) {
62
- return this.id === other.id &&
63
- this.description === other.description &&
64
- this.deprecated === other.deprecated &&
65
- this.source === other.source &&
66
- this.epsg === other.epsg &&
67
- core_geometry_1.Geometry.isAlmostEqualOptional(this.equatorialRadius, other.equatorialRadius, core_geometry_1.Geometry.smallMetricDistance) &&
68
- core_geometry_1.Geometry.isAlmostEqualOptional(this.polarRadius, other.polarRadius, core_geometry_1.Geometry.smallMetricDistance);
69
- }
70
- }
71
- exports.GeodeticEllipsoid = GeodeticEllipsoid;
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
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.GeodeticEllipsoid = void 0;
11
+ const core_geometry_1 = require("@itwin/core-geometry");
12
+ /** This class defines the mathematical model of the Earth shape in the form of an ellipsoid.
13
+ * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.
14
+ * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using
15
+ * the simple equations that are defined at:
16
+ * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.
17
+ * The present class only implements the definition of the ellipsoid. No processing is performed here. If ellipsoid based computation
18
+ * are required refer to [[Ellipsoid]] in core/geometry package.
19
+ * The class only serves to describe a geodetic ellipsoid and can be partially or fully defined.
20
+ * For a lot of purposes simply setting the id property is sufficient to describe the ellipsoid in most cases
21
+ * as the mathematical properties (equatorial and polar radiuses) will be often extracted from the dictionary
22
+ * of commonly known ellipsoids by the reprojection engine used.
23
+ * @public
24
+ */
25
+ class GeodeticEllipsoid {
26
+ constructor(data) {
27
+ this.deprecated = false;
28
+ if (data) {
29
+ this.id = data.id;
30
+ this.description = data.description;
31
+ this.deprecated = data.deprecated ?? false;
32
+ this.source = data.source;
33
+ this.epsg = data.epsg;
34
+ this.equatorialRadius = data.equatorialRadius;
35
+ this.polarRadius = data.polarRadius;
36
+ }
37
+ }
38
+ /** Creates a Geodetic Ellipsoid from JSON representation.
39
+ * @public */
40
+ static fromJSON(data) {
41
+ return new GeodeticEllipsoid(data);
42
+ }
43
+ /** Creates a JSON from the Geodetic Ellipsoid definition
44
+ * @public */
45
+ toJSON() {
46
+ const data = { equatorialRadius: this.equatorialRadius, polarRadius: this.polarRadius };
47
+ data.id = this.id;
48
+ data.description = this.description;
49
+ /* We prefer to use the default undef instead of false value for deprecated in Json */
50
+ data.deprecated = (this.deprecated === false ? undefined : true);
51
+ data.source = this.source;
52
+ data.epsg = this.epsg;
53
+ data.equatorialRadius = this.equatorialRadius;
54
+ data.polarRadius = this.polarRadius;
55
+ return data;
56
+ }
57
+ /** Compares two Geodetic Ellipsoid. It is a strict compare operation not an equivalence test
58
+ * but it applies a minuscule tolerance for floating point compares.
59
+ * It takes into account descriptive properties not only mathematical definition properties.
60
+ * @public */
61
+ equals(other) {
62
+ return this.id === other.id &&
63
+ this.description === other.description &&
64
+ this.deprecated === other.deprecated &&
65
+ this.source === other.source &&
66
+ this.epsg === other.epsg &&
67
+ core_geometry_1.Geometry.isAlmostEqualOptional(this.equatorialRadius, other.equatorialRadius, core_geometry_1.Geometry.smallMetricDistance) &&
68
+ core_geometry_1.Geometry.isAlmostEqualOptional(this.polarRadius, other.polarRadius, core_geometry_1.Geometry.smallMetricDistance);
69
+ }
70
+ }
71
+ exports.GeodeticEllipsoid = GeodeticEllipsoid;
72
72
  //# sourceMappingURL=GeodeticEllipsoid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeodeticEllipsoid.js","sourceRoot":"","sources":["../../../src/geometry/GeodeticEllipsoid.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,wDAAgD;AA6BhD;;;;;;;;;;;;GAYG;AACH,MAAa,iBAAiB;IAkB5B,YAAmB,IAA6B;QAC9C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SACrC;IACH,CAAC;IAED;iBACa;IACN,MAAM,CAAC,QAAQ,CAAC,IAA4B;QACjD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;iBACa;IACN,MAAM;QACX,MAAM,IAAI,GAA2B,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QAChH,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,sFAAsF;QACtF,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;kBAGc;IACP,MAAM,CAAC,KAAwB;QACpC,OAAO,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;YACtC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;YACpC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YACxB,wBAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,wBAAQ,CAAC,mBAAmB,CAAC;YAC3G,wBAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,wBAAQ,CAAC,mBAAmB,CAAC,CAAC;IACtG,CAAC;CACF;AAjED,8CAiEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Geometry\r\n */\r\n\r\nimport { Geometry } from \"@itwin/core-geometry\";\r\n\r\n/** This interface defines the mathematical model of the Earth shape in the form of an ellipsoid.\r\n * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.\r\n * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using\r\n * the simple equations that are defined at:\r\n * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeodeticEllipsoidProps {\r\n /** Ellipsoid key name */\r\n id?: string;\r\n /** Description of the ellipsoid */\r\n description?: string;\r\n /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.\r\n * If false or undefined then the definition is not deprecated.\r\n */\r\n deprecated?: boolean;\r\n /** The textual description of the source of the ellipsoid definition. */\r\n source?: string;\r\n /** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */\r\n epsg?: number;\r\n /** The equatorial radius of the ellipsoid in meters */\r\n equatorialRadius?: number;\r\n /** The polar radius of the ellipsoid in meters*/\r\n polarRadius?: number;\r\n}\r\n\r\n/** This class defines the mathematical model of the Earth shape in the form of an ellipsoid.\r\n * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.\r\n * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using\r\n * the simple equations that are defined at:\r\n * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.\r\n * The present class only implements the definition of the ellipsoid. No processing is performed here. If ellipsoid based computation\r\n * are required refer to [[Ellipsoid]] in core/geometry package.\r\n * The class only serves to describe a geodetic ellipsoid and can be partially or fully defined.\r\n * For a lot of purposes simply setting the id property is sufficient to describe the ellipsoid in most cases\r\n * as the mathematical properties (equatorial and polar radiuses) will be often extracted from the dictionary\r\n * of commonly known ellipsoids by the reprojection engine used.\r\n * @public\r\n */\r\nexport class GeodeticEllipsoid implements GeodeticEllipsoidProps {\r\n /** Ellipsoid key name */\r\n public readonly id?: string;\r\n /** Description of the ellipsoid */\r\n public readonly description?: string;\r\n /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.\r\n * If false then the definition is not deprecated. Default is false.\r\n */\r\n public readonly deprecated: boolean;\r\n /** The textual description of the source of the ellipsoid definition. */\r\n public readonly source?: string;\r\n /** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */\r\n public readonly epsg?: number;\r\n /** The equatorial radius of the ellipsoid in meters. */\r\n public readonly equatorialRadius?: number;\r\n /** The polar radius of the ellipsoid in meters. */\r\n public readonly polarRadius?: number;\r\n\r\n public constructor(data?: GeodeticEllipsoidProps) {\r\n this.deprecated = false;\r\n if (data) {\r\n this.id = data.id;\r\n this.description = data.description;\r\n this.deprecated = data.deprecated ?? false;\r\n this.source = data.source;\r\n this.epsg = data.epsg;\r\n this.equatorialRadius = data.equatorialRadius;\r\n this.polarRadius = data.polarRadius;\r\n }\r\n }\r\n\r\n /** Creates a Geodetic Ellipsoid from JSON representation.\r\n * @public */\r\n public static fromJSON(data: GeodeticEllipsoidProps): GeodeticEllipsoid {\r\n return new GeodeticEllipsoid(data);\r\n }\r\n\r\n /** Creates a JSON from the Geodetic Ellipsoid definition\r\n * @public */\r\n public toJSON(): GeodeticEllipsoidProps {\r\n const data: GeodeticEllipsoidProps = { equatorialRadius: this.equatorialRadius, polarRadius: this.polarRadius };\r\n data.id = this.id;\r\n data.description = this.description;\r\n /* We prefer to use the default undef instead of false value for deprecated in Json */\r\n data.deprecated = (this.deprecated === false ? undefined : true);\r\n data.source = this.source;\r\n data.epsg = this.epsg;\r\n data.equatorialRadius = this.equatorialRadius;\r\n data.polarRadius = this.polarRadius;\r\n return data;\r\n }\r\n\r\n /** Compares two Geodetic Ellipsoid. It is a strict compare operation not an equivalence test\r\n * but it applies a minuscule tolerance for floating point compares.\r\n * It takes into account descriptive properties not only mathematical definition properties.\r\n * @public */\r\n public equals(other: GeodeticEllipsoid): boolean {\r\n return this.id === other.id &&\r\n this.description === other.description &&\r\n this.deprecated === other.deprecated &&\r\n this.source === other.source &&\r\n this.epsg === other.epsg &&\r\n Geometry.isAlmostEqualOptional(this.equatorialRadius, other.equatorialRadius, Geometry.smallMetricDistance) &&\r\n Geometry.isAlmostEqualOptional(this.polarRadius, other.polarRadius, Geometry.smallMetricDistance);\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"GeodeticEllipsoid.js","sourceRoot":"","sources":["../../../src/geometry/GeodeticEllipsoid.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,wDAAgD;AA6BhD;;;;;;;;;;;;GAYG;AACH,MAAa,iBAAiB;IAkB5B,YAAmB,IAA6B;QAC9C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SACrC;IACH,CAAC;IAED;iBACa;IACN,MAAM,CAAC,QAAQ,CAAC,IAA4B;QACjD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;iBACa;IACN,MAAM;QACX,MAAM,IAAI,GAA2B,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QAChH,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,sFAAsF;QACtF,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;kBAGc;IACP,MAAM,CAAC,KAAwB;QACpC,OAAO,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;YACtC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;YACpC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YACxB,wBAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,wBAAQ,CAAC,mBAAmB,CAAC;YAC3G,wBAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,wBAAQ,CAAC,mBAAmB,CAAC,CAAC;IACtG,CAAC;CACF;AAjED,8CAiEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Geometry\n */\n\nimport { Geometry } from \"@itwin/core-geometry\";\n\n/** This interface defines the mathematical model of the Earth shape in the form of an ellipsoid.\n * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.\n * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using\n * the simple equations that are defined at:\n * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.\n * @public\n * @extensions\n */\nexport interface GeodeticEllipsoidProps {\n /** Ellipsoid key name */\n id?: string;\n /** Description of the ellipsoid */\n description?: string;\n /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.\n * If false or undefined then the definition is not deprecated.\n */\n deprecated?: boolean;\n /** The textual description of the source of the ellipsoid definition. */\n source?: string;\n /** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */\n epsg?: number;\n /** The equatorial radius of the ellipsoid in meters */\n equatorialRadius?: number;\n /** The polar radius of the ellipsoid in meters*/\n polarRadius?: number;\n}\n\n/** This class defines the mathematical model of the Earth shape in the form of an ellipsoid.\n * There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.\n * The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using\n * the simple equations that are defined at:\n * https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.\n * The present class only implements the definition of the ellipsoid. No processing is performed here. If ellipsoid based computation\n * are required refer to [[Ellipsoid]] in core/geometry package.\n * The class only serves to describe a geodetic ellipsoid and can be partially or fully defined.\n * For a lot of purposes simply setting the id property is sufficient to describe the ellipsoid in most cases\n * as the mathematical properties (equatorial and polar radiuses) will be often extracted from the dictionary\n * of commonly known ellipsoids by the reprojection engine used.\n * @public\n */\nexport class GeodeticEllipsoid implements GeodeticEllipsoidProps {\n /** Ellipsoid key name */\n public readonly id?: string;\n /** Description of the ellipsoid */\n public readonly description?: string;\n /** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.\n * If false then the definition is not deprecated. Default is false.\n */\n public readonly deprecated: boolean;\n /** The textual description of the source of the ellipsoid definition. */\n public readonly source?: string;\n /** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */\n public readonly epsg?: number;\n /** The equatorial radius of the ellipsoid in meters. */\n public readonly equatorialRadius?: number;\n /** The polar radius of the ellipsoid in meters. */\n public readonly polarRadius?: number;\n\n public constructor(data?: GeodeticEllipsoidProps) {\n this.deprecated = false;\n if (data) {\n this.id = data.id;\n this.description = data.description;\n this.deprecated = data.deprecated ?? false;\n this.source = data.source;\n this.epsg = data.epsg;\n this.equatorialRadius = data.equatorialRadius;\n this.polarRadius = data.polarRadius;\n }\n }\n\n /** Creates a Geodetic Ellipsoid from JSON representation.\n * @public */\n public static fromJSON(data: GeodeticEllipsoidProps): GeodeticEllipsoid {\n return new GeodeticEllipsoid(data);\n }\n\n /** Creates a JSON from the Geodetic Ellipsoid definition\n * @public */\n public toJSON(): GeodeticEllipsoidProps {\n const data: GeodeticEllipsoidProps = { equatorialRadius: this.equatorialRadius, polarRadius: this.polarRadius };\n data.id = this.id;\n data.description = this.description;\n /* We prefer to use the default undef instead of false value for deprecated in Json */\n data.deprecated = (this.deprecated === false ? undefined : true);\n data.source = this.source;\n data.epsg = this.epsg;\n data.equatorialRadius = this.equatorialRadius;\n data.polarRadius = this.polarRadius;\n return data;\n }\n\n /** Compares two Geodetic Ellipsoid. It is a strict compare operation not an equivalence test\n * but it applies a minuscule tolerance for floating point compares.\n * It takes into account descriptive properties not only mathematical definition properties.\n * @public */\n public equals(other: GeodeticEllipsoid): boolean {\n return this.id === other.id &&\n this.description === other.description &&\n this.deprecated === other.deprecated &&\n this.source === other.source &&\n this.epsg === other.epsg &&\n Geometry.isAlmostEqualOptional(this.equatorialRadius, other.equatorialRadius, Geometry.smallMetricDistance) &&\n Geometry.isAlmostEqualOptional(this.polarRadius, other.polarRadius, Geometry.smallMetricDistance);\n }\n}\n\n"]}