@itwin/core-frontend 4.10.0-dev.3 → 4.10.0-dev.30

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 (574) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  3. package/lib/cjs/AccuSnap.js +9 -5
  4. package/lib/cjs/AccuSnap.js.map +1 -1
  5. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  6. package/lib/cjs/DisplayStyleState.js +5 -1
  7. package/lib/cjs/DisplayStyleState.js.map +1 -1
  8. package/lib/cjs/DrawingViewState.d.ts +7 -2
  9. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  10. package/lib/cjs/DrawingViewState.js +18 -6
  11. package/lib/cjs/DrawingViewState.js.map +1 -1
  12. package/lib/cjs/ElementLocateManager.d.ts +7 -1
  13. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  14. package/lib/cjs/ElementLocateManager.js +34 -10
  15. package/lib/cjs/ElementLocateManager.js.map +1 -1
  16. package/lib/cjs/HitDetail.d.ts +10 -7
  17. package/lib/cjs/HitDetail.d.ts.map +1 -1
  18. package/lib/cjs/HitDetail.js +4 -2
  19. package/lib/cjs/HitDetail.js.map +1 -1
  20. package/lib/cjs/IModelConnection.d.ts +1 -0
  21. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  22. package/lib/cjs/IModelConnection.js +2 -1
  23. package/lib/cjs/IModelConnection.js.map +1 -1
  24. package/lib/cjs/NoRenderApp.d.ts +1 -0
  25. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  26. package/lib/cjs/NoRenderApp.js +1 -0
  27. package/lib/cjs/NoRenderApp.js.map +1 -1
  28. package/lib/cjs/SheetViewState.d.ts +0 -1
  29. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  30. package/lib/cjs/SheetViewState.js +0 -1
  31. package/lib/cjs/SheetViewState.js.map +1 -1
  32. package/lib/cjs/ViewState.d.ts +6 -2
  33. package/lib/cjs/ViewState.d.ts.map +1 -1
  34. package/lib/cjs/ViewState.js +3 -1
  35. package/lib/cjs/ViewState.js.map +1 -1
  36. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  37. package/lib/cjs/ViewingSpace.js +3 -0
  38. package/lib/cjs/ViewingSpace.js.map +1 -1
  39. package/lib/cjs/Viewport.d.ts +25 -1
  40. package/lib/cjs/Viewport.d.ts.map +1 -1
  41. package/lib/cjs/Viewport.js +20 -12
  42. package/lib/cjs/Viewport.js.map +1 -1
  43. package/lib/cjs/common/WorkerProxy.d.ts +8 -4
  44. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -1
  45. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  46. package/lib/cjs/common/imdl/ImdlModel.d.ts +3 -8
  47. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -1
  48. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  49. package/lib/cjs/common/internal/Symbols.d.ts +7 -0
  50. package/lib/cjs/common/internal/Symbols.d.ts.map +1 -1
  51. package/lib/cjs/common/internal/Symbols.js +8 -1
  52. package/lib/cjs/common/internal/Symbols.js.map +1 -1
  53. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.d.ts +15 -0
  54. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -0
  55. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js +95 -0
  56. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -0
  57. package/lib/cjs/common/internal/render/LineCode.d.ts +9 -0
  58. package/lib/cjs/common/internal/render/LineCode.d.ts.map +1 -0
  59. package/lib/cjs/common/internal/render/LineCode.js +31 -0
  60. package/lib/cjs/common/internal/render/LineCode.js.map +1 -0
  61. package/lib/cjs/common/internal/render/OvrFlags.d.ts +27 -0
  62. package/lib/cjs/common/internal/render/OvrFlags.d.ts.map +1 -0
  63. package/lib/cjs/common/internal/render/OvrFlags.js +10 -0
  64. package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -0
  65. package/lib/cjs/common/internal/render/VertexTable.d.ts.map +1 -1
  66. package/lib/cjs/common/internal/render/VertexTable.js +3 -5
  67. package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
  68. package/lib/cjs/common/render/InstancedGraphicParams.d.ts +25 -1
  69. package/lib/cjs/common/render/InstancedGraphicParams.d.ts.map +1 -1
  70. package/lib/cjs/common/render/InstancedGraphicParams.js +59 -0
  71. package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
  72. package/lib/cjs/common/render/RenderInstancesParams.d.ts +76 -0
  73. package/lib/cjs/common/render/RenderInstancesParams.d.ts.map +1 -0
  74. package/lib/cjs/common/render/RenderInstancesParams.js +33 -0
  75. package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -0
  76. package/lib/cjs/common.d.ts +1 -0
  77. package/lib/cjs/common.d.ts.map +1 -1
  78. package/lib/cjs/common.js +1 -0
  79. package/lib/cjs/common.js.map +1 -1
  80. package/lib/cjs/core-frontend.d.ts +1 -0
  81. package/lib/cjs/core-frontend.d.ts.map +1 -1
  82. package/lib/cjs/core-frontend.js +1 -0
  83. package/lib/cjs/core-frontend.js.map +1 -1
  84. package/lib/cjs/internal/render/PrimitiveBuilder.d.ts +4 -1
  85. package/lib/cjs/internal/render/PrimitiveBuilder.d.ts.map +1 -1
  86. package/lib/cjs/internal/render/PrimitiveBuilder.js +82 -35
  87. package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
  88. package/lib/cjs/internal/render/RenderGeometry.d.ts +20 -0
  89. package/lib/cjs/internal/render/RenderGeometry.d.ts.map +1 -0
  90. package/lib/cjs/internal/render/RenderGeometry.js +10 -0
  91. package/lib/cjs/internal/render/RenderGeometry.js.map +1 -0
  92. package/lib/cjs/internal/render/RenderInstancesParamsImpl.d.ts +24 -0
  93. package/lib/cjs/internal/render/RenderInstancesParamsImpl.d.ts.map +1 -0
  94. package/lib/cjs/internal/render/RenderInstancesParamsImpl.js +69 -0
  95. package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -0
  96. package/lib/cjs/render/GraphicBranch.d.ts +11 -2
  97. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  98. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  99. package/lib/cjs/render/GraphicBuilder.d.ts +17 -3
  100. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  101. package/lib/cjs/render/GraphicBuilder.js +7 -1
  102. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  103. package/lib/cjs/render/GraphicTemplate.d.ts +76 -0
  104. package/lib/cjs/render/GraphicTemplate.d.ts.map +1 -0
  105. package/lib/cjs/render/GraphicTemplate.js +41 -0
  106. package/lib/cjs/render/GraphicTemplate.js.map +1 -0
  107. package/lib/cjs/render/MockRender.d.ts +12 -2
  108. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  109. package/lib/cjs/render/MockRender.js +19 -5
  110. package/lib/cjs/render/MockRender.js.map +1 -1
  111. package/lib/cjs/render/Pixel.d.ts +9 -1
  112. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  113. package/lib/cjs/render/Pixel.js +2 -0
  114. package/lib/cjs/render/Pixel.js.map +1 -1
  115. package/lib/cjs/render/RealityMeshGraphicParams.d.ts +1 -0
  116. package/lib/cjs/render/RealityMeshGraphicParams.d.ts.map +1 -1
  117. package/lib/cjs/render/RealityMeshGraphicParams.js.map +1 -1
  118. package/lib/cjs/render/RenderMemory.d.ts +2 -0
  119. package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
  120. package/lib/cjs/render/RenderMemory.js +2 -0
  121. package/lib/cjs/render/RenderMemory.js.map +1 -1
  122. package/lib/cjs/render/RenderPlan.d.ts +2 -1
  123. package/lib/cjs/render/RenderPlan.d.ts.map +1 -1
  124. package/lib/cjs/render/RenderPlan.js +2 -0
  125. package/lib/cjs/render/RenderPlan.js.map +1 -1
  126. package/lib/cjs/render/RenderSystem.d.ts +59 -11
  127. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  128. package/lib/cjs/render/RenderSystem.js +44 -6
  129. package/lib/cjs/render/RenderSystem.js.map +1 -1
  130. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  131. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  132. package/lib/cjs/render/RenderTarget.js.map +1 -1
  133. package/lib/cjs/render/webgl/BatchUniforms.d.ts +4 -0
  134. package/lib/cjs/render/webgl/BatchUniforms.d.ts.map +1 -1
  135. package/lib/cjs/render/webgl/BatchUniforms.js +18 -0
  136. package/lib/cjs/render/webgl/BatchUniforms.js.map +1 -1
  137. package/lib/cjs/render/webgl/BranchState.d.ts +7 -0
  138. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  139. package/lib/cjs/render/webgl/BranchState.js +4 -0
  140. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  141. package/lib/cjs/render/webgl/BranchUniforms.d.ts +1 -0
  142. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  143. package/lib/cjs/render/webgl/BranchUniforms.js +14 -1
  144. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  145. package/lib/cjs/render/webgl/ContourUniforms.d.ts +22 -0
  146. package/lib/cjs/render/webgl/ContourUniforms.d.ts.map +1 -0
  147. package/lib/cjs/render/webgl/ContourUniforms.js +98 -0
  148. package/lib/cjs/render/webgl/ContourUniforms.js.map +1 -0
  149. package/lib/cjs/render/webgl/Contours.d.ts +34 -0
  150. package/lib/cjs/render/webgl/Contours.d.ts.map +1 -0
  151. package/lib/cjs/render/webgl/Contours.js +127 -0
  152. package/lib/cjs/render/webgl/Contours.js.map +1 -0
  153. package/lib/cjs/render/webgl/EdgeSettings.d.ts +2 -1
  154. package/lib/cjs/render/webgl/EdgeSettings.d.ts.map +1 -1
  155. package/lib/cjs/render/webgl/EdgeSettings.js +1 -1
  156. package/lib/cjs/render/webgl/EdgeSettings.js.map +1 -1
  157. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +2 -0
  158. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  159. package/lib/cjs/render/webgl/FeatureOverrides.js +83 -69
  160. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  161. package/lib/cjs/render/webgl/GL.d.ts +2 -1
  162. package/lib/cjs/render/webgl/GL.d.ts.map +1 -1
  163. package/lib/cjs/render/webgl/GL.js +1 -0
  164. package/lib/cjs/render/webgl/GL.js.map +1 -1
  165. package/lib/cjs/render/webgl/Graphic.d.ts +9 -0
  166. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  167. package/lib/cjs/render/webgl/Graphic.js +27 -0
  168. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  169. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +40 -10
  170. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  171. package/lib/cjs/render/webgl/InstancedGeometry.js +99 -31
  172. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  173. package/lib/cjs/render/webgl/LineCode.d.ts.map +1 -1
  174. package/lib/cjs/render/webgl/LineCode.js +2 -14
  175. package/lib/cjs/render/webgl/LineCode.js.map +1 -1
  176. package/lib/cjs/render/webgl/Mesh.d.ts +9 -4
  177. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  178. package/lib/cjs/render/webgl/Mesh.js +18 -16
  179. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  180. package/lib/cjs/render/webgl/PointCloud.d.ts +5 -1
  181. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  182. package/lib/cjs/render/webgl/PointCloud.js +7 -2
  183. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  184. package/lib/cjs/render/webgl/PointString.d.ts +5 -1
  185. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  186. package/lib/cjs/render/webgl/PointString.js +8 -3
  187. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  188. package/lib/cjs/render/webgl/Polyline.d.ts +5 -1
  189. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  190. package/lib/cjs/render/webgl/Polyline.js +7 -2
  191. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  192. package/lib/cjs/render/webgl/Primitive.d.ts +1 -3
  193. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  194. package/lib/cjs/render/webgl/Primitive.js +1 -6
  195. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  196. package/lib/cjs/render/webgl/RealityMesh.d.ts +5 -1
  197. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  198. package/lib/cjs/render/webgl/RealityMesh.js +7 -1
  199. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  200. package/lib/cjs/render/webgl/RenderFlags.d.ts +2 -19
  201. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  202. package/lib/cjs/render/webgl/RenderFlags.js +2 -0
  203. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  204. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  205. package/lib/cjs/render/webgl/SceneCompositor.js +12 -3
  206. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  207. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +15 -13
  208. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  209. package/lib/cjs/render/webgl/ShaderBuilder.js +18 -10
  210. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  211. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  212. package/lib/cjs/render/webgl/ShaderProgram.js +26 -0
  213. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  214. package/lib/cjs/render/webgl/System.d.ts +11 -5
  215. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  216. package/lib/cjs/render/webgl/System.js +81 -13
  217. package/lib/cjs/render/webgl/System.js.map +1 -1
  218. package/lib/cjs/render/webgl/Target.d.ts +6 -2
  219. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  220. package/lib/cjs/render/webgl/Target.js +24 -1
  221. package/lib/cjs/render/webgl/Target.js.map +1 -1
  222. package/lib/cjs/render/webgl/TargetUniforms.d.ts +2 -0
  223. package/lib/cjs/render/webgl/TargetUniforms.d.ts.map +1 -1
  224. package/lib/cjs/render/webgl/TargetUniforms.js +2 -0
  225. package/lib/cjs/render/webgl/TargetUniforms.js.map +1 -1
  226. package/lib/cjs/render/webgl/Texture.d.ts +2 -1
  227. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  228. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  229. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +1 -1
  230. package/lib/cjs/render/webgl/glsl/Atmosphere.js +1 -1
  231. package/lib/cjs/render/webgl/glsl/Blur.js +1 -1
  232. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +1 -1
  233. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +1 -1
  234. package/lib/cjs/render/webgl/glsl/Clipping.js +1 -1
  235. package/lib/cjs/render/webgl/glsl/Combine3Textures.js +1 -1
  236. package/lib/cjs/render/webgl/glsl/CombineTextures.js +1 -1
  237. package/lib/cjs/render/webgl/glsl/Composite.js +1 -1
  238. package/lib/cjs/render/webgl/glsl/Contours.d.ts +4 -0
  239. package/lib/cjs/render/webgl/glsl/Contours.d.ts.map +1 -0
  240. package/lib/cjs/render/webgl/glsl/Contours.js +138 -0
  241. package/lib/cjs/render/webgl/glsl/Contours.js.map +1 -0
  242. package/lib/cjs/render/webgl/glsl/CopyColor.js +1 -1
  243. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +1 -1
  244. package/lib/cjs/render/webgl/glsl/CopyStencil.js +5 -5
  245. package/lib/cjs/render/webgl/glsl/EDL.js +4 -4
  246. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +1 -1
  247. package/lib/cjs/render/webgl/glsl/Edge.js +1 -1
  248. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts +2 -1
  249. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  250. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +28 -15
  251. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  252. package/lib/cjs/render/webgl/glsl/Fragment.js +9 -9
  253. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  254. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +4 -4
  255. package/lib/cjs/render/webgl/glsl/PointCloud.js +1 -1
  256. package/lib/cjs/render/webgl/glsl/RealityMesh.js +3 -3
  257. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
  258. package/lib/cjs/render/webgl/glsl/SkyBox.js +1 -1
  259. package/lib/cjs/render/webgl/glsl/SkySphere.js +1 -1
  260. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js +1 -1
  261. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  262. package/lib/cjs/render/webgl/glsl/Surface.js +5 -3
  263. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  264. package/lib/cjs/render/webgl/glsl/Translucency.js +1 -1
  265. package/lib/cjs/render/webgl/glsl/Wiremesh.js +1 -1
  266. package/lib/cjs/tile/GltfReader.d.ts +27 -7
  267. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  268. package/lib/cjs/tile/GltfReader.js +84 -68
  269. package/lib/cjs/tile/GltfReader.js.map +1 -1
  270. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts +4 -1
  271. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  272. package/lib/cjs/tile/ImdlGraphicsCreator.js +32 -22
  273. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -1
  274. package/lib/cjs/tile/TileDrawArgs.d.ts +4 -0
  275. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  276. package/lib/cjs/tile/TileDrawArgs.js +2 -0
  277. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  278. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  279. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  280. package/lib/cjs/tile/TileTreeReference.js +3 -0
  281. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  282. package/lib/cjs/tile/map/MapTile.js +1 -1
  283. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  284. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  285. package/lib/cjs/tile/map/MapTilingScheme.js +4 -0
  286. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  287. package/lib/esm/AccuSnap.d.ts.map +1 -1
  288. package/lib/esm/AccuSnap.js +9 -5
  289. package/lib/esm/AccuSnap.js.map +1 -1
  290. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  291. package/lib/esm/DisplayStyleState.js +5 -1
  292. package/lib/esm/DisplayStyleState.js.map +1 -1
  293. package/lib/esm/DrawingViewState.d.ts +7 -2
  294. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  295. package/lib/esm/DrawingViewState.js +18 -6
  296. package/lib/esm/DrawingViewState.js.map +1 -1
  297. package/lib/esm/ElementLocateManager.d.ts +7 -1
  298. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  299. package/lib/esm/ElementLocateManager.js +34 -10
  300. package/lib/esm/ElementLocateManager.js.map +1 -1
  301. package/lib/esm/HitDetail.d.ts +10 -7
  302. package/lib/esm/HitDetail.d.ts.map +1 -1
  303. package/lib/esm/HitDetail.js +4 -2
  304. package/lib/esm/HitDetail.js.map +1 -1
  305. package/lib/esm/IModelConnection.d.ts +1 -0
  306. package/lib/esm/IModelConnection.d.ts.map +1 -1
  307. package/lib/esm/IModelConnection.js +2 -1
  308. package/lib/esm/IModelConnection.js.map +1 -1
  309. package/lib/esm/NoRenderApp.d.ts +1 -0
  310. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  311. package/lib/esm/NoRenderApp.js +1 -0
  312. package/lib/esm/NoRenderApp.js.map +1 -1
  313. package/lib/esm/SheetViewState.d.ts +0 -1
  314. package/lib/esm/SheetViewState.d.ts.map +1 -1
  315. package/lib/esm/SheetViewState.js +0 -1
  316. package/lib/esm/SheetViewState.js.map +1 -1
  317. package/lib/esm/ViewState.d.ts +6 -2
  318. package/lib/esm/ViewState.d.ts.map +1 -1
  319. package/lib/esm/ViewState.js +3 -1
  320. package/lib/esm/ViewState.js.map +1 -1
  321. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  322. package/lib/esm/ViewingSpace.js +3 -0
  323. package/lib/esm/ViewingSpace.js.map +1 -1
  324. package/lib/esm/Viewport.d.ts +25 -1
  325. package/lib/esm/Viewport.d.ts.map +1 -1
  326. package/lib/esm/Viewport.js +20 -12
  327. package/lib/esm/Viewport.js.map +1 -1
  328. package/lib/esm/common/WorkerProxy.d.ts +8 -4
  329. package/lib/esm/common/WorkerProxy.d.ts.map +1 -1
  330. package/lib/esm/common/WorkerProxy.js.map +1 -1
  331. package/lib/esm/common/imdl/ImdlModel.d.ts +3 -8
  332. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -1
  333. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  334. package/lib/esm/common/internal/Symbols.d.ts +7 -0
  335. package/lib/esm/common/internal/Symbols.d.ts.map +1 -1
  336. package/lib/esm/common/internal/Symbols.js +7 -0
  337. package/lib/esm/common/internal/Symbols.js.map +1 -1
  338. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.d.ts +15 -0
  339. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -0
  340. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js +91 -0
  341. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -0
  342. package/lib/esm/common/internal/render/LineCode.d.ts +9 -0
  343. package/lib/esm/common/internal/render/LineCode.d.ts.map +1 -0
  344. package/lib/esm/common/internal/render/LineCode.js +27 -0
  345. package/lib/esm/common/internal/render/LineCode.js.map +1 -0
  346. package/lib/esm/common/internal/render/OvrFlags.d.ts +27 -0
  347. package/lib/esm/common/internal/render/OvrFlags.d.ts.map +1 -0
  348. package/lib/esm/common/internal/render/OvrFlags.js +9 -0
  349. package/lib/esm/common/internal/render/OvrFlags.js.map +1 -0
  350. package/lib/esm/common/internal/render/VertexTable.d.ts.map +1 -1
  351. package/lib/esm/common/internal/render/VertexTable.js +3 -5
  352. package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
  353. package/lib/esm/common/render/InstancedGraphicParams.d.ts +25 -1
  354. package/lib/esm/common/render/InstancedGraphicParams.d.ts.map +1 -1
  355. package/lib/esm/common/render/InstancedGraphicParams.js +58 -1
  356. package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
  357. package/lib/esm/common/render/RenderInstancesParams.d.ts +76 -0
  358. package/lib/esm/common/render/RenderInstancesParams.d.ts.map +1 -0
  359. package/lib/esm/common/render/RenderInstancesParams.js +30 -0
  360. package/lib/esm/common/render/RenderInstancesParams.js.map +1 -0
  361. package/lib/esm/common.d.ts +1 -0
  362. package/lib/esm/common.d.ts.map +1 -1
  363. package/lib/esm/common.js +1 -0
  364. package/lib/esm/common.js.map +1 -1
  365. package/lib/esm/core-frontend.d.ts +1 -0
  366. package/lib/esm/core-frontend.d.ts.map +1 -1
  367. package/lib/esm/core-frontend.js +1 -0
  368. package/lib/esm/core-frontend.js.map +1 -1
  369. package/lib/esm/internal/render/PrimitiveBuilder.d.ts +4 -1
  370. package/lib/esm/internal/render/PrimitiveBuilder.d.ts.map +1 -1
  371. package/lib/esm/internal/render/PrimitiveBuilder.js +82 -35
  372. package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
  373. package/lib/esm/internal/render/RenderGeometry.d.ts +20 -0
  374. package/lib/esm/internal/render/RenderGeometry.d.ts.map +1 -0
  375. package/lib/esm/internal/render/RenderGeometry.js +9 -0
  376. package/lib/esm/internal/render/RenderGeometry.js.map +1 -0
  377. package/lib/esm/internal/render/RenderInstancesParamsImpl.d.ts +24 -0
  378. package/lib/esm/internal/render/RenderInstancesParamsImpl.d.ts.map +1 -0
  379. package/lib/esm/internal/render/RenderInstancesParamsImpl.js +64 -0
  380. package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -0
  381. package/lib/esm/render/GraphicBranch.d.ts +11 -2
  382. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  383. package/lib/esm/render/GraphicBranch.js.map +1 -1
  384. package/lib/esm/render/GraphicBuilder.d.ts +17 -3
  385. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  386. package/lib/esm/render/GraphicBuilder.js +7 -1
  387. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  388. package/lib/esm/render/GraphicTemplate.d.ts +76 -0
  389. package/lib/esm/render/GraphicTemplate.d.ts.map +1 -0
  390. package/lib/esm/render/GraphicTemplate.js +37 -0
  391. package/lib/esm/render/GraphicTemplate.js.map +1 -0
  392. package/lib/esm/render/MockRender.d.ts +12 -2
  393. package/lib/esm/render/MockRender.d.ts.map +1 -1
  394. package/lib/esm/render/MockRender.js +19 -5
  395. package/lib/esm/render/MockRender.js.map +1 -1
  396. package/lib/esm/render/Pixel.d.ts +9 -1
  397. package/lib/esm/render/Pixel.d.ts.map +1 -1
  398. package/lib/esm/render/Pixel.js +2 -0
  399. package/lib/esm/render/Pixel.js.map +1 -1
  400. package/lib/esm/render/RealityMeshGraphicParams.d.ts +1 -0
  401. package/lib/esm/render/RealityMeshGraphicParams.d.ts.map +1 -1
  402. package/lib/esm/render/RealityMeshGraphicParams.js.map +1 -1
  403. package/lib/esm/render/RenderMemory.d.ts +2 -0
  404. package/lib/esm/render/RenderMemory.d.ts.map +1 -1
  405. package/lib/esm/render/RenderMemory.js +2 -0
  406. package/lib/esm/render/RenderMemory.js.map +1 -1
  407. package/lib/esm/render/RenderPlan.d.ts +2 -1
  408. package/lib/esm/render/RenderPlan.d.ts.map +1 -1
  409. package/lib/esm/render/RenderPlan.js +2 -0
  410. package/lib/esm/render/RenderPlan.js.map +1 -1
  411. package/lib/esm/render/RenderSystem.d.ts +59 -11
  412. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  413. package/lib/esm/render/RenderSystem.js +46 -8
  414. package/lib/esm/render/RenderSystem.js.map +1 -1
  415. package/lib/esm/render/RenderTarget.d.ts +1 -1
  416. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  417. package/lib/esm/render/RenderTarget.js.map +1 -1
  418. package/lib/esm/render/webgl/BatchUniforms.d.ts +4 -0
  419. package/lib/esm/render/webgl/BatchUniforms.d.ts.map +1 -1
  420. package/lib/esm/render/webgl/BatchUniforms.js +18 -0
  421. package/lib/esm/render/webgl/BatchUniforms.js.map +1 -1
  422. package/lib/esm/render/webgl/BranchState.d.ts +7 -0
  423. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  424. package/lib/esm/render/webgl/BranchState.js +4 -0
  425. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  426. package/lib/esm/render/webgl/BranchUniforms.d.ts +1 -0
  427. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  428. package/lib/esm/render/webgl/BranchUniforms.js +14 -1
  429. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  430. package/lib/esm/render/webgl/ContourUniforms.d.ts +22 -0
  431. package/lib/esm/render/webgl/ContourUniforms.d.ts.map +1 -0
  432. package/lib/esm/render/webgl/ContourUniforms.js +94 -0
  433. package/lib/esm/render/webgl/ContourUniforms.js.map +1 -0
  434. package/lib/esm/render/webgl/Contours.d.ts +34 -0
  435. package/lib/esm/render/webgl/Contours.d.ts.map +1 -0
  436. package/lib/esm/render/webgl/Contours.js +123 -0
  437. package/lib/esm/render/webgl/Contours.js.map +1 -0
  438. package/lib/esm/render/webgl/EdgeSettings.d.ts +2 -1
  439. package/lib/esm/render/webgl/EdgeSettings.d.ts.map +1 -1
  440. package/lib/esm/render/webgl/EdgeSettings.js +1 -1
  441. package/lib/esm/render/webgl/EdgeSettings.js.map +1 -1
  442. package/lib/esm/render/webgl/FeatureOverrides.d.ts +2 -0
  443. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  444. package/lib/esm/render/webgl/FeatureOverrides.js +83 -69
  445. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  446. package/lib/esm/render/webgl/GL.d.ts +2 -1
  447. package/lib/esm/render/webgl/GL.d.ts.map +1 -1
  448. package/lib/esm/render/webgl/GL.js +1 -0
  449. package/lib/esm/render/webgl/GL.js.map +1 -1
  450. package/lib/esm/render/webgl/Graphic.d.ts +9 -0
  451. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  452. package/lib/esm/render/webgl/Graphic.js +27 -0
  453. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  454. package/lib/esm/render/webgl/InstancedGeometry.d.ts +40 -10
  455. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  456. package/lib/esm/render/webgl/InstancedGeometry.js +97 -30
  457. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  458. package/lib/esm/render/webgl/LineCode.d.ts.map +1 -1
  459. package/lib/esm/render/webgl/LineCode.js +2 -14
  460. package/lib/esm/render/webgl/LineCode.js.map +1 -1
  461. package/lib/esm/render/webgl/Mesh.d.ts +9 -4
  462. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  463. package/lib/esm/render/webgl/Mesh.js +19 -17
  464. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  465. package/lib/esm/render/webgl/PointCloud.d.ts +5 -1
  466. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  467. package/lib/esm/render/webgl/PointCloud.js +7 -2
  468. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  469. package/lib/esm/render/webgl/PointString.d.ts +5 -1
  470. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  471. package/lib/esm/render/webgl/PointString.js +8 -3
  472. package/lib/esm/render/webgl/PointString.js.map +1 -1
  473. package/lib/esm/render/webgl/Polyline.d.ts +5 -1
  474. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  475. package/lib/esm/render/webgl/Polyline.js +7 -2
  476. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  477. package/lib/esm/render/webgl/Primitive.d.ts +1 -3
  478. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  479. package/lib/esm/render/webgl/Primitive.js +2 -7
  480. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  481. package/lib/esm/render/webgl/RealityMesh.d.ts +5 -1
  482. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  483. package/lib/esm/render/webgl/RealityMesh.js +7 -1
  484. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  485. package/lib/esm/render/webgl/RenderFlags.d.ts +2 -19
  486. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  487. package/lib/esm/render/webgl/RenderFlags.js +2 -0
  488. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  489. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  490. package/lib/esm/render/webgl/SceneCompositor.js +12 -3
  491. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  492. package/lib/esm/render/webgl/ShaderBuilder.d.ts +15 -13
  493. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  494. package/lib/esm/render/webgl/ShaderBuilder.js +18 -10
  495. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  496. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  497. package/lib/esm/render/webgl/ShaderProgram.js +26 -0
  498. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  499. package/lib/esm/render/webgl/System.d.ts +11 -5
  500. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  501. package/lib/esm/render/webgl/System.js +82 -14
  502. package/lib/esm/render/webgl/System.js.map +1 -1
  503. package/lib/esm/render/webgl/Target.d.ts +6 -2
  504. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  505. package/lib/esm/render/webgl/Target.js +24 -1
  506. package/lib/esm/render/webgl/Target.js.map +1 -1
  507. package/lib/esm/render/webgl/TargetUniforms.d.ts +2 -0
  508. package/lib/esm/render/webgl/TargetUniforms.d.ts.map +1 -1
  509. package/lib/esm/render/webgl/TargetUniforms.js +2 -0
  510. package/lib/esm/render/webgl/TargetUniforms.js.map +1 -1
  511. package/lib/esm/render/webgl/Texture.d.ts +2 -1
  512. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  513. package/lib/esm/render/webgl/Texture.js.map +1 -1
  514. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +1 -1
  515. package/lib/esm/render/webgl/glsl/Atmosphere.js +1 -1
  516. package/lib/esm/render/webgl/glsl/Blur.js +1 -1
  517. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +1 -1
  518. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +1 -1
  519. package/lib/esm/render/webgl/glsl/Clipping.js +1 -1
  520. package/lib/esm/render/webgl/glsl/Combine3Textures.js +1 -1
  521. package/lib/esm/render/webgl/glsl/CombineTextures.js +1 -1
  522. package/lib/esm/render/webgl/glsl/Composite.js +1 -1
  523. package/lib/esm/render/webgl/glsl/Contours.d.ts +4 -0
  524. package/lib/esm/render/webgl/glsl/Contours.d.ts.map +1 -0
  525. package/lib/esm/render/webgl/glsl/Contours.js +134 -0
  526. package/lib/esm/render/webgl/glsl/Contours.js.map +1 -0
  527. package/lib/esm/render/webgl/glsl/CopyColor.js +1 -1
  528. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +1 -1
  529. package/lib/esm/render/webgl/glsl/CopyStencil.js +5 -5
  530. package/lib/esm/render/webgl/glsl/EDL.js +4 -4
  531. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +1 -1
  532. package/lib/esm/render/webgl/glsl/Edge.js +1 -1
  533. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts +2 -1
  534. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  535. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +27 -15
  536. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  537. package/lib/esm/render/webgl/glsl/Fragment.js +9 -9
  538. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  539. package/lib/esm/render/webgl/glsl/PlanarClassification.js +4 -4
  540. package/lib/esm/render/webgl/glsl/PointCloud.js +1 -1
  541. package/lib/esm/render/webgl/glsl/RealityMesh.js +3 -3
  542. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
  543. package/lib/esm/render/webgl/glsl/SkyBox.js +1 -1
  544. package/lib/esm/render/webgl/glsl/SkySphere.js +1 -1
  545. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js +1 -1
  546. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  547. package/lib/esm/render/webgl/glsl/Surface.js +5 -3
  548. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  549. package/lib/esm/render/webgl/glsl/Translucency.js +1 -1
  550. package/lib/esm/render/webgl/glsl/Wiremesh.js +1 -1
  551. package/lib/esm/tile/GltfReader.d.ts +27 -7
  552. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  553. package/lib/esm/tile/GltfReader.js +82 -67
  554. package/lib/esm/tile/GltfReader.js.map +1 -1
  555. package/lib/esm/tile/ImdlGraphicsCreator.d.ts +4 -1
  556. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  557. package/lib/esm/tile/ImdlGraphicsCreator.js +31 -22
  558. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -1
  559. package/lib/esm/tile/TileDrawArgs.d.ts +4 -0
  560. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  561. package/lib/esm/tile/TileDrawArgs.js +2 -0
  562. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  563. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  564. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  565. package/lib/esm/tile/TileTreeReference.js +3 -0
  566. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  567. package/lib/esm/tile/map/MapTile.js +1 -1
  568. package/lib/esm/tile/map/MapTile.js.map +1 -1
  569. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  570. package/lib/esm/tile/map/MapTilingScheme.js +4 -0
  571. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  572. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  573. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  574. package/package.json +26 -32
