@itwin/core-common 3.2.0-dev.9 → 3.3.0-dev.0

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 (676) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/AnalysisStyle.d.ts +3 -0
  3. package/lib/cjs/AnalysisStyle.d.ts.map +1 -1
  4. package/lib/cjs/AnalysisStyle.js.map +1 -1
  5. package/lib/cjs/BackgroundMapProvider.d.ts +6 -0
  6. package/lib/cjs/BackgroundMapProvider.d.ts.map +1 -1
  7. package/lib/cjs/BackgroundMapProvider.js +10 -0
  8. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  9. package/lib/cjs/BackgroundMapSettings.d.ts +4 -0
  10. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  11. package/lib/cjs/BackgroundMapSettings.js +1 -0
  12. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  13. package/lib/cjs/Base64EncodedString.d.ts +1 -0
  14. package/lib/cjs/Base64EncodedString.d.ts.map +1 -1
  15. package/lib/cjs/Base64EncodedString.js.map +1 -1
  16. package/lib/cjs/BriefcaseTypes.d.ts +5 -0
  17. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  18. package/lib/cjs/BriefcaseTypes.js +2 -0
  19. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  20. package/lib/cjs/Camera.d.ts +1 -0
  21. package/lib/cjs/Camera.d.ts.map +1 -1
  22. package/lib/cjs/Camera.js.map +1 -1
  23. package/lib/cjs/ChangedElements.d.ts +2 -0
  24. package/lib/cjs/ChangedElements.d.ts.map +1 -1
  25. package/lib/cjs/ChangedElements.js +1 -0
  26. package/lib/cjs/ChangedElements.js.map +1 -1
  27. package/lib/cjs/ChangedEntities.d.ts +3 -0
  28. package/lib/cjs/ChangedEntities.d.ts.map +1 -1
  29. package/lib/cjs/ChangedEntities.js.map +1 -1
  30. package/lib/cjs/ChangesetProps.d.ts +9 -1
  31. package/lib/cjs/ChangesetProps.d.ts.map +1 -1
  32. package/lib/cjs/ChangesetProps.js +3 -1
  33. package/lib/cjs/ChangesetProps.js.map +1 -1
  34. package/lib/cjs/ClipStyle.d.ts +2 -0
  35. package/lib/cjs/ClipStyle.d.ts.map +1 -1
  36. package/lib/cjs/ClipStyle.js.map +1 -1
  37. package/lib/cjs/CloudStorage.d.ts.map +1 -1
  38. package/lib/cjs/CloudStorage.js +14 -20
  39. package/lib/cjs/CloudStorage.js.map +1 -1
  40. package/lib/cjs/Code.d.ts +3 -0
  41. package/lib/cjs/Code.d.ts.map +1 -1
  42. package/lib/cjs/Code.js +1 -0
  43. package/lib/cjs/Code.js.map +1 -1
  44. package/lib/cjs/ColorByName.d.ts +153 -152
  45. package/lib/cjs/ColorByName.d.ts.map +1 -1
  46. package/lib/cjs/ColorByName.js +153 -153
  47. package/lib/cjs/ColorByName.js.map +1 -1
  48. package/lib/cjs/ColorDef.d.ts +55 -46
  49. package/lib/cjs/ColorDef.d.ts.map +1 -1
  50. package/lib/cjs/ColorDef.js +49 -31
  51. package/lib/cjs/ColorDef.js.map +1 -1
  52. package/lib/cjs/CommonLoggerCategory.d.ts +1 -0
  53. package/lib/cjs/CommonLoggerCategory.d.ts.map +1 -1
  54. package/lib/cjs/CommonLoggerCategory.js +1 -0
  55. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  56. package/lib/cjs/ConcurrentQuery.d.ts +6 -1
  57. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  58. package/lib/cjs/ConcurrentQuery.js +3 -1
  59. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  60. package/lib/cjs/ContextRealityModel.d.ts +2 -0
  61. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  62. package/lib/cjs/ContextRealityModel.js.map +1 -1
  63. package/lib/cjs/DisplayStyleSettings.d.ts +10 -0
  64. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  65. package/lib/cjs/DisplayStyleSettings.js +1 -0
  66. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  67. package/lib/cjs/ECSqlTypes.d.ts +6 -0
  68. package/lib/cjs/ECSqlTypes.d.ts.map +1 -1
  69. package/lib/cjs/ECSqlTypes.js +4 -0
  70. package/lib/cjs/ECSqlTypes.js.map +1 -1
  71. package/lib/cjs/ElementProps.d.ts +37 -1
  72. package/lib/cjs/ElementProps.d.ts.map +1 -1
  73. package/lib/cjs/ElementProps.js +2 -0
  74. package/lib/cjs/ElementProps.js.map +1 -1
  75. package/lib/cjs/EmphasizeElementsProps.d.ts +3 -0
  76. package/lib/cjs/EmphasizeElementsProps.d.ts.map +1 -1
  77. package/lib/cjs/EmphasizeElementsProps.js +1 -0
  78. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  79. package/lib/cjs/EntityProps.d.ts +4 -0
  80. package/lib/cjs/EntityProps.d.ts.map +1 -1
  81. package/lib/cjs/EntityProps.js.map +1 -1
  82. package/lib/cjs/Environment.d.ts +1 -0
  83. package/lib/cjs/Environment.d.ts.map +1 -1
  84. package/lib/cjs/Environment.js.map +1 -1
  85. package/lib/cjs/FeatureSymbology.d.ts +3 -0
  86. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  87. package/lib/cjs/FeatureSymbology.js.map +1 -1
  88. package/lib/cjs/FeatureTable.d.ts +1 -0
  89. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  90. package/lib/cjs/FeatureTable.js +1 -0
  91. package/lib/cjs/FeatureTable.js.map +1 -1
  92. package/lib/cjs/Fonts.d.ts +3 -0
  93. package/lib/cjs/Fonts.d.ts.map +1 -1
  94. package/lib/cjs/Fonts.js +1 -0
  95. package/lib/cjs/Fonts.js.map +1 -1
  96. package/lib/cjs/Frustum.d.ts +1 -0
  97. package/lib/cjs/Frustum.d.ts.map +1 -1
  98. package/lib/cjs/Frustum.js +1 -0
  99. package/lib/cjs/Frustum.js.map +1 -1
  100. package/lib/cjs/GeoCoordinateServices.d.ts +1 -0
  101. package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
  102. package/lib/cjs/GeoCoordinateServices.js +1 -0
  103. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  104. package/lib/cjs/GeometryContainment.d.ts +2 -0
  105. package/lib/cjs/GeometryContainment.d.ts.map +1 -1
  106. package/lib/cjs/GeometryContainment.js.map +1 -1
  107. package/lib/cjs/GeometryParams.d.ts +3 -0
  108. package/lib/cjs/GeometryParams.d.ts.map +1 -1
  109. package/lib/cjs/GeometryParams.js +3 -0
  110. package/lib/cjs/GeometryParams.js.map +1 -1
  111. package/lib/cjs/GeometrySummary.d.ts +3 -0
  112. package/lib/cjs/GeometrySummary.d.ts.map +1 -1
  113. package/lib/cjs/GeometrySummary.js +1 -0
  114. package/lib/cjs/GeometrySummary.js.map +1 -1
  115. package/lib/cjs/GraphicParams.d.ts +1 -0
  116. package/lib/cjs/GraphicParams.d.ts.map +1 -1
  117. package/lib/cjs/GraphicParams.js +1 -0
  118. package/lib/cjs/GraphicParams.js.map +1 -1
  119. package/lib/cjs/GroundPlane.d.ts +1 -0
  120. package/lib/cjs/GroundPlane.d.ts.map +1 -1
  121. package/lib/cjs/GroundPlane.js.map +1 -1
  122. package/lib/cjs/HSVColor.d.ts +4 -1
  123. package/lib/cjs/HSVColor.d.ts.map +1 -1
  124. package/lib/cjs/HSVColor.js +4 -1
  125. package/lib/cjs/HSVColor.js.map +1 -1
  126. package/lib/cjs/HiddenLine.d.ts +12 -17
  127. package/lib/cjs/HiddenLine.d.ts.map +1 -1
  128. package/lib/cjs/HiddenLine.js +6 -2
  129. package/lib/cjs/HiddenLine.js.map +1 -1
  130. package/lib/cjs/IModel.d.ts +6 -1
  131. package/lib/cjs/IModel.d.ts.map +1 -1
  132. package/lib/cjs/IModel.js.map +1 -1
  133. package/lib/cjs/Image.d.ts +2 -0
  134. package/lib/cjs/Image.d.ts.map +1 -1
  135. package/lib/cjs/Image.js +2 -0
  136. package/lib/cjs/Image.js.map +1 -1
  137. package/lib/cjs/IpcAppProps.d.ts +1 -0
  138. package/lib/cjs/IpcAppProps.d.ts.map +1 -1
  139. package/lib/cjs/IpcAppProps.js.map +1 -1
  140. package/lib/cjs/LightSettings.d.ts +5 -0
  141. package/lib/cjs/LightSettings.d.ts.map +1 -1
  142. package/lib/cjs/LightSettings.js.map +1 -1
  143. package/lib/cjs/LinePixels.d.ts +1 -0
  144. package/lib/cjs/LinePixels.d.ts.map +1 -1
  145. package/lib/cjs/LinePixels.js +1 -0
  146. package/lib/cjs/LinePixels.js.map +1 -1
  147. package/lib/cjs/Localization.d.ts +1 -0
  148. package/lib/cjs/Localization.d.ts.map +1 -1
  149. package/lib/cjs/Localization.js.map +1 -1
  150. package/lib/cjs/MassProperties.d.ts +27 -1
  151. package/lib/cjs/MassProperties.d.ts.map +1 -1
  152. package/lib/cjs/MassProperties.js +1 -0
  153. package/lib/cjs/MassProperties.js.map +1 -1
  154. package/lib/cjs/MaterialProps.d.ts +6 -0
  155. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  156. package/lib/cjs/MaterialProps.js +1 -0
  157. package/lib/cjs/MaterialProps.js.map +1 -1
  158. package/lib/cjs/ModelClipGroup.d.ts +1 -0
  159. package/lib/cjs/ModelClipGroup.d.ts.map +1 -1
  160. package/lib/cjs/ModelClipGroup.js.map +1 -1
  161. package/lib/cjs/ModelGeometryChanges.d.ts +9 -1
  162. package/lib/cjs/ModelGeometryChanges.d.ts.map +1 -1
  163. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  164. package/lib/cjs/ModelProps.d.ts +6 -0
  165. package/lib/cjs/ModelProps.d.ts.map +1 -1
  166. package/lib/cjs/ModelProps.js.map +1 -1
  167. package/lib/cjs/PlanProjectionSettings.d.ts +1 -0
  168. package/lib/cjs/PlanProjectionSettings.d.ts.map +1 -1
  169. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  170. package/lib/cjs/PlanarClipMask.d.ts +3 -0
  171. package/lib/cjs/PlanarClipMask.d.ts.map +1 -1
  172. package/lib/cjs/PlanarClipMask.js +2 -0
  173. package/lib/cjs/PlanarClipMask.js.map +1 -1
  174. package/lib/cjs/RgbColor.d.ts +1 -0
  175. package/lib/cjs/RgbColor.d.ts.map +1 -1
  176. package/lib/cjs/RgbColor.js.map +1 -1
  177. package/lib/cjs/SessionProps.d.ts +1 -0
  178. package/lib/cjs/SessionProps.d.ts.map +1 -1
  179. package/lib/cjs/SessionProps.js.map +1 -1
  180. package/lib/cjs/SkyBox.d.ts +4 -0
  181. package/lib/cjs/SkyBox.d.ts.map +1 -1
  182. package/lib/cjs/SkyBox.js +1 -0
  183. package/lib/cjs/SkyBox.js.map +1 -1
  184. package/lib/cjs/SolarShadows.d.ts +1 -0
  185. package/lib/cjs/SolarShadows.d.ts.map +1 -1
  186. package/lib/cjs/SolarShadows.js.map +1 -1
  187. package/lib/cjs/SpatialClassification.d.ts +5 -0
  188. package/lib/cjs/SpatialClassification.d.ts.map +1 -1
  189. package/lib/cjs/SpatialClassification.js +2 -0
  190. package/lib/cjs/SpatialClassification.js.map +1 -1
  191. package/lib/cjs/TerrainSettings.d.ts +3 -0
  192. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  193. package/lib/cjs/TerrainSettings.js +1 -0
  194. package/lib/cjs/TerrainSettings.js.map +1 -1
  195. package/lib/cjs/TextureProps.d.ts +3 -0
  196. package/lib/cjs/TextureProps.d.ts.map +1 -1
  197. package/lib/cjs/TextureProps.js.map +1 -1
  198. package/lib/cjs/ThematicDisplay.d.ts +9 -1
  199. package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
  200. package/lib/cjs/ThematicDisplay.js +5 -1
  201. package/lib/cjs/ThematicDisplay.js.map +1 -1
  202. package/lib/cjs/Thumbnail.d.ts +2 -0
  203. package/lib/cjs/Thumbnail.d.ts.map +1 -1
  204. package/lib/cjs/Thumbnail.js.map +1 -1
  205. package/lib/cjs/TileProps.d.ts +1 -0
  206. package/lib/cjs/TileProps.d.ts.map +1 -1
  207. package/lib/cjs/TileProps.js.map +1 -1
  208. package/lib/cjs/Tween.d.ts +16 -4
  209. package/lib/cjs/Tween.d.ts.map +1 -1
  210. package/lib/cjs/Tween.js.map +1 -1
  211. package/lib/cjs/TxnAction.d.ts +1 -0
  212. package/lib/cjs/TxnAction.d.ts.map +1 -1
  213. package/lib/cjs/TxnAction.js +1 -0
  214. package/lib/cjs/TxnAction.js.map +1 -1
  215. package/lib/cjs/ViewDetails.d.ts +3 -0
  216. package/lib/cjs/ViewDetails.d.ts.map +1 -1
  217. package/lib/cjs/ViewDetails.js +1 -0
  218. package/lib/cjs/ViewDetails.js.map +1 -1
  219. package/lib/cjs/ViewFlags.d.ts +4 -0
  220. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  221. package/lib/cjs/ViewFlags.js +1 -0
  222. package/lib/cjs/ViewFlags.js.map +1 -1
  223. package/lib/cjs/ViewProps.d.ts +69 -3
  224. package/lib/cjs/ViewProps.d.ts.map +1 -1
  225. package/lib/cjs/ViewProps.js.map +1 -1
  226. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +1 -0
  227. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts.map +1 -1
  228. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  229. package/lib/cjs/domains/FunctionalElementProps.d.ts +4 -1
  230. package/lib/cjs/domains/FunctionalElementProps.d.ts.map +1 -1
  231. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  232. package/lib/cjs/domains/GenericElementProps.d.ts +8 -2
  233. package/lib/cjs/domains/GenericElementProps.d.ts.map +1 -1
  234. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  235. package/lib/cjs/geometry/AdditionalTransform.d.ts +2 -0
  236. package/lib/cjs/geometry/AdditionalTransform.d.ts.map +1 -1
  237. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  238. package/lib/cjs/geometry/Cartographic.d.ts +1 -0
  239. package/lib/cjs/geometry/Cartographic.d.ts.map +1 -1
  240. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  241. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +5 -0
  242. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  243. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  244. package/lib/cjs/geometry/ElementGeometry.d.ts +2 -0
  245. package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
  246. package/lib/cjs/geometry/ElementGeometry.js +1 -0
  247. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  248. package/lib/cjs/geometry/GeodeticDatum.d.ts +80 -1
  249. package/lib/cjs/geometry/GeodeticDatum.d.ts.map +1 -1
  250. package/lib/cjs/geometry/GeodeticDatum.js +79 -1
  251. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  252. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +1 -0
  253. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts.map +1 -1
  254. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  255. package/lib/cjs/geometry/GeometryStream.d.ts +15 -0
  256. package/lib/cjs/geometry/GeometryStream.d.ts.map +1 -1
  257. package/lib/cjs/geometry/GeometryStream.js +11 -7
  258. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  259. package/lib/cjs/geometry/ImageGraphic.d.ts +2 -0
  260. package/lib/cjs/geometry/ImageGraphic.d.ts.map +1 -1
  261. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  262. package/lib/cjs/geometry/Placement.d.ts +6 -0
  263. package/lib/cjs/geometry/Placement.d.ts.map +1 -1
  264. package/lib/cjs/geometry/Placement.js.map +1 -1
  265. package/lib/cjs/geometry/Projection.d.ts +6 -0
  266. package/lib/cjs/geometry/Projection.d.ts.map +1 -1
  267. package/lib/cjs/geometry/Projection.js.map +1 -1
  268. package/lib/cjs/geometry/TextString.d.ts +1 -0
  269. package/lib/cjs/geometry/TextString.d.ts.map +1 -1
  270. package/lib/cjs/geometry/TextString.js.map +1 -1
  271. package/lib/cjs/ipc/IpcSocket.d.ts +1 -0
  272. package/lib/cjs/ipc/IpcSocket.d.ts.map +1 -1
  273. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  274. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts.map +1 -1
  275. package/lib/cjs/ipc/IpcWebSocketTransport.js +3 -2
  276. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  277. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +5 -2
  278. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  279. package/lib/cjs/rpc/IModelReadRpcInterface.js +4 -1
  280. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  281. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +4 -2
  282. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  283. package/lib/cjs/rpc/IModelTileRpcInterface.js +4 -2
  284. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  285. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  286. package/lib/cjs/rpc/core/RpcControl.js +3 -2
  287. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  288. package/lib/cjs/rpc/core/RpcInvocation.d.ts +3 -0
  289. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  290. package/lib/cjs/rpc/core/RpcInvocation.js +32 -1
  291. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  292. package/lib/cjs/rpc/core/RpcMarshaling.d.ts.map +1 -1
  293. package/lib/cjs/rpc/core/RpcMarshaling.js +2 -1
  294. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  295. package/lib/cjs/rpc/core/RpcOperation.d.ts +2 -0
  296. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  297. package/lib/cjs/rpc/core/RpcOperation.js +2 -0
  298. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  299. package/lib/cjs/rpc/core/RpcProtocol.d.ts +22 -1
  300. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  301. package/lib/cjs/rpc/core/RpcProtocol.js +13 -2
  302. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  303. package/lib/cjs/rpc/core/RpcRequest.d.ts +3 -0
  304. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  305. package/lib/cjs/rpc/core/RpcRequest.js +35 -1
  306. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  307. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  308. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +1 -2
  309. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  310. package/lib/cjs/rpc/web/RpcMultipart.d.ts +1 -0
  311. package/lib/cjs/rpc/web/RpcMultipart.d.ts.map +1 -1
  312. package/lib/cjs/rpc/web/RpcMultipart.js +2 -1
  313. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  314. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  315. package/lib/cjs/rpc/web/WebAppRpcLogging.js +14 -10
  316. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  317. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +1 -0
  318. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  319. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +3 -2
  320. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  321. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +5 -6
  322. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  323. package/lib/cjs/rpc/web/WebAppRpcRequest.js +49 -27
  324. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  325. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +1 -0
  326. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  327. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +4 -3
  328. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  329. package/lib/cjs/tile/ElementGraphics.d.ts +16 -2
  330. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  331. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  332. package/lib/cjs/tile/IModelTileIO.d.ts +2 -2
  333. package/lib/cjs/tile/IModelTileIO.js +2 -2
  334. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  335. package/lib/cjs/tile/TileMetadata.d.ts +18 -13
  336. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  337. package/lib/cjs/tile/TileMetadata.js +164 -134
  338. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  339. package/lib/esm/AnalysisStyle.d.ts +3 -0
  340. package/lib/esm/AnalysisStyle.d.ts.map +1 -1
  341. package/lib/esm/AnalysisStyle.js.map +1 -1
  342. package/lib/esm/BackgroundMapProvider.d.ts +6 -0
  343. package/lib/esm/BackgroundMapProvider.d.ts.map +1 -1
  344. package/lib/esm/BackgroundMapProvider.js +10 -0
  345. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  346. package/lib/esm/BackgroundMapSettings.d.ts +4 -0
  347. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  348. package/lib/esm/BackgroundMapSettings.js +1 -0
  349. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  350. package/lib/esm/Base64EncodedString.d.ts +1 -0
  351. package/lib/esm/Base64EncodedString.d.ts.map +1 -1
  352. package/lib/esm/Base64EncodedString.js.map +1 -1
  353. package/lib/esm/BriefcaseTypes.d.ts +5 -0
  354. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  355. package/lib/esm/BriefcaseTypes.js +2 -0
  356. package/lib/esm/BriefcaseTypes.js.map +1 -1
  357. package/lib/esm/Camera.d.ts +1 -0
  358. package/lib/esm/Camera.d.ts.map +1 -1
  359. package/lib/esm/Camera.js.map +1 -1
  360. package/lib/esm/ChangedElements.d.ts +2 -0
  361. package/lib/esm/ChangedElements.d.ts.map +1 -1
  362. package/lib/esm/ChangedElements.js +1 -0
  363. package/lib/esm/ChangedElements.js.map +1 -1
  364. package/lib/esm/ChangedEntities.d.ts +3 -0
  365. package/lib/esm/ChangedEntities.d.ts.map +1 -1
  366. package/lib/esm/ChangedEntities.js.map +1 -1
  367. package/lib/esm/ChangesetProps.d.ts +9 -1
  368. package/lib/esm/ChangesetProps.d.ts.map +1 -1
  369. package/lib/esm/ChangesetProps.js +3 -1
  370. package/lib/esm/ChangesetProps.js.map +1 -1
  371. package/lib/esm/ClipStyle.d.ts +2 -0
  372. package/lib/esm/ClipStyle.d.ts.map +1 -1
  373. package/lib/esm/ClipStyle.js.map +1 -1
  374. package/lib/esm/CloudStorage.d.ts.map +1 -1
  375. package/lib/esm/CloudStorage.js +14 -20
  376. package/lib/esm/CloudStorage.js.map +1 -1
  377. package/lib/esm/Code.d.ts +3 -0
  378. package/lib/esm/Code.d.ts.map +1 -1
  379. package/lib/esm/Code.js +1 -0
  380. package/lib/esm/Code.js.map +1 -1
  381. package/lib/esm/ColorByName.d.ts +153 -152
  382. package/lib/esm/ColorByName.d.ts.map +1 -1
  383. package/lib/esm/ColorByName.js +153 -153
  384. package/lib/esm/ColorByName.js.map +1 -1
  385. package/lib/esm/ColorDef.d.ts +55 -46
  386. package/lib/esm/ColorDef.d.ts.map +1 -1
  387. package/lib/esm/ColorDef.js +49 -31
  388. package/lib/esm/ColorDef.js.map +1 -1
  389. package/lib/esm/CommonLoggerCategory.d.ts +1 -0
  390. package/lib/esm/CommonLoggerCategory.d.ts.map +1 -1
  391. package/lib/esm/CommonLoggerCategory.js +1 -0
  392. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  393. package/lib/esm/ConcurrentQuery.d.ts +6 -1
  394. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  395. package/lib/esm/ConcurrentQuery.js +2 -0
  396. package/lib/esm/ConcurrentQuery.js.map +1 -1
  397. package/lib/esm/ContextRealityModel.d.ts +2 -0
  398. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  399. package/lib/esm/ContextRealityModel.js.map +1 -1
  400. package/lib/esm/DisplayStyleSettings.d.ts +10 -0
  401. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  402. package/lib/esm/DisplayStyleSettings.js +1 -0
  403. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  404. package/lib/esm/ECSqlTypes.d.ts +6 -0
  405. package/lib/esm/ECSqlTypes.d.ts.map +1 -1
  406. package/lib/esm/ECSqlTypes.js +4 -0
  407. package/lib/esm/ECSqlTypes.js.map +1 -1
  408. package/lib/esm/ElementProps.d.ts +37 -1
  409. package/lib/esm/ElementProps.d.ts.map +1 -1
  410. package/lib/esm/ElementProps.js +2 -0
  411. package/lib/esm/ElementProps.js.map +1 -1
  412. package/lib/esm/EmphasizeElementsProps.d.ts +3 -0
  413. package/lib/esm/EmphasizeElementsProps.d.ts.map +1 -1
  414. package/lib/esm/EmphasizeElementsProps.js +1 -0
  415. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  416. package/lib/esm/EntityProps.d.ts +4 -0
  417. package/lib/esm/EntityProps.d.ts.map +1 -1
  418. package/lib/esm/EntityProps.js.map +1 -1
  419. package/lib/esm/Environment.d.ts +1 -0
  420. package/lib/esm/Environment.d.ts.map +1 -1
  421. package/lib/esm/Environment.js.map +1 -1
  422. package/lib/esm/FeatureSymbology.d.ts +3 -0
  423. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  424. package/lib/esm/FeatureSymbology.js.map +1 -1
  425. package/lib/esm/FeatureTable.d.ts +1 -0
  426. package/lib/esm/FeatureTable.d.ts.map +1 -1
  427. package/lib/esm/FeatureTable.js +1 -0
  428. package/lib/esm/FeatureTable.js.map +1 -1
  429. package/lib/esm/Fonts.d.ts +3 -0
  430. package/lib/esm/Fonts.d.ts.map +1 -1
  431. package/lib/esm/Fonts.js +1 -0
  432. package/lib/esm/Fonts.js.map +1 -1
  433. package/lib/esm/Frustum.d.ts +1 -0
  434. package/lib/esm/Frustum.d.ts.map +1 -1
  435. package/lib/esm/Frustum.js +1 -0
  436. package/lib/esm/Frustum.js.map +1 -1
  437. package/lib/esm/GeoCoordinateServices.d.ts +1 -0
  438. package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
  439. package/lib/esm/GeoCoordinateServices.js +1 -0
  440. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  441. package/lib/esm/GeometryContainment.d.ts +2 -0
  442. package/lib/esm/GeometryContainment.d.ts.map +1 -1
  443. package/lib/esm/GeometryContainment.js.map +1 -1
  444. package/lib/esm/GeometryParams.d.ts +3 -0
  445. package/lib/esm/GeometryParams.d.ts.map +1 -1
  446. package/lib/esm/GeometryParams.js +3 -0
  447. package/lib/esm/GeometryParams.js.map +1 -1
  448. package/lib/esm/GeometrySummary.d.ts +3 -0
  449. package/lib/esm/GeometrySummary.d.ts.map +1 -1
  450. package/lib/esm/GeometrySummary.js +1 -0
  451. package/lib/esm/GeometrySummary.js.map +1 -1
  452. package/lib/esm/GraphicParams.d.ts +1 -0
  453. package/lib/esm/GraphicParams.d.ts.map +1 -1
  454. package/lib/esm/GraphicParams.js +1 -0
  455. package/lib/esm/GraphicParams.js.map +1 -1
  456. package/lib/esm/GroundPlane.d.ts +1 -0
  457. package/lib/esm/GroundPlane.d.ts.map +1 -1
  458. package/lib/esm/GroundPlane.js.map +1 -1
  459. package/lib/esm/HSVColor.d.ts +4 -1
  460. package/lib/esm/HSVColor.d.ts.map +1 -1
  461. package/lib/esm/HSVColor.js +4 -1
  462. package/lib/esm/HSVColor.js.map +1 -1
  463. package/lib/esm/HiddenLine.d.ts +12 -17
  464. package/lib/esm/HiddenLine.d.ts.map +1 -1
  465. package/lib/esm/HiddenLine.js +6 -2
  466. package/lib/esm/HiddenLine.js.map +1 -1
  467. package/lib/esm/IModel.d.ts +6 -1
  468. package/lib/esm/IModel.d.ts.map +1 -1
  469. package/lib/esm/IModel.js.map +1 -1
  470. package/lib/esm/Image.d.ts +2 -0
  471. package/lib/esm/Image.d.ts.map +1 -1
  472. package/lib/esm/Image.js +2 -0
  473. package/lib/esm/Image.js.map +1 -1
  474. package/lib/esm/IpcAppProps.d.ts +1 -0
  475. package/lib/esm/IpcAppProps.d.ts.map +1 -1
  476. package/lib/esm/IpcAppProps.js.map +1 -1
  477. package/lib/esm/LightSettings.d.ts +5 -0
  478. package/lib/esm/LightSettings.d.ts.map +1 -1
  479. package/lib/esm/LightSettings.js.map +1 -1
  480. package/lib/esm/LinePixels.d.ts +1 -0
  481. package/lib/esm/LinePixels.d.ts.map +1 -1
  482. package/lib/esm/LinePixels.js +1 -0
  483. package/lib/esm/LinePixels.js.map +1 -1
  484. package/lib/esm/Localization.d.ts +1 -0
  485. package/lib/esm/Localization.d.ts.map +1 -1
  486. package/lib/esm/Localization.js.map +1 -1
  487. package/lib/esm/MassProperties.d.ts +27 -1
  488. package/lib/esm/MassProperties.d.ts.map +1 -1
  489. package/lib/esm/MassProperties.js +1 -0
  490. package/lib/esm/MassProperties.js.map +1 -1
  491. package/lib/esm/MaterialProps.d.ts +6 -0
  492. package/lib/esm/MaterialProps.d.ts.map +1 -1
  493. package/lib/esm/MaterialProps.js +1 -0
  494. package/lib/esm/MaterialProps.js.map +1 -1
  495. package/lib/esm/ModelClipGroup.d.ts +1 -0
  496. package/lib/esm/ModelClipGroup.d.ts.map +1 -1
  497. package/lib/esm/ModelClipGroup.js.map +1 -1
  498. package/lib/esm/ModelGeometryChanges.d.ts +9 -1
  499. package/lib/esm/ModelGeometryChanges.d.ts.map +1 -1
  500. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  501. package/lib/esm/ModelProps.d.ts +6 -0
  502. package/lib/esm/ModelProps.d.ts.map +1 -1
  503. package/lib/esm/ModelProps.js.map +1 -1
  504. package/lib/esm/PlanProjectionSettings.d.ts +1 -0
  505. package/lib/esm/PlanProjectionSettings.d.ts.map +1 -1
  506. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  507. package/lib/esm/PlanarClipMask.d.ts +3 -0
  508. package/lib/esm/PlanarClipMask.d.ts.map +1 -1
  509. package/lib/esm/PlanarClipMask.js +2 -0
  510. package/lib/esm/PlanarClipMask.js.map +1 -1
  511. package/lib/esm/RgbColor.d.ts +1 -0
  512. package/lib/esm/RgbColor.d.ts.map +1 -1
  513. package/lib/esm/RgbColor.js.map +1 -1
  514. package/lib/esm/SessionProps.d.ts +1 -0
  515. package/lib/esm/SessionProps.d.ts.map +1 -1
  516. package/lib/esm/SessionProps.js.map +1 -1
  517. package/lib/esm/SkyBox.d.ts +4 -0
  518. package/lib/esm/SkyBox.d.ts.map +1 -1
  519. package/lib/esm/SkyBox.js +1 -0
  520. package/lib/esm/SkyBox.js.map +1 -1
  521. package/lib/esm/SolarShadows.d.ts +1 -0
  522. package/lib/esm/SolarShadows.d.ts.map +1 -1
  523. package/lib/esm/SolarShadows.js.map +1 -1
  524. package/lib/esm/SpatialClassification.d.ts +5 -0
  525. package/lib/esm/SpatialClassification.d.ts.map +1 -1
  526. package/lib/esm/SpatialClassification.js +2 -0
  527. package/lib/esm/SpatialClassification.js.map +1 -1
  528. package/lib/esm/TerrainSettings.d.ts +3 -0
  529. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  530. package/lib/esm/TerrainSettings.js +1 -0
  531. package/lib/esm/TerrainSettings.js.map +1 -1
  532. package/lib/esm/TextureProps.d.ts +3 -0
  533. package/lib/esm/TextureProps.d.ts.map +1 -1
  534. package/lib/esm/TextureProps.js.map +1 -1
  535. package/lib/esm/ThematicDisplay.d.ts +9 -1
  536. package/lib/esm/ThematicDisplay.d.ts.map +1 -1
  537. package/lib/esm/ThematicDisplay.js +5 -1
  538. package/lib/esm/ThematicDisplay.js.map +1 -1
  539. package/lib/esm/Thumbnail.d.ts +2 -0
  540. package/lib/esm/Thumbnail.d.ts.map +1 -1
  541. package/lib/esm/Thumbnail.js.map +1 -1
  542. package/lib/esm/TileProps.d.ts +1 -0
  543. package/lib/esm/TileProps.d.ts.map +1 -1
  544. package/lib/esm/TileProps.js.map +1 -1
  545. package/lib/esm/Tween.d.ts +16 -4
  546. package/lib/esm/Tween.d.ts.map +1 -1
  547. package/lib/esm/Tween.js.map +1 -1
  548. package/lib/esm/TxnAction.d.ts +1 -0
  549. package/lib/esm/TxnAction.d.ts.map +1 -1
  550. package/lib/esm/TxnAction.js +1 -0
  551. package/lib/esm/TxnAction.js.map +1 -1
  552. package/lib/esm/ViewDetails.d.ts +3 -0
  553. package/lib/esm/ViewDetails.d.ts.map +1 -1
  554. package/lib/esm/ViewDetails.js +1 -0
  555. package/lib/esm/ViewDetails.js.map +1 -1
  556. package/lib/esm/ViewFlags.d.ts +4 -0
  557. package/lib/esm/ViewFlags.d.ts.map +1 -1
  558. package/lib/esm/ViewFlags.js +1 -0
  559. package/lib/esm/ViewFlags.js.map +1 -1
  560. package/lib/esm/ViewProps.d.ts +69 -3
  561. package/lib/esm/ViewProps.d.ts.map +1 -1
  562. package/lib/esm/ViewProps.js.map +1 -1
  563. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +1 -0
  564. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts.map +1 -1
  565. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  566. package/lib/esm/domains/FunctionalElementProps.d.ts +4 -1
  567. package/lib/esm/domains/FunctionalElementProps.d.ts.map +1 -1
  568. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  569. package/lib/esm/domains/GenericElementProps.d.ts +8 -2
  570. package/lib/esm/domains/GenericElementProps.d.ts.map +1 -1
  571. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  572. package/lib/esm/geometry/AdditionalTransform.d.ts +2 -0
  573. package/lib/esm/geometry/AdditionalTransform.d.ts.map +1 -1
  574. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  575. package/lib/esm/geometry/Cartographic.d.ts +1 -0
  576. package/lib/esm/geometry/Cartographic.d.ts.map +1 -1
  577. package/lib/esm/geometry/Cartographic.js.map +1 -1
  578. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +5 -0
  579. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  580. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  581. package/lib/esm/geometry/ElementGeometry.d.ts +2 -0
  582. package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
  583. package/lib/esm/geometry/ElementGeometry.js +1 -0
  584. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  585. package/lib/esm/geometry/GeodeticDatum.d.ts +80 -1
  586. package/lib/esm/geometry/GeodeticDatum.d.ts.map +1 -1
  587. package/lib/esm/geometry/GeodeticDatum.js +77 -0
  588. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  589. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +1 -0
  590. package/lib/esm/geometry/GeodeticEllipsoid.d.ts.map +1 -1
  591. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  592. package/lib/esm/geometry/GeometryStream.d.ts +15 -0
  593. package/lib/esm/geometry/GeometryStream.d.ts.map +1 -1
  594. package/lib/esm/geometry/GeometryStream.js +11 -7
  595. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  596. package/lib/esm/geometry/ImageGraphic.d.ts +2 -0
  597. package/lib/esm/geometry/ImageGraphic.d.ts.map +1 -1
  598. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  599. package/lib/esm/geometry/Placement.d.ts +6 -0
  600. package/lib/esm/geometry/Placement.d.ts.map +1 -1
  601. package/lib/esm/geometry/Placement.js.map +1 -1
  602. package/lib/esm/geometry/Projection.d.ts +6 -0
  603. package/lib/esm/geometry/Projection.d.ts.map +1 -1
  604. package/lib/esm/geometry/Projection.js.map +1 -1
  605. package/lib/esm/geometry/TextString.d.ts +1 -0
  606. package/lib/esm/geometry/TextString.d.ts.map +1 -1
  607. package/lib/esm/geometry/TextString.js.map +1 -1
  608. package/lib/esm/ipc/IpcSocket.d.ts +1 -0
  609. package/lib/esm/ipc/IpcSocket.d.ts.map +1 -1
  610. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  611. package/lib/esm/ipc/IpcWebSocketTransport.d.ts.map +1 -1
  612. package/lib/esm/ipc/IpcWebSocketTransport.js +1 -0
  613. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  614. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +5 -2
  615. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  616. package/lib/esm/rpc/IModelReadRpcInterface.js +4 -1
  617. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  618. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +4 -2
  619. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  620. package/lib/esm/rpc/IModelTileRpcInterface.js +4 -2
  621. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  622. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  623. package/lib/esm/rpc/core/RpcControl.js +1 -0
  624. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  625. package/lib/esm/rpc/core/RpcInvocation.d.ts +3 -0
  626. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  627. package/lib/esm/rpc/core/RpcInvocation.js +34 -3
  628. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  629. package/lib/esm/rpc/core/RpcMarshaling.d.ts.map +1 -1
  630. package/lib/esm/rpc/core/RpcMarshaling.js +1 -0
  631. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  632. package/lib/esm/rpc/core/RpcOperation.d.ts +2 -0
  633. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  634. package/lib/esm/rpc/core/RpcOperation.js +2 -0
  635. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  636. package/lib/esm/rpc/core/RpcProtocol.d.ts +22 -1
  637. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  638. package/lib/esm/rpc/core/RpcProtocol.js +12 -1
  639. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  640. package/lib/esm/rpc/core/RpcRequest.d.ts +3 -0
  641. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  642. package/lib/esm/rpc/core/RpcRequest.js +36 -2
  643. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  644. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  645. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +0 -1
  646. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  647. package/lib/esm/rpc/web/RpcMultipart.d.ts +1 -0
  648. package/lib/esm/rpc/web/RpcMultipart.d.ts.map +1 -1
  649. package/lib/esm/rpc/web/RpcMultipart.js +1 -0
  650. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  651. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts.map +1 -1
  652. package/lib/esm/rpc/web/WebAppRpcLogging.js +14 -10
  653. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  654. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +1 -0
  655. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  656. package/lib/esm/rpc/web/WebAppRpcProtocol.js +3 -2
  657. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  658. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +5 -6
  659. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  660. package/lib/esm/rpc/web/WebAppRpcRequest.js +47 -25
  661. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  662. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +1 -0
  663. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  664. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +1 -0
  665. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  666. package/lib/esm/tile/ElementGraphics.d.ts +16 -2
  667. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  668. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  669. package/lib/esm/tile/IModelTileIO.d.ts +2 -2
  670. package/lib/esm/tile/IModelTileIO.js +2 -2
  671. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  672. package/lib/esm/tile/TileMetadata.d.ts +18 -13
  673. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  674. package/lib/esm/tile/TileMetadata.js +163 -133
  675. package/lib/esm/tile/TileMetadata.js.map +1 -1
  676. package/package.json +25 -12
