@itwin/core-frontend 5.2.0-dev.5 → 5.2.0-dev.7

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 (609) hide show
  1. package/lib/cjs/BackgroundMapGeometry.js +13 -13
  2. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  3. package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
  4. package/lib/cjs/BriefcaseConnection.js +2 -2
  5. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  6. package/lib/cjs/CheckpointConnection.d.ts.map +1 -1
  7. package/lib/cjs/CheckpointConnection.js +3 -3
  8. package/lib/cjs/CheckpointConnection.js.map +1 -1
  9. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  10. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  11. package/lib/cjs/ElementLocateManager.js +7 -6
  12. package/lib/cjs/ElementLocateManager.js.map +1 -1
  13. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  14. package/lib/cjs/EmphasizeElements.js +3 -1
  15. package/lib/cjs/EmphasizeElements.js.map +1 -1
  16. package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -1
  17. package/lib/cjs/EnvironmentDecorations.js +4 -0
  18. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  19. package/lib/cjs/FrustumAnimator.d.ts.map +1 -1
  20. package/lib/cjs/FrustumAnimator.js +3 -2
  21. package/lib/cjs/FrustumAnimator.js.map +1 -1
  22. package/lib/cjs/GlobeAnimator.d.ts.map +1 -1
  23. package/lib/cjs/GlobeAnimator.js +7 -6
  24. package/lib/cjs/GlobeAnimator.js.map +1 -1
  25. package/lib/cjs/HitDetail.d.ts.map +1 -1
  26. package/lib/cjs/HitDetail.js +12 -7
  27. package/lib/cjs/HitDetail.js.map +1 -1
  28. package/lib/cjs/IModelApp.d.ts.map +1 -1
  29. package/lib/cjs/IModelApp.js +2 -1
  30. package/lib/cjs/IModelApp.js.map +1 -1
  31. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  32. package/lib/cjs/IModelConnection.js +8 -9
  33. package/lib/cjs/IModelConnection.js.map +1 -1
  34. package/lib/cjs/IpcApp.d.ts.map +1 -1
  35. package/lib/cjs/IpcApp.js +1 -1
  36. package/lib/cjs/IpcApp.js.map +1 -1
  37. package/lib/cjs/LinePlaneIntersect.d.ts.map +1 -1
  38. package/lib/cjs/LinePlaneIntersect.js +2 -0
  39. package/lib/cjs/LinePlaneIntersect.js.map +1 -1
  40. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  41. package/lib/cjs/LocalhostIpcApp.js +2 -1
  42. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  43. package/lib/cjs/Marker.d.ts.map +1 -1
  44. package/lib/cjs/Marker.js +4 -3
  45. package/lib/cjs/Marker.js.map +1 -1
  46. package/lib/cjs/ModelState.d.ts.map +1 -1
  47. package/lib/cjs/ModelState.js +2 -2
  48. package/lib/cjs/ModelState.js.map +1 -1
  49. package/lib/cjs/NativeApp.d.ts.map +1 -1
  50. package/lib/cjs/NativeApp.js +5 -4
  51. package/lib/cjs/NativeApp.js.map +1 -1
  52. package/lib/cjs/NativeAppLogger.d.ts.map +1 -1
  53. package/lib/cjs/NativeAppLogger.js +1 -0
  54. package/lib/cjs/NativeAppLogger.js.map +1 -1
  55. package/lib/cjs/PlanarClipMaskState.js +3 -3
  56. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  57. package/lib/cjs/SelectionSet.d.ts.map +1 -1
  58. package/lib/cjs/SelectionSet.js +1 -0
  59. package/lib/cjs/SelectionSet.js.map +1 -1
  60. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  61. package/lib/cjs/SheetViewState.js +5 -5
  62. package/lib/cjs/SheetViewState.js.map +1 -1
  63. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  64. package/lib/cjs/SpatialViewState.js +1 -1
  65. package/lib/cjs/SpatialViewState.js.map +1 -1
  66. package/lib/cjs/Sprites.js +2 -2
  67. package/lib/cjs/Sprites.js.map +1 -1
  68. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  69. package/lib/cjs/TentativePoint.js +10 -9
  70. package/lib/cjs/TentativePoint.js.map +1 -1
  71. package/lib/cjs/ViewCreator2d.js +1 -1
  72. package/lib/cjs/ViewCreator2d.js.map +1 -1
  73. package/lib/cjs/ViewCreator3d.js +1 -1
  74. package/lib/cjs/ViewCreator3d.js.map +1 -1
  75. package/lib/cjs/ViewPose.d.ts.map +1 -1
  76. package/lib/cjs/ViewPose.js +4 -1
  77. package/lib/cjs/ViewPose.js.map +1 -1
  78. package/lib/cjs/ViewState.d.ts.map +1 -1
  79. package/lib/cjs/ViewState.js +17 -12
  80. package/lib/cjs/ViewState.js.map +1 -1
  81. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  82. package/lib/cjs/ViewingSpace.js +2 -0
  83. package/lib/cjs/ViewingSpace.js.map +1 -1
  84. package/lib/cjs/Viewport.d.ts.map +1 -1
  85. package/lib/cjs/Viewport.js +17 -10
  86. package/lib/cjs/Viewport.js.map +1 -1
  87. package/lib/cjs/common/ImageUtil.d.ts.map +1 -1
  88. package/lib/cjs/common/ImageUtil.js +2 -1
  89. package/lib/cjs/common/ImageUtil.js.map +1 -1
  90. package/lib/cjs/common/internal/render/GeometryAccumulator.d.ts.map +1 -1
  91. package/lib/cjs/common/internal/render/GeometryAccumulator.js +4 -3
  92. package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
  93. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -1
  94. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js +2 -0
  95. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  96. package/lib/cjs/common/internal/render/MeshBuilder.js +1 -1
  97. package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
  98. package/lib/cjs/common/internal/render/VertexTableBuilder.d.ts.map +1 -1
  99. package/lib/cjs/common/internal/render/VertexTableBuilder.js +16 -7
  100. package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
  101. package/lib/cjs/extension/ExtensionAdmin.js +2 -2
  102. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  103. package/lib/cjs/internal/GoogleMapsDecorator.js +1 -1
  104. package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
  105. package/lib/cjs/internal/ScriptUtils.js +1 -0
  106. package/lib/cjs/internal/ScriptUtils.js.map +1 -1
  107. package/lib/cjs/internal/render/UpsampleRealityMeshParams.d.ts.map +1 -1
  108. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js +2 -1
  109. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  110. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
  111. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js +7 -2
  112. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  113. package/lib/cjs/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
  114. package/lib/cjs/internal/render/webgl/AttributeBuffers.js +5 -3
  115. package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
  116. package/lib/cjs/internal/render/webgl/AttributeMap.d.ts.map +1 -1
  117. package/lib/cjs/internal/render/webgl/AttributeMap.js +2 -0
  118. package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
  119. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  120. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +2 -2
  121. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  122. package/lib/cjs/internal/render/webgl/BatchUniforms.js +1 -1
  123. package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
  124. package/lib/cjs/internal/render/webgl/BranchState.d.ts.map +1 -1
  125. package/lib/cjs/internal/render/webgl/BranchState.js +2 -1
  126. package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
  127. package/lib/cjs/internal/render/webgl/BranchUniforms.js +2 -2
  128. package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
  129. package/lib/cjs/internal/render/webgl/CachedGeometry.d.ts.map +1 -1
  130. package/lib/cjs/internal/render/webgl/CachedGeometry.js +2 -2
  131. package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
  132. package/lib/cjs/internal/render/webgl/ClipStack.js +1 -1
  133. package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
  134. package/lib/cjs/internal/render/webgl/ColorInfo.js +1 -1
  135. package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
  136. package/lib/cjs/internal/render/webgl/Contours.js +3 -3
  137. package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
  138. package/lib/cjs/internal/render/webgl/EDL.js +18 -18
  139. package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
  140. package/lib/cjs/internal/render/webgl/FeatureOverrides.js +4 -4
  141. package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
  142. package/lib/cjs/internal/render/webgl/FrameBuffer.js +3 -3
  143. package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
  144. package/lib/cjs/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
  145. package/lib/cjs/internal/render/webgl/FrustumUniforms.js +2 -1
  146. package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
  147. package/lib/cjs/internal/render/webgl/GLTimer.d.ts.map +1 -1
  148. package/lib/cjs/internal/render/webgl/GLTimer.js +2 -0
  149. package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
  150. package/lib/cjs/internal/render/webgl/MapLayerParams.js +2 -2
  151. package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
  152. package/lib/cjs/internal/render/webgl/MeshData.js +2 -2
  153. package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
  154. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js +1 -1
  155. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  156. package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  157. package/lib/cjs/internal/render/webgl/PlanarClassifier.js +7 -7
  158. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  159. package/lib/cjs/internal/render/webgl/PlanarGrid.js +1 -1
  160. package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
  161. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.d.ts +0 -3
  162. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  163. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js +6 -5
  164. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  165. package/lib/cjs/internal/render/webgl/PointCloud.js +1 -1
  166. package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
  167. package/lib/cjs/internal/render/webgl/RealityMesh.js +1 -1
  168. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  169. package/lib/cjs/internal/render/webgl/RenderBuffer.js +2 -2
  170. package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
  171. package/lib/cjs/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
  172. package/lib/cjs/internal/render/webgl/SceneCompositor.js +115 -85
  173. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  174. package/lib/cjs/internal/render/webgl/ScratchDrawParams.d.ts.map +1 -1
  175. package/lib/cjs/internal/render/webgl/ScratchDrawParams.js +11 -10
  176. package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  177. package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js +3 -3
  178. package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  179. package/lib/cjs/internal/render/webgl/ShaderProgram.js +3 -3
  180. package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
  181. package/lib/cjs/internal/render/webgl/ShadowUniforms.d.ts.map +1 -1
  182. package/lib/cjs/internal/render/webgl/ShadowUniforms.js +2 -1
  183. package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
  184. package/lib/cjs/internal/render/webgl/SolarShadowMap.d.ts.map +1 -1
  185. package/lib/cjs/internal/render/webgl/SolarShadowMap.js +6 -4
  186. package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
  187. package/lib/cjs/internal/render/webgl/System.d.ts.map +1 -1
  188. package/lib/cjs/internal/render/webgl/System.js +1 -1
  189. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  190. package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
  191. package/lib/cjs/internal/render/webgl/Target.js +10 -7
  192. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  193. package/lib/cjs/internal/render/webgl/Texture.d.ts.map +1 -1
  194. package/lib/cjs/internal/render/webgl/Texture.js +10 -8
  195. package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
  196. package/lib/cjs/internal/render/webgl/glsl/Animation.d.ts.map +1 -1
  197. package/lib/cjs/internal/render/webgl/glsl/Animation.js +4 -2
  198. package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
  199. package/lib/cjs/internal/render/webgl/glsl/Color.d.ts.map +1 -1
  200. package/lib/cjs/internal/render/webgl/glsl/Color.js +2 -1
  201. package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
  202. package/lib/cjs/internal/render/webgl/glsl/Composite.js +1 -1
  203. package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
  204. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  205. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +3 -2
  206. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  207. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +3 -3
  208. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  209. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.d.ts.map +1 -1
  210. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js +4 -3
  211. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  212. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +8 -8
  213. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  214. package/lib/cjs/internal/render/webgl/glsl/Surface.js +10 -10
  215. package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
  216. package/lib/cjs/internal/render/webgl/glsl/Vertex.js +2 -2
  217. package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
  218. package/lib/cjs/internal/tile/B3dmReader.d.ts.map +1 -1
  219. package/lib/cjs/internal/tile/B3dmReader.js +1 -1
  220. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
  221. package/lib/cjs/internal/tile/FetchCloudStorage.js +1 -1
  222. package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
  223. package/lib/cjs/internal/tile/LRUTileList.d.ts.map +1 -1
  224. package/lib/cjs/internal/tile/LRUTileList.js +4 -0
  225. package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
  226. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
  227. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js +2 -1
  228. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  229. package/lib/cjs/internal/tile/OPCFormatInterpreter.js +4 -4
  230. package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
  231. package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
  232. package/lib/cjs/internal/tile/OrbitGtTileTree.js +2 -2
  233. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  234. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  235. package/lib/cjs/internal/tile/RealityModelTileTree.js +3 -3
  236. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  237. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
  238. package/lib/cjs/internal/tile/RealityTileLoader.js +3 -0
  239. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  240. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js +3 -3
  241. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  242. package/lib/cjs/internal/tile/TileUserSet.d.ts.map +1 -1
  243. package/lib/cjs/internal/tile/TileUserSet.js +4 -0
  244. package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
  245. package/lib/cjs/internal/tile/map/ArcGISTileMap.js +1 -1
  246. package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
  247. package/lib/cjs/internal/tile/map/ArcGisUtilities.d.ts.map +1 -1
  248. package/lib/cjs/internal/tile/map/ArcGisUtilities.js +4 -0
  249. package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
  250. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  251. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +3 -1
  252. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  253. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
  254. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  255. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  256. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  257. package/lib/cjs/internal/tile/map/MapTileAvailability.d.ts.map +1 -1
  258. package/lib/cjs/internal/tile/map/MapTileAvailability.js +5 -2
  259. package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
  260. package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
  261. package/lib/cjs/internal/tile/map/WmtsCapabilities.js +3 -2
  262. package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
  263. package/lib/cjs/properties/FormattedQuantityDescription.d.ts.map +1 -1
  264. package/lib/cjs/properties/FormattedQuantityDescription.js +2 -0
  265. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  266. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  267. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +2 -0
  268. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  269. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  270. package/lib/cjs/quantity-formatting/QuantityFormatter.js +5 -3
  271. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  272. package/lib/cjs/tile/GltfReader.d.ts +5 -2
  273. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  274. package/lib/cjs/tile/GltfReader.js +54 -16
  275. package/lib/cjs/tile/GltfReader.js.map +1 -1
  276. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  277. package/lib/cjs/tile/RealityTile.js +2 -2
  278. package/lib/cjs/tile/RealityTile.js.map +1 -1
  279. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  280. package/lib/cjs/tile/RealityTileTree.js +5 -5
  281. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  282. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  283. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  284. package/lib/cjs/tile/TileDrawArgs.js +2 -1
  285. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  286. package/lib/cjs/tile/map/ImageryTileTree.js +1 -1
  287. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  288. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +1 -1
  289. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  290. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  291. package/lib/cjs/tile/map/MapLayerSources.js +9 -1
  292. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  293. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  294. package/lib/cjs/tile/map/MapTile.js +10 -8
  295. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  296. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  297. package/lib/cjs/tile/map/MapTileTree.js +8 -7
  298. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  299. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  300. package/lib/cjs/tile/map/MapTilingScheme.js +2 -1
  301. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  302. package/lib/cjs/tools/Tool.js +1 -1
  303. package/lib/cjs/tools/Tool.js.map +1 -1
  304. package/lib/esm/BackgroundMapGeometry.js +14 -14
  305. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  306. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  307. package/lib/esm/BriefcaseConnection.js +2 -2
  308. package/lib/esm/BriefcaseConnection.js.map +1 -1
  309. package/lib/esm/CheckpointConnection.d.ts.map +1 -1
  310. package/lib/esm/CheckpointConnection.js +4 -4
  311. package/lib/esm/CheckpointConnection.js.map +1 -1
  312. package/lib/esm/ContextRealityModelState.js.map +1 -1
  313. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  314. package/lib/esm/ElementLocateManager.js +8 -7
  315. package/lib/esm/ElementLocateManager.js.map +1 -1
  316. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  317. package/lib/esm/EmphasizeElements.js +3 -1
  318. package/lib/esm/EmphasizeElements.js.map +1 -1
  319. package/lib/esm/EnvironmentDecorations.d.ts.map +1 -1
  320. package/lib/esm/EnvironmentDecorations.js +4 -0
  321. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  322. package/lib/esm/FrustumAnimator.d.ts.map +1 -1
  323. package/lib/esm/FrustumAnimator.js +3 -2
  324. package/lib/esm/FrustumAnimator.js.map +1 -1
  325. package/lib/esm/GlobeAnimator.d.ts.map +1 -1
  326. package/lib/esm/GlobeAnimator.js +7 -6
  327. package/lib/esm/GlobeAnimator.js.map +1 -1
  328. package/lib/esm/HitDetail.d.ts.map +1 -1
  329. package/lib/esm/HitDetail.js +12 -7
  330. package/lib/esm/HitDetail.js.map +1 -1
  331. package/lib/esm/IModelApp.d.ts.map +1 -1
  332. package/lib/esm/IModelApp.js +4 -3
  333. package/lib/esm/IModelApp.js.map +1 -1
  334. package/lib/esm/IModelConnection.d.ts.map +1 -1
  335. package/lib/esm/IModelConnection.js +9 -10
  336. package/lib/esm/IModelConnection.js.map +1 -1
  337. package/lib/esm/IpcApp.d.ts.map +1 -1
  338. package/lib/esm/IpcApp.js +2 -2
  339. package/lib/esm/IpcApp.js.map +1 -1
  340. package/lib/esm/LinePlaneIntersect.d.ts.map +1 -1
  341. package/lib/esm/LinePlaneIntersect.js +2 -0
  342. package/lib/esm/LinePlaneIntersect.js.map +1 -1
  343. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  344. package/lib/esm/LocalhostIpcApp.js +2 -1
  345. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  346. package/lib/esm/Marker.d.ts.map +1 -1
  347. package/lib/esm/Marker.js +5 -4
  348. package/lib/esm/Marker.js.map +1 -1
  349. package/lib/esm/ModelState.d.ts.map +1 -1
  350. package/lib/esm/ModelState.js +3 -3
  351. package/lib/esm/ModelState.js.map +1 -1
  352. package/lib/esm/NativeApp.d.ts.map +1 -1
  353. package/lib/esm/NativeApp.js +5 -4
  354. package/lib/esm/NativeApp.js.map +1 -1
  355. package/lib/esm/NativeAppLogger.d.ts.map +1 -1
  356. package/lib/esm/NativeAppLogger.js +1 -0
  357. package/lib/esm/NativeAppLogger.js.map +1 -1
  358. package/lib/esm/PlanarClipMaskState.js +3 -3
  359. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  360. package/lib/esm/SelectionSet.d.ts.map +1 -1
  361. package/lib/esm/SelectionSet.js +2 -1
  362. package/lib/esm/SelectionSet.js.map +1 -1
  363. package/lib/esm/SheetViewState.d.ts.map +1 -1
  364. package/lib/esm/SheetViewState.js +6 -6
  365. package/lib/esm/SheetViewState.js.map +1 -1
  366. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  367. package/lib/esm/SpatialViewState.js +2 -2
  368. package/lib/esm/SpatialViewState.js.map +1 -1
  369. package/lib/esm/Sprites.js +2 -2
  370. package/lib/esm/Sprites.js.map +1 -1
  371. package/lib/esm/TentativePoint.d.ts.map +1 -1
  372. package/lib/esm/TentativePoint.js +10 -9
  373. package/lib/esm/TentativePoint.js.map +1 -1
  374. package/lib/esm/ViewCreator2d.js +1 -1
  375. package/lib/esm/ViewCreator2d.js.map +1 -1
  376. package/lib/esm/ViewCreator3d.js +1 -1
  377. package/lib/esm/ViewCreator3d.js.map +1 -1
  378. package/lib/esm/ViewPose.d.ts.map +1 -1
  379. package/lib/esm/ViewPose.js +4 -1
  380. package/lib/esm/ViewPose.js.map +1 -1
  381. package/lib/esm/ViewState.d.ts.map +1 -1
  382. package/lib/esm/ViewState.js +18 -13
  383. package/lib/esm/ViewState.js.map +1 -1
  384. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  385. package/lib/esm/ViewingSpace.js +2 -0
  386. package/lib/esm/ViewingSpace.js.map +1 -1
  387. package/lib/esm/Viewport.d.ts.map +1 -1
  388. package/lib/esm/Viewport.js +18 -11
  389. package/lib/esm/Viewport.js.map +1 -1
  390. package/lib/esm/common/ImageUtil.d.ts.map +1 -1
  391. package/lib/esm/common/ImageUtil.js +2 -1
  392. package/lib/esm/common/ImageUtil.js.map +1 -1
  393. package/lib/esm/common/internal/render/GeometryAccumulator.d.ts.map +1 -1
  394. package/lib/esm/common/internal/render/GeometryAccumulator.js +4 -3
  395. package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
  396. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -1
  397. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js +2 -0
  398. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  399. package/lib/esm/common/internal/render/MeshBuilder.js +2 -2
  400. package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
  401. package/lib/esm/common/internal/render/VertexTableBuilder.d.ts.map +1 -1
  402. package/lib/esm/common/internal/render/VertexTableBuilder.js +17 -8
  403. package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
  404. package/lib/esm/extension/ExtensionAdmin.js +2 -2
  405. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  406. package/lib/esm/internal/GoogleMapsDecorator.js +1 -1
  407. package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
  408. package/lib/esm/internal/ScriptUtils.js +1 -0
  409. package/lib/esm/internal/ScriptUtils.js.map +1 -1
  410. package/lib/esm/internal/render/UpsampleRealityMeshParams.d.ts.map +1 -1
  411. package/lib/esm/internal/render/UpsampleRealityMeshParams.js +2 -1
  412. package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  413. package/lib/esm/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
  414. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js +7 -2
  415. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  416. package/lib/esm/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
  417. package/lib/esm/internal/render/webgl/AttributeBuffers.js +5 -3
  418. package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
  419. package/lib/esm/internal/render/webgl/AttributeMap.d.ts.map +1 -1
  420. package/lib/esm/internal/render/webgl/AttributeMap.js +2 -0
  421. package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
  422. package/lib/esm/internal/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  423. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +3 -3
  424. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  425. package/lib/esm/internal/render/webgl/BatchUniforms.js +1 -1
  426. package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
  427. package/lib/esm/internal/render/webgl/BranchState.d.ts.map +1 -1
  428. package/lib/esm/internal/render/webgl/BranchState.js +2 -1
  429. package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
  430. package/lib/esm/internal/render/webgl/BranchUniforms.js +3 -3
  431. package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
  432. package/lib/esm/internal/render/webgl/CachedGeometry.d.ts.map +1 -1
  433. package/lib/esm/internal/render/webgl/CachedGeometry.js +3 -3
  434. package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
  435. package/lib/esm/internal/render/webgl/ClipStack.js +1 -1
  436. package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
  437. package/lib/esm/internal/render/webgl/ColorInfo.js +2 -2
  438. package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
  439. package/lib/esm/internal/render/webgl/Contours.js +4 -4
  440. package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
  441. package/lib/esm/internal/render/webgl/EDL.js +19 -19
  442. package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
  443. package/lib/esm/internal/render/webgl/FeatureOverrides.js +5 -5
  444. package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
  445. package/lib/esm/internal/render/webgl/FrameBuffer.js +4 -4
  446. package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
  447. package/lib/esm/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
  448. package/lib/esm/internal/render/webgl/FrustumUniforms.js +2 -1
  449. package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
  450. package/lib/esm/internal/render/webgl/GLTimer.d.ts.map +1 -1
  451. package/lib/esm/internal/render/webgl/GLTimer.js +2 -0
  452. package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
  453. package/lib/esm/internal/render/webgl/MapLayerParams.js +3 -3
  454. package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
  455. package/lib/esm/internal/render/webgl/MeshData.js +3 -3
  456. package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
  457. package/lib/esm/internal/render/webgl/PerformanceMetrics.js +1 -1
  458. package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  459. package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  460. package/lib/esm/internal/render/webgl/PlanarClassifier.js +8 -8
  461. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  462. package/lib/esm/internal/render/webgl/PlanarGrid.js +2 -2
  463. package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
  464. package/lib/esm/internal/render/webgl/PlanarTextureProjection.d.ts +0 -3
  465. package/lib/esm/internal/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  466. package/lib/esm/internal/render/webgl/PlanarTextureProjection.js +6 -5
  467. package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  468. package/lib/esm/internal/render/webgl/PointCloud.js +2 -2
  469. package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
  470. package/lib/esm/internal/render/webgl/RealityMesh.js +2 -2
  471. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  472. package/lib/esm/internal/render/webgl/RenderBuffer.js +3 -3
  473. package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
  474. package/lib/esm/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
  475. package/lib/esm/internal/render/webgl/SceneCompositor.js +116 -86
  476. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  477. package/lib/esm/internal/render/webgl/ScratchDrawParams.d.ts.map +1 -1
  478. package/lib/esm/internal/render/webgl/ScratchDrawParams.js +11 -10
  479. package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  480. package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js +4 -4
  481. package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  482. package/lib/esm/internal/render/webgl/ShaderProgram.js +4 -4
  483. package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
  484. package/lib/esm/internal/render/webgl/ShadowUniforms.d.ts.map +1 -1
  485. package/lib/esm/internal/render/webgl/ShadowUniforms.js +2 -1
  486. package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
  487. package/lib/esm/internal/render/webgl/SolarShadowMap.d.ts.map +1 -1
  488. package/lib/esm/internal/render/webgl/SolarShadowMap.js +7 -5
  489. package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
  490. package/lib/esm/internal/render/webgl/System.d.ts.map +1 -1
  491. package/lib/esm/internal/render/webgl/System.js +2 -2
  492. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  493. package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
  494. package/lib/esm/internal/render/webgl/Target.js +11 -8
  495. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  496. package/lib/esm/internal/render/webgl/Texture.d.ts.map +1 -1
  497. package/lib/esm/internal/render/webgl/Texture.js +11 -9
  498. package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
  499. package/lib/esm/internal/render/webgl/glsl/Animation.d.ts.map +1 -1
  500. package/lib/esm/internal/render/webgl/glsl/Animation.js +5 -3
  501. package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
  502. package/lib/esm/internal/render/webgl/glsl/Color.d.ts.map +1 -1
  503. package/lib/esm/internal/render/webgl/glsl/Color.js +2 -1
  504. package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
  505. package/lib/esm/internal/render/webgl/glsl/Composite.js +2 -2
  506. package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
  507. package/lib/esm/internal/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  508. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +3 -2
  509. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  510. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +4 -4
  511. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  512. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.d.ts.map +1 -1
  513. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js +4 -3
  514. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  515. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +9 -9
  516. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  517. package/lib/esm/internal/render/webgl/glsl/Surface.js +11 -11
  518. package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
  519. package/lib/esm/internal/render/webgl/glsl/Vertex.js +3 -3
  520. package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
  521. package/lib/esm/internal/tile/B3dmReader.d.ts.map +1 -1
  522. package/lib/esm/internal/tile/B3dmReader.js +2 -2
  523. package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
  524. package/lib/esm/internal/tile/FetchCloudStorage.js +1 -1
  525. package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
  526. package/lib/esm/internal/tile/LRUTileList.d.ts.map +1 -1
  527. package/lib/esm/internal/tile/LRUTileList.js +4 -0
  528. package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
  529. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
  530. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js +2 -1
  531. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  532. package/lib/esm/internal/tile/OPCFormatInterpreter.js +5 -5
  533. package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
  534. package/lib/esm/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
  535. package/lib/esm/internal/tile/OrbitGtTileTree.js +3 -3
  536. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  537. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  538. package/lib/esm/internal/tile/RealityModelTileTree.js +4 -4
  539. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  540. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
  541. package/lib/esm/internal/tile/RealityTileLoader.js +3 -0
  542. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  543. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js +4 -4
  544. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  545. package/lib/esm/internal/tile/TileUserSet.d.ts.map +1 -1
  546. package/lib/esm/internal/tile/TileUserSet.js +4 -0
  547. package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
  548. package/lib/esm/internal/tile/map/ArcGISTileMap.js +1 -1
  549. package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
  550. package/lib/esm/internal/tile/map/ArcGisUtilities.d.ts.map +1 -1
  551. package/lib/esm/internal/tile/map/ArcGisUtilities.js +4 -0
  552. package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
  553. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  554. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +3 -1
  555. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  556. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js +3 -3
  557. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  558. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +2 -2
  559. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  560. package/lib/esm/internal/tile/map/MapTileAvailability.d.ts.map +1 -1
  561. package/lib/esm/internal/tile/map/MapTileAvailability.js +6 -3
  562. package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
  563. package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
  564. package/lib/esm/internal/tile/map/WmtsCapabilities.js +3 -2
  565. package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
  566. package/lib/esm/properties/FormattedQuantityDescription.d.ts.map +1 -1
  567. package/lib/esm/properties/FormattedQuantityDescription.js +2 -0
  568. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  569. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  570. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +2 -0
  571. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  572. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  573. package/lib/esm/quantity-formatting/QuantityFormatter.js +5 -3
  574. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  575. package/lib/esm/tile/GltfReader.d.ts +5 -2
  576. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  577. package/lib/esm/tile/GltfReader.js +55 -17
  578. package/lib/esm/tile/GltfReader.js.map +1 -1
  579. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  580. package/lib/esm/tile/RealityTile.js +3 -3
  581. package/lib/esm/tile/RealityTile.js.map +1 -1
  582. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  583. package/lib/esm/tile/RealityTileTree.js +6 -6
  584. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  585. package/lib/esm/tile/TileAdmin.js.map +1 -1
  586. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  587. package/lib/esm/tile/TileDrawArgs.js +2 -1
  588. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  589. package/lib/esm/tile/map/ImageryTileTree.js +2 -2
  590. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  591. package/lib/esm/tile/map/MapLayerFormatRegistry.js +2 -2
  592. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  593. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  594. package/lib/esm/tile/map/MapLayerSources.js +10 -2
  595. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  596. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  597. package/lib/esm/tile/map/MapTile.js +11 -9
  598. package/lib/esm/tile/map/MapTile.js.map +1 -1
  599. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  600. package/lib/esm/tile/map/MapTileTree.js +9 -8
  601. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  602. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  603. package/lib/esm/tile/map/MapTilingScheme.js +2 -1
  604. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  605. package/lib/esm/tools/Tool.js +2 -2
  606. package/lib/esm/tools/Tool.js.map +1 -1
  607. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  608. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  609. package/package.json +20 -20
