@itwin/core-frontend 3.5.0-dev.8 → 3.6.0-dev.1

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 (496) hide show
  1. package/CHANGELOG.md +75 -1
  2. package/lib/cjs/AccuSnap.d.ts +7 -1
  3. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  4. package/lib/cjs/AccuSnap.js +26 -3
  5. package/lib/cjs/AccuSnap.js.map +1 -1
  6. package/lib/cjs/BriefcaseConnection.d.ts +28 -1
  7. package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
  8. package/lib/cjs/BriefcaseConnection.js +29 -8
  9. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  10. package/lib/cjs/BriefcaseTxns.js +9 -9
  11. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  12. package/lib/cjs/GraphicalEditingScope.js +2 -2
  13. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  14. package/lib/cjs/IModelApp.d.ts +6 -0
  15. package/lib/cjs/IModelApp.d.ts.map +1 -1
  16. package/lib/cjs/IModelApp.js +6 -0
  17. package/lib/cjs/IModelApp.js.map +1 -1
  18. package/lib/cjs/IModelConnection.d.ts +32 -2
  19. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  20. package/lib/cjs/IModelConnection.js +44 -6
  21. package/lib/cjs/IModelConnection.js.map +1 -1
  22. package/lib/cjs/IpcApp.d.ts +14 -1
  23. package/lib/cjs/IpcApp.d.ts.map +1 -1
  24. package/lib/cjs/IpcApp.js +25 -0
  25. package/lib/cjs/IpcApp.js.map +1 -1
  26. package/lib/cjs/MarginPercent.d.ts +27 -2
  27. package/lib/cjs/MarginPercent.d.ts.map +1 -1
  28. package/lib/cjs/MarginPercent.js +8 -2
  29. package/lib/cjs/MarginPercent.js.map +1 -1
  30. package/lib/cjs/ModelState.d.ts +2 -1
  31. package/lib/cjs/ModelState.d.ts.map +1 -1
  32. package/lib/cjs/ModelState.js +5 -3
  33. package/lib/cjs/ModelState.js.map +1 -1
  34. package/lib/cjs/NativeApp.d.ts +5 -1
  35. package/lib/cjs/NativeApp.d.ts.map +1 -1
  36. package/lib/cjs/NativeApp.js +25 -20
  37. package/lib/cjs/NativeApp.js.map +1 -1
  38. package/lib/cjs/NativeAppLogger.js +1 -1
  39. package/lib/cjs/NativeAppLogger.js.map +1 -1
  40. package/lib/cjs/RealityDataSource.d.ts +44 -1
  41. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  42. package/lib/cjs/RealityDataSource.js +41 -14
  43. package/lib/cjs/RealityDataSource.js.map +1 -1
  44. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts +1 -0
  45. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
  46. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +3 -0
  47. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  48. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts +1 -0
  49. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts.map +1 -1
  50. package/lib/cjs/RealityDataSourceContextShareImpl.js +3 -0
  51. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  52. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts +1 -0
  53. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -1
  54. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +3 -0
  55. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  56. package/lib/cjs/ViewAnimation.d.ts +10 -2
  57. package/lib/cjs/ViewAnimation.d.ts.map +1 -1
  58. package/lib/cjs/ViewAnimation.js.map +1 -1
  59. package/lib/cjs/ViewCreator2d.js +3 -2
  60. package/lib/cjs/ViewCreator2d.js.map +1 -1
  61. package/lib/cjs/ViewPose.d.ts +62 -10
  62. package/lib/cjs/ViewPose.d.ts.map +1 -1
  63. package/lib/cjs/ViewPose.js +37 -8
  64. package/lib/cjs/ViewPose.js.map +1 -1
  65. package/lib/cjs/ViewState.d.ts +18 -10
  66. package/lib/cjs/ViewState.d.ts.map +1 -1
  67. package/lib/cjs/ViewState.js +39 -15
  68. package/lib/cjs/ViewState.js.map +1 -1
  69. package/lib/cjs/Viewport.d.ts.map +1 -1
  70. package/lib/cjs/Viewport.js +7 -2
  71. package/lib/cjs/Viewport.js.map +1 -1
  72. package/lib/cjs/extension/ExtensionRuntime.js +11 -0
  73. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  74. package/lib/cjs/render/RenderMaterial.d.ts +3 -1
  75. package/lib/cjs/render/RenderMaterial.d.ts.map +1 -1
  76. package/lib/cjs/render/RenderMaterial.js.map +1 -1
  77. package/lib/cjs/render/RenderTarget.d.ts +1 -0
  78. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  79. package/lib/cjs/render/RenderTarget.js.map +1 -1
  80. package/lib/cjs/render/primitives/SurfaceParams.d.ts +0 -1
  81. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +1 -1
  82. package/lib/cjs/render/primitives/SurfaceParams.js.map +1 -1
  83. package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
  84. package/lib/cjs/render/primitives/VertexTable.js +0 -1
  85. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  86. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +1 -1
  87. package/lib/cjs/render/primitives/VertexTableSplitter.js +0 -1
  88. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +1 -1
  89. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +0 -1
  90. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  91. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +0 -1
  92. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  93. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +0 -1
  94. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  95. package/lib/cjs/render/webgl/FeatureOverrides.js +16 -11
  96. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  97. package/lib/cjs/render/webgl/MeshData.d.ts +1 -1
  98. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  99. package/lib/cjs/render/webgl/MeshData.js +13 -1
  100. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  101. package/lib/cjs/render/webgl/MeshGeometry.d.ts +1 -1
  102. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  103. package/lib/cjs/render/webgl/MeshGeometry.js +1 -1
  104. package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -1
  105. package/lib/cjs/render/webgl/RenderFlags.d.ts +14 -4
  106. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  107. package/lib/cjs/render/webgl/RenderFlags.js +2 -0
  108. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  109. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +2 -1
  110. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  111. package/lib/cjs/render/webgl/ShaderBuilder.js +6 -1
  112. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  113. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +3 -1
  114. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  115. package/lib/cjs/render/webgl/SurfaceGeometry.js +17 -6
  116. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  117. package/lib/cjs/render/webgl/System.d.ts +1 -1
  118. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  119. package/lib/cjs/render/webgl/System.js +1 -0
  120. package/lib/cjs/render/webgl/System.js.map +1 -1
  121. package/lib/cjs/render/webgl/Target.d.ts +1 -0
  122. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  123. package/lib/cjs/render/webgl/Target.js +1 -0
  124. package/lib/cjs/render/webgl/Target.js.map +1 -1
  125. package/lib/cjs/render/webgl/glsl/Animation.d.ts.map +1 -1
  126. package/lib/cjs/render/webgl/glsl/Animation.js +2 -1
  127. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  128. package/lib/cjs/render/webgl/glsl/Common.d.ts +3 -1
  129. package/lib/cjs/render/webgl/glsl/Common.d.ts.map +1 -1
  130. package/lib/cjs/render/webgl/glsl/Common.js +28 -33
  131. package/lib/cjs/render/webgl/glsl/Common.js.map +1 -1
  132. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  133. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +9 -1
  134. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  135. package/lib/cjs/render/webgl/glsl/Lighting.d.ts.map +1 -1
  136. package/lib/cjs/render/webgl/glsl/Lighting.js +6 -8
  137. package/lib/cjs/render/webgl/glsl/Lighting.js.map +1 -1
  138. package/lib/cjs/render/webgl/glsl/PointCloud.d.ts.map +1 -1
  139. package/lib/cjs/render/webgl/glsl/PointCloud.js +8 -3
  140. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  141. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts +1 -0
  142. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  143. package/lib/cjs/render/webgl/glsl/RealityMesh.js +6 -1
  144. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  145. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.d.ts.map +1 -1
  146. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js +1 -4
  147. package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  148. package/lib/cjs/render/webgl/glsl/Surface.d.ts +1 -1
  149. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  150. package/lib/cjs/render/webgl/glsl/Surface.js +87 -15
  151. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  152. package/lib/cjs/render/webgl/glsl/Thematic.d.ts.map +1 -1
  153. package/lib/cjs/render/webgl/glsl/Thematic.js +2 -6
  154. package/lib/cjs/render/webgl/glsl/Thematic.js.map +1 -1
  155. package/lib/cjs/tile/GltfReader.d.ts +13 -2
  156. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  157. package/lib/cjs/tile/GltfReader.js +66 -22
  158. package/lib/cjs/tile/GltfReader.js.map +1 -1
  159. package/lib/cjs/tile/IModelTileRequestChannels.js +1 -1
  160. package/lib/cjs/tile/IModelTileRequestChannels.js.map +1 -1
  161. package/lib/cjs/tile/ImdlReader.d.ts +5 -0
  162. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  163. package/lib/cjs/tile/ImdlReader.js +9 -2
  164. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  165. package/lib/cjs/tile/PrimaryTileTree.js +2 -2
  166. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  167. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  168. package/lib/cjs/tile/RealityModelTileTree.js +51 -20
  169. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  170. package/lib/cjs/tile/RealityTile.d.ts +2 -2
  171. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  172. package/lib/cjs/tile/RealityTile.js +11 -4
  173. package/lib/cjs/tile/RealityTile.js.map +1 -1
  174. package/lib/cjs/tile/RealityTileLoader.d.ts +1 -0
  175. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  176. package/lib/cjs/tile/RealityTileLoader.js +13 -0
  177. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  178. package/lib/cjs/tile/RealityTileTree.js +1 -1
  179. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  180. package/lib/cjs/tile/Tile.d.ts +5 -0
  181. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  182. package/lib/cjs/tile/Tile.js +5 -0
  183. package/lib/cjs/tile/Tile.js.map +1 -1
  184. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  185. package/lib/cjs/tile/TileAdmin.js +13 -6
  186. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  187. package/lib/cjs/tile/TileDrawArgs.d.ts +5 -1
  188. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  189. package/lib/cjs/tile/TileDrawArgs.js +2 -0
  190. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  191. package/lib/cjs/tile/TileRequestChannels.js +1 -1
  192. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  193. package/lib/cjs/tile/TileStorage.d.ts.map +1 -1
  194. package/lib/cjs/tile/TileStorage.js +12 -6
  195. package/lib/cjs/tile/TileStorage.js.map +1 -1
  196. package/lib/cjs/tile/internal.d.ts +1 -0
  197. package/lib/cjs/tile/internal.d.ts.map +1 -1
  198. package/lib/cjs/tile/internal.js +1 -0
  199. package/lib/cjs/tile/internal.js.map +1 -1
  200. package/lib/cjs/tile/map/ArcGISTileMap.d.ts +5 -2
  201. package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -1
  202. package/lib/cjs/tile/map/ArcGISTileMap.js +17 -2
  203. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -1
  204. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +51 -5
  205. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  206. package/lib/cjs/tile/map/ArcGisUtilities.js +120 -48
  207. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  208. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +26 -0
  209. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -0
  210. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +97 -0
  211. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -0
  212. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -4
  213. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  214. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +11 -96
  215. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  216. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  217. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +2 -1
  218. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  219. package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -0
  220. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  221. package/lib/cjs/tile/map/ImageryTileTree.js +6 -4
  222. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  223. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +18 -4
  224. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  225. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +25 -5
  226. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  227. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +6 -4
  228. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  229. package/lib/cjs/tile/map/MapLayerImageryFormats.js +12 -16
  230. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  231. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +26 -5
  232. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  233. package/lib/cjs/tile/map/MapLayerImageryProvider.js +69 -48
  234. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  235. package/lib/cjs/tile/map/MapLayerSources.js +1 -1
  236. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  237. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  238. package/lib/cjs/tile/map/WmsCapabilities.js +4 -1
  239. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  240. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  241. package/lib/cjs/tools/EditManipulator.js +2 -1
  242. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  243. package/lib/cjs/tools/Tool.js +1 -1
  244. package/lib/cjs/tools/Tool.js.map +1 -1
  245. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  246. package/lib/cjs/tools/ToolAdmin.js +6 -4
  247. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  248. package/lib/esm/AccuSnap.d.ts +7 -1
  249. package/lib/esm/AccuSnap.d.ts.map +1 -1
  250. package/lib/esm/AccuSnap.js +27 -4
  251. package/lib/esm/AccuSnap.js.map +1 -1
  252. package/lib/esm/BriefcaseConnection.d.ts +28 -1
  253. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  254. package/lib/esm/BriefcaseConnection.js +30 -9
  255. package/lib/esm/BriefcaseConnection.js.map +1 -1
  256. package/lib/esm/BriefcaseTxns.js +9 -9
  257. package/lib/esm/BriefcaseTxns.js.map +1 -1
  258. package/lib/esm/GraphicalEditingScope.js +2 -2
  259. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  260. package/lib/esm/IModelApp.d.ts +6 -0
  261. package/lib/esm/IModelApp.d.ts.map +1 -1
  262. package/lib/esm/IModelApp.js +6 -0
  263. package/lib/esm/IModelApp.js.map +1 -1
  264. package/lib/esm/IModelConnection.d.ts +32 -2
  265. package/lib/esm/IModelConnection.d.ts.map +1 -1
  266. package/lib/esm/IModelConnection.js +44 -6
  267. package/lib/esm/IModelConnection.js.map +1 -1
  268. package/lib/esm/IpcApp.d.ts +14 -1
  269. package/lib/esm/IpcApp.d.ts.map +1 -1
  270. package/lib/esm/IpcApp.js +25 -0
  271. package/lib/esm/IpcApp.js.map +1 -1
  272. package/lib/esm/MarginPercent.d.ts +27 -2
  273. package/lib/esm/MarginPercent.d.ts.map +1 -1
  274. package/lib/esm/MarginPercent.js +8 -2
  275. package/lib/esm/MarginPercent.js.map +1 -1
  276. package/lib/esm/ModelState.d.ts +2 -1
  277. package/lib/esm/ModelState.d.ts.map +1 -1
  278. package/lib/esm/ModelState.js +5 -3
  279. package/lib/esm/ModelState.js.map +1 -1
  280. package/lib/esm/NativeApp.d.ts +5 -1
  281. package/lib/esm/NativeApp.d.ts.map +1 -1
  282. package/lib/esm/NativeApp.js +25 -20
  283. package/lib/esm/NativeApp.js.map +1 -1
  284. package/lib/esm/NativeAppLogger.js +1 -1
  285. package/lib/esm/NativeAppLogger.js.map +1 -1
  286. package/lib/esm/RealityDataSource.d.ts +44 -1
  287. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  288. package/lib/esm/RealityDataSource.js +39 -13
  289. package/lib/esm/RealityDataSource.js.map +1 -1
  290. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts +1 -0
  291. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
  292. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +3 -0
  293. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  294. package/lib/esm/RealityDataSourceContextShareImpl.d.ts +1 -0
  295. package/lib/esm/RealityDataSourceContextShareImpl.d.ts.map +1 -1
  296. package/lib/esm/RealityDataSourceContextShareImpl.js +3 -0
  297. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  298. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts +1 -0
  299. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -1
  300. package/lib/esm/RealityDataSourceTilesetUrlImpl.js +3 -0
  301. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  302. package/lib/esm/ViewAnimation.d.ts +10 -2
  303. package/lib/esm/ViewAnimation.d.ts.map +1 -1
  304. package/lib/esm/ViewAnimation.js.map +1 -1
  305. package/lib/esm/ViewCreator2d.js +3 -2
  306. package/lib/esm/ViewCreator2d.js.map +1 -1
  307. package/lib/esm/ViewPose.d.ts +62 -10
  308. package/lib/esm/ViewPose.d.ts.map +1 -1
  309. package/lib/esm/ViewPose.js +37 -8
  310. package/lib/esm/ViewPose.js.map +1 -1
  311. package/lib/esm/ViewState.d.ts +18 -10
  312. package/lib/esm/ViewState.d.ts.map +1 -1
  313. package/lib/esm/ViewState.js +39 -15
  314. package/lib/esm/ViewState.js.map +1 -1
  315. package/lib/esm/Viewport.d.ts.map +1 -1
  316. package/lib/esm/Viewport.js +7 -2
  317. package/lib/esm/Viewport.js.map +1 -1
  318. package/lib/esm/extension/ExtensionRuntime.js +12 -1
  319. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  320. package/lib/esm/render/RenderMaterial.d.ts +3 -1
  321. package/lib/esm/render/RenderMaterial.d.ts.map +1 -1
  322. package/lib/esm/render/RenderMaterial.js.map +1 -1
  323. package/lib/esm/render/RenderTarget.d.ts +1 -0
  324. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  325. package/lib/esm/render/RenderTarget.js.map +1 -1
  326. package/lib/esm/render/primitives/SurfaceParams.d.ts +0 -1
  327. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +1 -1
  328. package/lib/esm/render/primitives/SurfaceParams.js.map +1 -1
  329. package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
  330. package/lib/esm/render/primitives/VertexTable.js +0 -1
  331. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  332. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +1 -1
  333. package/lib/esm/render/primitives/VertexTableSplitter.js +0 -1
  334. package/lib/esm/render/primitives/VertexTableSplitter.js.map +1 -1
  335. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +0 -1
  336. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  337. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +0 -1
  338. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  339. package/lib/esm/render/webgl/FeatureOverrides.d.ts +0 -1
  340. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  341. package/lib/esm/render/webgl/FeatureOverrides.js +16 -11
  342. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  343. package/lib/esm/render/webgl/MeshData.d.ts +1 -1
  344. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  345. package/lib/esm/render/webgl/MeshData.js +13 -1
  346. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  347. package/lib/esm/render/webgl/MeshGeometry.d.ts +1 -1
  348. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  349. package/lib/esm/render/webgl/MeshGeometry.js +1 -1
  350. package/lib/esm/render/webgl/MeshGeometry.js.map +1 -1
  351. package/lib/esm/render/webgl/RenderFlags.d.ts +14 -4
  352. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  353. package/lib/esm/render/webgl/RenderFlags.js +2 -0
  354. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  355. package/lib/esm/render/webgl/ShaderBuilder.d.ts +2 -1
  356. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  357. package/lib/esm/render/webgl/ShaderBuilder.js +6 -1
  358. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  359. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +3 -1
  360. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  361. package/lib/esm/render/webgl/SurfaceGeometry.js +17 -6
  362. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  363. package/lib/esm/render/webgl/System.d.ts +1 -1
  364. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  365. package/lib/esm/render/webgl/System.js +1 -0
  366. package/lib/esm/render/webgl/System.js.map +1 -1
  367. package/lib/esm/render/webgl/Target.d.ts +1 -0
  368. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  369. package/lib/esm/render/webgl/Target.js +1 -0
  370. package/lib/esm/render/webgl/Target.js.map +1 -1
  371. package/lib/esm/render/webgl/glsl/Animation.d.ts.map +1 -1
  372. package/lib/esm/render/webgl/glsl/Animation.js +2 -1
  373. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  374. package/lib/esm/render/webgl/glsl/Common.d.ts +3 -1
  375. package/lib/esm/render/webgl/glsl/Common.d.ts.map +1 -1
  376. package/lib/esm/render/webgl/glsl/Common.js +25 -31
  377. package/lib/esm/render/webgl/glsl/Common.js.map +1 -1
  378. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  379. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +9 -1
  380. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  381. package/lib/esm/render/webgl/glsl/Lighting.d.ts.map +1 -1
  382. package/lib/esm/render/webgl/glsl/Lighting.js +6 -8
  383. package/lib/esm/render/webgl/glsl/Lighting.js.map +1 -1
  384. package/lib/esm/render/webgl/glsl/PointCloud.d.ts.map +1 -1
  385. package/lib/esm/render/webgl/glsl/PointCloud.js +8 -3
  386. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  387. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts +1 -0
  388. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  389. package/lib/esm/render/webgl/glsl/RealityMesh.js +5 -0
  390. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  391. package/lib/esm/render/webgl/glsl/SolarShadowMapping.d.ts.map +1 -1
  392. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js +1 -4
  393. package/lib/esm/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  394. package/lib/esm/render/webgl/glsl/Surface.d.ts +1 -1
  395. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  396. package/lib/esm/render/webgl/glsl/Surface.js +88 -16
  397. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  398. package/lib/esm/render/webgl/glsl/Thematic.d.ts.map +1 -1
  399. package/lib/esm/render/webgl/glsl/Thematic.js +2 -6
  400. package/lib/esm/render/webgl/glsl/Thematic.js.map +1 -1
  401. package/lib/esm/tile/GltfReader.d.ts +13 -2
  402. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  403. package/lib/esm/tile/GltfReader.js +66 -22
  404. package/lib/esm/tile/GltfReader.js.map +1 -1
  405. package/lib/esm/tile/IModelTileRequestChannels.js +1 -1
  406. package/lib/esm/tile/IModelTileRequestChannels.js.map +1 -1
  407. package/lib/esm/tile/ImdlReader.d.ts +5 -0
  408. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  409. package/lib/esm/tile/ImdlReader.js +9 -2
  410. package/lib/esm/tile/ImdlReader.js.map +1 -1
  411. package/lib/esm/tile/PrimaryTileTree.js +2 -2
  412. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  413. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  414. package/lib/esm/tile/RealityModelTileTree.js +51 -20
  415. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  416. package/lib/esm/tile/RealityTile.d.ts +2 -2
  417. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  418. package/lib/esm/tile/RealityTile.js +11 -4
  419. package/lib/esm/tile/RealityTile.js.map +1 -1
  420. package/lib/esm/tile/RealityTileLoader.d.ts +1 -0
  421. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  422. package/lib/esm/tile/RealityTileLoader.js +14 -1
  423. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  424. package/lib/esm/tile/RealityTileTree.js +1 -1
  425. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  426. package/lib/esm/tile/Tile.d.ts +5 -0
  427. package/lib/esm/tile/Tile.d.ts.map +1 -1
  428. package/lib/esm/tile/Tile.js +5 -0
  429. package/lib/esm/tile/Tile.js.map +1 -1
  430. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  431. package/lib/esm/tile/TileAdmin.js +13 -6
  432. package/lib/esm/tile/TileAdmin.js.map +1 -1
  433. package/lib/esm/tile/TileDrawArgs.d.ts +5 -1
  434. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  435. package/lib/esm/tile/TileDrawArgs.js +2 -0
  436. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  437. package/lib/esm/tile/TileRequestChannels.js +1 -1
  438. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  439. package/lib/esm/tile/TileStorage.d.ts.map +1 -1
  440. package/lib/esm/tile/TileStorage.js +12 -6
  441. package/lib/esm/tile/TileStorage.js.map +1 -1
  442. package/lib/esm/tile/internal.d.ts +1 -0
  443. package/lib/esm/tile/internal.d.ts.map +1 -1
  444. package/lib/esm/tile/internal.js +1 -0
  445. package/lib/esm/tile/internal.js.map +1 -1
  446. package/lib/esm/tile/map/ArcGISTileMap.d.ts +5 -2
  447. package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -1
  448. package/lib/esm/tile/map/ArcGISTileMap.js +18 -3
  449. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -1
  450. package/lib/esm/tile/map/ArcGisUtilities.d.ts +51 -5
  451. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  452. package/lib/esm/tile/map/ArcGisUtilities.js +121 -49
  453. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  454. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +26 -0
  455. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -0
  456. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +93 -0
  457. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -0
  458. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -4
  459. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  460. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +10 -95
  461. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  462. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  463. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +2 -1
  464. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  465. package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -0
  466. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  467. package/lib/esm/tile/map/ImageryTileTree.js +6 -4
  468. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  469. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +18 -4
  470. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  471. package/lib/esm/tile/map/MapLayerFormatRegistry.js +26 -6
  472. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  473. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +6 -4
  474. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  475. package/lib/esm/tile/map/MapLayerImageryFormats.js +12 -16
  476. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  477. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +26 -5
  478. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  479. package/lib/esm/tile/map/MapLayerImageryProvider.js +70 -49
  480. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  481. package/lib/esm/tile/map/MapLayerSources.js +1 -1
  482. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  483. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  484. package/lib/esm/tile/map/WmsCapabilities.js +4 -1
  485. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  486. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  487. package/lib/esm/tools/EditManipulator.js +2 -1
  488. package/lib/esm/tools/EditManipulator.js.map +1 -1
  489. package/lib/esm/tools/Tool.js +1 -1
  490. package/lib/esm/tools/Tool.js.map +1 -1
  491. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  492. package/lib/esm/tools/ToolAdmin.js +6 -4
  493. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  494. package/package.json +23 -21
  495. package/lib/cjs/tile/object-storage-azure.js +0 -5
  496. package/lib/esm/tile/object-storage-azure.js +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ViewCreator2d.js","sourceRoot":"","sources":["../../src/ViewCreator2d.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\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/*\r\nAPI for creating a 2D view from a given modelId and modelType (classFullName).\r\nAdditional options (such as background color) can be passed during view creation.\r\n*/\r\n\r\nimport { Id64Array, Id64String, IModelStatus } from \"@itwin/core-bentley\";\r\nimport {\r\n CategorySelectorProps, Code, ColorDef, DisplayStyleProps, IModel, IModelError, ModelSelectorProps, QueryBinder, QueryRowFormat, SheetProps,\r\n ViewDefinition2dProps, ViewStateProps,\r\n} from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { DrawingViewState } from \"./DrawingViewState\";\r\nimport { EntityState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { DrawingModelState, SectionDrawingModelState, SheetModelState } from \"./ModelState\";\r\nimport { SheetViewState } from \"./SheetViewState\";\r\nimport { ViewState, ViewState2d } from \"./ViewState\";\r\n\r\n/** Options for creating a [[ViewState2d]] via [[ViewCreator2d]].\r\n * @public\r\n * @extensions\r\n*/\r\nexport interface ViewCreator2dOptions {\r\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model in the initial state of the view. */\r\n vpAspect?: number;\r\n /** Background color of the view (default is white). */\r\n bgColor?: ColorDef;\r\n /** Checks to see if there already is a [[ViewDefinition2d]] for the given modelId. If so, use it as the seed view, and merge its props into the final view created. */\r\n useSeedView?: boolean;\r\n}\r\n\r\n/**\r\n * API for creating a [[ViewState2d]] for a 2D model ([[GeometricModel2dState]]). @see [[ViewCreator3d]] to create a view for a 3d model.\r\n * Example usage:\r\n * ```ts\r\n * const viewCreator = new ViewCreator2d(imodel);\r\n * const models = await imodel.models.queryProps({ from: \"BisCore.GeometricModel2d\" });\r\n * if (models.length > 0)\r\n * const view = await viewCreator.createViewForModel(models[0].id!);\r\n * ```\r\n * @public\r\n * @extensions\r\n */\r\nexport class ViewCreator2d {\r\n\r\n // Types of 2D models the API supports\r\n private static _drawingModelClasses = [DrawingModelState.classFullName, SectionDrawingModelState.classFullName];\r\n private static _sheetModelClasses = [SheetModelState.classFullName];\r\n\r\n /**\r\n * Constructs a ViewCreator2d using an [[IModelConnection]].\r\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\r\n */\r\n constructor(private _imodel: IModelConnection) { }\r\n\r\n /**\r\n * Creates and returns view for the 2D model id passed in.\r\n * @param modelId Id of the 2D model for the view.\r\n * @param [options] Options for creating the view.\r\n * @throws [IModelError]($common) If modelType is not supported.\r\n */\r\n public async createViewForModel(modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewState> {\r\n\r\n const baseClassName = await this._getModelBaseClassName(modelId);\r\n\r\n const viewState = await this._createViewState2d(modelId, baseClassName.classFullName, options);\r\n try {\r\n await viewState.load();\r\n } catch { }\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Gets model base class name from id.\r\n * @param modelId of target model.\r\n * @throws [IModelError]($common) if modelId is invalid.\r\n */\r\n private async _getModelBaseClassName(modelId: Id64String): Promise<typeof EntityState> {\r\n\r\n let baseClassName;\r\n\r\n const modelProps = await this._imodel.models.getProps(modelId);\r\n if (modelProps.length > 0) {\r\n const modelType = modelProps[0].classFullName;\r\n baseClassName = await this._imodel.findClassFor(modelType, undefined);\r\n } else\r\n throw new IModelError(IModelStatus.BadModel, \"ViewCreator2d._getModelBaseClassName: modelId is invalid\");\r\n\r\n if (baseClassName === undefined)\r\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d.getViewForModel: modelType is invalid\");\r\n\r\n return baseClassName;\r\n }\r\n\r\n /**\r\n * Creates view from any 2D model type (Drawing/SectionDrawing/Sheet)\r\n * @param modelId of target model.\r\n * @param modelType classFullName of target 2D model.\r\n * @param options for view creation.\r\n * @throws [IModelError]($common) if modelType is not supported.\r\n */\r\n private async _createViewState2d(modelId: Id64String, modelType: string, options?: ViewCreator2dOptions): Promise<ViewState2d> {\r\n let viewState: ViewState2d;\r\n if (this._isDrawingModelClass(modelType)) {\r\n const props = await this._createViewStateProps(modelId, options);\r\n viewState = DrawingViewState.createFromProps(props, this._imodel);\r\n } else if (this._isSheetModelClass(modelType)) {\r\n let props = await this._createViewStateProps(modelId, options);\r\n props = await this._addSheetViewProps(modelId, props);\r\n viewState = SheetViewState.createFromProps(props, this._imodel);\r\n } else\r\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d._createViewState2d: modelType not supported\");\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Checks to see if given model is of [[DrawingModelState]].\r\n * @param modelType classFullName of model.\r\n */\r\n private _isDrawingModelClass(modelType: string) {\r\n if (ViewCreator2d._drawingModelClasses.includes(modelType)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks to see if given model is of [[SheetModelState]].\r\n * @param modelType classFullName of model.\r\n */\r\n private _isSheetModelClass(modelType: string) {\r\n if (ViewCreator2d._sheetModelClasses.includes(modelType)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Creates ViewStateProps for the model. ViewStateProps are composed of the 4 sets of Props below.\r\n * @param modelId of target model.\r\n * @param options for view creation.\r\n */\r\n private _createViewStateProps = async (modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewStateProps> => {\r\n // Use dictionary model in all props\r\n const dictionaryId = IModel.dictionaryId;\r\n const categories = await this._getAllCategories();\r\n\r\n // Get bg color from options or default to white\r\n const bgColor: ColorDef = options?.bgColor ? options.bgColor : ColorDef.white;\r\n\r\n // model extents\r\n const modelProps = await this._imodel.models.queryModelRanges(modelId);\r\n const modelExtents = Range3d.fromJSON(modelProps[0]);\r\n let originX = modelExtents.low.x;\r\n let originY = modelExtents.low.y;\r\n let deltaX = modelExtents.xLength();\r\n let deltaY = modelExtents.yLength();\r\n\r\n // if vp aspect given, update model extents to fit view\r\n if (options?.vpAspect) {\r\n const modelAspect = deltaY / deltaX;\r\n\r\n if (modelAspect > options.vpAspect) {\r\n const xFix = deltaY / options.vpAspect;\r\n originX = originX - xFix / 2;\r\n deltaX = deltaX + xFix;\r\n } else if (modelAspect < options.vpAspect) {\r\n const yFix = deltaX * options.vpAspect;\r\n originY = originY - yFix / 2;\r\n deltaY = deltaY + yFix;\r\n }\r\n }\r\n\r\n const modelSelectorProps: ModelSelectorProps = {\r\n models: [modelId],\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ModelSelector\",\r\n };\r\n\r\n const categorySelectorProps: CategorySelectorProps = {\r\n categories,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:CategorySelector\",\r\n };\r\n\r\n const viewDefinitionProps: ViewDefinition2dProps = {\r\n baseModelId: modelId,\r\n categorySelectorId: \"\",\r\n displayStyleId: \"\",\r\n origin: { x: originX, y: originY },\r\n delta: { x: deltaX, y: deltaY },\r\n angle: { radians: 0 },\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ViewDefinition2d\",\r\n };\r\n\r\n const displayStyleProps: DisplayStyleProps = {\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:DisplayStyle2d\",\r\n jsonProperties: {\r\n styles: {\r\n backgroundColor: bgColor.tbgr,\r\n },\r\n },\r\n };\r\n\r\n const viewStateProps: ViewStateProps = {\r\n displayStyleProps,\r\n categorySelectorProps,\r\n modelSelectorProps,\r\n viewDefinitionProps,\r\n modelExtents,\r\n };\r\n\r\n // merge seed view props if needed\r\n return options?.useSeedView ? this._mergeSeedView(modelId, viewStateProps) : viewStateProps;\r\n };\r\n\r\n /**\r\n * Adds Sheet view props to given view props.\r\n * @param modelId of target model.\r\n * @param props input ViewStateProps.\r\n */\r\n private async _addSheetViewProps(modelId: Id64String, props: ViewStateProps) {\r\n let width = 0;\r\n let height = 0;\r\n for await (const row of this._imodel.query(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n width = row.width as number;\r\n height = row.height as number;\r\n break;\r\n }\r\n const sheetProps: SheetProps = {\r\n model: modelId,\r\n code: { spec: \"\", scope: \"\" },\r\n classFullName: \"DrawingSheetModel\",\r\n height,\r\n width,\r\n };\r\n\r\n props.sheetAttachments = await this._getSheetAttachments(modelId);\r\n props.sheetProps = sheetProps;\r\n\r\n return props;\r\n }\r\n\r\n /**\r\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no 2D views for target model.\r\n * @param modelId of target model.\r\n * @param props Input view props to be merged\r\n */\r\n private async _mergeSeedView(modelId: Id64String, props: ViewStateProps): Promise<ViewStateProps> {\r\n const viewDefinitionId = await this._getViewDefinitionsIdForModel(modelId);\r\n // Return incase no viewDefinition found.\r\n if (viewDefinitionId === undefined)\r\n return props;\r\n\r\n const seedViewState = (await this._imodel.views.load(viewDefinitionId));\r\n const seedViewStateProps: ViewStateProps = {\r\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\r\n viewDefinitionProps: seedViewState.toJSON(),\r\n displayStyleProps: seedViewState.displayStyle.toJSON(),\r\n };\r\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\r\n if (mergedDisplayProps.jsonProperties !== undefined) {\r\n mergedDisplayProps.jsonProperties.styles = {\r\n ...mergedDisplayProps.jsonProperties.styles,\r\n ...props.displayStyleProps.jsonProperties!.styles,\r\n };\r\n }\r\n\r\n return { ...seedViewStateProps, ...props, displayStyleProps: mergedDisplayProps };\r\n }\r\n\r\n /**\r\n * Get all view definitions for a given model.\r\n * @param modelId of target model.\r\n */\r\n private async _getViewDefinitionsIdForModel(modelId: Id64String): Promise<Id64String | undefined> {\r\n\r\n const query = `SELECT ECInstanceId from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;\r\n const viewDefinitionsId = await this._executeQuery(query);\r\n\r\n return (viewDefinitionsId.length) > 0 ? viewDefinitionsId[0] : undefined;\r\n }\r\n\r\n /**\r\n * Get all drawing categories\r\n */\r\n private async _getAllCategories(): Promise<Id64Array> {\r\n\r\n const query = \"SELECT ECInstanceId from BisCore.DrawingCategory\";\r\n const categories = await this._executeQuery(query);\r\n\r\n return categories;\r\n }\r\n\r\n /**\r\n * Get all sheet attachments\r\n * @param modelId of target model.\r\n */\r\n private async _getSheetAttachments(modelId: string): Promise<Id64Array> {\r\n\r\n const query = `SELECT ECInstanceId FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;\r\n const attachments = await this._executeQuery(query);\r\n\r\n return attachments;\r\n }\r\n\r\n /**\r\n * Helper function to execute ECSql queries.\r\n * @param query statement to execute.\r\n */\r\n private _executeQuery = async (query: string) => {\r\n const rows = [];\r\n for await (const row of this._imodel.query(query, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames }))\r\n rows.push(row.id);\r\n\r\n return rows;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"ViewCreator2d.js","sourceRoot":"","sources":["../../src/ViewCreator2d.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\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/*\r\nAPI for creating a 2D view from a given modelId and modelType (classFullName).\r\nAdditional options (such as background color) can be passed during view creation.\r\n*/\r\n\r\nimport { Id64Array, Id64String, IModelStatus } from \"@itwin/core-bentley\";\r\nimport {\r\n CategorySelectorProps, Code, ColorDef, DisplayStyleProps, IModel, IModelError, ModelSelectorProps, QueryBinder, QueryRowFormat, SheetProps,\r\n ViewDefinition2dProps, ViewStateProps,\r\n} from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { DrawingViewState } from \"./DrawingViewState\";\r\nimport { EntityState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { DrawingModelState, SectionDrawingModelState, SheetModelState } from \"./ModelState\";\r\nimport { SheetViewState } from \"./SheetViewState\";\r\nimport { ViewState, ViewState2d } from \"./ViewState\";\r\n\r\n/** Options for creating a [[ViewState2d]] via [[ViewCreator2d]].\r\n * @public\r\n * @extensions\r\n*/\r\nexport interface ViewCreator2dOptions {\r\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model in the initial state of the view. */\r\n vpAspect?: number;\r\n /** Background color of the view (default is white). */\r\n bgColor?: ColorDef;\r\n /** Checks to see if there already is a [[ViewDefinition2d]] for the given modelId. If so, use it as the seed view, and merge its props into the final view created. */\r\n useSeedView?: boolean;\r\n}\r\n\r\n/**\r\n * API for creating a [[ViewState2d]] for a 2D model ([[GeometricModel2dState]]). @see [[ViewCreator3d]] to create a view for a 3d model.\r\n * Example usage:\r\n * ```ts\r\n * const viewCreator = new ViewCreator2d(imodel);\r\n * const models = await imodel.models.queryProps({ from: \"BisCore.GeometricModel2d\" });\r\n * if (models.length > 0)\r\n * const view = await viewCreator.createViewForModel(models[0].id!);\r\n * ```\r\n * @public\r\n * @extensions\r\n */\r\nexport class ViewCreator2d {\r\n\r\n // Types of 2D models the API supports\r\n private static _drawingModelClasses = [DrawingModelState.classFullName, SectionDrawingModelState.classFullName];\r\n private static _sheetModelClasses = [SheetModelState.classFullName];\r\n\r\n /**\r\n * Constructs a ViewCreator2d using an [[IModelConnection]].\r\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\r\n */\r\n constructor(private _imodel: IModelConnection) { }\r\n\r\n /**\r\n * Creates and returns view for the 2D model id passed in.\r\n * @param modelId Id of the 2D model for the view.\r\n * @param [options] Options for creating the view.\r\n * @throws [IModelError]($common) If modelType is not supported.\r\n */\r\n public async createViewForModel(modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewState> {\r\n\r\n const baseClassName = await this._getModelBaseClassName(modelId);\r\n\r\n const viewState = await this._createViewState2d(modelId, baseClassName.classFullName, options);\r\n try {\r\n await viewState.load();\r\n } catch { }\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Gets model base class name from id.\r\n * @param modelId of target model.\r\n * @throws [IModelError]($common) if modelId is invalid.\r\n */\r\n private async _getModelBaseClassName(modelId: Id64String): Promise<typeof EntityState> {\r\n\r\n let baseClassName;\r\n\r\n const modelProps = await this._imodel.models.getProps(modelId);\r\n if (modelProps.length > 0) {\r\n const modelType = modelProps[0].classFullName;\r\n baseClassName = await this._imodel.findClassFor(modelType, undefined);\r\n } else\r\n throw new IModelError(IModelStatus.BadModel, \"ViewCreator2d._getModelBaseClassName: modelId is invalid\");\r\n\r\n if (baseClassName === undefined)\r\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d.getViewForModel: modelType is invalid\");\r\n\r\n return baseClassName;\r\n }\r\n\r\n /**\r\n * Creates view from any 2D model type (Drawing/SectionDrawing/Sheet)\r\n * @param modelId of target model.\r\n * @param modelType classFullName of target 2D model.\r\n * @param options for view creation.\r\n * @throws [IModelError]($common) if modelType is not supported.\r\n */\r\n private async _createViewState2d(modelId: Id64String, modelType: string, options?: ViewCreator2dOptions): Promise<ViewState2d> {\r\n let viewState: ViewState2d;\r\n if (this._isDrawingModelClass(modelType)) {\r\n const props = await this._createViewStateProps(modelId, options);\r\n viewState = DrawingViewState.createFromProps(props, this._imodel);\r\n } else if (this._isSheetModelClass(modelType)) {\r\n let props = await this._createViewStateProps(modelId, options);\r\n props = await this._addSheetViewProps(modelId, props);\r\n viewState = SheetViewState.createFromProps(props, this._imodel);\r\n } else\r\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d._createViewState2d: modelType not supported\");\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Checks to see if given model is of [[DrawingModelState]].\r\n * @param modelType classFullName of model.\r\n */\r\n private _isDrawingModelClass(modelType: string) {\r\n if (ViewCreator2d._drawingModelClasses.includes(modelType)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks to see if given model is of [[SheetModelState]].\r\n * @param modelType classFullName of model.\r\n */\r\n private _isSheetModelClass(modelType: string) {\r\n if (ViewCreator2d._sheetModelClasses.includes(modelType)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Creates ViewStateProps for the model. ViewStateProps are composed of the 4 sets of Props below.\r\n * @param modelId of target model.\r\n * @param options for view creation.\r\n */\r\n private _createViewStateProps = async (modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewStateProps> => {\r\n // Use dictionary model in all props\r\n const dictionaryId = IModel.dictionaryId;\r\n const categories = await this._getAllCategories();\r\n\r\n // Get bg color from options or default to white\r\n const bgColor: ColorDef = options?.bgColor ? options.bgColor : ColorDef.white;\r\n\r\n // model extents\r\n const modelProps = await this._imodel.models.queryExtents(modelId);\r\n const modelExtents = Range3d.fromJSON(modelProps[0]?.extents);\r\n let originX = modelExtents.low.x;\r\n let originY = modelExtents.low.y;\r\n let deltaX = modelExtents.xLength();\r\n let deltaY = modelExtents.yLength();\r\n\r\n // if vp aspect given, update model extents to fit view\r\n if (options?.vpAspect) {\r\n const modelAspect = deltaY / deltaX;\r\n\r\n if (modelAspect > options.vpAspect) {\r\n const xFix = deltaY / options.vpAspect;\r\n originX = originX - xFix / 2;\r\n deltaX = deltaX + xFix;\r\n } else if (modelAspect < options.vpAspect) {\r\n const yFix = deltaX * options.vpAspect;\r\n originY = originY - yFix / 2;\r\n deltaY = deltaY + yFix;\r\n }\r\n }\r\n\r\n const modelSelectorProps: ModelSelectorProps = {\r\n models: [modelId],\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ModelSelector\",\r\n };\r\n\r\n const categorySelectorProps: CategorySelectorProps = {\r\n categories,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:CategorySelector\",\r\n };\r\n\r\n const viewDefinitionProps: ViewDefinition2dProps = {\r\n baseModelId: modelId,\r\n categorySelectorId: \"\",\r\n displayStyleId: \"\",\r\n origin: { x: originX, y: originY },\r\n delta: { x: deltaX, y: deltaY },\r\n angle: { radians: 0 },\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ViewDefinition2d\",\r\n };\r\n\r\n const displayStyleProps: DisplayStyleProps = {\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:DisplayStyle2d\",\r\n jsonProperties: {\r\n styles: {\r\n backgroundColor: bgColor.tbgr,\r\n },\r\n },\r\n };\r\n\r\n const viewStateProps: ViewStateProps = {\r\n displayStyleProps,\r\n categorySelectorProps,\r\n modelSelectorProps,\r\n viewDefinitionProps,\r\n modelExtents,\r\n };\r\n\r\n // merge seed view props if needed\r\n return options?.useSeedView ? this._mergeSeedView(modelId, viewStateProps) : viewStateProps;\r\n };\r\n\r\n /**\r\n * Adds Sheet view props to given view props.\r\n * @param modelId of target model.\r\n * @param props input ViewStateProps.\r\n */\r\n private async _addSheetViewProps(modelId: Id64String, props: ViewStateProps) {\r\n let width = 0;\r\n let height = 0;\r\n for await (const row of this._imodel.query(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n width = row.width as number;\r\n height = row.height as number;\r\n break;\r\n }\r\n const sheetProps: SheetProps = {\r\n model: modelId,\r\n code: { spec: \"\", scope: \"\" },\r\n classFullName: \"DrawingSheetModel\",\r\n height,\r\n width,\r\n };\r\n\r\n props.sheetAttachments = await this._getSheetAttachments(modelId);\r\n props.sheetProps = sheetProps;\r\n\r\n return props;\r\n }\r\n\r\n /**\r\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no 2D views for target model.\r\n * @param modelId of target model.\r\n * @param props Input view props to be merged\r\n */\r\n private async _mergeSeedView(modelId: Id64String, props: ViewStateProps): Promise<ViewStateProps> {\r\n const viewDefinitionId = await this._getViewDefinitionsIdForModel(modelId);\r\n // Return incase no viewDefinition found.\r\n if (viewDefinitionId === undefined)\r\n return props;\r\n\r\n const seedViewState = (await this._imodel.views.load(viewDefinitionId));\r\n const seedViewStateProps: ViewStateProps = {\r\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\r\n viewDefinitionProps: seedViewState.toJSON(),\r\n displayStyleProps: seedViewState.displayStyle.toJSON(),\r\n };\r\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\r\n if (mergedDisplayProps.jsonProperties !== undefined) {\r\n mergedDisplayProps.jsonProperties.styles = {\r\n ...mergedDisplayProps.jsonProperties.styles,\r\n ...props.displayStyleProps.jsonProperties!.styles,\r\n };\r\n }\r\n\r\n return { ...seedViewStateProps, ...props, displayStyleProps: mergedDisplayProps };\r\n }\r\n\r\n /**\r\n * Get all view definitions for a given model.\r\n * @param modelId of target model.\r\n */\r\n private async _getViewDefinitionsIdForModel(modelId: Id64String): Promise<Id64String | undefined> {\r\n\r\n const query = `SELECT ECInstanceId from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;\r\n const viewDefinitionsId = await this._executeQuery(query);\r\n\r\n return (viewDefinitionsId.length) > 0 ? viewDefinitionsId[0] : undefined;\r\n }\r\n\r\n /**\r\n * Get all drawing categories\r\n */\r\n private async _getAllCategories(): Promise<Id64Array> {\r\n\r\n const query = \"SELECT ECInstanceId from BisCore.DrawingCategory\";\r\n const categories = await this._executeQuery(query);\r\n\r\n return categories;\r\n }\r\n\r\n /**\r\n * Get all sheet attachments\r\n * @param modelId of target model.\r\n */\r\n private async _getSheetAttachments(modelId: string): Promise<Id64Array> {\r\n\r\n const query = `SELECT ECInstanceId FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;\r\n const attachments = await this._executeQuery(query);\r\n\r\n return attachments;\r\n }\r\n\r\n /**\r\n * Helper function to execute ECSql queries.\r\n * @param query statement to execute.\r\n */\r\n private _executeQuery = async (query: string) => {\r\n const rows = [];\r\n for await (const row of this._imodel.query(query, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames }))\r\n rows.push(row.id);\r\n\r\n return rows;\r\n };\r\n}\r\n"]}