@@ -1 +1 @@
1
- {"version":3,"file":"Placement.js","sourceRoot":"","sources":["../../../src/geometry/Placement.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\r\nimport { IModelStatus } from \"@itwin/core-bentley\";\r\nimport {\r\n Angle, Constant, Matrix3d, Point2d, Point3d, Range2d, Range3d, Range3dProps, Transform, Vector3d, YawPitchRollAngles,\r\n} from \"@itwin/core-geometry\";\r\nimport { Placement2dProps, Placement3dProps } from \"../ElementProps\";\r\nimport { Frustum } from \"../Frustum\";\r\nimport { IModelError } from \"../IModelError\";\r\n\r\n/** A Range3d that is aligned with the axes of spatial coordinates.\r\n * @public\r\n */\r\nexport type AxisAlignedBox3d = Range3d;\r\n\r\n/** The properties of a Range3d.\r\n * @public\r\n */\r\nexport type AxisAlignedBox3dProps = Range3dProps;\r\n\r\n/** A bounding box aligned to the orientation of a 3d Element\r\n * @public\r\n */\r\nexport type ElementAlignedBox3d = Range3d;\r\n\r\n/** A bounding box aligned to the orientation of a 2d Element\r\n * @public\r\n */\r\nexport type ElementAlignedBox2d = Range2d;\r\n\r\n/** A bounding box aligned to a local coordinate system\r\n * @public\r\n */\r\nexport type LocalAlignedBox3d = Range3d;\r\n\r\n/** Either a Placement2d or Placement3d\r\n * @public\r\n */\r\nexport type Placement = Placement2d | Placement3d;\r\n\r\n/** The placement of a GeometricElement3d. This includes the origin, orientation, and size (bounding box) of the element.\r\n * All geometry of a GeometricElement are relative to its placement.\r\n * @public\r\n */\r\nexport class Placement3d implements Placement3dProps {\r\n public constructor(public origin: Point3d, public angles: YawPitchRollAngles, public bbox: ElementAlignedBox3d) { }\r\n /** Get the rotation from local coordinates of this placement to world coordinates. */\r\n public get rotation(): Matrix3d { return this.angles.toMatrix3d(); }\r\n /** Get the transform from local coordinates of this placement to world coordinates. */\r\n public get transform(): Transform { return Transform.createOriginAndMatrix(this.origin, this.rotation); }\r\n /** determine if this is 3d placement */\r\n public get is3d(): boolean { return true; }\r\n\r\n /** Create a new Placement3d from a Placement3dProps. */\r\n public static fromJSON(json?: Placement3dProps): Placement3d {\r\n const props: any = json ? json : {};\r\n return new Placement3d(Point3d.fromJSON(props.origin), YawPitchRollAngles.fromJSON(props.angles), Range3d.fromJSON<ElementAlignedBox3d>(props.bbox));\r\n }\r\n\r\n /** Get the 8 corners, in world coordinates, of this placement. */\r\n public getWorldCorners(out?: Frustum): Frustum {\r\n const frust = Frustum.fromRange(this.bbox, out);\r\n frust.multiply(this.transform);\r\n return frust;\r\n }\r\n\r\n /** Set the contents of this Placement3d from another Placement3d */\r\n public setFrom(other: Placement3d) {\r\n this.origin.setFrom(other.origin);\r\n this.angles.setFrom(other.angles);\r\n this.bbox.setFrom(other.bbox);\r\n }\r\n\r\n /** Determine whether this Placement3d is valid. */\r\n public get isValid(): boolean { return !this.bbox.isNull && Math.max(this.origin.maxAbs(), this.bbox.maxAbs()) < Constant.circumferenceOfEarth; }\r\n\r\n /** Calculate the axis-aligned bounding box for this placement. */\r\n public calculateRange(): AxisAlignedBox3d {\r\n const range = new Range3d();\r\n if (!this.isValid)\r\n return range;\r\n\r\n this.transform.multiplyRange(this.bbox, range);\r\n\r\n // low and high are not allowed to be equal\r\n range.ensureMinLengths();\r\n return range;\r\n }\r\n\r\n /** Multiply the Transform of this Placement3d by the specified *other* Transform.\r\n * @throws [[IModelError]] if the Transform is invalid for a GeometricElement3d.\r\n */\r\n public multiplyTransform(other: Transform): void {\r\n const transform = other.multiplyTransformTransform(this.transform);\r\n const angles = YawPitchRollAngles.createFromMatrix3d(transform.matrix);\r\n if (undefined === angles)\r\n throw new IModelError(IModelStatus.BadRequest, \"Invalid Transform\");\r\n\r\n this.angles = angles;\r\n this.origin.setFrom(transform.origin);\r\n }\r\n}\r\n\r\n/** The placement of a GeometricElement2d. This includes the origin, rotation, and size (bounding box) of the element.\r\n * @public\r\n */\r\nexport class Placement2d implements Placement2dProps {\r\n public constructor(public origin: Point2d, public angle: Angle, public bbox: ElementAlignedBox2d) { }\r\n /** Get the rotation from local coordinates of this placement to world coordinates. */\r\n public get rotation(): Matrix3d { return Matrix3d.createRotationAroundVector(Vector3d.unitZ(), this.angle)!; }\r\n /** Get the transform from local coordinates of this placement to world coordinates. */\r\n public get transform(): Transform { return Transform.createOriginAndMatrix(Point3d.createFrom(this.origin), this.rotation); }\r\n /** Create a new Placement2d from a Placement2dProps. */\r\n public static fromJSON(json?: Placement2dProps): Placement2d {\r\n const props: any = json ? json : {};\r\n return new Placement2d(Point2d.fromJSON(props.origin), Angle.fromJSON(props.angle), Range2d.fromJSON(props.bbox));\r\n }\r\n /** determine if this is 3d placement */\r\n public get is3d(): boolean { return false; }\r\n\r\n /** Get the 8 corners, in world coordinates, of this placement. */\r\n public getWorldCorners(out?: Frustum): Frustum {\r\n const frust = Frustum.fromRange(this.bbox, out);\r\n frust.multiply(this.transform);\r\n return frust;\r\n }\r\n\r\n /** Determine whether this Placement2d is valid. */\r\n public get isValid(): boolean { return !this.bbox.isNull && Math.max(this.origin.maxAbs(), this.bbox.maxAbs()) < Constant.circumferenceOfEarth; }\r\n\r\n /** Set the contents of this Placement2d from another Placement2d */\r\n public setFrom(other: Placement2d) {\r\n this.origin.setFrom(other.origin);\r\n this.angle.setFrom(other.angle);\r\n this.bbox.setFrom(other.bbox);\r\n }\r\n\r\n /** Calculate the axis-aligned bounding box for this placement. */\r\n public calculateRange(): AxisAlignedBox3d {\r\n const range = new Range3d();\r\n if (!this.isValid)\r\n return range;\r\n\r\n this.transform.multiplyRange(Range3d.createRange2d(this.bbox, 0), range);\r\n\r\n // low and high are not allowed to be equal\r\n range.ensureMinLengths();\r\n range.low.z = - 1.0; // is the 2dFrustumDepth, which === 1 meter\r\n range.high.z = 1.0;\r\n return range;\r\n }\r\n\r\n /** Multiply the Transform of this Placement2d by the specified *other* Transform.\r\n * @throws [[IModelError]] if the Transform is invalid for a GeometricElement2d.\r\n */\r\n public multiplyTransform(other: Transform): void {\r\n const transform = other.multiplyTransformTransform(this.transform);\r\n const angles = YawPitchRollAngles.createFromMatrix3d(transform.matrix);\r\n if ((undefined === angles) || !angles.pitch.isAlmostZero || !angles.roll.isAlmostZero)\r\n throw new IModelError(IModelStatus.BadRequest, \"Invalid Transform\");\r\n\r\n this.angle = angles.yaw;\r\n this.origin.setFrom(transform.origin);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Placement.js","sourceRoot":"","sources":["../../../src/geometry/Placement.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\r\nimport { IModelStatus } from \"@itwin/core-bentley\";\r\nimport {\r\n Angle, Constant, Matrix3d, Point2d, Point3d, Range2d, Range3d, Range3dProps, Transform, Vector3d, YawPitchRollAngles,\r\n} from \"@itwin/core-geometry\";\r\nimport { Placement2dProps, Placement3dProps } from \"../ElementProps\";\r\nimport { Frustum } from \"../Frustum\";\r\nimport { IModelError } from \"../IModelError\";\r\n\r\n/** A Range3d that is aligned with the axes of spatial coordinates.\r\n * @public\r\n * @extensions\r\n */\r\nexport type AxisAlignedBox3d = Range3d;\r\n\r\n/** The properties of a Range3d.\r\n * @public\r\n * @extensions\r\n */\r\nexport type AxisAlignedBox3dProps = Range3dProps;\r\n\r\n/** A bounding box aligned to the orientation of a 3d Element\r\n * @public\r\n * @extensions\r\n */\r\nexport type ElementAlignedBox3d = Range3d;\r\n\r\n/** A bounding box aligned to the orientation of a 2d Element\r\n * @public\r\n * @extensions\r\n */\r\nexport type ElementAlignedBox2d = Range2d;\r\n\r\n/** A bounding box aligned to a local coordinate system\r\n * @public\r\n * @extensions\r\n */\r\nexport type LocalAlignedBox3d = Range3d;\r\n\r\n/** Either a Placement2d or Placement3d\r\n * @public\r\n * @extensions\r\n */\r\nexport type Placement = Placement2d | Placement3d;\r\n\r\n/** The placement of a GeometricElement3d. This includes the origin, orientation, and size (bounding box) of the element.\r\n * All geometry of a GeometricElement are relative to its placement.\r\n * @public\r\n */\r\nexport class Placement3d implements Placement3dProps {\r\n public constructor(public origin: Point3d, public angles: YawPitchRollAngles, public bbox: ElementAlignedBox3d) { }\r\n /** Get the rotation from local coordinates of this placement to world coordinates. */\r\n public get rotation(): Matrix3d { return this.angles.toMatrix3d(); }\r\n /** Get the transform from local coordinates of this placement to world coordinates. */\r\n public get transform(): Transform { return Transform.createOriginAndMatrix(this.origin, this.rotation); }\r\n /** determine if this is 3d placement */\r\n public get is3d(): boolean { return true; }\r\n\r\n /** Create a new Placement3d from a Placement3dProps. */\r\n public static fromJSON(json?: Placement3dProps): Placement3d {\r\n const props: any = json ? json : {};\r\n return new Placement3d(Point3d.fromJSON(props.origin), YawPitchRollAngles.fromJSON(props.angles), Range3d.fromJSON<ElementAlignedBox3d>(props.bbox));\r\n }\r\n\r\n /** Get the 8 corners, in world coordinates, of this placement. */\r\n public getWorldCorners(out?: Frustum): Frustum {\r\n const frust = Frustum.fromRange(this.bbox, out);\r\n frust.multiply(this.transform);\r\n return frust;\r\n }\r\n\r\n /** Set the contents of this Placement3d from another Placement3d */\r\n public setFrom(other: Placement3d) {\r\n this.origin.setFrom(other.origin);\r\n this.angles.setFrom(other.angles);\r\n this.bbox.setFrom(other.bbox);\r\n }\r\n\r\n /** Determine whether this Placement3d is valid. */\r\n public get isValid(): boolean { return !this.bbox.isNull && Math.max(this.origin.maxAbs(), this.bbox.maxAbs()) < Constant.circumferenceOfEarth; }\r\n\r\n /** Calculate the axis-aligned bounding box for this placement. */\r\n public calculateRange(): AxisAlignedBox3d {\r\n const range = new Range3d();\r\n if (!this.isValid)\r\n return range;\r\n\r\n this.transform.multiplyRange(this.bbox, range);\r\n\r\n // low and high are not allowed to be equal\r\n range.ensureMinLengths();\r\n return range;\r\n }\r\n\r\n /** Multiply the Transform of this Placement3d by the specified *other* Transform.\r\n * @throws [[IModelError]] if the Transform is invalid for a GeometricElement3d.\r\n */\r\n public multiplyTransform(other: Transform): void {\r\n const transform = other.multiplyTransformTransform(this.transform);\r\n const angles = YawPitchRollAngles.createFromMatrix3d(transform.matrix);\r\n if (undefined === angles)\r\n throw new IModelError(IModelStatus.BadRequest, \"Invalid Transform\");\r\n\r\n this.angles = angles;\r\n this.origin.setFrom(transform.origin);\r\n }\r\n}\r\n\r\n/** The placement of a GeometricElement2d. This includes the origin, rotation, and size (bounding box) of the element.\r\n * @public\r\n */\r\nexport class Placement2d implements Placement2dProps {\r\n public constructor(public origin: Point2d, public angle: Angle, public bbox: ElementAlignedBox2d) { }\r\n /** Get the rotation from local coordinates of this placement to world coordinates. */\r\n public get rotation(): Matrix3d { return Matrix3d.createRotationAroundVector(Vector3d.unitZ(), this.angle)!; }\r\n /** Get the transform from local coordinates of this placement to world coordinates. */\r\n public get transform(): Transform { return Transform.createOriginAndMatrix(Point3d.createFrom(this.origin), this.rotation); }\r\n /** Create a new Placement2d from a Placement2dProps. */\r\n public static fromJSON(json?: Placement2dProps): Placement2d {\r\n const props: any = json ? json : {};\r\n return new Placement2d(Point2d.fromJSON(props.origin), Angle.fromJSON(props.angle), Range2d.fromJSON(props.bbox));\r\n }\r\n /** determine if this is 3d placement */\r\n public get is3d(): boolean { return false; }\r\n\r\n /** Get the 8 corners, in world coordinates, of this placement. */\r\n public getWorldCorners(out?: Frustum): Frustum {\r\n const frust = Frustum.fromRange(this.bbox, out);\r\n frust.multiply(this.transform);\r\n return frust;\r\n }\r\n\r\n /** Determine whether this Placement2d is valid. */\r\n public get isValid(): boolean { return !this.bbox.isNull && Math.max(this.origin.maxAbs(), this.bbox.maxAbs()) < Constant.circumferenceOfEarth; }\r\n\r\n /** Set the contents of this Placement2d from another Placement2d */\r\n public setFrom(other: Placement2d) {\r\n this.origin.setFrom(other.origin);\r\n this.angle.setFrom(other.angle);\r\n this.bbox.setFrom(other.bbox);\r\n }\r\n\r\n /** Calculate the axis-aligned bounding box for this placement. */\r\n public calculateRange(): AxisAlignedBox3d {\r\n const range = new Range3d();\r\n if (!this.isValid)\r\n return range;\r\n\r\n this.transform.multiplyRange(Range3d.createRange2d(this.bbox, 0), range);\r\n\r\n // low and high are not allowed to be equal\r\n range.ensureMinLengths();\r\n range.low.z = - 1.0; // is the 2dFrustumDepth, which === 1 meter\r\n range.high.z = 1.0;\r\n return range;\r\n }\r\n\r\n /** Multiply the Transform of this Placement2d by the specified *other* Transform.\r\n * @throws [[IModelError]] if the Transform is invalid for a GeometricElement2d.\r\n */\r\n public multiplyTransform(other: Transform): void {\r\n const transform = other.multiplyTransformTransform(this.transform);\r\n const angles = YawPitchRollAngles.createFromMatrix3d(transform.matrix);\r\n if ((undefined === angles) || !angles.pitch.isAlmostZero || !angles.roll.isAlmostZero)\r\n throw new IModelError(IModelStatus.BadRequest, \"Invalid Transform\");\r\n\r\n this.angle = angles.yaw;\r\n this.origin.setFrom(transform.origin);\r\n }\r\n}\r\n"]}
@@ -6,6 +6,7 @@
6
6
  * with units as degrees.
7
7
  * All other projection indicated a projected CRS.
8
8
  * @public
9
+ * @extensions
9
10
  */
10
11
  export declare type ProjectionMethod = "None" | "TransverseMercator" | "SouthOrientedTransverseMercator" | "TransverseMercatorWisconsin" | "TransverseMercatorMinnesota" | "TransverseMercatorAffine" | "MercatorStandardParallel" | "Mercator" | "UniversalTransverseMercator" | "LambertConformalConicTwoParallels" | "LambertConformalConicBelgium" | "LambertConformalConicAffine" | "LambertConformalConicWisconsin" | "LambertConformalConicMinnesota" | "LambertConformalConicMichigan" | "LambertConformalConicOneParallel" | "AlbersEqualArea" | "NewZealandNationalGrid" | "ObliqueMercator1" | "ObliqueMercator2" | "TransverseMercatorOSTN97" | "TransverseMercatorOSTN02" | "TransverseMercatorOSTN15" | "Krovak" | "KrovakModified" | "ObliqueCylindricalSwiss" | "TransverseMercatorDenmarkSystem34" | "TransverseMercatorDenmarkSystem3499" | "TransverseMercatorDenmarkSystem3401" | "Cassini" | "Sinusoidal" | "VanDerGrinten" | "Bonne" | "Mollweide" | "EckertIV" | "EckertVI" | "GoodeHomolosine" | "Robinson" | "PlateCarree" | "MillerCylindrical" | "WinkelTripel" | "AzimuthalEqualArea" | "ObliqueStereographic" | "RectifiedSkewOrthomorphicCentered" | "RectifiedSkewOrthomorphicOrigin" | "ObliqueCylindricalHungary" | "Orthographic" | "AmericanPolyconic" | "LambertEquidistantAzimuthal" | "ObliqueMercatorMinnesota";
11
12
  /** The equations are:
@@ -13,6 +14,7 @@ export declare type ProjectionMethod = "None" | "TransverseMercator" | "SouthOri
13
14
  * Y1 = b1*X + b2*Y + translationY
14
15
  * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.
15
16
  * @public
17
+ * @extensions
16
18
  */
17
19
  export interface AffineTransformProps {
18
20
  /** The X post translation */
@@ -61,15 +63,18 @@ export declare class AffineTransform implements AffineTransformProps {
61
63
  /** Type used in the definition of UTM Zoning projection. This projection only requires a zone number and
62
64
  * the hemisphere North or South.
63
65
  * @public
66
+ * @extensions
64
67
  */
65
68
  export declare type HemisphereEnum = "South" | "North";
66
69
  /** The type to define the three zones of the Danish System 34 projections.
67
70
  * @public
71
+ * @extensions
68
72
  */
69
73
  export declare type DanishSystem34Region = "Jylland" | "Sjaelland" | "Bornholm";
70
74
  /** This class encapsulates the projection of the CRS. The projection relies on a projection method
71
75
  * and a set of projection parameters specific to projection method selected.
72
76
  * @public
77
+ * @extensions
73
78
  */
74
79
  export interface ProjectionProps {
75
80
  /** The projection method. */
@@ -214,6 +219,7 @@ export declare class Projection implements ProjectionProps {
214
219
  }
215
220
  /** A 2D cartographic point in degrees
216
221
  * @public
222
+ * @extensions
217
223
  */
218
224
  export interface Carto2DDegreesProps {
219
225
  /** Latitude value in degrees */
@@ -1 +1 @@
1
- {"version":3,"file":"Projection.d.ts","sourceRoot":"","sources":["../../../src/geometry/Projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Projection.d.ts","sourceRoot":"","sources":["../../../src/geometry/Projection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Projection.js","sourceRoot":"","sources":["../../../src/geometry/Projection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Geometry\r\n */\r\n// cspell:ignore Albers, Krovak, OSTN, Cassini, Grinten, Mollweide, Eckert, Homolosine, Carree, Winkel, Tripel, Polyconic\r\n\r\nimport { Geometry } from \"@itwin/core-geometry\";\r\n\r\n/** This enum contains the list of all projection methods that can be represented as part of the HorizontalCRS\r\n * class. The None method indicates there is no projection and thus the CRS is longitude/latitude based\r\n * with units as degrees.\r\n * All other projection indicated a projected CRS.\r\n * @public\r\n */\r\nexport type ProjectionMethod =\r\n \"None\" |\r\n \"TransverseMercator\" |\r\n \"SouthOrientedTransverseMercator\" |\r\n \"TransverseMercatorWisconsin\" |\r\n \"TransverseMercatorMinnesota\" |\r\n \"TransverseMercatorAffine\" |\r\n \"MercatorStandardParallel\" |\r\n \"Mercator\" |\r\n \"UniversalTransverseMercator\" |\r\n \"LambertConformalConicTwoParallels\" |\r\n \"LambertConformalConicBelgium\" |\r\n \"LambertConformalConicAffine\" |\r\n \"LambertConformalConicWisconsin\" |\r\n \"LambertConformalConicMinnesota\" |\r\n \"LambertConformalConicMichigan\" |\r\n \"LambertConformalConicOneParallel\" |\r\n \"AlbersEqualArea\" |\r\n \"NewZealandNationalGrid\" |\r\n \"ObliqueMercator1\" |\r\n \"ObliqueMercator2\" |\r\n \"TransverseMercatorOSTN97\" |\r\n \"TransverseMercatorOSTN02\" |\r\n \"TransverseMercatorOSTN15\" |\r\n \"Krovak\" |\r\n \"KrovakModified\" |\r\n \"ObliqueCylindricalSwiss\" |\r\n \"TransverseMercatorDenmarkSystem34\" |\r\n \"TransverseMercatorDenmarkSystem3499\" |\r\n \"TransverseMercatorDenmarkSystem3401\" |\r\n \"Cassini\" |\r\n \"Sinusoidal\" |\r\n \"VanDerGrinten\" |\r\n \"Bonne\" |\r\n \"Mollweide\" |\r\n \"EckertIV\" |\r\n \"EckertVI\" |\r\n \"GoodeHomolosine\" |\r\n \"Robinson\" |\r\n \"PlateCarree\" |\r\n \"MillerCylindrical\" |\r\n \"WinkelTripel\" |\r\n \"AzimuthalEqualArea\" |\r\n \"ObliqueStereographic\" |\r\n \"RectifiedSkewOrthomorphicCentered\" |\r\n \"RectifiedSkewOrthomorphicOrigin\" |\r\n \"ObliqueCylindricalHungary\" |\r\n \"Orthographic\" |\r\n \"AmericanPolyconic\" |\r\n \"LambertEquidistantAzimuthal\" |\r\n \"ObliqueMercatorMinnesota\";\r\n\r\n/** The equations are:\r\n * X1 = a1*X + a2*Y + TranslationX\r\n * Y1 = b1*X + b2*Y + translationY\r\n * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.\r\n * @public\r\n */\r\nexport interface AffineTransformProps {\r\n /** The X post translation */\r\n translationX: number;\r\n /** The Y post-translation */\r\n translationY: number;\r\n /** A1 value as defined in global comment. */\r\n a1: number;\r\n /** B1 value as defined in global comment. */\r\n b1: number;\r\n /** A2 value as defined in global comment. */\r\n a2: number;\r\n /** B2 value as defined in global comment. */\r\n b2: number;\r\n}\r\n\r\n/** The equations are:\r\n * X1 = a1*X + a2*Y + TranslationX\r\n * Y1 = b1*X + b2*Y + translationY\r\n * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.\r\n * @public\r\n */\r\nexport class AffineTransform implements AffineTransformProps {\r\n /** The X post translation */\r\n public readonly translationX!: number;\r\n /** The Y post-translation */\r\n public readonly translationY!: number;\r\n /** A1 value as defined in global comment. */\r\n public readonly a1!: number;\r\n /** B1 value as defined in global comment. */\r\n public readonly b1!: number;\r\n /** A2 value as defined in global comment. */\r\n public readonly a2!: number;\r\n /** B2 value as defined in global comment. */\r\n public readonly b2!: number;\r\n\r\n constructor(data?: AffineTransformProps) {\r\n if (data) {\r\n this.translationX = data.translationX;\r\n this.translationY = data.translationY;\r\n this.a1 = data.a1;\r\n this.b1 = data.b1;\r\n this.a2 = data.a2;\r\n this.b2 = data.b2;\r\n }\r\n }\r\n\r\n /** Creates an Affine Transform from JSON representation.\r\n * @public */\r\n public static fromJSON(data: AffineTransformProps): AffineTransform {\r\n return new AffineTransform(data);\r\n }\r\n\r\n /** Creates a JSON from the Affine Transform definition\r\n * @public */\r\n public toJSON(): AffineTransformProps {\r\n return { translationX: this.translationX, a1: this.a1, a2: this.a2, translationY: this.translationY, b1: this.b1, b2: this.b2 };\r\n }\r\n\r\n /** Compares two Affine Transforms. It applies a minuscule tolerance for number compares\r\n * @public */\r\n public equals(other: AffineTransform): boolean {\r\n return (Math.abs(this.translationX - other.translationX) < Geometry.smallMetricDistance &&\r\n Math.abs(this.translationY - other.translationY) < Geometry.smallMetricDistance &&\r\n Math.abs(this.a1 - other.a1) < Geometry.smallFraction &&\r\n Math.abs(this.b1 - other.b1) < Geometry.smallFraction &&\r\n Math.abs(this.a2 - other.a2) < Geometry.smallFraction &&\r\n Math.abs(this.b2 - other.b2) < Geometry.smallFraction);\r\n }\r\n}\r\n\r\n/** Type used in the definition of UTM Zoning projection. This projection only requires a zone number and\r\n * the hemisphere North or South.\r\n * @public\r\n */\r\nexport type HemisphereEnum = \"South\" | \"North\";\r\n\r\n/** The type to define the three zones of the Danish System 34 projections.\r\n * @public\r\n */\r\nexport type DanishSystem34Region = \"Jylland\" | \"Sjaelland\" | \"Bornholm\";\r\n\r\n/** This class encapsulates the projection of the CRS. The projection relies on a projection method\r\n * and a set of projection parameters specific to projection method selected.\r\n * @public\r\n */\r\nexport interface ProjectionProps {\r\n /** The projection method. */\r\n method: ProjectionMethod;\r\n /** The False Easting of the projection. */\r\n falseEasting?: number;\r\n /** The False Northing of the projection. */\r\n falseNorthing?: number;\r\n /** The Central Meridian. */\r\n centralMeridian?: number;\r\n /** The latitude of origin of the projection. */\r\n latitudeOfOrigin?: number;\r\n /** Longitude of origin of the projection. */\r\n longitudeOfOrigin?: number;\r\n /** The scale reduction factor applied at origin. The nature of the projection has a\r\n * inherent scale factor applied that gradually varies outward from the projection origin.\r\n * The scale factor at origin enables to level the inherent scale factor over an use extent.\r\n * For the michigan variation of the Lambert Conformal Conic projection it\r\n * can be used instead or in addition to Standard Parallel to define\r\n * a scale factor.\r\n */\r\n scaleFactor?: number;\r\n /** The elevation of the origin of the projection above the geoid. This value\r\n * allows compensation for the scale factor related to elevation above the sea level.\r\n */\r\n elevationAboveGeoid?: number;\r\n /** The geoid separation. It represents the elevation of the geoid above the ellipsoid at the center of the projection. */\r\n geoidSeparation?: number;\r\n /** The definition of the affine post-transformation for Transverse Mercator and Lambert Conformal Conic with post-affine projections */\r\n affine?: AffineTransformProps;\r\n /** Standard parallel for projection that only use one.\r\n * For cylindrical projections (mercator, transverse mercator ...) it defines the parallel at\r\n * which the cylinder crosses the ellipsoid resulting in a scale factor being applied.\r\n * For conic projections (Lambert Tangential ...) it defines\r\n * the standard parallel at which the cone is tangent to the ellipsoid.\r\n */\r\n standardParallel?: number;\r\n /** The first standard parallel at which the cone crosses the ellipsoid. */\r\n standardParallel1?: number;\r\n /** The second standard parallel at which the cone crosses the ellipsoid. */\r\n standardParallel2?: number;\r\n /** The UTM zone number. A number from 0 to 60. */\r\n zoneNumber?: number;\r\n /** The hemisphere for Universal Transverse Mercator projection. */\r\n hemisphere?: HemisphereEnum;\r\n /** Longitude of the central point. */\r\n centralPointLongitude?: number;\r\n /** Latitude of the central point. */\r\n centralPointLatitude?: number;\r\n /** Longitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n point1Longitude?: number;\r\n /** Latitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n point1Latitude?: number;\r\n /** Longitude of the second alignment point for some Oblique Mercator projections. */\r\n point2Longitude?: number;\r\n /** Latitude of the second alignment point for some Oblique Mercator projections. */\r\n point2Latitude?: number;\r\n /** The Danish zone for Danish projections. */\r\n danishSystem34Region?: DanishSystem34Region;\r\n /** Azimuth. */\r\n azimuth?: number;\r\n}\r\n\r\n/** This class encapsulates the projection of the CRS. The projection relies on a projection method and a set\r\n * of projection parameters specific to projection method selected to flatten the surface of the model of the Earth\r\n * defines as a geodetic ellipsoid. The flattening and the distortion angular, linear, scale from the process varies between methods.\r\n * Refer to appropriate external documentation for details.\r\n * @note Various property sets are required for specific projection methods. The current class implementation does not enforce\r\n * these rules yet and it is possible to define or not define any property regardless the method used.\r\n * @public\r\n */\r\nexport class Projection implements ProjectionProps {\r\n /** The projection method. */\r\n public readonly method!: ProjectionMethod;\r\n /** The False Easting of the projection. */\r\n public readonly falseEasting?: number;\r\n /** The False Northing of the projection. */\r\n public readonly falseNorthing?: number;\r\n /** The Central Meridian. */\r\n public readonly centralMeridian?: number;\r\n /** The latitude of origin of the projection. */\r\n public readonly latitudeOfOrigin?: number;\r\n /** Longitude of origin of the projection. */\r\n public readonly longitudeOfOrigin?: number;\r\n /** The scale reduction factor applied at origin. The nature of the projection has a\r\n * inherent scale factor applied that gradually varies outward from the projection origin.\r\n * The scale factor at origin enables to level the inherent scale factor over an use extent.\r\n * For the michigan variation of the Lambert Conformal Conic projection it\r\n * can be used instead or in addition to Standard Parallel to define\r\n * a scale factor.\r\n */\r\n public readonly scaleFactor?: number;\r\n /** The elevation of the origin of the projection above the geoid. This value\r\n * allows compensation for the scale factor related to elevation above the sea level.\r\n */\r\n public readonly elevationAboveGeoid?: number;\r\n /** The geoid separation. It represents the elevation of the geoid above the ellipsoid at the center of the projection. */\r\n public readonly geoidSeparation?: number;\r\n /** The definition of the affine post-transformation for Transverse Mercator and Lambert Conformal Conic with post-affine projections */\r\n public readonly affine?: AffineTransform;\r\n /** Standard parallel for projection that only use one.\r\n * For cylindrical projections (mercator, transverse mercator ...) it defines the parallel at\r\n ** which the cylinder crosses the ellipsoid resulting in a scale factor being applied.\r\n * For conic projections (Lambert Tangential ...) it defines\r\n * the standard parallel at which the cone is tangent to the ellipsoid.\r\n */\r\n public readonly standardParallel?: number;\r\n /** The first standard parallel at which the cone crosses the ellipsoid. */\r\n public readonly standardParallel1?: number;\r\n /** The second standard parallel at which the cone crosses the ellipsoid. */\r\n public readonly standardParallel2?: number;\r\n /** The UTM zone number. A number from 0 to 60. */\r\n public readonly zoneNumber?: number;\r\n /** The hemisphere for Universal Transverse Mercator projection. */\r\n public readonly hemisphere?: HemisphereEnum;\r\n /** Longitude of the central point. */\r\n public readonly centralPointLongitude?: number;\r\n /** Latitude of the central point. */\r\n public readonly centralPointLatitude?: number;\r\n /** Longitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n public readonly point1Longitude?: number;\r\n /** Latitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n public readonly point1Latitude?: number;\r\n /** Longitude of the second alignment point for some Oblique Mercator projections. */\r\n public readonly point2Longitude?: number;\r\n /** Latitude of the second alignment point for some Oblique Mercator projections. */\r\n public readonly point2Latitude?: number;\r\n /** The Danish zone for Danish projections. */\r\n public readonly danishSystem34Region?: DanishSystem34Region;\r\n /** Azimuth. */\r\n public readonly azimuth?: number;\r\n\r\n public constructor(_data?: ProjectionProps) {\r\n if (_data) {\r\n this.method = _data.method;\r\n this.falseEasting = _data.falseEasting;\r\n this.falseNorthing = _data.falseNorthing;\r\n this.centralMeridian = _data.centralMeridian;\r\n this.latitudeOfOrigin = _data.latitudeOfOrigin;\r\n this.longitudeOfOrigin = _data.longitudeOfOrigin;\r\n this.scaleFactor = _data.scaleFactor;\r\n this.elevationAboveGeoid = _data.elevationAboveGeoid;\r\n this.geoidSeparation = _data.geoidSeparation;\r\n this.affine = _data.affine ? AffineTransform.fromJSON(_data.affine) : undefined;\r\n this.standardParallel = _data.standardParallel;\r\n this.standardParallel1 = _data.standardParallel1;\r\n this.standardParallel2 = _data.standardParallel2;\r\n this.zoneNumber = _data.zoneNumber;\r\n this.hemisphere = _data.hemisphere;\r\n this.centralPointLongitude = _data.centralPointLongitude;\r\n this.centralPointLatitude = _data.centralPointLatitude;\r\n this.point1Longitude = _data.point1Longitude;\r\n this.point1Latitude = _data.point1Latitude;\r\n this.point2Longitude = _data.point2Longitude;\r\n this.point2Latitude = _data.point2Latitude;\r\n this.danishSystem34Region = _data.danishSystem34Region;\r\n this.azimuth = _data.azimuth;\r\n }\r\n }\r\n\r\n /** Creates a Projection from JSON representation.\r\n * @public */\r\n public static fromJSON(data: ProjectionProps): Projection {\r\n return new Projection(data);\r\n }\r\n\r\n /** Creates a JSON from the Projection definition\r\n * @public */\r\n public toJSON(): ProjectionProps {\r\n const data: ProjectionProps = { method: this.method };\r\n data.falseEasting = this.falseEasting;\r\n data.falseNorthing = this.falseNorthing;\r\n data.centralMeridian = this.centralMeridian;\r\n data.latitudeOfOrigin = this.latitudeOfOrigin;\r\n data.longitudeOfOrigin = this.longitudeOfOrigin;\r\n data.scaleFactor = this.scaleFactor;\r\n data.elevationAboveGeoid = this.elevationAboveGeoid;\r\n data.geoidSeparation = this.geoidSeparation;\r\n data.affine = this.affine ? this.affine.toJSON() : undefined;\r\n data.standardParallel = this.standardParallel;\r\n data.standardParallel1 = this.standardParallel1;\r\n data.standardParallel2 = this.standardParallel2;\r\n data.zoneNumber = this.zoneNumber;\r\n data.hemisphere = this.hemisphere;\r\n data.centralPointLongitude = this.centralPointLongitude;\r\n data.centralPointLatitude = this.centralPointLatitude;\r\n data.point1Longitude = this.point1Longitude;\r\n data.point1Latitude = this.point1Latitude;\r\n data.point2Longitude = this.point2Longitude;\r\n data.point2Latitude = this.point2Latitude;\r\n data.danishSystem34Region = this.danishSystem34Region;\r\n data.azimuth = this.azimuth;\r\n return data;\r\n }\r\n\r\n /** Compares two projections. It is a strict compare operation as descriptive data is compared\r\n * but a minuscule tolerance is applied to number compares.\r\n * @public */\r\n public equals(other: Projection): boolean {\r\n if (this.method !== other.method ||\r\n this.zoneNumber !== other.zoneNumber ||\r\n this.hemisphere !== other.hemisphere ||\r\n this.danishSystem34Region !== other.danishSystem34Region)\r\n return false;\r\n\r\n // Note that even though falseEasting, falseNorthing, elevationAboveGeoid and geoidSeparation are expressed\r\n // in the units of the projection which can be foot or US survey foot, they are still within the same order\r\n // of size that Geometry.smallMetricDistance can be used effectively.\r\n if (!Geometry.isAlmostEqualOptional(this.falseEasting, other.falseEasting, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.falseNorthing, other.falseNorthing, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.centralMeridian, other.centralMeridian, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.latitudeOfOrigin, other.latitudeOfOrigin, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.longitudeOfOrigin, other.longitudeOfOrigin, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.scaleFactor, other.scaleFactor, Geometry.smallFraction) ||\r\n !Geometry.isAlmostEqualOptional(this.elevationAboveGeoid, other.elevationAboveGeoid, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.geoidSeparation, other.geoidSeparation, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel, other.standardParallel, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel1, other.standardParallel1, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel2, other.standardParallel2, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.centralPointLongitude, other.centralPointLongitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.centralPointLatitude, other.centralPointLatitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point1Longitude, other.point1Longitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point1Latitude, other.point1Latitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point2Longitude, other.point2Longitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point2Latitude, other.point2Latitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.azimuth, other.azimuth, Geometry.smallAngleDegrees))\r\n return false;\r\n\r\n if (this.affine && other.affine) {\r\n if (!this.affine.equals(other.affine))\r\n return false;\r\n } else {\r\n if (this.affine || other.affine)\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/** A 2D cartographic point in degrees\r\n * @public\r\n */\r\nexport interface Carto2DDegreesProps {\r\n /** Latitude value in degrees */\r\n latitude: number;\r\n /** Longitude value in degrees */\r\n longitude: number;\r\n}\r\n\r\n/** A 2D cartographic point in degrees\r\n * @public\r\n */\r\nexport class Carto2DDegrees implements Carto2DDegreesProps {\r\n /** Latitude value in degrees. Must be between -90 and +90 included */\r\n private _latitude!: number;\r\n /** Returns or sets the latitude in degrees. When setting the provided number must be between or equal from -90 to 90. */\r\n public get latitude() { return this._latitude; }\r\n public set latitude(newLatitude: number) {\r\n if ((newLatitude <= 90.0) && (newLatitude >= -90.0))\r\n this._latitude = newLatitude;\r\n }\r\n /** Longitude value in degrees */\r\n public longitude!: number;\r\n\r\n public constructor(data?: Carto2DDegreesProps) {\r\n this.latitude = 0.0; /* make sure latitude is init even if invalid latitude provided */\r\n if (data) {\r\n this.latitude = data.latitude;\r\n this.longitude = data.longitude;\r\n }\r\n }\r\n\r\n /** Creates a Carto2DDegrees object from JSON representation.\r\n * @public */\r\n public static fromJSON(data: Carto2DDegreesProps): Carto2DDegrees {\r\n return new Carto2DDegrees(data);\r\n }\r\n\r\n /** Creates a JSON from the Carto2DDegrees definition\r\n * @public */\r\n public toJSON(): Carto2DDegreesProps {\r\n return { latitude: this.latitude, longitude: this.longitude };\r\n }\r\n\r\n /** Compares two Carto2DDegrees object. It applies a minuscule tolerance to compares.\r\n * @public */\r\n public equals(other: Carto2DDegrees): boolean {\r\n return (Math.abs(this.latitude - other.latitude) < Geometry.smallAngleDegrees &&\r\n Math.abs(this.longitude - other.longitude) < Geometry.smallAngleDegrees);\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"Projection.js","sourceRoot":"","sources":["../../../src/geometry/Projection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Geometry\r\n */\r\n// cspell:ignore Albers, Krovak, OSTN, Cassini, Grinten, Mollweide, Eckert, Homolosine, Carree, Winkel, Tripel, Polyconic\r\n\r\nimport { Geometry } from \"@itwin/core-geometry\";\r\n\r\n/** This enum contains the list of all projection methods that can be represented as part of the HorizontalCRS\r\n * class. The None method indicates there is no projection and thus the CRS is longitude/latitude based\r\n * with units as degrees.\r\n * All other projection indicated a projected CRS.\r\n * @public\r\n * @extensions\r\n */\r\nexport type ProjectionMethod =\r\n \"None\" |\r\n \"TransverseMercator\" |\r\n \"SouthOrientedTransverseMercator\" |\r\n \"TransverseMercatorWisconsin\" |\r\n \"TransverseMercatorMinnesota\" |\r\n \"TransverseMercatorAffine\" |\r\n \"MercatorStandardParallel\" |\r\n \"Mercator\" |\r\n \"UniversalTransverseMercator\" |\r\n \"LambertConformalConicTwoParallels\" |\r\n \"LambertConformalConicBelgium\" |\r\n \"LambertConformalConicAffine\" |\r\n \"LambertConformalConicWisconsin\" |\r\n \"LambertConformalConicMinnesota\" |\r\n \"LambertConformalConicMichigan\" |\r\n \"LambertConformalConicOneParallel\" |\r\n \"AlbersEqualArea\" |\r\n \"NewZealandNationalGrid\" |\r\n \"ObliqueMercator1\" |\r\n \"ObliqueMercator2\" |\r\n \"TransverseMercatorOSTN97\" |\r\n \"TransverseMercatorOSTN02\" |\r\n \"TransverseMercatorOSTN15\" |\r\n \"Krovak\" |\r\n \"KrovakModified\" |\r\n \"ObliqueCylindricalSwiss\" |\r\n \"TransverseMercatorDenmarkSystem34\" |\r\n \"TransverseMercatorDenmarkSystem3499\" |\r\n \"TransverseMercatorDenmarkSystem3401\" |\r\n \"Cassini\" |\r\n \"Sinusoidal\" |\r\n \"VanDerGrinten\" |\r\n \"Bonne\" |\r\n \"Mollweide\" |\r\n \"EckertIV\" |\r\n \"EckertVI\" |\r\n \"GoodeHomolosine\" |\r\n \"Robinson\" |\r\n \"PlateCarree\" |\r\n \"MillerCylindrical\" |\r\n \"WinkelTripel\" |\r\n \"AzimuthalEqualArea\" |\r\n \"ObliqueStereographic\" |\r\n \"RectifiedSkewOrthomorphicCentered\" |\r\n \"RectifiedSkewOrthomorphicOrigin\" |\r\n \"ObliqueCylindricalHungary\" |\r\n \"Orthographic\" |\r\n \"AmericanPolyconic\" |\r\n \"LambertEquidistantAzimuthal\" |\r\n \"ObliqueMercatorMinnesota\";\r\n\r\n/** The equations are:\r\n * X1 = a1*X + a2*Y + TranslationX\r\n * Y1 = b1*X + b2*Y + translationY\r\n * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface AffineTransformProps {\r\n /** The X post translation */\r\n translationX: number;\r\n /** The Y post-translation */\r\n translationY: number;\r\n /** A1 value as defined in global comment. */\r\n a1: number;\r\n /** B1 value as defined in global comment. */\r\n b1: number;\r\n /** A2 value as defined in global comment. */\r\n a2: number;\r\n /** B2 value as defined in global comment. */\r\n b2: number;\r\n}\r\n\r\n/** The equations are:\r\n * X1 = a1*X + a2*Y + TranslationX\r\n * Y1 = b1*X + b2*Y + translationY\r\n * An affine representing no transformation will have: a1 = 1.0, a2 = 0.0, b1 = 0.0, b2 = 1.0.\r\n * @public\r\n */\r\nexport class AffineTransform implements AffineTransformProps {\r\n /** The X post translation */\r\n public readonly translationX!: number;\r\n /** The Y post-translation */\r\n public readonly translationY!: number;\r\n /** A1 value as defined in global comment. */\r\n public readonly a1!: number;\r\n /** B1 value as defined in global comment. */\r\n public readonly b1!: number;\r\n /** A2 value as defined in global comment. */\r\n public readonly a2!: number;\r\n /** B2 value as defined in global comment. */\r\n public readonly b2!: number;\r\n\r\n constructor(data?: AffineTransformProps) {\r\n if (data) {\r\n this.translationX = data.translationX;\r\n this.translationY = data.translationY;\r\n this.a1 = data.a1;\r\n this.b1 = data.b1;\r\n this.a2 = data.a2;\r\n this.b2 = data.b2;\r\n }\r\n }\r\n\r\n /** Creates an Affine Transform from JSON representation.\r\n * @public */\r\n public static fromJSON(data: AffineTransformProps): AffineTransform {\r\n return new AffineTransform(data);\r\n }\r\n\r\n /** Creates a JSON from the Affine Transform definition\r\n * @public */\r\n public toJSON(): AffineTransformProps {\r\n return { translationX: this.translationX, a1: this.a1, a2: this.a2, translationY: this.translationY, b1: this.b1, b2: this.b2 };\r\n }\r\n\r\n /** Compares two Affine Transforms. It applies a minuscule tolerance for number compares\r\n * @public */\r\n public equals(other: AffineTransform): boolean {\r\n return (Math.abs(this.translationX - other.translationX) < Geometry.smallMetricDistance &&\r\n Math.abs(this.translationY - other.translationY) < Geometry.smallMetricDistance &&\r\n Math.abs(this.a1 - other.a1) < Geometry.smallFraction &&\r\n Math.abs(this.b1 - other.b1) < Geometry.smallFraction &&\r\n Math.abs(this.a2 - other.a2) < Geometry.smallFraction &&\r\n Math.abs(this.b2 - other.b2) < Geometry.smallFraction);\r\n }\r\n}\r\n\r\n/** Type used in the definition of UTM Zoning projection. This projection only requires a zone number and\r\n * the hemisphere North or South.\r\n * @public\r\n * @extensions\r\n */\r\nexport type HemisphereEnum = \"South\" | \"North\";\r\n\r\n/** The type to define the three zones of the Danish System 34 projections.\r\n * @public\r\n * @extensions\r\n */\r\nexport type DanishSystem34Region = \"Jylland\" | \"Sjaelland\" | \"Bornholm\";\r\n\r\n/** This class encapsulates the projection of the CRS. The projection relies on a projection method\r\n * and a set of projection parameters specific to projection method selected.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ProjectionProps {\r\n /** The projection method. */\r\n method: ProjectionMethod;\r\n /** The False Easting of the projection. */\r\n falseEasting?: number;\r\n /** The False Northing of the projection. */\r\n falseNorthing?: number;\r\n /** The Central Meridian. */\r\n centralMeridian?: number;\r\n /** The latitude of origin of the projection. */\r\n latitudeOfOrigin?: number;\r\n /** Longitude of origin of the projection. */\r\n longitudeOfOrigin?: number;\r\n /** The scale reduction factor applied at origin. The nature of the projection has a\r\n * inherent scale factor applied that gradually varies outward from the projection origin.\r\n * The scale factor at origin enables to level the inherent scale factor over an use extent.\r\n * For the michigan variation of the Lambert Conformal Conic projection it\r\n * can be used instead or in addition to Standard Parallel to define\r\n * a scale factor.\r\n */\r\n scaleFactor?: number;\r\n /** The elevation of the origin of the projection above the geoid. This value\r\n * allows compensation for the scale factor related to elevation above the sea level.\r\n */\r\n elevationAboveGeoid?: number;\r\n /** The geoid separation. It represents the elevation of the geoid above the ellipsoid at the center of the projection. */\r\n geoidSeparation?: number;\r\n /** The definition of the affine post-transformation for Transverse Mercator and Lambert Conformal Conic with post-affine projections */\r\n affine?: AffineTransformProps;\r\n /** Standard parallel for projection that only use one.\r\n * For cylindrical projections (mercator, transverse mercator ...) it defines the parallel at\r\n * which the cylinder crosses the ellipsoid resulting in a scale factor being applied.\r\n * For conic projections (Lambert Tangential ...) it defines\r\n * the standard parallel at which the cone is tangent to the ellipsoid.\r\n */\r\n standardParallel?: number;\r\n /** The first standard parallel at which the cone crosses the ellipsoid. */\r\n standardParallel1?: number;\r\n /** The second standard parallel at which the cone crosses the ellipsoid. */\r\n standardParallel2?: number;\r\n /** The UTM zone number. A number from 0 to 60. */\r\n zoneNumber?: number;\r\n /** The hemisphere for Universal Transverse Mercator projection. */\r\n hemisphere?: HemisphereEnum;\r\n /** Longitude of the central point. */\r\n centralPointLongitude?: number;\r\n /** Latitude of the central point. */\r\n centralPointLatitude?: number;\r\n /** Longitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n point1Longitude?: number;\r\n /** Latitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n point1Latitude?: number;\r\n /** Longitude of the second alignment point for some Oblique Mercator projections. */\r\n point2Longitude?: number;\r\n /** Latitude of the second alignment point for some Oblique Mercator projections. */\r\n point2Latitude?: number;\r\n /** The Danish zone for Danish projections. */\r\n danishSystem34Region?: DanishSystem34Region;\r\n /** Azimuth. */\r\n azimuth?: number;\r\n}\r\n\r\n/** This class encapsulates the projection of the CRS. The projection relies on a projection method and a set\r\n * of projection parameters specific to projection method selected to flatten the surface of the model of the Earth\r\n * defines as a geodetic ellipsoid. The flattening and the distortion angular, linear, scale from the process varies between methods.\r\n * Refer to appropriate external documentation for details.\r\n * @note Various property sets are required for specific projection methods. The current class implementation does not enforce\r\n * these rules yet and it is possible to define or not define any property regardless the method used.\r\n * @public\r\n */\r\nexport class Projection implements ProjectionProps {\r\n /** The projection method. */\r\n public readonly method!: ProjectionMethod;\r\n /** The False Easting of the projection. */\r\n public readonly falseEasting?: number;\r\n /** The False Northing of the projection. */\r\n public readonly falseNorthing?: number;\r\n /** The Central Meridian. */\r\n public readonly centralMeridian?: number;\r\n /** The latitude of origin of the projection. */\r\n public readonly latitudeOfOrigin?: number;\r\n /** Longitude of origin of the projection. */\r\n public readonly longitudeOfOrigin?: number;\r\n /** The scale reduction factor applied at origin. The nature of the projection has a\r\n * inherent scale factor applied that gradually varies outward from the projection origin.\r\n * The scale factor at origin enables to level the inherent scale factor over an use extent.\r\n * For the michigan variation of the Lambert Conformal Conic projection it\r\n * can be used instead or in addition to Standard Parallel to define\r\n * a scale factor.\r\n */\r\n public readonly scaleFactor?: number;\r\n /** The elevation of the origin of the projection above the geoid. This value\r\n * allows compensation for the scale factor related to elevation above the sea level.\r\n */\r\n public readonly elevationAboveGeoid?: number;\r\n /** The geoid separation. It represents the elevation of the geoid above the ellipsoid at the center of the projection. */\r\n public readonly geoidSeparation?: number;\r\n /** The definition of the affine post-transformation for Transverse Mercator and Lambert Conformal Conic with post-affine projections */\r\n public readonly affine?: AffineTransform;\r\n /** Standard parallel for projection that only use one.\r\n * For cylindrical projections (mercator, transverse mercator ...) it defines the parallel at\r\n ** which the cylinder crosses the ellipsoid resulting in a scale factor being applied.\r\n * For conic projections (Lambert Tangential ...) it defines\r\n * the standard parallel at which the cone is tangent to the ellipsoid.\r\n */\r\n public readonly standardParallel?: number;\r\n /** The first standard parallel at which the cone crosses the ellipsoid. */\r\n public readonly standardParallel1?: number;\r\n /** The second standard parallel at which the cone crosses the ellipsoid. */\r\n public readonly standardParallel2?: number;\r\n /** The UTM zone number. A number from 0 to 60. */\r\n public readonly zoneNumber?: number;\r\n /** The hemisphere for Universal Transverse Mercator projection. */\r\n public readonly hemisphere?: HemisphereEnum;\r\n /** Longitude of the central point. */\r\n public readonly centralPointLongitude?: number;\r\n /** Latitude of the central point. */\r\n public readonly centralPointLatitude?: number;\r\n /** Longitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n public readonly point1Longitude?: number;\r\n /** Latitude of the first alignment point for some Oblique Mercator and Krovak projections. */\r\n public readonly point1Latitude?: number;\r\n /** Longitude of the second alignment point for some Oblique Mercator projections. */\r\n public readonly point2Longitude?: number;\r\n /** Latitude of the second alignment point for some Oblique Mercator projections. */\r\n public readonly point2Latitude?: number;\r\n /** The Danish zone for Danish projections. */\r\n public readonly danishSystem34Region?: DanishSystem34Region;\r\n /** Azimuth. */\r\n public readonly azimuth?: number;\r\n\r\n public constructor(_data?: ProjectionProps) {\r\n if (_data) {\r\n this.method = _data.method;\r\n this.falseEasting = _data.falseEasting;\r\n this.falseNorthing = _data.falseNorthing;\r\n this.centralMeridian = _data.centralMeridian;\r\n this.latitudeOfOrigin = _data.latitudeOfOrigin;\r\n this.longitudeOfOrigin = _data.longitudeOfOrigin;\r\n this.scaleFactor = _data.scaleFactor;\r\n this.elevationAboveGeoid = _data.elevationAboveGeoid;\r\n this.geoidSeparation = _data.geoidSeparation;\r\n this.affine = _data.affine ? AffineTransform.fromJSON(_data.affine) : undefined;\r\n this.standardParallel = _data.standardParallel;\r\n this.standardParallel1 = _data.standardParallel1;\r\n this.standardParallel2 = _data.standardParallel2;\r\n this.zoneNumber = _data.zoneNumber;\r\n this.hemisphere = _data.hemisphere;\r\n this.centralPointLongitude = _data.centralPointLongitude;\r\n this.centralPointLatitude = _data.centralPointLatitude;\r\n this.point1Longitude = _data.point1Longitude;\r\n this.point1Latitude = _data.point1Latitude;\r\n this.point2Longitude = _data.point2Longitude;\r\n this.point2Latitude = _data.point2Latitude;\r\n this.danishSystem34Region = _data.danishSystem34Region;\r\n this.azimuth = _data.azimuth;\r\n }\r\n }\r\n\r\n /** Creates a Projection from JSON representation.\r\n * @public */\r\n public static fromJSON(data: ProjectionProps): Projection {\r\n return new Projection(data);\r\n }\r\n\r\n /** Creates a JSON from the Projection definition\r\n * @public */\r\n public toJSON(): ProjectionProps {\r\n const data: ProjectionProps = { method: this.method };\r\n data.falseEasting = this.falseEasting;\r\n data.falseNorthing = this.falseNorthing;\r\n data.centralMeridian = this.centralMeridian;\r\n data.latitudeOfOrigin = this.latitudeOfOrigin;\r\n data.longitudeOfOrigin = this.longitudeOfOrigin;\r\n data.scaleFactor = this.scaleFactor;\r\n data.elevationAboveGeoid = this.elevationAboveGeoid;\r\n data.geoidSeparation = this.geoidSeparation;\r\n data.affine = this.affine ? this.affine.toJSON() : undefined;\r\n data.standardParallel = this.standardParallel;\r\n data.standardParallel1 = this.standardParallel1;\r\n data.standardParallel2 = this.standardParallel2;\r\n data.zoneNumber = this.zoneNumber;\r\n data.hemisphere = this.hemisphere;\r\n data.centralPointLongitude = this.centralPointLongitude;\r\n data.centralPointLatitude = this.centralPointLatitude;\r\n data.point1Longitude = this.point1Longitude;\r\n data.point1Latitude = this.point1Latitude;\r\n data.point2Longitude = this.point2Longitude;\r\n data.point2Latitude = this.point2Latitude;\r\n data.danishSystem34Region = this.danishSystem34Region;\r\n data.azimuth = this.azimuth;\r\n return data;\r\n }\r\n\r\n /** Compares two projections. It is a strict compare operation as descriptive data is compared\r\n * but a minuscule tolerance is applied to number compares.\r\n * @public */\r\n public equals(other: Projection): boolean {\r\n if (this.method !== other.method ||\r\n this.zoneNumber !== other.zoneNumber ||\r\n this.hemisphere !== other.hemisphere ||\r\n this.danishSystem34Region !== other.danishSystem34Region)\r\n return false;\r\n\r\n // Note that even though falseEasting, falseNorthing, elevationAboveGeoid and geoidSeparation are expressed\r\n // in the units of the projection which can be foot or US survey foot, they are still within the same order\r\n // of size that Geometry.smallMetricDistance can be used effectively.\r\n if (!Geometry.isAlmostEqualOptional(this.falseEasting, other.falseEasting, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.falseNorthing, other.falseNorthing, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.centralMeridian, other.centralMeridian, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.latitudeOfOrigin, other.latitudeOfOrigin, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.longitudeOfOrigin, other.longitudeOfOrigin, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.scaleFactor, other.scaleFactor, Geometry.smallFraction) ||\r\n !Geometry.isAlmostEqualOptional(this.elevationAboveGeoid, other.elevationAboveGeoid, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.geoidSeparation, other.geoidSeparation, Geometry.smallMetricDistance) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel, other.standardParallel, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel1, other.standardParallel1, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.standardParallel2, other.standardParallel2, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.centralPointLongitude, other.centralPointLongitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.centralPointLatitude, other.centralPointLatitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point1Longitude, other.point1Longitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point1Latitude, other.point1Latitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point2Longitude, other.point2Longitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.point2Latitude, other.point2Latitude, Geometry.smallAngleDegrees) ||\r\n !Geometry.isAlmostEqualOptional(this.azimuth, other.azimuth, Geometry.smallAngleDegrees))\r\n return false;\r\n\r\n if (this.affine && other.affine) {\r\n if (!this.affine.equals(other.affine))\r\n return false;\r\n } else {\r\n if (this.affine || other.affine)\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/** A 2D cartographic point in degrees\r\n * @public\r\n * @extensions\r\n */\r\nexport interface Carto2DDegreesProps {\r\n /** Latitude value in degrees */\r\n latitude: number;\r\n /** Longitude value in degrees */\r\n longitude: number;\r\n}\r\n\r\n/** A 2D cartographic point in degrees\r\n * @public\r\n */\r\nexport class Carto2DDegrees implements Carto2DDegreesProps {\r\n /** Latitude value in degrees. Must be between -90 and +90 included */\r\n private _latitude!: number;\r\n /** Returns or sets the latitude in degrees. When setting the provided number must be between or equal from -90 to 90. */\r\n public get latitude() { return this._latitude; }\r\n public set latitude(newLatitude: number) {\r\n if ((newLatitude <= 90.0) && (newLatitude >= -90.0))\r\n this._latitude = newLatitude;\r\n }\r\n /** Longitude value in degrees */\r\n public longitude!: number;\r\n\r\n public constructor(data?: Carto2DDegreesProps) {\r\n this.latitude = 0.0; /* make sure latitude is init even if invalid latitude provided */\r\n if (data) {\r\n this.latitude = data.latitude;\r\n this.longitude = data.longitude;\r\n }\r\n }\r\n\r\n /** Creates a Carto2DDegrees object from JSON representation.\r\n * @public */\r\n public static fromJSON(data: Carto2DDegreesProps): Carto2DDegrees {\r\n return new Carto2DDegrees(data);\r\n }\r\n\r\n /** Creates a JSON from the Carto2DDegrees definition\r\n * @public */\r\n public toJSON(): Carto2DDegreesProps {\r\n return { latitude: this.latitude, longitude: this.longitude };\r\n }\r\n\r\n /** Compares two Carto2DDegrees object. It applies a minuscule tolerance to compares.\r\n * @public */\r\n public equals(other: Carto2DDegrees): boolean {\r\n return (Math.abs(this.latitude - other.latitude) < Geometry.smallAngleDegrees &&\r\n Math.abs(this.longitude - other.longitude) < Geometry.smallAngleDegrees);\r\n }\r\n}\r\n\r\n"]}
@@ -6,6 +6,7 @@ import { FontId } from "../Fonts";
6
6
  /** Properties for a TextString class.
7
7
  * @see [[GeometryStreamEntryProps]]
8
8
  * @public
9
+ * @extensions
9
10
  */
10
11
  export interface TextStringProps {
11
12
  /** text string */
@@ -1 +1 @@
1
- {"version":3,"file":"TextString.d.ts","sourceRoot":"","sources":["../../../src/geometry/TextString.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAY,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED;;;;GAIG;AACH,qBAAa,UAAU;IACrB,kBAAkB;IACX,IAAI,EAAE,MAAM,CAAC;IACpB,6FAA6F;IACtF,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC3B,+CAA+C;IAC/C,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,+CAA+C;IAC/C,SAAgB,QAAQ,EAAE,kBAAkB,CAAC;IAC7C,IAAW,KAAK,WAAwE;gBAErE,KAAK,EAAE,eAAe;IAYlC,MAAM,IAAI,eAAe;IAczB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;CAmBvD"}
1
+ {"version":3,"file":"TextString.d.ts","sourceRoot":"","sources":["../../../src/geometry/TextString.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAY,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED;;;;GAIG;AACH,qBAAa,UAAU;IACrB,kBAAkB;IACX,IAAI,EAAE,MAAM,CAAC;IACpB,6FAA6F;IACtF,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC3B,+CAA+C;IAC/C,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,+CAA+C;IAC/C,SAAgB,QAAQ,EAAE,kBAAkB,CAAC;IAC7C,IAAW,KAAK,WAAwE;gBAErE,KAAK,EAAE,eAAe;IAYlC,MAAM,IAAI,eAAe;IAczB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;CAmBvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextString.js","sourceRoot":"","sources":["../../../src/geometry/TextString.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\r\nimport { Point3d, Transform, Vector3d, XYZProps, YawPitchRollAngles, YawPitchRollProps } from \"@itwin/core-geometry\";\r\nimport { FontId } from \"../Fonts\";\r\n\r\n/** Properties for a TextString class.\r\n * @see [[GeometryStreamEntryProps]]\r\n * @public\r\n */\r\nexport interface TextStringProps {\r\n /** text string */\r\n text: string;\r\n /** FontId for the TextString. FontIds are mapped to font names and types via the FontMap */\r\n font: FontId;\r\n /* text height */\r\n height: number;\r\n /* width / height ratio. Default is 1.0 */\r\n widthFactor?: number;\r\n /** bold text. Default is false */\r\n bold?: boolean;\r\n /** italic text. Default is false */\r\n italic?: boolean;\r\n /** underline text. Default is false */\r\n underline?: boolean;\r\n /** Optional position relative to element's placement. Default is 0,0,0 */\r\n origin?: XYZProps;\r\n /** Optional rotation relative to element's placement. Default is identity matrix */\r\n rotation?: YawPitchRollProps;\r\n}\r\n\r\n/** A single line of text, all with the same font, styles (underline, bold, italic), and size.\r\n * This class also holds the origin and direction for the text.\r\n * A paragraph is composed of one or more instances of TextStrings.\r\n * @public\r\n */\r\nexport class TextString {\r\n /** Text string */\r\n public text: string;\r\n /** FontId for this TextString. FontIds are mapped to font names and types via the FontMap */\r\n public font: FontId;\r\n /* text height, in meters */\r\n public height: number;\r\n /* width / height ratio. Default is 1.0 */\r\n public widthFactor?: number;\r\n /** bold text. Default is false */\r\n public bold?: boolean;\r\n /** italic text. Default is false */\r\n public italic?: boolean;\r\n /** underline text. Default is false */\r\n public underline?: boolean;\r\n /** position relative to element's placement */\r\n public readonly origin: Point3d;\r\n /** Rotation relative to element's placement */\r\n public readonly rotation: YawPitchRollAngles;\r\n public get width() { return this.height * (this.widthFactor ? this.widthFactor : 1.0); }\r\n\r\n public constructor(props: TextStringProps) {\r\n this.text = props.text;\r\n this.font = props.font;\r\n this.height = props.height;\r\n this.widthFactor = props.widthFactor;\r\n this.bold = props.bold;\r\n this.italic = props.italic;\r\n this.underline = props.underline;\r\n this.origin = Point3d.fromJSON(props.origin);\r\n this.rotation = YawPitchRollAngles.fromJSON(props.rotation);\r\n }\r\n\r\n public toJSON(): TextStringProps {\r\n const val: any = {};\r\n val.text = this.text;\r\n val.font = this.font;\r\n val.height = this.height;\r\n val.widthFactor = this.widthFactor;\r\n val.bold = this.bold;\r\n val.italic = this.italic;\r\n val.underline = this.underline;\r\n if (!this.origin.isAlmostZero) val.origin = this.origin;\r\n if (!this.rotation.isIdentity()) val.rotation = this.rotation;\r\n return val;\r\n }\r\n\r\n public transformInPlace(transform: Transform): boolean {\r\n const newOrigin = transform.multiplyPoint3d(this.origin, this.origin);\r\n const newTransform = this.rotation.toMatrix3d().multiplyMatrixTransform(transform);\r\n const scales = new Vector3d();\r\n if (!newTransform.matrix.normalizeColumnsInPlace(scales))\r\n return false;\r\n const newRotation = YawPitchRollAngles.createFromMatrix3d(newTransform.matrix);\r\n if (undefined === newRotation)\r\n return false;\r\n const newHeight = this.height * scales.y;\r\n const newWidth = this.width * scales.x;\r\n if (newHeight < 1.0e-10 || newWidth < 1.0e-10)\r\n return false;\r\n this.origin.setFrom(newOrigin);\r\n this.rotation.setFrom(newRotation);\r\n this.height = newHeight;\r\n this.widthFactor = (newHeight === newWidth ? undefined : (newWidth / newHeight));\r\n return true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TextString.js","sourceRoot":"","sources":["../../../src/geometry/TextString.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\r\nimport { Point3d, Transform, Vector3d, XYZProps, YawPitchRollAngles, YawPitchRollProps } from \"@itwin/core-geometry\";\r\nimport { FontId } from \"../Fonts\";\r\n\r\n/** Properties for a TextString class.\r\n * @see [[GeometryStreamEntryProps]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TextStringProps {\r\n /** text string */\r\n text: string;\r\n /** FontId for the TextString. FontIds are mapped to font names and types via the FontMap */\r\n font: FontId;\r\n /* text height */\r\n height: number;\r\n /* width / height ratio. Default is 1.0 */\r\n widthFactor?: number;\r\n /** bold text. Default is false */\r\n bold?: boolean;\r\n /** italic text. Default is false */\r\n italic?: boolean;\r\n /** underline text. Default is false */\r\n underline?: boolean;\r\n /** Optional position relative to element's placement. Default is 0,0,0 */\r\n origin?: XYZProps;\r\n /** Optional rotation relative to element's placement. Default is identity matrix */\r\n rotation?: YawPitchRollProps;\r\n}\r\n\r\n/** A single line of text, all with the same font, styles (underline, bold, italic), and size.\r\n * This class also holds the origin and direction for the text.\r\n * A paragraph is composed of one or more instances of TextStrings.\r\n * @public\r\n */\r\nexport class TextString {\r\n /** Text string */\r\n public text: string;\r\n /** FontId for this TextString. FontIds are mapped to font names and types via the FontMap */\r\n public font: FontId;\r\n /* text height, in meters */\r\n public height: number;\r\n /* width / height ratio. Default is 1.0 */\r\n public widthFactor?: number;\r\n /** bold text. Default is false */\r\n public bold?: boolean;\r\n /** italic text. Default is false */\r\n public italic?: boolean;\r\n /** underline text. Default is false */\r\n public underline?: boolean;\r\n /** position relative to element's placement */\r\n public readonly origin: Point3d;\r\n /** Rotation relative to element's placement */\r\n public readonly rotation: YawPitchRollAngles;\r\n public get width() { return this.height * (this.widthFactor ? this.widthFactor : 1.0); }\r\n\r\n public constructor(props: TextStringProps) {\r\n this.text = props.text;\r\n this.font = props.font;\r\n this.height = props.height;\r\n this.widthFactor = props.widthFactor;\r\n this.bold = props.bold;\r\n this.italic = props.italic;\r\n this.underline = props.underline;\r\n this.origin = Point3d.fromJSON(props.origin);\r\n this.rotation = YawPitchRollAngles.fromJSON(props.rotation);\r\n }\r\n\r\n public toJSON(): TextStringProps {\r\n const val: any = {};\r\n val.text = this.text;\r\n val.font = this.font;\r\n val.height = this.height;\r\n val.widthFactor = this.widthFactor;\r\n val.bold = this.bold;\r\n val.italic = this.italic;\r\n val.underline = this.underline;\r\n if (!this.origin.isAlmostZero) val.origin = this.origin;\r\n if (!this.rotation.isIdentity()) val.rotation = this.rotation;\r\n return val;\r\n }\r\n\r\n public transformInPlace(transform: Transform): boolean {\r\n const newOrigin = transform.multiplyPoint3d(this.origin, this.origin);\r\n const newTransform = this.rotation.toMatrix3d().multiplyMatrixTransform(transform);\r\n const scales = new Vector3d();\r\n if (!newTransform.matrix.normalizeColumnsInPlace(scales))\r\n return false;\r\n const newRotation = YawPitchRollAngles.createFromMatrix3d(newTransform.matrix);\r\n if (undefined === newRotation)\r\n return false;\r\n const newHeight = this.height * scales.y;\r\n const newWidth = this.width * scales.x;\r\n if (newHeight < 1.0e-10 || newWidth < 1.0e-10)\r\n return false;\r\n this.origin.setFrom(newOrigin);\r\n this.rotation.setFrom(newRotation);\r\n this.height = newHeight;\r\n this.widthFactor = (newHeight === newWidth ? undefined : (newWidth / newHeight));\r\n return true;\r\n }\r\n}\r\n"]}
@@ -14,6 +14,7 @@ export declare type IpcListener = (evt: Event, ...args: any[]) => void;
14
14
  /**
15
15
  * Function returned when establishing an Ipc `receive` listener or `invoke` handler. Call this method to remove the listener/handler.
16
16
  * @public
17
+ * @extensions
17
18
  */
18
19
  export declare type RemoveFunction = () => void;
19
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IpcSocket.d.ts","sourceRoot":"","sources":["../../../src/ipc/IpcSocket.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;KAGK;AACL,eAAO,MAAM,YAAY,YAAa,MAAM,WAAuB,CAAC;AAEpE;;;GAGG;AACH,oBAAY,WAAW,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAE/D;;;GAGG;AACH,oBAAY,cAAc,GAAG,MAAM,IAAI,CAAC;AAExC;;;;eAIe;AACf,oBAAY,eAAe,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEjK;;;;;EAKE;AACF,MAAM,WAAW,SAAS;IACxB;;;;;;OAMG;IACH,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChD;;;;;OAKG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,cAAc,CAAC;IACxE;;;;OAIG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;CAClE;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD;;;;;;;;;OASG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC3D;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD;;;;;OAKG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,cAAc,CAAC;CACxF"}
1
+ {"version":3,"file":"IpcSocket.d.ts","sourceRoot":"","sources":["../../../src/ipc/IpcSocket.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;KAGK;AACL,eAAO,MAAM,YAAY,YAAa,MAAM,WAAuB,CAAC;AAEpE;;;GAGG;AACH,oBAAY,WAAW,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAE/D;;;;GAIG;AACH,oBAAY,cAAc,GAAG,MAAM,IAAI,CAAC;AAExC;;;;eAIe;AACf,oBAAY,eAAe,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEjK;;;;;EAKE;AACF,MAAM,WAAW,SAAS;IACxB;;;;;;OAMG;IACH,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChD;;;;;OAKG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,cAAc,CAAC;IACxE;;;;OAIG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;CAClE;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD;;;;;;;;;OASG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC3D;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD;;;;;OAKG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,cAAc,CAAC;CACxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"IpcSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcSocket.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;KAGK;AACE,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC;AAAvD,QAAA,YAAY,gBAA2C","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 IpcSocket\r\n */\r\n\r\n/**\r\n * The prefix for all IpcSocket channels to disambiguate from system channels.\r\n * @internal\r\n * */\r\nexport const iTwinChannel = (channel: string) => `itwin.${channel}`;\r\n\r\n/**\r\n * A function to handle an Ipc message.\r\n * @public\r\n */\r\nexport type IpcListener = (evt: Event, ...args: any[]) => void;\r\n\r\n/**\r\n * Function returned when establishing an Ipc `receive` listener or `invoke` handler. Call this method to remove the listener/handler.\r\n * @public\r\n */\r\nexport type RemoveFunction = () => void;\r\n\r\n/**\r\n * Payload of an IpcInvoke response. The presence of `error` indicates that the backend threw an exception and the\r\n * frontend will re-throw a [BackendError]$(frontend) with the `errorNumber` and `message` values. Otherwise the `result`\r\n * member holds the response.\r\n * @internal */\r\nexport type IpcInvokeReturn = { result: any, error?: never } | { result?: never, error: { name: string, message: string, errorNumber: number, stack?: string } };\r\n\r\n/**\r\n * An inter-process socket connection between a single [IModelHost]($backend) on the backend (the node process), and an [IModelApp]($frontend) on\r\n * the frontend (the browser process.) Each side will implement this interface to form a two way connection. The frontend and backend\r\n * processes connected through an IpcSocket don't necessarily have to be on the same computer, but often are.\r\n * @public\r\n*/\r\nexport interface IpcSocket {\r\n /**\r\n * Send a message over the socket.\r\n * @param channel The name of the channel for the message. Must begin with the [[iTwinChannel]] prefix.\r\n * @param data The optional data of the message.\r\n * @note `data` is serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\r\n * primitive types and `ArrayBuffers` are allowed.\r\n */\r\n send: (channel: string, ...data: any[]) => void;\r\n /**\r\n * Establish a handler to receive messages for a channel through a socket.\r\n * @param channel The name of the channel for the messages. Must begin with the [[iTwinChannel]] prefix.\r\n * @param listener A function called when messages are sent over `channel`\r\n * @note returns A function to call to remove the listener.\r\n */\r\n addListener: (channel: string, listener: IpcListener) => RemoveFunction;\r\n /**\r\n * Remove a previously registered listener\r\n * @param channel The name of the channel for the listener previously registered with [[addListener]]\r\n * @param listener The function passed to [[addListener]]\r\n */\r\n removeListener: (channel: string, listener: IpcListener) => void;\r\n}\r\n\r\n/**\r\n * Interface for the frontend (browser) side of a socket connection. Frontends may invoke methods implemented on the backend.\r\n * @public\r\n */\r\nexport interface IpcSocketFrontend extends IpcSocket {\r\n /**\r\n * Send a message to the backend via `channel` and expect a result asynchronously.\r\n * @param channel The name of the channel for the method. Must begin with the [[iTwinChannel]] prefix.\r\n * @see Electron [ipcRenderer.invoke](https://www.electronjs.org/docs/api/ipc-renderer) documentation for details.\r\n * Note that this interface *may* be implemented via Electron for desktop apps, or via\r\n * [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) for mobile or web-based\r\n * Ipc connections. In either case, the Electron documentation provides the specifications for how it works.\r\n * @note `args` are serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\r\n * primitive types and `ArrayBuffers` are allowed.\r\n */\r\n invoke: (channel: string, ...args: any[]) => Promise<any>;\r\n}\r\n\r\n/**\r\n * Interface for the backend (Node.js) side of a socket connection. Backends provide the implementation\r\n * of methods that are invoked from the frontend.\r\n * @public\r\n */\r\nexport interface IpcSocketBackend extends IpcSocket {\r\n /**\r\n * Establish a backend implementation of an Ipc interface for a channel.\r\n * @param channel The name of the channel for this handler. Must begin with the [[iTwinChannel]] prefix.\r\n * @param handler A function that supplies the implementation for methods invoked over `channel` via [[IpcSocketFrontend.invoke]]\r\n * @note returns A function to call to remove the handler.\r\n */\r\n handle: (channel: string, handler: (...args: any[]) => Promise<any>) => RemoveFunction;\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"IpcSocket.js","sourceRoot":"","sources":["../../../src/ipc/IpcSocket.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;KAGK;AACE,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC;AAAvD,QAAA,YAAY,gBAA2C","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 IpcSocket\r\n */\r\n\r\n/**\r\n * The prefix for all IpcSocket channels to disambiguate from system channels.\r\n * @internal\r\n * */\r\nexport const iTwinChannel = (channel: string) => `itwin.${channel}`;\r\n\r\n/**\r\n * A function to handle an Ipc message.\r\n * @public\r\n */\r\nexport type IpcListener = (evt: Event, ...args: any[]) => void;\r\n\r\n/**\r\n * Function returned when establishing an Ipc `receive` listener or `invoke` handler. Call this method to remove the listener/handler.\r\n * @public\r\n * @extensions\r\n */\r\nexport type RemoveFunction = () => void;\r\n\r\n/**\r\n * Payload of an IpcInvoke response. The presence of `error` indicates that the backend threw an exception and the\r\n * frontend will re-throw a [BackendError]$(frontend) with the `errorNumber` and `message` values. Otherwise the `result`\r\n * member holds the response.\r\n * @internal */\r\nexport type IpcInvokeReturn = { result: any, error?: never } | { result?: never, error: { name: string, message: string, errorNumber: number, stack?: string } };\r\n\r\n/**\r\n * An inter-process socket connection between a single [IModelHost]($backend) on the backend (the node process), and an [IModelApp]($frontend) on\r\n * the frontend (the browser process.) Each side will implement this interface to form a two way connection. The frontend and backend\r\n * processes connected through an IpcSocket don't necessarily have to be on the same computer, but often are.\r\n * @public\r\n*/\r\nexport interface IpcSocket {\r\n /**\r\n * Send a message over the socket.\r\n * @param channel The name of the channel for the message. Must begin with the [[iTwinChannel]] prefix.\r\n * @param data The optional data of the message.\r\n * @note `data` is serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\r\n * primitive types and `ArrayBuffers` are allowed.\r\n */\r\n send: (channel: string, ...data: any[]) => void;\r\n /**\r\n * Establish a handler to receive messages for a channel through a socket.\r\n * @param channel The name of the channel for the messages. Must begin with the [[iTwinChannel]] prefix.\r\n * @param listener A function called when messages are sent over `channel`\r\n * @note returns A function to call to remove the listener.\r\n */\r\n addListener: (channel: string, listener: IpcListener) => RemoveFunction;\r\n /**\r\n * Remove a previously registered listener\r\n * @param channel The name of the channel for the listener previously registered with [[addListener]]\r\n * @param listener The function passed to [[addListener]]\r\n */\r\n removeListener: (channel: string, listener: IpcListener) => void;\r\n}\r\n\r\n/**\r\n * Interface for the frontend (browser) side of a socket connection. Frontends may invoke methods implemented on the backend.\r\n * @public\r\n */\r\nexport interface IpcSocketFrontend extends IpcSocket {\r\n /**\r\n * Send a message to the backend via `channel` and expect a result asynchronously.\r\n * @param channel The name of the channel for the method. Must begin with the [[iTwinChannel]] prefix.\r\n * @see Electron [ipcRenderer.invoke](https://www.electronjs.org/docs/api/ipc-renderer) documentation for details.\r\n * Note that this interface *may* be implemented via Electron for desktop apps, or via\r\n * [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) for mobile or web-based\r\n * Ipc connections. In either case, the Electron documentation provides the specifications for how it works.\r\n * @note `args` are serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\r\n * primitive types and `ArrayBuffers` are allowed.\r\n */\r\n invoke: (channel: string, ...args: any[]) => Promise<any>;\r\n}\r\n\r\n/**\r\n * Interface for the backend (Node.js) side of a socket connection. Backends provide the implementation\r\n * of methods that are invoked from the frontend.\r\n * @public\r\n */\r\nexport interface IpcSocketBackend extends IpcSocket {\r\n /**\r\n * Establish a backend implementation of an Ipc interface for a channel.\r\n * @param channel The name of the channel for this handler. Must begin with the [[iTwinChannel]] prefix.\r\n * @param handler A function that supplies the implementation for methods invoked over `channel` via [[IpcSocketFrontend.invoke]]\r\n * @note returns A function to call to remove the handler.\r\n */\r\n handle: (channel: string, handler: (...args: any[]) => Promise<any>) => RemoveFunction;\r\n}\r\n\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IpcWebSocketTransport.d.ts","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocketTransport.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIrD,gBAAgB;AAChB,8BAAsB,qBAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,YAAY,CAAK;aAET,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAExD,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG;cAIV,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkCxF,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,GAAG,EAAE;IAQrD,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG;CAGtC"}
1
+ {"version":3,"file":"IpcWebSocketTransport.d.ts","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocketTransport.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIrD,gBAAgB;AAChB,8BAAsB,qBAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,YAAY,CAAK;aAET,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAExD,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG;cAIV,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkCxF,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,GAAG,EAAE;IAQrD,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG;CAGtC"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.IpcWebSocketTransport = void 0;
11
+ const buffer_1 = require("buffer");
11
12
  const IpcWebSocket_1 = require("./IpcWebSocket");
12
13
  let parts = [];
13
14
  /** @internal */
@@ -64,7 +65,7 @@ class IpcWebSocketTransport {
64
65
  }
65
66
  exports.IpcWebSocketTransport = IpcWebSocketTransport;
66
67
  const types = [Uint8Array, Int8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, DataView];
67
- function identify(value) { return Buffer.isBuffer(value) ? 0 : types.indexOf(value.constructor); }
68
+ function identify(value) { return buffer_1.Buffer.isBuffer(value) ? 0 : types.indexOf(value.constructor); }
68
69
  function lookup(value) { return types[value.type]; }
69
70
  function replacer(_key, value) {
70
71
  const asBinary = replaceBinary(value);
@@ -80,7 +81,7 @@ function reviver(_key, value) {
80
81
  return value;
81
82
  }
82
83
  function replaceBinary(value) {
83
- if (ArrayBuffer.isView(value) || Buffer.isBuffer(value)) {
84
+ if (ArrayBuffer.isView(value) || buffer_1.Buffer.isBuffer(value)) {
84
85
  const index = parts.push(value) - 1;
85
86
  const type = identify(value);
86
87
  return { ipc: "binary", type, index };
@@ -1 +1 @@
1
- {"version":3,"file":"IpcWebSocketTransport.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocketTransport.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,iDAAqD;AAErD,IAAI,KAAK,GAAU,EAAE,CAAC;AAEtB,gBAAgB;AAChB,MAAsB,qBAAqB;IAA3C;QAEU,cAAS,GAAU,EAAE,CAAC;QACtB,iBAAY,GAAG,CAAC,CAAC;IAqD3B,CAAC;IAjDW,MAAM,CAAC,IAAS;QACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,IAAS,EAAE,UAAe;QACvD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,EAAE,IAAI,CAAC,YAAY,CAAC;YAEpB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhF,KAAK,GAAG,QAAQ,CAAC;gBACjB,MAAM,OAAO,GAAwB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEjB,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;aACjD;iBAAM;gBACL,OAAO,kCAAmB,CAAC,QAAQ,EAAE,CAAC;aACvC;SACF;aAAM;YACL,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,OAAO,kCAAmB,CAAC,QAAQ,EAAE,CAAC;aACvC;iBAAM;gBACL,MAAM,OAAO,GAAwB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACrE,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAES,SAAS,CAAC,IAAyB;QAC3C,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;QAClE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,WAAW,CAAC,UAAe;QACnC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;CACF;AAxDD,sDAwDC;AAGD,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AACjJ,SAAS,QAAQ,CAAC,KAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACvG,SAAS,MAAM,CAAC,KAAa,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE5D,SAAS,QAAQ,CAAY,IAAY,EAAE,KAAU;IACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,QAAQ,EAAE;QACZ,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAU;IACvC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;QAC1G,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;KAC5B;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAU;IAC/B,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KACvC;SAAM;QACL,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,OAAO,GAAwC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,IAAI,MAAM,GAA2B,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AAED;sFACsF;AACtF,MAAM,WAAW;IA6Cf,YAAoB,OAA4B;QALzC,YAAO,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpB,cAAS,GAAG,KAAK,CAAC;QAIvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEjC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,EAAuB,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kCAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACzE,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC;IApDM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAA4B,EAAE,UAAe;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC5C;QAED,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAEnD,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;iBAAM,IAAI,KAAK,EAAE;gBAChB,EAAE,OAAO,CAAC,IAAI,CAAC;aAChB;YAED,IAAI,SAAS,IAAI,KAAK,EAAE;gBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;iBAAM;gBACL,MAAM;aACP;SACF;QAED,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAe;QACjC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AArCc,wBAAY,GAAqD,IAAI,GAAG,EAAE,CAAC","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 IpcSocket\r\n */\r\n\r\nimport { IpcWebSocketMessage } from \"./IpcWebSocket\";\r\n\r\nlet parts: any[] = [];\r\n\r\n/** @internal */\r\nexport abstract class IpcWebSocketTransport {\r\n private _partial?: string;\r\n private _received: any[] = [];\r\n private _outstanding = 0;\r\n\r\n public abstract send(message: IpcWebSocketMessage): void;\r\n\r\n protected unwrap(data: any) {\r\n return (typeof (Blob) !== \"undefined\" && data instanceof Blob) ? data.arrayBuffer() : data;\r\n }\r\n\r\n protected async notifyIncoming(data: any, connection: any): Promise<IpcWebSocketMessage> {\r\n if (this._partial) {\r\n this._received.push(data);\r\n --this._outstanding;\r\n\r\n if (this._outstanding === 0) {\r\n const partial = this._partial;\r\n const received = this._received;\r\n this._partial = undefined;\r\n this._received = [];\r\n await Promise.all(received.map(async (v, i, a) => a[i] = await this.unwrap(v)));\r\n\r\n parts = received;\r\n const message: IpcWebSocketMessage = JSON.parse(partial, reviver);\r\n parts.length = 0;\r\n\r\n return InSentOrder.deliver(message, connection);\r\n } else {\r\n return IpcWebSocketMessage.internal();\r\n }\r\n } else {\r\n const [serialized, followers] = JSON.parse(data);\r\n\r\n if (followers) {\r\n this._partial = serialized;\r\n this._outstanding = followers;\r\n return IpcWebSocketMessage.internal();\r\n } else {\r\n const message: IpcWebSocketMessage = JSON.parse(serialized, reviver);\r\n return InSentOrder.deliver(message, connection);\r\n }\r\n }\r\n }\r\n\r\n protected serialize(data: IpcWebSocketMessage): any[] {\r\n parts.length = 0;\r\n const objects = JSON.stringify(data, replacer);\r\n const value = [JSON.stringify([objects, parts.length]), ...parts];\r\n parts.length = 0;\r\n return value;\r\n }\r\n\r\n protected notifyClose(connection: any) {\r\n InSentOrder.close(connection);\r\n }\r\n}\r\n\r\ninterface Marker { ipc: \"binary\", type: number, index: number }\r\nconst types = [Uint8Array, Int8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, DataView];\r\nfunction identify(value: any) { return Buffer.isBuffer(value) ? 0 : types.indexOf(value.constructor); }\r\nfunction lookup(value: Marker) { return types[value.type]; }\r\n\r\nfunction replacer(this: any, _key: string, value: any) {\r\n const asBinary = replaceBinary(value);\r\n if (asBinary) {\r\n return asBinary;\r\n }\r\n\r\n return value;\r\n}\r\n\r\nfunction reviver(_key: string, value: any) {\r\n if (typeof (value) === \"object\" && value !== null && value.hasOwnProperty(\"ipc\") && value.ipc === \"binary\") {\r\n return reviveBinary(value);\r\n }\r\n\r\n return value;\r\n}\r\n\r\nfunction replaceBinary(value: any): Marker | undefined {\r\n if (ArrayBuffer.isView(value) || Buffer.isBuffer(value)) {\r\n const index = parts.push(value) - 1;\r\n const type = identify(value);\r\n return { ipc: \"binary\", type, index };\r\n } else {\r\n return undefined;\r\n }\r\n}\r\n\r\nfunction reviveBinary(value: Marker): ArrayBufferView {\r\n const constructor = lookup(value);\r\n const part = parts[value.index];\r\n return new constructor(part);\r\n}\r\n\r\nfunction makePromise<T>() {\r\n let resolve: (value: T | PromiseLike<T>) => void = () => { };\r\n let reject: (reason?: any) => void = () => { };\r\n const promise = new Promise<T>((res, rej) => { resolve = res; reject = rej; });\r\n return { promise, resolve, reject };\r\n}\r\n\r\n/* Reconstructing the sequence in which messages were sent is necessary since\r\n the binary data for a message has to be awaited in IpcWebSocketTransport.unwrap. */\r\nclass InSentOrder {\r\n private static _connections: Map<any, { queue: InSentOrder[], last: number }> = new Map();\r\n\r\n public static async deliver(message: IpcWebSocketMessage, connection: any): Promise<IpcWebSocketMessage> {\r\n let context = this._connections.get(connection);\r\n if (!context) {\r\n context = { queue: [], last: -1 };\r\n this._connections.set(connection, context);\r\n }\r\n\r\n const entry = new InSentOrder(message);\r\n context.queue.push(entry);\r\n context.queue.sort((a, b) => a.sequence - b.sequence);\r\n\r\n while (context.queue.length !== 0) {\r\n const next = context.queue[0];\r\n const duplicate = next.sequence <= context.last;\r\n const match = next.sequence === (context.last + 1);\r\n\r\n if (duplicate) {\r\n next.duplicate = true;\r\n } else if (match) {\r\n ++context.last;\r\n }\r\n\r\n if (duplicate || match) {\r\n context.queue.shift();\r\n next.release();\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n return entry.message;\r\n }\r\n\r\n public static close(connection: any) {\r\n this._connections.delete(connection);\r\n }\r\n\r\n public release = () => { };\r\n public sequence: number;\r\n public duplicate = false;\r\n public message: Promise<IpcWebSocketMessage>;\r\n\r\n private constructor(message: IpcWebSocketMessage) {\r\n this.sequence = message.sequence;\r\n\r\n const { promise, resolve } = makePromise<IpcWebSocketMessage>();\r\n this.message = promise;\r\n\r\n this.release = () => {\r\n const value = this.duplicate ? IpcWebSocketMessage.duplicate() : message;\r\n resolve(value);\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"IpcWebSocketTransport.js","sourceRoot":"","sources":["../../../src/ipc/IpcWebSocketTransport.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 IpcSocket\r\n */\r\n\r\nimport { Buffer } from \"buffer\";\r\nimport { IpcWebSocketMessage } from \"./IpcWebSocket\";\r\n\r\nlet parts: any[] = [];\r\n\r\n/** @internal */\r\nexport abstract class IpcWebSocketTransport {\r\n private _partial?: string;\r\n private _received: any[] = [];\r\n private _outstanding = 0;\r\n\r\n public abstract send(message: IpcWebSocketMessage): void;\r\n\r\n protected unwrap(data: any) {\r\n return (typeof (Blob) !== \"undefined\" && data instanceof Blob) ? data.arrayBuffer() : data;\r\n }\r\n\r\n protected async notifyIncoming(data: any, connection: any): Promise<IpcWebSocketMessage> {\r\n if (this._partial) {\r\n this._received.push(data);\r\n --this._outstanding;\r\n\r\n if (this._outstanding === 0) {\r\n const partial = this._partial;\r\n const received = this._received;\r\n this._partial = undefined;\r\n this._received = [];\r\n await Promise.all(received.map(async (v, i, a) => a[i] = await this.unwrap(v)));\r\n\r\n parts = received;\r\n const message: IpcWebSocketMessage = JSON.parse(partial, reviver);\r\n parts.length = 0;\r\n\r\n return InSentOrder.deliver(message, connection);\r\n } else {\r\n return IpcWebSocketMessage.internal();\r\n }\r\n } else {\r\n const [serialized, followers] = JSON.parse(data);\r\n\r\n if (followers) {\r\n this._partial = serialized;\r\n this._outstanding = followers;\r\n return IpcWebSocketMessage.internal();\r\n } else {\r\n const message: IpcWebSocketMessage = JSON.parse(serialized, reviver);\r\n return InSentOrder.deliver(message, connection);\r\n }\r\n }\r\n }\r\n\r\n protected serialize(data: IpcWebSocketMessage): any[] {\r\n parts.length = 0;\r\n const objects = JSON.stringify(data, replacer);\r\n const value = [JSON.stringify([objects, parts.length]), ...parts];\r\n parts.length = 0;\r\n return value;\r\n }\r\n\r\n protected notifyClose(connection: any) {\r\n InSentOrder.close(connection);\r\n }\r\n}\r\n\r\ninterface Marker { ipc: \"binary\", type: number, index: number }\r\nconst types = [Uint8Array, Int8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, DataView];\r\nfunction identify(value: any) { return Buffer.isBuffer(value) ? 0 : types.indexOf(value.constructor); }\r\nfunction lookup(value: Marker) { return types[value.type]; }\r\n\r\nfunction replacer(this: any, _key: string, value: any) {\r\n const asBinary = replaceBinary(value);\r\n if (asBinary) {\r\n return asBinary;\r\n }\r\n\r\n return value;\r\n}\r\n\r\nfunction reviver(_key: string, value: any) {\r\n if (typeof (value) === \"object\" && value !== null && value.hasOwnProperty(\"ipc\") && value.ipc === \"binary\") {\r\n return reviveBinary(value);\r\n }\r\n\r\n return value;\r\n}\r\n\r\nfunction replaceBinary(value: any): Marker | undefined {\r\n if (ArrayBuffer.isView(value) || Buffer.isBuffer(value)) {\r\n const index = parts.push(value) - 1;\r\n const type = identify(value);\r\n return { ipc: \"binary\", type, index };\r\n } else {\r\n return undefined;\r\n }\r\n}\r\n\r\nfunction reviveBinary(value: Marker): ArrayBufferView {\r\n const constructor = lookup(value);\r\n const part = parts[value.index];\r\n return new constructor(part);\r\n}\r\n\r\nfunction makePromise<T>() {\r\n let resolve: (value: T | PromiseLike<T>) => void = () => { };\r\n let reject: (reason?: any) => void = () => { };\r\n const promise = new Promise<T>((res, rej) => { resolve = res; reject = rej; });\r\n return { promise, resolve, reject };\r\n}\r\n\r\n/* Reconstructing the sequence in which messages were sent is necessary since\r\n the binary data for a message has to be awaited in IpcWebSocketTransport.unwrap. */\r\nclass InSentOrder {\r\n private static _connections: Map<any, { queue: InSentOrder[], last: number }> = new Map();\r\n\r\n public static async deliver(message: IpcWebSocketMessage, connection: any): Promise<IpcWebSocketMessage> {\r\n let context = this._connections.get(connection);\r\n if (!context) {\r\n context = { queue: [], last: -1 };\r\n this._connections.set(connection, context);\r\n }\r\n\r\n const entry = new InSentOrder(message);\r\n context.queue.push(entry);\r\n context.queue.sort((a, b) => a.sequence - b.sequence);\r\n\r\n while (context.queue.length !== 0) {\r\n const next = context.queue[0];\r\n const duplicate = next.sequence <= context.last;\r\n const match = next.sequence === (context.last + 1);\r\n\r\n if (duplicate) {\r\n next.duplicate = true;\r\n } else if (match) {\r\n ++context.last;\r\n }\r\n\r\n if (duplicate || match) {\r\n context.queue.shift();\r\n next.release();\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n return entry.message;\r\n }\r\n\r\n public static close(connection: any) {\r\n this._connections.delete(connection);\r\n }\r\n\r\n public release = () => { };\r\n public sequence: number;\r\n public duplicate = false;\r\n public message: Promise<IpcWebSocketMessage>;\r\n\r\n private constructor(message: IpcWebSocketMessage) {\r\n this.sequence = message.sequence;\r\n\r\n const { promise, resolve } = makePromise<IpcWebSocketMessage>();\r\n this.message = promise;\r\n\r\n this.release = () => {\r\n const value = this.duplicate ? IpcWebSocketMessage.duplicate() : message;\r\n resolve(value);\r\n };\r\n }\r\n}\r\n"]}
@@ -12,12 +12,12 @@ import { GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, IModelCoordina
12
12
  import { GeometryContainmentRequestProps, GeometryContainmentResponseProps } from "../GeometryContainment";
13
13
  import { GeometrySummaryRequestProps } from "../GeometrySummary";
14
14
  import { IModelConnectionProps, IModelRpcOpenProps, IModelRpcProps } from "../IModel";
15
- import { MassPropertiesRequestProps, MassPropertiesResponseProps } from "../MassProperties";
15
+ import { MassPropertiesPerCandidateRequestProps, MassPropertiesPerCandidateResponseProps, MassPropertiesRequestProps, MassPropertiesResponseProps } from "../MassProperties";
16
16
  import { ModelProps } from "../ModelProps";
17
17
  import { RpcInterface } from "../RpcInterface";
18
18
  import { SnapRequestProps, SnapResponseProps } from "../Snapping";
19
19
  import { TextureData, TextureLoadProps } from "../TextureProps";
20
- import { ViewStateLoadProps, ViewStateProps } from "../ViewProps";
20
+ import { CustomViewState3dCreatorOptions, CustomViewState3dProps, HydrateViewStateRequestProps, HydrateViewStateResponseProps, ViewStateLoadProps, ViewStateProps } from "../ViewProps";
21
21
  import { RpcNotFoundResponse } from "./core/RpcControl";
22
22
  import { RpcRoutingToken } from "./core/RpcRoutingToken";
23
23
  /** Response if the IModelDb was not found at the backend
@@ -58,10 +58,13 @@ export declare abstract class IModelReadRpcInterface extends RpcInterface {
58
58
  /** @deprecated */
59
59
  getViewThumbnail(_iModelToken: IModelRpcProps, _viewId: string): Promise<Uint8Array>;
60
60
  getDefaultViewId(_iModelToken: IModelRpcProps): Promise<Id64String>;
61
+ getCustomViewState3dData(_iModelToken: IModelRpcProps, _options: CustomViewState3dCreatorOptions): Promise<CustomViewState3dProps>;
62
+ hydrateViewState(_iModelToken: IModelRpcProps, _options: HydrateViewStateRequestProps): Promise<HydrateViewStateResponseProps>;
61
63
  requestSnap(_iModelToken: IModelRpcProps, _sessionId: string, _props: SnapRequestProps): Promise<SnapResponseProps>;
62
64
  cancelSnap(_iModelToken: IModelRpcProps, _sessionId: string): Promise<void>;
63
65
  getGeometryContainment(_iModelToken: IModelRpcProps, _props: GeometryContainmentRequestProps): Promise<GeometryContainmentResponseProps>;
64
66
  getMassProperties(_iModelToken: IModelRpcProps, _props: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps>;
67
+ getMassPropertiesPerCandidate(_iModelToken: IModelRpcProps, _props: MassPropertiesPerCandidateRequestProps): Promise<MassPropertiesPerCandidateResponseProps[]>;
65
68
  getIModelCoordinatesFromGeoCoordinates(_iModelToken: IModelRpcProps, _props: IModelCoordinatesRequestProps): Promise<IModelCoordinatesResponseProps>;
66
69
  getGeoCoordinatesFromIModelCoordinates(_iModelToken: IModelRpcProps, _props: GeoCoordinatesRequestProps): Promise<GeoCoordinatesResponseProps>;
67
70
  getGeometrySummary(_iModelToken: IModelRpcProps, _props: GeometrySummaryRequestProps): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"IModelReadRpcInterface.d.ts","sourceRoot":"","sources":["../../../src/rpc/IModelReadRpcInterface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelReadRpcInterface.d.ts","sourceRoot":"","sources":["../../../src/rpc/IModelReadRpcInterface.ts"],"names":[],"mappings":"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"}
@@ -53,10 +53,13 @@ class IModelReadRpcInterface extends RpcInterface_1.RpcInterface {
53
53
  /** @deprecated */
54
54
  async getViewThumbnail(_iModelToken, _viewId) { return this.forward(arguments); }
55
55
  async getDefaultViewId(_iModelToken) { return this.forward(arguments); }
56
+ async getCustomViewState3dData(_iModelToken, _options) { return this.forward(arguments); }
57
+ async hydrateViewState(_iModelToken, _options) { return this.forward(arguments); }
56
58
  async requestSnap(_iModelToken, _sessionId, _props) { return this.forward(arguments); }
57
59
  async cancelSnap(_iModelToken, _sessionId) { return this.forward(arguments); }
58
60
  async getGeometryContainment(_iModelToken, _props) { return this.forward(arguments); }
59
61
  async getMassProperties(_iModelToken, _props) { return this.forward(arguments); }
62
+ async getMassPropertiesPerCandidate(_iModelToken, _props) { return this.forward(arguments); }
60
63
  async getIModelCoordinatesFromGeoCoordinates(_iModelToken, _props) { return this.forward(arguments); }
61
64
  async getGeoCoordinatesFromIModelCoordinates(_iModelToken, _props) { return this.forward(arguments); }
62
65
  async getGeometrySummary(_iModelToken, _props) { return this.forward(arguments); }
@@ -69,5 +72,5 @@ exports.IModelReadRpcInterface = IModelReadRpcInterface;
69
72
  /** The immutable name of the interface. */
70
73
  IModelReadRpcInterface.interfaceName = "IModelReadRpcInterface";
71
74
  /** The semantic version of the interface. */
72
- IModelReadRpcInterface.interfaceVersion = "3.0.0";
75
+ IModelReadRpcInterface.interfaceVersion = "3.1.0";
73
76
  //# sourceMappingURL=IModelReadRpcInterface.js.map