@@ -14,6 +14,7 @@ const HitDetail_1 = require("./HitDetail");
14
14
  const IModelApp_1 = require("./IModelApp");
15
15
  const Tool_1 = require("./tools/Tool");
16
16
  const ViewTool_1 = require("./tools/ViewTool");
17
+ const core_bentley_1 = require("@itwin/core-bentley");
17
18
  /**
18
19
  * @public
19
20
  * @extensions
@@ -61,7 +62,7 @@ class TentativePoint {
61
62
  if (this.getCurrSnap())
62
63
  IModelApp_1.IModelApp.viewManager.invalidateDecorationsAllViews();
63
64
  else
64
- this.viewport.invalidateDecorations();
65
+ this.viewport?.invalidateDecorations();
65
66
  this.isActive = false;
66
67
  }
67
68
  setCurrSnap(newSnap) {
@@ -72,10 +73,10 @@ class TentativePoint {
72
73
  showTentative() {
73
74
  if (this.isSnapped) {
74
75
  IModelApp_1.IModelApp.viewManager.invalidateDecorationsAllViews();
75
- IModelApp_1.IModelApp.accuSnap.displayToolTip(this._viewPoint, this.viewport, undefined);
76
+ IModelApp_1.IModelApp.accuSnap.displayToolTip(this._viewPoint, (0, core_bentley_1.expectDefined)(this.viewport), undefined);
76
77
  }
77
78
  else {
78
- this.viewport.invalidateDecorations();
79
+ this.viewport?.invalidateDecorations();
79
80
  }
80
81
  this.isActive = true;
81
82
  }
@@ -148,11 +149,11 @@ class TentativePoint {
148
149
  }
149
150
  if (undefined === thisHit) {
150
151
  // search for elements around the current raw point (search should not be affected by locks!)
151
- const aperture = (2.0 * this.viewport.pixelsFromInches(IModelApp_1.IModelApp.locateManager.apertureInches) / 2.0) + 1.5;
152
+ const aperture = (2.0 * (0, core_bentley_1.expectDefined)(this.viewport).pixelsFromInches(IModelApp_1.IModelApp.locateManager.apertureInches) / 2.0) + 1.5;
152
153
  const options = IModelApp_1.IModelApp.locateManager.options.clone(); // Copy to avoid changing out from under active Tool...
153
154
  const picker = IModelApp_1.IModelApp.locateManager.picker;
154
155
  options.hitSource = HitDetail_1.HitSource.TentativeSnap;
155
- if (0 === picker.doPick(this.viewport, this._rawPoint, aperture, options))
156
+ if (0 === picker.doPick((0, core_bentley_1.expectDefined)(this.viewport), this._rawPoint, aperture, options))
156
157
  return undefined;
157
158
  this.tpHits = picker.getHitList(true);
158
159
  thisHit = (undefined !== this.tpHits ? this.tpHits.getNextHit() : undefined);
@@ -181,7 +182,7 @@ class TentativePoint {
181
182
  const wasActive = this.isActive;
182
183
  this.removeTentative(); // remove the TP cross if it is already on the screen
183
184
  const lastPtView = this._viewPoint.clone();
184
- this.viewport = ev.viewport;
185
+ this.viewport = (0, core_bentley_1.expectDefined)(ev.viewport);
185
186
  this._point.setFrom(ev.point);
186
187
  this._rawPoint.setFrom(ev.rawPoint);
187
188
  this._viewPoint.setFrom(ev.viewPoint);
@@ -195,7 +196,7 @@ class TentativePoint {
195
196
  this.setCurrSnap(newSnap); // Adopt the snap as current
196
197
  IModelApp_1.IModelApp.accuSnap.clear(); // make sure there's no AccuSnap active after a tentative point (otherwise we continually snap to it).
197
198
  if (this.isSnapped)
198
- this._point.setFrom(this.currSnap.snapPoint);
199
+ this._point.setFrom((0, core_bentley_1.expectDefined)(this.currSnap).snapPoint);
199
200
  else if (wasActive && newSearch)
200
201
  this._point.setFrom(ev.rawPoint);
201
202
  this.showTentative(); // show the TP cross
@@ -204,7 +205,7 @@ class TentativePoint {
204
205
  }
205
206
  else if (IModelApp_1.IModelApp.accuDraw.isActive) {
206
207
  const point = this.getPoint().clone();
207
- const vp = ev.viewport;
208
+ const vp = (0, core_bentley_1.expectDefined)(ev.viewport);
208
209
  if (vp.isSnapAdjustmentRequired) {
209
210
  IModelApp_1.IModelApp.toolAdmin.adjustPointToACS(point, vp, false);
210
211
  const hit = new HitDetail_1.HitDetail({
@@ -232,7 +233,7 @@ class TentativePoint {
232
233
  }
233
234
  }
234
235
  else {
235
- IModelApp_1.IModelApp.toolAdmin.adjustPoint(this.getPoint(), ev.viewport);
236
+ IModelApp_1.IModelApp.toolAdmin.adjustPoint(this.getPoint(), (0, core_bentley_1.expectDefined)(ev.viewport));
236
237
  }
237
238
  IModelApp_1.IModelApp.accuDraw.onTentative();
238
239
  if (currTool && currTool instanceof ViewTool_1.ViewManip && currTool.viewHandles.hasHandle(ViewTool_1.ViewHandleType.TargetCenter))
@@ -1 +1 @@
1
- {"version":3,"file":"TentativePoint.js","sourceRoot":"","sources":["../../src/TentativePoint.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module LocatingElements\n */\n\nimport { Point3d } from \"@itwin/core-geometry\";\nimport { AccuSnap } from \"./AccuSnap\";\nimport { HitListHolder } from \"./ElementLocateManager\";\nimport { HitDetail, HitList, HitPriority, HitSource, SnapDetail, SnapHeat, SnapMode } from \"./HitDetail\";\nimport { IModelApp } from \"./IModelApp\";\nimport { BeButton, BeButtonEvent } from \"./tools/Tool\";\nimport { ViewHandleType, ViewManip } from \"./tools/ViewTool\";\nimport { DecorateContext } from \"./ViewContext\";\nimport { ScreenViewport } from \"./Viewport\";\n\n/**\n * @public\n * @extensions\n */\nexport class TentativePoint {\n public isActive = false;\n public currSnap?: SnapDetail;\n public tpHits?: HitList<HitDetail>;\n private get _hotDistanceInches(): number { return 0.21; }\n private readonly _point: Point3d = new Point3d();\n private readonly _rawPoint: Point3d = new Point3d();\n private readonly _viewPoint: Point3d = new Point3d();\n private _tentativePromise?: Promise<SnapDetail | undefined>;\n public viewport?: ScreenViewport;\n\n public onInitialized() { }\n public setHitList(list?: HitList<HitDetail>) { this.tpHits = list; }\n\n /** @return true if the tentative point is currently active and snapped to an element. */\n public get isSnapped(): boolean { return undefined !== this.currSnap; }\n\n /** @return The current snap path when TentativePoint.isSnapped or undefined. */\n public getCurrSnap(): SnapDetail | undefined { return this.currSnap; }\n\n public getPoint(): Point3d {\n const snap = this.currSnap;\n return !snap ? this._point : snap.adjustedPoint;\n }\n\n public setPoint(point: Point3d): void {\n this.setCurrSnap(undefined);\n this.tpHits = undefined;\n this._point.setFrom(point);\n }\n\n public clear(doErase: boolean): void {\n if (doErase) {\n this.removeTentative();\n IModelApp.accuSnap.synchSnapMode();\n }\n IModelApp.accuSnap.destroy();\n this.isActive = false;\n this.setCurrSnap(undefined);\n this.tpHits = undefined;\n }\n\n public removeTentative(): void {\n this._tentativePromise = undefined;\n if (!this.isActive)\n return;\n IModelApp.accuSnap.erase();\n if (this.getCurrSnap())\n IModelApp.viewManager.invalidateDecorationsAllViews();\n else\n this.viewport!.invalidateDecorations();\n this.isActive = false;\n }\n\n public setCurrSnap(newSnap?: SnapDetail): void {\n if (newSnap)\n newSnap.setSnapPoint(newSnap.snapPoint, SnapHeat.InRange); // Reset adjustedPoint from pre-located snap and set SnapHeat...\n this.currSnap = newSnap;\n }\n\n public showTentative(): void {\n if (this.isSnapped) {\n IModelApp.viewManager.invalidateDecorationsAllViews();\n IModelApp.accuSnap.displayToolTip(this._viewPoint, this.viewport!, undefined);\n } else {\n this.viewport!.invalidateDecorations();\n }\n this.isActive = true;\n }\n\n public getHitAndList(holder: HitListHolder): SnapDetail | undefined {\n const hit = this.currSnap;\n if (hit) {\n holder.setHitList(this.tpHits);\n this.tpHits = undefined;\n }\n return hit;\n }\n\n public onButtonEvent(ev: BeButtonEvent): void {\n switch (ev.button) {\n case BeButton.Data:\n if (!ev.isDown)\n return; // cleared on down...\n break;\n case BeButton.Reset:\n if (ev.isDown)\n return; // cleared on up...\n break;\n case BeButton.Middle:\n return;\n }\n\n this.removeTentative();\n IModelApp.accuSnap.synchSnapMode();\n this.setCurrSnap(undefined);\n this.tpHits = undefined;\n }\n\n public decorate(context: DecorateContext): void {\n const viewport = context.viewport;\n if (!this.isActive || !viewport)\n return;\n\n const tpSize = Math.floor(viewport.pixelsPerInch * 0.4) + 0.5;\n const toSizeOutline = tpSize + 1;\n const position = context.viewport.worldToView(this._point);\n position.x = Math.floor(position.x) + 0.5;\n position.y = Math.floor(position.y) + 0.5;\n const drawDecoration = (ctx: CanvasRenderingContext2D) => {\n ctx.beginPath();\n ctx.strokeStyle = \"rgba(0,0,0,.5)\";\n ctx.lineWidth = 3;\n ctx.moveTo(-toSizeOutline, 0);\n ctx.lineTo(toSizeOutline, 0);\n ctx.moveTo(0, -toSizeOutline);\n ctx.lineTo(0, toSizeOutline);\n ctx.stroke();\n\n ctx.beginPath();\n ctx.strokeStyle = \"white\";\n ctx.lineWidth = 1;\n if (!this.isSnapped)\n ctx.setLineDash([4, 1]);\n\n ctx.shadowColor = \"black\";\n ctx.shadowBlur = 5;\n ctx.moveTo(-tpSize, 0);\n ctx.lineTo(tpSize, 0);\n ctx.moveTo(0, -tpSize);\n ctx.lineTo(0, tpSize);\n ctx.stroke();\n };\n context.addCanvasDecoration({ position, drawDecoration });\n }\n\n private async getSnap(newSearch: boolean): Promise<SnapDetail | undefined> {\n // Use next hit from previous search when using tentative to cycle through hits...\n let thisHit = (!newSearch && undefined !== this.tpHits ? this.tpHits.getNextHit() : undefined);\n\n // Use existing AccuSnap hit list if one exists...\n if (undefined === thisHit) {\n this.tpHits = undefined;\n thisHit = IModelApp.accuSnap.getHitAndList(this);\n }\n\n if (undefined === thisHit) {\n // search for elements around the current raw point (search should not be affected by locks!)\n const aperture = (2.0 * this.viewport!.pixelsFromInches(IModelApp.locateManager.apertureInches) / 2.0) + 1.5;\n const options = IModelApp.locateManager.options.clone(); // Copy to avoid changing out from under active Tool...\n const picker = IModelApp.locateManager.picker;\n\n options.hitSource = HitSource.TentativeSnap;\n if (0 === picker.doPick(this.viewport!, this._rawPoint, aperture, options))\n return undefined;\n\n this.tpHits = picker.getHitList(true);\n thisHit = (undefined !== this.tpHits ? this.tpHits.getNextHit() : undefined);\n } else if (thisHit instanceof SnapDetail) {\n // Make the current AccuSnap the TentativePoint snap...\n return thisHit;\n }\n\n if (undefined === thisHit)\n return undefined;\n\n const snapModes = IModelApp.accuSnap.getActiveSnapModes(); // Get the list of point snap modes to consider\n if (1 === snapModes.length && SnapMode.Intersection === snapModes[0])\n snapModes.push(SnapMode.Nearest); // Add nearest when doing intersection by itself to support finding extended intersections...\n\n const thisSnap = await AccuSnap.requestSnap(thisHit, snapModes, this._hotDistanceInches, IModelApp.accuSnap.keypointDivisor, this.tpHits);\n\n if (undefined !== thisSnap)\n IModelApp.accuDraw.onSnap(thisSnap); // AccuDraw can adjust nearest snap to intersection of circle (polar distance lock) or line (axis lock) with snapped to curve...\n\n return thisSnap;\n }\n\n private static arePointsCloseEnough(pt1: Point3d, pt2: Point3d, pixelDistance: number): boolean { return pt1.distance(pt2) < (pixelDistance + 1.5); }\n\n public process(ev: BeButtonEvent): void {\n if (undefined !== this._tentativePromise)\n return;\n\n const currTool = IModelApp.toolAdmin.viewTool;\n if (currTool && currTool.inDynamicUpdate)\n return; // trying to tentative snap while view is changing isn't useful...\n\n const wasActive = this.isActive;\n this.removeTentative(); // remove the TP cross if it is already on the screen\n const lastPtView = this._viewPoint.clone();\n\n this.viewport = ev.viewport!;\n this._point.setFrom(ev.point);\n this._rawPoint.setFrom(ev.rawPoint);\n this._viewPoint.setFrom(ev.viewPoint);\n\n const newSearch = (!this.isSnapped || !TentativePoint.arePointsCloseEnough(lastPtView, this._viewPoint, this.viewport.pixelsFromInches(IModelApp.locateManager.apertureInches)));\n const promise = this.getSnap(newSearch);\n this._tentativePromise = promise;\n\n promise.then((newSnap) => { // eslint-disable-line @typescript-eslint/no-floating-promises\n // Ignore response if we're no longer interested in this tentative.\n if (this._tentativePromise === promise) {\n this._tentativePromise = undefined;\n this.setCurrSnap(newSnap); // Adopt the snap as current\n IModelApp.accuSnap.clear(); // make sure there's no AccuSnap active after a tentative point (otherwise we continually snap to it).\n if (this.isSnapped)\n this._point.setFrom(this.currSnap!.snapPoint);\n else if (wasActive && newSearch)\n this._point.setFrom(ev.rawPoint);\n this.showTentative(); // show the TP cross\n\n if (this.isSnapped) {\n IModelApp.toolAdmin.adjustSnapPoint();\n } else if (IModelApp.accuDraw.isActive) {\n const point = this.getPoint().clone();\n const vp = ev.viewport!;\n if (vp.isSnapAdjustmentRequired) {\n IModelApp.toolAdmin.adjustPointToACS(point, vp, false);\n const hit = new HitDetail({\n testPoint: point,\n viewport: vp,\n hitSource: HitSource.TentativeSnap,\n hitPoint: point,\n sourceId: \"\",\n priority: HitPriority.Unknown,\n distXY: 0,\n distFraction: 0,\n });\n\n const snap = new SnapDetail(hit);\n this.setCurrSnap(snap);\n IModelApp.toolAdmin.adjustSnapPoint();\n this.setPoint(this.getPoint());\n } else {\n IModelApp.accuDraw.adjustPoint(point, vp, false);\n const savePoint = point.clone();\n IModelApp.toolAdmin.adjustPointToGrid(point, vp);\n if (!point.isExactEqual(savePoint))\n IModelApp.accuDraw.adjustPoint(point, vp, false);\n this.setPoint(point);\n }\n } else {\n IModelApp.toolAdmin.adjustPoint(this.getPoint(), ev.viewport!);\n }\n\n IModelApp.accuDraw.onTentative();\n if (currTool && currTool instanceof ViewManip && currTool.viewHandles.hasHandle(ViewHandleType.TargetCenter))\n currTool.updateTargetCenter(); // Change target center to tentative location...\n else\n IModelApp.toolAdmin.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...\n }\n });\n }\n}\n"]}
1
+ {"version":3,"file":"TentativePoint.js","sourceRoot":"","sources":["../../src/TentativePoint.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module LocatingElements\n */\n\nimport { Point3d } from \"@itwin/core-geometry\";\nimport { AccuSnap } from \"./AccuSnap\";\nimport { HitListHolder } from \"./ElementLocateManager\";\nimport { HitDetail, HitList, HitPriority, HitSource, SnapDetail, SnapHeat, SnapMode } from \"./HitDetail\";\nimport { IModelApp } from \"./IModelApp\";\nimport { BeButton, BeButtonEvent } from \"./tools/Tool\";\nimport { ViewHandleType, ViewManip } from \"./tools/ViewTool\";\nimport { DecorateContext } from \"./ViewContext\";\nimport { ScreenViewport } from \"./Viewport\";\nimport { expectDefined } from \"@itwin/core-bentley\";\n\n/**\n * @public\n * @extensions\n */\nexport class TentativePoint {\n public isActive = false;\n public currSnap?: SnapDetail;\n public tpHits?: HitList<HitDetail>;\n private get _hotDistanceInches(): number { return 0.21; }\n private readonly _point: Point3d = new Point3d();\n private readonly _rawPoint: Point3d = new Point3d();\n private readonly _viewPoint: Point3d = new Point3d();\n private _tentativePromise?: Promise<SnapDetail | undefined>;\n public viewport?: ScreenViewport;\n\n public onInitialized() { }\n public setHitList(list?: HitList<HitDetail>) { this.tpHits = list; }\n\n /** @return true if the tentative point is currently active and snapped to an element. */\n public get isSnapped(): boolean { return undefined !== this.currSnap; }\n\n /** @return The current snap path when TentativePoint.isSnapped or undefined. */\n public getCurrSnap(): SnapDetail | undefined { return this.currSnap; }\n\n public getPoint(): Point3d {\n const snap = this.currSnap;\n return !snap ? this._point : snap.adjustedPoint;\n }\n\n public setPoint(point: Point3d): void {\n this.setCurrSnap(undefined);\n this.tpHits = undefined;\n this._point.setFrom(point);\n }\n\n public clear(doErase: boolean): void {\n if (doErase) {\n this.removeTentative();\n IModelApp.accuSnap.synchSnapMode();\n }\n IModelApp.accuSnap.destroy();\n this.isActive = false;\n this.setCurrSnap(undefined);\n this.tpHits = undefined;\n }\n\n public removeTentative(): void {\n this._tentativePromise = undefined;\n if (!this.isActive)\n return;\n IModelApp.accuSnap.erase();\n if (this.getCurrSnap())\n IModelApp.viewManager.invalidateDecorationsAllViews();\n else\n this.viewport?.invalidateDecorations();\n this.isActive = false;\n }\n\n public setCurrSnap(newSnap?: SnapDetail): void {\n if (newSnap)\n newSnap.setSnapPoint(newSnap.snapPoint, SnapHeat.InRange); // Reset adjustedPoint from pre-located snap and set SnapHeat...\n this.currSnap = newSnap;\n }\n\n public showTentative(): void {\n if (this.isSnapped) {\n IModelApp.viewManager.invalidateDecorationsAllViews();\n IModelApp.accuSnap.displayToolTip(this._viewPoint, expectDefined(this.viewport), undefined);\n } else {\n this.viewport?.invalidateDecorations();\n }\n this.isActive = true;\n }\n\n public getHitAndList(holder: HitListHolder): SnapDetail | undefined {\n const hit = this.currSnap;\n if (hit) {\n holder.setHitList(this.tpHits);\n this.tpHits = undefined;\n }\n return hit;\n }\n\n public onButtonEvent(ev: BeButtonEvent): void {\n switch (ev.button) {\n case BeButton.Data:\n if (!ev.isDown)\n return; // cleared on down...\n break;\n case BeButton.Reset:\n if (ev.isDown)\n return; // cleared on up...\n break;\n case BeButton.Middle:\n return;\n }\n\n this.removeTentative();\n IModelApp.accuSnap.synchSnapMode();\n this.setCurrSnap(undefined);\n this.tpHits = undefined;\n }\n\n public decorate(context: DecorateContext): void {\n const viewport = context.viewport;\n if (!this.isActive || !viewport)\n return;\n\n const tpSize = Math.floor(viewport.pixelsPerInch * 0.4) + 0.5;\n const toSizeOutline = tpSize + 1;\n const position = context.viewport.worldToView(this._point);\n position.x = Math.floor(position.x) + 0.5;\n position.y = Math.floor(position.y) + 0.5;\n const drawDecoration = (ctx: CanvasRenderingContext2D) => {\n ctx.beginPath();\n ctx.strokeStyle = \"rgba(0,0,0,.5)\";\n ctx.lineWidth = 3;\n ctx.moveTo(-toSizeOutline, 0);\n ctx.lineTo(toSizeOutline, 0);\n ctx.moveTo(0, -toSizeOutline);\n ctx.lineTo(0, toSizeOutline);\n ctx.stroke();\n\n ctx.beginPath();\n ctx.strokeStyle = \"white\";\n ctx.lineWidth = 1;\n if (!this.isSnapped)\n ctx.setLineDash([4, 1]);\n\n ctx.shadowColor = \"black\";\n ctx.shadowBlur = 5;\n ctx.moveTo(-tpSize, 0);\n ctx.lineTo(tpSize, 0);\n ctx.moveTo(0, -tpSize);\n ctx.lineTo(0, tpSize);\n ctx.stroke();\n };\n context.addCanvasDecoration({ position, drawDecoration });\n }\n\n private async getSnap(newSearch: boolean): Promise<SnapDetail | undefined> {\n // Use next hit from previous search when using tentative to cycle through hits...\n let thisHit = (!newSearch && undefined !== this.tpHits ? this.tpHits.getNextHit() : undefined);\n\n // Use existing AccuSnap hit list if one exists...\n if (undefined === thisHit) {\n this.tpHits = undefined;\n thisHit = IModelApp.accuSnap.getHitAndList(this);\n }\n\n if (undefined === thisHit) {\n // search for elements around the current raw point (search should not be affected by locks!)\n const aperture = (2.0 * expectDefined(this.viewport).pixelsFromInches(IModelApp.locateManager.apertureInches) / 2.0) + 1.5;\n const options = IModelApp.locateManager.options.clone(); // Copy to avoid changing out from under active Tool...\n const picker = IModelApp.locateManager.picker;\n\n options.hitSource = HitSource.TentativeSnap;\n if (0 === picker.doPick(expectDefined(this.viewport), this._rawPoint, aperture, options))\n return undefined;\n\n this.tpHits = picker.getHitList(true);\n thisHit = (undefined !== this.tpHits ? this.tpHits.getNextHit() : undefined);\n } else if (thisHit instanceof SnapDetail) {\n // Make the current AccuSnap the TentativePoint snap...\n return thisHit;\n }\n\n if (undefined === thisHit)\n return undefined;\n\n const snapModes = IModelApp.accuSnap.getActiveSnapModes(); // Get the list of point snap modes to consider\n if (1 === snapModes.length && SnapMode.Intersection === snapModes[0])\n snapModes.push(SnapMode.Nearest); // Add nearest when doing intersection by itself to support finding extended intersections...\n\n const thisSnap = await AccuSnap.requestSnap(thisHit, snapModes, this._hotDistanceInches, IModelApp.accuSnap.keypointDivisor, this.tpHits);\n\n if (undefined !== thisSnap)\n IModelApp.accuDraw.onSnap(thisSnap); // AccuDraw can adjust nearest snap to intersection of circle (polar distance lock) or line (axis lock) with snapped to curve...\n\n return thisSnap;\n }\n\n private static arePointsCloseEnough(pt1: Point3d, pt2: Point3d, pixelDistance: number): boolean { return pt1.distance(pt2) < (pixelDistance + 1.5); }\n\n public process(ev: BeButtonEvent): void {\n if (undefined !== this._tentativePromise)\n return;\n\n const currTool = IModelApp.toolAdmin.viewTool;\n if (currTool && currTool.inDynamicUpdate)\n return; // trying to tentative snap while view is changing isn't useful...\n\n const wasActive = this.isActive;\n this.removeTentative(); // remove the TP cross if it is already on the screen\n const lastPtView = this._viewPoint.clone();\n\n this.viewport = expectDefined(ev.viewport);\n this._point.setFrom(ev.point);\n this._rawPoint.setFrom(ev.rawPoint);\n this._viewPoint.setFrom(ev.viewPoint);\n\n const newSearch = (!this.isSnapped || !TentativePoint.arePointsCloseEnough(lastPtView, this._viewPoint, this.viewport.pixelsFromInches(IModelApp.locateManager.apertureInches)));\n const promise = this.getSnap(newSearch);\n this._tentativePromise = promise;\n\n promise.then((newSnap) => { // eslint-disable-line @typescript-eslint/no-floating-promises\n // Ignore response if we're no longer interested in this tentative.\n if (this._tentativePromise === promise) {\n this._tentativePromise = undefined;\n this.setCurrSnap(newSnap); // Adopt the snap as current\n IModelApp.accuSnap.clear(); // make sure there's no AccuSnap active after a tentative point (otherwise we continually snap to it).\n if (this.isSnapped)\n this._point.setFrom(expectDefined(this.currSnap).snapPoint);\n else if (wasActive && newSearch)\n this._point.setFrom(ev.rawPoint);\n this.showTentative(); // show the TP cross\n\n if (this.isSnapped) {\n IModelApp.toolAdmin.adjustSnapPoint();\n } else if (IModelApp.accuDraw.isActive) {\n const point = this.getPoint().clone();\n const vp = expectDefined(ev.viewport);\n if (vp.isSnapAdjustmentRequired) {\n IModelApp.toolAdmin.adjustPointToACS(point, vp, false);\n const hit = new HitDetail({\n testPoint: point,\n viewport: vp,\n hitSource: HitSource.TentativeSnap,\n hitPoint: point,\n sourceId: \"\",\n priority: HitPriority.Unknown,\n distXY: 0,\n distFraction: 0,\n });\n\n const snap = new SnapDetail(hit);\n this.setCurrSnap(snap);\n IModelApp.toolAdmin.adjustSnapPoint();\n this.setPoint(this.getPoint());\n } else {\n IModelApp.accuDraw.adjustPoint(point, vp, false);\n const savePoint = point.clone();\n IModelApp.toolAdmin.adjustPointToGrid(point, vp);\n if (!point.isExactEqual(savePoint))\n IModelApp.accuDraw.adjustPoint(point, vp, false);\n this.setPoint(point);\n }\n } else {\n IModelApp.toolAdmin.adjustPoint(this.getPoint(), expectDefined(ev.viewport));\n }\n\n IModelApp.accuDraw.onTentative();\n if (currTool && currTool instanceof ViewManip && currTool.viewHandles.hasHandle(ViewHandleType.TargetCenter))\n currTool.updateTargetCenter(); // Change target center to tentative location...\n else\n IModelApp.toolAdmin.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...\n }\n });\n }\n}\n"]}
@@ -236,7 +236,7 @@ class ViewCreator2d {
236
236
  if (mergedDisplayProps.jsonProperties !== undefined) {
237
237
  mergedDisplayProps.jsonProperties.styles = {
238
238
  ...mergedDisplayProps.jsonProperties.styles,
239
- ...props.displayStyleProps.jsonProperties.styles,
239
+ ...props.displayStyleProps.jsonProperties?.styles,
240
240
  };
241
241
  }
242
242
  return { ...seedViewStateProps, ...props, displayStyleProps: mergedDisplayProps };
@@ -1 +1 @@
1
- {"version":3,"file":"ViewCreator2d.js","sourceRoot":"","sources":["../../src/ViewCreator2d.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH;;;EAGE;AAEF,sDAA0E;AAC1E,oDAG4B;AAC5B,wDAA+C;AAC/C,yDAAsD;AAGtD,6CAA4F;AAC5F,qDAAkD;AAgBlD;;;;;;;;;;;GAWG;AACH,MAAa,aAAa;IAUJ;IARpB,sCAAsC;IAC9B,MAAM,CAAC,oBAAoB,GAAG,CAAC,8BAAiB,CAAC,aAAa,EAAE,qCAAwB,CAAC,aAAa,CAAC,CAAC;IACxG,MAAM,CAAC,kBAAkB,GAAG,CAAC,4BAAe,CAAC,aAAa,CAAC,CAAC;IAEpE;;;OAGG;IACH,YAAoB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAI,CAAC;IAElD;;;;;OAKG;IACI,KAAK,CAAC,kBAAkB,CAAC,OAAmB,EAAE,OAA8B;QAEjF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC/F,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;QAEX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,sBAAsB,CAAC,OAAmB;QAEtD,IAAI,aAAa,CAAC;QAElB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9C,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC;;YACC,MAAM,IAAI,yBAAW,CAAC,2BAAY,CAAC,QAAQ,EAAE,0DAA0D,CAAC,CAAC;QAE3G,IAAI,aAAa,KAAK,SAAS;YAC7B,MAAM,IAAI,yBAAW,CAAC,2BAAY,CAAC,UAAU,EAAE,qDAAqD,CAAC,CAAC;QAExG,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,kBAAkB,CAAC,OAAmB,EAAE,SAAiB,EAAE,OAA8B;QACrG,IAAI,SAAsB,CAAC;QAC3B,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,SAAS,GAAG,mCAAgB,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/D,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtD,SAAS,GAAG,+BAAc,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;;YACC,MAAM,IAAI,yBAAW,CAAC,2BAAY,CAAC,UAAU,EAAE,2DAA2D,CAAC,CAAC;QAE9G,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,SAAiB;QAC5C,IAAI,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,SAAiB;QAC1C,IAAI,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,qBAAqB,GAAG,KAAK,EAAE,OAAmB,EAAE,OAA8B,EAA2B,EAAE;QACrH,oCAAoC;QACpC,MAAM,YAAY,GAAG,oBAAM,CAAC,YAAY,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAElD,gDAAgD;QAChD,MAAM,OAAO,GAAa,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAQ,CAAC,KAAK,CAAC;QAE9E,gBAAgB;QAChB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,uBAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;QAEpC,uDAAuD;QACvD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;YAEpC,IAAI,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACvC,OAAO,GAAG,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;gBAC7B,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;YACzB,CAAC;iBAAM,IAAI,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACvC,OAAO,GAAG,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;gBAC7B,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAuB;YAC7C,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,kBAAI,CAAC,WAAW,EAAE;YACxB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,uBAAuB;SACvC,CAAC;QAEF,MAAM,qBAAqB,GAA0B;YACnD,UAAU;YACV,IAAI,EAAE,kBAAI,CAAC,WAAW,EAAE;YACxB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,0BAA0B;SAC1C,CAAC;QAEF,MAAM,mBAAmB,GAA0B;YACjD,WAAW,EAAE,OAAO;YACpB,kBAAkB,EAAE,EAAE;YACtB,cAAc,EAAE,EAAE;YAClB,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE;YAClC,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE;YAC/B,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;YACrB,IAAI,EAAE,kBAAI,CAAC,WAAW,EAAE;YACxB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,0BAA0B;SAC1C,CAAC;QAEF,MAAM,iBAAiB,GAAsB;YAC3C,IAAI,EAAE,kBAAI,CAAC,WAAW,EAAE;YACxB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,wBAAwB;YACvC,cAAc,EAAE;gBACd,MAAM,EAAE;oBACN,eAAe,EAAE,OAAO,CAAC,IAAI;iBAC9B;aACF;SACF,CAAC;QAEF,MAAM,cAAc,GAAmB;YACrC,iBAAiB;YACjB,qBAAqB;YACrB,kBAAkB;YAClB,mBAAmB;YACnB,YAAY;SACb,CAAC;QAEF,kCAAkC;QAClC,OAAO,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAC9F,CAAC,CAAC;IAEF;;;;OAIG;IACK,KAAK,CAAC,kBAAkB,CAAC,OAAmB,EAAE,KAAqB;QACzE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,4DAA4D,EAAE,yBAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,4BAAc,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC;YACpM,KAAK,GAAG,GAAG,CAAC,KAAe,CAAC;YAC5B,MAAM,GAAG,GAAG,CAAC,MAAgB,CAAC;YAC9B,MAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAe;YAC7B,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7B,aAAa,EAAE,mBAAmB;YAClC,MAAM;YACN,KAAK;SACN,CAAC;QAEF,KAAK,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAClE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAE9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;QAII;IACI,KAAK,CAAC,cAAc,CAAC,OAAmB,EAAE,KAAqB;QACrE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAC3E,yCAAyC;QACzC,IAAI,gBAAgB,KAAK,SAAS;YAChC,OAAO,KAAK,CAAC;QAEf,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxE,MAAM,kBAAkB,GAAmB;YACzC,qBAAqB,EAAE,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC9D,mBAAmB,EAAE,aAAa,CAAC,MAAM,EAAE;YAC3C,iBAAiB,EAAE,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE;SACvD,CAAC;QACF,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;QAChE,IAAI,kBAAkB,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACpD,kBAAkB,CAAC,cAAc,CAAC,MAAM,GAAG;gBACzC,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM;gBAC3C,GAAG,KAAK,CAAC,iBAAiB,CAAC,cAAe,CAAC,MAAM;aAClD,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,GAAG,kBAAkB,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;IACpF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,6BAA6B,CAAC,OAAmB;QAE7D,MAAM,KAAK,GAAG,sEAAsE,OAAO,gCAAgC,CAAC;QAC5H,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1D,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAE7B,MAAM,KAAK,GAAG,kDAAkD,CAAC;QACjE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEnD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,OAAe;QAEhD,MAAM,KAAK,GAAG,gEAAgE,OAAO,EAAE,CAAC;QACxF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEpD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,4BAAc,CAAC,kBAAkB,EAAE,CAAC;YACxH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;;AAzRJ,sCA0RC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Views\n */\n\n/*\nAPI for creating a 2D view from a given modelId and modelType (classFullName).\nAdditional options (such as background color) can be passed during view creation.\n*/\n\nimport { Id64Array, Id64String, IModelStatus } from \"@itwin/core-bentley\";\nimport {\n CategorySelectorProps, Code, ColorDef, DisplayStyleProps, IModel, IModelError, ModelSelectorProps, QueryBinder, QueryRowFormat, SheetProps,\n ViewDefinition2dProps, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { DrawingViewState } from \"./DrawingViewState\";\nimport { EntityState } from \"./EntityState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { DrawingModelState, SectionDrawingModelState, SheetModelState } from \"./ModelState\";\nimport { SheetViewState } from \"./SheetViewState\";\nimport { ViewState, ViewState2d } from \"./ViewState\";\n\n/** Options for creating a [[ViewState2d]] via [[ViewCreator2d]].\n * @public\n * @extensions\n*/\nexport interface ViewCreator2dOptions {\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model in the initial state of the view. */\n vpAspect?: number;\n /** Background color of the view (default is white). */\n bgColor?: ColorDef;\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. */\n useSeedView?: boolean;\n}\n\n/**\n * API for creating a [[ViewState2d]] for a 2D model ([[GeometricModel2dState]]). @see [[ViewCreator3d]] to create a view for a 3d model.\n * Example usage:\n * ```ts\n * const viewCreator = new ViewCreator2d(imodel);\n * const models = await imodel.models.queryProps({ from: \"BisCore.GeometricModel2d\" });\n * if (models.length > 0)\n * const view = await viewCreator.createViewForModel(models[0].id!);\n * ```\n * @public\n * @extensions\n */\nexport class ViewCreator2d {\n\n // Types of 2D models the API supports\n private static _drawingModelClasses = [DrawingModelState.classFullName, SectionDrawingModelState.classFullName];\n private static _sheetModelClasses = [SheetModelState.classFullName];\n\n /**\n * Constructs a ViewCreator2d using an [[IModelConnection]].\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\n */\n constructor(private _imodel: IModelConnection) { }\n\n /**\n * Creates and returns view for the 2D model id passed in.\n * @param modelId Id of the 2D model for the view.\n * @param [options] Options for creating the view.\n * @throws [IModelError]($common) If modelType is not supported.\n */\n public async createViewForModel(modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewState> {\n\n const baseClassName = await this._getModelBaseClassName(modelId);\n\n const viewState = await this._createViewState2d(modelId, baseClassName.classFullName, options);\n try {\n await viewState.load();\n } catch { }\n\n return viewState;\n }\n\n /**\n * Gets model base class name from id.\n * @param modelId of target model.\n * @throws [IModelError]($common) if modelId is invalid.\n */\n private async _getModelBaseClassName(modelId: Id64String): Promise<typeof EntityState> {\n\n let baseClassName;\n\n const modelProps = await this._imodel.models.getProps(modelId);\n if (modelProps.length > 0) {\n const modelType = modelProps[0].classFullName;\n baseClassName = await this._imodel.findClassFor(modelType, undefined);\n } else\n throw new IModelError(IModelStatus.BadModel, \"ViewCreator2d._getModelBaseClassName: modelId is invalid\");\n\n if (baseClassName === undefined)\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d.getViewForModel: modelType is invalid\");\n\n return baseClassName;\n }\n\n /**\n * Creates view from any 2D model type (Drawing/SectionDrawing/Sheet)\n * @param modelId of target model.\n * @param modelType classFullName of target 2D model.\n * @param options for view creation.\n * @throws [IModelError]($common) if modelType is not supported.\n */\n private async _createViewState2d(modelId: Id64String, modelType: string, options?: ViewCreator2dOptions): Promise<ViewState2d> {\n let viewState: ViewState2d;\n if (this._isDrawingModelClass(modelType)) {\n const props = await this._createViewStateProps(modelId, options);\n viewState = DrawingViewState.createFromProps(props, this._imodel);\n } else if (this._isSheetModelClass(modelType)) {\n let props = await this._createViewStateProps(modelId, options);\n props = await this._addSheetViewProps(modelId, props);\n viewState = SheetViewState.createFromProps(props, this._imodel);\n } else\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d._createViewState2d: modelType not supported\");\n\n return viewState;\n }\n\n /**\n * Checks to see if given model is of [[DrawingModelState]].\n * @param modelType classFullName of model.\n */\n private _isDrawingModelClass(modelType: string) {\n if (ViewCreator2d._drawingModelClasses.includes(modelType)) {\n return true;\n }\n return false;\n }\n\n /**\n * Checks to see if given model is of [[SheetModelState]].\n * @param modelType classFullName of model.\n */\n private _isSheetModelClass(modelType: string) {\n if (ViewCreator2d._sheetModelClasses.includes(modelType)) {\n return true;\n }\n return false;\n }\n\n /**\n * Creates ViewStateProps for the model. ViewStateProps are composed of the 4 sets of Props below.\n * @param modelId of target model.\n * @param options for view creation.\n */\n private _createViewStateProps = async (modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewStateProps> => {\n // Use dictionary model in all props\n const dictionaryId = IModel.dictionaryId;\n const categories = await this._getAllCategories();\n\n // Get bg color from options or default to white\n const bgColor: ColorDef = options?.bgColor ? options.bgColor : ColorDef.white;\n\n // model extents\n const modelProps = await this._imodel.models.queryExtents(modelId);\n const modelExtents = Range3d.fromJSON(modelProps[0]?.extents);\n let originX = modelExtents.low.x;\n let originY = modelExtents.low.y;\n let deltaX = modelExtents.xLength();\n let deltaY = modelExtents.yLength();\n\n // if vp aspect given, update model extents to fit view\n if (options?.vpAspect) {\n const modelAspect = deltaY / deltaX;\n\n if (modelAspect > options.vpAspect) {\n const xFix = deltaY / options.vpAspect;\n originX = originX - xFix / 2;\n deltaX = deltaX + xFix;\n } else if (modelAspect < options.vpAspect) {\n const yFix = deltaX * options.vpAspect;\n originY = originY - yFix / 2;\n deltaY = deltaY + yFix;\n }\n }\n\n const modelSelectorProps: ModelSelectorProps = {\n models: [modelId],\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ModelSelector\",\n };\n\n const categorySelectorProps: CategorySelectorProps = {\n categories,\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:CategorySelector\",\n };\n\n const viewDefinitionProps: ViewDefinition2dProps = {\n baseModelId: modelId,\n categorySelectorId: \"\",\n displayStyleId: \"\",\n origin: { x: originX, y: originY },\n delta: { x: deltaX, y: deltaY },\n angle: { radians: 0 },\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ViewDefinition2d\",\n };\n\n const displayStyleProps: DisplayStyleProps = {\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:DisplayStyle2d\",\n jsonProperties: {\n styles: {\n backgroundColor: bgColor.tbgr,\n },\n },\n };\n\n const viewStateProps: ViewStateProps = {\n displayStyleProps,\n categorySelectorProps,\n modelSelectorProps,\n viewDefinitionProps,\n modelExtents,\n };\n\n // merge seed view props if needed\n return options?.useSeedView ? this._mergeSeedView(modelId, viewStateProps) : viewStateProps;\n };\n\n /**\n * Adds Sheet view props to given view props.\n * @param modelId of target model.\n * @param props input ViewStateProps.\n */\n private async _addSheetViewProps(modelId: Id64String, props: ViewStateProps) {\n let width = 0;\n let height = 0;\n for await (const row of this._imodel.createQueryReader(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\n width = row.width as number;\n height = row.height as number;\n break;\n }\n const sheetProps: SheetProps = {\n model: modelId,\n code: { spec: \"\", scope: \"\" },\n classFullName: \"DrawingSheetModel\",\n height,\n width,\n };\n\n props.sheetAttachments = await this._getSheetAttachments(modelId);\n props.sheetProps = sheetProps;\n\n return props;\n }\n\n /**\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.\n * @param modelId of target model.\n * @param props Input view props to be merged\n */\n private async _mergeSeedView(modelId: Id64String, props: ViewStateProps): Promise<ViewStateProps> {\n const viewDefinitionId = await this._getViewDefinitionsIdForModel(modelId);\n // Return incase no viewDefinition found.\n if (viewDefinitionId === undefined)\n return props;\n\n const seedViewState = (await this._imodel.views.load(viewDefinitionId));\n const seedViewStateProps: ViewStateProps = {\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\n viewDefinitionProps: seedViewState.toJSON(),\n displayStyleProps: seedViewState.displayStyle.toJSON(),\n };\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\n if (mergedDisplayProps.jsonProperties !== undefined) {\n mergedDisplayProps.jsonProperties.styles = {\n ...mergedDisplayProps.jsonProperties.styles,\n ...props.displayStyleProps.jsonProperties!.styles,\n };\n }\n\n return { ...seedViewStateProps, ...props, displayStyleProps: mergedDisplayProps };\n }\n\n /**\n * Get all view definitions for a given model.\n * @param modelId of target model.\n */\n private async _getViewDefinitionsIdForModel(modelId: Id64String): Promise<Id64String | undefined> {\n\n const query = `SELECT ECInstanceId from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;\n const viewDefinitionsId = await this._executeQuery(query);\n\n return (viewDefinitionsId.length) > 0 ? viewDefinitionsId[0] : undefined;\n }\n\n /**\n * Get all drawing categories\n */\n private async _getAllCategories(): Promise<Id64Array> {\n\n const query = \"SELECT ECInstanceId from BisCore.DrawingCategory\";\n const categories = await this._executeQuery(query);\n\n return categories;\n }\n\n /**\n * Get all sheet attachments\n * @param modelId of target model.\n */\n private async _getSheetAttachments(modelId: string): Promise<Id64Array> {\n\n const query = `SELECT ECInstanceId FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;\n const attachments = await this._executeQuery(query);\n\n return attachments;\n }\n\n /**\n * Helper function to execute ECSql queries.\n * @param query statement to execute.\n */\n private _executeQuery = async (query: string) => {\n const rows = [];\n for await (const row of this._imodel.createQueryReader(query, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames }))\n rows.push(row.id);\n\n return rows;\n };\n}\n"]}
1
+ {"version":3,"file":"ViewCreator2d.js","sourceRoot":"","sources":["../../src/ViewCreator2d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Views\n */\n\n/*\nAPI for creating a 2D view from a given modelId and modelType (classFullName).\nAdditional options (such as background color) can be passed during view creation.\n*/\n\nimport { Id64Array, Id64String, IModelStatus } from \"@itwin/core-bentley\";\nimport {\n CategorySelectorProps, Code, ColorDef, DisplayStyleProps, IModel, IModelError, ModelSelectorProps, QueryBinder, QueryRowFormat, SheetProps,\n ViewDefinition2dProps, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { DrawingViewState } from \"./DrawingViewState\";\nimport { EntityState } from \"./EntityState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { DrawingModelState, SectionDrawingModelState, SheetModelState } from \"./ModelState\";\nimport { SheetViewState } from \"./SheetViewState\";\nimport { ViewState, ViewState2d } from \"./ViewState\";\n\n/** Options for creating a [[ViewState2d]] via [[ViewCreator2d]].\n * @public\n * @extensions\n*/\nexport interface ViewCreator2dOptions {\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model in the initial state of the view. */\n vpAspect?: number;\n /** Background color of the view (default is white). */\n bgColor?: ColorDef;\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. */\n useSeedView?: boolean;\n}\n\n/**\n * API for creating a [[ViewState2d]] for a 2D model ([[GeometricModel2dState]]). @see [[ViewCreator3d]] to create a view for a 3d model.\n * Example usage:\n * ```ts\n * const viewCreator = new ViewCreator2d(imodel);\n * const models = await imodel.models.queryProps({ from: \"BisCore.GeometricModel2d\" });\n * if (models.length > 0)\n * const view = await viewCreator.createViewForModel(models[0].id!);\n * ```\n * @public\n * @extensions\n */\nexport class ViewCreator2d {\n\n // Types of 2D models the API supports\n private static _drawingModelClasses = [DrawingModelState.classFullName, SectionDrawingModelState.classFullName];\n private static _sheetModelClasses = [SheetModelState.classFullName];\n\n /**\n * Constructs a ViewCreator2d using an [[IModelConnection]].\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\n */\n constructor(private _imodel: IModelConnection) { }\n\n /**\n * Creates and returns view for the 2D model id passed in.\n * @param modelId Id of the 2D model for the view.\n * @param [options] Options for creating the view.\n * @throws [IModelError]($common) If modelType is not supported.\n */\n public async createViewForModel(modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewState> {\n\n const baseClassName = await this._getModelBaseClassName(modelId);\n\n const viewState = await this._createViewState2d(modelId, baseClassName.classFullName, options);\n try {\n await viewState.load();\n } catch { }\n\n return viewState;\n }\n\n /**\n * Gets model base class name from id.\n * @param modelId of target model.\n * @throws [IModelError]($common) if modelId is invalid.\n */\n private async _getModelBaseClassName(modelId: Id64String): Promise<typeof EntityState> {\n\n let baseClassName;\n\n const modelProps = await this._imodel.models.getProps(modelId);\n if (modelProps.length > 0) {\n const modelType = modelProps[0].classFullName;\n baseClassName = await this._imodel.findClassFor(modelType, undefined);\n } else\n throw new IModelError(IModelStatus.BadModel, \"ViewCreator2d._getModelBaseClassName: modelId is invalid\");\n\n if (baseClassName === undefined)\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d.getViewForModel: modelType is invalid\");\n\n return baseClassName;\n }\n\n /**\n * Creates view from any 2D model type (Drawing/SectionDrawing/Sheet)\n * @param modelId of target model.\n * @param modelType classFullName of target 2D model.\n * @param options for view creation.\n * @throws [IModelError]($common) if modelType is not supported.\n */\n private async _createViewState2d(modelId: Id64String, modelType: string, options?: ViewCreator2dOptions): Promise<ViewState2d> {\n let viewState: ViewState2d;\n if (this._isDrawingModelClass(modelType)) {\n const props = await this._createViewStateProps(modelId, options);\n viewState = DrawingViewState.createFromProps(props, this._imodel);\n } else if (this._isSheetModelClass(modelType)) {\n let props = await this._createViewStateProps(modelId, options);\n props = await this._addSheetViewProps(modelId, props);\n viewState = SheetViewState.createFromProps(props, this._imodel);\n } else\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d._createViewState2d: modelType not supported\");\n\n return viewState;\n }\n\n /**\n * Checks to see if given model is of [[DrawingModelState]].\n * @param modelType classFullName of model.\n */\n private _isDrawingModelClass(modelType: string) {\n if (ViewCreator2d._drawingModelClasses.includes(modelType)) {\n return true;\n }\n return false;\n }\n\n /**\n * Checks to see if given model is of [[SheetModelState]].\n * @param modelType classFullName of model.\n */\n private _isSheetModelClass(modelType: string) {\n if (ViewCreator2d._sheetModelClasses.includes(modelType)) {\n return true;\n }\n return false;\n }\n\n /**\n * Creates ViewStateProps for the model. ViewStateProps are composed of the 4 sets of Props below.\n * @param modelId of target model.\n * @param options for view creation.\n */\n private _createViewStateProps = async (modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewStateProps> => {\n // Use dictionary model in all props\n const dictionaryId = IModel.dictionaryId;\n const categories = await this._getAllCategories();\n\n // Get bg color from options or default to white\n const bgColor: ColorDef = options?.bgColor ? options.bgColor : ColorDef.white;\n\n // model extents\n const modelProps = await this._imodel.models.queryExtents(modelId);\n const modelExtents = Range3d.fromJSON(modelProps[0]?.extents);\n let originX = modelExtents.low.x;\n let originY = modelExtents.low.y;\n let deltaX = modelExtents.xLength();\n let deltaY = modelExtents.yLength();\n\n // if vp aspect given, update model extents to fit view\n if (options?.vpAspect) {\n const modelAspect = deltaY / deltaX;\n\n if (modelAspect > options.vpAspect) {\n const xFix = deltaY / options.vpAspect;\n originX = originX - xFix / 2;\n deltaX = deltaX + xFix;\n } else if (modelAspect < options.vpAspect) {\n const yFix = deltaX * options.vpAspect;\n originY = originY - yFix / 2;\n deltaY = deltaY + yFix;\n }\n }\n\n const modelSelectorProps: ModelSelectorProps = {\n models: [modelId],\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ModelSelector\",\n };\n\n const categorySelectorProps: CategorySelectorProps = {\n categories,\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:CategorySelector\",\n };\n\n const viewDefinitionProps: ViewDefinition2dProps = {\n baseModelId: modelId,\n categorySelectorId: \"\",\n displayStyleId: \"\",\n origin: { x: originX, y: originY },\n delta: { x: deltaX, y: deltaY },\n angle: { radians: 0 },\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ViewDefinition2d\",\n };\n\n const displayStyleProps: DisplayStyleProps = {\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:DisplayStyle2d\",\n jsonProperties: {\n styles: {\n backgroundColor: bgColor.tbgr,\n },\n },\n };\n\n const viewStateProps: ViewStateProps = {\n displayStyleProps,\n categorySelectorProps,\n modelSelectorProps,\n viewDefinitionProps,\n modelExtents,\n };\n\n // merge seed view props if needed\n return options?.useSeedView ? this._mergeSeedView(modelId, viewStateProps) : viewStateProps;\n };\n\n /**\n * Adds Sheet view props to given view props.\n * @param modelId of target model.\n * @param props input ViewStateProps.\n */\n private async _addSheetViewProps(modelId: Id64String, props: ViewStateProps) {\n let width = 0;\n let height = 0;\n for await (const row of this._imodel.createQueryReader(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\n width = row.width as number;\n height = row.height as number;\n break;\n }\n const sheetProps: SheetProps = {\n model: modelId,\n code: { spec: \"\", scope: \"\" },\n classFullName: \"DrawingSheetModel\",\n height,\n width,\n };\n\n props.sheetAttachments = await this._getSheetAttachments(modelId);\n props.sheetProps = sheetProps;\n\n return props;\n }\n\n /**\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.\n * @param modelId of target model.\n * @param props Input view props to be merged\n */\n private async _mergeSeedView(modelId: Id64String, props: ViewStateProps): Promise<ViewStateProps> {\n const viewDefinitionId = await this._getViewDefinitionsIdForModel(modelId);\n // Return incase no viewDefinition found.\n if (viewDefinitionId === undefined)\n return props;\n\n const seedViewState = (await this._imodel.views.load(viewDefinitionId));\n const seedViewStateProps: ViewStateProps = {\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\n viewDefinitionProps: seedViewState.toJSON(),\n displayStyleProps: seedViewState.displayStyle.toJSON(),\n };\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\n if (mergedDisplayProps.jsonProperties !== undefined) {\n mergedDisplayProps.jsonProperties.styles = {\n ...mergedDisplayProps.jsonProperties.styles,\n ...props.displayStyleProps.jsonProperties?.styles,\n };\n }\n\n return { ...seedViewStateProps, ...props, displayStyleProps: mergedDisplayProps };\n }\n\n /**\n * Get all view definitions for a given model.\n * @param modelId of target model.\n */\n private async _getViewDefinitionsIdForModel(modelId: Id64String): Promise<Id64String | undefined> {\n\n const query = `SELECT ECInstanceId from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;\n const viewDefinitionsId = await this._executeQuery(query);\n\n return (viewDefinitionsId.length) > 0 ? viewDefinitionsId[0] : undefined;\n }\n\n /**\n * Get all drawing categories\n */\n private async _getAllCategories(): Promise<Id64Array> {\n\n const query = \"SELECT ECInstanceId from BisCore.DrawingCategory\";\n const categories = await this._executeQuery(query);\n\n return categories;\n }\n\n /**\n * Get all sheet attachments\n * @param modelId of target model.\n */\n private async _getSheetAttachments(modelId: string): Promise<Id64Array> {\n\n const query = `SELECT ECInstanceId FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;\n const attachments = await this._executeQuery(query);\n\n return attachments;\n }\n\n /**\n * Helper function to execute ECSql queries.\n * @param query statement to execute.\n */\n private _executeQuery = async (query: string) => {\n const rows = [];\n for await (const row of this._imodel.createQueryReader(query, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames }))\n rows.push(row.id);\n\n return rows;\n };\n}\n"]}
@@ -170,7 +170,7 @@ class ViewCreator3d {
170
170
  if (mergedDisplayProps.jsonProperties !== undefined) {
171
171
  mergedDisplayProps.jsonProperties.styles = {
172
172
  ...mergedDisplayProps.jsonProperties.styles,
173
- ...viewStateProps.displayStyleProps.jsonProperties.styles,
173
+ ...viewStateProps.displayStyleProps.jsonProperties?.styles,
174
174
  };
175
175
  }
176
176
  return { ...seedViewStateProps, ...viewStateProps, displayStyleProps: mergedDisplayProps };
@@ -1 +1 @@
1
- {"version":3,"file":"ViewCreator3d.js","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Views\n */\n\nimport { CompressedId64Set, Id64, Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport {\n Camera, CategorySelectorProps, Code, CustomViewState3dCreatorOptions, DisplayStyle3dProps, Environment, IModel, IModelReadRpcInterface,\n ModelSelectorProps, RenderMode, ViewDefinition3dProps, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { SpatialViewState } from \"./SpatialViewState\";\nimport { StandardViewId } from \"./StandardView\";\nimport { ViewState } from \"./ViewState\";\n\n/** Api for creating a 3d default view for an iModel. Either takes in a list of modelIds, or displays all 3d models by default. */\n\n/** Options for creating a [[ViewState3d]] via [[ViewCreator3d]].\n * @public\n * @extensions\n*/\nexport interface ViewCreator3dOptions {\n /** Turn the [[Camera]] on to produce a perspective view.\n * Default: true\n */\n cameraOn?: boolean;\n /** Enables display of a [[SkyBox]] in the view. */\n skyboxOn?: boolean;\n /** Orients the view to one of the standard view rotations. */\n standardViewId?: StandardViewId;\n /** Merge in props from a persistent \"seed\" view obtained from the iModel.\n * @note The selection of the seed view is somewhat arbitrary, and the contents and styling of that view are unpredictable, so this option is not recommended.\n */\n useSeedView?: boolean;\n /** The desired aspect ratio of the [[Viewport]] in which the view is to be displayed.\n * This is used to adjust the view's frustum so that the viewed models are better centered within the viewport.\n */\n vpAspect?: number;\n /** Indicates that geometry belonging to every [SubCategory]($backend) should be visible within the view.\n * Each subcategory has a [SubCategoryAppearance]($common) that specifies how its geometry is displayed. This includes a [SubCategoryAppearance.invisible]($common) property that,\n * when set to `true`, indicates the geometry should not be displayed at all. A view can override the appearances of any subcategories using a [SubCategoryOverride]($common).\n * If `allSubCategoriesVisible` is `true`, [[ViewCreator3d]] will apply such an override to every viewed subcategory to change [SubCategoryOverride.invisible]($common) to `false`, making\n * every subcategory visible.\n * @note Subcategories are typically set to invisible by default for a reason.\n * Forcing them all to be visible may produce undesirable results, such as z-fighting between geometry on different subcategories that are not intended to be viewed together.\n */\n allSubCategoriesVisible?: boolean;\n}\n\n/**\n * API for creating a 3D default [[ViewState3d]] for an iModel. @see [[ViewCreator2d]] to create a view for a 2d model.\n * Example usage:\n * ```ts\n * const viewCreator = new ViewCreator3d(imodel);\n * const defaultView = await viewCreator.createDefaultView({skyboxOn: true});\n * ```\n * @public\n * @extensions\n */\nexport class ViewCreator3d {\n /**\n * Constructs a ViewCreator3d using an [[IModelConnection]].\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\n */\n constructor(private _imodel: IModelConnection) { }\n\n /**\n * Creates a default [[ViewState3d]] based on the model ids passed in. If no model ids are passed in, all 3D models in the iModel are used.\n * @param [options] Options for creating the view.\n * @param [modelIds] Ids of models to display in the view.\n * @throws [IModelError]($common) If no 3d models are found in the iModel.\n */\n public async createDefaultView(options?: ViewCreator3dOptions, modelIds?: Id64String[]): Promise<ViewState> {\n const rpcOptions: CustomViewState3dCreatorOptions = modelIds ? { modelIds: CompressedId64Set.sortAndCompress(modelIds) } : {};\n const rpc = IModelReadRpcInterface.getClientForRouting(this._imodel.routingContext.token);\n const serializedProps = await rpc.getCustomViewState3dData(this._imodel.getRpcProps(), rpcOptions);\n\n const baseExtents = Range3d.fromJSON(serializedProps.modelExtents);\n const props = await this._createViewStateProps(\n CompressedId64Set.decompressArray(serializedProps.modelIds),\n CompressedId64Set.decompressArray(serializedProps.categoryIds),\n baseExtents,\n options,\n );\n\n const viewState = SpatialViewState.createFromProps(props, this._imodel);\n try {\n await viewState.iModel.subcategories.loadAllUsedSpatialSubCategories();\n await viewState.load();\n } catch {\n }\n\n if (options?.standardViewId)\n viewState.setStandardRotation(options.standardViewId);\n\n if (options?.allSubCategoriesVisible)\n viewState.displayStyle.enableAllLoadedSubCategories(viewState.categorySelector.categories);\n\n const range = viewState.computeFitRange({ baseExtents });\n viewState.lookAtVolume(range, options?.vpAspect);\n\n return viewState;\n }\n\n /**\n * Generates a view state props object for creating a view. Merges display styles with a seed view if the options.useSeedView is true\n * @param models Models to put in view props\n * @param options view creation options like camera On and skybox On\n */\n private async _createViewStateProps(models: Id64Array, categories: Id64Array, modelExtents: Range3d, options?: ViewCreator3dOptions): Promise<ViewStateProps> {\n // Use dictionary model in all props\n const dictionaryId = IModel.dictionaryId;\n\n if (modelExtents.isNull)\n modelExtents.setFrom(this._imodel.projectExtents);\n\n let originX = modelExtents.low.x;\n let originY = modelExtents.low.y;\n const originZ = modelExtents.low.z;\n let deltaX = modelExtents.xLength();\n let deltaY = modelExtents.yLength();\n const deltaZ = modelExtents.zLength();\n\n // if vp aspect given, update model extents to fit view\n if (options?.vpAspect) {\n const modelAspect = deltaY / deltaX;\n\n if (modelAspect > options.vpAspect) {\n const xFix = deltaY / options.vpAspect;\n originX = originX - xFix / 2;\n deltaX = deltaX + xFix;\n } else if (modelAspect < options.vpAspect) {\n const yFix = deltaX * options.vpAspect;\n originY = originY - yFix / 2;\n deltaY = deltaY + yFix;\n }\n }\n\n const categorySelectorProps: CategorySelectorProps = {\n categories,\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:CategorySelector\",\n };\n\n const modelSelectorProps: ModelSelectorProps = {\n models,\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ModelSelector\",\n };\n\n const cameraData = new Camera();\n const cameraOn = options?.cameraOn !== false;\n const viewDefinitionProps: ViewDefinition3dProps = {\n categorySelectorId: \"\",\n displayStyleId: \"\",\n code: Code.createEmpty(),\n model: dictionaryId,\n origin: { x: originX, y: originY, z: originZ },\n extents: { x: deltaX, y: deltaY, z: deltaZ },\n classFullName: \"BisCore:SpatialViewDefinition\",\n cameraOn,\n camera: {\n lens: cameraData.lens.toJSON(),\n focusDist: cameraData.focusDist,\n eye: cameraData.eye.toJSON(),\n },\n };\n\n const displayStyleProps: DisplayStyle3dProps = {\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:DisplayStyle3d\",\n jsonProperties: {\n styles: {\n viewflags: {\n renderMode: RenderMode.SmoothShade,\n noSourceLights: false,\n noCameraLights: false,\n noSolarLight: false,\n noConstruct: true,\n noTransp: false,\n visEdges: false,\n backgroundMap: this._imodel.isGeoLocated,\n },\n environment:\n options !== undefined &&\n options.skyboxOn !== undefined &&\n options.skyboxOn\n ? Environment.defaults.withDisplay({ sky: true }).toJSON()\n : undefined,\n },\n },\n };\n\n const viewStateProps: ViewStateProps = {\n displayStyleProps,\n categorySelectorProps,\n modelSelectorProps,\n viewDefinitionProps,\n };\n\n // merge seed view props if needed\n return options?.useSeedView ? this._mergeSeedView(viewStateProps) : viewStateProps;\n }\n\n /**\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no default 3D views in the iModel\n * @param viewStateProps Input view props to be merged\n */\n private async _mergeSeedView(viewStateProps: ViewStateProps): Promise<ViewStateProps> {\n const viewId = await this._getDefaultViewId();\n // Handle iModels without any default view id\n if (viewId === undefined)\n return viewStateProps;\n\n const seedViewState = (await this._imodel.views.load(viewId) as SpatialViewState);\n const seedViewStateProps = {\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\n modelSelectorProps: seedViewState.modelSelector.toJSON(),\n viewDefinitionProps: seedViewState.toJSON(),\n displayStyleProps: seedViewState.displayStyle.toJSON(),\n };\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\n if (mergedDisplayProps.jsonProperties !== undefined) {\n mergedDisplayProps.jsonProperties.styles = {\n ...mergedDisplayProps.jsonProperties.styles,\n ...viewStateProps.displayStyleProps.jsonProperties!.styles,\n };\n }\n\n return { ...seedViewStateProps, ...viewStateProps, displayStyleProps: mergedDisplayProps };\n }\n\n /**\n * Get the Id of the default view.\n */\n private async _getDefaultViewId(): Promise<Id64String | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const viewId = await this._imodel.views.queryDefaultViewId();\n if (viewId !== Id64.invalid)\n return viewId;\n\n // Return the first spatial view\n const viewList = await this._imodel.views.getViewList({ wantPrivate: false, limit: 1, from: SpatialViewState.classFullName });\n return viewList.length === 0 ? undefined : viewList[0].id;\n }\n}\n"]}
1
+ {"version":3,"file":"ViewCreator3d.js","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Views\n */\n\nimport { CompressedId64Set, Id64, Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport {\n Camera, CategorySelectorProps, Code, CustomViewState3dCreatorOptions, DisplayStyle3dProps, Environment, IModel, IModelReadRpcInterface,\n ModelSelectorProps, RenderMode, ViewDefinition3dProps, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { SpatialViewState } from \"./SpatialViewState\";\nimport { StandardViewId } from \"./StandardView\";\nimport { ViewState } from \"./ViewState\";\n\n/** Api for creating a 3d default view for an iModel. Either takes in a list of modelIds, or displays all 3d models by default. */\n\n/** Options for creating a [[ViewState3d]] via [[ViewCreator3d]].\n * @public\n * @extensions\n*/\nexport interface ViewCreator3dOptions {\n /** Turn the [[Camera]] on to produce a perspective view.\n * Default: true\n */\n cameraOn?: boolean;\n /** Enables display of a [[SkyBox]] in the view. */\n skyboxOn?: boolean;\n /** Orients the view to one of the standard view rotations. */\n standardViewId?: StandardViewId;\n /** Merge in props from a persistent \"seed\" view obtained from the iModel.\n * @note The selection of the seed view is somewhat arbitrary, and the contents and styling of that view are unpredictable, so this option is not recommended.\n */\n useSeedView?: boolean;\n /** The desired aspect ratio of the [[Viewport]] in which the view is to be displayed.\n * This is used to adjust the view's frustum so that the viewed models are better centered within the viewport.\n */\n vpAspect?: number;\n /** Indicates that geometry belonging to every [SubCategory]($backend) should be visible within the view.\n * Each subcategory has a [SubCategoryAppearance]($common) that specifies how its geometry is displayed. This includes a [SubCategoryAppearance.invisible]($common) property that,\n * when set to `true`, indicates the geometry should not be displayed at all. A view can override the appearances of any subcategories using a [SubCategoryOverride]($common).\n * If `allSubCategoriesVisible` is `true`, [[ViewCreator3d]] will apply such an override to every viewed subcategory to change [SubCategoryOverride.invisible]($common) to `false`, making\n * every subcategory visible.\n * @note Subcategories are typically set to invisible by default for a reason.\n * Forcing them all to be visible may produce undesirable results, such as z-fighting between geometry on different subcategories that are not intended to be viewed together.\n */\n allSubCategoriesVisible?: boolean;\n}\n\n/**\n * API for creating a 3D default [[ViewState3d]] for an iModel. @see [[ViewCreator2d]] to create a view for a 2d model.\n * Example usage:\n * ```ts\n * const viewCreator = new ViewCreator3d(imodel);\n * const defaultView = await viewCreator.createDefaultView({skyboxOn: true});\n * ```\n * @public\n * @extensions\n */\nexport class ViewCreator3d {\n /**\n * Constructs a ViewCreator3d using an [[IModelConnection]].\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\n */\n constructor(private _imodel: IModelConnection) { }\n\n /**\n * Creates a default [[ViewState3d]] based on the model ids passed in. If no model ids are passed in, all 3D models in the iModel are used.\n * @param [options] Options for creating the view.\n * @param [modelIds] Ids of models to display in the view.\n * @throws [IModelError]($common) If no 3d models are found in the iModel.\n */\n public async createDefaultView(options?: ViewCreator3dOptions, modelIds?: Id64String[]): Promise<ViewState> {\n const rpcOptions: CustomViewState3dCreatorOptions = modelIds ? { modelIds: CompressedId64Set.sortAndCompress(modelIds) } : {};\n const rpc = IModelReadRpcInterface.getClientForRouting(this._imodel.routingContext.token);\n const serializedProps = await rpc.getCustomViewState3dData(this._imodel.getRpcProps(), rpcOptions);\n\n const baseExtents = Range3d.fromJSON(serializedProps.modelExtents);\n const props = await this._createViewStateProps(\n CompressedId64Set.decompressArray(serializedProps.modelIds),\n CompressedId64Set.decompressArray(serializedProps.categoryIds),\n baseExtents,\n options,\n );\n\n const viewState = SpatialViewState.createFromProps(props, this._imodel);\n try {\n await viewState.iModel.subcategories.loadAllUsedSpatialSubCategories();\n await viewState.load();\n } catch {\n }\n\n if (options?.standardViewId)\n viewState.setStandardRotation(options.standardViewId);\n\n if (options?.allSubCategoriesVisible)\n viewState.displayStyle.enableAllLoadedSubCategories(viewState.categorySelector.categories);\n\n const range = viewState.computeFitRange({ baseExtents });\n viewState.lookAtVolume(range, options?.vpAspect);\n\n return viewState;\n }\n\n /**\n * Generates a view state props object for creating a view. Merges display styles with a seed view if the options.useSeedView is true\n * @param models Models to put in view props\n * @param options view creation options like camera On and skybox On\n */\n private async _createViewStateProps(models: Id64Array, categories: Id64Array, modelExtents: Range3d, options?: ViewCreator3dOptions): Promise<ViewStateProps> {\n // Use dictionary model in all props\n const dictionaryId = IModel.dictionaryId;\n\n if (modelExtents.isNull)\n modelExtents.setFrom(this._imodel.projectExtents);\n\n let originX = modelExtents.low.x;\n let originY = modelExtents.low.y;\n const originZ = modelExtents.low.z;\n let deltaX = modelExtents.xLength();\n let deltaY = modelExtents.yLength();\n const deltaZ = modelExtents.zLength();\n\n // if vp aspect given, update model extents to fit view\n if (options?.vpAspect) {\n const modelAspect = deltaY / deltaX;\n\n if (modelAspect > options.vpAspect) {\n const xFix = deltaY / options.vpAspect;\n originX = originX - xFix / 2;\n deltaX = deltaX + xFix;\n } else if (modelAspect < options.vpAspect) {\n const yFix = deltaX * options.vpAspect;\n originY = originY - yFix / 2;\n deltaY = deltaY + yFix;\n }\n }\n\n const categorySelectorProps: CategorySelectorProps = {\n categories,\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:CategorySelector\",\n };\n\n const modelSelectorProps: ModelSelectorProps = {\n models,\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ModelSelector\",\n };\n\n const cameraData = new Camera();\n const cameraOn = options?.cameraOn !== false;\n const viewDefinitionProps: ViewDefinition3dProps = {\n categorySelectorId: \"\",\n displayStyleId: \"\",\n code: Code.createEmpty(),\n model: dictionaryId,\n origin: { x: originX, y: originY, z: originZ },\n extents: { x: deltaX, y: deltaY, z: deltaZ },\n classFullName: \"BisCore:SpatialViewDefinition\",\n cameraOn,\n camera: {\n lens: cameraData.lens.toJSON(),\n focusDist: cameraData.focusDist,\n eye: cameraData.eye.toJSON(),\n },\n };\n\n const displayStyleProps: DisplayStyle3dProps = {\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:DisplayStyle3d\",\n jsonProperties: {\n styles: {\n viewflags: {\n renderMode: RenderMode.SmoothShade,\n noSourceLights: false,\n noCameraLights: false,\n noSolarLight: false,\n noConstruct: true,\n noTransp: false,\n visEdges: false,\n backgroundMap: this._imodel.isGeoLocated,\n },\n environment:\n options !== undefined &&\n options.skyboxOn !== undefined &&\n options.skyboxOn\n ? Environment.defaults.withDisplay({ sky: true }).toJSON()\n : undefined,\n },\n },\n };\n\n const viewStateProps: ViewStateProps = {\n displayStyleProps,\n categorySelectorProps,\n modelSelectorProps,\n viewDefinitionProps,\n };\n\n // merge seed view props if needed\n return options?.useSeedView ? this._mergeSeedView(viewStateProps) : viewStateProps;\n }\n\n /**\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no default 3D views in the iModel\n * @param viewStateProps Input view props to be merged\n */\n private async _mergeSeedView(viewStateProps: ViewStateProps): Promise<ViewStateProps> {\n const viewId = await this._getDefaultViewId();\n // Handle iModels without any default view id\n if (viewId === undefined)\n return viewStateProps;\n\n const seedViewState = (await this._imodel.views.load(viewId) as SpatialViewState);\n const seedViewStateProps = {\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\n modelSelectorProps: seedViewState.modelSelector.toJSON(),\n viewDefinitionProps: seedViewState.toJSON(),\n displayStyleProps: seedViewState.displayStyle.toJSON(),\n };\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\n if (mergedDisplayProps.jsonProperties !== undefined) {\n mergedDisplayProps.jsonProperties.styles = {\n ...mergedDisplayProps.jsonProperties.styles,\n ...viewStateProps.displayStyleProps.jsonProperties?.styles,\n };\n }\n\n return { ...seedViewStateProps, ...viewStateProps, displayStyleProps: mergedDisplayProps };\n }\n\n /**\n * Get the Id of the default view.\n */\n private async _getDefaultViewId(): Promise<Id64String | undefined> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const viewId = await this._imodel.views.queryDefaultViewId();\n if (viewId !== Id64.invalid)\n return viewId;\n\n // Return the first spatial view\n const viewList = await this._imodel.views.getViewList({ wantPrivate: false, limit: 1, from: SpatialViewState.classFullName });\n return viewList.length === 0 ? undefined : viewList[0].id;\n }\n}\n"]}
@@ -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;;;;;;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,+BAA+B;IAC/B,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,gCAAgC;IAChC,SAAgB,OAAO,EAAE,QAAQ,CAAC;IAClC,iCAAiC;IACjC,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,mDAAmD;gBAChC,IAAI,EAAE,WAAW;IASpC,+BAA+B;IAC/B,IAAoB,MAAM,YAEzB;IAED,8BAA8B;IACd,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAW/C,mCAAmC;IACnB,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,8BAA8B;IACvB,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAStC,mCAAmC;IAC5B,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAS3C,+BAA+B;IAC/B,IAAW,MAAM,YAEhB;IACD,gCAAgC;IAChC,IAAW,OAAO,aAEjB;IACD,iCAAiC;IACjC,IAAW,QAAQ,aAElB;CACF"}
1
+ {"version":3,"file":"ViewPose.d.ts","sourceRoot":"","sources":["../../src/ViewPose.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1D,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,+BAA+B;IAC/B,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,gCAAgC;IAChC,SAAgB,OAAO,EAAE,QAAQ,CAAC;IAClC,iCAAiC;IACjC,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,mDAAmD;gBAChC,IAAI,EAAE,WAAW;IASpC,+BAA+B;IAC/B,IAAoB,MAAM,YAEzB;IAED,8BAA8B;IACd,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAW/C,mCAAmC;IACnB,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,8BAA8B;IACvB,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAStC,mCAAmC;IAC5B,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAS3C,+BAA+B;IAC/B,IAAW,MAAM,YAEhB;IACD,gCAAgC;IAChC,IAAW,OAAO,aAEjB;IACD,iCAAiC;IACjC,IAAW,QAAQ,aAIlB;CACF"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.ViewPose2d = exports.ViewPose3d = exports.ViewPose = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
11
12
  const core_geometry_1 = require("@itwin/core-geometry");
12
13
  const ViewState_1 = require("./ViewState");
13
14
  /** The "pose" for a [View]($docs/learning/frontend/views#viewstate-parameters) describing the viewed area or volume, depending upon whether
@@ -137,7 +138,9 @@ class ViewPose2d extends ViewPose {
137
138
  }
138
139
  /** See [[ViewPose.rotation]]. */
139
140
  get rotation() {
140
- return core_geometry_1.Matrix3d.createRotationAroundVector(core_geometry_1.Vector3d.unitZ(), this.angle);
141
+ const rotation = core_geometry_1.Matrix3d.createRotationAroundVector(core_geometry_1.Vector3d.unitZ(), this.angle);
142
+ (0, core_bentley_1.assert)(undefined !== rotation, "rotation around unit vector is always defined");
143
+ return rotation;
141
144
  }
142
145
  }
143
146
  exports.ViewPose2d = ViewPose2d;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewPose.js","sourceRoot":"","sources":["../../src/ViewPose.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,wDAAmF;AAEnF,2CAAkE;AAElE;;;;;;GAMG;AACH,MAAsB,QAAQ;IAC5B,iGAAiG;IAC1F,QAAQ,CAAe;IAmB9B;;OAEG;IACI,QAAQ,CAAU;IAEzB,gDAAgD;IAChD,IAAW,MAAM;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,0GAA0G;IAC1G,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3C,wDAAwD;IACxD,IAAW,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,YAAmB,QAAiB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAzCD,4BAyCC;AAED;;;GAGG;AACH,MAAa,UAAW,SAAQ,QAAQ;IACtC,+BAA+B;IACf,MAAM,CAAU;IAChC,gCAAgC;IAChB,OAAO,CAAW;IAClC,iCAAiC;IACjB,QAAQ,CAAW;IACnC;;OAEG;IACa,MAAM,CAAS;IAE/B,mDAAmD;IACnD,YAAmB,IAAiB;QAClC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,+BAA+B;IAC/B,IAAoB,MAAM;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACzH,CAAC;IAED,8BAA8B;IACd,KAAK,CAAC,KAAe;QACnC,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAChC,OAAO,KAAK,CAAC;QAEf,OAAO,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;YACrC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,mCAAmC;IACnB,UAAU,CAAC,IAAe;QACxC,IAAI,CAAC,CAAC,IAAI,YAAY,uBAAW,CAAC;YAChC,OAAO,KAAK,CAAC;QAEf,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU;YACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;CACF;AAlDD,gCAkDC;AAED;;;GAGG;AACH,MAAa,UAAW,SAAQ,QAAQ;IACtC;;OAEG;IACa,QAAQ,CAAU;IAClC;;OAEG;IACa,KAAK,CAAU;IAC/B;;OAEG;IACa,KAAK,CAAQ;IAE7B,mDAAmD;IACnD,YAAmB,IAAiB;QAClC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,8BAA8B;IACvB,KAAK,CAAC,KAAe;QAC1B,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAChC,OAAO,KAAK,CAAC;QAEf,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,mCAAmC;IAC5B,UAAU,CAAC,IAAe;QAC/B,IAAI,CAAC,CAAC,IAAI,YAAY,uBAAW,CAAC;YAChC,OAAO,KAAK,CAAC;QAEf,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,+BAA+B;IAC/B,IAAW,MAAM;QACf,OAAO,IAAI,uBAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,gCAAgC;IAChC,IAAW,OAAO;QAChB,OAAO,IAAI,wBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,iCAAiC;IACjC,IAAW,QAAQ;QACjB,OAAO,wBAAQ,CAAC,0BAA0B,CAAC,wBAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;IAC5E,CAAC;CACF;AAtDD,gCAsDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { BeTimePoint } from \"@itwin/core-bentley\";\nimport { Angle, Matrix3d, Point2d, Point3d, Vector3d } from \"@itwin/core-geometry\";\nimport { Camera } from \"@itwin/core-common\";\nimport { ViewState, ViewState2d, ViewState3d } from \"./ViewState\";\n\n/** The \"pose\" for a [View]($docs/learning/frontend/views#viewstate-parameters) describing the viewed area or volume, depending upon whether\n * the view is 2d or 3d.\n * @see [[ViewState.savePose]] to extract a pose from a view and [[ViewState.applyPose]] to apply a pose to a view.\n * @note a ViewPose is immutable.\n * @public\n * @extensions\n */\nexport abstract class ViewPose {\n /** The time at which this pose was created, if it was saved into a [[Viewport]]'s undo stack. */\n public undoTime?: BeTimePoint;\n /** Returns true if this pose is equivalent to the pose represented by the specified [[ViewState]].\n * This implies that `this.equal(view.savePose())`.\n */\n public abstract equalState(view: ViewState): boolean;\n /** Returns true if this pose is equivalent to the specified other pose. */\n public abstract equal(other: ViewPose): boolean;\n /** The origin of the view in [[CoordSystem.World]] coordinates.\n * @see [[ViewState.getOrigin]].\n */\n public abstract origin: Point3d;\n /** The extents of the view in [[CoordSystem.World]] coordinates.\n * @see [[ViewState.getExtents]].\n */\n public abstract extents: Vector3d;\n /** The 3x3 ortho-normal rotation matrix of the view.\n * @see [[ViewState.getRotation]].\n */\n public abstract rotation: Matrix3d;\n /** True if the camera is enabled.\n * @see [[ViewPose3d.camera]] to access the camera.\n */\n public cameraOn: boolean;\n\n /** Computes the center of the viewed volume. */\n public get center(): Point3d {\n const delta = this.rotation.multiplyTransposeVector(this.extents);\n return this.origin.plusScaled(delta, 0.5);\n }\n\n /** Returns the target point of the view. This is the same as [[center]] unless [[cameraOn]] is `true`. */\n public get target() { return this.center; }\n\n /** Computes the Z vector of the [[rotation]] matrix. */\n public get zVec() { return this.rotation.getRow(2); }\n\n public constructor(cameraOn: boolean) {\n this.cameraOn = cameraOn;\n }\n}\n\n/** The \"pose\" for a [[ViewState3d]], including information about the view's [Camera]($common) if it is enabled.\n * @public\n * @extensions\n */\nexport class ViewPose3d extends ViewPose {\n /** See [[ViewPose.origin]]. */\n public readonly origin: Point3d;\n /** See [[ViewPose.extents]]. */\n public readonly extents: Vector3d;\n /** See [[ViewPose.rotation]]. */\n public readonly rotation: Matrix3d;\n /** The camera parameters of the view.\n * @note This object is meaningful only if [[ViewPose.cameraOn]] is `true`.\n */\n public readonly camera: Camera;\n\n /** Construct a pose from the specified 3d view. */\n public constructor(view: ViewState3d) {\n super(view.isCameraOn);\n\n this.origin = view.origin.clone();\n this.extents = view.extents.clone();\n this.rotation = view.rotation.clone();\n this.camera = view.camera.clone();\n }\n\n /** See [[ViewPose.target]]. */\n public override get target() {\n return this.cameraOn ? this.camera.eye.plusScaled(this.rotation.getRow(2), -1.0 * this.camera.focusDist) : this.center;\n }\n\n /** See [[ViewPose.equal]]. */\n public override equal(other: ViewPose): boolean {\n if (!(other instanceof ViewPose3d))\n return false;\n\n return this.cameraOn === other.cameraOn &&\n this.origin.isAlmostEqual(other.origin) &&\n this.extents.isAlmostEqual(other.extents) &&\n this.rotation.isAlmostEqual(other.rotation) &&\n (!this.cameraOn || this.camera.equals(other.camera));\n }\n\n /** See [[ViewPose.equalState]]. */\n public override equalState(view: ViewState): boolean {\n if (!(view instanceof ViewState3d))\n return false;\n\n return this.cameraOn === view.isCameraOn &&\n this.origin.isAlmostEqual(view.origin) &&\n this.extents.isAlmostEqual(view.extents) &&\n this.rotation.isAlmostEqual(view.rotation) &&\n (!this.cameraOn || this.camera.equals(view.camera));\n }\n}\n\n/** The \"pose\" for a [[ViewState2d]].\n * @public\n * @extensions\n */\nexport class ViewPose2d extends ViewPose {\n /** The 2d origin of the view.\n * @see [[ViewState2d.origin]].\n */\n public readonly origin2d: Point2d;\n /** The 2d extents of the view.\n * @see [[ViewState2d.delta]].\n */\n public readonly delta: Point2d;\n /** The rotation of the view.\n * @see [[ViewState2d.angle]].\n */\n public readonly angle: Angle;\n\n /** Construct a pose from the specified 2d view. */\n public constructor(view: ViewState2d) {\n super(false);\n this.origin2d = view.origin.clone();\n this.delta = view.delta.clone();\n this.angle = view.angle.clone();\n }\n\n /** See [[ViewPose.equal]]. */\n public equal(other: ViewPose): boolean {\n if (!(other instanceof ViewPose2d))\n return false;\n\n return this.origin2d.isAlmostEqual(other.origin) &&\n this.delta.isAlmostEqual(other.delta) &&\n this.angle.isAlmostEqualNoPeriodShift(other.angle);\n }\n\n /** See [[ViewPose.equalState]]. */\n public equalState(view: ViewState): boolean {\n if (!(view instanceof ViewState2d))\n return false;\n\n return this.origin2d.isAlmostEqual(view.origin) &&\n this.delta.isAlmostEqual(view.delta) &&\n this.angle.isAlmostEqualNoPeriodShift(view.angle);\n }\n\n /** See [[ViewPose.origin]]. */\n public get origin() {\n return new Point3d(this.origin2d.x, this.origin2d.y);\n }\n /** See [[ViewPose.extents]]. */\n public get extents() {\n return new Vector3d(this.delta.x, this.delta.y);\n }\n /** See [[ViewPose.rotation]]. */\n public get rotation() {\n return Matrix3d.createRotationAroundVector(Vector3d.unitZ(), this.angle)!;\n }\n}\n"]}