@@ -5,46 +5,98 @@ import { BeTimePoint } from "@itwin/core-bentley";
5
5
  import { Angle, Matrix3d, Point2d, Point3d, Vector3d } from "@itwin/core-geometry";
6
6
  import { Camera } from "@itwin/core-common";
7
7
  import { ViewState, ViewState2d, ViewState3d } from "./ViewState";
8
- /** The "pose" for a view. This is either the volume or area, depending on whether the view is 3d or 2d,
9
- * plus the camera position/angle, if it is enabled.
8
+ /** The "pose" for a [View]($docs/learning/frontend/views#viewstate-parameters) describing the viewed area or volume, depending upon whether
9
+ * the view is 2d or 3d.
10
+ * @see [[ViewState.savePose]] to extract a pose from a view and [[ViewState.applyPose]] to apply a pose to a view.
10
11
  * @note a ViewPose is immutable.
11
12
  * @public
12
13
  * @extensions
13
14
  */
14
15
  export declare abstract class ViewPose {
15
- cameraOn: boolean;
16
+ /** The time at which this pose was created, if it was saved into a [[Viewport]]'s undo stack. */
16
17
  undoTime?: BeTimePoint;
18
+ /** Returns true if this pose is equivalent to the pose represented by the specified [[ViewState]].
19
+ * This implies that `this.equal(view.savePose())`.
20
+ */
17
21
  abstract equalState(view: ViewState): boolean;
22
+ /** Returns true if this pose is equivalent to the specified other pose. */
18
23
  abstract equal(other: ViewPose): boolean;
24
+ /** The origin of the view in [[CoordSystem.World]] coordinates.
25
+ * @see [[ViewState.getOrigin]].
26
+ */
19
27
  abstract origin: Point3d;
28
+ /** The extents of the view in [[CoordSystem.World]] coordinates.
29
+ * @see [[ViewState.getExtents]].
30
+ */
20
31
  abstract extents: Vector3d;
32
+ /** The 3x3 ortho-normal rotation matrix of the view.
33
+ * @see [[ViewState.getRotation]].
34
+ */
21
35
  abstract rotation: Matrix3d;
36
+ /** True if the camera is enabled.
37
+ * @see [[ViewPose3d.camera]] to access the camera.
38
+ */
39
+ cameraOn: boolean;
40
+ /** Computes the center of the viewed volume. */
22
41
  get center(): Point3d;
42
+ /** Returns the target point of the view. This is the same as [[center]] unless [[cameraOn]] is `true`. */
23
43
  get target(): Point3d;
44
+ /** Computes the Z vector of the [[rotation]] matrix. */
24
45
  get zVec(): Vector3d;
25
46
  constructor(cameraOn: boolean);
26
47
  }
