@itwin/core-frontend 3.0.0-dev.98 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1224) hide show
  1. package/CHANGELOG.md +244 -35
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AccuSnap.js +3 -3
  4. package/lib/cjs/AccuSnap.js.map +1 -1
  5. package/lib/cjs/ApproximateTerrainHeights.d.ts.map +1 -1
  6. package/lib/cjs/ApproximateTerrainHeights.js +10 -5
  7. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  8. package/lib/cjs/BackgroundMapGeometry.d.ts +1 -1
  9. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  10. package/lib/cjs/BackgroundMapGeometry.js +2 -2
  11. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  12. package/lib/cjs/BingLocation.js +2 -2
  13. package/lib/cjs/BingLocation.js.map +1 -1
  14. package/lib/cjs/CheckpointConnection.js +1 -1
  15. package/lib/cjs/CheckpointConnection.js.map +1 -1
  16. package/lib/cjs/ContextRealityModelState.js +1 -1
  17. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  18. package/lib/cjs/DisplayStyleState.d.ts +10 -163
  19. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  20. package/lib/cjs/DisplayStyleState.js +69 -350
  21. package/lib/cjs/DisplayStyleState.js.map +1 -1
  22. package/lib/cjs/DrawingViewState.d.ts +2 -2
  23. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  24. package/lib/cjs/DrawingViewState.js +3 -3
  25. package/lib/cjs/DrawingViewState.js.map +1 -1
  26. package/lib/cjs/ElementLocateManager.d.ts +5 -0
  27. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  28. package/lib/cjs/ElementLocateManager.js +12 -2
  29. package/lib/cjs/ElementLocateManager.js.map +1 -1
  30. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  31. package/lib/cjs/EmphasizeElements.js +14 -4
  32. package/lib/cjs/EmphasizeElements.js.map +1 -1
  33. package/lib/cjs/EnvironmentDecorations.d.ts +39 -0
  34. package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -0
  35. package/lib/cjs/EnvironmentDecorations.js +203 -0
  36. package/lib/cjs/EnvironmentDecorations.js.map +1 -0
  37. package/lib/cjs/FrontendHubAccess.d.ts +11 -7
  38. package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
  39. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  40. package/lib/cjs/FrontendLoggerCategory.d.ts +2 -8
  41. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  42. package/lib/cjs/FrontendLoggerCategory.js +2 -8
  43. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  44. package/lib/cjs/HitDetail.js +7 -7
  45. package/lib/cjs/HitDetail.js.map +1 -1
  46. package/lib/cjs/IModelApp.d.ts +30 -17
  47. package/lib/cjs/IModelApp.d.ts.map +1 -1
  48. package/lib/cjs/IModelApp.js +33 -26
  49. package/lib/cjs/IModelApp.js.map +1 -1
  50. package/lib/cjs/IModelConnection.d.ts +4 -6
  51. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  52. package/lib/cjs/IModelConnection.js +6 -11
  53. package/lib/cjs/IModelConnection.js.map +1 -1
  54. package/lib/cjs/IModeljs-css.d.ts.map +1 -1
  55. package/lib/cjs/IModeljs-css.js +8 -6
  56. package/lib/cjs/IModeljs-css.js.map +1 -1
  57. package/lib/cjs/ImageUtil.d.ts +3 -3
  58. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  59. package/lib/cjs/ImageUtil.js +7 -4
  60. package/lib/cjs/ImageUtil.js.map +1 -1
  61. package/lib/cjs/LocalhostIpcApp.d.ts +2 -1
  62. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  63. package/lib/cjs/LocalhostIpcApp.js +21 -7
  64. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  65. package/lib/cjs/Marker.d.ts +9 -2
  66. package/lib/cjs/Marker.d.ts.map +1 -1
  67. package/lib/cjs/Marker.js +33 -5
  68. package/lib/cjs/Marker.js.map +1 -1
  69. package/lib/cjs/ModelState.js +1 -1
  70. package/lib/cjs/ModelState.js.map +1 -1
  71. package/lib/cjs/NativeApp.d.ts +3 -38
  72. package/lib/cjs/NativeApp.d.ts.map +1 -1
  73. package/lib/cjs/NativeApp.js +4 -73
  74. package/lib/cjs/NativeApp.js.map +1 -1
  75. package/lib/cjs/NoRenderApp.d.ts +0 -1
  76. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  77. package/lib/cjs/NoRenderApp.js +0 -1
  78. package/lib/cjs/NoRenderApp.js.map +1 -1
  79. package/lib/cjs/NotificationManager.d.ts +3 -1
  80. package/lib/cjs/NotificationManager.d.ts.map +1 -1
  81. package/lib/cjs/NotificationManager.js +2 -0
  82. package/lib/cjs/NotificationManager.js.map +1 -1
  83. package/lib/cjs/RealityDataSource.d.ts +59 -29
  84. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  85. package/lib/cjs/RealityDataSource.js +247 -94
  86. package/lib/cjs/RealityDataSource.js.map +1 -1
  87. package/lib/cjs/RenderScheduleState.d.ts +2 -0
  88. package/lib/cjs/RenderScheduleState.d.ts.map +1 -1
  89. package/lib/cjs/RenderScheduleState.js +10 -5
  90. package/lib/cjs/RenderScheduleState.js.map +1 -1
  91. package/lib/cjs/SheetViewState.d.ts +2 -2
  92. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  93. package/lib/cjs/SheetViewState.js +7 -6
  94. package/lib/cjs/SheetViewState.js.map +1 -1
  95. package/lib/cjs/SpatialViewState.d.ts +10 -2
  96. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  97. package/lib/cjs/SpatialViewState.js +12 -2
  98. package/lib/cjs/SpatialViewState.js.map +1 -1
  99. package/lib/cjs/SubCategoriesCache.js +1 -1
  100. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  101. package/lib/cjs/Tiles.d.ts +11 -1
  102. package/lib/cjs/Tiles.d.ts.map +1 -1
  103. package/lib/cjs/Tiles.js +7 -0
  104. package/lib/cjs/Tiles.js.map +1 -1
  105. package/lib/cjs/TwoWayViewportSync.d.ts +35 -6
  106. package/lib/cjs/TwoWayViewportSync.d.ts.map +1 -1
  107. package/lib/cjs/TwoWayViewportSync.js +51 -11
  108. package/lib/cjs/TwoWayViewportSync.js.map +1 -1
  109. package/lib/cjs/UserPreferences.d.ts +72 -0
  110. package/lib/cjs/UserPreferences.d.ts.map +1 -0
  111. package/lib/cjs/UserPreferences.js +7 -0
  112. package/lib/cjs/UserPreferences.js.map +1 -0
  113. package/lib/cjs/ViewContext.d.ts +3 -1
  114. package/lib/cjs/ViewContext.d.ts.map +1 -1
  115. package/lib/cjs/ViewContext.js +4 -0
  116. package/lib/cjs/ViewContext.js.map +1 -1
  117. package/lib/cjs/ViewCreator2d.js +3 -3
  118. package/lib/cjs/ViewCreator2d.js.map +1 -1
  119. package/lib/cjs/ViewCreator3d.d.ts +1 -1
  120. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  121. package/lib/cjs/ViewCreator3d.js +4 -5
  122. package/lib/cjs/ViewCreator3d.js.map +1 -1
  123. package/lib/cjs/ViewManager.d.ts +6 -6
  124. package/lib/cjs/ViewManager.d.ts.map +1 -1
  125. package/lib/cjs/ViewManager.js +13 -13
  126. package/lib/cjs/ViewManager.js.map +1 -1
  127. package/lib/cjs/ViewState.d.ts +11 -5
  128. package/lib/cjs/ViewState.d.ts.map +1 -1
  129. package/lib/cjs/ViewState.js +18 -63
  130. package/lib/cjs/ViewState.js.map +1 -1
  131. package/lib/cjs/ViewingSpace.js +1 -1
  132. package/lib/cjs/ViewingSpace.js.map +1 -1
  133. package/lib/cjs/Viewport.d.ts +57 -11
  134. package/lib/cjs/Viewport.d.ts.map +1 -1
  135. package/lib/cjs/Viewport.js +55 -31
  136. package/lib/cjs/Viewport.js.map +1 -1
  137. package/lib/cjs/core-frontend.d.ts +10 -24
  138. package/lib/cjs/core-frontend.d.ts.map +1 -1
  139. package/lib/cjs/core-frontend.js +10 -24
  140. package/lib/cjs/core-frontend.js.map +1 -1
  141. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  142. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  143. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  144. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  145. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  146. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  147. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +20 -5
  148. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  149. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +26 -3
  150. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  151. package/lib/cjs/quantity-formatting/QuantityFormatter.js +46 -7
  152. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  153. package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
  154. package/lib/cjs/render/FeatureSymbology.js +3 -3
  155. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  156. package/lib/cjs/render/GraphicBranch.d.ts +18 -2
  157. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  158. package/lib/cjs/render/GraphicBranch.js +9 -1
  159. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  160. package/lib/cjs/render/GraphicBuilder.d.ts +7 -1
  161. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  162. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  163. package/lib/cjs/render/MockRender.d.ts +3 -1
  164. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  165. package/lib/cjs/render/MockRender.js.map +1 -1
  166. package/lib/cjs/render/RenderMemory.d.ts +21 -15
  167. package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
  168. package/lib/cjs/render/RenderMemory.js +21 -15
  169. package/lib/cjs/render/RenderMemory.js.map +1 -1
  170. package/lib/cjs/render/RenderSystem.d.ts +38 -7
  171. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  172. package/lib/cjs/render/RenderSystem.js +24 -9
  173. package/lib/cjs/render/RenderSystem.js.map +1 -1
  174. package/lib/cjs/render/RenderTarget.d.ts +10 -2
  175. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  176. package/lib/cjs/render/RenderTarget.js +2 -1
  177. package/lib/cjs/render/RenderTarget.js.map +1 -1
  178. package/lib/cjs/render/RenderTexture.d.ts +2 -17
  179. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  180. package/lib/cjs/render/RenderTexture.js +0 -17
  181. package/lib/cjs/render/RenderTexture.js.map +1 -1
  182. package/lib/cjs/render/primitives/EdgeParams.d.ts +84 -0
  183. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -0
  184. package/lib/cjs/render/primitives/EdgeParams.js +220 -0
  185. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -0
  186. package/lib/cjs/render/primitives/PointStringParams.d.ts +16 -0
  187. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -0
  188. package/lib/cjs/render/primitives/PointStringParams.js +43 -0
  189. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -0
  190. package/lib/cjs/render/primitives/PolylineParams.d.ts +44 -0
  191. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -0
  192. package/lib/cjs/render/primitives/PolylineParams.js +205 -0
  193. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -0
  194. package/lib/cjs/render/primitives/Primitives.d.ts +1 -1
  195. package/lib/cjs/render/primitives/Primitives.d.ts.map +1 -1
  196. package/lib/cjs/render/primitives/Primitives.js.map +1 -1
  197. package/lib/cjs/render/primitives/SurfaceParams.d.ts +46 -0
  198. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +1 -0
  199. package/lib/cjs/render/primitives/SurfaceParams.js +42 -0
  200. package/lib/cjs/render/primitives/SurfaceParams.js.map +1 -0
  201. package/lib/cjs/render/primitives/VertexTable.d.ts +4 -123
  202. package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
  203. package/lib/cjs/render/primitives/VertexTable.js +16 -352
  204. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  205. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  206. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  207. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +2 -1
  208. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  209. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  210. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -0
  211. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  212. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  213. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  214. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +3 -3
  215. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  216. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  217. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  218. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  219. package/lib/cjs/render/webgl/AttributeMap.js +5 -5
  220. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  221. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  222. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  223. package/lib/cjs/render/webgl/BranchUniforms.js +8 -5
  224. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  225. package/lib/cjs/render/webgl/CachedGeometry.d.ts +16 -11
  226. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  227. package/lib/cjs/render/webgl/CachedGeometry.js +26 -23
  228. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  229. package/lib/cjs/render/webgl/DrawCommand.d.ts +2 -3
  230. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  231. package/lib/cjs/render/webgl/DrawCommand.js +6 -4
  232. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  233. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +73 -0
  234. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -0
  235. package/lib/cjs/render/webgl/EdgeGeometry.js +141 -0
  236. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -0
  237. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +2 -0
  238. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  239. package/lib/cjs/render/webgl/FeatureOverrides.js +11 -3
  240. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  241. package/lib/cjs/render/webgl/FloatRGBA.d.ts.map +1 -1
  242. package/lib/cjs/render/webgl/FloatRGBA.js +13 -11
  243. package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
  244. package/lib/cjs/render/webgl/Graphic.d.ts +13 -0
  245. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  246. package/lib/cjs/render/webgl/Graphic.js +41 -3
  247. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  248. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  249. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  250. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js +90 -0
  251. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  252. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +6 -5
  253. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  254. package/lib/cjs/render/webgl/InstancedGeometry.js +2 -1
  255. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  256. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  257. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  258. package/lib/cjs/render/webgl/Material.js.map +1 -1
  259. package/lib/cjs/render/webgl/Mesh.d.ts +8 -162
  260. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  261. package/lib/cjs/render/webgl/Mesh.js +18 -458
  262. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  263. package/lib/cjs/render/webgl/MeshData.d.ts +38 -0
  264. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -0
  265. package/lib/cjs/render/webgl/MeshData.js +66 -0
  266. package/lib/cjs/render/webgl/MeshData.js.map +1 -0
  267. package/lib/cjs/render/webgl/MeshGeometry.d.ts +38 -0
  268. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -0
  269. package/lib/cjs/render/webgl/MeshGeometry.js +59 -0
  270. package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -0
  271. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  272. package/lib/cjs/render/webgl/PlanarClassifier.js +8 -4
  273. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  274. package/lib/cjs/render/webgl/PlanarGrid.d.ts +2 -3
  275. package/lib/cjs/render/webgl/PlanarGrid.d.ts.map +1 -1
  276. package/lib/cjs/render/webgl/PlanarGrid.js +3 -3
  277. package/lib/cjs/render/webgl/PlanarGrid.js.map +1 -1
  278. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  279. package/lib/cjs/render/webgl/PlanarTextureProjection.js +1 -0
  280. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  281. package/lib/cjs/render/webgl/PointCloud.d.ts +2 -2
  282. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  283. package/lib/cjs/render/webgl/PointCloud.js +2 -2
  284. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  285. package/lib/cjs/render/webgl/PointString.d.ts +3 -3
  286. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  287. package/lib/cjs/render/webgl/PointString.js +1 -1
  288. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  289. package/lib/cjs/render/webgl/Polyline.d.ts +3 -3
  290. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  291. package/lib/cjs/render/webgl/Polyline.js +6 -6
  292. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  293. package/lib/cjs/render/webgl/Primitive.d.ts +2 -2
  294. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  295. package/lib/cjs/render/webgl/Primitive.js +5 -5
  296. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  297. package/lib/cjs/render/webgl/RealityMesh.d.ts +2 -2
  298. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  299. package/lib/cjs/render/webgl/RealityMesh.js +9 -9
  300. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  301. package/lib/cjs/render/webgl/RenderCommands.d.ts +6 -2
  302. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  303. package/lib/cjs/render/webgl/RenderCommands.js +81 -48
  304. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  305. package/lib/cjs/render/webgl/RenderFlags.d.ts +48 -1
  306. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  307. package/lib/cjs/render/webgl/RenderFlags.js +64 -2
  308. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  309. package/lib/cjs/render/webgl/SceneCompositor.js +10 -9
  310. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  311. package/lib/cjs/render/webgl/ScreenSpaceEffect.js +1 -1
  312. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +23 -20
  313. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  314. package/lib/cjs/render/webgl/ShaderBuilder.js +38 -32
  315. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  316. package/lib/cjs/render/webgl/ShaderProgram.d.ts +1 -1
  317. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  318. package/lib/cjs/render/webgl/ShaderProgram.js +4 -4
  319. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  320. package/lib/cjs/render/webgl/SolarShadowMap.d.ts.map +1 -1
  321. package/lib/cjs/render/webgl/SolarShadowMap.js +4 -3
  322. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  323. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +54 -0
  324. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  325. package/lib/cjs/render/webgl/SurfaceGeometry.js +248 -0
  326. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -0
  327. package/lib/cjs/render/webgl/System.d.ts +11 -10
  328. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  329. package/lib/cjs/render/webgl/System.js +32 -21
  330. package/lib/cjs/render/webgl/System.js.map +1 -1
  331. package/lib/cjs/render/webgl/Target.d.ts +13 -1
  332. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  333. package/lib/cjs/render/webgl/Target.js +88 -2
  334. package/lib/cjs/render/webgl/Target.js.map +1 -1
  335. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  336. package/lib/cjs/render/webgl/Technique.js +112 -119
  337. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  338. package/lib/cjs/render/webgl/TechniqueFlags.d.ts +7 -1
  339. package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
  340. package/lib/cjs/render/webgl/TechniqueFlags.js +10 -1
  341. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  342. package/lib/cjs/render/webgl/TechniqueId.d.ts +29 -28
  343. package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
  344. package/lib/cjs/render/webgl/TechniqueId.js +7 -7
  345. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  346. package/lib/cjs/render/webgl/Texture.d.ts +15 -12
  347. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  348. package/lib/cjs/render/webgl/Texture.js +26 -23
  349. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  350. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  351. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +83 -18
  352. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  353. package/lib/cjs/render/webgl/glsl/Animation.js +1 -1
  354. package/lib/cjs/render/webgl/glsl/Blur.js +1 -1
  355. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +2 -2
  356. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +2 -2
  357. package/lib/cjs/render/webgl/glsl/Color.js +1 -1
  358. package/lib/cjs/render/webgl/glsl/Combine3Textures.js +1 -1
  359. package/lib/cjs/render/webgl/glsl/CombineTextures.js +1 -1
  360. package/lib/cjs/render/webgl/glsl/Composite.js +1 -1
  361. package/lib/cjs/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  362. package/lib/cjs/render/webgl/glsl/CopyColor.js +17 -2
  363. package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
  364. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +2 -2
  365. package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  366. package/lib/cjs/render/webgl/glsl/CopyStencil.js +10 -13
  367. package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
  368. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +2 -2
  369. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  370. package/lib/cjs/render/webgl/glsl/Edge.d.ts +2 -1
  371. package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
  372. package/lib/cjs/render/webgl/glsl/Edge.js +132 -14
  373. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  374. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  375. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +43 -21
  376. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  377. package/lib/cjs/render/webgl/glsl/Fragment.d.ts.map +1 -1
  378. package/lib/cjs/render/webgl/glsl/Fragment.js +19 -11
  379. package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
  380. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  381. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts +4 -2
  382. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  383. package/lib/cjs/render/webgl/glsl/LookupTable.js +7 -3
  384. package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
  385. package/lib/cjs/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  386. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +13 -4
  387. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  388. package/lib/cjs/render/webgl/glsl/PlanarGrid.js +2 -2
  389. package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
  390. package/lib/cjs/render/webgl/glsl/PointCloud.js +2 -2
  391. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  392. package/lib/cjs/render/webgl/glsl/PointString.js +1 -1
  393. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  394. package/lib/cjs/render/webgl/glsl/Polyline.js +1 -1
  395. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  396. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  397. package/lib/cjs/render/webgl/glsl/RealityMesh.js +9 -6
  398. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  399. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  400. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  401. package/lib/cjs/render/webgl/glsl/SkyBox.js +2 -2
  402. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  403. package/lib/cjs/render/webgl/glsl/SkySphere.js +2 -2
  404. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  405. package/lib/cjs/render/webgl/glsl/Surface.js +41 -16
  406. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  407. package/lib/cjs/render/webgl/glsl/Translucency.js +2 -2
  408. package/lib/cjs/render/webgl/glsl/Vertex.js +2 -2
  409. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  410. package/lib/cjs/render/webgl/glsl/ViewportQuad.js +1 -1
  411. package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
  412. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts +9 -0
  413. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  414. package/lib/cjs/render/webgl/glsl/Wiremesh.js +40 -0
  415. package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -0
  416. package/lib/cjs/render-primitives.d.ts +5 -1
  417. package/lib/cjs/render-primitives.d.ts.map +1 -1
  418. package/lib/cjs/render-primitives.js +5 -1
  419. package/lib/cjs/render-primitives.js.map +1 -1
  420. package/lib/cjs/request/Request.d.ts +167 -0
  421. package/lib/cjs/request/Request.d.ts.map +1 -0
  422. package/lib/cjs/request/Request.js +315 -0
  423. package/lib/cjs/request/Request.js.map +1 -0
  424. package/lib/cjs/tile/B3dmReader.d.ts +2 -1
  425. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  426. package/lib/cjs/tile/B3dmReader.js +11 -7
  427. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  428. package/lib/cjs/tile/CesiumAssetProvider.d.ts +14 -0
  429. package/lib/cjs/tile/CesiumAssetProvider.d.ts.map +1 -0
  430. package/lib/cjs/tile/CesiumAssetProvider.js +35 -0
  431. package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -0
  432. package/lib/cjs/tile/ContextShareProvider.d.ts +22 -0
  433. package/lib/cjs/tile/ContextShareProvider.d.ts.map +1 -0
  434. package/lib/cjs/tile/ContextShareProvider.js +129 -0
  435. package/lib/cjs/tile/ContextShareProvider.js.map +1 -0
  436. package/lib/cjs/tile/DynamicIModelTile.js +9 -3
  437. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  438. package/lib/cjs/tile/GltfReader.d.ts +594 -55
  439. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  440. package/lib/cjs/tile/GltfReader.js +703 -264
  441. package/lib/cjs/tile/GltfReader.js.map +1 -1
  442. package/lib/cjs/tile/I3dmReader.d.ts +2 -1
  443. package/lib/cjs/tile/I3dmReader.d.ts.map +1 -1
  444. package/lib/cjs/tile/I3dmReader.js +10 -6
  445. package/lib/cjs/tile/I3dmReader.js.map +1 -1
  446. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  447. package/lib/cjs/tile/IModelTile.js +14 -7
  448. package/lib/cjs/tile/IModelTile.js.map +1 -1
  449. package/lib/cjs/tile/IModelTileTree.d.ts +8 -0
  450. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  451. package/lib/cjs/tile/IModelTileTree.js +36 -1
  452. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  453. package/lib/cjs/tile/ImdlReader.d.ts +365 -10
  454. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  455. package/lib/cjs/tile/ImdlReader.js +201 -69
  456. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  457. package/lib/cjs/tile/OrbitGtTileTree.d.ts +0 -9
  458. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  459. package/lib/cjs/tile/OrbitGtTileTree.js +10 -20
  460. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  461. package/lib/cjs/tile/PrimaryTileTree.d.ts +14 -5
  462. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  463. package/lib/cjs/tile/PrimaryTileTree.js +69 -14
  464. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  465. package/lib/cjs/tile/RealityModelTileTree.d.ts +2 -41
  466. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  467. package/lib/cjs/tile/RealityModelTileTree.js +57 -217
  468. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  469. package/lib/cjs/tile/RealityTileLoader.d.ts +1 -0
  470. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  471. package/lib/cjs/tile/RealityTileLoader.js +4 -3
  472. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  473. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  474. package/lib/cjs/tile/Tile.js +5 -1
  475. package/lib/cjs/tile/Tile.js.map +1 -1
  476. package/lib/cjs/tile/TileAdmin.d.ts +37 -4
  477. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  478. package/lib/cjs/tile/TileAdmin.js +18 -12
  479. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  480. package/lib/cjs/tile/TileDrawArgs.d.ts +11 -0
  481. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  482. package/lib/cjs/tile/TileDrawArgs.js +6 -1
  483. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  484. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  485. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  486. package/lib/cjs/tile/TileTreeReference.js +5 -0
  487. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  488. package/lib/cjs/tile/internal.d.ts +4 -1
  489. package/lib/cjs/tile/internal.d.ts.map +1 -1
  490. package/lib/cjs/tile/internal.js +4 -1
  491. package/lib/cjs/tile/internal.js.map +1 -1
  492. package/lib/cjs/tile/map/ArcGISTileMap.d.ts +22 -0
  493. package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -0
  494. package/lib/cjs/tile/map/ArcGISTileMap.js +177 -0
  495. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -0
  496. package/lib/cjs/tile/map/ArcGisTokenGenerator.js +3 -3
  497. package/lib/cjs/tile/map/ArcGisTokenGenerator.js.map +1 -1
  498. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +1 -1
  499. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  500. package/lib/cjs/tile/map/ArcGisUtilities.js +18 -10
  501. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  502. package/lib/cjs/tile/map/BingElevation.js +4 -4
  503. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  504. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  505. package/lib/cjs/tile/map/CesiumTerrainProvider.js +27 -15
  506. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  507. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  508. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  509. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +23 -44
  510. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  511. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +3 -3
  512. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  513. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  514. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  515. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  516. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  517. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  518. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  519. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  520. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  521. package/lib/cjs/tile/map/ImageryTileTree.d.ts +4 -4
  522. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  523. package/lib/cjs/tile/map/ImageryTileTree.js +20 -24
  524. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  525. package/lib/cjs/tile/map/MapCartoRectangle.js +1 -1
  526. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  527. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts +20 -0
  528. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  529. package/lib/cjs/tile/map/MapLayerAuthentication.js +18 -0
  530. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -0
  531. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  532. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  533. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +3 -1
  534. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  535. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +2 -2
  536. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  537. package/lib/cjs/tile/map/MapLayerImageryFormats.js +21 -8
  538. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  539. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +18 -6
  540. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  541. package/lib/cjs/tile/map/MapLayerImageryProvider.js +47 -14
  542. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  543. package/lib/cjs/tile/map/MapLayerSources.d.ts +3 -11
  544. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  545. package/lib/cjs/tile/map/MapLayerSources.js +5 -34
  546. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  547. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  548. package/lib/cjs/tile/map/MapTile.js +4 -3
  549. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  550. package/lib/cjs/tile/map/MapTileLoader.js +2 -2
  551. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  552. package/lib/cjs/tile/map/MapTileTree.d.ts +1 -1
  553. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  554. package/lib/cjs/tile/map/MapTileTree.js +30 -21
  555. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  556. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  557. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  558. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +4 -6
  559. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  560. package/lib/cjs/tile/map/MapTilingScheme.d.ts +7 -2
  561. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  562. package/lib/cjs/tile/map/MapTilingScheme.js +21 -8
  563. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  564. package/lib/cjs/tile/map/QuadId.d.ts +1 -0
  565. package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
  566. package/lib/cjs/tile/map/QuadId.js +2 -1
  567. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  568. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +1 -1
  569. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  570. package/lib/cjs/tile/map/WmsCapabilities.d.ts +8 -1
  571. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  572. package/lib/cjs/tile/map/WmsCapabilities.js +39 -5
  573. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  574. package/lib/cjs/tile/map/WmtsCapabilities.d.ts +11 -1
  575. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
  576. package/lib/cjs/tile/map/WmtsCapabilities.js +23 -9
  577. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  578. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  579. package/lib/cjs/tools/EditManipulator.js +1 -1
  580. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  581. package/lib/cjs/tools/ElementSetTool.js +2 -2
  582. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  583. package/lib/cjs/tools/PrimitiveTool.d.ts +4 -4
  584. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  585. package/lib/cjs/tools/PrimitiveTool.js +2 -2
  586. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  587. package/lib/cjs/tools/Tool.d.ts +29 -1
  588. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  589. package/lib/cjs/tools/Tool.js +66 -0
  590. package/lib/cjs/tools/Tool.js.map +1 -1
  591. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  592. package/lib/cjs/tools/ToolAdmin.js +20 -10
  593. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  594. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  595. package/lib/cjs/tools/ViewTool.js +3 -11
  596. package/lib/cjs/tools/ViewTool.js.map +1 -1
  597. package/lib/cjs/webgl.d.ts +5 -0
  598. package/lib/cjs/webgl.d.ts.map +1 -1
  599. package/lib/cjs/webgl.js +5 -0
  600. package/lib/cjs/webgl.js.map +1 -1
  601. package/lib/esm/AccuSnap.js +3 -3
  602. package/lib/esm/AccuSnap.js.map +1 -1
  603. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  604. package/lib/esm/ApproximateTerrainHeights.js +10 -5
  605. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  606. package/lib/esm/BackgroundMapGeometry.d.ts +1 -1
  607. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  608. package/lib/esm/BackgroundMapGeometry.js +2 -2
  609. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  610. package/lib/esm/BingLocation.js +1 -1
  611. package/lib/esm/BingLocation.js.map +1 -1
  612. package/lib/esm/CheckpointConnection.js +1 -1
  613. package/lib/esm/CheckpointConnection.js.map +1 -1
  614. package/lib/esm/ContextRealityModelState.js +1 -1
  615. package/lib/esm/ContextRealityModelState.js.map +1 -1
  616. package/lib/esm/DisplayStyleState.d.ts +10 -163
  617. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  618. package/lib/esm/DisplayStyleState.js +70 -346
  619. package/lib/esm/DisplayStyleState.js.map +1 -1
  620. package/lib/esm/DrawingViewState.d.ts +2 -2
  621. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  622. package/lib/esm/DrawingViewState.js +3 -3
  623. package/lib/esm/DrawingViewState.js.map +1 -1
  624. package/lib/esm/ElementLocateManager.d.ts +5 -0
  625. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  626. package/lib/esm/ElementLocateManager.js +12 -2
  627. package/lib/esm/ElementLocateManager.js.map +1 -1
  628. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  629. package/lib/esm/EmphasizeElements.js +14 -4
  630. package/lib/esm/EmphasizeElements.js.map +1 -1
  631. package/lib/esm/EnvironmentDecorations.d.ts +39 -0
  632. package/lib/esm/EnvironmentDecorations.d.ts.map +1 -0
  633. package/lib/esm/EnvironmentDecorations.js +199 -0
  634. package/lib/esm/EnvironmentDecorations.js.map +1 -0
  635. package/lib/esm/FrontendHubAccess.d.ts +11 -7
  636. package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
  637. package/lib/esm/FrontendHubAccess.js.map +1 -1
  638. package/lib/esm/FrontendLoggerCategory.d.ts +2 -8
  639. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  640. package/lib/esm/FrontendLoggerCategory.js +2 -8
  641. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  642. package/lib/esm/HitDetail.js +7 -7
  643. package/lib/esm/HitDetail.js.map +1 -1
  644. package/lib/esm/IModelApp.d.ts +30 -17
  645. package/lib/esm/IModelApp.d.ts.map +1 -1
  646. package/lib/esm/IModelApp.js +32 -25
  647. package/lib/esm/IModelApp.js.map +1 -1
  648. package/lib/esm/IModelConnection.d.ts +4 -6
  649. package/lib/esm/IModelConnection.d.ts.map +1 -1
  650. package/lib/esm/IModelConnection.js +6 -11
  651. package/lib/esm/IModelConnection.js.map +1 -1
  652. package/lib/esm/IModeljs-css.d.ts.map +1 -1
  653. package/lib/esm/IModeljs-css.js +8 -6
  654. package/lib/esm/IModeljs-css.js.map +1 -1
  655. package/lib/esm/ImageUtil.d.ts +3 -3
  656. package/lib/esm/ImageUtil.d.ts.map +1 -1
  657. package/lib/esm/ImageUtil.js +7 -4
  658. package/lib/esm/ImageUtil.js.map +1 -1
  659. package/lib/esm/LocalhostIpcApp.d.ts +2 -1
  660. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  661. package/lib/esm/LocalhostIpcApp.js +22 -8
  662. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  663. package/lib/esm/Marker.d.ts +9 -2
  664. package/lib/esm/Marker.d.ts.map +1 -1
  665. package/lib/esm/Marker.js +34 -6
  666. package/lib/esm/Marker.js.map +1 -1
  667. package/lib/esm/ModelState.js +1 -1
  668. package/lib/esm/ModelState.js.map +1 -1
  669. package/lib/esm/NativeApp.d.ts +3 -38
  670. package/lib/esm/NativeApp.d.ts.map +1 -1
  671. package/lib/esm/NativeApp.js +1 -69
  672. package/lib/esm/NativeApp.js.map +1 -1
  673. package/lib/esm/NoRenderApp.d.ts +0 -1
  674. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  675. package/lib/esm/NoRenderApp.js +0 -1
  676. package/lib/esm/NoRenderApp.js.map +1 -1
  677. package/lib/esm/NotificationManager.d.ts +3 -1
  678. package/lib/esm/NotificationManager.d.ts.map +1 -1
  679. package/lib/esm/NotificationManager.js +2 -0
  680. package/lib/esm/NotificationManager.js.map +1 -1
  681. package/lib/esm/RealityDataSource.d.ts +59 -29
  682. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  683. package/lib/esm/RealityDataSource.js +247 -92
  684. package/lib/esm/RealityDataSource.js.map +1 -1
  685. package/lib/esm/RenderScheduleState.d.ts +2 -0
  686. package/lib/esm/RenderScheduleState.d.ts.map +1 -1
  687. package/lib/esm/RenderScheduleState.js +8 -4
  688. package/lib/esm/RenderScheduleState.js.map +1 -1
  689. package/lib/esm/SheetViewState.d.ts +2 -2
  690. package/lib/esm/SheetViewState.d.ts.map +1 -1
  691. package/lib/esm/SheetViewState.js +7 -6
  692. package/lib/esm/SheetViewState.js.map +1 -1
  693. package/lib/esm/SpatialViewState.d.ts +10 -2
  694. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  695. package/lib/esm/SpatialViewState.js +12 -2
  696. package/lib/esm/SpatialViewState.js.map +1 -1
  697. package/lib/esm/SubCategoriesCache.js +1 -1
  698. package/lib/esm/SubCategoriesCache.js.map +1 -1
  699. package/lib/esm/Tiles.d.ts +11 -1
  700. package/lib/esm/Tiles.d.ts.map +1 -1
  701. package/lib/esm/Tiles.js +7 -0
  702. package/lib/esm/Tiles.js.map +1 -1
  703. package/lib/esm/TwoWayViewportSync.d.ts +35 -6
  704. package/lib/esm/TwoWayViewportSync.d.ts.map +1 -1
  705. package/lib/esm/TwoWayViewportSync.js +49 -10
  706. package/lib/esm/TwoWayViewportSync.js.map +1 -1
  707. package/lib/esm/UserPreferences.d.ts +72 -0
  708. package/lib/esm/UserPreferences.d.ts.map +1 -0
  709. package/lib/esm/UserPreferences.js +6 -0
  710. package/lib/esm/UserPreferences.js.map +1 -0
  711. package/lib/esm/ViewContext.d.ts +3 -1
  712. package/lib/esm/ViewContext.d.ts.map +1 -1
  713. package/lib/esm/ViewContext.js +4 -0
  714. package/lib/esm/ViewContext.js.map +1 -1
  715. package/lib/esm/ViewCreator2d.js +3 -3
  716. package/lib/esm/ViewCreator2d.js.map +1 -1
  717. package/lib/esm/ViewCreator3d.d.ts +1 -1
  718. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  719. package/lib/esm/ViewCreator3d.js +5 -6
  720. package/lib/esm/ViewCreator3d.js.map +1 -1
  721. package/lib/esm/ViewManager.d.ts +6 -6
  722. package/lib/esm/ViewManager.d.ts.map +1 -1
  723. package/lib/esm/ViewManager.js +13 -13
  724. package/lib/esm/ViewManager.js.map +1 -1
  725. package/lib/esm/ViewState.d.ts +11 -5
  726. package/lib/esm/ViewState.d.ts.map +1 -1
  727. package/lib/esm/ViewState.js +21 -66
  728. package/lib/esm/ViewState.js.map +1 -1
  729. package/lib/esm/ViewingSpace.js +1 -1
  730. package/lib/esm/ViewingSpace.js.map +1 -1
  731. package/lib/esm/Viewport.d.ts +57 -11
  732. package/lib/esm/Viewport.d.ts.map +1 -1
  733. package/lib/esm/Viewport.js +56 -32
  734. package/lib/esm/Viewport.js.map +1 -1
  735. package/lib/esm/core-frontend.d.ts +10 -24
  736. package/lib/esm/core-frontend.d.ts.map +1 -1
  737. package/lib/esm/core-frontend.js +10 -24
  738. package/lib/esm/core-frontend.js.map +1 -1
  739. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  740. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  741. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  742. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  743. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  744. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  745. package/lib/esm/quantity-formatting/BasicUnitsProvider.js +18 -4
  746. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  747. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +26 -3
  748. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  749. package/lib/esm/quantity-formatting/QuantityFormatter.js +45 -7
  750. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  751. package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
  752. package/lib/esm/render/FeatureSymbology.js +3 -3
  753. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  754. package/lib/esm/render/GraphicBranch.d.ts +18 -2
  755. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  756. package/lib/esm/render/GraphicBranch.js +8 -0
  757. package/lib/esm/render/GraphicBranch.js.map +1 -1
  758. package/lib/esm/render/GraphicBuilder.d.ts +7 -1
  759. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  760. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  761. package/lib/esm/render/MockRender.d.ts +3 -1
  762. package/lib/esm/render/MockRender.d.ts.map +1 -1
  763. package/lib/esm/render/MockRender.js.map +1 -1
  764. package/lib/esm/render/RenderMemory.d.ts +21 -15
  765. package/lib/esm/render/RenderMemory.d.ts.map +1 -1
  766. package/lib/esm/render/RenderMemory.js +21 -15
  767. package/lib/esm/render/RenderMemory.js.map +1 -1
  768. package/lib/esm/render/RenderSystem.d.ts +38 -7
  769. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  770. package/lib/esm/render/RenderSystem.js +24 -9
  771. package/lib/esm/render/RenderSystem.js.map +1 -1
  772. package/lib/esm/render/RenderTarget.d.ts +10 -2
  773. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  774. package/lib/esm/render/RenderTarget.js +2 -1
  775. package/lib/esm/render/RenderTarget.js.map +1 -1
  776. package/lib/esm/render/RenderTexture.d.ts +2 -17
  777. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  778. package/lib/esm/render/RenderTexture.js +1 -16
  779. package/lib/esm/render/RenderTexture.js.map +1 -1
  780. package/lib/esm/render/primitives/EdgeParams.d.ts +84 -0
  781. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -0
  782. package/lib/esm/render/primitives/EdgeParams.js +217 -0
  783. package/lib/esm/render/primitives/EdgeParams.js.map +1 -0
  784. package/lib/esm/render/primitives/PointStringParams.d.ts +16 -0
  785. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -0
  786. package/lib/esm/render/primitives/PointStringParams.js +39 -0
  787. package/lib/esm/render/primitives/PointStringParams.js.map +1 -0
  788. package/lib/esm/render/primitives/PolylineParams.d.ts +44 -0
  789. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -0
  790. package/lib/esm/render/primitives/PolylineParams.js +199 -0
  791. package/lib/esm/render/primitives/PolylineParams.js.map +1 -0
  792. package/lib/esm/render/primitives/Primitives.d.ts +1 -1
  793. package/lib/esm/render/primitives/Primitives.d.ts.map +1 -1
  794. package/lib/esm/render/primitives/Primitives.js.map +1 -1
  795. package/lib/esm/render/primitives/SurfaceParams.d.ts +46 -0
  796. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +1 -0
  797. package/lib/esm/render/primitives/SurfaceParams.js +37 -0
  798. package/lib/esm/render/primitives/SurfaceParams.js.map +1 -0
  799. package/lib/esm/render/primitives/VertexTable.d.ts +4 -123
  800. package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
  801. package/lib/esm/render/primitives/VertexTable.js +11 -342
  802. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  803. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  804. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  805. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +2 -1
  806. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  807. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  808. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -0
  809. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  810. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  811. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  812. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +3 -3
  813. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  814. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  815. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  816. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  817. package/lib/esm/render/webgl/AttributeMap.js +5 -5
  818. package/lib/esm/render/webgl/BackgroundMapDrape.js +2 -2
  819. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  820. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  821. package/lib/esm/render/webgl/BranchUniforms.js +8 -5
  822. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  823. package/lib/esm/render/webgl/CachedGeometry.d.ts +16 -11
  824. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  825. package/lib/esm/render/webgl/CachedGeometry.js +26 -23
  826. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  827. package/lib/esm/render/webgl/DrawCommand.d.ts +2 -3
  828. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  829. package/lib/esm/render/webgl/DrawCommand.js +6 -4
  830. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  831. package/lib/esm/render/webgl/EdgeGeometry.d.ts +73 -0
  832. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -0
  833. package/lib/esm/render/webgl/EdgeGeometry.js +135 -0
  834. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -0
  835. package/lib/esm/render/webgl/FeatureOverrides.d.ts +2 -0
  836. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  837. package/lib/esm/render/webgl/FeatureOverrides.js +11 -3
  838. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  839. package/lib/esm/render/webgl/FloatRGBA.d.ts.map +1 -1
  840. package/lib/esm/render/webgl/FloatRGBA.js +13 -11
  841. package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
  842. package/lib/esm/render/webgl/Graphic.d.ts +13 -0
  843. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  844. package/lib/esm/render/webgl/Graphic.js +39 -2
  845. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  846. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  847. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  848. package/lib/esm/render/webgl/IndexedEdgeGeometry.js +85 -0
  849. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  850. package/lib/esm/render/webgl/InstancedGeometry.d.ts +6 -5
  851. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  852. package/lib/esm/render/webgl/InstancedGeometry.js +2 -1
  853. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  854. package/lib/esm/render/webgl/Material.d.ts +1 -1
  855. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  856. package/lib/esm/render/webgl/Material.js.map +1 -1
  857. package/lib/esm/render/webgl/Mesh.d.ts +8 -162
  858. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  859. package/lib/esm/render/webgl/Mesh.js +12 -445
  860. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  861. package/lib/esm/render/webgl/MeshData.d.ts +38 -0
  862. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -0
  863. package/lib/esm/render/webgl/MeshData.js +62 -0
  864. package/lib/esm/render/webgl/MeshData.js.map +1 -0
  865. package/lib/esm/render/webgl/MeshGeometry.d.ts +38 -0
  866. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -0
  867. package/lib/esm/render/webgl/MeshGeometry.js +55 -0
  868. package/lib/esm/render/webgl/MeshGeometry.js.map +1 -0
  869. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  870. package/lib/esm/render/webgl/PlanarClassifier.js +9 -5
  871. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  872. package/lib/esm/render/webgl/PlanarGrid.d.ts +2 -3
  873. package/lib/esm/render/webgl/PlanarGrid.d.ts.map +1 -1
  874. package/lib/esm/render/webgl/PlanarGrid.js +3 -3
  875. package/lib/esm/render/webgl/PlanarGrid.js.map +1 -1
  876. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  877. package/lib/esm/render/webgl/PlanarTextureProjection.js +1 -0
  878. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  879. package/lib/esm/render/webgl/PointCloud.d.ts +2 -2
  880. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  881. package/lib/esm/render/webgl/PointCloud.js +2 -2
  882. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  883. package/lib/esm/render/webgl/PointString.d.ts +3 -3
  884. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  885. package/lib/esm/render/webgl/PointString.js +1 -1
  886. package/lib/esm/render/webgl/PointString.js.map +1 -1
  887. package/lib/esm/render/webgl/Polyline.d.ts +3 -3
  888. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  889. package/lib/esm/render/webgl/Polyline.js +6 -6
  890. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  891. package/lib/esm/render/webgl/Primitive.d.ts +2 -2
  892. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  893. package/lib/esm/render/webgl/Primitive.js +5 -5
  894. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  895. package/lib/esm/render/webgl/RealityMesh.d.ts +2 -2
  896. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  897. package/lib/esm/render/webgl/RealityMesh.js +9 -9
  898. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  899. package/lib/esm/render/webgl/RenderCommands.d.ts +6 -2
  900. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  901. package/lib/esm/render/webgl/RenderCommands.js +78 -45
  902. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  903. package/lib/esm/render/webgl/RenderFlags.d.ts +48 -1
  904. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  905. package/lib/esm/render/webgl/RenderFlags.js +63 -1
  906. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  907. package/lib/esm/render/webgl/SceneCompositor.js +10 -9
  908. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  909. package/lib/esm/render/webgl/ScreenSpaceEffect.js +1 -1
  910. package/lib/esm/render/webgl/ShaderBuilder.d.ts +23 -20
  911. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  912. package/lib/esm/render/webgl/ShaderBuilder.js +38 -32
  913. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  914. package/lib/esm/render/webgl/ShaderProgram.d.ts +1 -1
  915. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  916. package/lib/esm/render/webgl/ShaderProgram.js +4 -4
  917. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  918. package/lib/esm/render/webgl/SolarShadowMap.d.ts.map +1 -1
  919. package/lib/esm/render/webgl/SolarShadowMap.js +5 -4
  920. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  921. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +54 -0
  922. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  923. package/lib/esm/render/webgl/SurfaceGeometry.js +243 -0
  924. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -0
  925. package/lib/esm/render/webgl/System.d.ts +11 -10
  926. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  927. package/lib/esm/render/webgl/System.js +34 -23
  928. package/lib/esm/render/webgl/System.js.map +1 -1
  929. package/lib/esm/render/webgl/Target.d.ts +13 -1
  930. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  931. package/lib/esm/render/webgl/Target.js +88 -2
  932. package/lib/esm/render/webgl/Target.js.map +1 -1
  933. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  934. package/lib/esm/render/webgl/Technique.js +112 -119
  935. package/lib/esm/render/webgl/Technique.js.map +1 -1
  936. package/lib/esm/render/webgl/TechniqueFlags.d.ts +7 -1
  937. package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
  938. package/lib/esm/render/webgl/TechniqueFlags.js +10 -1
  939. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  940. package/lib/esm/render/webgl/TechniqueId.d.ts +29 -28
  941. package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
  942. package/lib/esm/render/webgl/TechniqueId.js +7 -7
  943. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  944. package/lib/esm/render/webgl/Texture.d.ts +15 -12
  945. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  946. package/lib/esm/render/webgl/Texture.js +27 -24
  947. package/lib/esm/render/webgl/Texture.js.map +1 -1
  948. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  949. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +84 -19
  950. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  951. package/lib/esm/render/webgl/glsl/Animation.js +1 -1
  952. package/lib/esm/render/webgl/glsl/Blur.js +1 -1
  953. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +2 -2
  954. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +2 -2
  955. package/lib/esm/render/webgl/glsl/Color.js +1 -1
  956. package/lib/esm/render/webgl/glsl/Combine3Textures.js +1 -1
  957. package/lib/esm/render/webgl/glsl/CombineTextures.js +1 -1
  958. package/lib/esm/render/webgl/glsl/Composite.js +1 -1
  959. package/lib/esm/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  960. package/lib/esm/render/webgl/glsl/CopyColor.js +17 -2
  961. package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
  962. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +2 -2
  963. package/lib/esm/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  964. package/lib/esm/render/webgl/glsl/CopyStencil.js +10 -13
  965. package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
  966. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +2 -2
  967. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  968. package/lib/esm/render/webgl/glsl/Edge.d.ts +2 -1
  969. package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
  970. package/lib/esm/render/webgl/glsl/Edge.js +132 -14
  971. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  972. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  973. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +44 -22
  974. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  975. package/lib/esm/render/webgl/glsl/Fragment.d.ts.map +1 -1
  976. package/lib/esm/render/webgl/glsl/Fragment.js +19 -11
  977. package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
  978. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  979. package/lib/esm/render/webgl/glsl/LookupTable.d.ts +4 -2
  980. package/lib/esm/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  981. package/lib/esm/render/webgl/glsl/LookupTable.js +7 -3
  982. package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
  983. package/lib/esm/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  984. package/lib/esm/render/webgl/glsl/PlanarClassification.js +13 -4
  985. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  986. package/lib/esm/render/webgl/glsl/PlanarGrid.js +2 -2
  987. package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
  988. package/lib/esm/render/webgl/glsl/PointCloud.js +2 -2
  989. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  990. package/lib/esm/render/webgl/glsl/PointString.js +1 -1
  991. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  992. package/lib/esm/render/webgl/glsl/Polyline.js +1 -1
  993. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  994. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  995. package/lib/esm/render/webgl/glsl/RealityMesh.js +9 -6
  996. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  997. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  998. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  999. package/lib/esm/render/webgl/glsl/SkyBox.js +2 -2
  1000. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  1001. package/lib/esm/render/webgl/glsl/SkySphere.js +2 -2
  1002. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  1003. package/lib/esm/render/webgl/glsl/Surface.js +41 -16
  1004. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  1005. package/lib/esm/render/webgl/glsl/Translucency.js +2 -2
  1006. package/lib/esm/render/webgl/glsl/Vertex.js +3 -3
  1007. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  1008. package/lib/esm/render/webgl/glsl/ViewportQuad.js +1 -1
  1009. package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
  1010. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts +9 -0
  1011. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  1012. package/lib/esm/render/webgl/glsl/Wiremesh.js +36 -0
  1013. package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -0
  1014. package/lib/esm/render-primitives.d.ts +5 -1
  1015. package/lib/esm/render-primitives.d.ts.map +1 -1
  1016. package/lib/esm/render-primitives.js +5 -1
  1017. package/lib/esm/render-primitives.js.map +1 -1
  1018. package/lib/esm/request/Request.d.ts +167 -0
  1019. package/lib/esm/request/Request.d.ts.map +1 -0
  1020. package/lib/esm/request/Request.js +289 -0
  1021. package/lib/esm/request/Request.js.map +1 -0
  1022. package/lib/esm/tile/B3dmReader.d.ts +2 -1
  1023. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  1024. package/lib/esm/tile/B3dmReader.js +12 -8
  1025. package/lib/esm/tile/B3dmReader.js.map +1 -1
  1026. package/lib/esm/tile/CesiumAssetProvider.d.ts +14 -0
  1027. package/lib/esm/tile/CesiumAssetProvider.d.ts.map +1 -0
  1028. package/lib/esm/tile/CesiumAssetProvider.js +31 -0
  1029. package/lib/esm/tile/CesiumAssetProvider.js.map +1 -0
  1030. package/lib/esm/tile/ContextShareProvider.d.ts +22 -0
  1031. package/lib/esm/tile/ContextShareProvider.d.ts.map +1 -0
  1032. package/lib/esm/tile/ContextShareProvider.js +125 -0
  1033. package/lib/esm/tile/ContextShareProvider.js.map +1 -0
  1034. package/lib/esm/tile/DynamicIModelTile.js +9 -3
  1035. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  1036. package/lib/esm/tile/GltfReader.d.ts +594 -55
  1037. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  1038. package/lib/esm/tile/GltfReader.js +678 -242
  1039. package/lib/esm/tile/GltfReader.js.map +1 -1
  1040. package/lib/esm/tile/I3dmReader.d.ts +2 -1
  1041. package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
  1042. package/lib/esm/tile/I3dmReader.js +11 -7
  1043. package/lib/esm/tile/I3dmReader.js.map +1 -1
  1044. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  1045. package/lib/esm/tile/IModelTile.js +14 -7
  1046. package/lib/esm/tile/IModelTile.js.map +1 -1
  1047. package/lib/esm/tile/IModelTileTree.d.ts +8 -0
  1048. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  1049. package/lib/esm/tile/IModelTileTree.js +36 -1
  1050. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  1051. package/lib/esm/tile/ImdlReader.d.ts +365 -10
  1052. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  1053. package/lib/esm/tile/ImdlReader.js +198 -67
  1054. package/lib/esm/tile/ImdlReader.js.map +1 -1
  1055. package/lib/esm/tile/OrbitGtTileTree.d.ts +0 -9
  1056. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  1057. package/lib/esm/tile/OrbitGtTileTree.js +10 -20
  1058. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  1059. package/lib/esm/tile/PrimaryTileTree.d.ts +14 -5
  1060. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  1061. package/lib/esm/tile/PrimaryTileTree.js +70 -15
  1062. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  1063. package/lib/esm/tile/RealityModelTileTree.d.ts +2 -41
  1064. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  1065. package/lib/esm/tile/RealityModelTileTree.js +56 -215
  1066. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  1067. package/lib/esm/tile/RealityTileLoader.d.ts +1 -0
  1068. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  1069. package/lib/esm/tile/RealityTileLoader.js +4 -3
  1070. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  1071. package/lib/esm/tile/Tile.d.ts.map +1 -1
  1072. package/lib/esm/tile/Tile.js +5 -1
  1073. package/lib/esm/tile/Tile.js.map +1 -1
  1074. package/lib/esm/tile/TileAdmin.d.ts +37 -4
  1075. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1076. package/lib/esm/tile/TileAdmin.js +19 -13
  1077. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1078. package/lib/esm/tile/TileDrawArgs.d.ts +11 -0
  1079. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  1080. package/lib/esm/tile/TileDrawArgs.js +6 -1
  1081. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  1082. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  1083. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  1084. package/lib/esm/tile/TileTreeReference.js +5 -0
  1085. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  1086. package/lib/esm/tile/internal.d.ts +4 -1
  1087. package/lib/esm/tile/internal.d.ts.map +1 -1
  1088. package/lib/esm/tile/internal.js +4 -1
  1089. package/lib/esm/tile/internal.js.map +1 -1
  1090. package/lib/esm/tile/map/ArcGISTileMap.d.ts +22 -0
  1091. package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -0
  1092. package/lib/esm/tile/map/ArcGISTileMap.js +173 -0
  1093. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -0
  1094. package/lib/esm/tile/map/ArcGisTokenGenerator.js +1 -1
  1095. package/lib/esm/tile/map/ArcGisTokenGenerator.js.map +1 -1
  1096. package/lib/esm/tile/map/ArcGisUtilities.d.ts +1 -1
  1097. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1098. package/lib/esm/tile/map/ArcGisUtilities.js +14 -6
  1099. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1100. package/lib/esm/tile/map/BingElevation.js +1 -1
  1101. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  1102. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  1103. package/lib/esm/tile/map/CesiumTerrainProvider.js +25 -13
  1104. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  1105. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  1106. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1107. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +21 -42
  1108. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1109. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
  1110. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  1111. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  1112. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  1113. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  1114. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  1115. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  1116. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  1117. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  1118. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  1119. package/lib/esm/tile/map/ImageryTileTree.d.ts +4 -4
  1120. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1121. package/lib/esm/tile/map/ImageryTileTree.js +21 -25
  1122. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1123. package/lib/esm/tile/map/MapCartoRectangle.js +1 -1
  1124. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  1125. package/lib/esm/tile/map/MapLayerAuthentication.d.ts +20 -0
  1126. package/lib/esm/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  1127. package/lib/esm/tile/map/MapLayerAuthentication.js +15 -0
  1128. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -0
  1129. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  1130. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  1131. package/lib/esm/tile/map/MapLayerFormatRegistry.js +3 -1
  1132. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  1133. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +2 -2
  1134. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1135. package/lib/esm/tile/map/MapLayerImageryFormats.js +22 -9
  1136. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1137. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +18 -6
  1138. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1139. package/lib/esm/tile/map/MapLayerImageryProvider.js +44 -11
  1140. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1141. package/lib/esm/tile/map/MapLayerSources.d.ts +3 -11
  1142. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1143. package/lib/esm/tile/map/MapLayerSources.js +7 -36
  1144. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1145. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1146. package/lib/esm/tile/map/MapTile.js +4 -3
  1147. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1148. package/lib/esm/tile/map/MapTileLoader.js +1 -1
  1149. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1150. package/lib/esm/tile/map/MapTileTree.d.ts +1 -1
  1151. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1152. package/lib/esm/tile/map/MapTileTree.js +30 -21
  1153. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1154. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  1155. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1156. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -6
  1157. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1158. package/lib/esm/tile/map/MapTilingScheme.d.ts +7 -2
  1159. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1160. package/lib/esm/tile/map/MapTilingScheme.js +22 -9
  1161. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1162. package/lib/esm/tile/map/QuadId.d.ts +1 -0
  1163. package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
  1164. package/lib/esm/tile/map/QuadId.js +2 -1
  1165. package/lib/esm/tile/map/QuadId.js.map +1 -1
  1166. package/lib/esm/tile/map/TerrainMeshProvider.d.ts +1 -1
  1167. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  1168. package/lib/esm/tile/map/WmsCapabilities.d.ts +8 -1
  1169. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  1170. package/lib/esm/tile/map/WmsCapabilities.js +37 -3
  1171. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  1172. package/lib/esm/tile/map/WmtsCapabilities.d.ts +11 -1
  1173. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
  1174. package/lib/esm/tile/map/WmtsCapabilities.js +20 -6
  1175. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  1176. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  1177. package/lib/esm/tools/EditManipulator.js +1 -1
  1178. package/lib/esm/tools/EditManipulator.js.map +1 -1
  1179. package/lib/esm/tools/ElementSetTool.js +2 -2
  1180. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1181. package/lib/esm/tools/PrimitiveTool.d.ts +4 -4
  1182. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  1183. package/lib/esm/tools/PrimitiveTool.js +2 -2
  1184. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  1185. package/lib/esm/tools/Tool.d.ts +29 -1
  1186. package/lib/esm/tools/Tool.d.ts.map +1 -1
  1187. package/lib/esm/tools/Tool.js +66 -0
  1188. package/lib/esm/tools/Tool.js.map +1 -1
  1189. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1190. package/lib/esm/tools/ToolAdmin.js +20 -10
  1191. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1192. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1193. package/lib/esm/tools/ViewTool.js +3 -11
  1194. package/lib/esm/tools/ViewTool.js.map +1 -1
  1195. package/lib/esm/webgl.d.ts +5 -0
  1196. package/lib/esm/webgl.d.ts.map +1 -1
  1197. package/lib/esm/webgl.js +5 -0
  1198. package/lib/esm/webgl.js.map +1 -1
  1199. package/lib/public/locales/en/iModelJs.json +3 -1
  1200. package/package.json +33 -28
  1201. package/lib/cjs/RealityDataAccessProps.d.ts +0 -44
  1202. package/lib/cjs/RealityDataAccessProps.d.ts.map +0 -1
  1203. package/lib/cjs/RealityDataAccessProps.js +0 -23
  1204. package/lib/cjs/RealityDataAccessProps.js.map +0 -1
  1205. package/lib/cjs/RealityDataConnection.d.ts +0 -31
  1206. package/lib/cjs/RealityDataConnection.d.ts.map +0 -1
  1207. package/lib/cjs/RealityDataConnection.js +0 -101
  1208. package/lib/cjs/RealityDataConnection.js.map +0 -1
  1209. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts +0 -39
  1210. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1211. package/lib/cjs/tile/map/MapLayerSettingsService.js +0 -190
  1212. package/lib/cjs/tile/map/MapLayerSettingsService.js.map +0 -1
  1213. package/lib/esm/RealityDataAccessProps.d.ts +0 -44
  1214. package/lib/esm/RealityDataAccessProps.d.ts.map +0 -1
  1215. package/lib/esm/RealityDataAccessProps.js +0 -20
  1216. package/lib/esm/RealityDataAccessProps.js.map +0 -1
  1217. package/lib/esm/RealityDataConnection.d.ts +0 -31
  1218. package/lib/esm/RealityDataConnection.d.ts.map +0 -1
  1219. package/lib/esm/RealityDataConnection.js +0 -98
  1220. package/lib/esm/RealityDataConnection.js.map +0 -1
  1221. package/lib/esm/tile/map/MapLayerSettingsService.d.ts +0 -39
  1222. package/lib/esm/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1223. package/lib/esm/tile/map/MapLayerSettingsService.js +0 -186
  1224. package/lib/esm/tile/map/MapLayerSettingsService.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContext.js","sourceRoot":"","sources":["../../src/ViewContext.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n Matrix3d, Point2d,\r\n Point3d, Range1d, Transform, XAndY,\r\n} from \"@itwin/core-geometry\";\r\nimport { Frustum, FrustumPlanes, SpatialClassifier, ViewFlags } from \"@itwin/core-common\";\r\nimport { CachedDecoration, DecorationsCache } from \"./DecorationsCache\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { PlanarClipMaskState } from \"./PlanarClipMaskState\";\r\nimport { CanvasDecoration } from \"./render/CanvasDecoration\";\r\nimport { Decorations } from \"./render/Decorations\";\r\nimport { GraphicBranch, GraphicBranchOptions } from \"./render/GraphicBranch\";\r\nimport { GraphicBuilder, GraphicType, ViewportGraphicBuilderOptions } from \"./render/GraphicBuilder\";\r\nimport { GraphicList, RenderGraphic } from \"./render/RenderGraphic\";\r\nimport { RenderPlanarClassifier } from \"./render/RenderPlanarClassifier\";\r\nimport { RenderTextureDrape } from \"./render/RenderSystem\";\r\nimport { RenderTarget } from \"./render/RenderTarget\";\r\nimport { Scene } from \"./render/Scene\";\r\nimport { SpatialClassifierTileTreeReference, Tile, TileGraphicType, TileLoadStatus, TileTreeReference } from \"./tile/internal\";\r\nimport { ViewingSpace } from \"./ViewingSpace\";\r\nimport { ELEMENT_MARKED_FOR_REMOVAL, ScreenViewport, Viewport, ViewportDecorator } from \"./Viewport\";\r\n\r\n/** Provides context for producing [[RenderGraphic]]s for drawing within a [[Viewport]].\r\n * @public\r\n */\r\nexport class RenderContext {\r\n /** ViewFlags extracted from the context's [[Viewport]]. */\r\n public readonly viewFlags: ViewFlags;\r\n private readonly _viewport: Viewport;\r\n /** Frustum extracted from the context's [[Viewport]]. */\r\n public readonly frustum: Frustum;\r\n /** Frustum planes extracted from the context's [[Viewport]]. */\r\n public readonly frustumPlanes: FrustumPlanes;\r\n\r\n constructor(vp: Viewport, frustum?: Frustum) {\r\n this._viewport = vp;\r\n this.viewFlags = vp.viewFlags;\r\n this.frustum = frustum ? frustum : vp.getFrustum();\r\n this.frustumPlanes = new FrustumPlanes(this.frustum);\r\n }\r\n\r\n /** Given a point in world coordinates, determine approximately how many pixels it occupies on screen based on this context's frustum. */\r\n public getPixelSizeAtPoint(inPoint?: Point3d): number {\r\n return this.viewport.viewingSpace.getPixelSizeAtPoint(inPoint);\r\n }\r\n\r\n /** The [[Viewport]] associated with this context. */\r\n public get viewport(): Viewport {\r\n return this._viewport;\r\n }\r\n\r\n /** @internal */\r\n public get target(): RenderTarget { return this.viewport.target; }\r\n\r\n /** @internal */\r\n protected _createGraphicBuilder(options: Omit<ViewportGraphicBuilderOptions, \"viewport\">): GraphicBuilder {\r\n return this.target.createGraphicBuilder({ ...options, viewport: this.viewport });\r\n }\r\n\r\n /** Create a builder for creating a [[GraphicType.Scene]] [[RenderGraphic]] for rendering within this context's [[Viewport]].\r\n * @param transform the local-to-world transform in which the builder's geometry is to be defined.\r\n * @returns A builder for creating a [[GraphicType.Scene]] [[RenderGraphic]] for rendering within this context's [[Viewport]].\r\n */\r\n public createSceneGraphicBuilder(transform?: Transform): GraphicBuilder {\r\n return this._createGraphicBuilder({ type: GraphicType.Scene, placement: transform });\r\n }\r\n\r\n /** Create a graphic from a [[GraphicBranch]]. */\r\n public createGraphicBranch(branch: GraphicBranch, location: Transform, opts?: GraphicBranchOptions): RenderGraphic {\r\n return this.target.renderSystem.createGraphicBranch(branch, location, opts);\r\n }\r\n\r\n /** Create a [[RenderGraphic]] which groups a set of graphics into a node in a scene graph, applying to each a transform and optional clip volume and symbology overrides.\r\n * @param branch Contains the group of graphics and the symbology overrides.\r\n * @param location the local-to-world transform applied to the grouped graphics.\r\n * @returns A RenderGraphic suitable for drawing the scene graph node within this context's [[Viewport]].\r\n * @see [[RenderSystem.createBranch]]\r\n */\r\n public createBranch(branch: GraphicBranch, location: Transform): RenderGraphic { return this.createGraphicBranch(branch, location); }\r\n\r\n /** Given the size of a logical pixel in meters, convert it to the size of a physical pixel in meters, if [[RenderSystem.dpiAwareLOD]] is `true`.\r\n * Used when computing LOD for graphics.\r\n * @internal\r\n */\r\n public adjustPixelSizeForLOD(cssPixelSize: number): number {\r\n return this.viewport.target.adjustPixelSizeForLOD(cssPixelSize);\r\n }\r\n}\r\n\r\n/** Provides context for an [[InteractiveTool]] to display decorations representing its current state.\r\n * @see [[InteractiveTool.onDynamicFrame]]\r\n * @public\r\n */\r\nexport class DynamicsContext extends RenderContext {\r\n private _dynamics?: GraphicList;\r\n\r\n /** Add a graphic to the list of dynamic graphics to be drawn in this context's [[Viewport]]. */\r\n public addGraphic(graphic: RenderGraphic) {\r\n if (undefined === this._dynamics)\r\n this._dynamics = [];\r\n this._dynamics.push(graphic);\r\n }\r\n\r\n /** @internal */\r\n public changeDynamics(): void {\r\n this.viewport.changeDynamics(this._dynamics);\r\n }\r\n\r\n /** Create a builder for producing a [[RenderGraphic]] appropriate for rendering within this context's [[Viewport]].\r\n * @param options Options describing how to create the builder.\r\n * @returns A builder that produces a [[RenderGraphic]].\r\n */\r\n public createGraphic(options: Omit<ViewportGraphicBuilderOptions, \"viewport\">): GraphicBuilder {\r\n return this._createGraphicBuilder(options);\r\n }\r\n}\r\n\r\n/** Provides context for a [[ViewportDecorator]] to add [[Decorations]] to be rendered within a [[Viewport]].\r\n * @public\r\n */\r\nexport class DecorateContext extends RenderContext {\r\n private readonly _decorations: Decorations;\r\n private readonly _cache: DecorationsCache;\r\n private _curCacheableDecorator?: ViewportDecorator;\r\n\r\n /** The [[ScreenViewport]] in which this context's [[Decorations]] will be drawn. */\r\n public override get viewport(): ScreenViewport {\r\n return super.viewport as ScreenViewport;\r\n }\r\n\r\n /** @internal */\r\n constructor(vp: ScreenViewport, decorations: Decorations, cache: DecorationsCache) {\r\n super(vp);\r\n this._decorations = decorations;\r\n this._cache = cache;\r\n }\r\n\r\n /** Create a builder for creating a [[RenderGraphic]] of the specified type appropriate for rendering within this context's [[Viewport]].\r\n * @param type The type of builder to create.\r\n * @param transform the local-to-world transform in which the builder's geometry is to be defined.\r\n * @param id If the decoration is to be pickable, a unique identifier to associate with the resultant [[RenderGraphic]].\r\n * @returns A builder for creating a [[RenderGraphic]] of the specified type appropriate for rendering within this context's [[Viewport]].\r\n * @see [[IModelConnection.transientIds]] for obtaining an ID for a pickable decoration.\r\n * @see [[createGraphic]] for more options.\r\n */\r\n public createGraphicBuilder(type: GraphicType, transform?: Transform, id?: Id64String): GraphicBuilder {\r\n return this.createGraphic({ type, placement: transform, pickable: undefined !== id ? { id } : undefined });\r\n }\r\n\r\n /** Create a builder for producing a [[RenderGraphic]] appropriate for rendering within this context's [[Viewport]].\r\n * @param options Options describing how to create the builder.\r\n * @returns A builder that produces a [[RenderGraphic]].\r\n */\r\n public createGraphic(options: Omit<ViewportGraphicBuilderOptions, \"viewport\">): GraphicBuilder {\r\n return this._createGraphicBuilder(options);\r\n }\r\n\r\n /** @internal */\r\n public addFromDecorator(decorator: ViewportDecorator): void {\r\n assert(undefined === this._curCacheableDecorator);\r\n try {\r\n if (decorator.useCachedDecorations) {\r\n const cached = this._cache.get(decorator);\r\n if (cached) {\r\n this.restoreCache(cached);\r\n return;\r\n }\r\n\r\n this._curCacheableDecorator = decorator;\r\n }\r\n\r\n decorator.decorate(this);\r\n } finally {\r\n this._curCacheableDecorator = undefined;\r\n }\r\n }\r\n\r\n /** Restores decorations onto this context from the specified array of cached decorations. */\r\n private restoreCache(cachedDecorations: CachedDecoration[]) {\r\n cachedDecorations.forEach((cachedDecoration) => {\r\n switch (cachedDecoration.type) {\r\n case \"graphic\":\r\n this.addDecoration(cachedDecoration.graphicType, cachedDecoration.graphicOwner);\r\n break;\r\n case \"canvas\":\r\n this.addCanvasDecoration(cachedDecoration.canvasDecoration, cachedDecoration.atFront);\r\n break;\r\n case \"html\":\r\n this.addHtmlDecoration(cachedDecoration.htmlElement);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private _appendToCache(decoration: CachedDecoration) {\r\n assert(undefined !== this._curCacheableDecorator);\r\n this._cache.add(this._curCacheableDecorator, decoration);\r\n }\r\n\r\n /** Calls [[GraphicBuilder.finish]] on the supplied builder to obtain a [[RenderGraphic]], then adds the graphic to the appropriate list of\r\n * [[Decorations]].\r\n * @param builder The builder from which to extract the graphic.\r\n * @note The builder should not be used after calling this method.\r\n */\r\n public addDecorationFromBuilder(builder: GraphicBuilder) {\r\n this.addDecoration(builder.type, builder.finish());\r\n }\r\n\r\n /** Adds a graphic to the set of [[Decorations]] to be drawn in this context's [[ScreenViewport]].\r\n * @param The type of the graphic, which determines to which list of decorations it is added.\r\n * @param decoration The decoration graphic to add.\r\n * @note The type must match the type with which the [[RenderGraphic]]'s [[GraphicBuilder]] was constructed.\r\n * @see [[DecorateContext.addDecorationFromBuilder]] for a more convenient API.\r\n */\r\n public addDecoration(type: GraphicType, decoration: RenderGraphic) {\r\n if (this._curCacheableDecorator) {\r\n const graphicOwner = this.target.renderSystem.createGraphicOwner(decoration);\r\n this._appendToCache({ type: \"graphic\", graphicOwner, graphicType: type });\r\n decoration = graphicOwner;\r\n }\r\n\r\n switch (type) {\r\n case GraphicType.Scene:\r\n if (undefined === this._decorations.normal)\r\n this._decorations.normal = [];\r\n this._decorations.normal.push(decoration);\r\n break;\r\n\r\n case GraphicType.WorldDecoration:\r\n if (!this._decorations.world)\r\n this._decorations.world = [];\r\n this._decorations.world.push(decoration);\r\n break;\r\n\r\n case GraphicType.WorldOverlay:\r\n if (!this._decorations.worldOverlay)\r\n this._decorations.worldOverlay = [];\r\n this._decorations.worldOverlay.push(decoration);\r\n break;\r\n\r\n case GraphicType.ViewOverlay:\r\n if (!this._decorations.viewOverlay)\r\n this._decorations.viewOverlay = [];\r\n this._decorations.viewOverlay.push(decoration);\r\n break;\r\n\r\n case GraphicType.ViewBackground:\r\n this.setViewBackground(decoration);\r\n break;\r\n }\r\n }\r\n\r\n /** Add a [[CanvasDecoration]] to be drawn in this context's [[ScreenViewport]]. */\r\n public addCanvasDecoration(decoration: CanvasDecoration, atFront = false) {\r\n if (this._curCacheableDecorator)\r\n this._appendToCache({ type: \"canvas\", canvasDecoration: decoration, atFront });\r\n\r\n if (undefined === this._decorations.canvasDecorations)\r\n this._decorations.canvasDecorations = [];\r\n\r\n const list = this._decorations.canvasDecorations;\r\n if (0 === list.length || true === atFront)\r\n list.push(decoration);\r\n else\r\n list.unshift(decoration);\r\n }\r\n\r\n /** Add an HTMLElement to be drawn as a decoration in this context's [[ScreenViewport]]. */\r\n public addHtmlDecoration(decoration: HTMLElement) {\r\n if (this._curCacheableDecorator)\r\n this._appendToCache({ type: \"html\", htmlElement: decoration });\r\n\r\n // an element decoration being added might already be on the decorationDiv, just marked for removal\r\n if (decoration[ELEMENT_MARKED_FOR_REMOVAL]) {\r\n decoration[ELEMENT_MARKED_FOR_REMOVAL] = false;\r\n } else if (decoration.parentElement !== this.viewport.decorationDiv) {\r\n this.viewport.decorationDiv.appendChild(decoration);\r\n }\r\n }\r\n\r\n /** @internal */\r\n public drawStandardGrid(gridOrigin: Point3d, rMatrix: Matrix3d, spacing: XAndY, gridsPerRef: number, _isoGrid: boolean = false, _fixedRepetitions?: Point2d): void {\r\n const vp = this.viewport;\r\n\r\n if (vp.viewingGlobe)\r\n return;\r\n\r\n const color = vp.getContrastToBackgroundColor();\r\n const planarGrid = this.viewport.target.renderSystem.createPlanarGrid(vp.getFrustum(), { origin: gridOrigin, rMatrix, spacing, gridsPerRef, color });\r\n if (planarGrid) {\r\n this.addDecoration(GraphicType.WorldDecoration, planarGrid);\r\n }\r\n }\r\n\r\n /** Display skyBox graphic that encompasses entire scene and rotates with camera.\r\n * @see [[RenderSystem.createSkyBox]].\r\n */\r\n public setSkyBox(graphic: RenderGraphic) {\r\n this._decorations.skyBox = graphic;\r\n }\r\n\r\n /** Set the graphic to be displayed behind all other geometry as the background of this context's [[ScreenViewport]]. */\r\n public setViewBackground(graphic: RenderGraphic) {\r\n this._decorations.viewBackground = graphic;\r\n }\r\n}\r\n\r\n/** Context used to create the scene to be drawn in a [[Viewport]]. The scene consists of a set of [[RenderGraphic]]s produced by the\r\n * [[TileTree]]s visible within the viewport. Creating the scene may result in the enqueueing of requests for [[Tile]] content which\r\n * should be displayed in the viewport but are not yet loaded.\r\n * @public\r\n */\r\nexport class SceneContext extends RenderContext {\r\n private _missingChildTiles = false;\r\n /** The graphics comprising the scene. */\r\n public readonly scene = new Scene();\r\n\r\n /** @internal */\r\n public readonly missingTiles = new Set<Tile>();\r\n\r\n /** @internal */\r\n public markChildrenLoading(): void {\r\n this._missingChildTiles = true;\r\n }\r\n\r\n /** @internal */\r\n public get hasMissingTiles(): boolean {\r\n return this._missingChildTiles || this.missingTiles.size > 0;\r\n }\r\n\r\n private _viewingSpace?: ViewingSpace;\r\n private _graphicType: TileGraphicType = TileGraphicType.Scene;\r\n\r\n public constructor(vp: Viewport, frustum?: Frustum) {\r\n super(vp, frustum);\r\n }\r\n\r\n /** The viewed volume containing the scene. */\r\n public get viewingSpace(): ViewingSpace {\r\n return undefined !== this._viewingSpace ? this._viewingSpace : this.viewport.viewingSpace;\r\n }\r\n\r\n /** @internal */\r\n public get graphicType() { return this._graphicType; }\r\n\r\n /** Add the specified graphic to the scene. */\r\n public outputGraphic(graphic: RenderGraphic): void {\r\n switch (this._graphicType) {\r\n case TileGraphicType.BackgroundMap:\r\n this.backgroundGraphics.push(graphic);\r\n break;\r\n case TileGraphicType.Overlay:\r\n this.overlayGraphics.push(graphic);\r\n break;\r\n default:\r\n this.graphics.push(graphic);\r\n break;\r\n }\r\n }\r\n\r\n /** Indicate that the specified tile is desired for the scene but is not yet ready. A request to load its contents will later be enqueued. */\r\n public insertMissingTile(tile: Tile): void {\r\n switch (tile.loadStatus) {\r\n case TileLoadStatus.NotLoaded:\r\n case TileLoadStatus.Queued:\r\n case TileLoadStatus.Loading:\r\n this.missingTiles.add(tile);\r\n break;\r\n }\r\n }\r\n\r\n /** @internal */\r\n public requestMissingTiles(): void {\r\n IModelApp.tileAdmin.requestTiles(this.viewport, this.missingTiles);\r\n }\r\n\r\n /** @internal */\r\n public addPlanarClassifier(classifiedModelId: Id64String, classifierTree?: SpatialClassifierTileTreeReference, planarClipMask?: PlanarClipMaskState): RenderPlanarClassifier | undefined {\r\n // Target may have the classifier from a previous frame; if not we must create one.\r\n let classifier = this.viewport.target.getPlanarClassifier(classifiedModelId);\r\n if (undefined === classifier)\r\n classifier = this.viewport.target.createPlanarClassifier(classifierTree?.activeClassifier);\r\n\r\n // Either way, we need to collect the graphics to draw for this frame, and record that we did so.\r\n if (undefined !== classifier) {\r\n this.planarClassifiers.set(classifiedModelId, classifier);\r\n classifier.setSource(classifierTree, planarClipMask);\r\n }\r\n\r\n return classifier;\r\n }\r\n\r\n /** @internal */\r\n public getPlanarClassifierForModel(modelId: Id64String) {\r\n return this.planarClassifiers.get(modelId);\r\n }\r\n\r\n /** @internal */\r\n public addBackgroundDrapedModel(drapedTreeRef: TileTreeReference, _heightRange: Range1d | undefined): RenderTextureDrape | undefined {\r\n const drapedTree = drapedTreeRef.treeOwner.tileTree;\r\n if (undefined === drapedTree)\r\n return undefined;\r\n\r\n const id = drapedTree.modelId;\r\n let drape = this.getTextureDrapeForModel(id);\r\n if (undefined !== drape)\r\n return drape;\r\n\r\n drape = this.viewport.target.getTextureDrape(id);\r\n if (undefined === drape && this.viewport.backgroundDrapeMap)\r\n drape = this.viewport.target.renderSystem.createBackgroundMapDrape(drapedTreeRef, this.viewport.backgroundDrapeMap);\r\n\r\n if (undefined !== drape)\r\n this.textureDrapes.set(id, drape);\r\n\r\n return drape;\r\n }\r\n\r\n /** @internal */\r\n public getTextureDrapeForModel(modelId: Id64String) {\r\n return this.textureDrapes.get(modelId);\r\n }\r\n\r\n /** @internal */\r\n public withGraphicType(type: TileGraphicType, func: () => void): void {\r\n const prevType = this._graphicType;\r\n this._graphicType = type;\r\n\r\n func();\r\n\r\n this._graphicType = prevType;\r\n }\r\n\r\n /** The graphics in the scene that will be drawn with depth. */\r\n public get graphics() { return this.scene.foreground; }\r\n /** The graphics that will be drawn behind everything else in the scene. */\r\n public get backgroundGraphics() { return this.scene.background; }\r\n /** The graphics that will be drawn in front of everything else in the scene. */\r\n public get overlayGraphics() { return this.scene.overlay; }\r\n /** @internal */\r\n public get planarClassifiers() { return this.scene.planarClassifiers; }\r\n /** @internal */\r\n public get textureDrapes() { return this.scene.textureDrapes; }\r\n\r\n /** @internal */\r\n public setVolumeClassifier(classifier: SpatialClassifier, modelId: Id64String): void {\r\n this.scene.volumeClassifier = { classifier, modelId };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ViewContext.js","sourceRoot":"","sources":["../../src/ViewContext.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n Matrix3d, Point2d,\r\n Point3d, Range1d, Transform, XAndY,\r\n} from \"@itwin/core-geometry\";\r\nimport { Frustum, FrustumPlanes, SpatialClassifier, ViewFlags } from \"@itwin/core-common\";\r\nimport { CachedDecoration, DecorationsCache } from \"./DecorationsCache\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { PlanarClipMaskState } from \"./PlanarClipMaskState\";\r\nimport { CanvasDecoration } from \"./render/CanvasDecoration\";\r\nimport { Decorations } from \"./render/Decorations\";\r\nimport { GraphicBranch, GraphicBranchOptions } from \"./render/GraphicBranch\";\r\nimport { GraphicBuilder, GraphicType, ViewportGraphicBuilderOptions } from \"./render/GraphicBuilder\";\r\nimport { GraphicList, RenderGraphic } from \"./render/RenderGraphic\";\r\nimport { RenderPlanarClassifier } from \"./render/RenderPlanarClassifier\";\r\nimport { RenderSystem, RenderTextureDrape } from \"./render/RenderSystem\";\r\nimport { RenderTarget } from \"./render/RenderTarget\";\r\nimport { Scene } from \"./render/Scene\";\r\nimport { SpatialClassifierTileTreeReference, Tile, TileGraphicType, TileLoadStatus, TileTreeReference } from \"./tile/internal\";\r\nimport { ViewingSpace } from \"./ViewingSpace\";\r\nimport { ELEMENT_MARKED_FOR_REMOVAL, ScreenViewport, Viewport, ViewportDecorator } from \"./Viewport\";\r\n\r\n/** Provides context for producing [[RenderGraphic]]s for drawing within a [[Viewport]].\r\n * @public\r\n */\r\nexport class RenderContext {\r\n /** ViewFlags extracted from the context's [[Viewport]]. */\r\n public readonly viewFlags: ViewFlags;\r\n private readonly _viewport: Viewport;\r\n /** Frustum extracted from the context's [[Viewport]]. */\r\n public readonly frustum: Frustum;\r\n /** Frustum planes extracted from the context's [[Viewport]]. */\r\n public readonly frustumPlanes: FrustumPlanes;\r\n\r\n constructor(vp: Viewport, frustum?: Frustum) {\r\n this._viewport = vp;\r\n this.viewFlags = vp.viewFlags;\r\n this.frustum = frustum ? frustum : vp.getFrustum();\r\n this.frustumPlanes = new FrustumPlanes(this.frustum);\r\n }\r\n\r\n /** Given a point in world coordinates, determine approximately how many pixels it occupies on screen based on this context's frustum. */\r\n public getPixelSizeAtPoint(inPoint?: Point3d): number {\r\n return this.viewport.viewingSpace.getPixelSizeAtPoint(inPoint);\r\n }\r\n\r\n /** The [[Viewport]] associated with this context. */\r\n public get viewport(): Viewport {\r\n return this._viewport;\r\n }\r\n\r\n /** The [[RenderSystem]] being used to produce graphics for this context. */\r\n public get renderSystem(): RenderSystem {\r\n return this.target.renderSystem;\r\n }\r\n\r\n /** @internal */\r\n public get target(): RenderTarget { return this.viewport.target; }\r\n\r\n /** @internal */\r\n protected _createGraphicBuilder(options: Omit<ViewportGraphicBuilderOptions, \"viewport\">): GraphicBuilder {\r\n return this.target.createGraphicBuilder({ ...options, viewport: this.viewport });\r\n }\r\n\r\n /** Create a builder for creating a [[GraphicType.Scene]] [[RenderGraphic]] for rendering within this context's [[Viewport]].\r\n * @param transform the local-to-world transform in which the builder's geometry is to be defined.\r\n * @returns A builder for creating a [[GraphicType.Scene]] [[RenderGraphic]] for rendering within this context's [[Viewport]].\r\n */\r\n public createSceneGraphicBuilder(transform?: Transform): GraphicBuilder {\r\n return this._createGraphicBuilder({ type: GraphicType.Scene, placement: transform });\r\n }\r\n\r\n /** Create a graphic from a [[GraphicBranch]]. */\r\n public createGraphicBranch(branch: GraphicBranch, location: Transform, opts?: GraphicBranchOptions): RenderGraphic {\r\n return this.target.renderSystem.createGraphicBranch(branch, location, opts);\r\n }\r\n\r\n /** Create a [[RenderGraphic]] which groups a set of graphics into a node in a scene graph, applying to each a transform and optional clip volume and symbology overrides.\r\n * @param branch Contains the group of graphics and the symbology overrides.\r\n * @param location the local-to-world transform applied to the grouped graphics.\r\n * @returns A RenderGraphic suitable for drawing the scene graph node within this context's [[Viewport]].\r\n * @see [[RenderSystem.createBranch]]\r\n */\r\n public createBranch(branch: GraphicBranch, location: Transform): RenderGraphic { return this.createGraphicBranch(branch, location); }\r\n\r\n /** Given the size of a logical pixel in meters, convert it to the size of a physical pixel in meters, if [[RenderSystem.dpiAwareLOD]] is `true`.\r\n * Used when computing LOD for graphics.\r\n * @internal\r\n */\r\n public adjustPixelSizeForLOD(cssPixelSize: number): number {\r\n return this.viewport.target.adjustPixelSizeForLOD(cssPixelSize);\r\n }\r\n}\r\n\r\n/** Provides context for an [[InteractiveTool]] to display decorations representing its current state.\r\n * @see [[InteractiveTool.onDynamicFrame]]\r\n * @public\r\n */\r\nexport class DynamicsContext extends RenderContext {\r\n private _dynamics?: GraphicList;\r\n\r\n /** Add a graphic to the list of dynamic graphics to be drawn in this context's [[Viewport]]. */\r\n public addGraphic(graphic: RenderGraphic) {\r\n if (undefined === this._dynamics)\r\n this._dynamics = [];\r\n this._dynamics.push(graphic);\r\n }\r\n\r\n /** @internal */\r\n public changeDynamics(): void {\r\n this.viewport.changeDynamics(this._dynamics);\r\n }\r\n\r\n /** Create a builder for producing a [[RenderGraphic]] appropriate for rendering within this context's [[Viewport]].\r\n * @param options Options describing how to create the builder.\r\n * @returns A builder that produces a [[RenderGraphic]].\r\n */\r\n public createGraphic(options: Omit<ViewportGraphicBuilderOptions, \"viewport\">): GraphicBuilder {\r\n return this._createGraphicBuilder(options);\r\n }\r\n}\r\n\r\n/** Provides context for a [[ViewportDecorator]] to add [[Decorations]] to be rendered within a [[Viewport]].\r\n * @public\r\n */\r\nexport class DecorateContext extends RenderContext {\r\n private readonly _decorations: Decorations;\r\n private readonly _cache: DecorationsCache;\r\n private _curCacheableDecorator?: ViewportDecorator;\r\n\r\n /** The [[ScreenViewport]] in which this context's [[Decorations]] will be drawn. */\r\n public override get viewport(): ScreenViewport {\r\n return super.viewport as ScreenViewport;\r\n }\r\n\r\n /** @internal */\r\n constructor(vp: ScreenViewport, decorations: Decorations, cache: DecorationsCache) {\r\n super(vp);\r\n this._decorations = decorations;\r\n this._cache = cache;\r\n }\r\n\r\n /** Create a builder for creating a [[RenderGraphic]] of the specified type appropriate for rendering within this context's [[Viewport]].\r\n * @param type The type of builder to create.\r\n * @param transform the local-to-world transform in which the builder's geometry is to be defined.\r\n * @param id If the decoration is to be pickable, a unique identifier to associate with the resultant [[RenderGraphic]].\r\n * @returns A builder for creating a [[RenderGraphic]] of the specified type appropriate for rendering within this context's [[Viewport]].\r\n * @see [[IModelConnection.transientIds]] for obtaining an ID for a pickable decoration.\r\n * @see [[createGraphic]] for more options.\r\n */\r\n public createGraphicBuilder(type: GraphicType, transform?: Transform, id?: Id64String): GraphicBuilder {\r\n return this.createGraphic({ type, placement: transform, pickable: undefined !== id ? { id } : undefined });\r\n }\r\n\r\n /** Create a builder for producing a [[RenderGraphic]] appropriate for rendering within this context's [[Viewport]].\r\n * @param options Options describing how to create the builder.\r\n * @returns A builder that produces a [[RenderGraphic]].\r\n */\r\n public createGraphic(options: Omit<ViewportGraphicBuilderOptions, \"viewport\">): GraphicBuilder {\r\n return this._createGraphicBuilder(options);\r\n }\r\n\r\n /** @internal */\r\n public addFromDecorator(decorator: ViewportDecorator): void {\r\n assert(undefined === this._curCacheableDecorator);\r\n try {\r\n if (decorator.useCachedDecorations) {\r\n const cached = this._cache.get(decorator);\r\n if (cached) {\r\n this.restoreCache(cached);\r\n return;\r\n }\r\n\r\n this._curCacheableDecorator = decorator;\r\n }\r\n\r\n decorator.decorate(this);\r\n } finally {\r\n this._curCacheableDecorator = undefined;\r\n }\r\n }\r\n\r\n /** Restores decorations onto this context from the specified array of cached decorations. */\r\n private restoreCache(cachedDecorations: CachedDecoration[]) {\r\n cachedDecorations.forEach((cachedDecoration) => {\r\n switch (cachedDecoration.type) {\r\n case \"graphic\":\r\n this.addDecoration(cachedDecoration.graphicType, cachedDecoration.graphicOwner);\r\n break;\r\n case \"canvas\":\r\n this.addCanvasDecoration(cachedDecoration.canvasDecoration, cachedDecoration.atFront);\r\n break;\r\n case \"html\":\r\n this.addHtmlDecoration(cachedDecoration.htmlElement);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private _appendToCache(decoration: CachedDecoration) {\r\n assert(undefined !== this._curCacheableDecorator);\r\n this._cache.add(this._curCacheableDecorator, decoration);\r\n }\r\n\r\n /** Calls [[GraphicBuilder.finish]] on the supplied builder to obtain a [[RenderGraphic]], then adds the graphic to the appropriate list of\r\n * [[Decorations]].\r\n * @param builder The builder from which to extract the graphic.\r\n * @note The builder should not be used after calling this method.\r\n */\r\n public addDecorationFromBuilder(builder: GraphicBuilder) {\r\n this.addDecoration(builder.type, builder.finish());\r\n }\r\n\r\n /** Adds a graphic to the set of [[Decorations]] to be drawn in this context's [[ScreenViewport]].\r\n * @param The type of the graphic, which determines to which list of decorations it is added.\r\n * @param decoration The decoration graphic to add.\r\n * @note The type must match the type with which the [[RenderGraphic]]'s [[GraphicBuilder]] was constructed.\r\n * @see [[DecorateContext.addDecorationFromBuilder]] for a more convenient API.\r\n */\r\n public addDecoration(type: GraphicType, decoration: RenderGraphic) {\r\n if (this._curCacheableDecorator) {\r\n const graphicOwner = this.target.renderSystem.createGraphicOwner(decoration);\r\n this._appendToCache({ type: \"graphic\", graphicOwner, graphicType: type });\r\n decoration = graphicOwner;\r\n }\r\n\r\n switch (type) {\r\n case GraphicType.Scene:\r\n if (undefined === this._decorations.normal)\r\n this._decorations.normal = [];\r\n this._decorations.normal.push(decoration);\r\n break;\r\n\r\n case GraphicType.WorldDecoration:\r\n if (!this._decorations.world)\r\n this._decorations.world = [];\r\n this._decorations.world.push(decoration);\r\n break;\r\n\r\n case GraphicType.WorldOverlay:\r\n if (!this._decorations.worldOverlay)\r\n this._decorations.worldOverlay = [];\r\n this._decorations.worldOverlay.push(decoration);\r\n break;\r\n\r\n case GraphicType.ViewOverlay:\r\n if (!this._decorations.viewOverlay)\r\n this._decorations.viewOverlay = [];\r\n this._decorations.viewOverlay.push(decoration);\r\n break;\r\n\r\n case GraphicType.ViewBackground:\r\n this.setViewBackground(decoration);\r\n break;\r\n }\r\n }\r\n\r\n /** Add a [[CanvasDecoration]] to be drawn in this context's [[ScreenViewport]]. */\r\n public addCanvasDecoration(decoration: CanvasDecoration, atFront = false) {\r\n if (this._curCacheableDecorator)\r\n this._appendToCache({ type: \"canvas\", canvasDecoration: decoration, atFront });\r\n\r\n if (undefined === this._decorations.canvasDecorations)\r\n this._decorations.canvasDecorations = [];\r\n\r\n const list = this._decorations.canvasDecorations;\r\n if (0 === list.length || true === atFront)\r\n list.push(decoration);\r\n else\r\n list.unshift(decoration);\r\n }\r\n\r\n /** Add an HTMLElement to be drawn as a decoration in this context's [[ScreenViewport]]. */\r\n public addHtmlDecoration(decoration: HTMLElement) {\r\n if (this._curCacheableDecorator)\r\n this._appendToCache({ type: \"html\", htmlElement: decoration });\r\n\r\n // an element decoration being added might already be on the decorationDiv, just marked for removal\r\n if (decoration[ELEMENT_MARKED_FOR_REMOVAL]) {\r\n decoration[ELEMENT_MARKED_FOR_REMOVAL] = false;\r\n } else if (decoration.parentElement !== this.viewport.decorationDiv) {\r\n this.viewport.decorationDiv.appendChild(decoration);\r\n }\r\n }\r\n\r\n /** @internal */\r\n public drawStandardGrid(gridOrigin: Point3d, rMatrix: Matrix3d, spacing: XAndY, gridsPerRef: number, _isoGrid: boolean = false, _fixedRepetitions?: Point2d): void {\r\n const vp = this.viewport;\r\n\r\n if (vp.viewingGlobe)\r\n return;\r\n\r\n const color = vp.getContrastToBackgroundColor();\r\n const planarGrid = this.viewport.target.renderSystem.createPlanarGrid(vp.getFrustum(), { origin: gridOrigin, rMatrix, spacing, gridsPerRef, color });\r\n if (planarGrid) {\r\n this.addDecoration(GraphicType.WorldDecoration, planarGrid);\r\n }\r\n }\r\n\r\n /** Display skyBox graphic that encompasses entire scene and rotates with camera.\r\n * @see [[RenderSystem.createSkyBox]].\r\n */\r\n public setSkyBox(graphic: RenderGraphic) {\r\n this._decorations.skyBox = graphic;\r\n }\r\n\r\n /** Set the graphic to be displayed behind all other geometry as the background of this context's [[ScreenViewport]]. */\r\n public setViewBackground(graphic: RenderGraphic) {\r\n this._decorations.viewBackground = graphic;\r\n }\r\n}\r\n\r\n/** Context used to create the scene to be drawn in a [[Viewport]]. The scene consists of a set of [[RenderGraphic]]s produced by the\r\n * [[TileTree]]s visible within the viewport. Creating the scene may result in the enqueueing of requests for [[Tile]] content which\r\n * should be displayed in the viewport but are not yet loaded.\r\n * @public\r\n */\r\nexport class SceneContext extends RenderContext {\r\n private _missingChildTiles = false;\r\n /** The graphics comprising the scene. */\r\n public readonly scene = new Scene();\r\n\r\n /** @internal */\r\n public readonly missingTiles = new Set<Tile>();\r\n\r\n /** @internal */\r\n public markChildrenLoading(): void {\r\n this._missingChildTiles = true;\r\n }\r\n\r\n /** @internal */\r\n public get hasMissingTiles(): boolean {\r\n return this._missingChildTiles || this.missingTiles.size > 0;\r\n }\r\n\r\n private _viewingSpace?: ViewingSpace;\r\n private _graphicType: TileGraphicType = TileGraphicType.Scene;\r\n\r\n public constructor(vp: Viewport, frustum?: Frustum) {\r\n super(vp, frustum);\r\n }\r\n\r\n /** The viewed volume containing the scene. */\r\n public get viewingSpace(): ViewingSpace {\r\n return undefined !== this._viewingSpace ? this._viewingSpace : this.viewport.viewingSpace;\r\n }\r\n\r\n /** @internal */\r\n public get graphicType() { return this._graphicType; }\r\n\r\n /** Add the specified graphic to the scene. */\r\n public outputGraphic(graphic: RenderGraphic): void {\r\n switch (this._graphicType) {\r\n case TileGraphicType.BackgroundMap:\r\n this.backgroundGraphics.push(graphic);\r\n break;\r\n case TileGraphicType.Overlay:\r\n this.overlayGraphics.push(graphic);\r\n break;\r\n default:\r\n this.graphics.push(graphic);\r\n break;\r\n }\r\n }\r\n\r\n /** Indicate that the specified tile is desired for the scene but is not yet ready. A request to load its contents will later be enqueued. */\r\n public insertMissingTile(tile: Tile): void {\r\n switch (tile.loadStatus) {\r\n case TileLoadStatus.NotLoaded:\r\n case TileLoadStatus.Queued:\r\n case TileLoadStatus.Loading:\r\n this.missingTiles.add(tile);\r\n break;\r\n }\r\n }\r\n\r\n /** @internal */\r\n public requestMissingTiles(): void {\r\n IModelApp.tileAdmin.requestTiles(this.viewport, this.missingTiles);\r\n }\r\n\r\n /** @internal */\r\n public addPlanarClassifier(classifiedModelId: Id64String, classifierTree?: SpatialClassifierTileTreeReference, planarClipMask?: PlanarClipMaskState): RenderPlanarClassifier | undefined {\r\n // Target may have the classifier from a previous frame; if not we must create one.\r\n let classifier = this.viewport.target.getPlanarClassifier(classifiedModelId);\r\n if (undefined === classifier)\r\n classifier = this.viewport.target.createPlanarClassifier(classifierTree?.activeClassifier);\r\n\r\n // Either way, we need to collect the graphics to draw for this frame, and record that we did so.\r\n if (undefined !== classifier) {\r\n this.planarClassifiers.set(classifiedModelId, classifier);\r\n classifier.setSource(classifierTree, planarClipMask);\r\n }\r\n\r\n return classifier;\r\n }\r\n\r\n /** @internal */\r\n public getPlanarClassifierForModel(modelId: Id64String) {\r\n return this.planarClassifiers.get(modelId);\r\n }\r\n\r\n /** @internal */\r\n public addBackgroundDrapedModel(drapedTreeRef: TileTreeReference, _heightRange: Range1d | undefined): RenderTextureDrape | undefined {\r\n const drapedTree = drapedTreeRef.treeOwner.tileTree;\r\n if (undefined === drapedTree)\r\n return undefined;\r\n\r\n const id = drapedTree.modelId;\r\n let drape = this.getTextureDrapeForModel(id);\r\n if (undefined !== drape)\r\n return drape;\r\n\r\n drape = this.viewport.target.getTextureDrape(id);\r\n if (undefined === drape && this.viewport.backgroundDrapeMap)\r\n drape = this.viewport.target.renderSystem.createBackgroundMapDrape(drapedTreeRef, this.viewport.backgroundDrapeMap);\r\n\r\n if (undefined !== drape)\r\n this.textureDrapes.set(id, drape);\r\n\r\n return drape;\r\n }\r\n\r\n /** @internal */\r\n public getTextureDrapeForModel(modelId: Id64String) {\r\n return this.textureDrapes.get(modelId);\r\n }\r\n\r\n /** @internal */\r\n public withGraphicType(type: TileGraphicType, func: () => void): void {\r\n const prevType = this._graphicType;\r\n this._graphicType = type;\r\n\r\n func();\r\n\r\n this._graphicType = prevType;\r\n }\r\n\r\n /** The graphics in the scene that will be drawn with depth. */\r\n public get graphics() { return this.scene.foreground; }\r\n /** The graphics that will be drawn behind everything else in the scene. */\r\n public get backgroundGraphics() { return this.scene.background; }\r\n /** The graphics that will be drawn in front of everything else in the scene. */\r\n public get overlayGraphics() { return this.scene.overlay; }\r\n /** @internal */\r\n public get planarClassifiers() { return this.scene.planarClassifiers; }\r\n /** @internal */\r\n public get textureDrapes() { return this.scene.textureDrapes; }\r\n\r\n /** @internal */\r\n public setVolumeClassifier(classifier: SpatialClassifier, modelId: Id64String): void {\r\n this.scene.volumeClassifier = { classifier, modelId };\r\n }\r\n}\r\n"]}