1
+ {"version":3,"file":"ViewPose.js","sourceRoot":"","sources":["../../src/ViewPose.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { assert, BeTimePoint } from \"@itwin/core-bentley\";\nimport { Angle, Matrix3d, Point2d, Point3d, Vector3d } from \"@itwin/core-geometry\";\nimport { Camera } from \"@itwin/core-common\";\nimport { ViewState, ViewState2d, ViewState3d } from \"./ViewState\";\n\n/** The \"pose\" for a [View]($docs/learning/frontend/views#viewstate-parameters) describing the viewed area or volume, depending upon whether\n * the view is 2d or 3d.\n * @see [[ViewState.savePose]] to extract a pose from a view and [[ViewState.applyPose]] to apply a pose to a view.\n * @note a ViewPose is immutable.\n * @public\n * @extensions\n */\nexport abstract class ViewPose {\n /** The time at which this pose was created, if it was saved into a [[Viewport]]'s undo stack. */\n public undoTime?: BeTimePoint;\n /** Returns true if this pose is equivalent to the pose represented by the specified [[ViewState]].\n * This implies that `this.equal(view.savePose())`.\n */\n public abstract equalState(view: ViewState): boolean;\n /** Returns true if this pose is equivalent to the specified other pose. */\n public abstract equal(other: ViewPose): boolean;\n /** The origin of the view in [[CoordSystem.World]] coordinates.\n * @see [[ViewState.getOrigin]].\n */\n public abstract origin: Point3d;\n /** The extents of the view in [[CoordSystem.World]] coordinates.\n * @see [[ViewState.getExtents]].\n */\n public abstract extents: Vector3d;\n /** The 3x3 ortho-normal rotation matrix of the view.\n * @see [[ViewState.getRotation]].\n */\n public abstract rotation: Matrix3d;\n /** True if the camera is enabled.\n * @see [[ViewPose3d.camera]] to access the camera.\n */\n public cameraOn: boolean;\n\n /** Computes the center of the viewed volume. */\n public get center(): Point3d {\n const delta = this.rotation.multiplyTransposeVector(this.extents);\n return this.origin.plusScaled(delta, 0.5);\n }\n\n /** Returns the target point of the view. This is the same as [[center]] unless [[cameraOn]] is `true`. */\n public get target() { return this.center; }\n\n /** Computes the Z vector of the [[rotation]] matrix. */\n public get zVec() { return this.rotation.getRow(2); }\n\n public constructor(cameraOn: boolean) {\n this.cameraOn = cameraOn;\n }\n}\n\n/** The \"pose\" for a [[ViewState3d]], including information about the view's [Camera]($common) if it is enabled.\n * @public\n * @extensions\n */\nexport class ViewPose3d extends ViewPose {\n /** See [[ViewPose.origin]]. */\n public readonly origin: Point3d;\n /** See [[ViewPose.extents]]. */\n public readonly extents: Vector3d;\n /** See [[ViewPose.rotation]]. */\n public readonly rotation: Matrix3d;\n /** The camera parameters of the view.\n * @note This object is meaningful only if [[ViewPose.cameraOn]] is `true`.\n */\n public readonly camera: Camera;\n\n /** Construct a pose from the specified 3d view. */\n public constructor(view: ViewState3d) {\n super(view.isCameraOn);\n\n this.origin = view.origin.clone();\n this.extents = view.extents.clone();\n this.rotation = view.rotation.clone();\n this.camera = view.camera.clone();\n }\n\n /** See [[ViewPose.target]]. */\n public override get target() {\n return this.cameraOn ? this.camera.eye.plusScaled(this.rotation.getRow(2), -1.0 * this.camera.focusDist) : this.center;\n }\n\n /** See [[ViewPose.equal]]. */\n public override equal(other: ViewPose): boolean {\n if (!(other instanceof ViewPose3d))\n return false;\n\n return this.cameraOn === other.cameraOn &&\n this.origin.isAlmostEqual(other.origin) &&\n this.extents.isAlmostEqual(other.extents) &&\n this.rotation.isAlmostEqual(other.rotation) &&\n (!this.cameraOn || this.camera.equals(other.camera));\n }\n\n /** See [[ViewPose.equalState]]. */\n public override equalState(view: ViewState): boolean {\n if (!(view instanceof ViewState3d))\n return false;\n\n return this.cameraOn === view.isCameraOn &&\n this.origin.isAlmostEqual(view.origin) &&\n this.extents.isAlmostEqual(view.extents) &&\n this.rotation.isAlmostEqual(view.rotation) &&\n (!this.cameraOn || this.camera.equals(view.camera));\n }\n}\n\n/** The \"pose\" for a [[ViewState2d]].\n * @public\n * @extensions\n */\nexport class ViewPose2d extends ViewPose {\n /** The 2d origin of the view.\n * @see [[ViewState2d.origin]].\n */\n public readonly origin2d: Point2d;\n /** The 2d extents of the view.\n * @see [[ViewState2d.delta]].\n */\n public readonly delta: Point2d;\n /** The rotation of the view.\n * @see [[ViewState2d.angle]].\n */\n public readonly angle: Angle;\n\n /** Construct a pose from the specified 2d view. */\n public constructor(view: ViewState2d) {\n super(false);\n this.origin2d = view.origin.clone();\n this.delta = view.delta.clone();\n this.angle = view.angle.clone();\n }\n\n /** See [[ViewPose.equal]]. */\n public equal(other: ViewPose): boolean {\n if (!(other instanceof ViewPose2d))\n return false;\n\n return this.origin2d.isAlmostEqual(other.origin) &&\n this.delta.isAlmostEqual(other.delta) &&\n this.angle.isAlmostEqualNoPeriodShift(other.angle);\n }\n\n /** See [[ViewPose.equalState]]. */\n public equalState(view: ViewState): boolean {\n if (!(view instanceof ViewState2d))\n return false;\n\n return this.origin2d.isAlmostEqual(view.origin) &&\n this.delta.isAlmostEqual(view.delta) &&\n this.angle.isAlmostEqualNoPeriodShift(view.angle);\n }\n\n /** See [[ViewPose.origin]]. */\n public get origin() {\n return new Point3d(this.origin2d.x, this.origin2d.y);\n }\n /** See [[ViewPose.extents]]. */\n public get extents() {\n return new Vector3d(this.delta.x, this.delta.y);\n }\n /** See [[ViewPose.rotation]]. */\n public get rotation() {\n const rotation = Matrix3d.createRotationAroundVector(Vector3d.unitZ(), this.angle);\n assert(undefined !== rotation, \"rotation around unit vector is always defined\");\n return rotation;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewState.d.ts","sourceRoot":"","sources":["../../src/ViewState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,OAAO,EAAiB,OAAO,EAAE,UAAU,EAAa,MAAM,qBAAqB,CAAC;AACrG,OAAO,EACL,KAAK,EAAa,UAAU,EAA+C,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EACzF,OAAO,EAAE,OAAO,EAAW,OAAO,EAAS,SAAS,EAAY,QAAQ,EAAE,KAAK,EAC7G,MAAM,EAAE,GAAG,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAC3H,4BAA4B,EAAE,6BAA6B,EACrC,cAAc,EAAE,mBAAmB,EACzD,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EACzH,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAgD,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAA2C,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE/F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,SAAS,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C,yEAAyE;IACzE,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,qBAAqB,GAAG,SAAS,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sEAAsE;IACtE,OAAO,EAAE,UAAU,CAAC;IACpB,gIAAgI;IAChI,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gHAAgH;IAChH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,0JAA0J;IAC1J,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC5B,4GAA4G;IAC5G,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,0GAA0G;IAC1G,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,iHAAiH;IACjH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,mDAAmD;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,iHAAiH;IACjH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAE1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;CAChC;AAwCD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,8BAAsB,SAAU,SAAQ,YAAY;IAClD,WAA2B,SAAS,WAA+B;IAEnE,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,OAAO,CAAC,8BAA8B,CAAC,CAAgC;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,iBAAiB,CAAwB;IACjD,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAAsB;IAE3E,gIAAgI;IAChI,SAAgB,yBAAyB,gBAAqB,IAAI,EAAI;IAEtE;;OAEG;IACH,SAAgB,qBAAqB,qBAA0B,iBAAiB,KAAK,IAAI,EAAI;IAE7F;;OAEG;IACH,SAAgB,sCAAsC,wBAA6B,6BAA6B,GAAG,SAAS,KAAK,IAAI,EAAI;IAEzI,iEAAiE;IACjE,IAAW,gBAAgB,IAAI,qBAAqB,CAEnD;IAED,IAAW,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,EAa1D;IAED,0EAA0E;IAC1E,IAAW,YAAY,IAAI,iBAAiB,CAE3C;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAQ/C;IAED,gBAAgB;IAChB,SAAS,aAAa,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,iBAAiB;IAmBnJ;;OAEG;WACW,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,SAAS;IAEvG,yHAAyH;IAClH,OAAO,IAAI,cAAc;IAQhC;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,SAAS,EAEpC;IAED,yDAAyD;IACzD,IAAW,aAAa,IAAI,aAAa,GAAG,SAAS,CAEpD;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,SAAS,CAE7D;IAED,gBAAgB;IAChB,IAAW,CAAC,wBAAwB,CAAC,IAAI,cAAc,CAAC,eAAe,GAAG,SAAS,CAElF;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAAwC;IAEzE,gEAAgE;IAChD,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAE5C,sCAAsC;IACtB,MAAM,IAAI,mBAAmB;IAS7C;;;;OAIG;IACH,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,4BAA4B,GAAG,IAAI;IAMrE;;;;OAIG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAqBlB,QAAQ,CAAC,eAAe,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvF;;;OAGG;IACH,IAAW,qBAAqB,IAAI,OAAO,CAQ1C;IAED,mFAAmF;IACnF,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,wCAAwC;IACxC,IAAW,eAAe,IAAI,QAAQ,CAErC;IAED;;;OAGG;IACI,sBAAsB,CAAC,EAAE,EAAE,UAAU,GAAG,mBAAmB,GAAG,SAAS;IAI9E;;;OAGG;IACI,0BAA0B,CAAC,EAAE,EAAE,UAAU,GAAG,iBAAiB,GAAG,SAAS;IAIhF,gBAAgB;IACT,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAYpD,iEAAiE;IACjE,aAAoB,OAAO,IAAI,WAAW,CAAC;IAE3C,0DAA0D;aAC1C,IAAI,IAAI,IAAI,IAAI,WAAW;IAC3C,0DAA0D;IACnD,IAAI,IAAI,IAAI,IAAI,WAAW;IAClC,+DAA+D;aAC/C,aAAa,IAAI,IAAI,IAAI,gBAAgB;IACzD,+DAA+D;aAC/C,aAAa,IAAI,IAAI,IAAI,gBAAgB;IACzD,6DAA6D;IACtD,WAAW,IAAI,IAAI,IAAI,cAAc;IAC5C,6FAA6F;aAC7E,oBAAoB,IAAI,OAAO;IAC/C,gBAAgB;aACA,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAC1E,yEAAyE;aACzD,gBAAgB,IAAI,gBAAgB;IACpD;;OAEG;aACa,eAAe,IAAI,OAAO;IAE1C,sFAAsF;aACtE,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO;IAExD,wEAAwE;aACxD,SAAS,IAAI,OAAO;IAEpC,yEAAyE;aACzD,UAAU,IAAI,QAAQ;IAEtC,uDAAuD;aACvC,WAAW,IAAI,QAAQ;IAEvC,wEAAwE;aACxD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAEhD,yEAAyE;aACzD,UAAU,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI;IAErD,qDAAqD;IAC9C,SAAS,CAAC,MAAM,EAAE,OAAO;IAKhC;;OAEG;aACa,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAEpD,8CAA8C;aAC9B,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI;IAE9E,gBAAgB;aACA,gBAAgB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAE/D;;;;OAIG;IACI,kBAAkB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI;IAUlE,eAAe,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAKvD;;OAEG;IACI,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAM3D;;OAEG;IACI,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAS9D;;OAEG;IACI,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAI1E;;;;OAIG;aACa,QAAQ,IAAI,QAAQ;IAEpC;;;;OAIG;aACa,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAEhD,gBAAgB;IACT,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAM/C;;OAEG;IACI,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI/C,gBAAgB;WACF,qBAAqB,CAAC,EAAE,EAAE,cAAc,GAAG,QAAQ;IAIjE,iEAAiE;IAC1D,mBAAmB,CAAC,EAAE,EAAE,cAAc;IAE7C;;OAEG;IACI,yBAAyB,CAAC,EAAE,EAAE,cAAc;IASnD,mFAAmF;IAC5E,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAEhD,0DAA0D;IACnD,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAK3C,gBAAgB;IACT,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI/C,gBAAgB;IACT,iBAAiB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,uBAAuB,UAAO,GAAG;QAAE,GAAG,EAAE,KAAK,GAAG,SAAS,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IA6ErK;;;OAGG;IACI,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAUvD,qBAAqB;IAQ5B;;;;;;;;OAQG;IACI,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,UAAU;IAqDlF;;;;;;OAMG;IACH,IAAW,YAAY,IAAI,YAAY,CAA6F;IACpI,IAAW,YAAY,CAAC,MAAM,EAAE,YAAY,EAAkC;IAE9E;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAEhC;OACG;IACH,aAAoB,mBAAmB,IAAI,YAAY,CAAC;IAEjD,eAAe,CAAC,KAAK,EAAE,iBAAiB;IAE/C;;OAEG;IACI,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAcjD,gBAAgB;IACT,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAK1D,gBAAgB;IACT,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,UAAU;IAiC3H;;;;;OAKG;IACI,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAQvC,8CAA8C;IACvC,mBAAmB,CAAC,UAAU,EAAE,qBAAqB;IAE5D,2EAA2E;IAC3E,IAAW,yBAAyB,IAAI,mBAAmB,CAI1D;IAED,uEAAuE;IAChE,8BAA8B,IAAI,UAAU;IAInD;;OAEG;IACI,4BAA4B,CAAC,GAAG,CAAC,EAAE,mBAAmB;IAK7D,yEAAyE;IAClE,aAAa,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAI7C,wDAAwD;IACjD,cAAc,IAAI,MAAM;IAK/B,sGAAsG;IAC/F,kBAAkB,IAAI,MAAM;IAInC,oGAAoG;IAC7F,kBAAkB,CAAC,GAAG,EAAE,MAAM;IAIrC;;OAEG;IACI,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAE9C;;OAEG;IACI,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAE9C;;OAEG;IACI,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAE9C;;;OAGG;IACI,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU;IAIpC;;OAEG;IACI,WAAW,IAAI,UAAU,GAAG,SAAS;IAI5C,0CAA0C;IACnC,eAAe,CAAC,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAcrG,gHAAgH;IACzG,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB;IAuCzG,0CAA0C;IACnC,kBAAkB,IAAI,mBAAmB;IAGzC,cAAc,IAAI,MAAM;IAGxB,cAAc,IAAI,KAAK;IAI9B;;;;;;;;OAQG;IACI,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,kBAAkB;IAMvH;;;;;;OAMG;IACI,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,kBAAkB;IAmF7G;;;OAGG;IACI,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAiBvE;;;;OAIG;IACI,wBAAwB,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO;IAavE;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAqBpD;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ;IAW5C;;OAEG;IACI,mBAAmB,IAAI,OAAO;IAsBrC;;;OAGG;IACI,gBAAgB,IAAI,QAAQ,GAAG,SAAS;IA4B/C,gKAAgK;IAChK,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED,OAAO,CAAC,qBAAqB,CAAK;IAClC;;;;;OAKG;IACH,IAAW,oBAAoB,WAAyC;IAExE,SAAS,CAAC,2BAA2B;IAErC;;OAEG;IACI,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;IAEtD;;;;OAIG;IACH,IAAW,6BAA6B,IAAI,6BAA6B,GAAG,SAAS,CAEpF;IAED,IAAW,6BAA6B,CAAC,QAAQ,EAAE,6BAA6B,GAAG,SAAS,EAQ3F;IAED;;;;;;;;;;OAUG;IACI,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,SAAS,GAAG,SAAS;IA8BxF;;;;;;OAMG;IACI,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAO1D,OAAO,CAAC,iCAAiC;IAQzC;;;;OAIG;IACI,kBAAkB,IAAI,IAAI;IAOjC,OAAO,CAAC,mCAAmC;IAK3C;;OAEG;IACH,IAAW,oBAAoB,IAAI,OAAO,CAIzC;IAED;;;OAGG;IACH,IAAW,kBAAkB,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAElD;IAED;;OAEG;IACI,qBAAqB,CAAC,KAAK,EAAE,yBAAyB,GAAG,QAAQ,GAAG,SAAS;CAGrF;AAED;;;;GAIG;AACH,8BAAsB,WAAY,SAAQ,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IACvE,OAAO,CAAC,uBAAuB,CAAC,CAAyB;IACzD,WAA2B,SAAS,WAAiC;IACrE,mCAAmC;IACnC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;IAC7B,sDAAsD;IACtD,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,sCAAsC;IACtC,SAAgB,OAAO,EAAE,QAAQ,CAAC;IAClC,oCAAoC;IACpC,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC,qCAAqC;IACrC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,uCAAuC;IAChC,iBAAiB,SAAO;IAC/B,iEAAiE;IACjE,IAAW,OAAO,IAAI,aAAa,CAElC;IAEM,oBAAoB,IAAI,OAAO;IAItC,qFAAqF;IAC9E,uBAAuB,CAAC,KAAK,EAAE,OAAO;gBAI1B,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB;IAoB/I,OAAO,CAAC,gBAAgB;IAQxB,gBAAgB;IACT,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,gBAAgB,GAAG,SAAS;IAMtE,iEAAiE;IAC1D,QAAQ,IAAI,UAAU;IAE7B,mCAAmC;IAC5B,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAarB,MAAM,IAAI,qBAAqB;IAU/C,8BAA8B;IACvB,IAAI,IAAI,IAAI,IAAI,WAAW;IAElC,gBAAgB;IACT,aAAa,IAAI,IAAI,IAAI,gBAAgB;IAEhD,IAAW,UAAU,IAAI,OAAO,CAA2B;IAE3D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAyC;IAC1E,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA6B;IAE9D,IAAW,YAAY,YAKtB;IAED;;OAEG;IACH,IAAoB,iBAAiB,IAAI,MAAM,CAG9C;IAED;;;;;;OAMG;IACI,oBAAoB,IAAI,MAAM;IAoB9B,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQxD,wBAAwB,IAAI,MAAM,GAAG,SAAS;IAI9C,oBAAoB,CAAC,QAAQ,EAAE,MAAM;IAK5C;;;;;;;OAOG;IACI,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,SAAI,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM;IAmB5H;;;;;;;OAOG;IACU,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,SAAI,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBlJ,OAAO,CAAC,0BAA0B;IAyBlC,2EAA2E;IACpE,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS;IAKxF,2EAA2E;IACpE,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAK5F;;;OAGG;IACU,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAS9G;;;;OAIG;IACU,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IAK5F;;;OAGG;IACU,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IASlH;;;;OAIG;IACU,0BAA0B,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;IAKrF,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,UAAU;IA+CzF,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM;IAQpE,SAAS,IAAI,OAAO;IACpB,UAAU,IAAI,QAAQ;IACtB,WAAW,IAAI,QAAQ;IACvB,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,UAAU,CAAC,OAAO,EAAE,MAAM;IAC1B,WAAW,CAAC,GAAG,EAAE,QAAQ;IAChC,gBAAgB;IAChB,SAAS,CAAC,YAAY,IAAI,IAAI;IAKvB,cAAc,IAAI,OAAO;IAIzB,oBAAoB;IAIpB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlD,0EAA0E;IAC1E,IAAoB,YAAY,IAAI,mBAAmB,CAEtD;IAED,IAAoB,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAG1D;IAED;;OAEG;IACI,iBAAiB,IACO,mBAAmB;IAGlD;;;OAGG;IACI,aAAa;IAEpB,0DAA0D;IAC1D,IAAW,aAAa,YAAkC;IAE1D,8EAA8E;IACvE,aAAa,IAAI,KAAK;IAI7B,wFAAwF;IACxE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IASzD;;;;OAIG;IACI,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe,GAAG,oBAAoB,GAAG,UAAU;IAoG/F;;OAEG;IACI,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAYvD;;;OAGG;IACI,oBAAoB,CAAC,EAAE,EAAE,OAAO;IAIvC;;;OAGG;IACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU;IAKtD;;;OAGG;IACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU;IAWtD;;;;;;;OAOG;IACI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU;IAKrF;;;;;;OAMG;IACI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU;IAWrF;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU;IAqBzE,2EAA2E;IACpE,gBAAgB,IAAI,MAAM;IAEjC,0EAA0E;IACnE,eAAe,IAAI,MAAM;IAOhC;;;;OAIG;IACI,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAOlD;;;OAGG;IACI,mBAAmB,IAAI,IAAI;IAQlC,wFAAwF;IACjF,gBAAgB,IAAI,IAAI;IAiC/B,wEAAwE;IACjE,WAAW,IAAI,OAAO;IAE7B,wCAAwC;IACjC,YAAY,IAAI,KAAK;IAE5B;;;;;OAKG;IACI,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAEvC;;;;OAIG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAEpC;;;OAGG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAE3C,4EAA4E;IACrE,gBAAgB,IAAI,MAAM;IAEjC;;OAEG;IACI,6BAA6B,IAAI,OAAO;IAYxC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAEjD,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAMxD,+GAA+G;IACxG,kBAAkB,IAAI,MAAM;IAKnC,qHAAqH;IAC9G,gBAAgB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,gBAAgB;IAqCxD,gBAAgB;IACA,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAK9D;;;OAGG;IACI,kBAAkB,IAAI,OAAO,GAAG,SAAS;IA4BhD;;;;;;;;OAQG;IACI,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,UAAU;IA6CtE,0CAA0C;IAC1B,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IASlE,4CAA4C;IAC5B,kBAAkB,IAAI,IAAI;CAI3C;AAED;;;GAGG;AACH,8BAAsB,WAAY,SAAQ,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,WAA2B,SAAS,WAAiC;IACrE,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,SAAgB,KAAK,EAAE,OAAO,CAAC;IAC/B,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC;IACnC,IAAW,WAAW,IAAI,UAAU,CAA8B;IAClE,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAEvC,gBAAgB;IAChB,SAAS,KAAK,YAAY,IAAI,iBAAiB,GAAG,SAAS,CAQ1D;gBAEkB,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB;IAS/H,MAAM,IAAI,qBAAqB;IAS/C,8BAA8B;IACvB,IAAI,IAAI,IAAI,IAAI,WAAW;IAElC,gBAAgB;IACT,aAAa,IAAI,IAAI,IAAI,gBAAgB;IAEhD,yCAAyC;IAClC,QAAQ,IAAI,UAAU;IAE7B,mCAAmC;IAC5B,SAAS,CAAC,GAAG,EAAE,QAAQ;IAU9B,yCAAyC;IAClC,cAAc,IAAI,qBAAqB,GAAG,SAAS;IAQ1D;;;;;OAKG;IACU,iBAAiB,CAAC,gBAAgB,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE,eAAe,IAAI,OAAO;IAIjC,gBAAgB;cACG,OAAO,CAAC,cAAc,EAAE,4BAA4B,GAAG,IAAI;IAM9E,gBAAgB;cACS,QAAQ,CAAC,eAAe,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhG,iEAAiE;IACjE,IAAW,OAAO,IAAI,WAAW,CAEhC;IAEM,oBAAoB,IAAI,OAAO;IAC/B,SAAS;IACT,UAAU;IACV,WAAW;IACX,UAAU,CAAC,KAAK,EAAE,KAAK;IACvB,SAAS,CAAC,MAAM,EAAE,KAAK;IACvB,WAAW,CAAC,GAAG,EAAE,QAAQ;IAKzB,UAAU,CAAC,OAAO,EAAE,UAAU;IAC9B,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI;IAM9D,gBAAgB;IACE,gBAAgB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAM1D,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;CAClE"}
1
+ {"version":3,"file":"ViewState.d.ts","sourceRoot":"","sources":["../../src/ViewState.ts"],"names":[],"mappings":"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"}