27
- /** @internal */
48
+ /** The "pose" for a [[ViewState3d]], including information about the view's [Camera]($common) if it is enabled.
49
+ * @public
50
+ * @extensions
51
+ */
28
52
  export declare class ViewPose3d extends ViewPose {
53
+ /** @internal override */
29
54
  readonly origin: Point3d;
55
+ /** @internal override */
30
56
  readonly extents: Vector3d;
57
+ /** @internal override */
31
58
  readonly rotation: Matrix3d;
59
+ /** The camera parameters of the view.
60
+ * @note This object is meaningful only if [[ViewPose.cameraOn]] is `true`.
61
+ */
32
62
  readonly camera: Camera;
63
+ /** Construct a pose from the specified 3d view. */
33
64
  constructor(view: ViewState3d);
65
+ /** @internal override */
34
66
  get target(): Point3d;
35
- equal(other: ViewPose3d): boolean;
36
- equalState(view: ViewState3d): boolean;
67
+ /** @internal override */
68
+ equal(other: ViewPose): boolean;
69
+ /** @internal override */
70
+ equalState(view: ViewState): boolean;
37
71
  }
38
- /** @internal */
72
+ /** The "pose" for a [[ViewState2d]].
73
+ * @public
74
+ * @extensions
75
+ */
39
76
  export declare class ViewPose2d extends ViewPose {
40
- readonly origin2: Point2d;
77
+ /** The 2d origin of the view.
78
+ * @see [[ViewState2d.origin]].
79
+ */
80
+ readonly origin2d: Point2d;
81
+ /** The 2d extents of the view.
82
+ * @see [[ViewState2d.delta]].
83
+ */
41
84
  readonly delta: Point2d;
85
+ /** The rotation of the view.
86
+ * @see [[ViewState2d.angle]].
87
+ */
42
88
  readonly angle: Angle;
89
+ /** Construct a pose from the specified 2d view. */
43
90
  constructor(view: ViewState2d);
44
- equal(other: ViewPose2d): boolean;
45
- equalState(view: ViewState2d): boolean;
91
+ /** @internal override */
92
+ equal(other: ViewPose): boolean;
93
+ /** @internal override */
94
+ equalState(view: ViewState): boolean;
95
+ /** @internal override */
46
96
  get origin(): Point3d;
97
+ /** @internal override */
47
98
  get extents(): Vector3d;
99
+ /** @internal override */
48
100
  get rotation(): Matrix3d;
49
101
  }