@@ -94,7 +94,7 @@ class ViewCreator2d {
94
94
  const displayStyleProps = {
95
95
  code: core_common_1.Code.createEmpty(),
96
96
  model: dictionaryId,
97
- classFullName: "BisCore:DisplayStyle",
97
+ classFullName: "BisCore:DisplayStyle2d",
98
98
  jsonProperties: {
99
99
  styles: {
100
100
  backgroundColor: bgColor.tbgr,
@@ -117,7 +117,7 @@ class ViewCreator2d {
117
117
  */
118
118
  this._executeQuery = async (query) => {
119
119
  const rows = [];
120
- for await (const row of this._imodel.query(query, undefined, core_common_1.QueryRowFormat.UseJsPropertyNames))
120
+ for await (const row of this._imodel.query(query, undefined, { rowFormat: core_common_1.QueryRowFormat.UseJsPropertyNames }))
121
121
  rows.push(row.id);
122
122
  return rows;
123
123
  };
@@ -205,7 +205,7 @@ class ViewCreator2d {
205
205
  async _addSheetViewProps(modelId, props) {
206
206
  let width = 0;
207
207
  let height = 0;
208
- for await (const row of this._imodel.query(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, core_common_1.QueryBinder.from([modelId]), core_common_1.QueryRowFormat.UseJsPropertyNames)) {
208
+ for await (const row of this._imodel.query(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, core_common_1.QueryBinder.from([modelId]), { rowFormat: core_common_1.QueryRowFormat.UseJsPropertyNames })) {
209
209
  width = row.width;
210
210
  height = row.height;
211
211
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewCreator2d.js","sourceRoot":"","sources":["../../src/ViewCreator2d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/*\r\nAPI for creating a 2D view from a given modelId and modelType (classFullName).\r\nAdditional options (such as background color) can be passed during view creation.\r\n*/\r\n\r\nimport { Id64Array, Id64String, IModelStatus } from \"@itwin/core-bentley\";\r\nimport {\r\n CategorySelectorProps, Code, ColorDef, DisplayStyleProps, IModel, IModelError, ModelSelectorProps, QueryBinder, QueryRowFormat, SheetProps,\r\n ViewDefinition2dProps, ViewStateProps,\r\n} from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { DrawingViewState } from \"./DrawingViewState\";\r\nimport { EntityState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { DrawingModelState, SectionDrawingModelState, SheetModelState } from \"./ModelState\";\r\nimport { SheetViewState } from \"./SheetViewState\";\r\nimport { ViewState, ViewState2d } from \"./ViewState\";\r\n\r\n/** Options for creating a [[ViewState2d]] via [[ViewCreator2d]].\r\n * @public\r\n*/\r\nexport interface ViewCreator2dOptions {\r\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model in the initial state of the view. */\r\n vpAspect?: number;\r\n /** Background color of the view (default is white). */\r\n bgColor?: ColorDef;\r\n /** Checks to see if there already is a [[ViewDefinition2d]] for the given modelId. If so, use it as the seed view, and merge its props into the final view created. */\r\n useSeedView?: boolean;\r\n}\r\n\r\n/**\r\n * API for creating a [[ViewState2d]] for a 2D model ([[GeometricModel2dState]]). @see [[ViewCreator3d]] to create a view for a 3d model.\r\n * Example usage:\r\n * ```ts\r\n * const viewCreator = new ViewCreator2d(imodel);\r\n * const models = await imodel.models.queryProps({ from: \"BisCore.GeometricModel2d\" });\r\n * if (models.length > 0)\r\n * const view = await viewCreator.createViewForModel(models[0].id!);\r\n * ```\r\n * @public\r\n */\r\nexport class ViewCreator2d {\r\n\r\n // Types of 2D models the API supports\r\n private static _drawingModelClasses = [DrawingModelState.classFullName, SectionDrawingModelState.classFullName];\r\n private static _sheetModelClasses = [SheetModelState.classFullName];\r\n\r\n /**\r\n * Constructs a ViewCreator2d using an [[IModelConnection]].\r\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\r\n */\r\n constructor(private _imodel: IModelConnection) { }\r\n\r\n /**\r\n * Creates and returns view for the 2D model id passed in.\r\n * @param modelId Id of the 2D model for the view.\r\n * @param [options] Options for creating the view.\r\n * @throws [IModelError]($common) If modelType is not supported.\r\n */\r\n public async createViewForModel(modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewState> {\r\n\r\n const baseClassName = await this._getModelBaseClassName(modelId);\r\n\r\n const viewState = await this._createViewState2d(modelId, baseClassName.classFullName, options);\r\n try {\r\n await viewState.load();\r\n } catch { }\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Gets model base class name from id.\r\n * @param modelId of target model.\r\n * @throws [IModelError]($common) if modelId is invalid.\r\n */\r\n private async _getModelBaseClassName(modelId: Id64String): Promise<typeof EntityState> {\r\n\r\n let baseClassName;\r\n\r\n const modelProps = await this._imodel.models.getProps(modelId);\r\n if (modelProps.length > 0) {\r\n const modelType = modelProps[0].classFullName;\r\n baseClassName = await this._imodel.findClassFor(modelType, undefined);\r\n } else\r\n throw new IModelError(IModelStatus.BadModel, \"ViewCreator2d._getModelBaseClassName: modelId is invalid\");\r\n\r\n if (baseClassName === undefined)\r\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d.getViewForModel: modelType is invalid\");\r\n\r\n return baseClassName;\r\n }\r\n\r\n /**\r\n * Creates view from any 2D model type (Drawing/SectionDrawing/Sheet)\r\n * @param modelId of target model.\r\n * @param modelType classFullName of target 2D model.\r\n * @param options for view creation.\r\n * @throws [IModelError]($common) if modelType is not supported.\r\n */\r\n private async _createViewState2d(modelId: Id64String, modelType: string, options?: ViewCreator2dOptions): Promise<ViewState2d> {\r\n let viewState: ViewState2d;\r\n if (this._isDrawingModelClass(modelType)) {\r\n const props = await this._createViewStateProps(modelId, options);\r\n viewState = DrawingViewState.createFromProps(props, this._imodel);\r\n } else if (this._isSheetModelClass(modelType)) {\r\n let props = await this._createViewStateProps(modelId, options);\r\n props = await this._addSheetViewProps(modelId, props);\r\n viewState = SheetViewState.createFromProps(props, this._imodel);\r\n } else\r\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d._createViewState2d: modelType not supported\");\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Checks to see if given model is of [[DrawingModelState]].\r\n * @param modelType classFullName of model.\r\n */\r\n private _isDrawingModelClass(modelType: string) {\r\n if (ViewCreator2d._drawingModelClasses.includes(modelType)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks to see if given model is of [[SheetModelState]].\r\n * @param modelType classFullName of model.\r\n */\r\n private _isSheetModelClass(modelType: string) {\r\n if (ViewCreator2d._sheetModelClasses.includes(modelType)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Creates ViewStateProps for the model. ViewStateProps are composed of the 4 sets of Props below.\r\n * @param modelId of target model.\r\n * @param options for view creation.\r\n */\r\n private _createViewStateProps = async (modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewStateProps> => {\r\n // Use dictionary model in all props\r\n const dictionaryId = IModel.dictionaryId;\r\n const categories = await this._getAllCategories();\r\n\r\n // Get bg color from options or default to white\r\n const bgColor: ColorDef = options?.bgColor ? options.bgColor : ColorDef.white;\r\n\r\n // model extents\r\n const modelProps = await this._imodel.models.queryModelRanges(modelId);\r\n const modelExtents = Range3d.fromJSON(modelProps[0]);\r\n let originX = modelExtents.low.x;\r\n let originY = modelExtents.low.y;\r\n let deltaX = modelExtents.xLength();\r\n let deltaY = modelExtents.yLength();\r\n\r\n // if vp aspect given, update model extents to fit view\r\n if (options?.vpAspect) {\r\n const modelAspect = deltaY / deltaX;\r\n\r\n if (modelAspect > options.vpAspect) {\r\n const xFix = deltaY / options.vpAspect;\r\n originX = originX - xFix / 2;\r\n deltaX = deltaX + xFix;\r\n } else if (modelAspect < options.vpAspect) {\r\n const yFix = deltaX * options.vpAspect;\r\n originY = originY - yFix / 2;\r\n deltaY = deltaY + yFix;\r\n }\r\n }\r\n\r\n const modelSelectorProps: ModelSelectorProps = {\r\n models: [modelId],\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ModelSelector\",\r\n };\r\n\r\n const categorySelectorProps: CategorySelectorProps = {\r\n categories,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:CategorySelector\",\r\n };\r\n\r\n const viewDefinitionProps: ViewDefinition2dProps = {\r\n baseModelId: modelId,\r\n categorySelectorId: \"\",\r\n displayStyleId: \"\",\r\n origin: { x: originX, y: originY },\r\n delta: { x: deltaX, y: deltaY },\r\n angle: { radians: 0 },\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ViewDefinition2d\",\r\n };\r\n\r\n const displayStyleProps: DisplayStyleProps = {\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:DisplayStyle\",\r\n jsonProperties: {\r\n styles: {\r\n backgroundColor: bgColor.tbgr,\r\n },\r\n },\r\n };\r\n\r\n const viewStateProps: ViewStateProps = {\r\n displayStyleProps,\r\n categorySelectorProps,\r\n modelSelectorProps,\r\n viewDefinitionProps,\r\n modelExtents,\r\n };\r\n\r\n // merge seed view props if needed\r\n return options?.useSeedView ? this._mergeSeedView(modelId, viewStateProps) : viewStateProps;\r\n };\r\n\r\n /**\r\n * Adds Sheet view props to given view props.\r\n * @param modelId of target model.\r\n * @param props input ViewStateProps.\r\n */\r\n private async _addSheetViewProps(modelId: Id64String, props: ViewStateProps) {\r\n let width = 0;\r\n let height = 0;\r\n for await (const row of this._imodel.query(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), QueryRowFormat.UseJsPropertyNames)) {\r\n width = row.width as number;\r\n height = row.height as number;\r\n break;\r\n }\r\n const sheetProps: SheetProps = {\r\n model: modelId,\r\n code: { spec: \"\", scope: \"\" },\r\n classFullName: \"DrawingSheetModel\",\r\n height,\r\n width,\r\n };\r\n\r\n props.sheetAttachments = await this._getSheetAttachments(modelId);\r\n props.sheetProps = sheetProps;\r\n\r\n return props;\r\n }\r\n\r\n /**\r\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no 2D views for target model.\r\n * @param modelId of target model.\r\n * @param props Input view props to be merged\r\n */\r\n private async _mergeSeedView(modelId: Id64String, props: ViewStateProps): Promise<ViewStateProps> {\r\n const viewDefinitionId = await this._getViewDefinitionsIdForModel(modelId);\r\n // Return incase no viewDefinition found.\r\n if (viewDefinitionId === undefined)\r\n return props;\r\n\r\n const seedViewState = (await this._imodel.views.load(viewDefinitionId));\r\n const seedViewStateProps: ViewStateProps = {\r\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\r\n viewDefinitionProps: seedViewState.toJSON(),\r\n displayStyleProps: seedViewState.displayStyle.toJSON(),\r\n };\r\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\r\n if (mergedDisplayProps.jsonProperties !== undefined) {\r\n mergedDisplayProps.jsonProperties.styles = {\r\n ...mergedDisplayProps.jsonProperties.styles,\r\n ...props.displayStyleProps.jsonProperties!.styles,\r\n };\r\n }\r\n\r\n return { ...seedViewStateProps, ...props, displayStyleProps: mergedDisplayProps };\r\n }\r\n\r\n /**\r\n * Get all view definitions for a given model.\r\n * @param modelId of target model.\r\n */\r\n private async _getViewDefinitionsIdForModel(modelId: Id64String): Promise<Id64String | undefined> {\r\n\r\n const query = `SELECT ECInstanceId from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;\r\n const viewDefinitionsId = await this._executeQuery(query);\r\n\r\n return (viewDefinitionsId.length) > 0 ? viewDefinitionsId[0] : undefined;\r\n }\r\n\r\n /**\r\n * Get all drawing categories\r\n */\r\n private async _getAllCategories(): Promise<Id64Array> {\r\n\r\n const query = \"SELECT ECInstanceId from BisCore.DrawingCategory\";\r\n const categories = await this._executeQuery(query);\r\n\r\n return categories;\r\n }\r\n\r\n /**\r\n * Get all sheet attachments\r\n * @param modelId of target model.\r\n */\r\n private async _getSheetAttachments(modelId: string): Promise<Id64Array> {\r\n\r\n const query = `SELECT ECInstanceId FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;\r\n const attachments = await this._executeQuery(query);\r\n\r\n return attachments;\r\n }\r\n\r\n /**\r\n * Helper function to execute ECSql queries.\r\n * @param query statement to execute.\r\n */\r\n private _executeQuery = async (query: string) => {\r\n const rows = [];\r\n for await (const row of this._imodel.query(query, undefined, QueryRowFormat.UseJsPropertyNames))\r\n rows.push(row.id);\r\n\r\n return rows;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"ViewCreator2d.js","sourceRoot":"","sources":["../../src/ViewCreator2d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/*\r\nAPI for creating a 2D view from a given modelId and modelType (classFullName).\r\nAdditional options (such as background color) can be passed during view creation.\r\n*/\r\n\r\nimport { Id64Array, Id64String, IModelStatus } from \"@itwin/core-bentley\";\r\nimport {\r\n CategorySelectorProps, Code, ColorDef, DisplayStyleProps, IModel, IModelError, ModelSelectorProps, QueryBinder, QueryRowFormat, SheetProps,\r\n ViewDefinition2dProps, ViewStateProps,\r\n} from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { DrawingViewState } from \"./DrawingViewState\";\r\nimport { EntityState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { DrawingModelState, SectionDrawingModelState, SheetModelState } from \"./ModelState\";\r\nimport { SheetViewState } from \"./SheetViewState\";\r\nimport { ViewState, ViewState2d } from \"./ViewState\";\r\n\r\n/** Options for creating a [[ViewState2d]] via [[ViewCreator2d]].\r\n * @public\r\n*/\r\nexport interface ViewCreator2dOptions {\r\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model in the initial state of the view. */\r\n vpAspect?: number;\r\n /** Background color of the view (default is white). */\r\n bgColor?: ColorDef;\r\n /** Checks to see if there already is a [[ViewDefinition2d]] for the given modelId. If so, use it as the seed view, and merge its props into the final view created. */\r\n useSeedView?: boolean;\r\n}\r\n\r\n/**\r\n * API for creating a [[ViewState2d]] for a 2D model ([[GeometricModel2dState]]). @see [[ViewCreator3d]] to create a view for a 3d model.\r\n * Example usage:\r\n * ```ts\r\n * const viewCreator = new ViewCreator2d(imodel);\r\n * const models = await imodel.models.queryProps({ from: \"BisCore.GeometricModel2d\" });\r\n * if (models.length > 0)\r\n * const view = await viewCreator.createViewForModel(models[0].id!);\r\n * ```\r\n * @public\r\n */\r\nexport class ViewCreator2d {\r\n\r\n // Types of 2D models the API supports\r\n private static _drawingModelClasses = [DrawingModelState.classFullName, SectionDrawingModelState.classFullName];\r\n private static _sheetModelClasses = [SheetModelState.classFullName];\r\n\r\n /**\r\n * Constructs a ViewCreator2d using an [[IModelConnection]].\r\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\r\n */\r\n constructor(private _imodel: IModelConnection) { }\r\n\r\n /**\r\n * Creates and returns view for the 2D model id passed in.\r\n * @param modelId Id of the 2D model for the view.\r\n * @param [options] Options for creating the view.\r\n * @throws [IModelError]($common) If modelType is not supported.\r\n */\r\n public async createViewForModel(modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewState> {\r\n\r\n const baseClassName = await this._getModelBaseClassName(modelId);\r\n\r\n const viewState = await this._createViewState2d(modelId, baseClassName.classFullName, options);\r\n try {\r\n await viewState.load();\r\n } catch { }\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Gets model base class name from id.\r\n * @param modelId of target model.\r\n * @throws [IModelError]($common) if modelId is invalid.\r\n */\r\n private async _getModelBaseClassName(modelId: Id64String): Promise<typeof EntityState> {\r\n\r\n let baseClassName;\r\n\r\n const modelProps = await this._imodel.models.getProps(modelId);\r\n if (modelProps.length > 0) {\r\n const modelType = modelProps[0].classFullName;\r\n baseClassName = await this._imodel.findClassFor(modelType, undefined);\r\n } else\r\n throw new IModelError(IModelStatus.BadModel, \"ViewCreator2d._getModelBaseClassName: modelId is invalid\");\r\n\r\n if (baseClassName === undefined)\r\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d.getViewForModel: modelType is invalid\");\r\n\r\n return baseClassName;\r\n }\r\n\r\n /**\r\n * Creates view from any 2D model type (Drawing/SectionDrawing/Sheet)\r\n * @param modelId of target model.\r\n * @param modelType classFullName of target 2D model.\r\n * @param options for view creation.\r\n * @throws [IModelError]($common) if modelType is not supported.\r\n */\r\n private async _createViewState2d(modelId: Id64String, modelType: string, options?: ViewCreator2dOptions): Promise<ViewState2d> {\r\n let viewState: ViewState2d;\r\n if (this._isDrawingModelClass(modelType)) {\r\n const props = await this._createViewStateProps(modelId, options);\r\n viewState = DrawingViewState.createFromProps(props, this._imodel);\r\n } else if (this._isSheetModelClass(modelType)) {\r\n let props = await this._createViewStateProps(modelId, options);\r\n props = await this._addSheetViewProps(modelId, props);\r\n viewState = SheetViewState.createFromProps(props, this._imodel);\r\n } else\r\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d._createViewState2d: modelType not supported\");\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Checks to see if given model is of [[DrawingModelState]].\r\n * @param modelType classFullName of model.\r\n */\r\n private _isDrawingModelClass(modelType: string) {\r\n if (ViewCreator2d._drawingModelClasses.includes(modelType)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks to see if given model is of [[SheetModelState]].\r\n * @param modelType classFullName of model.\r\n */\r\n private _isSheetModelClass(modelType: string) {\r\n if (ViewCreator2d._sheetModelClasses.includes(modelType)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Creates ViewStateProps for the model. ViewStateProps are composed of the 4 sets of Props below.\r\n * @param modelId of target model.\r\n * @param options for view creation.\r\n */\r\n private _createViewStateProps = async (modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewStateProps> => {\r\n // Use dictionary model in all props\r\n const dictionaryId = IModel.dictionaryId;\r\n const categories = await this._getAllCategories();\r\n\r\n // Get bg color from options or default to white\r\n const bgColor: ColorDef = options?.bgColor ? options.bgColor : ColorDef.white;\r\n\r\n // model extents\r\n const modelProps = await this._imodel.models.queryModelRanges(modelId);\r\n const modelExtents = Range3d.fromJSON(modelProps[0]);\r\n let originX = modelExtents.low.x;\r\n let originY = modelExtents.low.y;\r\n let deltaX = modelExtents.xLength();\r\n let deltaY = modelExtents.yLength();\r\n\r\n // if vp aspect given, update model extents to fit view\r\n if (options?.vpAspect) {\r\n const modelAspect = deltaY / deltaX;\r\n\r\n if (modelAspect > options.vpAspect) {\r\n const xFix = deltaY / options.vpAspect;\r\n originX = originX - xFix / 2;\r\n deltaX = deltaX + xFix;\r\n } else if (modelAspect < options.vpAspect) {\r\n const yFix = deltaX * options.vpAspect;\r\n originY = originY - yFix / 2;\r\n deltaY = deltaY + yFix;\r\n }\r\n }\r\n\r\n const modelSelectorProps: ModelSelectorProps = {\r\n models: [modelId],\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ModelSelector\",\r\n };\r\n\r\n const categorySelectorProps: CategorySelectorProps = {\r\n categories,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:CategorySelector\",\r\n };\r\n\r\n const viewDefinitionProps: ViewDefinition2dProps = {\r\n baseModelId: modelId,\r\n categorySelectorId: \"\",\r\n displayStyleId: \"\",\r\n origin: { x: originX, y: originY },\r\n delta: { x: deltaX, y: deltaY },\r\n angle: { radians: 0 },\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ViewDefinition2d\",\r\n };\r\n\r\n const displayStyleProps: DisplayStyleProps = {\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:DisplayStyle2d\",\r\n jsonProperties: {\r\n styles: {\r\n backgroundColor: bgColor.tbgr,\r\n },\r\n },\r\n };\r\n\r\n const viewStateProps: ViewStateProps = {\r\n displayStyleProps,\r\n categorySelectorProps,\r\n modelSelectorProps,\r\n viewDefinitionProps,\r\n modelExtents,\r\n };\r\n\r\n // merge seed view props if needed\r\n return options?.useSeedView ? this._mergeSeedView(modelId, viewStateProps) : viewStateProps;\r\n };\r\n\r\n /**\r\n * Adds Sheet view props to given view props.\r\n * @param modelId of target model.\r\n * @param props input ViewStateProps.\r\n */\r\n private async _addSheetViewProps(modelId: Id64String, props: ViewStateProps) {\r\n let width = 0;\r\n let height = 0;\r\n for await (const row of this._imodel.query(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n width = row.width as number;\r\n height = row.height as number;\r\n break;\r\n }\r\n const sheetProps: SheetProps = {\r\n model: modelId,\r\n code: { spec: \"\", scope: \"\" },\r\n classFullName: \"DrawingSheetModel\",\r\n height,\r\n width,\r\n };\r\n\r\n props.sheetAttachments = await this._getSheetAttachments(modelId);\r\n props.sheetProps = sheetProps;\r\n\r\n return props;\r\n }\r\n\r\n /**\r\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no 2D views for target model.\r\n * @param modelId of target model.\r\n * @param props Input view props to be merged\r\n */\r\n private async _mergeSeedView(modelId: Id64String, props: ViewStateProps): Promise<ViewStateProps> {\r\n const viewDefinitionId = await this._getViewDefinitionsIdForModel(modelId);\r\n // Return incase no viewDefinition found.\r\n if (viewDefinitionId === undefined)\r\n return props;\r\n\r\n const seedViewState = (await this._imodel.views.load(viewDefinitionId));\r\n const seedViewStateProps: ViewStateProps = {\r\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\r\n viewDefinitionProps: seedViewState.toJSON(),\r\n displayStyleProps: seedViewState.displayStyle.toJSON(),\r\n };\r\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\r\n if (mergedDisplayProps.jsonProperties !== undefined) {\r\n mergedDisplayProps.jsonProperties.styles = {\r\n ...mergedDisplayProps.jsonProperties.styles,\r\n ...props.displayStyleProps.jsonProperties!.styles,\r\n };\r\n }\r\n\r\n return { ...seedViewStateProps, ...props, displayStyleProps: mergedDisplayProps };\r\n }\r\n\r\n /**\r\n * Get all view definitions for a given model.\r\n * @param modelId of target model.\r\n */\r\n private async _getViewDefinitionsIdForModel(modelId: Id64String): Promise<Id64String | undefined> {\r\n\r\n const query = `SELECT ECInstanceId from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;\r\n const viewDefinitionsId = await this._executeQuery(query);\r\n\r\n return (viewDefinitionsId.length) > 0 ? viewDefinitionsId[0] : undefined;\r\n }\r\n\r\n /**\r\n * Get all drawing categories\r\n */\r\n private async _getAllCategories(): Promise<Id64Array> {\r\n\r\n const query = \"SELECT ECInstanceId from BisCore.DrawingCategory\";\r\n const categories = await this._executeQuery(query);\r\n\r\n return categories;\r\n }\r\n\r\n /**\r\n * Get all sheet attachments\r\n * @param modelId of target model.\r\n */\r\n private async _getSheetAttachments(modelId: string): Promise<Id64Array> {\r\n\r\n const query = `SELECT ECInstanceId FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;\r\n const attachments = await this._executeQuery(query);\r\n\r\n return attachments;\r\n }\r\n\r\n /**\r\n * Helper function to execute ECSql queries.\r\n * @param query statement to execute.\r\n */\r\n private _executeQuery = async (query: string) => {\r\n const rows = [];\r\n for await (const row of this._imodel.query(query, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames }))\r\n rows.push(row.id);\r\n\r\n return rows;\r\n };\r\n}\r\n"]}
@@ -9,7 +9,7 @@ import { ViewState } from "./ViewState";
9
9
  * @public
10
10
  */
11
11
  export interface ViewCreator3dOptions {
12
- /** Turn [[Camera]] on when generating the view. */
12
+ /** Turn [[Camera]] on when generating the view. Defaults to true (on) */
13
13
  cameraOn?: boolean;
14
14
  /** Turn [[SkyBox]] on when generating the view. */
15
15
  skyboxOn?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewCreator3d.d.ts","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"AAKA;;GAEG;AAOH,OAAO,EAAa,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC;;EAEE;AACF,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IAMZ,OAAO,CAAC,OAAO;IAJ3B;;;OAGG;gBACiB,OAAO,EAAE,gBAAgB;IAE7C;;;;;OAKG;IACU,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAkB3G;;;;OAIG;YACW,qBAAqB;IA2GnC;;;OAGG;YACW,cAAc;IAwB5B;;OAEG;YACW,iBAAiB;IAwB/B;;OAEG;YACW,iBAAiB;IAQ/B;;OAEG;YACW,aAAa;IAgB3B;;OAEG;IACH,OAAO,CAAC,aAAa,CAMnB;CACH"}
1
+ {"version":3,"file":"ViewCreator3d.d.ts","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"AAKA;;GAEG;AAOH,OAAO,EAAa,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;EAEE;AACF,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IAMZ,OAAO,CAAC,OAAO;IAJ3B;;;OAGG;gBACiB,OAAO,EAAE,gBAAgB;IAE7C;;;;;OAKG;IACU,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAkB3G;;;;OAIG;YACW,qBAAqB;IA2GnC;;;OAGG;YACW,cAAc;IAwB5B;;OAEG;YACW,iBAAiB;IAwB/B;;OAEG;YACW,iBAAiB;IAQ/B;;OAEG;YACW,aAAa;IAgB3B;;OAEG;IACH,OAAO,CAAC,aAAa,CAMnB;CACH"}
@@ -8,7 +8,6 @@ exports.ViewCreator3d = void 0;
8
8
  const core_common_1 = require("@itwin/core-common");
9
9
  const core_geometry_1 = require("@itwin/core-geometry");
10
10
  const SpatialViewState_1 = require("./SpatialViewState");
11
- const DisplayStyleState_1 = require("./DisplayStyleState");
12
11
  /**
13
12
  * API for creating a 3D default [[ViewState3d]] for an iModel. @see [[ViewCreator2d]] to create a view for a 2d model.
14
13
  * Example usage:
@@ -30,7 +29,7 @@ class ViewCreator3d {
30
29
  */
31
30
  this._executeQuery = async (query) => {
32
31
  const rows = [];
33
- for await (const row of this._imodel.query(query, undefined, core_common_1.QueryRowFormat.UseJsPropertyNames))
32
+ for await (const row of this._imodel.query(query, undefined, { rowFormat: core_common_1.QueryRowFormat.UseJsPropertyNames }))
34
33
  rows.push(row.id);
35
34
  return rows;
36
35
  };
@@ -107,7 +106,7 @@ class ViewCreator3d {
107
106
  classFullName: "BisCore:ModelSelector",
108
107
  };
109
108
  const cameraData = new core_common_1.Camera();
110
- const cameraOn = (options === null || options === void 0 ? void 0 : options.cameraOn) ? options.cameraOn : false;
109
+ const cameraOn = (options === null || options === void 0 ? void 0 : options.cameraOn) !== false;
111
110
  const viewDefinitionProps = {
112
111
  categorySelectorId: "",
113
112
  displayStyleId: "",
@@ -126,7 +125,7 @@ class ViewCreator3d {
126
125
  const displayStyleProps = {
127
126
  code: core_common_1.Code.createEmpty(),
128
127
  model: dictionaryId,
129
- classFullName: "BisCore:DisplayStyle",
128
+ classFullName: "BisCore:DisplayStyle3d",
130
129
  jsonProperties: {
131
130
  styles: {
132
131
  viewflags: {
@@ -142,7 +141,7 @@ class ViewCreator3d {
142
141
  environment: options !== undefined &&
143
142
  options.skyboxOn !== undefined &&
144
143
  options.skyboxOn
145
- ? new DisplayStyleState_1.Environment({ sky: { display: true } }).toJSON()
144
+ ? core_common_1.Environment.defaults.withDisplay({ sky: true }).toJSON()
146
145
  : undefined,
147
146
  },
148
147
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ViewCreator3d.js","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/*\r\nAPI for creating a 3D default view for an iModel.\r\nEither takes in a list of modelIds, or displays all 3D models by default.\r\n*/\r\n\r\nimport { Id64Array, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n Camera, CategorySelectorProps, Code, DisplayStyle3dProps, IModel, IModelReadRpcInterface, ModelSelectorProps, QueryRowFormat,\r\n RenderMode, ViewDefinition3dProps, ViewQueryParams, ViewStateProps,\r\n} from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { StandardViewId } from \"./StandardView\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { ViewState } from \"./ViewState\";\r\nimport { SpatialViewState } from \"./SpatialViewState\";\r\nimport { Environment } from \"./DisplayStyleState\";\r\n\r\n/** Options for creating a [[ViewState3d]] via [[ViewCreator3d]].\r\n * @public\r\n*/\r\nexport interface ViewCreator3dOptions {\r\n /** Turn [[Camera]] on when generating the view. */\r\n cameraOn?: boolean;\r\n /** Turn [[SkyBox]] on when generating the view. */\r\n skyboxOn?: boolean;\r\n /** [[StandardViewId]] for the view state. */\r\n standardViewId?: StandardViewId;\r\n /** Merge in props from the seed view (default spatial view) of the iModel. */\r\n useSeedView?: boolean;\r\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model(s) in the initial state of the view. */\r\n vpAspect?: number;\r\n}\r\n\r\n/**\r\n * API for creating a 3D default [[ViewState3d]] for an iModel. @see [[ViewCreator2d]] to create a view for a 2d model.\r\n * Example usage:\r\n * ```ts\r\n * const viewCreator = new ViewCreator3d(imodel);\r\n * const defaultView = await viewCreator.createDefaultView({skyboxOn: true});\r\n * ```\r\n * @public\r\n */\r\nexport class ViewCreator3d {\r\n\r\n /**\r\n * Constructs a ViewCreator3d using an [[IModelConnection]].\r\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\r\n */\r\n constructor(private _imodel: IModelConnection) { }\r\n\r\n /**\r\n * Creates 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.\r\n * @param [options] Options for creating the view.\r\n * @param [modelIds] Ids of models to display in the view.\r\n * @throws [IModelError]($common) If no 3d models are found in the iModel.\r\n */\r\n public async createDefaultView(options?: ViewCreator3dOptions, modelIds?: Id64String[]): Promise<ViewState> {\r\n const models = modelIds ?? await this._getAllModels();\r\n const props = await this._createViewStateProps(models, options);\r\n const viewState = SpatialViewState.createFromProps(props, this._imodel);\r\n try {\r\n await viewState.load();\r\n } catch {\r\n }\r\n\r\n if (options?.standardViewId)\r\n viewState.setStandardRotation(options.standardViewId);\r\n\r\n const range = viewState.computeFitRange();\r\n viewState.lookAtVolume(range, options?.vpAspect);\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Generates a view state props object for creating a view. Merges display styles with a seed view if the options.useSeedView is true\r\n * @param models Models to put in view props\r\n * @param options view creation options like camera On and skybox On\r\n */\r\n private async _createViewStateProps(models: Id64String[], options?: ViewCreator3dOptions): Promise<ViewStateProps> {\r\n // Use dictionary model in all props\r\n const dictionaryId = IModel.dictionaryId;\r\n const categories: Id64Array = await this._getAllCategories();\r\n\r\n // model extents\r\n const modelExtents = new Range3d();\r\n if (models.length > 0) {\r\n const modelProps = await this._imodel.models.queryModelRanges(models);\r\n for (const props of modelProps)\r\n modelExtents.union(Range3d.fromJSON(props), modelExtents);\r\n }\r\n\r\n if (modelExtents.isNull)\r\n modelExtents.setFrom(this._imodel.projectExtents);\r\n\r\n let originX = modelExtents.low.x;\r\n let originY = modelExtents.low.y;\r\n const originZ = modelExtents.low.z;\r\n let deltaX = modelExtents.xLength();\r\n let deltaY = modelExtents.yLength();\r\n const deltaZ = modelExtents.zLength();\r\n\r\n // if vp aspect given, update model extents to fit view\r\n if (options?.vpAspect) {\r\n const modelAspect = deltaY / deltaX;\r\n\r\n if (modelAspect > options.vpAspect) {\r\n const xFix = deltaY / options.vpAspect;\r\n originX = originX - xFix / 2;\r\n deltaX = deltaX + xFix;\r\n } else if (modelAspect < options.vpAspect) {\r\n const yFix = deltaX * options.vpAspect;\r\n originY = originY - yFix / 2;\r\n deltaY = deltaY + yFix;\r\n }\r\n }\r\n\r\n const categorySelectorProps: CategorySelectorProps = {\r\n categories,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:CategorySelector\",\r\n };\r\n\r\n const modelSelectorProps: ModelSelectorProps = {\r\n models,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ModelSelector\",\r\n };\r\n\r\n const cameraData = new Camera();\r\n const cameraOn = options?.cameraOn ? options.cameraOn : false;\r\n const viewDefinitionProps: ViewDefinition3dProps = {\r\n categorySelectorId: \"\",\r\n displayStyleId: \"\",\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n origin: { x: originX, y: originY, z: originZ },\r\n extents: { x: deltaX, y: deltaY, z: deltaZ },\r\n classFullName: \"BisCore:SpatialViewDefinition\",\r\n cameraOn,\r\n camera: {\r\n lens: cameraData.lens.toJSON(),\r\n focusDist: cameraData.focusDist,\r\n eye: cameraData.eye.toJSON(),\r\n },\r\n };\r\n\r\n const displayStyleProps: DisplayStyle3dProps = {\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:DisplayStyle\",\r\n jsonProperties: {\r\n styles: {\r\n viewflags: {\r\n renderMode: RenderMode.SmoothShade,\r\n noSourceLights: false,\r\n noCameraLights: false,\r\n noSolarLight: false,\r\n noConstruct: true,\r\n noTransp: false,\r\n visEdges: false,\r\n backgroundMap: this._imodel.isGeoLocated,\r\n },\r\n environment:\r\n options !== undefined &&\r\n options.skyboxOn !== undefined &&\r\n options.skyboxOn\r\n ? new Environment({ sky: { display: true } }).toJSON()\r\n : undefined,\r\n },\r\n },\r\n };\r\n\r\n const viewStateProps: ViewStateProps = {\r\n displayStyleProps,\r\n categorySelectorProps,\r\n modelSelectorProps,\r\n viewDefinitionProps,\r\n };\r\n\r\n // merge seed view props if needed\r\n return options?.useSeedView ? this._mergeSeedView(viewStateProps) : viewStateProps;\r\n }\r\n\r\n /**\r\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no default 3D views in the iModel\r\n * @param viewStateProps Input view props to be merged\r\n */\r\n private async _mergeSeedView(viewStateProps: ViewStateProps): Promise<ViewStateProps> {\r\n const viewId = await this._getDefaultViewId();\r\n // Handle iModels without any default view id\r\n if (viewId === undefined)\r\n return viewStateProps;\r\n\r\n const seedViewState = (await this._imodel.views.load(viewId) as SpatialViewState);\r\n const seedViewStateProps = {\r\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\r\n modelSelectorProps: seedViewState.modelSelector.toJSON(),\r\n viewDefinitionProps: seedViewState.toJSON(),\r\n displayStyleProps: seedViewState.displayStyle.toJSON(),\r\n };\r\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\r\n if (mergedDisplayProps.jsonProperties !== undefined) {\r\n mergedDisplayProps.jsonProperties.styles = {\r\n ...mergedDisplayProps.jsonProperties.styles,\r\n ...viewStateProps.displayStyleProps.jsonProperties!.styles,\r\n };\r\n }\r\n\r\n return { ...seedViewStateProps, ...viewStateProps, displayStyleProps: mergedDisplayProps };\r\n }\r\n\r\n /**\r\n * Get ID of default view.\r\n */\r\n private async _getDefaultViewId(): Promise<Id64String | undefined> {\r\n const viewId = await this._imodel.views.queryDefaultViewId();\r\n const params: ViewQueryParams = {};\r\n params.from = SpatialViewState.classFullName;\r\n params.where = `ECInstanceId=${viewId}`;\r\n\r\n // Check validity of default view\r\n const viewProps = await IModelReadRpcInterface.getClient().queryElementProps(this._imodel.getRpcProps(), params);\r\n if (viewProps.length === 0) {\r\n // Return the first view we can find\r\n const viewList = await this._imodel.views.getViewList({ wantPrivate: false });\r\n if (viewList.length === 0)\r\n return undefined;\r\n\r\n const spatialViewList = viewList.filter((value: IModelConnection.ViewSpec) => value.class.indexOf(\"Spatial\") !== -1);\r\n if (spatialViewList.length === 0)\r\n return undefined;\r\n\r\n return spatialViewList[0].id;\r\n }\r\n\r\n return viewId;\r\n }\r\n\r\n /**\r\n * Get all categories containing elements\r\n */\r\n private async _getAllCategories(): Promise<Id64Array> {\r\n // Only use categories with elements in them\r\n const query = `SELECT DISTINCT Category.Id AS id FROM BisCore.GeometricElement3d WHERE Category.Id IN (SELECT ECInstanceId FROM BisCore.SpatialCategory)`;\r\n const categories: Id64Array = await this._executeQuery(query);\r\n\r\n return categories;\r\n }\r\n\r\n /**\r\n * Get all PhysicalModel ids in the connection\r\n */\r\n private async _getAllModels(): Promise<Id64Array> {\r\n // Note: IsNotSpatiallyLocated was introduced in a later version of the BisCore ECSchema.\r\n // If the iModel has an earlier version, the statement will throw because the property does not exist.\r\n // If the iModel was created from an earlier version and later upgraded to a newer version, the property may be NULL for models created prior to the upgrade.\r\n const select = \"SELECT ECInstanceId FROM Bis.GeometricModel3D WHERE IsPrivate = false AND IsTemplate = false\";\r\n const spatialCriterion = \"AND (IsNotSpatiallyLocated IS NULL OR IsNotSpatiallyLocated = false)\";\r\n let models = [];\r\n try {\r\n models = await this._executeQuery(`${select} ${spatialCriterion}`);\r\n } catch {\r\n models = await this._executeQuery(select);\r\n }\r\n\r\n return models;\r\n }\r\n\r\n /**\r\n * Helper function to execute ECSql queries.\r\n */\r\n private _executeQuery = async (query: string) => {\r\n const rows = [];\r\n for await (const row of this._imodel.query(query, undefined, QueryRowFormat.UseJsPropertyNames))\r\n rows.push(row.id);\r\n\r\n return rows;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"ViewCreator3d.js","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/*\r\nAPI for creating a 3D default view for an iModel.\r\nEither takes in a list of modelIds, or displays all 3D models by default.\r\n*/\r\n\r\nimport { Id64Array, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n Camera, CategorySelectorProps, Code, DisplayStyle3dProps, Environment, IModel, IModelReadRpcInterface, ModelSelectorProps, QueryRowFormat,\r\n RenderMode, ViewDefinition3dProps, ViewQueryParams, ViewStateProps,\r\n} from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { StandardViewId } from \"./StandardView\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { ViewState } from \"./ViewState\";\r\nimport { SpatialViewState } from \"./SpatialViewState\";\r\n\r\n/** Options for creating a [[ViewState3d]] via [[ViewCreator3d]].\r\n * @public\r\n*/\r\nexport interface ViewCreator3dOptions {\r\n /** Turn [[Camera]] on when generating the view. Defaults to true (on) */\r\n cameraOn?: boolean;\r\n /** Turn [[SkyBox]] on when generating the view. */\r\n skyboxOn?: boolean;\r\n /** [[StandardViewId]] for the view state. */\r\n standardViewId?: StandardViewId;\r\n /** Merge in props from the seed view (default spatial view) of the iModel. */\r\n useSeedView?: boolean;\r\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model(s) in the initial state of the view. */\r\n vpAspect?: number;\r\n}\r\n\r\n/**\r\n * API for creating a 3D default [[ViewState3d]] for an iModel. @see [[ViewCreator2d]] to create a view for a 2d model.\r\n * Example usage:\r\n * ```ts\r\n * const viewCreator = new ViewCreator3d(imodel);\r\n * const defaultView = await viewCreator.createDefaultView({skyboxOn: true});\r\n * ```\r\n * @public\r\n */\r\nexport class ViewCreator3d {\r\n\r\n /**\r\n * Constructs a ViewCreator3d using an [[IModelConnection]].\r\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\r\n */\r\n constructor(private _imodel: IModelConnection) { }\r\n\r\n /**\r\n * Creates 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.\r\n * @param [options] Options for creating the view.\r\n * @param [modelIds] Ids of models to display in the view.\r\n * @throws [IModelError]($common) If no 3d models are found in the iModel.\r\n */\r\n public async createDefaultView(options?: ViewCreator3dOptions, modelIds?: Id64String[]): Promise<ViewState> {\r\n const models = modelIds ?? await this._getAllModels();\r\n const props = await this._createViewStateProps(models, options);\r\n const viewState = SpatialViewState.createFromProps(props, this._imodel);\r\n try {\r\n await viewState.load();\r\n } catch {\r\n }\r\n\r\n if (options?.standardViewId)\r\n viewState.setStandardRotation(options.standardViewId);\r\n\r\n const range = viewState.computeFitRange();\r\n viewState.lookAtVolume(range, options?.vpAspect);\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Generates a view state props object for creating a view. Merges display styles with a seed view if the options.useSeedView is true\r\n * @param models Models to put in view props\r\n * @param options view creation options like camera On and skybox On\r\n */\r\n private async _createViewStateProps(models: Id64String[], options?: ViewCreator3dOptions): Promise<ViewStateProps> {\r\n // Use dictionary model in all props\r\n const dictionaryId = IModel.dictionaryId;\r\n const categories: Id64Array = await this._getAllCategories();\r\n\r\n // model extents\r\n const modelExtents = new Range3d();\r\n if (models.length > 0) {\r\n const modelProps = await this._imodel.models.queryModelRanges(models);\r\n for (const props of modelProps)\r\n modelExtents.union(Range3d.fromJSON(props), modelExtents);\r\n }\r\n\r\n if (modelExtents.isNull)\r\n modelExtents.setFrom(this._imodel.projectExtents);\r\n\r\n let originX = modelExtents.low.x;\r\n let originY = modelExtents.low.y;\r\n const originZ = modelExtents.low.z;\r\n let deltaX = modelExtents.xLength();\r\n let deltaY = modelExtents.yLength();\r\n const deltaZ = modelExtents.zLength();\r\n\r\n // if vp aspect given, update model extents to fit view\r\n if (options?.vpAspect) {\r\n const modelAspect = deltaY / deltaX;\r\n\r\n if (modelAspect > options.vpAspect) {\r\n const xFix = deltaY / options.vpAspect;\r\n originX = originX - xFix / 2;\r\n deltaX = deltaX + xFix;\r\n } else if (modelAspect < options.vpAspect) {\r\n const yFix = deltaX * options.vpAspect;\r\n originY = originY - yFix / 2;\r\n deltaY = deltaY + yFix;\r\n }\r\n }\r\n\r\n const categorySelectorProps: CategorySelectorProps = {\r\n categories,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:CategorySelector\",\r\n };\r\n\r\n const modelSelectorProps: ModelSelectorProps = {\r\n models,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ModelSelector\",\r\n };\r\n\r\n const cameraData = new Camera();\r\n const cameraOn = options?.cameraOn !== false;\r\n const viewDefinitionProps: ViewDefinition3dProps = {\r\n categorySelectorId: \"\",\r\n displayStyleId: \"\",\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n origin: { x: originX, y: originY, z: originZ },\r\n extents: { x: deltaX, y: deltaY, z: deltaZ },\r\n classFullName: \"BisCore:SpatialViewDefinition\",\r\n cameraOn,\r\n camera: {\r\n lens: cameraData.lens.toJSON(),\r\n focusDist: cameraData.focusDist,\r\n eye: cameraData.eye.toJSON(),\r\n },\r\n };\r\n\r\n const displayStyleProps: DisplayStyle3dProps = {\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:DisplayStyle3d\",\r\n jsonProperties: {\r\n styles: {\r\n viewflags: {\r\n renderMode: RenderMode.SmoothShade,\r\n noSourceLights: false,\r\n noCameraLights: false,\r\n noSolarLight: false,\r\n noConstruct: true,\r\n noTransp: false,\r\n visEdges: false,\r\n backgroundMap: this._imodel.isGeoLocated,\r\n },\r\n environment:\r\n options !== undefined &&\r\n options.skyboxOn !== undefined &&\r\n options.skyboxOn\r\n ? Environment.defaults.withDisplay({ sky: true }).toJSON()\r\n : undefined,\r\n },\r\n },\r\n };\r\n\r\n const viewStateProps: ViewStateProps = {\r\n displayStyleProps,\r\n categorySelectorProps,\r\n modelSelectorProps,\r\n viewDefinitionProps,\r\n };\r\n\r\n // merge seed view props if needed\r\n return options?.useSeedView ? this._mergeSeedView(viewStateProps) : viewStateProps;\r\n }\r\n\r\n /**\r\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no default 3D views in the iModel\r\n * @param viewStateProps Input view props to be merged\r\n */\r\n private async _mergeSeedView(viewStateProps: ViewStateProps): Promise<ViewStateProps> {\r\n const viewId = await this._getDefaultViewId();\r\n // Handle iModels without any default view id\r\n if (viewId === undefined)\r\n return viewStateProps;\r\n\r\n const seedViewState = (await this._imodel.views.load(viewId) as SpatialViewState);\r\n const seedViewStateProps = {\r\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\r\n modelSelectorProps: seedViewState.modelSelector.toJSON(),\r\n viewDefinitionProps: seedViewState.toJSON(),\r\n displayStyleProps: seedViewState.displayStyle.toJSON(),\r\n };\r\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\r\n if (mergedDisplayProps.jsonProperties !== undefined) {\r\n mergedDisplayProps.jsonProperties.styles = {\r\n ...mergedDisplayProps.jsonProperties.styles,\r\n ...viewStateProps.displayStyleProps.jsonProperties!.styles,\r\n };\r\n }\r\n\r\n return { ...seedViewStateProps, ...viewStateProps, displayStyleProps: mergedDisplayProps };\r\n }\r\n\r\n /**\r\n * Get ID of default view.\r\n */\r\n private async _getDefaultViewId(): Promise<Id64String | undefined> {\r\n const viewId = await this._imodel.views.queryDefaultViewId();\r\n const params: ViewQueryParams = {};\r\n params.from = SpatialViewState.classFullName;\r\n params.where = `ECInstanceId=${viewId}`;\r\n\r\n // Check validity of default view\r\n const viewProps = await IModelReadRpcInterface.getClient().queryElementProps(this._imodel.getRpcProps(), params);\r\n if (viewProps.length === 0) {\r\n // Return the first view we can find\r\n const viewList = await this._imodel.views.getViewList({ wantPrivate: false });\r\n if (viewList.length === 0)\r\n return undefined;\r\n\r\n const spatialViewList = viewList.filter((value: IModelConnection.ViewSpec) => value.class.indexOf(\"Spatial\") !== -1);\r\n if (spatialViewList.length === 0)\r\n return undefined;\r\n\r\n return spatialViewList[0].id;\r\n }\r\n\r\n return viewId;\r\n }\r\n\r\n /**\r\n * Get all categories containing elements\r\n */\r\n private async _getAllCategories(): Promise<Id64Array> {\r\n // Only use categories with elements in them\r\n const query = `SELECT DISTINCT Category.Id AS id FROM BisCore.GeometricElement3d WHERE Category.Id IN (SELECT ECInstanceId FROM BisCore.SpatialCategory)`;\r\n const categories: Id64Array = await this._executeQuery(query);\r\n\r\n return categories;\r\n }\r\n\r\n /**\r\n * Get all PhysicalModel ids in the connection\r\n */\r\n private async _getAllModels(): Promise<Id64Array> {\r\n // Note: IsNotSpatiallyLocated was introduced in a later version of the BisCore ECSchema.\r\n // If the iModel has an earlier version, the statement will throw because the property does not exist.\r\n // If the iModel was created from an earlier version and later upgraded to a newer version, the property may be NULL for models created prior to the upgrade.\r\n const select = \"SELECT ECInstanceId FROM Bis.GeometricModel3D WHERE IsPrivate = false AND IsTemplate = false\";\r\n const spatialCriterion = \"AND (IsNotSpatiallyLocated IS NULL OR IsNotSpatiallyLocated = false)\";\r\n let models = [];\r\n try {\r\n models = await this._executeQuery(`${select} ${spatialCriterion}`);\r\n } catch {\r\n models = await this._executeQuery(select);\r\n }\r\n\r\n return models;\r\n }\r\n\r\n /**\r\n * Helper function to execute ECSql queries.\r\n */\r\n private _executeQuery = async (query: string) => {\r\n const rows = [];\r\n for await (const row of this._imodel.query(query, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames }))\r\n rows.push(row.id);\r\n\r\n return rows;\r\n };\r\n}\r\n"]}
@@ -7,7 +7,7 @@ import { HitDetail } from "./HitDetail";
7
7
  import { IModelConnection } from "./IModelConnection";
8
8
  import { BeButtonEvent, EventHandled } from "./tools/Tool";
9
9
  import { ScreenViewport, ViewportDecorator } from "./Viewport";
10
- /** Interface for drawing [[Decorations]] into, or on top of, the active [[ScreenViewport]]s managed by [[ViewManager]].
10
+ /** Interface for drawing [decoration graphics]($docs/learning/frontend/ViewDecorations.md) into, or on top of, the active [[ScreenViewport]]s managed by [[ViewManager]].
11
11
  * Decorators generate [[Decorations]].
12
12
  * @public
13
13
  */
@@ -259,11 +259,11 @@ export declare class ViewManager implements Iterable<ScreenViewport> {
259
259
  * @internal
260
260
  */
261
261
  refreshForModifiedModels(modelIds: Id64Arg | undefined): void;
262
- /** The number of [antialiasing](https://en.wikipedia.org/wiki/Multisample_anti-aliasing) samples to be used when rendering the contents of all viewports
263
- * registered with the ViewManager.
264
- * Must be an integer greater than zero. A value of 1 means antialiasing is disabled. A higher number of samples correlates generally to a higher quality image but
265
- * is also more demanding on the graphics hardware.
266
- * This setting will also be applied to subsequently-registered viewports.
262
+ /** Sets the number of [MSAA]($docs/learning/display/MSAA.md) samples for all currently- and subsequently-opened [[ScreenViewport]]s.
263
+ * @param numSamples The number of samples as a power of two. Values of 1 or less indicates anti-aliasing should be disabled. Non-power-of-two values are rounded
264
+ * down to the nearest power of two. The maximum number of samples supported depends upon the client's graphics hardware capabilities. Higher values produce
265
+ * a higher-quality image but also may also reduce framerate.
266
+ * @see [[Viewport.antialiasSamples]] to adjust the number of samples for a specific viewport.
267
267
  */
268
268
  setAntialiasingAllViews(numSamples: number): void;
269
269
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ViewManager.d.ts","sourceRoot":"","sources":["../../src/ViewManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewManager.d.ts","sourceRoot":"","sources":["../../src/ViewManager.ts"],"names":[],"mappings":"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"}
@@ -415,14 +415,14 @@ class ViewManager {
415
415
  }
416
416
  return undefined;
417
417
  }
418
- get crossHairCursor() { return "url(cursors/crosshair.cur), crosshair"; }
419
- get dynamicsCursor() { return "url(cursors/dynamics.cur), move"; }
420
- get grabCursor() { return "url(cursors/openHand.cur), auto"; }
421
- get grabbingCursor() { return "url(cursors/closedHand.cur), auto"; }
422
- get walkCursor() { return "url(cursors/walk.cur), auto"; }
423
- get rotateCursor() { return "url(cursors/rotate.cur), auto"; }
424
- get lookCursor() { return "url(cursors/look.cur), auto"; }
425
- get zoomCursor() { return "url(cursors/zoom.cur), auto"; }
418
+ get crossHairCursor() { return `url(${IModelApp_1.IModelApp.publicPath}cursors/crosshair.cur), crosshair`; }
419
+ get dynamicsCursor() { return `url(${IModelApp_1.IModelApp.publicPath}cursors/dynamics.cur), move`; }
420
+ get grabCursor() { return `url(${IModelApp_1.IModelApp.publicPath}cursors/openHand.cur), auto`; }
421
+ get grabbingCursor() { return `url(${IModelApp_1.IModelApp.publicPath}cursors/closedHand.cur), auto`; }
422
+ get walkCursor() { return `url(${IModelApp_1.IModelApp.publicPath}cursors/walk.cur), auto`; }
423
+ get rotateCursor() { return `url(${IModelApp_1.IModelApp.publicPath}cursors/rotate.cur), auto`; }
424
+ get lookCursor() { return `url(${IModelApp_1.IModelApp.publicPath}cursors/look.cur), auto`; }
425
+ get zoomCursor() { return `url(${IModelApp_1.IModelApp.publicPath}cursors/zoom.cur), auto`; }
426
426
  /** Change the cursor shown in all Viewports.
427
427
  * @param cursor The new cursor to display. If undefined, the default cursor is used.
428
428
  */
@@ -442,11 +442,11 @@ class ViewManager {
442
442
  for (const vp of this._viewports)
443
443
  vp.refreshForModifiedModels(modelIds);
444
444
  }
445
- /** The number of [antialiasing](https://en.wikipedia.org/wiki/Multisample_anti-aliasing) samples to be used when rendering the contents of all viewports
446
- * registered with the ViewManager.
447
- * Must be an integer greater than zero. A value of 1 means antialiasing is disabled. A higher number of samples correlates generally to a higher quality image but
448
- * is also more demanding on the graphics hardware.
449
- * This setting will also be applied to subsequently-registered viewports.
445
+ /** Sets the number of [MSAA]($docs/learning/display/MSAA.md) samples for all currently- and subsequently-opened [[ScreenViewport]]s.
446
+ * @param numSamples The number of samples as a power of two. Values of 1 or less indicates anti-aliasing should be disabled. Non-power-of-two values are rounded
447
+ * down to the nearest power of two. The maximum number of samples supported depends upon the client's graphics hardware capabilities. Higher values produce
448
+ * a higher-quality image but also may also reduce framerate.
449
+ * @see [[Viewport.antialiasSamples]] to adjust the number of samples for a specific viewport.
450
450
  */
451
451
  setAntialiasingAllViews(numSamples) {
452
452
  for (const vp of this)