@@ -1 +1 @@
1
- {"version":3,"file":"MapTilingScheme.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTilingScheme.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 Tiles\r\n */\r\n\r\nimport { Angle, Matrix3d, Point2d, Point3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { MapCartoRectangle } from \"../internal\";\r\n\r\n/** A scheme for converting between two representations of the surface of the Earth: an ellipsoid and a rectangular [tiled map](https://en.wikipedia.org/wiki/Tiled_web_map).\r\n * Positions on the surface of the ellipsoid are expressed in [Cartographic]($common) coordinates.\r\n * Rectangular [[MapTile]]s are projected onto this ellipsoid by the tiling scheme. Tile coordinates are represented by [[QuadId]]s.\r\n *\r\n * The tiling scheme represents the (x,y) coordinates of its tiles as fractions in [0,1] along the X and Y axes.\r\n * An X fraction of 0 corresponds to the easternmost longitude and an X fraction of 1 to the westernmost longitude.\r\n * The scheme can choose to correlate a Y fraction of 0 with either the north or south pole, as specified by [[rowZeroAtNorthPole]].\r\n * Implementing a tiling scheme only requires implementing the abstract method [[yFractionToLatitude]] and its inverse, [[latitudeToYFraction]].\r\n * @public\r\n */\r\nexport abstract class MapTilingScheme {\r\n /** If true, the fractional Y coordinate 0 corresponds to the north pole and 1 to the south pole; otherwise,\r\n * 0 corresponds to the south pole and 1 to the north.\r\n */\r\n public readonly rowZeroAtNorthPole: boolean;\r\n /** The number of tiles in the X direction at level 0 of the quad tree. */\r\n public readonly numberOfLevelZeroTilesX;\r\n /** The number of tiles in the Y direction at level 0 of the quad tree. */\r\n public readonly numberOfLevelZeroTilesY;\r\n private readonly _scratchFraction = Point2d.createZero();\r\n private readonly _scratchPoint2d = Point2d.createZero();\r\n\r\n /** Convert a longitude in [-pi, pi] radisn to a fraction in [0, 1] along the X axis. */\r\n public longitudeToXFraction(longitude: number) {\r\n return longitude / Angle.pi2Radians + .5;\r\n }\r\n\r\n /** Convert a fraction in [0, 1] along the X axis into a longitude in [-pi, pi] radians. */\r\n public xFractionToLongitude(xFraction: number) {\r\n return Angle.pi2Radians * (xFraction - .5);\r\n }\r\n\r\n /** Convert a fraction in [0, 1] along the Y axis into a latitude in [-pi/2, pi/2] radians. */\r\n public abstract yFractionToLatitude(yFraction: number): number;\r\n\r\n /** Convert a latitude in [-pi/2, pi/2] radians into a fraction in [0, 1] along the Y axis. */\r\n public abstract latitudeToYFraction(latitude: number): number;\r\n\r\n protected constructor(numberOfLevelZeroTilesX: number, numberOfLevelZeroTilesY: number, rowZeroAtNorthPole: boolean) {\r\n this.rowZeroAtNorthPole = rowZeroAtNorthPole;\r\n this.numberOfLevelZeroTilesX = numberOfLevelZeroTilesX;\r\n this.numberOfLevelZeroTilesY = numberOfLevelZeroTilesY;\r\n }\r\n\r\n /** The total number of tiles in the X direction at the specified level of detail.\r\n * @param level The level of detail, with 0 corresponding to the root tile.\r\n */\r\n public getNumberOfXTilesAtLevel(level: number) {\r\n return level < 0 ? 1 : this.numberOfLevelZeroTilesX << level;\r\n }\r\n\r\n /** The total number of tiles in the Y direction at the specified level of detail.\r\n * @param level The level of detail, with 0 corresponding to the root tile.\r\n */\r\n public getNumberOfYTilesAtLevel(level: number): number {\r\n return level < 0 ? 1 : this.numberOfLevelZeroTilesY << level;\r\n }\r\n\r\n /** @alpha */\r\n public get rootLevel() {\r\n return this.numberOfLevelZeroTilesX > 1 || this.numberOfLevelZeroTilesY > 1 ? -1 : 0;\r\n }\r\n\r\n /** @alpha */\r\n public getNumberOfXChildrenAtLevel(level: number): number {\r\n return level === 0 ? this.numberOfLevelZeroTilesX : 2;\r\n }\r\n\r\n /** @alpha */\r\n public getNumberOfYChildrenAtLevel(level: number): number {\r\n return level === 0 ? this.numberOfLevelZeroTilesY : 2;\r\n }\r\n\r\n /** Given the X component and level of a [[QuadId]], convert it to a fractional distance along the X axis. */\r\n public tileXToFraction(x: number, level: number): number {\r\n return x / this.getNumberOfXTilesAtLevel(level);\r\n }\r\n\r\n /** Given the Y component and level of a [[QuadId]], convert it to a fractional distance along the Y axis. */\r\n public tileYToFraction(y: number, level: number): number {\r\n return y / this.getNumberOfYTilesAtLevel(level);\r\n }\r\n\r\n /** Given a fractional distance along the X axis and a level of the quad tree, compute the X component of the corresponding [[QuadId]]. */\r\n public xFractionToTileX(xFraction: number, level: number): number {\r\n const nTiles = this.getNumberOfXTilesAtLevel(level);\r\n return Math.min(Math.floor(xFraction * nTiles), nTiles - 1);\r\n }\r\n\r\n /** Given a fractional distance along the Y axis and a level of the quad tree, compute the Y component of the corresponding [[QuadId]]. */\r\n public yFractionToTileY(yFraction: number, level: number): number {\r\n const nTiles = this.getNumberOfYTilesAtLevel(level);\r\n return Math.min(Math.floor(yFraction * nTiles), nTiles - 1);\r\n }\r\n\r\n /** Given the X component and level of a [[QuadId]], compute its longitude in [-pi, pi] radians. */\r\n public tileXToLongitude(x: number, level: number) {\r\n return this.xFractionToLongitude(this.tileXToFraction(x, level));\r\n }\r\n\r\n /** Given the Y component and level of a [[QuadId]], compute its latitude in [-pi/2, pi/2] radians. */\r\n public tileYToLatitude(y: number, level: number) {\r\n return this.yFractionToLatitude(this.tileYToFraction(y, level));\r\n }\r\n\r\n /** Given the components of a [[QuadId]], compute its fractional coordinates in the XY plane. */\r\n public tileXYToFraction(x: number, y: number, level: number, result?: Point2d): Point2d {\r\n if (undefined === result)\r\n result = Point2d.createZero();\r\n\r\n result.x = this.tileXToFraction(x, level);\r\n result.y = this.tileYToFraction(y, level);\r\n\r\n return result;\r\n }\r\n\r\n /** Given the components of a [[QuadId]] and an elevation, compute the corresponding [Cartographic]($common) position.\r\n * @param x The X component of the QuadId.\r\n * @param y The Y component of the QuadId.\r\n * @param level The level component of the QuadId.\r\n * @param height The elevation above the ellipsoid.\r\n * @returns the corresponding cartographic position.\r\n */\r\n public tileXYToCartographic(x: number, y: number, level: number, result: Cartographic, height = 0): Cartographic {\r\n const pt = this.tileXYToFraction(x, y, level, this._scratchFraction);\r\n return this.fractionToCartographic(pt.x, pt.y, result, height);\r\n }\r\n\r\n /** Given the components of a [[QuadId]], compute the corresponding region of the Earth's surface. */\r\n public tileXYToRectangle(x: number, y: number, level: number, result?: MapCartoRectangle) {\r\n if (level < 0)\r\n return MapCartoRectangle.createMaximum();\r\n\r\n return MapCartoRectangle.fromRadians(\r\n this.tileXToLongitude(x, level),\r\n this.tileYToLatitude(this.rowZeroAtNorthPole ? (y + 1) : y, level),\r\n this.tileXToLongitude(x + 1, level),\r\n this.tileYToLatitude(this.rowZeroAtNorthPole ? y : (y + 1), level),\r\n result,\r\n );\r\n }\r\n\r\n /** Returns true if the tile at the specified X coordinate and level is adjacent to the north pole. */\r\n public tileBordersNorthPole(row: number, level: number) {\r\n return this.rowZeroAtNorthPole ? this.tileYToFraction(row, level) === 0.0 : this.tileYToFraction(row + 1, level) === 1.0;\r\n }\r\n\r\n /** Returns true if the tile at the specified X coordinate and level is adjacent to the south pole. */\r\n public tileBordersSouthPole(row: number, level: number) {\r\n return this.rowZeroAtNorthPole ? this.tileYToFraction(row + 1, level) === 1.0 : this.tileYToFraction(row, level) === 0.0;\r\n }\r\n\r\n /** Given a cartographic position, compute the corresponding position on the surface of the Earth as fractional distances along the\r\n * X and Y axes.\r\n */\r\n public cartographicToTileXY(carto: Cartographic, level: number, result?: Point2d): Point2d {\r\n const fraction = this.cartographicToFraction(carto.latitude, carto.longitude, this._scratchPoint2d);\r\n return Point2d.create(this.xFractionToTileX(fraction.x, level), this.yFractionToTileY(fraction.y, level), result);\r\n\r\n }\r\n\r\n /** Given fractional coordinates in the XY plane and an elevation, compute the corresponding cartographic position. */\r\n public fractionToCartographic(xFraction: number, yFraction: number, result: Cartographic, height = 0): Cartographic {\r\n result.longitude = this.xFractionToLongitude(xFraction);\r\n result.latitude = this.yFractionToLatitude(yFraction);\r\n result.height = height;\r\n return result;\r\n }\r\n\r\n /** Given a cartographic location on the surface of the Earth, convert it to fractional coordinates in the XY plane. */\r\n public cartographicToFraction(latitudeRadians: number, longitudeRadians: number, result: Point2d): Point2d {\r\n result.x = this.longitudeToXFraction(longitudeRadians);\r\n result.y = this.latitudeToYFraction(latitudeRadians);\r\n return result;\r\n }\r\n\r\n /** @alpha */\r\n private ecefToPixelFraction(point: Point3d, applyTerrain: boolean): Point3d {\r\n const cartoGraphic = Cartographic.fromEcef(point)!;\r\n return Point3d.create(this.longitudeToXFraction(cartoGraphic.longitude), this.latitudeToYFraction(cartoGraphic.latitude), applyTerrain ? cartoGraphic.height : 0);\r\n }\r\n\r\n /** @alpha */\r\n public computeMercatorFractionToDb(ecefToDb: Transform, bimElevationOffset: number, iModel: IModelConnection, applyTerrain: boolean) {\r\n const dbToEcef = ecefToDb.inverse()!;\r\n\r\n const projectCenter = Point3d.create(iModel.projectExtents.center.x, iModel.projectExtents.center.y, bimElevationOffset);\r\n const projectEast = projectCenter.plusXYZ(1, 0, 0);\r\n const projectNorth = projectCenter.plusXYZ(0, 1, 0);\r\n\r\n const mercatorOrigin = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectCenter), applyTerrain);\r\n const mercatorX = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectEast), applyTerrain);\r\n const mercatorY = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectNorth), applyTerrain);\r\n\r\n const deltaX = Vector3d.createStartEnd(mercatorOrigin, mercatorX);\r\n const deltaY = Vector3d.createStartEnd(mercatorOrigin, mercatorY);\r\n const matrix = Matrix3d.createColumns(deltaX, deltaY, Vector3d.create(0, 0, 1));\r\n\r\n const dbToMercator = Transform.createMatrixPickupPutdown(matrix, projectCenter, mercatorOrigin);\r\n const mercatorToDb = dbToMercator.inverse();\r\n return mercatorToDb === undefined ? Transform.createIdentity() : mercatorToDb;\r\n }\r\n\r\n /** @alpha */\r\n protected yFractionFlip(fraction: number) {\r\n return this.rowZeroAtNorthPole ? (1.0 - fraction) : fraction;\r\n }\r\n}\r\n\r\n/** A [[MapTilingScheme]] using a simple geographic projection by which longitude and latitude are mapped directly to X and Y.\r\n * This projection is commonly known as \"geographic\", \"equirectangular\", \"equidistant cylindrical\", or \"plate carrée\".\r\n * @beta\r\n */\r\nexport class GeographicTilingScheme extends MapTilingScheme {\r\n public constructor(numberOfLevelZeroTilesX = 2, numberOfLevelZeroTilesY = 1, rowZeroAtNorthPole = false) {\r\n super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);\r\n }\r\n\r\n /** Implements [[MapTilingScheme.yFractionToLatitude]]. */\r\n public yFractionToLatitude(yFraction: number): number {\r\n return Math.PI * (this.yFractionFlip(yFraction) - .5);\r\n }\r\n\r\n /** Implements [[MapTilingScheme.latitudeToYFraction]]. */\r\n public latitudeToYFraction(latitude: number): number {\r\n return this.yFractionFlip(.5 + latitude / Math.PI);\r\n }\r\n}\r\n\r\n/** @alpha */\r\nexport class WebMercatorProjection {\r\n /**\r\n * Converts a Mercator angle, in the range -PI to PI, to a geodetic latitude\r\n * in the range -PI/2 to PI/2.\r\n *\r\n * @param {Number} mercatorAngle The angle to convert.\r\n * @returns {Number} The geodetic latitude in radians.\r\n */\r\n public static mercatorAngleToGeodeticLatitude(mercatorAngle: number) {\r\n return Angle.piOver2Radians - (2.0 * Math.atan(Math.exp(-mercatorAngle)));\r\n }\r\n\r\n public static maximumLatitude = WebMercatorProjection.mercatorAngleToGeodeticLatitude(Angle.piRadians);\r\n\r\n public static geodeticLatitudeToMercatorAngle(latitude: number) {\r\n // Clamp the latitude coordinate to the valid Mercator bounds.\r\n if (latitude > WebMercatorProjection.maximumLatitude)\r\n latitude = WebMercatorProjection.maximumLatitude;\r\n else if (latitude < -WebMercatorProjection.maximumLatitude)\r\n latitude = -WebMercatorProjection.maximumLatitude;\r\n\r\n const sinLatitude = Math.sin(latitude);\r\n return 0.5 * Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude));\r\n }\r\n}\r\n\r\n/** A [[MapTilingScheme]] using the [EPSG:3857](https://en.wikipedia.org/wiki/Web_Mercator_projection) projection.\r\n * This scheme is used by most [tiled web maps](https://en.wikipedia.org/wiki/Tiled_web_map), including Bing Maps and Google Maps.\r\n * @beta\r\n */\r\nexport class WebMercatorTilingScheme extends MapTilingScheme {\r\n public constructor(numberOfLevelZeroTilesX = 1, numberOfLevelZeroTilesY = 1, rowZeroAtNorthPole = true) {\r\n super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);\r\n }\r\n\r\n /** Implements [[MapTilingScheme.yFractionToLatitude]]. */\r\n public yFractionToLatitude(yFraction: number): number {\r\n const mercatorAngle = Angle.pi2Radians * (this.rowZeroAtNorthPole ? (.5 - yFraction) : (yFraction - .5));\r\n return WebMercatorProjection.mercatorAngleToGeodeticLatitude(mercatorAngle);\r\n }\r\n\r\n /** Implements [[MapTilingScheme.latitudeToYFraction. */\r\n public latitudeToYFraction(latitude: number): number {\r\n // Clamp the latitude coordinate to the valid Mercator bounds.\r\n if (latitude > WebMercatorProjection.maximumLatitude) {\r\n latitude = WebMercatorProjection.maximumLatitude;\r\n } else if (latitude < -WebMercatorProjection.maximumLatitude) {\r\n latitude = -WebMercatorProjection.maximumLatitude;\r\n }\r\n const sinLatitude = Math.sin(latitude);\r\n return (0.5 - Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude)) / (4.0 * Angle.piRadians)); // https://msdn.microsoft.com/en-us/library/bb259689.aspx\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MapTilingScheme.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTilingScheme.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,wDAA8F;AAC9F,oDAAkD;AAElD,0CAAgD;AAEhD;;;;;;;;;GASG;AACH,MAAsB,eAAe;IAYnC,wFAAwF;IACjF,oBAAoB,CAAC,SAAiB;QAC3C,OAAO,SAAS,GAAG,qBAAK,CAAC,UAAU,GAAG,EAAE,CAAC;IAC3C,CAAC;IAED,2FAA2F;IACpF,oBAAoB,CAAC,SAAiB;QAC3C,OAAO,qBAAK,CAAC,UAAU,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAQD,YAAsB,uBAA+B,EAAE,uBAA+B,EAAE,kBAA2B;QAnBlG,qBAAgB,GAAG,uBAAO,CAAC,UAAU,EAAE,CAAC;QACxC,oBAAe,GAAG,uBAAO,CAAC,UAAU,EAAE,CAAC;QAmBtD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,wBAAwB,CAAC,KAAa;QAC3C,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,IAAI,KAAK,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,wBAAwB,CAAC,KAAa;QAC3C,OAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,IAAI,KAAK,CAAC;IAChE,CAAC;IAED,aAAa;IACb,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,aAAa;IACN,2BAA2B,CAAC,KAAa;QAC9C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,aAAa;IACN,2BAA2B,CAAC,KAAa;QAC9C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,6GAA6G;IACtG,eAAe,CAAC,CAAS,EAAE,KAAa;QAC7C,OAAO,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,6GAA6G;IACtG,eAAe,CAAC,CAAS,EAAE,KAAa;QAC7C,OAAO,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,0IAA0I;IACnI,gBAAgB,CAAC,SAAiB,EAAE,KAAa;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,0IAA0I;IACnI,gBAAgB,CAAC,SAAiB,EAAE,KAAa;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,mGAAmG;IAC5F,gBAAgB,CAAC,CAAS,EAAE,KAAa;QAC9C,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,sGAAsG;IAC/F,eAAe,CAAC,CAAS,EAAE,KAAa;QAC7C,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,gGAAgG;IACzF,gBAAgB,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAgB;QAC3E,IAAI,SAAS,KAAK,MAAM;YACtB,MAAM,GAAG,uBAAO,CAAC,UAAU,EAAE,CAAC;QAEhC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAE1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,oBAAoB,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAoB,EAAE,MAAM,GAAG,CAAC;QAC/F,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,qGAAqG;IAC9F,iBAAiB,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAA0B;QACtF,IAAI,KAAK,GAAG,CAAC;YACX,OAAO,4BAAiB,CAAC,aAAa,EAAE,CAAC;QAE3C,OAAO,4BAAiB,CAAC,WAAW,CAClC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,EAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAClE,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAClE,MAAM,CACP,CAAC;IACJ,CAAC;IAED,sGAAsG;IAC/F,oBAAoB,CAAC,GAAW,EAAE,KAAa;QACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;IAC3H,CAAC;IAED,sGAAsG;IAC/F,oBAAoB,CAAC,GAAW,EAAE,KAAa;QACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;IAC3H,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,KAAmB,EAAE,KAAa,EAAE,MAAgB;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACpG,OAAO,uBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpH,CAAC;IAED,sHAAsH;IAC/G,sBAAsB,CAAC,SAAiB,EAAE,SAAiB,EAAE,MAAoB,EAAE,MAAM,GAAG,CAAC;QAClG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uHAAuH;IAChH,sBAAsB,CAAC,eAAuB,EAAE,gBAAwB,EAAE,MAAe;QAC9F,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACvD,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa;IACL,mBAAmB,CAAC,KAAc,EAAE,YAAqB;QAC/D,MAAM,YAAY,GAAG,0BAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY;YACf,OAAO,SAAS,CAAC;QACnB,OAAO,uBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpK,CAAC;IAED,aAAa;IACN,2BAA2B,CAAC,QAAmB,EAAE,kBAA0B,EAAE,MAAwB,EAAE,YAAqB;QACjI,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAG,CAAC;QAErC,MAAM,aAAa,GAAG,uBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACzH,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpD,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,CAAC;QACvG,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;QAEjG,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;YAC7C,OAAO,yBAAS,CAAC,cAAc,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAG,wBAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,wBAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,wBAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhF,MAAM,YAAY,GAAG,yBAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5C,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAChF,CAAC;IAED,aAAa;IACH,aAAa,CAAC,QAAgB;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/D,CAAC;CACF;AA1MD,0CA0MC;AAED;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,eAAe;IACzD,YAAmB,uBAAuB,GAAG,CAAC,EAAE,uBAAuB,GAAG,CAAC,EAAE,kBAAkB,GAAG,KAAK;QACrG,KAAK,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAED,0DAA0D;IACnD,mBAAmB,CAAC,SAAiB;QAC1C,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,0DAA0D;IACnD,mBAAmB,CAAC,QAAgB;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;CACF;AAdD,wDAcC;AAED,aAAa;AACb,MAAa,qBAAqB;IAChC;;;;;;OAMG;IACI,MAAM,CAAC,+BAA+B,CAAC,aAAqB;QACjE,OAAO,qBAAK,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAIM,MAAM,CAAC,+BAA+B,CAAC,QAAgB;QAC5D,8DAA8D;QAC9D,IAAI,QAAQ,GAAG,qBAAqB,CAAC,eAAe;YAClD,QAAQ,GAAG,qBAAqB,CAAC,eAAe,CAAC;aAC9C,IAAI,QAAQ,GAAG,CAAC,qBAAqB,CAAC,eAAe;YACxD,QAAQ,GAAG,CAAC,qBAAqB,CAAC,eAAe,CAAC;QAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC;IACnE,CAAC;;AAvBH,sDAwBC;AAZe,qCAAe,GAAG,qBAAqB,CAAC,+BAA+B,CAAC,qBAAK,CAAC,SAAS,CAAC,CAAC;AAczG;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,eAAe;IAC1D,YAAmB,uBAAuB,GAAG,CAAC,EAAE,uBAAuB,GAAG,CAAC,EAAE,kBAAkB,GAAG,IAAI;QACpG,KAAK,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAED,0DAA0D;IACnD,mBAAmB,CAAC,SAAiB;QAC1C,MAAM,aAAa,GAAG,qBAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;QACzG,OAAO,qBAAqB,CAAC,+BAA+B,CAAC,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED,wDAAwD;IACjD,mBAAmB,CAAC,QAAgB;QACzC,8DAA8D;QAC9D,IAAI,QAAQ,GAAG,qBAAqB,CAAC,eAAe,EAAE,CAAC;YACrD,QAAQ,GAAG,qBAAqB,CAAC,eAAe,CAAC;QACnD,CAAC;aAAM,IAAI,QAAQ,GAAG,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC;YAC7D,QAAQ,GAAG,CAAC,qBAAqB,CAAC,eAAe,CAAC;QACpD,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,qBAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAG,yDAAyD;IAC3J,CAAC;CACF;AAtBD,0DAsBC","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 Tiles\r\n */\r\n\r\nimport { Angle, Matrix3d, Point2d, Point3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { MapCartoRectangle } from \"../internal\";\r\n\r\n/** A scheme for converting between two representations of the surface of the Earth: an ellipsoid and a rectangular [tiled map](https://en.wikipedia.org/wiki/Tiled_web_map).\r\n * Positions on the surface of the ellipsoid are expressed in [Cartographic]($common) coordinates.\r\n * Rectangular [[MapTile]]s are projected onto this ellipsoid by the tiling scheme. Tile coordinates are represented by [[QuadId]]s.\r\n *\r\n * The tiling scheme represents the (x,y) coordinates of its tiles as fractions in [0,1] along the X and Y axes.\r\n * An X fraction of 0 corresponds to the easternmost longitude and an X fraction of 1 to the westernmost longitude.\r\n * The scheme can choose to correlate a Y fraction of 0 with either the north or south pole, as specified by [[rowZeroAtNorthPole]].\r\n * Implementing a tiling scheme only requires implementing the abstract method [[yFractionToLatitude]] and its inverse, [[latitudeToYFraction]].\r\n * @public\r\n */\r\nexport abstract class MapTilingScheme {\r\n /** If true, the fractional Y coordinate 0 corresponds to the north pole and 1 to the south pole; otherwise,\r\n * 0 corresponds to the south pole and 1 to the north.\r\n */\r\n public readonly rowZeroAtNorthPole: boolean;\r\n /** The number of tiles in the X direction at level 0 of the quad tree. */\r\n public readonly numberOfLevelZeroTilesX;\r\n /** The number of tiles in the Y direction at level 0 of the quad tree. */\r\n public readonly numberOfLevelZeroTilesY;\r\n private readonly _scratchFraction = Point2d.createZero();\r\n private readonly _scratchPoint2d = Point2d.createZero();\r\n\r\n /** Convert a longitude in [-pi, pi] radisn to a fraction in [0, 1] along the X axis. */\r\n public longitudeToXFraction(longitude: number) {\r\n return longitude / Angle.pi2Radians + .5;\r\n }\r\n\r\n /** Convert a fraction in [0, 1] along the X axis into a longitude in [-pi, pi] radians. */\r\n public xFractionToLongitude(xFraction: number) {\r\n return Angle.pi2Radians * (xFraction - .5);\r\n }\r\n\r\n /** Convert a fraction in [0, 1] along the Y axis into a latitude in [-pi/2, pi/2] radians. */\r\n public abstract yFractionToLatitude(yFraction: number): number;\r\n\r\n /** Convert a latitude in [-pi/2, pi/2] radians into a fraction in [0, 1] along the Y axis. */\r\n public abstract latitudeToYFraction(latitude: number): number;\r\n\r\n protected constructor(numberOfLevelZeroTilesX: number, numberOfLevelZeroTilesY: number, rowZeroAtNorthPole: boolean) {\r\n this.rowZeroAtNorthPole = rowZeroAtNorthPole;\r\n this.numberOfLevelZeroTilesX = numberOfLevelZeroTilesX;\r\n this.numberOfLevelZeroTilesY = numberOfLevelZeroTilesY;\r\n }\r\n\r\n /** The total number of tiles in the X direction at the specified level of detail.\r\n * @param level The level of detail, with 0 corresponding to the root tile.\r\n */\r\n public getNumberOfXTilesAtLevel(level: number) {\r\n return level < 0 ? 1 : this.numberOfLevelZeroTilesX << level;\r\n }\r\n\r\n /** The total number of tiles in the Y direction at the specified level of detail.\r\n * @param level The level of detail, with 0 corresponding to the root tile.\r\n */\r\n public getNumberOfYTilesAtLevel(level: number): number {\r\n return level < 0 ? 1 : this.numberOfLevelZeroTilesY << level;\r\n }\r\n\r\n /** @alpha */\r\n public get rootLevel() {\r\n return this.numberOfLevelZeroTilesX > 1 || this.numberOfLevelZeroTilesY > 1 ? -1 : 0;\r\n }\r\n\r\n /** @alpha */\r\n public getNumberOfXChildrenAtLevel(level: number): number {\r\n return level === 0 ? this.numberOfLevelZeroTilesX : 2;\r\n }\r\n\r\n /** @alpha */\r\n public getNumberOfYChildrenAtLevel(level: number): number {\r\n return level === 0 ? this.numberOfLevelZeroTilesY : 2;\r\n }\r\n\r\n /** Given the X component and level of a [[QuadId]], convert it to a fractional distance along the X axis. */\r\n public tileXToFraction(x: number, level: number): number {\r\n return x / this.getNumberOfXTilesAtLevel(level);\r\n }\r\n\r\n /** Given the Y component and level of a [[QuadId]], convert it to a fractional distance along the Y axis. */\r\n public tileYToFraction(y: number, level: number): number {\r\n return y / this.getNumberOfYTilesAtLevel(level);\r\n }\r\n\r\n /** Given a fractional distance along the X axis and a level of the quad tree, compute the X component of the corresponding [[QuadId]]. */\r\n public xFractionToTileX(xFraction: number, level: number): number {\r\n const nTiles = this.getNumberOfXTilesAtLevel(level);\r\n return Math.min(Math.floor(xFraction * nTiles), nTiles - 1);\r\n }\r\n\r\n /** Given a fractional distance along the Y axis and a level of the quad tree, compute the Y component of the corresponding [[QuadId]]. */\r\n public yFractionToTileY(yFraction: number, level: number): number {\r\n const nTiles = this.getNumberOfYTilesAtLevel(level);\r\n return Math.min(Math.floor(yFraction * nTiles), nTiles - 1);\r\n }\r\n\r\n /** Given the X component and level of a [[QuadId]], compute its longitude in [-pi, pi] radians. */\r\n public tileXToLongitude(x: number, level: number) {\r\n return this.xFractionToLongitude(this.tileXToFraction(x, level));\r\n }\r\n\r\n /** Given the Y component and level of a [[QuadId]], compute its latitude in [-pi/2, pi/2] radians. */\r\n public tileYToLatitude(y: number, level: number) {\r\n return this.yFractionToLatitude(this.tileYToFraction(y, level));\r\n }\r\n\r\n /** Given the components of a [[QuadId]], compute its fractional coordinates in the XY plane. */\r\n public tileXYToFraction(x: number, y: number, level: number, result?: Point2d): Point2d {\r\n if (undefined === result)\r\n result = Point2d.createZero();\r\n\r\n result.x = this.tileXToFraction(x, level);\r\n result.y = this.tileYToFraction(y, level);\r\n\r\n return result;\r\n }\r\n\r\n /** Given the components of a [[QuadId]] and an elevation, compute the corresponding [Cartographic]($common) position.\r\n * @param x The X component of the QuadId.\r\n * @param y The Y component of the QuadId.\r\n * @param level The level component of the QuadId.\r\n * @param height The elevation above the ellipsoid.\r\n * @returns the corresponding cartographic position.\r\n */\r\n public tileXYToCartographic(x: number, y: number, level: number, result: Cartographic, height = 0): Cartographic {\r\n const pt = this.tileXYToFraction(x, y, level, this._scratchFraction);\r\n return this.fractionToCartographic(pt.x, pt.y, result, height);\r\n }\r\n\r\n /** Given the components of a [[QuadId]], compute the corresponding region of the Earth's surface. */\r\n public tileXYToRectangle(x: number, y: number, level: number, result?: MapCartoRectangle) {\r\n if (level < 0)\r\n return MapCartoRectangle.createMaximum();\r\n\r\n return MapCartoRectangle.fromRadians(\r\n this.tileXToLongitude(x, level),\r\n this.tileYToLatitude(this.rowZeroAtNorthPole ? (y + 1) : y, level),\r\n this.tileXToLongitude(x + 1, level),\r\n this.tileYToLatitude(this.rowZeroAtNorthPole ? y : (y + 1), level),\r\n result,\r\n );\r\n }\r\n\r\n /** Returns true if the tile at the specified X coordinate and level is adjacent to the north pole. */\r\n public tileBordersNorthPole(row: number, level: number) {\r\n return this.rowZeroAtNorthPole ? this.tileYToFraction(row, level) === 0.0 : this.tileYToFraction(row + 1, level) === 1.0;\r\n }\r\n\r\n /** Returns true if the tile at the specified X coordinate and level is adjacent to the south pole. */\r\n public tileBordersSouthPole(row: number, level: number) {\r\n return this.rowZeroAtNorthPole ? this.tileYToFraction(row + 1, level) === 1.0 : this.tileYToFraction(row, level) === 0.0;\r\n }\r\n\r\n /** Given a cartographic position, compute the corresponding position on the surface of the Earth as fractional distances along the\r\n * X and Y axes.\r\n */\r\n public cartographicToTileXY(carto: Cartographic, level: number, result?: Point2d): Point2d {\r\n const fraction = this.cartographicToFraction(carto.latitude, carto.longitude, this._scratchPoint2d);\r\n return Point2d.create(this.xFractionToTileX(fraction.x, level), this.yFractionToTileY(fraction.y, level), result);\r\n\r\n }\r\n\r\n /** Given fractional coordinates in the XY plane and an elevation, compute the corresponding cartographic position. */\r\n public fractionToCartographic(xFraction: number, yFraction: number, result: Cartographic, height = 0): Cartographic {\r\n result.longitude = this.xFractionToLongitude(xFraction);\r\n result.latitude = this.yFractionToLatitude(yFraction);\r\n result.height = height;\r\n return result;\r\n }\r\n\r\n /** Given a cartographic location on the surface of the Earth, convert it to fractional coordinates in the XY plane. */\r\n public cartographicToFraction(latitudeRadians: number, longitudeRadians: number, result: Point2d): Point2d {\r\n result.x = this.longitudeToXFraction(longitudeRadians);\r\n result.y = this.latitudeToYFraction(latitudeRadians);\r\n return result;\r\n }\r\n\r\n /** @alpha */\r\n private ecefToPixelFraction(point: Point3d, applyTerrain: boolean): Point3d | undefined {\r\n const cartoGraphic = Cartographic.fromEcef(point);\r\n if (!cartoGraphic)\r\n return undefined;\r\n return Point3d.create(this.longitudeToXFraction(cartoGraphic.longitude), this.latitudeToYFraction(cartoGraphic.latitude), applyTerrain ? cartoGraphic.height : 0);\r\n }\r\n\r\n /** @alpha */\r\n public computeMercatorFractionToDb(ecefToDb: Transform, bimElevationOffset: number, iModel: IModelConnection, applyTerrain: boolean) {\r\n const dbToEcef = ecefToDb.inverse()!;\r\n\r\n const projectCenter = Point3d.create(iModel.projectExtents.center.x, iModel.projectExtents.center.y, bimElevationOffset);\r\n const projectEast = projectCenter.plusXYZ(1, 0, 0);\r\n const projectNorth = projectCenter.plusXYZ(0, 1, 0);\r\n\r\n const mercatorOrigin = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectCenter), applyTerrain);\r\n const mercatorX = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectEast), applyTerrain);\r\n const mercatorY = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectNorth), applyTerrain);\r\n\r\n if (!mercatorOrigin || !mercatorX || !mercatorY)\r\n return Transform.createIdentity();\r\n\r\n const deltaX = Vector3d.createStartEnd(mercatorOrigin, mercatorX);\r\n const deltaY = Vector3d.createStartEnd(mercatorOrigin, mercatorY);\r\n const matrix = Matrix3d.createColumns(deltaX, deltaY, Vector3d.create(0, 0, 1));\r\n\r\n const dbToMercator = Transform.createMatrixPickupPutdown(matrix, projectCenter, mercatorOrigin);\r\n const mercatorToDb = dbToMercator.inverse();\r\n return mercatorToDb === undefined ? Transform.createIdentity() : mercatorToDb;\r\n }\r\n\r\n /** @alpha */\r\n protected yFractionFlip(fraction: number) {\r\n return this.rowZeroAtNorthPole ? (1.0 - fraction) : fraction;\r\n }\r\n}\r\n\r\n/** A [[MapTilingScheme]] using a simple geographic projection by which longitude and latitude are mapped directly to X and Y.\r\n * This projection is commonly known as \"geographic\", \"equirectangular\", \"equidistant cylindrical\", or \"plate carrée\".\r\n * @beta\r\n */\r\nexport class GeographicTilingScheme extends MapTilingScheme {\r\n public constructor(numberOfLevelZeroTilesX = 2, numberOfLevelZeroTilesY = 1, rowZeroAtNorthPole = false) {\r\n super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);\r\n }\r\n\r\n /** Implements [[MapTilingScheme.yFractionToLatitude]]. */\r\n public yFractionToLatitude(yFraction: number): number {\r\n return Math.PI * (this.yFractionFlip(yFraction) - .5);\r\n }\r\n\r\n /** Implements [[MapTilingScheme.latitudeToYFraction]]. */\r\n public latitudeToYFraction(latitude: number): number {\r\n return this.yFractionFlip(.5 + latitude / Math.PI);\r\n }\r\n}\r\n\r\n/** @alpha */\r\nexport class WebMercatorProjection {\r\n /**\r\n * Converts a Mercator angle, in the range -PI to PI, to a geodetic latitude\r\n * in the range -PI/2 to PI/2.\r\n *\r\n * @param {Number} mercatorAngle The angle to convert.\r\n * @returns {Number} The geodetic latitude in radians.\r\n */\r\n public static mercatorAngleToGeodeticLatitude(mercatorAngle: number) {\r\n return Angle.piOver2Radians - (2.0 * Math.atan(Math.exp(-mercatorAngle)));\r\n }\r\n\r\n public static maximumLatitude = WebMercatorProjection.mercatorAngleToGeodeticLatitude(Angle.piRadians);\r\n\r\n public static geodeticLatitudeToMercatorAngle(latitude: number) {\r\n // Clamp the latitude coordinate to the valid Mercator bounds.\r\n if (latitude > WebMercatorProjection.maximumLatitude)\r\n latitude = WebMercatorProjection.maximumLatitude;\r\n else if (latitude < -WebMercatorProjection.maximumLatitude)\r\n latitude = -WebMercatorProjection.maximumLatitude;\r\n\r\n const sinLatitude = Math.sin(latitude);\r\n return 0.5 * Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude));\r\n }\r\n}\r\n\r\n/** A [[MapTilingScheme]] using the [EPSG:3857](https://en.wikipedia.org/wiki/Web_Mercator_projection) projection.\r\n * This scheme is used by most [tiled web maps](https://en.wikipedia.org/wiki/Tiled_web_map), including Bing Maps and Google Maps.\r\n * @beta\r\n */\r\nexport class WebMercatorTilingScheme extends MapTilingScheme {\r\n public constructor(numberOfLevelZeroTilesX = 1, numberOfLevelZeroTilesY = 1, rowZeroAtNorthPole = true) {\r\n super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);\r\n }\r\n\r\n /** Implements [[MapTilingScheme.yFractionToLatitude]]. */\r\n public yFractionToLatitude(yFraction: number): number {\r\n const mercatorAngle = Angle.pi2Radians * (this.rowZeroAtNorthPole ? (.5 - yFraction) : (yFraction - .5));\r\n return WebMercatorProjection.mercatorAngleToGeodeticLatitude(mercatorAngle);\r\n }\r\n\r\n /** Implements [[MapTilingScheme.latitudeToYFraction. */\r\n public latitudeToYFraction(latitude: number): number {\r\n // Clamp the latitude coordinate to the valid Mercator bounds.\r\n if (latitude > WebMercatorProjection.maximumLatitude) {\r\n latitude = WebMercatorProjection.maximumLatitude;\r\n } else if (latitude < -WebMercatorProjection.maximumLatitude) {\r\n latitude = -WebMercatorProjection.maximumLatitude;\r\n }\r\n const sinLatitude = Math.sin(latitude);\r\n return (0.5 - Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude)) / (4.0 * Angle.piRadians)); // https://msdn.microsoft.com/en-us/library/bb259689.aspx\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AccuSnap.d.ts","sourceRoot":"","sources":["../../src/AccuSnap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccuSnap.d.ts","sourceRoot":"","sources":["../../src/AccuSnap.ts"],"names":[],"mappings":"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"}
@@ -582,6 +582,7 @@ export class AccuSnap {
582
582
  snapDivisor: keypointDivisor,
583
583
  subCategoryId: thisHit.subCategoryId,
584
584
  geometryClass: thisHit.geometryClass,
585
+ modelToWorld: thisHit.transformFromSourceIModel?.toJSON(),
585
586
  };
586
587
  const thisGeom = (thisHit.isElementHit ? IModelApp.viewManager.overrideElementGeometry(thisHit) : IModelApp.viewManager.getDecorationGeometry(thisHit));
587
588
  if (undefined !== thisGeom) {
@@ -631,12 +632,15 @@ export class AccuSnap {
631
632
  const parsed = undefined !== json ? GeomJson.Reader.parse(json) : undefined;
632
633
  return parsed instanceof GeometryQuery && "curvePrimitive" === parsed.geometryCategory ? parsed : undefined;
633
634
  };
635
+ let displayTransform;
636
+ if (undefined !== thisHit.modelId) {
637
+ displayTransform = thisHit.viewport.view.computeDisplayTransform({
638
+ modelId: thisHit.modelId,
639
+ elementId: thisHit.sourceId,
640
+ viewAttachmentId: thisHit.viewAttachment?.id,
641
+ });
642
+ }
634
643
  const snapPoint = Point3d.fromJSON(result.snapPoint);
635
- const displayTransform = undefined !== thisHit.modelId ? thisHit.viewport.view.computeDisplayTransform({
636
- modelId: thisHit.modelId,
637
- elementId: thisHit.sourceId,
638
- viewAttachmentId: thisHit.viewAttachment?.id,
639
- }) : undefined;
640
644
  displayTransform?.multiplyPoint3d(snapPoint, snapPoint);
641
645
  const snap = new SnapDetail(thisHit, result.snapMode, result.heat, snapPoint);
642
646
  snap.setCurvePrimitive(parseCurve(result.curve), displayTransform, result.geomType);