50
102
  //# sourceMappingURL=ViewPose.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewPose.d.ts","sourceRoot":"","sources":["../../src/ViewPose.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;GAKG;AACH,8BAAsB,QAAQ;IAeF,QAAQ,EAAE,OAAO;IAdpC,QAAQ,CAAC,EAAE,WAAW,CAAC;aACd,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;aACpC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAC/C,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,SAAgB,OAAO,EAAE,QAAQ,CAAC;IAClC,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAEnC,IAAW,MAAM,YAGhB;IAED,IAAW,MAAM,YAA0B;IAC3C,IAAW,IAAI,aAAsC;gBAC3B,QAAQ,EAAE,OAAO;CAC5C;AAED,gBAAgB;AAChB,qBAAa,UAAW,SAAQ,QAAQ;IACtC,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,SAAgB,OAAO,EAAE,QAAQ,CAAC;IAClC,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,WAAW;IAQpC,IAAoB,MAAM,YAEzB;IAEM,KAAK,CAAC,KAAK,EAAE,UAAU;IAQvB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;CAO9C;AAED,gBAAgB;AAChB,qBAAa,UAAW,SAAQ,QAAQ;IACtC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,KAAK,EAAE,OAAO,CAAC;IAC/B,SAAgB,KAAK,EAAE,KAAK,CAAC;gBAEV,IAAI,EAAE,WAAW;IAO7B,KAAK,CAAC,KAAK,EAAE,UAAU;IAMvB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAM7C,IAAW,MAAM,YAA0D;IAC3E,IAAW,OAAO,aAAuD;IACzE,IAAW,QAAQ,aAAiF;CACrG"}
1
+ {"version":3,"file":"ViewPose.d.ts","sourceRoot":"","sources":["../../src/ViewPose.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;;GAMG;AACH,8BAAsB,QAAQ;IAC5B,iGAAiG;IAC1F,QAAQ,CAAC,EAAE,WAAW,CAAC;IAC9B;;OAEG;aACa,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IACpD,2EAA2E;aAC3D,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAC/C;;OAEG;IACH,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,SAAgB,OAAO,EAAE,QAAQ,CAAC;IAClC;;OAEG;IACH,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC;;OAEG;IACI,QAAQ,EAAE,OAAO,CAAC;IAEzB,gDAAgD;IAChD,IAAW,MAAM,IAAI,OAAO,CAG3B;IAED,0GAA0G;IAC1G,IAAW,MAAM,YAA0B;IAE3C,wDAAwD;IACxD,IAAW,IAAI,aAAsC;gBAElC,QAAQ,EAAE,OAAO;CAGrC;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,QAAQ;IACtC,yBAAyB;IACzB,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,yBAAyB;IACzB,SAAgB,OAAO,EAAE,QAAQ,CAAC;IAClC,yBAAyB;IACzB,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,mDAAmD;gBAChC,IAAI,EAAE,WAAW;IASpC,yBAAyB;IACzB,IAAoB,MAAM,YAEzB;IAED,yBAAyB;IACT,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAW/C,yBAAyB;IACT,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;CAUrD;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,QAAQ;IACtC;;OAEG;IACH,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,SAAgB,KAAK,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,SAAgB,KAAK,EAAE,KAAK,CAAC;IAE7B,mDAAmD;gBAChC,IAAI,EAAE,WAAW;IAOpC,yBAAyB;IAClB,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAStC,yBAAyB;IAClB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAS3C,yBAAyB;IACzB,IAAW,MAAM,YAA4D;IAC7E,yBAAyB;IACzB,IAAW,OAAO,aAAuD;IACzE,yBAAyB;IACzB,IAAW,QAAQ,aAAiF;CACrG"}
@@ -9,8 +9,10 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.ViewPose2d = exports.ViewPose3d = exports.ViewPose = void 0;
11
11
  const core_geometry_1 = require("@itwin/core-geometry");
12
- /** The "pose" for a view. This is either the volume or area, depending on whether the view is 3d or 2d,
13
- * plus the camera position/angle, if it is enabled.
12
+ const ViewState_1 = require("./ViewState");
13
+ /** The "pose" for a [View]($docs/learning/frontend/views#viewstate-parameters) describing the viewed area or volume, depending upon whether
14
+ * the view is 2d or 3d.
15
+ * @see [[ViewState.savePose]] to extract a pose from a view and [[ViewState.applyPose]] to apply a pose to a view.
14
16
  * @note a ViewPose is immutable.
15
17
  * @public
16
18
  * @extensions
@@ -19,16 +21,23 @@ class ViewPose {
19
21
  constructor(cameraOn) {
20
22
  this.cameraOn = cameraOn;
21
23
  }
24
+ /** Computes the center of the viewed volume. */
22
25
  get center() {
23
26
  const delta = this.rotation.multiplyTransposeVector(this.extents);
24
27
  return this.origin.plusScaled(delta, 0.5);
25
28
  }
29
+ /** Returns the target point of the view. This is the same as [[center]] unless [[cameraOn]] is `true`. */
26
30
  get target() { return this.center; }
31
+ /** Computes the Z vector of the [[rotation]] matrix. */
27
32
  get zVec() { return this.rotation.getRow(2); }
28
33
  }
29
34
  exports.ViewPose = ViewPose;
30
- /** @internal */
35
+ /** The "pose" for a [[ViewState3d]], including information about the view's [Camera]($common) if it is enabled.
36
+ * @public
37
+ * @extensions
38
+ */
31
39
  class ViewPose3d extends ViewPose {
40
+ /** Construct a pose from the specified 3d view. */
32
41
  constructor(view) {
33
42
  super(view.isCameraOn);
34
43
  this.origin = view.origin.clone();
@@ -36,17 +45,24 @@ class ViewPose3d extends ViewPose {
36
45
  this.rotation = view.rotation.clone();
37
46
  this.camera = view.camera.clone();
38
47
  }
48
+ /** @internal override */
39
49
  get target() {
40
50
  return this.cameraOn ? this.camera.eye.plusScaled(this.rotation.getRow(2), -1.0 * this.camera.focusDist) : this.center;
41
51
  }
52
+ /** @internal override */
42
53
  equal(other) {
54
+ if (!(other instanceof ViewPose3d))
55
+ return false;
43
56
  return this.cameraOn === other.cameraOn &&
44
57
  this.origin.isAlmostEqual(other.origin) &&
45
58
  this.extents.isAlmostEqual(other.extents) &&
46
59
  this.rotation.isAlmostEqual(other.rotation) &&
47
60
  (!this.cameraOn || this.camera.equals(other.camera));
48
61
  }
62
+ /** @internal override */
49
63
  equalState(view) {
64
+ if (!(view instanceof ViewState_1.ViewState3d))
65
+ return false;
50
66
  return this.cameraOn === view.isCameraOn &&
51
67
  this.origin.isAlmostEqual(view.origin) &&
52
68
  this.extents.isAlmostEqual(view.extents) &&
@@ -55,26 +71,39 @@ class ViewPose3d extends ViewPose {
55
71
  }
56
72
  }
57
73
  exports.ViewPose3d = ViewPose3d;
58
- /** @internal */
74
+ /** The "pose" for a [[ViewState2d]].
75
+ * @public
76
+ * @extensions
77
+ */
59
78
  class ViewPose2d extends ViewPose {
79
+ /** Construct a pose from the specified 2d view. */
60
80
  constructor(view) {
61
81
  super(false);
62
- this.origin2 = view.origin.clone();
82
+ this.origin2d = view.origin.clone();
63
83
  this.delta = view.delta.clone();
64
84
  this.angle = view.angle.clone();
65
85
  }
86
+ /** @internal override */
66
87
  equal(other) {
67
- return this.origin2.isAlmostEqual(other.origin) &&
88
+ if (!(other instanceof ViewPose2d))
89
+ return false;
90
+ return this.origin2d.isAlmostEqual(other.origin) &&
68
91
  this.delta.isAlmostEqual(other.delta) &&
69
92
  this.angle.isAlmostEqualNoPeriodShift(other.angle);
70
93
  }
94
+ /** @internal override */
71
95
  equalState(view) {
72
- return this.origin2.isAlmostEqual(view.origin) &&
96
+ if (!(view instanceof ViewState_1.ViewState2d))
97
+ return false;
98
+ return this.origin2d.isAlmostEqual(view.origin) &&
73
99
  this.delta.isAlmostEqual(view.delta) &&
74
100
  this.angle.isAlmostEqualNoPeriodShift(view.angle);
75
101
  }
76
- get origin() { return new core_geometry_1.Point3d(this.origin2.x, this.origin2.y); }
102
+ /** @internal override */
103
+ get origin() { return new core_geometry_1.Point3d(this.origin2d.x, this.origin2d.y); }
104
+ /** @internal override */
77
105
  get extents() { return new core_geometry_1.Vector3d(this.delta.x, this.delta.y); }
106
+ /** @internal override */
78
107
  get rotation() { return core_geometry_1.Matrix3d.createRotationAroundVector(core_geometry_1.Vector3d.unitZ(), this.angle); }
79
108
  }
80
109
  exports.ViewPose2d = ViewPose2d;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewPose.js","sourceRoot":"","sources":["../../src/ViewPose.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 Views\r\n */\r\n\r\nimport { BeTimePoint } from \"@itwin/core-bentley\";\r\nimport { Angle, Matrix3d, Point2d, Point3d, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Camera } from \"@itwin/core-common\";\r\nimport { ViewState, ViewState2d, ViewState3d } from \"./ViewState\";\r\n\r\n/** The \"pose\" for a view. This is either the volume or area, depending on whether the view is 3d or 2d,\r\n * plus the camera position/angle, if it is enabled.\r\n * @note a ViewPose is immutable.\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class ViewPose {\r\n public undoTime?: BeTimePoint; // the time this pose was created, if it is saved in the view undo stack.\r\n public abstract equalState(view: ViewState): boolean;\r\n public abstract equal(other: ViewPose): boolean;\r\n public abstract origin: Point3d;\r\n public abstract extents: Vector3d;\r\n public abstract rotation: Matrix3d;\r\n\r\n public get center() {\r\n const delta = this.rotation.multiplyTransposeVector(this.extents);\r\n return this.origin.plusScaled(delta, 0.5);\r\n }\r\n\r\n public get target() { return this.center; }\r\n public get zVec() { return this.rotation.getRow(2); }\r\n public constructor(public cameraOn: boolean) { }\r\n}\r\n\r\n/** @internal */\r\nexport class ViewPose3d extends ViewPose {\r\n public readonly origin: Point3d;\r\n public readonly extents: Vector3d;\r\n public readonly rotation: Matrix3d;\r\n public readonly camera: Camera;\r\n\r\n public constructor(view: ViewState3d) {\r\n super(view.isCameraOn);\r\n this.origin = view.origin.clone();\r\n this.extents = view.extents.clone();\r\n this.rotation = view.rotation.clone();\r\n this.camera = view.camera.clone();\r\n }\r\n\r\n public override get target() {\r\n return this.cameraOn ? this.camera.eye.plusScaled(this.rotation.getRow(2), -1.0 * this.camera.focusDist) : this.center;\r\n }\r\n\r\n public equal(other: ViewPose3d) {\r\n return this.cameraOn === other.cameraOn &&\r\n this.origin.isAlmostEqual(other.origin) &&\r\n this.extents.isAlmostEqual(other.extents) &&\r\n this.rotation.isAlmostEqual(other.rotation) &&\r\n (!this.cameraOn || this.camera.equals(other.camera));\r\n }\r\n\r\n public equalState(view: ViewState3d): boolean {\r\n return this.cameraOn === view.isCameraOn &&\r\n this.origin.isAlmostEqual(view.origin) &&\r\n this.extents.isAlmostEqual(view.extents) &&\r\n this.rotation.isAlmostEqual(view.rotation) &&\r\n (!this.cameraOn || this.camera.equals(view.camera));\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class ViewPose2d extends ViewPose {\r\n public readonly origin2: Point2d;\r\n public readonly delta: Point2d;\r\n public readonly angle: Angle;\r\n\r\n public constructor(view: ViewState2d) {\r\n super(false);\r\n this.origin2 = view.origin.clone();\r\n this.delta = view.delta.clone();\r\n this.angle = view.angle.clone();\r\n }\r\n\r\n public equal(other: ViewPose2d) {\r\n return this.origin2.isAlmostEqual(other.origin) &&\r\n this.delta.isAlmostEqual(other.delta) &&\r\n this.angle.isAlmostEqualNoPeriodShift(other.angle);\r\n }\r\n\r\n public equalState(view: ViewState2d): boolean {\r\n return this.origin2.isAlmostEqual(view.origin) &&\r\n this.delta.isAlmostEqual(view.delta) &&\r\n this.angle.isAlmostEqualNoPeriodShift(view.angle);\r\n }\r\n\r\n public get origin() { return new Point3d(this.origin2.x, this.origin2.y); }\r\n public get extents() { return new Vector3d(this.delta.x, this.delta.y); }\r\n public get rotation() { return Matrix3d.createRotationAroundVector(Vector3d.unitZ(), this.angle)!; }\r\n}\r\n"]}
1
+ {"version":3,"file":"ViewPose.js","sourceRoot":"","sources":["../../src/ViewPose.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 Views\r\n */\r\n\r\nimport { BeTimePoint } from \"@itwin/core-bentley\";\r\nimport { Angle, Matrix3d, Point2d, Point3d, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Camera } from \"@itwin/core-common\";\r\nimport { ViewState, ViewState2d, ViewState3d } from \"./ViewState\";\r\n\r\n/** The \"pose\" for a [View]($docs/learning/frontend/views#viewstate-parameters) describing the viewed area or volume, depending upon whether\r\n * the view is 2d or 3d.\r\n * @see [[ViewState.savePose]] to extract a pose from a view and [[ViewState.applyPose]] to apply a pose to a view.\r\n * @note a ViewPose is immutable.\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class ViewPose {\r\n /** The time at which this pose was created, if it was saved into a [[Viewport]]'s undo stack. */\r\n public undoTime?: BeTimePoint;\r\n /** Returns true if this pose is equivalent to the pose represented by the specified [[ViewState]].\r\n * This implies that `this.equal(view.savePose())`.\r\n */\r\n public abstract equalState(view: ViewState): boolean;\r\n /** Returns true if this pose is equivalent to the specified other pose. */\r\n public abstract equal(other: ViewPose): boolean;\r\n /** The origin of the view in [[CoordSystem.World]] coordinates.\r\n * @see [[ViewState.getOrigin]].\r\n */\r\n public abstract origin: Point3d;\r\n /** The extents of the view in [[CoordSystem.World]] coordinates.\r\n * @see [[ViewState.getExtents]].\r\n */\r\n public abstract extents: Vector3d;\r\n /** The 3x3 ortho-normal rotation matrix of the view.\r\n * @see [[ViewState.getRotation]].\r\n */\r\n public abstract rotation: Matrix3d;\r\n /** True if the camera is enabled.\r\n * @see [[ViewPose3d.camera]] to access the camera.\r\n */\r\n public cameraOn: boolean;\r\n\r\n /** Computes the center of the viewed volume. */\r\n public get center(): Point3d {\r\n const delta = this.rotation.multiplyTransposeVector(this.extents);\r\n return this.origin.plusScaled(delta, 0.5);\r\n }\r\n\r\n /** Returns the target point of the view. This is the same as [[center]] unless [[cameraOn]] is `true`. */\r\n public get target() { return this.center; }\r\n\r\n /** Computes the Z vector of the [[rotation]] matrix. */\r\n public get zVec() { return this.rotation.getRow(2); }\r\n\r\n public constructor(cameraOn: boolean) {\r\n this.cameraOn = cameraOn;\r\n }\r\n}\r\n\r\n/** The \"pose\" for a [[ViewState3d]], including information about the view's [Camera]($common) if it is enabled.\r\n * @public\r\n * @extensions\r\n */\r\nexport class ViewPose3d extends ViewPose {\r\n /** @internal override */\r\n public readonly origin: Point3d;\r\n /** @internal override */\r\n public readonly extents: Vector3d;\r\n /** @internal override */\r\n public readonly rotation: Matrix3d;\r\n /** The camera parameters of the view.\r\n * @note This object is meaningful only if [[ViewPose.cameraOn]] is `true`.\r\n */\r\n public readonly camera: Camera;\r\n\r\n /** Construct a pose from the specified 3d view. */\r\n public constructor(view: ViewState3d) {\r\n super(view.isCameraOn);\r\n\r\n this.origin = view.origin.clone();\r\n this.extents = view.extents.clone();\r\n this.rotation = view.rotation.clone();\r\n this.camera = view.camera.clone();\r\n }\r\n\r\n /** @internal override */\r\n public override get target() {\r\n return this.cameraOn ? this.camera.eye.plusScaled(this.rotation.getRow(2), -1.0 * this.camera.focusDist) : this.center;\r\n }\r\n\r\n /** @internal override */\r\n public override equal(other: ViewPose): boolean {\r\n if (!(other instanceof ViewPose3d))\r\n return false;\r\n\r\n return this.cameraOn === other.cameraOn &&\r\n this.origin.isAlmostEqual(other.origin) &&\r\n this.extents.isAlmostEqual(other.extents) &&\r\n this.rotation.isAlmostEqual(other.rotation) &&\r\n (!this.cameraOn || this.camera.equals(other.camera));\r\n }\r\n\r\n /** @internal override */\r\n public override equalState(view: ViewState): boolean {\r\n if (!(view instanceof ViewState3d))\r\n return false;\r\n\r\n return this.cameraOn === view.isCameraOn &&\r\n this.origin.isAlmostEqual(view.origin) &&\r\n this.extents.isAlmostEqual(view.extents) &&\r\n this.rotation.isAlmostEqual(view.rotation) &&\r\n (!this.cameraOn || this.camera.equals(view.camera));\r\n }\r\n}\r\n\r\n/** The \"pose\" for a [[ViewState2d]].\r\n * @public\r\n * @extensions\r\n */\r\nexport class ViewPose2d extends ViewPose {\r\n /** The 2d origin of the view.\r\n * @see [[ViewState2d.origin]].\r\n */\r\n public readonly origin2d: Point2d;\r\n /** The 2d extents of the view.\r\n * @see [[ViewState2d.delta]].\r\n */\r\n public readonly delta: Point2d;\r\n /** The rotation of the view.\r\n * @see [[ViewState2d.angle]].\r\n */\r\n public readonly angle: Angle;\r\n\r\n /** Construct a pose from the specified 2d view. */\r\n public constructor(view: ViewState2d) {\r\n super(false);\r\n this.origin2d = view.origin.clone();\r\n this.delta = view.delta.clone();\r\n this.angle = view.angle.clone();\r\n }\r\n\r\n /** @internal override */\r\n public equal(other: ViewPose): boolean {\r\n if (!(other instanceof ViewPose2d))\r\n return false;\r\n\r\n return this.origin2d.isAlmostEqual(other.origin) &&\r\n this.delta.isAlmostEqual(other.delta) &&\r\n this.angle.isAlmostEqualNoPeriodShift(other.angle);\r\n }\r\n\r\n /** @internal override */\r\n public equalState(view: ViewState): boolean {\r\n if (!(view instanceof ViewState2d))\r\n return false;\r\n\r\n return this.origin2d.isAlmostEqual(view.origin) &&\r\n this.delta.isAlmostEqual(view.delta) &&\r\n this.angle.isAlmostEqualNoPeriodShift(view.angle);\r\n }\r\n\r\n /** @internal override */\r\n public get origin() { return new Point3d(this.origin2d.x, this.origin2d.y); }\r\n /** @internal override */\r\n public get extents() { return new Vector3d(this.delta.x, this.delta.y); }\r\n /** @internal override */\r\n public get rotation() { return Matrix3d.createRotationAroundVector(Vector3d.unitZ(), this.angle)!; }\r\n}\r\n"]}
@@ -287,9 +287,17 @@ export declare abstract class ViewState extends ElementState {
287
287
  * @internal
288
288
  */
289
289
  collectNonTileTreeStatistics(_stats: RenderMemory.Statistics): void;
290
- /** @internal */
290
+ /** Capture a copy of this view's viewed volume.
291
+ * @see [[applyPose]] to apply the pose to this or another view.
292
+ * @public
293
+ * @extensions
294
+ */
291
295
  abstract savePose(): ViewPose;
292
- /** @internal */
296
+ /** Apply a pose to this view to change the viewed volume.
297
+ * @see [[savePose]] to capture the view's pose.
298
+ * @public
299
+ * @extensions
300
+ */
293
301
  abstract applyPose(props: ViewPose): this;
294
302
  /** @internal */
295
303
  createScene(context: SceneContext): void;
@@ -545,10 +553,10 @@ export declare abstract class ViewState3d extends ViewState {
545
553
  private updateModelClips;
546
554
  /** @internal */
547
555
  getModelClip(modelId: Id64String): RenderClipVolume | undefined;
548
- /** @internal */
549
- savePose(): ViewPose;
550
- /** @internal */
551
- applyPose(val: ViewPose3d): this;
556
+ /** Capture a copy of the viewed volume and camera parameters. */
557
+ savePose(): ViewPose3d;
558
+ /** @internal override */
559
+ applyPose(val: ViewPose): this;
552
560
  toJSON(): ViewDefinition3dProps;
553
561
  /** @internal */
554
562
  is3d(): this is ViewState3d;
@@ -773,10 +781,10 @@ export declare abstract class ViewState2d extends ViewState {
773
781
  is3d(): this is ViewState3d;
774
782
  /** @internal */
775
783
  isSpatialView(): this is SpatialViewState;
776
- /** @internal */
777
- savePose(): ViewPose;
778
- /** @internal */
779
- applyPose(val: ViewPose2d): this;
784
+ /** Capture a copy of the viewed area. */
785
+ savePose(): ViewPose2d;
786
+ /** @internal override */
787
+ applyPose(val: ViewPose): this;
780
788
  /** Return the model for this 2d view. */
781
789
  getViewedModel(): GeometricModel2dState | undefined;
782
790
  /** Change the model viewed by this view.
@@ -1 +1 @@
1
- {"version":3,"file":"ViewState.d.ts","sourceRoot":"","sources":["../../src/ViewState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewState.d.ts","sourceRoot":"","sources":["../../src/ViewState.ts"],"names":[],"mappings":"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"}
@@ -697,6 +697,7 @@ class ViewState extends EntityState_1.ElementState {
697
697
  * @see lookAtVolume
698
698
  */
699
699
  lookAtViewAlignedVolume(volume, aspect, options) {
700
+ var _a, _b, _c, _d;
700
701
  if (volume.isNull) // make sure volume is valid
701
702
  return;
702
703
  const viewRot = this.getRotation();
@@ -707,14 +708,33 @@ class ViewState extends EntityState_1.ElementState {
707
708
  newOrigin.z -= (minimumDepth - newDelta.z) / 2.0;
708
709
  newDelta.z = minimumDepth;
709
710
  }
710
- const margin = options === null || options === void 0 ? void 0 : options.marginPercent;
711
711
  if (this.is3d() && this.isCameraOn) {
712
712
  // If the camera is on, the only way to guarantee we can see the entire volume is to set delta at the front plane, not focus plane.
713
713
  // That generally causes the view to be too large (objects in it are too small), since we can't tell whether the objects are at
714
714
  // the front or back of the view. For this reason, don't attempt to add any "margin" to camera views.
715
715
  }
716
- else if (margin) {
716
+ else if (undefined !== (options === null || options === void 0 ? void 0 : options.paddingPercent)) {
717
+ let left, right, top, bottom;
718
+ const padding = options.paddingPercent;
719
+ if (typeof padding === "number") {
720
+ left = right = top = bottom = padding;
721
+ }
722
+ else {
723
+ left = (_a = padding.left) !== null && _a !== void 0 ? _a : 0;
724
+ right = (_b = padding.right) !== null && _b !== void 0 ? _b : 0;
725
+ top = (_c = padding.top) !== null && _c !== void 0 ? _c : 0;
726
+ bottom = (_d = padding.bottom) !== null && _d !== void 0 ? _d : 0;
727
+ }
728
+ const width = newDelta.x;
729
+ const height = newDelta.y;
730
+ newOrigin.x -= left * width;
731
+ newDelta.x += (right + left) * width;
732
+ newOrigin.y -= bottom * height;
733
+ newDelta.y += (top + bottom) * height;
734
+ }
735
+ else if (options === null || options === void 0 ? void 0 : options.marginPercent) {
717
736
  // compute how much space we'll need for both of X and Y margins in root coordinates
737
+ const margin = options.marginPercent;
718
738
  const wPercent = margin.left + margin.right;
719
739
  const hPercent = margin.top + margin.bottom;
720
740
  const marginHorizontal = wPercent / (1 - wPercent) * newDelta.x;
@@ -1023,16 +1043,18 @@ class ViewState3d extends ViewState {
1023
1043
  const index = this.details.modelClipGroups.findGroupIndex(modelId);
1024
1044
  return -1 !== index ? this._modelClips[index] : undefined;
1025
1045
  }
1026
- /** @internal */
1046
+ /** Capture a copy of the viewed volume and camera parameters. */
1027
1047
  savePose() { return new ViewPose_1.ViewPose3d(this); }
1028
- /** @internal */
1048
+ /** @internal override */
1029
1049
  applyPose(val) {
1030
- this._cameraOn = val.cameraOn;
1031
- this.setOrigin(val.origin);
1032
- this.setExtents(val.extents);
1033
- this.rotation.setFrom(val.rotation);
1034
- this.camera.setFrom(val.camera);
1035
- this._updateMaxGlobalScopeFactor();
1050
+ if (val instanceof ViewPose_1.ViewPose3d) {
1051
+ this._cameraOn = val.cameraOn;
1052
+ this.setOrigin(val.origin);
1053
+ this.setExtents(val.extents);
1054
+ this.rotation.setFrom(val.rotation);
1055
+ this.camera.setFrom(val.camera);
1056
+ this._updateMaxGlobalScopeFactor();
1057
+ }
1036
1058
  return this;
1037
1059
  }
1038
1060
  toJSON() {
@@ -1729,13 +1751,15 @@ class ViewState2d extends ViewState {
1729
1751
  is3d() { return false; }
1730
1752
  /** @internal */
1731
1753
  isSpatialView() { return false; }
1732
- /** @internal */
1754
+ /** Capture a copy of the viewed area. */
1733
1755
  savePose() { return new ViewPose_1.ViewPose2d(this); }
1734
- /** @internal */
1756
+ /** @internal override */
1735
1757
  applyPose(val) {
1736
- this.setOrigin(val.origin);
1737
- this.setExtents(val.delta);
1738
- this.angle.setFrom(val.angle);
1758
+ if (val instanceof ViewPose_1.ViewPose2d) {
1759
+ this.setOrigin(val.origin);
1760
+ this.setExtents(val.delta);
1761
+ this.angle.setFrom(val.angle);
1762
+ }
1739
1763
  return this;
1740
1764
  }
1741
1765
  /** Return the model for this 2d view. */