@itwin/core-frontend 3.0.0-extension.1 → 3.1.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1266) hide show
  1. package/CHANGELOG.md +89 -1
  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/EmphasizeElements.d.ts.map +1 -1
  27. package/lib/cjs/EmphasizeElements.js +14 -4
  28. package/lib/cjs/EmphasizeElements.js.map +1 -1
  29. package/lib/cjs/EnvironmentDecorations.d.ts +39 -0
  30. package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -0
  31. package/lib/cjs/EnvironmentDecorations.js +203 -0
  32. package/lib/cjs/EnvironmentDecorations.js.map +1 -0
  33. package/lib/cjs/FrontendHubAccess.d.ts +11 -7
  34. package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
  35. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  36. package/lib/cjs/FrontendLoggerCategory.d.ts +2 -8
  37. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  38. package/lib/cjs/FrontendLoggerCategory.js +2 -8
  39. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  40. package/lib/cjs/HitDetail.js +7 -7
  41. package/lib/cjs/HitDetail.js.map +1 -1
  42. package/lib/cjs/IModelApp.d.ts +31 -24
  43. package/lib/cjs/IModelApp.d.ts.map +1 -1
  44. package/lib/cjs/IModelApp.js +35 -36
  45. package/lib/cjs/IModelApp.js.map +1 -1
  46. package/lib/cjs/IModelConnection.d.ts +4 -6
  47. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  48. package/lib/cjs/IModelConnection.js +6 -11
  49. package/lib/cjs/IModelConnection.js.map +1 -1
  50. package/lib/cjs/IModeljs-css.d.ts.map +1 -1
  51. package/lib/cjs/IModeljs-css.js +8 -6
  52. package/lib/cjs/IModeljs-css.js.map +1 -1
  53. package/lib/cjs/ImageUtil.d.ts +3 -3
  54. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  55. package/lib/cjs/ImageUtil.js +7 -4
  56. package/lib/cjs/ImageUtil.js.map +1 -1
  57. package/lib/cjs/LocalhostIpcApp.d.ts +2 -1
  58. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  59. package/lib/cjs/LocalhostIpcApp.js +21 -7
  60. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  61. package/lib/cjs/Marker.d.ts +9 -2
  62. package/lib/cjs/Marker.d.ts.map +1 -1
  63. package/lib/cjs/Marker.js +33 -5
  64. package/lib/cjs/Marker.js.map +1 -1
  65. package/lib/cjs/ModelState.js +1 -1
  66. package/lib/cjs/ModelState.js.map +1 -1
  67. package/lib/cjs/NativeApp.d.ts +3 -38
  68. package/lib/cjs/NativeApp.d.ts.map +1 -1
  69. package/lib/cjs/NativeApp.js +4 -73
  70. package/lib/cjs/NativeApp.js.map +1 -1
  71. package/lib/cjs/NoRenderApp.d.ts +0 -1
  72. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  73. package/lib/cjs/NoRenderApp.js +0 -1
  74. package/lib/cjs/NoRenderApp.js.map +1 -1
  75. package/lib/cjs/NotificationManager.d.ts +3 -1
  76. package/lib/cjs/NotificationManager.d.ts.map +1 -1
  77. package/lib/cjs/NotificationManager.js +2 -0
  78. package/lib/cjs/NotificationManager.js.map +1 -1
  79. package/lib/cjs/RealityDataSource.d.ts +59 -29
  80. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  81. package/lib/cjs/RealityDataSource.js +247 -94
  82. package/lib/cjs/RealityDataSource.js.map +1 -1
  83. package/lib/cjs/RenderScheduleState.d.ts +2 -0
  84. package/lib/cjs/RenderScheduleState.d.ts.map +1 -1
  85. package/lib/cjs/RenderScheduleState.js +10 -5
  86. package/lib/cjs/RenderScheduleState.js.map +1 -1
  87. package/lib/cjs/SheetViewState.d.ts +2 -2
  88. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  89. package/lib/cjs/SheetViewState.js +7 -6
  90. package/lib/cjs/SheetViewState.js.map +1 -1
  91. package/lib/cjs/SpatialViewState.d.ts +10 -2
  92. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  93. package/lib/cjs/SpatialViewState.js +12 -2
  94. package/lib/cjs/SpatialViewState.js.map +1 -1
  95. package/lib/cjs/SubCategoriesCache.js +1 -1
  96. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  97. package/lib/cjs/Tiles.d.ts +11 -1
  98. package/lib/cjs/Tiles.d.ts.map +1 -1
  99. package/lib/cjs/Tiles.js +7 -0
  100. package/lib/cjs/Tiles.js.map +1 -1
  101. package/lib/cjs/TwoWayViewportSync.d.ts +35 -6
  102. package/lib/cjs/TwoWayViewportSync.d.ts.map +1 -1
  103. package/lib/cjs/TwoWayViewportSync.js +51 -11
  104. package/lib/cjs/TwoWayViewportSync.js.map +1 -1
  105. package/lib/cjs/UserPreferences.d.ts +72 -0
  106. package/lib/cjs/UserPreferences.d.ts.map +1 -0
  107. package/lib/cjs/{extension/ExtensionLoader.js → UserPreferences.js} +1 -5
  108. package/lib/cjs/UserPreferences.js.map +1 -0
  109. package/lib/cjs/ViewContext.d.ts +3 -1
  110. package/lib/cjs/ViewContext.d.ts.map +1 -1
  111. package/lib/cjs/ViewContext.js +4 -0
  112. package/lib/cjs/ViewContext.js.map +1 -1
  113. package/lib/cjs/ViewCreator2d.js +3 -3
  114. package/lib/cjs/ViewCreator2d.js.map +1 -1
  115. package/lib/cjs/ViewCreator3d.d.ts +1 -1
  116. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  117. package/lib/cjs/ViewCreator3d.js +4 -5
  118. package/lib/cjs/ViewCreator3d.js.map +1 -1
  119. package/lib/cjs/ViewManager.d.ts +6 -6
  120. package/lib/cjs/ViewManager.d.ts.map +1 -1
  121. package/lib/cjs/ViewManager.js +13 -13
  122. package/lib/cjs/ViewManager.js.map +1 -1
  123. package/lib/cjs/ViewState.d.ts +11 -5
  124. package/lib/cjs/ViewState.d.ts.map +1 -1
  125. package/lib/cjs/ViewState.js +18 -63
  126. package/lib/cjs/ViewState.js.map +1 -1
  127. package/lib/cjs/ViewingSpace.js +1 -1
  128. package/lib/cjs/ViewingSpace.js.map +1 -1
  129. package/lib/cjs/Viewport.d.ts +34 -6
  130. package/lib/cjs/Viewport.d.ts.map +1 -1
  131. package/lib/cjs/Viewport.js +42 -22
  132. package/lib/cjs/Viewport.js.map +1 -1
  133. package/lib/cjs/core-frontend.d.ts +16 -31
  134. package/lib/cjs/core-frontend.d.ts.map +1 -1
  135. package/lib/cjs/core-frontend.js +16 -31
  136. package/lib/cjs/core-frontend.js.map +1 -1
  137. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  138. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  139. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  140. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  141. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  142. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  143. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +20 -5
  144. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  145. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +26 -3
  146. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  147. package/lib/cjs/quantity-formatting/QuantityFormatter.js +46 -7
  148. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  149. package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
  150. package/lib/cjs/render/FeatureSymbology.js +3 -3
  151. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  152. package/lib/cjs/render/GraphicBranch.d.ts +18 -2
  153. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  154. package/lib/cjs/render/GraphicBranch.js +9 -1
  155. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  156. package/lib/cjs/render/GraphicBuilder.d.ts +7 -1
  157. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  158. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  159. package/lib/cjs/render/MockRender.d.ts +3 -1
  160. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  161. package/lib/cjs/render/MockRender.js.map +1 -1
  162. package/lib/cjs/render/RenderMemory.d.ts +21 -15
  163. package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
  164. package/lib/cjs/render/RenderMemory.js +21 -15
  165. package/lib/cjs/render/RenderMemory.js.map +1 -1
  166. package/lib/cjs/render/RenderSystem.d.ts +38 -7
  167. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  168. package/lib/cjs/render/RenderSystem.js +24 -9
  169. package/lib/cjs/render/RenderSystem.js.map +1 -1
  170. package/lib/cjs/render/RenderTarget.d.ts +10 -2
  171. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  172. package/lib/cjs/render/RenderTarget.js +2 -1
  173. package/lib/cjs/render/RenderTarget.js.map +1 -1
  174. package/lib/cjs/render/RenderTexture.d.ts +2 -17
  175. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  176. package/lib/cjs/render/RenderTexture.js +0 -17
  177. package/lib/cjs/render/RenderTexture.js.map +1 -1
  178. package/lib/cjs/render/primitives/EdgeParams.d.ts +84 -0
  179. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -0
  180. package/lib/cjs/render/primitives/EdgeParams.js +220 -0
  181. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -0
  182. package/lib/cjs/render/primitives/PointStringParams.d.ts +16 -0
  183. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -0
  184. package/lib/cjs/render/primitives/PointStringParams.js +43 -0
  185. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -0
  186. package/lib/cjs/render/primitives/PolylineParams.d.ts +44 -0
  187. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -0
  188. package/lib/cjs/render/primitives/PolylineParams.js +205 -0
  189. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -0
  190. package/lib/cjs/render/primitives/Primitives.d.ts +1 -1
  191. package/lib/cjs/render/primitives/Primitives.d.ts.map +1 -1
  192. package/lib/cjs/render/primitives/Primitives.js.map +1 -1
  193. package/lib/cjs/render/primitives/SurfaceParams.d.ts +46 -0
  194. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +1 -0
  195. package/lib/cjs/render/primitives/SurfaceParams.js +42 -0
  196. package/lib/cjs/render/primitives/SurfaceParams.js.map +1 -0
  197. package/lib/cjs/render/primitives/VertexTable.d.ts +4 -123
  198. package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
  199. package/lib/cjs/render/primitives/VertexTable.js +16 -352
  200. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  201. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  202. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  203. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +2 -1
  204. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  205. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  206. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -0
  207. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  208. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  209. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  210. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +3 -3
  211. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  212. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  213. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  214. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  215. package/lib/cjs/render/webgl/AttributeMap.js +5 -5
  216. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  217. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  218. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  219. package/lib/cjs/render/webgl/BranchUniforms.js +8 -5
  220. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  221. package/lib/cjs/render/webgl/CachedGeometry.d.ts +16 -11
  222. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  223. package/lib/cjs/render/webgl/CachedGeometry.js +26 -23
  224. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  225. package/lib/cjs/render/webgl/DrawCommand.d.ts +2 -3
  226. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  227. package/lib/cjs/render/webgl/DrawCommand.js +6 -4
  228. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  229. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +73 -0
  230. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -0
  231. package/lib/cjs/render/webgl/EdgeGeometry.js +141 -0
  232. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -0
  233. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +2 -0
  234. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  235. package/lib/cjs/render/webgl/FeatureOverrides.js +11 -3
  236. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  237. package/lib/cjs/render/webgl/FloatRGBA.d.ts.map +1 -1
  238. package/lib/cjs/render/webgl/FloatRGBA.js +13 -11
  239. package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
  240. package/lib/cjs/render/webgl/Graphic.d.ts +13 -0
  241. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  242. package/lib/cjs/render/webgl/Graphic.js +41 -3
  243. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  244. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  245. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  246. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js +90 -0
  247. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  248. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +6 -5
  249. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  250. package/lib/cjs/render/webgl/InstancedGeometry.js +2 -1
  251. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  252. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  253. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  254. package/lib/cjs/render/webgl/Material.js.map +1 -1
  255. package/lib/cjs/render/webgl/Mesh.d.ts +8 -162
  256. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  257. package/lib/cjs/render/webgl/Mesh.js +18 -458
  258. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  259. package/lib/cjs/render/webgl/MeshData.d.ts +38 -0
  260. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -0
  261. package/lib/cjs/render/webgl/MeshData.js +66 -0
  262. package/lib/cjs/render/webgl/MeshData.js.map +1 -0
  263. package/lib/cjs/render/webgl/MeshGeometry.d.ts +38 -0
  264. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -0
  265. package/lib/cjs/render/webgl/MeshGeometry.js +59 -0
  266. package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -0
  267. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  268. package/lib/cjs/render/webgl/PlanarClassifier.js +8 -4
  269. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  270. package/lib/cjs/render/webgl/PlanarGrid.d.ts +2 -3
  271. package/lib/cjs/render/webgl/PlanarGrid.d.ts.map +1 -1
  272. package/lib/cjs/render/webgl/PlanarGrid.js +3 -3
  273. package/lib/cjs/render/webgl/PlanarGrid.js.map +1 -1
  274. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  275. package/lib/cjs/render/webgl/PlanarTextureProjection.js +1 -0
  276. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  277. package/lib/cjs/render/webgl/PointCloud.d.ts +2 -2
  278. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  279. package/lib/cjs/render/webgl/PointCloud.js +2 -2
  280. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  281. package/lib/cjs/render/webgl/PointString.d.ts +3 -3
  282. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  283. package/lib/cjs/render/webgl/PointString.js +1 -1
  284. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  285. package/lib/cjs/render/webgl/Polyline.d.ts +3 -3
  286. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  287. package/lib/cjs/render/webgl/Polyline.js +6 -6
  288. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  289. package/lib/cjs/render/webgl/Primitive.d.ts +2 -2
  290. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  291. package/lib/cjs/render/webgl/Primitive.js +5 -5
  292. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  293. package/lib/cjs/render/webgl/RealityMesh.d.ts +2 -2
  294. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  295. package/lib/cjs/render/webgl/RealityMesh.js +9 -9
  296. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  297. package/lib/cjs/render/webgl/RenderCommands.d.ts +6 -2
  298. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  299. package/lib/cjs/render/webgl/RenderCommands.js +81 -48
  300. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  301. package/lib/cjs/render/webgl/RenderFlags.d.ts +48 -1
  302. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  303. package/lib/cjs/render/webgl/RenderFlags.js +64 -2
  304. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  305. package/lib/cjs/render/webgl/SceneCompositor.js +10 -9
  306. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  307. package/lib/cjs/render/webgl/ScreenSpaceEffect.js +1 -1
  308. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +23 -20
  309. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  310. package/lib/cjs/render/webgl/ShaderBuilder.js +38 -32
  311. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  312. package/lib/cjs/render/webgl/ShaderProgram.d.ts +1 -1
  313. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  314. package/lib/cjs/render/webgl/ShaderProgram.js +4 -4
  315. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  316. package/lib/cjs/render/webgl/SolarShadowMap.d.ts.map +1 -1
  317. package/lib/cjs/render/webgl/SolarShadowMap.js +4 -3
  318. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  319. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +54 -0
  320. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  321. package/lib/cjs/render/webgl/SurfaceGeometry.js +248 -0
  322. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -0
  323. package/lib/cjs/render/webgl/System.d.ts +11 -10
  324. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  325. package/lib/cjs/render/webgl/System.js +32 -21
  326. package/lib/cjs/render/webgl/System.js.map +1 -1
  327. package/lib/cjs/render/webgl/Target.d.ts +13 -1
  328. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  329. package/lib/cjs/render/webgl/Target.js +88 -2
  330. package/lib/cjs/render/webgl/Target.js.map +1 -1
  331. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  332. package/lib/cjs/render/webgl/Technique.js +112 -119
  333. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  334. package/lib/cjs/render/webgl/TechniqueFlags.d.ts +7 -1
  335. package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
  336. package/lib/cjs/render/webgl/TechniqueFlags.js +10 -1
  337. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  338. package/lib/cjs/render/webgl/TechniqueId.d.ts +29 -28
  339. package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
  340. package/lib/cjs/render/webgl/TechniqueId.js +7 -7
  341. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  342. package/lib/cjs/render/webgl/Texture.d.ts +15 -12
  343. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  344. package/lib/cjs/render/webgl/Texture.js +26 -23
  345. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  346. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  347. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +83 -18
  348. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  349. package/lib/cjs/render/webgl/glsl/Animation.js +1 -1
  350. package/lib/cjs/render/webgl/glsl/Blur.js +1 -1
  351. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +2 -2
  352. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +2 -2
  353. package/lib/cjs/render/webgl/glsl/Color.js +1 -1
  354. package/lib/cjs/render/webgl/glsl/Combine3Textures.js +1 -1
  355. package/lib/cjs/render/webgl/glsl/CombineTextures.js +1 -1
  356. package/lib/cjs/render/webgl/glsl/Composite.js +1 -1
  357. package/lib/cjs/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  358. package/lib/cjs/render/webgl/glsl/CopyColor.js +17 -2
  359. package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
  360. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +2 -2
  361. package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  362. package/lib/cjs/render/webgl/glsl/CopyStencil.js +10 -13
  363. package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
  364. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +2 -2
  365. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  366. package/lib/cjs/render/webgl/glsl/Edge.d.ts +2 -1
  367. package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
  368. package/lib/cjs/render/webgl/glsl/Edge.js +132 -14
  369. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  370. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  371. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +43 -21
  372. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  373. package/lib/cjs/render/webgl/glsl/Fragment.d.ts.map +1 -1
  374. package/lib/cjs/render/webgl/glsl/Fragment.js +19 -11
  375. package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
  376. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  377. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts +4 -2
  378. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  379. package/lib/cjs/render/webgl/glsl/LookupTable.js +7 -3
  380. package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
  381. package/lib/cjs/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  382. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +13 -4
  383. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  384. package/lib/cjs/render/webgl/glsl/PlanarGrid.js +2 -2
  385. package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
  386. package/lib/cjs/render/webgl/glsl/PointCloud.js +2 -2
  387. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  388. package/lib/cjs/render/webgl/glsl/PointString.js +1 -1
  389. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  390. package/lib/cjs/render/webgl/glsl/Polyline.js +1 -1
  391. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  392. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  393. package/lib/cjs/render/webgl/glsl/RealityMesh.js +9 -6
  394. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  395. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  396. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  397. package/lib/cjs/render/webgl/glsl/SkyBox.js +2 -2
  398. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  399. package/lib/cjs/render/webgl/glsl/SkySphere.js +2 -2
  400. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  401. package/lib/cjs/render/webgl/glsl/Surface.js +41 -16
  402. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  403. package/lib/cjs/render/webgl/glsl/Translucency.js +2 -2
  404. package/lib/cjs/render/webgl/glsl/Vertex.js +2 -2
  405. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  406. package/lib/cjs/render/webgl/glsl/ViewportQuad.js +1 -1
  407. package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
  408. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts +9 -0
  409. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  410. package/lib/cjs/render/webgl/glsl/Wiremesh.js +40 -0
  411. package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -0
  412. package/lib/cjs/render-primitives.d.ts +5 -1
  413. package/lib/cjs/render-primitives.d.ts.map +1 -1
  414. package/lib/cjs/render-primitives.js +5 -1
  415. package/lib/cjs/render-primitives.js.map +1 -1
  416. package/lib/cjs/request/Request.d.ts +167 -0
  417. package/lib/cjs/request/Request.d.ts.map +1 -0
  418. package/lib/cjs/request/Request.js +315 -0
  419. package/lib/cjs/request/Request.js.map +1 -0
  420. package/lib/cjs/tile/B3dmReader.d.ts +2 -1
  421. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  422. package/lib/cjs/tile/B3dmReader.js +11 -7
  423. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  424. package/lib/cjs/tile/CesiumAssetProvider.d.ts +14 -0
  425. package/lib/cjs/tile/CesiumAssetProvider.d.ts.map +1 -0
  426. package/lib/cjs/tile/CesiumAssetProvider.js +35 -0
  427. package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -0
  428. package/lib/cjs/tile/ContextShareProvider.d.ts +22 -0
  429. package/lib/cjs/tile/ContextShareProvider.d.ts.map +1 -0
  430. package/lib/cjs/tile/ContextShareProvider.js +129 -0
  431. package/lib/cjs/tile/ContextShareProvider.js.map +1 -0
  432. package/lib/cjs/tile/DynamicIModelTile.js +9 -3
  433. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  434. package/lib/cjs/tile/GltfReader.d.ts +594 -55
  435. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  436. package/lib/cjs/tile/GltfReader.js +703 -264
  437. package/lib/cjs/tile/GltfReader.js.map +1 -1
  438. package/lib/cjs/tile/I3dmReader.d.ts +2 -1
  439. package/lib/cjs/tile/I3dmReader.d.ts.map +1 -1
  440. package/lib/cjs/tile/I3dmReader.js +10 -6
  441. package/lib/cjs/tile/I3dmReader.js.map +1 -1
  442. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  443. package/lib/cjs/tile/IModelTile.js +14 -7
  444. package/lib/cjs/tile/IModelTile.js.map +1 -1
  445. package/lib/cjs/tile/IModelTileTree.d.ts +8 -0
  446. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  447. package/lib/cjs/tile/IModelTileTree.js +36 -1
  448. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  449. package/lib/cjs/tile/ImdlReader.d.ts +365 -10
  450. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  451. package/lib/cjs/tile/ImdlReader.js +201 -69
  452. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  453. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  454. package/lib/cjs/tile/OrbitGtTileTree.js +8 -5
  455. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  456. package/lib/cjs/tile/PrimaryTileTree.d.ts +14 -5
  457. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  458. package/lib/cjs/tile/PrimaryTileTree.js +69 -14
  459. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  460. package/lib/cjs/tile/RealityModelTileTree.d.ts +3 -55
  461. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  462. package/lib/cjs/tile/RealityModelTileTree.js +57 -232
  463. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  464. package/lib/cjs/tile/RealityTileLoader.d.ts +1 -0
  465. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  466. package/lib/cjs/tile/RealityTileLoader.js +4 -3
  467. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  468. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  469. package/lib/cjs/tile/Tile.js +5 -1
  470. package/lib/cjs/tile/Tile.js.map +1 -1
  471. package/lib/cjs/tile/TileAdmin.d.ts +37 -4
  472. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  473. package/lib/cjs/tile/TileAdmin.js +18 -12
  474. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  475. package/lib/cjs/tile/TileDrawArgs.d.ts +11 -0
  476. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  477. package/lib/cjs/tile/TileDrawArgs.js +6 -1
  478. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  479. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  480. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  481. package/lib/cjs/tile/TileTreeReference.js +5 -0
  482. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  483. package/lib/cjs/tile/internal.d.ts +4 -1
  484. package/lib/cjs/tile/internal.d.ts.map +1 -1
  485. package/lib/cjs/tile/internal.js +4 -1
  486. package/lib/cjs/tile/internal.js.map +1 -1
  487. package/lib/cjs/tile/map/ArcGISTileMap.d.ts +22 -0
  488. package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -0
  489. package/lib/cjs/tile/map/ArcGISTileMap.js +177 -0
  490. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -0
  491. package/lib/cjs/tile/map/ArcGisTokenGenerator.js +3 -3
  492. package/lib/cjs/tile/map/ArcGisTokenGenerator.js.map +1 -1
  493. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +1 -1
  494. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  495. package/lib/cjs/tile/map/ArcGisUtilities.js +18 -10
  496. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  497. package/lib/cjs/tile/map/BingElevation.js +4 -4
  498. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  499. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  500. package/lib/cjs/tile/map/CesiumTerrainProvider.js +27 -15
  501. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  502. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  503. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  504. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +23 -44
  505. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  506. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +3 -3
  507. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  508. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  509. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  510. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  511. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  512. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  513. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  514. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  515. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  516. package/lib/cjs/tile/map/ImageryTileTree.d.ts +4 -4
  517. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  518. package/lib/cjs/tile/map/ImageryTileTree.js +20 -24
  519. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  520. package/lib/cjs/tile/map/MapCartoRectangle.js +1 -1
  521. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  522. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts +20 -0
  523. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  524. package/lib/cjs/tile/map/MapLayerAuthentication.js +18 -0
  525. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -0
  526. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  527. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  528. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +3 -1
  529. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  530. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +2 -2
  531. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  532. package/lib/cjs/tile/map/MapLayerImageryFormats.js +21 -8
  533. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  534. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +18 -6
  535. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  536. package/lib/cjs/tile/map/MapLayerImageryProvider.js +47 -14
  537. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  538. package/lib/cjs/tile/map/MapLayerSources.d.ts +3 -11
  539. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  540. package/lib/cjs/tile/map/MapLayerSources.js +5 -34
  541. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  542. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  543. package/lib/cjs/tile/map/MapTile.js +4 -3
  544. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  545. package/lib/cjs/tile/map/MapTileLoader.js +2 -2
  546. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  547. package/lib/cjs/tile/map/MapTileTree.d.ts +1 -1
  548. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  549. package/lib/cjs/tile/map/MapTileTree.js +30 -21
  550. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  551. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  552. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  553. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +4 -6
  554. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  555. package/lib/cjs/tile/map/MapTilingScheme.d.ts +7 -2
  556. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  557. package/lib/cjs/tile/map/MapTilingScheme.js +21 -8
  558. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  559. package/lib/cjs/tile/map/QuadId.d.ts +1 -0
  560. package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
  561. package/lib/cjs/tile/map/QuadId.js +2 -1
  562. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  563. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +1 -1
  564. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  565. package/lib/cjs/tile/map/WmsCapabilities.d.ts +8 -1
  566. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  567. package/lib/cjs/tile/map/WmsCapabilities.js +39 -5
  568. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  569. package/lib/cjs/tile/map/WmtsCapabilities.d.ts +11 -1
  570. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
  571. package/lib/cjs/tile/map/WmtsCapabilities.js +23 -9
  572. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  573. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  574. package/lib/cjs/tools/EditManipulator.js +1 -1
  575. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  576. package/lib/cjs/tools/ElementSetTool.js +2 -2
  577. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  578. package/lib/cjs/tools/PrimitiveTool.d.ts +4 -4
  579. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  580. package/lib/cjs/tools/PrimitiveTool.js +2 -2
  581. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  582. package/lib/cjs/tools/Tool.d.ts +29 -1
  583. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  584. package/lib/cjs/tools/Tool.js +66 -0
  585. package/lib/cjs/tools/Tool.js.map +1 -1
  586. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  587. package/lib/cjs/tools/ToolAdmin.js +20 -10
  588. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  589. package/lib/cjs/tools/ViewTool.js +1 -1
  590. package/lib/cjs/tools/ViewTool.js.map +1 -1
  591. package/lib/cjs/webgl.d.ts +5 -0
  592. package/lib/cjs/webgl.d.ts.map +1 -1
  593. package/lib/cjs/webgl.js +5 -0
  594. package/lib/cjs/webgl.js.map +1 -1
  595. package/lib/esm/AccuSnap.js +3 -3
  596. package/lib/esm/AccuSnap.js.map +1 -1
  597. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  598. package/lib/esm/ApproximateTerrainHeights.js +10 -5
  599. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  600. package/lib/esm/BackgroundMapGeometry.d.ts +1 -1
  601. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  602. package/lib/esm/BackgroundMapGeometry.js +2 -2
  603. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  604. package/lib/esm/BingLocation.js +1 -1
  605. package/lib/esm/BingLocation.js.map +1 -1
  606. package/lib/esm/CheckpointConnection.js +1 -1
  607. package/lib/esm/CheckpointConnection.js.map +1 -1
  608. package/lib/esm/ContextRealityModelState.js +1 -1
  609. package/lib/esm/ContextRealityModelState.js.map +1 -1
  610. package/lib/esm/DisplayStyleState.d.ts +10 -163
  611. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  612. package/lib/esm/DisplayStyleState.js +70 -346
  613. package/lib/esm/DisplayStyleState.js.map +1 -1
  614. package/lib/esm/DrawingViewState.d.ts +2 -2
  615. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  616. package/lib/esm/DrawingViewState.js +3 -3
  617. package/lib/esm/DrawingViewState.js.map +1 -1
  618. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  619. package/lib/esm/EmphasizeElements.js +14 -4
  620. package/lib/esm/EmphasizeElements.js.map +1 -1
  621. package/lib/esm/EnvironmentDecorations.d.ts +39 -0
  622. package/lib/esm/EnvironmentDecorations.d.ts.map +1 -0
  623. package/lib/esm/EnvironmentDecorations.js +199 -0
  624. package/lib/esm/EnvironmentDecorations.js.map +1 -0
  625. package/lib/esm/FrontendHubAccess.d.ts +11 -7
  626. package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
  627. package/lib/esm/FrontendHubAccess.js.map +1 -1
  628. package/lib/esm/FrontendLoggerCategory.d.ts +2 -8
  629. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  630. package/lib/esm/FrontendLoggerCategory.js +2 -8
  631. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  632. package/lib/esm/HitDetail.js +7 -7
  633. package/lib/esm/HitDetail.js.map +1 -1
  634. package/lib/esm/IModelApp.d.ts +31 -24
  635. package/lib/esm/IModelApp.d.ts.map +1 -1
  636. package/lib/esm/IModelApp.js +34 -35
  637. package/lib/esm/IModelApp.js.map +1 -1
  638. package/lib/esm/IModelConnection.d.ts +4 -6
  639. package/lib/esm/IModelConnection.d.ts.map +1 -1
  640. package/lib/esm/IModelConnection.js +6 -11
  641. package/lib/esm/IModelConnection.js.map +1 -1
  642. package/lib/esm/IModeljs-css.d.ts.map +1 -1
  643. package/lib/esm/IModeljs-css.js +8 -6
  644. package/lib/esm/IModeljs-css.js.map +1 -1
  645. package/lib/esm/ImageUtil.d.ts +3 -3
  646. package/lib/esm/ImageUtil.d.ts.map +1 -1
  647. package/lib/esm/ImageUtil.js +7 -4
  648. package/lib/esm/ImageUtil.js.map +1 -1
  649. package/lib/esm/LocalhostIpcApp.d.ts +2 -1
  650. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  651. package/lib/esm/LocalhostIpcApp.js +22 -8
  652. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  653. package/lib/esm/Marker.d.ts +9 -2
  654. package/lib/esm/Marker.d.ts.map +1 -1
  655. package/lib/esm/Marker.js +34 -6
  656. package/lib/esm/Marker.js.map +1 -1
  657. package/lib/esm/ModelState.js +1 -1
  658. package/lib/esm/ModelState.js.map +1 -1
  659. package/lib/esm/NativeApp.d.ts +3 -38
  660. package/lib/esm/NativeApp.d.ts.map +1 -1
  661. package/lib/esm/NativeApp.js +1 -69
  662. package/lib/esm/NativeApp.js.map +1 -1
  663. package/lib/esm/NoRenderApp.d.ts +0 -1
  664. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  665. package/lib/esm/NoRenderApp.js +0 -1
  666. package/lib/esm/NoRenderApp.js.map +1 -1
  667. package/lib/esm/NotificationManager.d.ts +3 -1
  668. package/lib/esm/NotificationManager.d.ts.map +1 -1
  669. package/lib/esm/NotificationManager.js +2 -0
  670. package/lib/esm/NotificationManager.js.map +1 -1
  671. package/lib/esm/RealityDataSource.d.ts +59 -29
  672. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  673. package/lib/esm/RealityDataSource.js +247 -92
  674. package/lib/esm/RealityDataSource.js.map +1 -1
  675. package/lib/esm/RenderScheduleState.d.ts +2 -0
  676. package/lib/esm/RenderScheduleState.d.ts.map +1 -1
  677. package/lib/esm/RenderScheduleState.js +8 -4
  678. package/lib/esm/RenderScheduleState.js.map +1 -1
  679. package/lib/esm/SheetViewState.d.ts +2 -2
  680. package/lib/esm/SheetViewState.d.ts.map +1 -1
  681. package/lib/esm/SheetViewState.js +7 -6
  682. package/lib/esm/SheetViewState.js.map +1 -1
  683. package/lib/esm/SpatialViewState.d.ts +10 -2
  684. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  685. package/lib/esm/SpatialViewState.js +12 -2
  686. package/lib/esm/SpatialViewState.js.map +1 -1
  687. package/lib/esm/SubCategoriesCache.js +1 -1
  688. package/lib/esm/SubCategoriesCache.js.map +1 -1
  689. package/lib/esm/Tiles.d.ts +11 -1
  690. package/lib/esm/Tiles.d.ts.map +1 -1
  691. package/lib/esm/Tiles.js +7 -0
  692. package/lib/esm/Tiles.js.map +1 -1
  693. package/lib/esm/TwoWayViewportSync.d.ts +35 -6
  694. package/lib/esm/TwoWayViewportSync.d.ts.map +1 -1
  695. package/lib/esm/TwoWayViewportSync.js +49 -10
  696. package/lib/esm/TwoWayViewportSync.js.map +1 -1
  697. package/lib/esm/UserPreferences.d.ts +72 -0
  698. package/lib/esm/UserPreferences.d.ts.map +1 -0
  699. package/lib/esm/{extension/ExtensionLoader.js → UserPreferences.js} +1 -5
  700. package/lib/esm/UserPreferences.js.map +1 -0
  701. package/lib/esm/ViewContext.d.ts +3 -1
  702. package/lib/esm/ViewContext.d.ts.map +1 -1
  703. package/lib/esm/ViewContext.js +4 -0
  704. package/lib/esm/ViewContext.js.map +1 -1
  705. package/lib/esm/ViewCreator2d.js +3 -3
  706. package/lib/esm/ViewCreator2d.js.map +1 -1
  707. package/lib/esm/ViewCreator3d.d.ts +1 -1
  708. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  709. package/lib/esm/ViewCreator3d.js +5 -6
  710. package/lib/esm/ViewCreator3d.js.map +1 -1
  711. package/lib/esm/ViewManager.d.ts +6 -6
  712. package/lib/esm/ViewManager.d.ts.map +1 -1
  713. package/lib/esm/ViewManager.js +13 -13
  714. package/lib/esm/ViewManager.js.map +1 -1
  715. package/lib/esm/ViewState.d.ts +11 -5
  716. package/lib/esm/ViewState.d.ts.map +1 -1
  717. package/lib/esm/ViewState.js +21 -66
  718. package/lib/esm/ViewState.js.map +1 -1
  719. package/lib/esm/ViewingSpace.js +1 -1
  720. package/lib/esm/ViewingSpace.js.map +1 -1
  721. package/lib/esm/Viewport.d.ts +34 -6
  722. package/lib/esm/Viewport.d.ts.map +1 -1
  723. package/lib/esm/Viewport.js +43 -23
  724. package/lib/esm/Viewport.js.map +1 -1
  725. package/lib/esm/core-frontend.d.ts +16 -31
  726. package/lib/esm/core-frontend.d.ts.map +1 -1
  727. package/lib/esm/core-frontend.js +16 -31
  728. package/lib/esm/core-frontend.js.map +1 -1
  729. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  730. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  731. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  732. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  733. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  734. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  735. package/lib/esm/quantity-formatting/BasicUnitsProvider.js +18 -4
  736. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  737. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +26 -3
  738. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  739. package/lib/esm/quantity-formatting/QuantityFormatter.js +45 -7
  740. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  741. package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
  742. package/lib/esm/render/FeatureSymbology.js +3 -3
  743. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  744. package/lib/esm/render/GraphicBranch.d.ts +18 -2
  745. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  746. package/lib/esm/render/GraphicBranch.js +8 -0
  747. package/lib/esm/render/GraphicBranch.js.map +1 -1
  748. package/lib/esm/render/GraphicBuilder.d.ts +7 -1
  749. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  750. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  751. package/lib/esm/render/MockRender.d.ts +3 -1
  752. package/lib/esm/render/MockRender.d.ts.map +1 -1
  753. package/lib/esm/render/MockRender.js.map +1 -1
  754. package/lib/esm/render/RenderMemory.d.ts +21 -15
  755. package/lib/esm/render/RenderMemory.d.ts.map +1 -1
  756. package/lib/esm/render/RenderMemory.js +21 -15
  757. package/lib/esm/render/RenderMemory.js.map +1 -1
  758. package/lib/esm/render/RenderSystem.d.ts +38 -7
  759. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  760. package/lib/esm/render/RenderSystem.js +24 -9
  761. package/lib/esm/render/RenderSystem.js.map +1 -1
  762. package/lib/esm/render/RenderTarget.d.ts +10 -2
  763. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  764. package/lib/esm/render/RenderTarget.js +2 -1
  765. package/lib/esm/render/RenderTarget.js.map +1 -1
  766. package/lib/esm/render/RenderTexture.d.ts +2 -17
  767. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  768. package/lib/esm/render/RenderTexture.js +1 -16
  769. package/lib/esm/render/RenderTexture.js.map +1 -1
  770. package/lib/esm/render/primitives/EdgeParams.d.ts +84 -0
  771. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -0
  772. package/lib/esm/render/primitives/EdgeParams.js +217 -0
  773. package/lib/esm/render/primitives/EdgeParams.js.map +1 -0
  774. package/lib/esm/render/primitives/PointStringParams.d.ts +16 -0
  775. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -0
  776. package/lib/esm/render/primitives/PointStringParams.js +39 -0
  777. package/lib/esm/render/primitives/PointStringParams.js.map +1 -0
  778. package/lib/esm/render/primitives/PolylineParams.d.ts +44 -0
  779. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -0
  780. package/lib/esm/render/primitives/PolylineParams.js +199 -0
  781. package/lib/esm/render/primitives/PolylineParams.js.map +1 -0
  782. package/lib/esm/render/primitives/Primitives.d.ts +1 -1
  783. package/lib/esm/render/primitives/Primitives.d.ts.map +1 -1
  784. package/lib/esm/render/primitives/Primitives.js.map +1 -1
  785. package/lib/esm/render/primitives/SurfaceParams.d.ts +46 -0
  786. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +1 -0
  787. package/lib/esm/render/primitives/SurfaceParams.js +37 -0
  788. package/lib/esm/render/primitives/SurfaceParams.js.map +1 -0
  789. package/lib/esm/render/primitives/VertexTable.d.ts +4 -123
  790. package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
  791. package/lib/esm/render/primitives/VertexTable.js +11 -342
  792. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  793. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  794. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  795. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +2 -1
  796. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  797. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  798. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -0
  799. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  800. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  801. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  802. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +3 -3
  803. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  804. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  805. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  806. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  807. package/lib/esm/render/webgl/AttributeMap.js +5 -5
  808. package/lib/esm/render/webgl/BackgroundMapDrape.js +2 -2
  809. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  810. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  811. package/lib/esm/render/webgl/BranchUniforms.js +8 -5
  812. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  813. package/lib/esm/render/webgl/CachedGeometry.d.ts +16 -11
  814. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  815. package/lib/esm/render/webgl/CachedGeometry.js +26 -23
  816. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  817. package/lib/esm/render/webgl/DrawCommand.d.ts +2 -3
  818. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  819. package/lib/esm/render/webgl/DrawCommand.js +6 -4
  820. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  821. package/lib/esm/render/webgl/EdgeGeometry.d.ts +73 -0
  822. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -0
  823. package/lib/esm/render/webgl/EdgeGeometry.js +135 -0
  824. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -0
  825. package/lib/esm/render/webgl/FeatureOverrides.d.ts +2 -0
  826. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  827. package/lib/esm/render/webgl/FeatureOverrides.js +11 -3
  828. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  829. package/lib/esm/render/webgl/FloatRGBA.d.ts.map +1 -1
  830. package/lib/esm/render/webgl/FloatRGBA.js +13 -11
  831. package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
  832. package/lib/esm/render/webgl/Graphic.d.ts +13 -0
  833. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  834. package/lib/esm/render/webgl/Graphic.js +39 -2
  835. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  836. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  837. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  838. package/lib/esm/render/webgl/IndexedEdgeGeometry.js +85 -0
  839. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  840. package/lib/esm/render/webgl/InstancedGeometry.d.ts +6 -5
  841. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  842. package/lib/esm/render/webgl/InstancedGeometry.js +2 -1
  843. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  844. package/lib/esm/render/webgl/Material.d.ts +1 -1
  845. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  846. package/lib/esm/render/webgl/Material.js.map +1 -1
  847. package/lib/esm/render/webgl/Mesh.d.ts +8 -162
  848. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  849. package/lib/esm/render/webgl/Mesh.js +12 -445
  850. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  851. package/lib/esm/render/webgl/MeshData.d.ts +38 -0
  852. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -0
  853. package/lib/esm/render/webgl/MeshData.js +62 -0
  854. package/lib/esm/render/webgl/MeshData.js.map +1 -0
  855. package/lib/esm/render/webgl/MeshGeometry.d.ts +38 -0
  856. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -0
  857. package/lib/esm/render/webgl/MeshGeometry.js +55 -0
  858. package/lib/esm/render/webgl/MeshGeometry.js.map +1 -0
  859. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  860. package/lib/esm/render/webgl/PlanarClassifier.js +9 -5
  861. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  862. package/lib/esm/render/webgl/PlanarGrid.d.ts +2 -3
  863. package/lib/esm/render/webgl/PlanarGrid.d.ts.map +1 -1
  864. package/lib/esm/render/webgl/PlanarGrid.js +3 -3
  865. package/lib/esm/render/webgl/PlanarGrid.js.map +1 -1
  866. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  867. package/lib/esm/render/webgl/PlanarTextureProjection.js +1 -0
  868. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  869. package/lib/esm/render/webgl/PointCloud.d.ts +2 -2
  870. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  871. package/lib/esm/render/webgl/PointCloud.js +2 -2
  872. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  873. package/lib/esm/render/webgl/PointString.d.ts +3 -3
  874. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  875. package/lib/esm/render/webgl/PointString.js +1 -1
  876. package/lib/esm/render/webgl/PointString.js.map +1 -1
  877. package/lib/esm/render/webgl/Polyline.d.ts +3 -3
  878. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  879. package/lib/esm/render/webgl/Polyline.js +6 -6
  880. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  881. package/lib/esm/render/webgl/Primitive.d.ts +2 -2
  882. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  883. package/lib/esm/render/webgl/Primitive.js +5 -5
  884. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  885. package/lib/esm/render/webgl/RealityMesh.d.ts +2 -2
  886. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  887. package/lib/esm/render/webgl/RealityMesh.js +9 -9
  888. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  889. package/lib/esm/render/webgl/RenderCommands.d.ts +6 -2
  890. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  891. package/lib/esm/render/webgl/RenderCommands.js +78 -45
  892. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  893. package/lib/esm/render/webgl/RenderFlags.d.ts +48 -1
  894. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  895. package/lib/esm/render/webgl/RenderFlags.js +63 -1
  896. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  897. package/lib/esm/render/webgl/SceneCompositor.js +10 -9
  898. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  899. package/lib/esm/render/webgl/ScreenSpaceEffect.js +1 -1
  900. package/lib/esm/render/webgl/ShaderBuilder.d.ts +23 -20
  901. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  902. package/lib/esm/render/webgl/ShaderBuilder.js +38 -32
  903. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  904. package/lib/esm/render/webgl/ShaderProgram.d.ts +1 -1
  905. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  906. package/lib/esm/render/webgl/ShaderProgram.js +4 -4
  907. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  908. package/lib/esm/render/webgl/SolarShadowMap.d.ts.map +1 -1
  909. package/lib/esm/render/webgl/SolarShadowMap.js +5 -4
  910. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  911. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +54 -0
  912. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  913. package/lib/esm/render/webgl/SurfaceGeometry.js +243 -0
  914. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -0
  915. package/lib/esm/render/webgl/System.d.ts +11 -10
  916. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  917. package/lib/esm/render/webgl/System.js +34 -23
  918. package/lib/esm/render/webgl/System.js.map +1 -1
  919. package/lib/esm/render/webgl/Target.d.ts +13 -1
  920. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  921. package/lib/esm/render/webgl/Target.js +88 -2
  922. package/lib/esm/render/webgl/Target.js.map +1 -1
  923. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  924. package/lib/esm/render/webgl/Technique.js +112 -119
  925. package/lib/esm/render/webgl/Technique.js.map +1 -1
  926. package/lib/esm/render/webgl/TechniqueFlags.d.ts +7 -1
  927. package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
  928. package/lib/esm/render/webgl/TechniqueFlags.js +10 -1
  929. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  930. package/lib/esm/render/webgl/TechniqueId.d.ts +29 -28
  931. package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
  932. package/lib/esm/render/webgl/TechniqueId.js +7 -7
  933. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  934. package/lib/esm/render/webgl/Texture.d.ts +15 -12
  935. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  936. package/lib/esm/render/webgl/Texture.js +27 -24
  937. package/lib/esm/render/webgl/Texture.js.map +1 -1
  938. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  939. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +84 -19
  940. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  941. package/lib/esm/render/webgl/glsl/Animation.js +1 -1
  942. package/lib/esm/render/webgl/glsl/Blur.js +1 -1
  943. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +2 -2
  944. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +2 -2
  945. package/lib/esm/render/webgl/glsl/Color.js +1 -1
  946. package/lib/esm/render/webgl/glsl/Combine3Textures.js +1 -1
  947. package/lib/esm/render/webgl/glsl/CombineTextures.js +1 -1
  948. package/lib/esm/render/webgl/glsl/Composite.js +1 -1
  949. package/lib/esm/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  950. package/lib/esm/render/webgl/glsl/CopyColor.js +17 -2
  951. package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
  952. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +2 -2
  953. package/lib/esm/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  954. package/lib/esm/render/webgl/glsl/CopyStencil.js +10 -13
  955. package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
  956. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +2 -2
  957. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  958. package/lib/esm/render/webgl/glsl/Edge.d.ts +2 -1
  959. package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
  960. package/lib/esm/render/webgl/glsl/Edge.js +132 -14
  961. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  962. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  963. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +44 -22
  964. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  965. package/lib/esm/render/webgl/glsl/Fragment.d.ts.map +1 -1
  966. package/lib/esm/render/webgl/glsl/Fragment.js +19 -11
  967. package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
  968. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  969. package/lib/esm/render/webgl/glsl/LookupTable.d.ts +4 -2
  970. package/lib/esm/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  971. package/lib/esm/render/webgl/glsl/LookupTable.js +7 -3
  972. package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
  973. package/lib/esm/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  974. package/lib/esm/render/webgl/glsl/PlanarClassification.js +13 -4
  975. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  976. package/lib/esm/render/webgl/glsl/PlanarGrid.js +2 -2
  977. package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
  978. package/lib/esm/render/webgl/glsl/PointCloud.js +2 -2
  979. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  980. package/lib/esm/render/webgl/glsl/PointString.js +1 -1
  981. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  982. package/lib/esm/render/webgl/glsl/Polyline.js +1 -1
  983. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  984. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  985. package/lib/esm/render/webgl/glsl/RealityMesh.js +9 -6
  986. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  987. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  988. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  989. package/lib/esm/render/webgl/glsl/SkyBox.js +2 -2
  990. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  991. package/lib/esm/render/webgl/glsl/SkySphere.js +2 -2
  992. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  993. package/lib/esm/render/webgl/glsl/Surface.js +41 -16
  994. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  995. package/lib/esm/render/webgl/glsl/Translucency.js +2 -2
  996. package/lib/esm/render/webgl/glsl/Vertex.js +3 -3
  997. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  998. package/lib/esm/render/webgl/glsl/ViewportQuad.js +1 -1
  999. package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
  1000. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts +9 -0
  1001. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  1002. package/lib/esm/render/webgl/glsl/Wiremesh.js +36 -0
  1003. package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -0
  1004. package/lib/esm/render-primitives.d.ts +5 -1
  1005. package/lib/esm/render-primitives.d.ts.map +1 -1
  1006. package/lib/esm/render-primitives.js +5 -1
  1007. package/lib/esm/render-primitives.js.map +1 -1
  1008. package/lib/esm/request/Request.d.ts +167 -0
  1009. package/lib/esm/request/Request.d.ts.map +1 -0
  1010. package/lib/esm/request/Request.js +289 -0
  1011. package/lib/esm/request/Request.js.map +1 -0
  1012. package/lib/esm/tile/B3dmReader.d.ts +2 -1
  1013. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  1014. package/lib/esm/tile/B3dmReader.js +12 -8
  1015. package/lib/esm/tile/B3dmReader.js.map +1 -1
  1016. package/lib/esm/tile/CesiumAssetProvider.d.ts +14 -0
  1017. package/lib/esm/tile/CesiumAssetProvider.d.ts.map +1 -0
  1018. package/lib/esm/tile/CesiumAssetProvider.js +31 -0
  1019. package/lib/esm/tile/CesiumAssetProvider.js.map +1 -0
  1020. package/lib/esm/tile/ContextShareProvider.d.ts +22 -0
  1021. package/lib/esm/tile/ContextShareProvider.d.ts.map +1 -0
  1022. package/lib/esm/tile/ContextShareProvider.js +125 -0
  1023. package/lib/esm/tile/ContextShareProvider.js.map +1 -0
  1024. package/lib/esm/tile/DynamicIModelTile.js +9 -3
  1025. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  1026. package/lib/esm/tile/GltfReader.d.ts +594 -55
  1027. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  1028. package/lib/esm/tile/GltfReader.js +678 -242
  1029. package/lib/esm/tile/GltfReader.js.map +1 -1
  1030. package/lib/esm/tile/I3dmReader.d.ts +2 -1
  1031. package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
  1032. package/lib/esm/tile/I3dmReader.js +11 -7
  1033. package/lib/esm/tile/I3dmReader.js.map +1 -1
  1034. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  1035. package/lib/esm/tile/IModelTile.js +14 -7
  1036. package/lib/esm/tile/IModelTile.js.map +1 -1
  1037. package/lib/esm/tile/IModelTileTree.d.ts +8 -0
  1038. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  1039. package/lib/esm/tile/IModelTileTree.js +36 -1
  1040. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  1041. package/lib/esm/tile/ImdlReader.d.ts +365 -10
  1042. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  1043. package/lib/esm/tile/ImdlReader.js +198 -67
  1044. package/lib/esm/tile/ImdlReader.js.map +1 -1
  1045. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  1046. package/lib/esm/tile/OrbitGtTileTree.js +8 -5
  1047. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  1048. package/lib/esm/tile/PrimaryTileTree.d.ts +14 -5
  1049. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  1050. package/lib/esm/tile/PrimaryTileTree.js +70 -15
  1051. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  1052. package/lib/esm/tile/RealityModelTileTree.d.ts +3 -55
  1053. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  1054. package/lib/esm/tile/RealityModelTileTree.js +56 -230
  1055. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  1056. package/lib/esm/tile/RealityTileLoader.d.ts +1 -0
  1057. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  1058. package/lib/esm/tile/RealityTileLoader.js +4 -3
  1059. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  1060. package/lib/esm/tile/Tile.d.ts.map +1 -1
  1061. package/lib/esm/tile/Tile.js +5 -1
  1062. package/lib/esm/tile/Tile.js.map +1 -1
  1063. package/lib/esm/tile/TileAdmin.d.ts +37 -4
  1064. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1065. package/lib/esm/tile/TileAdmin.js +19 -13
  1066. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1067. package/lib/esm/tile/TileDrawArgs.d.ts +11 -0
  1068. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  1069. package/lib/esm/tile/TileDrawArgs.js +6 -1
  1070. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  1071. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  1072. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  1073. package/lib/esm/tile/TileTreeReference.js +5 -0
  1074. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  1075. package/lib/esm/tile/internal.d.ts +4 -1
  1076. package/lib/esm/tile/internal.d.ts.map +1 -1
  1077. package/lib/esm/tile/internal.js +4 -1
  1078. package/lib/esm/tile/internal.js.map +1 -1
  1079. package/lib/esm/tile/map/ArcGISTileMap.d.ts +22 -0
  1080. package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -0
  1081. package/lib/esm/tile/map/ArcGISTileMap.js +173 -0
  1082. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -0
  1083. package/lib/esm/tile/map/ArcGisTokenGenerator.js +1 -1
  1084. package/lib/esm/tile/map/ArcGisTokenGenerator.js.map +1 -1
  1085. package/lib/esm/tile/map/ArcGisUtilities.d.ts +1 -1
  1086. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1087. package/lib/esm/tile/map/ArcGisUtilities.js +14 -6
  1088. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1089. package/lib/esm/tile/map/BingElevation.js +1 -1
  1090. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  1091. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  1092. package/lib/esm/tile/map/CesiumTerrainProvider.js +25 -13
  1093. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  1094. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  1095. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1096. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +21 -42
  1097. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1098. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
  1099. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  1100. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  1101. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  1102. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  1103. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  1104. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  1105. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  1106. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  1107. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  1108. package/lib/esm/tile/map/ImageryTileTree.d.ts +4 -4
  1109. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1110. package/lib/esm/tile/map/ImageryTileTree.js +21 -25
  1111. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1112. package/lib/esm/tile/map/MapCartoRectangle.js +1 -1
  1113. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  1114. package/lib/esm/tile/map/MapLayerAuthentication.d.ts +20 -0
  1115. package/lib/esm/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  1116. package/lib/esm/tile/map/MapLayerAuthentication.js +15 -0
  1117. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -0
  1118. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  1119. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  1120. package/lib/esm/tile/map/MapLayerFormatRegistry.js +3 -1
  1121. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  1122. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +2 -2
  1123. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1124. package/lib/esm/tile/map/MapLayerImageryFormats.js +22 -9
  1125. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1126. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +18 -6
  1127. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1128. package/lib/esm/tile/map/MapLayerImageryProvider.js +44 -11
  1129. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1130. package/lib/esm/tile/map/MapLayerSources.d.ts +3 -11
  1131. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1132. package/lib/esm/tile/map/MapLayerSources.js +7 -36
  1133. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1134. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1135. package/lib/esm/tile/map/MapTile.js +4 -3
  1136. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1137. package/lib/esm/tile/map/MapTileLoader.js +1 -1
  1138. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1139. package/lib/esm/tile/map/MapTileTree.d.ts +1 -1
  1140. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1141. package/lib/esm/tile/map/MapTileTree.js +30 -21
  1142. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1143. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  1144. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1145. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -6
  1146. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1147. package/lib/esm/tile/map/MapTilingScheme.d.ts +7 -2
  1148. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1149. package/lib/esm/tile/map/MapTilingScheme.js +22 -9
  1150. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1151. package/lib/esm/tile/map/QuadId.d.ts +1 -0
  1152. package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
  1153. package/lib/esm/tile/map/QuadId.js +2 -1
  1154. package/lib/esm/tile/map/QuadId.js.map +1 -1
  1155. package/lib/esm/tile/map/TerrainMeshProvider.d.ts +1 -1
  1156. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  1157. package/lib/esm/tile/map/WmsCapabilities.d.ts +8 -1
  1158. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  1159. package/lib/esm/tile/map/WmsCapabilities.js +37 -3
  1160. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  1161. package/lib/esm/tile/map/WmtsCapabilities.d.ts +11 -1
  1162. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
  1163. package/lib/esm/tile/map/WmtsCapabilities.js +20 -6
  1164. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  1165. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  1166. package/lib/esm/tools/EditManipulator.js +1 -1
  1167. package/lib/esm/tools/EditManipulator.js.map +1 -1
  1168. package/lib/esm/tools/ElementSetTool.js +2 -2
  1169. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1170. package/lib/esm/tools/PrimitiveTool.d.ts +4 -4
  1171. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  1172. package/lib/esm/tools/PrimitiveTool.js +2 -2
  1173. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  1174. package/lib/esm/tools/Tool.d.ts +29 -1
  1175. package/lib/esm/tools/Tool.d.ts.map +1 -1
  1176. package/lib/esm/tools/Tool.js +66 -0
  1177. package/lib/esm/tools/Tool.js.map +1 -1
  1178. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1179. package/lib/esm/tools/ToolAdmin.js +20 -10
  1180. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1181. package/lib/esm/tools/ViewTool.js +1 -1
  1182. package/lib/esm/tools/ViewTool.js.map +1 -1
  1183. package/lib/esm/webgl.d.ts +5 -0
  1184. package/lib/esm/webgl.d.ts.map +1 -1
  1185. package/lib/esm/webgl.js +5 -0
  1186. package/lib/esm/webgl.js.map +1 -1
  1187. package/lib/public/locales/en/iModelJs.json +3 -1
  1188. package/package.json +32 -27
  1189. package/lib/cjs/RealityDataAccessProps.d.ts +0 -42
  1190. package/lib/cjs/RealityDataAccessProps.d.ts.map +0 -1
  1191. package/lib/cjs/RealityDataAccessProps.js +0 -23
  1192. package/lib/cjs/RealityDataAccessProps.js.map +0 -1
  1193. package/lib/cjs/RealityDataConnection.d.ts +0 -31
  1194. package/lib/cjs/RealityDataConnection.d.ts.map +0 -1
  1195. package/lib/cjs/RealityDataConnection.js +0 -101
  1196. package/lib/cjs/RealityDataConnection.js.map +0 -1
  1197. package/lib/cjs/extension/Extension.d.ts +0 -39
  1198. package/lib/cjs/extension/Extension.d.ts.map +0 -1
  1199. package/lib/cjs/extension/Extension.js +0 -39
  1200. package/lib/cjs/extension/Extension.js.map +0 -1
  1201. package/lib/cjs/extension/ExtensionAdmin.d.ts +0 -70
  1202. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +0 -1
  1203. package/lib/cjs/extension/ExtensionAdmin.js +0 -105
  1204. package/lib/cjs/extension/ExtensionAdmin.js.map +0 -1
  1205. package/lib/cjs/extension/ExtensionHost.d.ts +0 -22
  1206. package/lib/cjs/extension/ExtensionHost.d.ts.map +0 -1
  1207. package/lib/cjs/extension/ExtensionHost.js +0 -24
  1208. package/lib/cjs/extension/ExtensionHost.js.map +0 -1
  1209. package/lib/cjs/extension/ExtensionImpl.d.ts +0 -16
  1210. package/lib/cjs/extension/ExtensionImpl.d.ts.map +0 -1
  1211. package/lib/cjs/extension/ExtensionImpl.js +0 -40
  1212. package/lib/cjs/extension/ExtensionImpl.js.map +0 -1
  1213. package/lib/cjs/extension/ExtensionLoader.d.ts +0 -20
  1214. package/lib/cjs/extension/ExtensionLoader.d.ts.map +0 -1
  1215. package/lib/cjs/extension/ExtensionLoader.js.map +0 -1
  1216. package/lib/cjs/extension/ExtensionRuntime.d.ts +0 -2
  1217. package/lib/cjs/extension/ExtensionRuntime.d.ts.map +0 -1
  1218. package/lib/cjs/extension/ExtensionRuntime.js +0 -71
  1219. package/lib/cjs/extension/ExtensionRuntime.js.map +0 -1
  1220. package/lib/cjs/extension/extensions.d.ts +0 -18
  1221. package/lib/cjs/extension/extensions.d.ts.map +0 -1
  1222. package/lib/cjs/extension/extensions.js +0 -35
  1223. package/lib/cjs/extension/extensions.js.map +0 -1
  1224. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts +0 -39
  1225. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1226. package/lib/cjs/tile/map/MapLayerSettingsService.js +0 -190
  1227. package/lib/cjs/tile/map/MapLayerSettingsService.js.map +0 -1
  1228. package/lib/esm/RealityDataAccessProps.d.ts +0 -42
  1229. package/lib/esm/RealityDataAccessProps.d.ts.map +0 -1
  1230. package/lib/esm/RealityDataAccessProps.js +0 -20
  1231. package/lib/esm/RealityDataAccessProps.js.map +0 -1
  1232. package/lib/esm/RealityDataConnection.d.ts +0 -31
  1233. package/lib/esm/RealityDataConnection.d.ts.map +0 -1
  1234. package/lib/esm/RealityDataConnection.js +0 -98
  1235. package/lib/esm/RealityDataConnection.js.map +0 -1
  1236. package/lib/esm/extension/Extension.d.ts +0 -39
  1237. package/lib/esm/extension/Extension.d.ts.map +0 -1
  1238. package/lib/esm/extension/Extension.js +0 -38
  1239. package/lib/esm/extension/Extension.js.map +0 -1
  1240. package/lib/esm/extension/ExtensionAdmin.d.ts +0 -70
  1241. package/lib/esm/extension/ExtensionAdmin.d.ts.map +0 -1
  1242. package/lib/esm/extension/ExtensionAdmin.js +0 -101
  1243. package/lib/esm/extension/ExtensionAdmin.js.map +0 -1
  1244. package/lib/esm/extension/ExtensionHost.d.ts +0 -22
  1245. package/lib/esm/extension/ExtensionHost.d.ts.map +0 -1
  1246. package/lib/esm/extension/ExtensionHost.js +0 -20
  1247. package/lib/esm/extension/ExtensionHost.js.map +0 -1
  1248. package/lib/esm/extension/ExtensionImpl.d.ts +0 -16
  1249. package/lib/esm/extension/ExtensionImpl.d.ts.map +0 -1
  1250. package/lib/esm/extension/ExtensionImpl.js +0 -35
  1251. package/lib/esm/extension/ExtensionImpl.js.map +0 -1
  1252. package/lib/esm/extension/ExtensionLoader.d.ts +0 -20
  1253. package/lib/esm/extension/ExtensionLoader.d.ts.map +0 -1
  1254. package/lib/esm/extension/ExtensionLoader.js.map +0 -1
  1255. package/lib/esm/extension/ExtensionRuntime.d.ts +0 -2
  1256. package/lib/esm/extension/ExtensionRuntime.d.ts.map +0 -1
  1257. package/lib/esm/extension/ExtensionRuntime.js +0 -69
  1258. package/lib/esm/extension/ExtensionRuntime.js.map +0 -1
  1259. package/lib/esm/extension/extensions.d.ts +0 -18
  1260. package/lib/esm/extension/extensions.d.ts.map +0 -1
  1261. package/lib/esm/extension/extensions.js +0 -23
  1262. package/lib/esm/extension/extensions.js.map +0 -1
  1263. package/lib/esm/tile/map/MapLayerSettingsService.d.ts +0 -39
  1264. package/lib/esm/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1265. package/lib/esm/tile/map/MapLayerSettingsService.js +0 -186
  1266. package/lib/esm/tile/map/MapLayerSettingsService.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EmphasizeElements.js","sourceRoot":"","sources":["../../src/EmphasizeElements.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 { Id64, Id64Arg, Id64Set } from \"@itwin/core-bentley\";\r\nimport { AppearanceOverrideProps, ColorDef, EmphasizeElementsProps, FeatureAppearance, FeatureOverrideType, RgbColor } from \"@itwin/core-common\";\r\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\r\nimport { FeatureOverrideProvider } from \"./FeatureOverrideProvider\";\r\nimport { Viewport } from \"./Viewport\";\r\n\r\n/** An implementation of [[FeatureOverrideProvider]] for emphasizing selected elements through simple color/transparency appearance overrides.\r\n * @public\r\n */\r\nexport class EmphasizeElements implements FeatureOverrideProvider {\r\n private _defaultAppearance?: FeatureAppearance;\r\n private _unanimatedAppearance?: FeatureAppearance;\r\n private _emphasizeIsolated?: Id64Set;\r\n private _overrideAppearance?: Map<number, Id64Set>;\r\n private readonly _emphasizedAppearance = FeatureAppearance.fromJSON({ emphasized: true });\r\n\r\n /** If true, all overridden and emphasized elements will also have the \"emphasis\" effect applied to them. This causes them to be hilited using the current [[Viewport.emphasisSettings]]. */\r\n public wantEmphasis = false;\r\n\r\n /** Establish active feature overrides to emphasize elements and apply color/transparency overrides.\r\n * @see [[Viewport.addFeatureOverrideProvider]]\r\n */\r\n public addFeatureOverrides(overrides: FeatureSymbology.Overrides, vp: Viewport): void {\r\n const emphasizedElements = this.getEmphasizedElements(vp);\r\n if (undefined !== emphasizedElements) {\r\n overrides.setDefaultOverrides(this._defaultAppearance!);\r\n const app = this.wantEmphasis ? this._emphasizedAppearance : FeatureAppearance.defaults;\r\n emphasizedElements.forEach((id) => { overrides.overrideElement(id, app); });\r\n }\r\n\r\n const overriddenElements = this.getOverriddenElements();\r\n if (undefined !== overriddenElements) {\r\n if (undefined !== this._defaultAppearance)\r\n overrides.setDefaultOverrides(this._defaultAppearance);\r\n for (const [key, ids] of overriddenElements) {\r\n const ovrApp = this.createAppearanceFromKey(key);\r\n ids.forEach((id) => { overrides.overrideElement(id, ovrApp); });\r\n }\r\n }\r\n\r\n if (this._unanimatedAppearance) {\r\n if (this._unanimatedAppearance.isFullyTransparent)\r\n overrides.neverDrawnAnimationNodes.add(0);\r\n else\r\n overrides.animationNodeOverrides.set(0, this._unanimatedAppearance);\r\n }\r\n }\r\n\r\n /** @internal */\r\n protected createAppearanceFromKey(key: number): FeatureAppearance {\r\n let transparency: number | undefined;\r\n let rgb: RgbColor | undefined;\r\n\r\n if (key < 0) {\r\n transparency = Math.abs(key);\r\n } else {\r\n const color = ColorDef.fromJSON(key);\r\n rgb = RgbColor.fromColorDef(color);\r\n if (0 !== color.getAlpha()) // Fully transparent signifies to use color only...\r\n transparency = color.getTransparency() / 255;\r\n }\r\n\r\n const emphasized = this.wantEmphasis ? true : undefined;\r\n return FeatureAppearance.fromJSON({ rgb, transparency, emphasized });\r\n }\r\n\r\n /** Get override key from color and override type */\r\n public createOverrideKey(color: ColorDef, override: FeatureOverrideType): number | undefined {\r\n const colorValues = color.colors;\r\n switch (override) {\r\n case FeatureOverrideType.ColorAndAlpha:\r\n return 255 === colorValues.t ? undefined : color.tbgr; // Hiding elements should be done using neverDrawn, not transparency...\r\n case FeatureOverrideType.ColorOnly:\r\n return ColorDef.from(colorValues.r, colorValues.g, colorValues.b, 255).tbgr;\r\n case FeatureOverrideType.AlphaOnly:\r\n return -(colorValues.t / 255);\r\n }\r\n }\r\n\r\n /** Get color and override type for the given key. */\r\n public getOverrideFromKey(key: number): { overrideType: FeatureOverrideType, color: ColorDef } {\r\n let overrideType;\r\n let color;\r\n\r\n if (key < 0) {\r\n color = ColorDef.from(0, 0, 0, 255 * Math.abs(key));\r\n overrideType = FeatureOverrideType.AlphaOnly;\r\n } else {\r\n color = ColorDef.fromJSON(key);\r\n if (0 === color.getAlpha()) {\r\n color = color.withAlpha(255);\r\n overrideType = FeatureOverrideType.ColorOnly;\r\n } else {\r\n overrideType = FeatureOverrideType.ColorAndAlpha;\r\n }\r\n }\r\n\r\n return { overrideType, color };\r\n }\r\n\r\n /** Establish a default appearance to apply to elements without overrides. If changing the default appearance\r\n * without also calling overrideElements, an explicit refresh must be requested for the change to take effect.\r\n * @see [[Viewport.setFeatureOverrideProviderChanged]]\r\n */\r\n public get defaultAppearance(): FeatureAppearance | undefined { return this._defaultAppearance; }\r\n public set defaultAppearance(appearance: FeatureAppearance | undefined) { this._defaultAppearance = appearance; }\r\n\r\n /** Establish a default appearance to apply to elements that are not animated by the view's [RenderSchedule.Script]($common).\r\n * @note If this is the only change made to EmphasizeElements, you must call [[Viewport.setFeatureOverrideProviderChanged]] for\r\n * the change to take immediate effect.\r\n * @see [[createDefaultAppearance]] to create an appearance suitable for de-emphasizing the non-animated elements.\r\n */\r\n public get unanimatedAppearance(): FeatureAppearance | undefined {\r\n return this._unanimatedAppearance;\r\n }\r\n public set unanimatedAppearance(appearance: FeatureAppearance | undefined) {\r\n this._unanimatedAppearance = appearance;\r\n }\r\n\r\n /** Create default appearance to use for emphasizeElements when not supplied by caller. */\r\n public createDefaultAppearance(): FeatureAppearance {\r\n return FeatureAppearance.fromJSON({\r\n rgb: new RgbColor(0xe4, 0xe4, 0xe4),\r\n transparency: 0.8,\r\n nonLocatable: true,\r\n });\r\n }\r\n\r\n /** Get the IDs of the currently never drawn elements. */\r\n public getNeverDrawnElements(vp: Viewport): Id64Set | undefined {\r\n return (undefined !== vp.neverDrawn && 0 !== vp.neverDrawn.size ? vp.neverDrawn : undefined);\r\n }\r\n\r\n /** Get the IDs of the currently always drawn elements. */\r\n public getAlwaysDrawnElements(vp: Viewport): Id64Set | undefined {\r\n return (undefined !== vp.alwaysDrawn && 0 !== vp.alwaysDrawn.size ? vp.alwaysDrawn : undefined);\r\n }\r\n\r\n /** Get the IDs of the currently hidden elements. */\r\n public getHiddenElements(vp: Viewport): Id64Set | undefined {\r\n return this.getNeverDrawnElements(vp);\r\n }\r\n\r\n /** Get the IDs of the currently isolated elements. */\r\n public getIsolatedElements(vp: Viewport): Id64Set | undefined {\r\n return (vp.isAlwaysDrawnExclusive ? this.getAlwaysDrawnElements(vp) : undefined);\r\n }\r\n\r\n /** Get the IDs of the currently emphasized isolated elements. */\r\n public getEmphasizedIsolatedElements(): Id64Set | undefined {\r\n return (undefined !== this._defaultAppearance && undefined !== this._emphasizeIsolated && 0 !== this._emphasizeIsolated.size ? this._emphasizeIsolated : undefined);\r\n }\r\n\r\n /** Get the IDs of the currently emphasized elements. */\r\n public getEmphasizedElements(vp: Viewport): Id64Set | undefined {\r\n return (undefined !== this.getEmphasizedIsolatedElements() ? this._emphasizeIsolated : (undefined !== this._defaultAppearance && !vp.isAlwaysDrawnExclusive ? this.getAlwaysDrawnElements(vp) : undefined));\r\n }\r\n\r\n /** Get the map of current elements with color/transparency overrides. */\r\n public getOverriddenElements(): Map<number, Id64Set> | undefined {\r\n return (undefined !== this._overrideAppearance && 0 !== this._overrideAppearance.size ? this._overrideAppearance : undefined);\r\n }\r\n\r\n /** Get the IDs of current elements with the specified color/transparency override. */\r\n public getOverriddenElementsByKey(key: number): Id64Set | undefined {\r\n return (undefined !== this._overrideAppearance ? this._overrideAppearance.get(key) : undefined);\r\n }\r\n\r\n /** Clear never drawn elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearNeverDrawnElements(vp: Viewport): boolean {\r\n if (undefined === this.getNeverDrawnElements(vp))\r\n return false;\r\n vp.clearNeverDrawn();\r\n return true;\r\n }\r\n\r\n /** Clear always drawn elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearAlwaysDrawnElements(vp: Viewport): boolean {\r\n if (undefined === this.getAlwaysDrawnElements(vp))\r\n return false;\r\n vp.clearAlwaysDrawn();\r\n return true;\r\n }\r\n\r\n /** Clear hidden elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearHiddenElements(vp: Viewport): boolean {\r\n return this.clearNeverDrawnElements(vp);\r\n }\r\n\r\n /** Clear isolated elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearIsolatedElements(vp: Viewport): boolean {\r\n if (undefined === this.getIsolatedElements(vp))\r\n return false;\r\n if (this.clearEmphasizedIsolatedElements(vp, true))\r\n return true;\r\n return this.clearAlwaysDrawnElements(vp);\r\n }\r\n\r\n /** Clear emphasized elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearEmphasizedElements(vp: Viewport): boolean {\r\n if (undefined === this.getEmphasizedElements(vp))\r\n return false;\r\n\r\n if (this.clearEmphasizedIsolatedElements(vp, false))\r\n return true;\r\n\r\n if (!this.clearAlwaysDrawnElements(vp))\r\n return false;\r\n\r\n this._defaultAppearance = undefined;\r\n return true;\r\n }\r\n\r\n /** Clear emphasized isolated elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearEmphasizedIsolatedElements(vp: Viewport, setToAlwaysDrawn: boolean): boolean {\r\n const emphasizedIsolated = this.getEmphasizedIsolatedElements();\r\n this._emphasizeIsolated = undefined; // Always clear in case default appearance was unset...\r\n if (undefined === emphasizedIsolated)\r\n return false;\r\n\r\n if (setToAlwaysDrawn && this.setAlwaysDrawnElements(emphasizedIsolated, vp, false))\r\n return true;\r\n\r\n this._defaultAppearance = undefined;\r\n vp.setFeatureOverrideProviderChanged();\r\n return true;\r\n }\r\n\r\n /** Clear color/transparency overrides from elements. Removes all overrides when keyOrIds isn't supplied.\r\n * @param keyOrIds Specify a key value from [[EmphasizeElements.getOverriddenElements]] or [[EmphasizeElements.createOverrideKey]]\r\n * to remove a single color/transparency override for the corresponding elements or specify the IDs of elements to\r\n * remove any color/transparency override from.\r\n * @return false if nothing to clear.\r\n */\r\n public clearOverriddenElements(vp: Viewport, keyOrIds?: number | Id64Arg): boolean {\r\n if (undefined === this._overrideAppearance)\r\n return false;\r\n\r\n if (undefined !== keyOrIds) {\r\n if (typeof keyOrIds === \"number\") {\r\n if (!this._overrideAppearance.delete(keyOrIds))\r\n return false;\r\n } else {\r\n let changed = false;\r\n\r\n for (const [otherKey, otherIds] of this._overrideAppearance) {\r\n const oldSize = otherIds.size;\r\n for (const id of Id64.iterable(keyOrIds))\r\n otherIds.delete(id);\r\n\r\n if (oldSize !== otherIds.size)\r\n changed = true;\r\n\r\n if (0 === otherIds.size)\r\n this._overrideAppearance.delete(otherKey);\r\n }\r\n\r\n if (!changed)\r\n return false;\r\n }\r\n } else {\r\n this._overrideAppearance = undefined;\r\n }\r\n vp.setFeatureOverrideProviderChanged();\r\n return true;\r\n }\r\n\r\n /** @internal */\r\n protected updateIdSet(ids: Id64Arg, replace: boolean, existingIds?: Id64Set): Id64Set | undefined {\r\n const newIds = new Set<string>();\r\n for (const id of Id64.iterable(ids))\r\n newIds.add(id);\r\n\r\n if (0 === newIds.size)\r\n return undefined;\r\n\r\n const oldSize = (!replace && undefined !== existingIds ? existingIds.size : 0);\r\n if (0 !== oldSize && undefined !== existingIds)\r\n for (const id of existingIds)\r\n newIds.add(id);\r\n\r\n if (oldSize === newIds.size)\r\n return undefined;\r\n\r\n return newIds;\r\n }\r\n\r\n /** Set the element IDs to be never drawn.\r\n * @param ids The IDs of the elements to never draw.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently hidden elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.neverDrawn]]\r\n * @internal\r\n */\r\n public setNeverDrawnElements(ids: Id64Arg, vp: Viewport, replace: boolean = true): boolean {\r\n const hiddenIds = this.updateIdSet(ids, replace, vp.neverDrawn);\r\n if (undefined === hiddenIds)\r\n return false;\r\n vp.setNeverDrawn(hiddenIds);\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to be always drawn.\r\n * @param ids The IDs of the elements to always draw.\r\n * @param vp The viewport.\r\n * @param exclusive If true, *only* the specified elements will be drawn.\r\n * @param replace true to replace currently always drawn elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n * @internal\r\n */\r\n public setAlwaysDrawnElements(ids: Id64Arg, vp: Viewport, exclusive: boolean = true, replace: boolean = true): boolean {\r\n const visibleIds = this.updateIdSet(ids, replace, vp.alwaysDrawn);\r\n if (undefined === visibleIds)\r\n return false;\r\n vp.setAlwaysDrawn(visibleIds, exclusive);\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to be never drawn.\r\n * @param ids The IDs of the elements to never draw.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently hidden elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.neverDrawn]]\r\n */\r\n public hideElements(ids: Id64Arg, vp: Viewport, replace: boolean = false): boolean {\r\n return this.setNeverDrawnElements(ids, vp, replace);\r\n }\r\n\r\n /** Set the currently selected elements to be never drawn.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently hidden elements (if any) or false to add to the existing set.\r\n * @param clearSelection true to clear current selection after setting appearance override, false to leave selected.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.neverDrawn]]\r\n */\r\n public hideSelectedElements(vp: Viewport, replace: boolean = false, clearSelection: boolean = true): boolean {\r\n const selection = vp.view.iModel.selectionSet;\r\n if (!selection.isActive || !this.hideElements(selection.elements, vp, replace))\r\n return false;\r\n if (clearSelection)\r\n selection.emptyAll();\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to be always drawn exclusively.\r\n * @param ids The IDs of the elements to always draw.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently isolated elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n */\r\n public isolateElements(ids: Id64Arg, vp: Viewport, replace: boolean = true): boolean {\r\n const wasEmphasized = (undefined !== this.getEmphasizedElements(vp));\r\n if (!this.setAlwaysDrawnElements(ids, vp, true, replace))\r\n return false;\r\n\r\n if (wasEmphasized)\r\n this._defaultAppearance = this._emphasizeIsolated = undefined; // Don't clear defaultAppearance unless it was established by emphasize...\r\n\r\n return true;\r\n }\r\n\r\n /** Set the currently selected elements to be always drawn exclusively.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently isolated elements (if any) or false to add to the existing set.\r\n * @param clearSelection true to clear current selection after setting appearance override, false to leave selected.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n */\r\n public isolateSelectedElements(vp: Viewport, replace: boolean = true, clearSelection: boolean = true): boolean {\r\n const selection = vp.view.iModel.selectionSet;\r\n if (!selection.isActive || !this.isolateElements(selection.elements, vp, replace))\r\n return false;\r\n if (clearSelection)\r\n selection.emptyAll();\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to be always drawn normally with all other elements in the view overridden to draw using a default appearance.\r\n * @param ids The IDs of the elements to always draw.\r\n * @param vp The viewport.\r\n * @param defaultAppearance Optional default appearance, uses non-locatable transparent grey if not specified.\r\n * @param replace true to replace currently overridden elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n */\r\n public emphasizeElements(ids: Id64Arg, vp: Viewport, defaultAppearance?: FeatureAppearance, replace: boolean = true): boolean {\r\n if (undefined !== this.getIsolatedElements(vp)) {\r\n const emphasizeIds = this.updateIdSet(ids, replace, this._emphasizeIsolated);\r\n if (undefined === emphasizeIds)\r\n return false;\r\n\r\n this._emphasizeIsolated = emphasizeIds;\r\n vp.setFeatureOverrideProviderChanged();\r\n } else {\r\n if (!this.setAlwaysDrawnElements(ids, vp, false, replace))\r\n return false;\r\n\r\n this._emphasizeIsolated = undefined;\r\n }\r\n\r\n this._defaultAppearance = (undefined === defaultAppearance ? this.createDefaultAppearance() : defaultAppearance);\r\n return true;\r\n }\r\n\r\n /** Set the currently selected elements to be always drawn normally with all other elements in the view overridden to draw using a default appearance.\r\n * @param vp The viewport.\r\n * @param defaultAppearance Optional default appearance, uses transparent grey if not specified.\r\n * @param replace true to replace currently overridden elements (if any) or false to add to the existing set.\r\n * @param clearSelection true to clear current selection after setting appearance override, false to leave selected.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n */\r\n public emphasizeSelectedElements(vp: Viewport, defaultAppearance?: FeatureAppearance, replace: boolean = true, clearSelection: boolean = true): boolean {\r\n const selection = vp.view.iModel.selectionSet;\r\n if (!selection.isActive || !this.emphasizeElements(selection.elements, vp, defaultAppearance, replace))\r\n return false;\r\n\r\n if (clearSelection)\r\n selection.emptyAll();\r\n\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to display with a color/transparency override.\r\n * @param ids The IDs of the elements.\r\n * @param vp The viewport.\r\n * @param color ColorDef to specify override rgb and alpha.\r\n * @param override Whether to use color and alpha, only color, or only alpha from the supplied ColorDef.\r\n * @param replace true to replace currently overridden elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.addFeatureOverrideProvider]]\r\n */\r\n public overrideElements(ids: Id64Arg, vp: Viewport, color: ColorDef, override: FeatureOverrideType = FeatureOverrideType.ColorOnly, replace: boolean = false): boolean {\r\n const ovrKey = this.createOverrideKey(color, override);\r\n if (undefined === ovrKey)\r\n return false;\r\n\r\n const overrideIds = new Set<string>();\r\n for (const id of Id64.iterable(ids))\r\n overrideIds.add(id);\r\n\r\n if (0 === overrideIds.size)\r\n return false;\r\n\r\n const existingIds = (!replace ? this.getOverriddenElementsByKey(ovrKey) : undefined);\r\n const oldSize = (undefined !== existingIds ? existingIds.size : 0);\r\n if (0 !== oldSize && undefined !== existingIds)\r\n for (const id of existingIds)\r\n overrideIds.add(id);\r\n\r\n if (oldSize === overrideIds.size)\r\n return false;\r\n\r\n if (undefined === this._overrideAppearance) {\r\n this._overrideAppearance = new Map<number, Id64Set>();\r\n } else {\r\n for (const [key, otherIds] of this._overrideAppearance) {\r\n if (key === ovrKey) // Make sure these ids are unique to this color/transparency key...\r\n continue;\r\n\r\n for (const id of Id64.iterable(ids))\r\n otherIds.delete(id);\r\n\r\n if (0 !== otherIds.size)\r\n continue;\r\n\r\n this._overrideAppearance.delete(key);\r\n }\r\n }\r\n\r\n this._overrideAppearance.set(ovrKey, overrideIds);\r\n vp.setFeatureOverrideProviderChanged();\r\n\r\n return true;\r\n }\r\n\r\n /** Set the currently selected elements to display with a color/transparency override.\r\n * @param vp The viewport.\r\n * @param color ColorDef to specify override rgb and alpha.\r\n * @param override Whether to use color and alpha, only color, or only alpha from the supplied ColorDef.\r\n * @param replace true to replace currently overridden elements (if any) or false to add to the existing set.\r\n * @param clearSelection true to clear current selection after setting appearance override, false to leave selected.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.addFeatureOverrideProvider]]\r\n */\r\n public overrideSelectedElements(vp: Viewport, color: ColorDef, override: FeatureOverrideType = FeatureOverrideType.ColorOnly, replace: boolean = false, clearSelection: boolean = true): boolean {\r\n const selection = vp.view.iModel.selectionSet;\r\n if (!selection.isActive || !this.overrideElements(selection.elements, vp, color, override, replace))\r\n return false;\r\n if (clearSelection)\r\n selection.emptyAll();\r\n return true;\r\n }\r\n\r\n /** @return true if provider is currently overriding the display of any elements. */\r\n public isActive(vp: Viewport): boolean { return (undefined !== this.getNeverDrawnElements(vp) || undefined !== this.getAlwaysDrawnElements(vp) || undefined !== this.getOverriddenElements()); }\r\n\r\n /** Serialize to JSON representation.\r\n * @see [[EmphasizeElements.fromJSON]]\r\n */\r\n public toJSON(vp: Viewport): EmphasizeElementsProps {\r\n const props: EmphasizeElementsProps = {};\r\n const neverDrawn = this.getNeverDrawnElements(vp);\r\n if (undefined !== neverDrawn)\r\n props.neverDrawn = [...neverDrawn];\r\n\r\n const alwaysDrawn = this.getAlwaysDrawnElements(vp);\r\n if (undefined !== alwaysDrawn)\r\n props.alwaysDrawn = [...alwaysDrawn];\r\n\r\n if (vp.isAlwaysDrawnExclusive)\r\n props.isAlwaysDrawnExclusive = true; // isolate\r\n\r\n const alwaysDrawnExclusiveEmphasized = this.getEmphasizedIsolatedElements();\r\n if (undefined !== alwaysDrawnExclusiveEmphasized)\r\n props.alwaysDrawnExclusiveEmphasized = [...alwaysDrawnExclusiveEmphasized];\r\n\r\n if (undefined !== this.defaultAppearance)\r\n props.defaultAppearance = this.defaultAppearance; // emphasize (or specifically set for override)\r\n\r\n if (this.unanimatedAppearance)\r\n props.unanimatedAppearance = this.unanimatedAppearance;\r\n\r\n const overriddenElements = this.getOverriddenElements();\r\n if (undefined !== overriddenElements) {\r\n const appearanceOverride: AppearanceOverrideProps[] = [];\r\n for (const [key, ovrIds] of overriddenElements) {\r\n const { color, overrideType } = { ...this.getOverrideFromKey(key) };\r\n const ids = [...ovrIds];\r\n appearanceOverride.push({ overrideType, color: color.toJSON(), ids });\r\n }\r\n\r\n props.appearanceOverride = appearanceOverride;\r\n }\r\n\r\n if (this.wantEmphasis)\r\n props.wantEmphasis = true;\r\n\r\n return props;\r\n }\r\n\r\n /** Initialize from JSON representation.\r\n * @see [[EmphasizeElements.toJSON]]\r\n */\r\n public fromJSON(props: EmphasizeElementsProps, vp: Viewport): boolean {\r\n let changed = false;\r\n if (undefined !== props.neverDrawn && this.setNeverDrawnElements(new Set<string>(props.neverDrawn), vp, true))\r\n changed = true;\r\n\r\n if (undefined !== props.alwaysDrawn && this.setAlwaysDrawnElements(new Set<string>(props.alwaysDrawn), vp, undefined !== props.isAlwaysDrawnExclusive && props.isAlwaysDrawnExclusive))\r\n changed = true;\r\n\r\n if (undefined !== props.alwaysDrawnExclusiveEmphasized)\r\n this._emphasizeIsolated = new Set<string>(props.alwaysDrawnExclusiveEmphasized); // changed status determined by setAlwaysDrawnElements...\r\n\r\n if (undefined !== props.defaultAppearance)\r\n this.defaultAppearance = FeatureAppearance.fromJSON(props.defaultAppearance); // changed status determined by setAlwaysDrawnElements or overrideElements...\r\n\r\n if (props.unanimatedAppearance)\r\n this.unanimatedAppearance = FeatureAppearance.fromJSON(props.unanimatedAppearance);\r\n\r\n if (undefined !== props.appearanceOverride) {\r\n for (const ovrApp of props.appearanceOverride) {\r\n if (undefined === ovrApp.ids)\r\n continue;\r\n\r\n if (this.overrideElements(new Set<string>(ovrApp.ids), vp, ColorDef.fromJSON(ovrApp.color), ovrApp.overrideType, true))\r\n changed = true;\r\n }\r\n }\r\n\r\n const wantEmphasis = true === props.wantEmphasis;\r\n if (wantEmphasis !== this.wantEmphasis) {\r\n this.wantEmphasis = wantEmphasis;\r\n changed = true;\r\n }\r\n\r\n return changed;\r\n }\r\n\r\n /** Return the EmphasizeElements provider currently registered with the specified Viewport, if one is already registered. */\r\n public static get(vp: Viewport): EmphasizeElements | undefined {\r\n return vp.findFeatureOverrideProviderOfType<EmphasizeElements>(EmphasizeElements);\r\n }\r\n\r\n /** Return the EmphasizeElements provider currently registered with the specified Viewport, or register a new one and return it. */\r\n public static getOrCreate(vp: Viewport): EmphasizeElements {\r\n let provider = this.get(vp);\r\n if (!provider) {\r\n provider = new EmphasizeElements();\r\n vp.addFeatureOverrideProvider(provider);\r\n }\r\n\r\n return provider;\r\n }\r\n\r\n /** Drop the EmphasizeElements provider currently registered with the specified Viewport, if any is registered. */\r\n public static clear(vp: Viewport, inactiveOnly: boolean = false) {\r\n const provider = this.get(vp);\r\n\r\n if (undefined === provider || (inactiveOnly && provider.isActive))\r\n return;\r\n\r\n vp.clearNeverDrawn();\r\n vp.clearAlwaysDrawn();\r\n vp.dropFeatureOverrideProvider(provider);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"EmphasizeElements.js","sourceRoot":"","sources":["../../src/EmphasizeElements.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 { Id64, Id64Arg, Id64Set } from \"@itwin/core-bentley\";\r\nimport { AppearanceOverrideProps, ColorDef, EmphasizeElementsProps, FeatureAppearance, FeatureOverrideType, RgbColor } from \"@itwin/core-common\";\r\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\r\nimport { FeatureOverrideProvider } from \"./FeatureOverrideProvider\";\r\nimport { Viewport } from \"./Viewport\";\r\n\r\n/** An implementation of [[FeatureOverrideProvider]] for emphasizing selected elements through simple color/transparency appearance overrides.\r\n * @public\r\n */\r\nexport class EmphasizeElements implements FeatureOverrideProvider {\r\n private _defaultAppearance?: FeatureAppearance;\r\n private _unanimatedAppearance?: FeatureAppearance;\r\n private _emphasizeIsolated?: Id64Set;\r\n private _overrideAppearance?: Map<number, Id64Set>;\r\n private readonly _emphasizedAppearance = FeatureAppearance.fromJSON({ emphasized: true });\r\n\r\n /** If true, all overridden and emphasized elements will also have the \"emphasis\" effect applied to them. This causes them to be hilited using the current [[Viewport.emphasisSettings]]. */\r\n public wantEmphasis = false;\r\n\r\n /** Establish active feature overrides to emphasize elements and apply color/transparency overrides.\r\n * @see [[Viewport.addFeatureOverrideProvider]]\r\n */\r\n public addFeatureOverrides(overrides: FeatureSymbology.Overrides, vp: Viewport): void {\r\n const emphasizedElements = this.getEmphasizedElements(vp);\r\n if (undefined !== emphasizedElements) {\r\n overrides.setDefaultOverrides(this._defaultAppearance!);\r\n const appearance = this.wantEmphasis ? this._emphasizedAppearance : FeatureAppearance.defaults;\r\n\r\n // Avoid creating a new object per-element inside the loop\r\n const args = { elementId: \"\", appearance };\r\n for (const elementId of emphasizedElements) {\r\n args.elementId = elementId;\r\n overrides.override(args);\r\n }\r\n }\r\n\r\n const overriddenElements = this.getOverriddenElements();\r\n if (undefined !== overriddenElements) {\r\n if (undefined !== this._defaultAppearance)\r\n overrides.setDefaultOverrides(this._defaultAppearance);\r\n\r\n // Avoid creating a new object per-element inside the loop\r\n const args = { elementId: \"\", appearance: FeatureAppearance.defaults };\r\n for (const [key, ids] of overriddenElements) {\r\n args.appearance = this.createAppearanceFromKey(key);\r\n for (const elementId of ids) {\r\n args.elementId = elementId;\r\n overrides.override(args);\r\n }\r\n }\r\n }\r\n\r\n if (this._unanimatedAppearance) {\r\n if (this._unanimatedAppearance.isFullyTransparent)\r\n overrides.neverDrawnAnimationNodes.add(0);\r\n else\r\n overrides.animationNodeOverrides.set(0, this._unanimatedAppearance);\r\n }\r\n }\r\n\r\n /** @internal */\r\n protected createAppearanceFromKey(key: number): FeatureAppearance {\r\n let transparency: number | undefined;\r\n let rgb: RgbColor | undefined;\r\n\r\n if (key < 0) {\r\n transparency = Math.abs(key);\r\n } else {\r\n const color = ColorDef.fromJSON(key);\r\n rgb = RgbColor.fromColorDef(color);\r\n if (0 !== color.getAlpha()) // Fully transparent signifies to use color only...\r\n transparency = color.getTransparency() / 255;\r\n }\r\n\r\n const emphasized = this.wantEmphasis ? true : undefined;\r\n return FeatureAppearance.fromJSON({ rgb, transparency, emphasized });\r\n }\r\n\r\n /** Get override key from color and override type */\r\n public createOverrideKey(color: ColorDef, override: FeatureOverrideType): number | undefined {\r\n const colorValues = color.colors;\r\n switch (override) {\r\n case FeatureOverrideType.ColorAndAlpha:\r\n return 255 === colorValues.t ? undefined : color.tbgr; // Hiding elements should be done using neverDrawn, not transparency...\r\n case FeatureOverrideType.ColorOnly:\r\n return ColorDef.from(colorValues.r, colorValues.g, colorValues.b, 255).tbgr;\r\n case FeatureOverrideType.AlphaOnly:\r\n return -(colorValues.t / 255);\r\n }\r\n }\r\n\r\n /** Get color and override type for the given key. */\r\n public getOverrideFromKey(key: number): { overrideType: FeatureOverrideType, color: ColorDef } {\r\n let overrideType;\r\n let color;\r\n\r\n if (key < 0) {\r\n color = ColorDef.from(0, 0, 0, 255 * Math.abs(key));\r\n overrideType = FeatureOverrideType.AlphaOnly;\r\n } else {\r\n color = ColorDef.fromJSON(key);\r\n if (0 === color.getAlpha()) {\r\n color = color.withAlpha(255);\r\n overrideType = FeatureOverrideType.ColorOnly;\r\n } else {\r\n overrideType = FeatureOverrideType.ColorAndAlpha;\r\n }\r\n }\r\n\r\n return { overrideType, color };\r\n }\r\n\r\n /** Establish a default appearance to apply to elements without overrides. If changing the default appearance\r\n * without also calling overrideElements, an explicit refresh must be requested for the change to take effect.\r\n * @see [[Viewport.setFeatureOverrideProviderChanged]]\r\n */\r\n public get defaultAppearance(): FeatureAppearance | undefined { return this._defaultAppearance; }\r\n public set defaultAppearance(appearance: FeatureAppearance | undefined) { this._defaultAppearance = appearance; }\r\n\r\n /** Establish a default appearance to apply to elements that are not animated by the view's [RenderSchedule.Script]($common).\r\n * @note If this is the only change made to EmphasizeElements, you must call [[Viewport.setFeatureOverrideProviderChanged]] for\r\n * the change to take immediate effect.\r\n * @see [[createDefaultAppearance]] to create an appearance suitable for de-emphasizing the non-animated elements.\r\n */\r\n public get unanimatedAppearance(): FeatureAppearance | undefined {\r\n return this._unanimatedAppearance;\r\n }\r\n public set unanimatedAppearance(appearance: FeatureAppearance | undefined) {\r\n this._unanimatedAppearance = appearance;\r\n }\r\n\r\n /** Create default appearance to use for emphasizeElements when not supplied by caller. */\r\n public createDefaultAppearance(): FeatureAppearance {\r\n return FeatureAppearance.fromJSON({\r\n rgb: new RgbColor(0xe4, 0xe4, 0xe4),\r\n transparency: 0.8,\r\n nonLocatable: true,\r\n });\r\n }\r\n\r\n /** Get the IDs of the currently never drawn elements. */\r\n public getNeverDrawnElements(vp: Viewport): Id64Set | undefined {\r\n return (undefined !== vp.neverDrawn && 0 !== vp.neverDrawn.size ? vp.neverDrawn : undefined);\r\n }\r\n\r\n /** Get the IDs of the currently always drawn elements. */\r\n public getAlwaysDrawnElements(vp: Viewport): Id64Set | undefined {\r\n return (undefined !== vp.alwaysDrawn && 0 !== vp.alwaysDrawn.size ? vp.alwaysDrawn : undefined);\r\n }\r\n\r\n /** Get the IDs of the currently hidden elements. */\r\n public getHiddenElements(vp: Viewport): Id64Set | undefined {\r\n return this.getNeverDrawnElements(vp);\r\n }\r\n\r\n /** Get the IDs of the currently isolated elements. */\r\n public getIsolatedElements(vp: Viewport): Id64Set | undefined {\r\n return (vp.isAlwaysDrawnExclusive ? this.getAlwaysDrawnElements(vp) : undefined);\r\n }\r\n\r\n /** Get the IDs of the currently emphasized isolated elements. */\r\n public getEmphasizedIsolatedElements(): Id64Set | undefined {\r\n return (undefined !== this._defaultAppearance && undefined !== this._emphasizeIsolated && 0 !== this._emphasizeIsolated.size ? this._emphasizeIsolated : undefined);\r\n }\r\n\r\n /** Get the IDs of the currently emphasized elements. */\r\n public getEmphasizedElements(vp: Viewport): Id64Set | undefined {\r\n return (undefined !== this.getEmphasizedIsolatedElements() ? this._emphasizeIsolated : (undefined !== this._defaultAppearance && !vp.isAlwaysDrawnExclusive ? this.getAlwaysDrawnElements(vp) : undefined));\r\n }\r\n\r\n /** Get the map of current elements with color/transparency overrides. */\r\n public getOverriddenElements(): Map<number, Id64Set> | undefined {\r\n return (undefined !== this._overrideAppearance && 0 !== this._overrideAppearance.size ? this._overrideAppearance : undefined);\r\n }\r\n\r\n /** Get the IDs of current elements with the specified color/transparency override. */\r\n public getOverriddenElementsByKey(key: number): Id64Set | undefined {\r\n return (undefined !== this._overrideAppearance ? this._overrideAppearance.get(key) : undefined);\r\n }\r\n\r\n /** Clear never drawn elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearNeverDrawnElements(vp: Viewport): boolean {\r\n if (undefined === this.getNeverDrawnElements(vp))\r\n return false;\r\n vp.clearNeverDrawn();\r\n return true;\r\n }\r\n\r\n /** Clear always drawn elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearAlwaysDrawnElements(vp: Viewport): boolean {\r\n if (undefined === this.getAlwaysDrawnElements(vp))\r\n return false;\r\n vp.clearAlwaysDrawn();\r\n return true;\r\n }\r\n\r\n /** Clear hidden elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearHiddenElements(vp: Viewport): boolean {\r\n return this.clearNeverDrawnElements(vp);\r\n }\r\n\r\n /** Clear isolated elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearIsolatedElements(vp: Viewport): boolean {\r\n if (undefined === this.getIsolatedElements(vp))\r\n return false;\r\n if (this.clearEmphasizedIsolatedElements(vp, true))\r\n return true;\r\n return this.clearAlwaysDrawnElements(vp);\r\n }\r\n\r\n /** Clear emphasized elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearEmphasizedElements(vp: Viewport): boolean {\r\n if (undefined === this.getEmphasizedElements(vp))\r\n return false;\r\n\r\n if (this.clearEmphasizedIsolatedElements(vp, false))\r\n return true;\r\n\r\n if (!this.clearAlwaysDrawnElements(vp))\r\n return false;\r\n\r\n this._defaultAppearance = undefined;\r\n return true;\r\n }\r\n\r\n /** Clear emphasized isolated elements.\r\n * @return false if nothing to clear.\r\n */\r\n public clearEmphasizedIsolatedElements(vp: Viewport, setToAlwaysDrawn: boolean): boolean {\r\n const emphasizedIsolated = this.getEmphasizedIsolatedElements();\r\n this._emphasizeIsolated = undefined; // Always clear in case default appearance was unset...\r\n if (undefined === emphasizedIsolated)\r\n return false;\r\n\r\n if (setToAlwaysDrawn && this.setAlwaysDrawnElements(emphasizedIsolated, vp, false))\r\n return true;\r\n\r\n this._defaultAppearance = undefined;\r\n vp.setFeatureOverrideProviderChanged();\r\n return true;\r\n }\r\n\r\n /** Clear color/transparency overrides from elements. Removes all overrides when keyOrIds isn't supplied.\r\n * @param keyOrIds Specify a key value from [[EmphasizeElements.getOverriddenElements]] or [[EmphasizeElements.createOverrideKey]]\r\n * to remove a single color/transparency override for the corresponding elements or specify the IDs of elements to\r\n * remove any color/transparency override from.\r\n * @return false if nothing to clear.\r\n */\r\n public clearOverriddenElements(vp: Viewport, keyOrIds?: number | Id64Arg): boolean {\r\n if (undefined === this._overrideAppearance)\r\n return false;\r\n\r\n if (undefined !== keyOrIds) {\r\n if (typeof keyOrIds === \"number\") {\r\n if (!this._overrideAppearance.delete(keyOrIds))\r\n return false;\r\n } else {\r\n let changed = false;\r\n\r\n for (const [otherKey, otherIds] of this._overrideAppearance) {\r\n const oldSize = otherIds.size;\r\n for (const id of Id64.iterable(keyOrIds))\r\n otherIds.delete(id);\r\n\r\n if (oldSize !== otherIds.size)\r\n changed = true;\r\n\r\n if (0 === otherIds.size)\r\n this._overrideAppearance.delete(otherKey);\r\n }\r\n\r\n if (!changed)\r\n return false;\r\n }\r\n } else {\r\n this._overrideAppearance = undefined;\r\n }\r\n vp.setFeatureOverrideProviderChanged();\r\n return true;\r\n }\r\n\r\n /** @internal */\r\n protected updateIdSet(ids: Id64Arg, replace: boolean, existingIds?: Id64Set): Id64Set | undefined {\r\n const newIds = new Set<string>();\r\n for (const id of Id64.iterable(ids))\r\n newIds.add(id);\r\n\r\n if (0 === newIds.size)\r\n return undefined;\r\n\r\n const oldSize = (!replace && undefined !== existingIds ? existingIds.size : 0);\r\n if (0 !== oldSize && undefined !== existingIds)\r\n for (const id of existingIds)\r\n newIds.add(id);\r\n\r\n if (oldSize === newIds.size)\r\n return undefined;\r\n\r\n return newIds;\r\n }\r\n\r\n /** Set the element IDs to be never drawn.\r\n * @param ids The IDs of the elements to never draw.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently hidden elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.neverDrawn]]\r\n * @internal\r\n */\r\n public setNeverDrawnElements(ids: Id64Arg, vp: Viewport, replace: boolean = true): boolean {\r\n const hiddenIds = this.updateIdSet(ids, replace, vp.neverDrawn);\r\n if (undefined === hiddenIds)\r\n return false;\r\n vp.setNeverDrawn(hiddenIds);\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to be always drawn.\r\n * @param ids The IDs of the elements to always draw.\r\n * @param vp The viewport.\r\n * @param exclusive If true, *only* the specified elements will be drawn.\r\n * @param replace true to replace currently always drawn elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n * @internal\r\n */\r\n public setAlwaysDrawnElements(ids: Id64Arg, vp: Viewport, exclusive: boolean = true, replace: boolean = true): boolean {\r\n const visibleIds = this.updateIdSet(ids, replace, vp.alwaysDrawn);\r\n if (undefined === visibleIds)\r\n return false;\r\n vp.setAlwaysDrawn(visibleIds, exclusive);\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to be never drawn.\r\n * @param ids The IDs of the elements to never draw.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently hidden elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.neverDrawn]]\r\n */\r\n public hideElements(ids: Id64Arg, vp: Viewport, replace: boolean = false): boolean {\r\n return this.setNeverDrawnElements(ids, vp, replace);\r\n }\r\n\r\n /** Set the currently selected elements to be never drawn.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently hidden elements (if any) or false to add to the existing set.\r\n * @param clearSelection true to clear current selection after setting appearance override, false to leave selected.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.neverDrawn]]\r\n */\r\n public hideSelectedElements(vp: Viewport, replace: boolean = false, clearSelection: boolean = true): boolean {\r\n const selection = vp.view.iModel.selectionSet;\r\n if (!selection.isActive || !this.hideElements(selection.elements, vp, replace))\r\n return false;\r\n if (clearSelection)\r\n selection.emptyAll();\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to be always drawn exclusively.\r\n * @param ids The IDs of the elements to always draw.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently isolated elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n */\r\n public isolateElements(ids: Id64Arg, vp: Viewport, replace: boolean = true): boolean {\r\n const wasEmphasized = (undefined !== this.getEmphasizedElements(vp));\r\n if (!this.setAlwaysDrawnElements(ids, vp, true, replace))\r\n return false;\r\n\r\n if (wasEmphasized)\r\n this._defaultAppearance = this._emphasizeIsolated = undefined; // Don't clear defaultAppearance unless it was established by emphasize...\r\n\r\n return true;\r\n }\r\n\r\n /** Set the currently selected elements to be always drawn exclusively.\r\n * @param vp The viewport.\r\n * @param replace true to replace currently isolated elements (if any) or false to add to the existing set.\r\n * @param clearSelection true to clear current selection after setting appearance override, false to leave selected.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n */\r\n public isolateSelectedElements(vp: Viewport, replace: boolean = true, clearSelection: boolean = true): boolean {\r\n const selection = vp.view.iModel.selectionSet;\r\n if (!selection.isActive || !this.isolateElements(selection.elements, vp, replace))\r\n return false;\r\n if (clearSelection)\r\n selection.emptyAll();\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to be always drawn normally with all other elements in the view overridden to draw using a default appearance.\r\n * @param ids The IDs of the elements to always draw.\r\n * @param vp The viewport.\r\n * @param defaultAppearance Optional default appearance, uses non-locatable transparent grey if not specified.\r\n * @param replace true to replace currently overridden elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n */\r\n public emphasizeElements(ids: Id64Arg, vp: Viewport, defaultAppearance?: FeatureAppearance, replace: boolean = true): boolean {\r\n if (undefined !== this.getIsolatedElements(vp)) {\r\n const emphasizeIds = this.updateIdSet(ids, replace, this._emphasizeIsolated);\r\n if (undefined === emphasizeIds)\r\n return false;\r\n\r\n this._emphasizeIsolated = emphasizeIds;\r\n vp.setFeatureOverrideProviderChanged();\r\n } else {\r\n if (!this.setAlwaysDrawnElements(ids, vp, false, replace))\r\n return false;\r\n\r\n this._emphasizeIsolated = undefined;\r\n }\r\n\r\n this._defaultAppearance = (undefined === defaultAppearance ? this.createDefaultAppearance() : defaultAppearance);\r\n return true;\r\n }\r\n\r\n /** Set the currently selected elements to be always drawn normally with all other elements in the view overridden to draw using a default appearance.\r\n * @param vp The viewport.\r\n * @param defaultAppearance Optional default appearance, uses transparent grey if not specified.\r\n * @param replace true to replace currently overridden elements (if any) or false to add to the existing set.\r\n * @param clearSelection true to clear current selection after setting appearance override, false to leave selected.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.isAlwaysDrawnExclusive]]\r\n */\r\n public emphasizeSelectedElements(vp: Viewport, defaultAppearance?: FeatureAppearance, replace: boolean = true, clearSelection: boolean = true): boolean {\r\n const selection = vp.view.iModel.selectionSet;\r\n if (!selection.isActive || !this.emphasizeElements(selection.elements, vp, defaultAppearance, replace))\r\n return false;\r\n\r\n if (clearSelection)\r\n selection.emptyAll();\r\n\r\n return true;\r\n }\r\n\r\n /** Set the element IDs to display with a color/transparency override.\r\n * @param ids The IDs of the elements.\r\n * @param vp The viewport.\r\n * @param color ColorDef to specify override rgb and alpha.\r\n * @param override Whether to use color and alpha, only color, or only alpha from the supplied ColorDef.\r\n * @param replace true to replace currently overridden elements (if any) or false to add to the existing set.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.addFeatureOverrideProvider]]\r\n */\r\n public overrideElements(ids: Id64Arg, vp: Viewport, color: ColorDef, override: FeatureOverrideType = FeatureOverrideType.ColorOnly, replace: boolean = false): boolean {\r\n const ovrKey = this.createOverrideKey(color, override);\r\n if (undefined === ovrKey)\r\n return false;\r\n\r\n const overrideIds = new Set<string>();\r\n for (const id of Id64.iterable(ids))\r\n overrideIds.add(id);\r\n\r\n if (0 === overrideIds.size)\r\n return false;\r\n\r\n const existingIds = (!replace ? this.getOverriddenElementsByKey(ovrKey) : undefined);\r\n const oldSize = (undefined !== existingIds ? existingIds.size : 0);\r\n if (0 !== oldSize && undefined !== existingIds)\r\n for (const id of existingIds)\r\n overrideIds.add(id);\r\n\r\n if (oldSize === overrideIds.size)\r\n return false;\r\n\r\n if (undefined === this._overrideAppearance) {\r\n this._overrideAppearance = new Map<number, Id64Set>();\r\n } else {\r\n for (const [key, otherIds] of this._overrideAppearance) {\r\n if (key === ovrKey) // Make sure these ids are unique to this color/transparency key...\r\n continue;\r\n\r\n for (const id of Id64.iterable(ids))\r\n otherIds.delete(id);\r\n\r\n if (0 !== otherIds.size)\r\n continue;\r\n\r\n this._overrideAppearance.delete(key);\r\n }\r\n }\r\n\r\n this._overrideAppearance.set(ovrKey, overrideIds);\r\n vp.setFeatureOverrideProviderChanged();\r\n\r\n return true;\r\n }\r\n\r\n /** Set the currently selected elements to display with a color/transparency override.\r\n * @param vp The viewport.\r\n * @param color ColorDef to specify override rgb and alpha.\r\n * @param override Whether to use color and alpha, only color, or only alpha from the supplied ColorDef.\r\n * @param replace true to replace currently overridden elements (if any) or false to add to the existing set.\r\n * @param clearSelection true to clear current selection after setting appearance override, false to leave selected.\r\n * @return true if overrides were changed.\r\n * @see [[Viewport.addFeatureOverrideProvider]]\r\n */\r\n public overrideSelectedElements(vp: Viewport, color: ColorDef, override: FeatureOverrideType = FeatureOverrideType.ColorOnly, replace: boolean = false, clearSelection: boolean = true): boolean {\r\n const selection = vp.view.iModel.selectionSet;\r\n if (!selection.isActive || !this.overrideElements(selection.elements, vp, color, override, replace))\r\n return false;\r\n if (clearSelection)\r\n selection.emptyAll();\r\n return true;\r\n }\r\n\r\n /** @return true if provider is currently overriding the display of any elements. */\r\n public isActive(vp: Viewport): boolean { return (undefined !== this.getNeverDrawnElements(vp) || undefined !== this.getAlwaysDrawnElements(vp) || undefined !== this.getOverriddenElements()); }\r\n\r\n /** Serialize to JSON representation.\r\n * @see [[EmphasizeElements.fromJSON]]\r\n */\r\n public toJSON(vp: Viewport): EmphasizeElementsProps {\r\n const props: EmphasizeElementsProps = {};\r\n const neverDrawn = this.getNeverDrawnElements(vp);\r\n if (undefined !== neverDrawn)\r\n props.neverDrawn = [...neverDrawn];\r\n\r\n const alwaysDrawn = this.getAlwaysDrawnElements(vp);\r\n if (undefined !== alwaysDrawn)\r\n props.alwaysDrawn = [...alwaysDrawn];\r\n\r\n if (vp.isAlwaysDrawnExclusive)\r\n props.isAlwaysDrawnExclusive = true; // isolate\r\n\r\n const alwaysDrawnExclusiveEmphasized = this.getEmphasizedIsolatedElements();\r\n if (undefined !== alwaysDrawnExclusiveEmphasized)\r\n props.alwaysDrawnExclusiveEmphasized = [...alwaysDrawnExclusiveEmphasized];\r\n\r\n if (undefined !== this.defaultAppearance)\r\n props.defaultAppearance = this.defaultAppearance; // emphasize (or specifically set for override)\r\n\r\n if (this.unanimatedAppearance)\r\n props.unanimatedAppearance = this.unanimatedAppearance;\r\n\r\n const overriddenElements = this.getOverriddenElements();\r\n if (undefined !== overriddenElements) {\r\n const appearanceOverride: AppearanceOverrideProps[] = [];\r\n for (const [key, ovrIds] of overriddenElements) {\r\n const { color, overrideType } = { ...this.getOverrideFromKey(key) };\r\n const ids = [...ovrIds];\r\n appearanceOverride.push({ overrideType, color: color.toJSON(), ids });\r\n }\r\n\r\n props.appearanceOverride = appearanceOverride;\r\n }\r\n\r\n if (this.wantEmphasis)\r\n props.wantEmphasis = true;\r\n\r\n return props;\r\n }\r\n\r\n /** Initialize from JSON representation.\r\n * @see [[EmphasizeElements.toJSON]]\r\n */\r\n public fromJSON(props: EmphasizeElementsProps, vp: Viewport): boolean {\r\n let changed = false;\r\n if (undefined !== props.neverDrawn && this.setNeverDrawnElements(new Set<string>(props.neverDrawn), vp, true))\r\n changed = true;\r\n\r\n if (undefined !== props.alwaysDrawn && this.setAlwaysDrawnElements(new Set<string>(props.alwaysDrawn), vp, undefined !== props.isAlwaysDrawnExclusive && props.isAlwaysDrawnExclusive))\r\n changed = true;\r\n\r\n if (undefined !== props.alwaysDrawnExclusiveEmphasized)\r\n this._emphasizeIsolated = new Set<string>(props.alwaysDrawnExclusiveEmphasized); // changed status determined by setAlwaysDrawnElements...\r\n\r\n if (undefined !== props.defaultAppearance)\r\n this.defaultAppearance = FeatureAppearance.fromJSON(props.defaultAppearance); // changed status determined by setAlwaysDrawnElements or overrideElements...\r\n\r\n if (props.unanimatedAppearance)\r\n this.unanimatedAppearance = FeatureAppearance.fromJSON(props.unanimatedAppearance);\r\n\r\n if (undefined !== props.appearanceOverride) {\r\n for (const ovrApp of props.appearanceOverride) {\r\n if (undefined === ovrApp.ids)\r\n continue;\r\n\r\n if (this.overrideElements(new Set<string>(ovrApp.ids), vp, ColorDef.fromJSON(ovrApp.color), ovrApp.overrideType, true))\r\n changed = true;\r\n }\r\n }\r\n\r\n const wantEmphasis = true === props.wantEmphasis;\r\n if (wantEmphasis !== this.wantEmphasis) {\r\n this.wantEmphasis = wantEmphasis;\r\n changed = true;\r\n }\r\n\r\n return changed;\r\n }\r\n\r\n /** Return the EmphasizeElements provider currently registered with the specified Viewport, if one is already registered. */\r\n public static get(vp: Viewport): EmphasizeElements | undefined {\r\n return vp.findFeatureOverrideProviderOfType<EmphasizeElements>(EmphasizeElements);\r\n }\r\n\r\n /** Return the EmphasizeElements provider currently registered with the specified Viewport, or register a new one and return it. */\r\n public static getOrCreate(vp: Viewport): EmphasizeElements {\r\n let provider = this.get(vp);\r\n if (!provider) {\r\n provider = new EmphasizeElements();\r\n vp.addFeatureOverrideProvider(provider);\r\n }\r\n\r\n return provider;\r\n }\r\n\r\n /** Drop the EmphasizeElements provider currently registered with the specified Viewport, if any is registered. */\r\n public static clear(vp: Viewport, inactiveOnly: boolean = false) {\r\n const provider = this.get(vp);\r\n\r\n if (undefined === provider || (inactiveOnly && provider.isActive))\r\n return;\r\n\r\n vp.clearNeverDrawn();\r\n vp.clearAlwaysDrawn();\r\n vp.dropFeatureOverrideProvider(provider);\r\n }\r\n}\r\n"]}
@@ -0,0 +1,39 @@
1
+ /** @packageDocumentation
2
+ * @module Views
3
+ */
4
+ import { Environment, GraphicParams } from "@itwin/core-common";
5
+ import { ViewState3d } from "./ViewState";
6
+ import { DecorateContext } from "./ViewContext";
7
+ import { RenderSkyBoxParams } from "./render/RenderSystem";
8
+ /** @internal */
9
+ export interface GroundPlaneDecorations {
10
+ readonly aboveParams: GraphicParams;
11
+ readonly belowParams: GraphicParams;
12
+ }
13
+ /** @internal */
14
+ export interface SkyBoxDecorations {
15
+ params?: RenderSkyBoxParams | undefined;
16
+ promise?: Promise<RenderSkyBoxParams | undefined>;
17
+ }
18
+ /** @internal */
19
+ export declare class EnvironmentDecorations {
20
+ protected readonly _view: ViewState3d;
21
+ protected readonly _onLoaded: () => void;
22
+ protected readonly _onDispose: () => void;
23
+ protected _environment: Environment;
24
+ protected _ground?: GroundPlaneDecorations;
25
+ protected _sky: SkyBoxDecorations;
26
+ constructor(view: ViewState3d, onLoaded: () => void, onDispose: () => void);
27
+ dispose(): void;
28
+ setEnvironment(env: Environment): void;
29
+ decorate(context: DecorateContext): void;
30
+ private loadGround;
31
+ private createGroundParams;
32
+ private loadSky;
33
+ private setSky;
34
+ private loadSkyParams;
35
+ private createCubeImageKey;
36
+ private createSkyGradientParams;
37
+ private imageFromSpec;
38
+ }
39
+ //# sourceMappingURL=EnvironmentDecorations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentDecorations.d.ts","sourceRoot":"","sources":["../../src/EnvironmentDecorations.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EACK,WAAW,EAAY,aAAa,EAC/C,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;CACrC;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CACnD;AAED,gBAAgB;AAChB,qBAAa,sBAAsB;IACjC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAC1C,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAC3C,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC;gBAEf,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,SAAS,EAAE,MAAM,IAAI;IAY1E,OAAO,IAAI,IAAI;IAQf,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAmBtC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAoC/C,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,MAAM;YAMA,aAAa;IAyD3B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,uBAAuB;YAIjB,aAAa;CAM5B"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Views
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.EnvironmentDecorations = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const core_geometry_1 = require("@itwin/core-geometry");
13
+ const core_common_1 = require("@itwin/core-common");
14
+ const IModelApp_1 = require("./IModelApp");
15
+ const ImageUtil_1 = require("./ImageUtil");
16
+ const GraphicBuilder_1 = require("./render/GraphicBuilder");
17
+ /** @internal */
18
+ class EnvironmentDecorations {
19
+ constructor(view, onLoaded, onDispose) {
20
+ this._environment = view.displayStyle.environment;
21
+ this._view = view;
22
+ this._onLoaded = onLoaded;
23
+ this._onDispose = onDispose;
24
+ this._sky = {};
25
+ this.loadSky();
26
+ if (this._environment.displayGround)
27
+ this.loadGround();
28
+ }
29
+ dispose() {
30
+ this._ground = undefined;
31
+ this._sky.promise = this._sky.params = undefined;
32
+ this._onDispose();
33
+ }
34
+ setEnvironment(env) {
35
+ const prev = this._environment;
36
+ if (prev === env)
37
+ return;
38
+ this._environment = env;
39
+ // Update ground plane
40
+ if (!env.displayGround || env.ground !== prev.ground)
41
+ this._ground = undefined;
42
+ if (env.displayGround && !this._ground)
43
+ this.loadGround();
44
+ // Update sky box
45
+ if (env.sky !== prev.sky)
46
+ this.loadSky();
47
+ }
48
+ decorate(context) {
49
+ const env = this._environment;
50
+ if (env.displaySky && this._sky.params) {
51
+ const sky = IModelApp_1.IModelApp.renderSystem.createSkyBox(this._sky.params);
52
+ if (sky)
53
+ context.setSkyBox(sky);
54
+ }
55
+ if (!env.displayGround || !this._ground)
56
+ return;
57
+ const extents = this._view.getGroundExtents(context.viewport);
58
+ if (extents.isNull)
59
+ return;
60
+ const points = [extents.low.clone(), extents.low.clone(), extents.high.clone(), extents.high.clone()];
61
+ points[1].x = extents.high.x;
62
+ points[3].x = extents.low.x;
63
+ const aboveGround = this._view.isEyePointAbove(extents.low.z);
64
+ const params = aboveGround ? this._ground.aboveParams : this._ground.belowParams;
65
+ const builder = context.createGraphicBuilder(GraphicBuilder_1.GraphicType.WorldDecoration);
66
+ builder.activateGraphicParams(params);
67
+ const strokeOptions = new core_geometry_1.StrokeOptions();
68
+ strokeOptions.needParams = true;
69
+ const polyfaceBuilder = core_geometry_1.PolyfaceBuilder.create(strokeOptions);
70
+ polyfaceBuilder.toggleReversedFacetFlag();
71
+ const uvParams = [core_geometry_1.Point2d.create(0, 0), core_geometry_1.Point2d.create(1, 0), core_geometry_1.Point2d.create(1, 1), core_geometry_1.Point2d.create(0, 1)];
72
+ polyfaceBuilder.addQuadFacet(points, uvParams);
73
+ const polyface = polyfaceBuilder.claimPolyface(false);
74
+ builder.addPolyface(polyface, true);
75
+ context.addDecorationFromBuilder(builder);
76
+ }
77
+ loadGround() {
78
+ (0, core_bentley_1.assert)(undefined === this._ground);
79
+ const aboveParams = this.createGroundParams(true);
80
+ const belowParams = this.createGroundParams(false);
81
+ if (aboveParams && belowParams)
82
+ this._ground = { aboveParams, belowParams };
83
+ }
84
+ createGroundParams(above) {
85
+ // Create a gradient texture.
86
+ const ground = this._environment.ground;
87
+ const values = [0, 0.25, 0.5];
88
+ const color = above ? ground.aboveColor : ground.belowColor;
89
+ const alpha = above ? 0x80 : 0x85;
90
+ const groundColors = [color.withTransparency(0xff), color, color];
91
+ groundColors[1] = groundColors[2] = color.withTransparency(alpha);
92
+ const gradient = new core_common_1.Gradient.Symb();
93
+ gradient.mode = core_common_1.Gradient.Mode.Spherical;
94
+ gradient.keys = [{ color: groundColors[0], value: values[0] }, { color: groundColors[1], value: values[1] }, { color: groundColors[2], value: values[2] }];
95
+ const texture = IModelApp_1.IModelApp.renderSystem.getGradientTexture(gradient, this._view.iModel);
96
+ if (!texture)
97
+ return undefined;
98
+ // Create a material using the gradient texture
99
+ const matParams = new core_common_1.RenderMaterial.Params();
100
+ matParams.diffuseColor = core_common_1.ColorDef.white;
101
+ matParams.shadows = false;
102
+ matParams.ambient = 1;
103
+ matParams.diffuse = 0;
104
+ const mapParams = new core_common_1.TextureMapping.Params();
105
+ const transform = new core_common_1.TextureMapping.Trans2x3(0, 1, 0, 1, 0, 0);
106
+ mapParams.textureMatrix = transform;
107
+ matParams.textureMapping = new core_common_1.TextureMapping(texture, mapParams);
108
+ const material = IModelApp_1.IModelApp.renderSystem.createMaterial(matParams, this._view.iModel);
109
+ if (!material)
110
+ return undefined;
111
+ // Create GraphicParams using the material.
112
+ const params = new core_common_1.GraphicParams();
113
+ params.lineColor = gradient.keys[0].color;
114
+ params.fillColor = core_common_1.ColorDef.white; // Fill should be set to opaque white for gradient texture...
115
+ params.material = material;
116
+ return params;
117
+ }
118
+ loadSky() {
119
+ const promise = this.loadSkyParams();
120
+ this._sky.promise = promise;
121
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
122
+ promise.then((params) => {
123
+ if (promise === this._sky.promise)
124
+ this.setSky(params !== null && params !== void 0 ? params : this.createSkyGradientParams());
125
+ });
126
+ promise.catch(() => {
127
+ if (this._sky.promise === promise)
128
+ this.setSky(this.createSkyGradientParams());
129
+ });
130
+ }
131
+ setSky(params) {
132
+ this._sky.promise = undefined;
133
+ this._sky.params = params;
134
+ this._onLoaded();
135
+ }
136
+ async loadSkyParams() {
137
+ const sky = this._environment.sky;
138
+ if (sky instanceof core_common_1.SkyCube) {
139
+ const key = this.createCubeImageKey(sky);
140
+ const existingTexture = IModelApp_1.IModelApp.renderSystem.findTexture(key, this._view.iModel);
141
+ if (existingTexture)
142
+ return { type: "cube", texture: existingTexture };
143
+ // Some faces may use the same image. Only request each image once.
144
+ const specs = new Set([sky.images.front, sky.images.back, sky.images.left, sky.images.right, sky.images.top, sky.images.bottom]);
145
+ const promises = [];
146
+ for (const spec of specs)
147
+ promises.push(this.imageFromSpec(spec));
148
+ return Promise.all(promises).then((images) => {
149
+ const idToImage = new Map();
150
+ let index = 0;
151
+ for (const spec of specs) {
152
+ const image = images[index++];
153
+ if (!image)
154
+ return undefined;
155
+ else
156
+ idToImage.set(spec, image);
157
+ }
158
+ // eslint-disable-next-line deprecation/deprecation
159
+ const params = new core_common_1.RenderTexture.Params(key, core_common_1.RenderTexture.Type.SkyBox);
160
+ const txImgs = [
161
+ idToImage.get(sky.images.front), idToImage.get(sky.images.back), idToImage.get(sky.images.top),
162
+ idToImage.get(sky.images.bottom), idToImage.get(sky.images.right), idToImage.get(sky.images.left),
163
+ ];
164
+ const texture = IModelApp_1.IModelApp.renderSystem.createTextureFromCubeImages(txImgs[0], txImgs[1], txImgs[2], txImgs[3], txImgs[4], txImgs[5], this._view.iModel, params);
165
+ return texture ? { type: "cube", texture } : undefined;
166
+ });
167
+ }
168
+ else if (sky instanceof core_common_1.SkySphere) {
169
+ const rotation = 0; // ###TODO where is this supposed to come from?
170
+ let texture = IModelApp_1.IModelApp.renderSystem.findTexture(sky.image, this._view.iModel);
171
+ if (!texture) {
172
+ const image = await this.imageFromSpec(sky.image);
173
+ if (image) {
174
+ texture = IModelApp_1.IModelApp.renderSystem.createTexture({
175
+ image: { source: image },
176
+ ownership: { iModel: this._view.iModel, key: sky.image },
177
+ });
178
+ }
179
+ }
180
+ if (!texture)
181
+ return undefined;
182
+ return { type: "sphere", texture, rotation, zOffset: this._view.iModel.globalOrigin.z };
183
+ }
184
+ else {
185
+ return this.createSkyGradientParams();
186
+ }
187
+ }
188
+ createCubeImageKey(sky) {
189
+ const i = sky.images;
190
+ return `skycube:${i.front}:${i.back}:${i.left}:${i.right}:${i.top}:${i.bottom}`;
191
+ }
192
+ createSkyGradientParams() {
193
+ return { type: "gradient", gradient: this._environment.sky.gradient, zOffset: this._view.iModel.globalOrigin.z };
194
+ }
195
+ async imageFromSpec(spec) {
196
+ var _a;
197
+ if (core_bentley_1.Id64.isValidId64(spec))
198
+ return (_a = (await IModelApp_1.IModelApp.renderSystem.loadTextureImage(spec, this._view.iModel))) === null || _a === void 0 ? void 0 : _a.image;
199
+ return (0, ImageUtil_1.tryImageElementFromUrl)(spec);
200
+ }
201
+ }
202
+ exports.EnvironmentDecorations = EnvironmentDecorations;
203
+ //# sourceMappingURL=EnvironmentDecorations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentDecorations.js","sourceRoot":"","sources":["../../src/EnvironmentDecorations.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\nimport { assert, Id64} from \"@itwin/core-bentley\";\r\nimport { Point2d, Point3d, PolyfaceBuilder, StrokeOptions } from \"@itwin/core-geometry\";\r\nimport {\r\n ColorDef, Environment, Gradient, GraphicParams, RenderMaterial, RenderTexture, SkyCube, SkySphere, TextureImageSpec, TextureMapping,\r\n} from \"@itwin/core-common\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { ViewState3d } from \"./ViewState\";\r\nimport { DecorateContext } from \"./ViewContext\";\r\nimport { tryImageElementFromUrl } from \"./ImageUtil\";\r\nimport { GraphicType } from \"./render/GraphicBuilder\";\r\nimport { RenderSkyBoxParams } from \"./render/RenderSystem\";\r\n\r\n/** @internal */\r\nexport interface GroundPlaneDecorations {\r\n readonly aboveParams: GraphicParams;\r\n readonly belowParams: GraphicParams;\r\n}\r\n\r\n/** @internal */\r\nexport interface SkyBoxDecorations {\r\n params?: RenderSkyBoxParams | undefined;\r\n promise?: Promise<RenderSkyBoxParams | undefined>;\r\n}\r\n\r\n/** @internal */\r\nexport class EnvironmentDecorations {\r\n protected readonly _view: ViewState3d;\r\n protected readonly _onLoaded: () => void;\r\n protected readonly _onDispose: () => void;\r\n protected _environment: Environment;\r\n protected _ground?: GroundPlaneDecorations;\r\n protected _sky: SkyBoxDecorations;\r\n\r\n public constructor(view: ViewState3d, onLoaded: () => void, onDispose: () => void) {\r\n this._environment = view.displayStyle.environment;\r\n this._view = view;\r\n this._onLoaded = onLoaded;\r\n this._onDispose = onDispose;\r\n\r\n this._sky = { };\r\n this.loadSky();\r\n if (this._environment.displayGround)\r\n this.loadGround();\r\n }\r\n\r\n public dispose(): void {\r\n this._ground = undefined;\r\n\r\n this._sky.promise = this._sky.params = undefined;\r\n\r\n this._onDispose();\r\n }\r\n\r\n public setEnvironment(env: Environment): void {\r\n const prev = this._environment;\r\n if (prev === env)\r\n return;\r\n\r\n this._environment = env;\r\n\r\n // Update ground plane\r\n if (!env.displayGround || env.ground !== prev.ground)\r\n this._ground = undefined;\r\n\r\n if (env.displayGround && !this._ground)\r\n this.loadGround();\r\n\r\n // Update sky box\r\n if (env.sky !== prev.sky)\r\n this.loadSky();\r\n }\r\n\r\n public decorate(context: DecorateContext): void {\r\n const env = this._environment;\r\n if (env.displaySky && this._sky.params) {\r\n const sky = IModelApp.renderSystem.createSkyBox(this._sky.params);\r\n if (sky)\r\n context.setSkyBox(sky);\r\n }\r\n\r\n if (!env.displayGround || !this._ground)\r\n return;\r\n\r\n const extents = this._view.getGroundExtents(context.viewport);\r\n if (extents.isNull)\r\n return;\r\n\r\n const points: Point3d[] = [extents.low.clone(), extents.low.clone(), extents.high.clone(), extents.high.clone()];\r\n points[1].x = extents.high.x;\r\n points[3].x = extents.low.x;\r\n\r\n const aboveGround = this._view.isEyePointAbove(extents.low.z);\r\n const params = aboveGround ? this._ground.aboveParams : this._ground.belowParams;\r\n const builder = context.createGraphicBuilder(GraphicType.WorldDecoration);\r\n builder.activateGraphicParams(params);\r\n\r\n const strokeOptions = new StrokeOptions();\r\n strokeOptions.needParams = true;\r\n const polyfaceBuilder = PolyfaceBuilder.create(strokeOptions);\r\n polyfaceBuilder.toggleReversedFacetFlag();\r\n const uvParams: Point2d[] = [Point2d.create(0, 0), Point2d.create(1, 0), Point2d.create(1, 1), Point2d.create(0, 1)];\r\n polyfaceBuilder.addQuadFacet(points, uvParams);\r\n const polyface = polyfaceBuilder.claimPolyface(false);\r\n\r\n builder.addPolyface(polyface, true);\r\n context.addDecorationFromBuilder(builder);\r\n }\r\n\r\n private loadGround(): void {\r\n assert(undefined === this._ground);\r\n const aboveParams = this.createGroundParams(true);\r\n const belowParams = this.createGroundParams(false);\r\n if (aboveParams && belowParams)\r\n this._ground = { aboveParams, belowParams };\r\n }\r\n\r\n private createGroundParams(above: boolean): GraphicParams | undefined {\r\n // Create a gradient texture.\r\n const ground = this._environment.ground;\r\n const values = [0, 0.25, 0.5 ];\r\n const color = above ? ground.aboveColor : ground.belowColor;\r\n const alpha = above ? 0x80 : 0x85;\r\n const groundColors = [color.withTransparency(0xff), color, color];\r\n groundColors[1] = groundColors[2] = color.withTransparency(alpha);\r\n\r\n const gradient = new Gradient.Symb();\r\n gradient.mode = Gradient.Mode.Spherical;\r\n gradient.keys = [{ color: groundColors[0], value: values[0] }, { color: groundColors[1], value: values[1] }, { color: groundColors[2], value: values[2] }];\r\n const texture = IModelApp.renderSystem.getGradientTexture(gradient, this._view.iModel);\r\n if (!texture)\r\n return undefined;\r\n\r\n // Create a material using the gradient texture\r\n const matParams = new RenderMaterial.Params();\r\n matParams.diffuseColor = ColorDef.white;\r\n matParams.shadows = false;\r\n matParams.ambient = 1;\r\n matParams.diffuse = 0;\r\n\r\n const mapParams = new TextureMapping.Params();\r\n const transform = new TextureMapping.Trans2x3(0, 1, 0, 1, 0, 0);\r\n mapParams.textureMatrix = transform;\r\n matParams.textureMapping = new TextureMapping(texture, mapParams);\r\n const material = IModelApp.renderSystem.createMaterial(matParams, this._view.iModel);\r\n if (!material)\r\n return undefined;\r\n\r\n // Create GraphicParams using the material.\r\n const params = new GraphicParams();\r\n params.lineColor = gradient.keys[0].color;\r\n params.fillColor = ColorDef.white; // Fill should be set to opaque white for gradient texture...\r\n params.material = material;\r\n\r\n return params;\r\n }\r\n\r\n private loadSky(): void {\r\n const promise = this.loadSkyParams();\r\n this._sky.promise = promise;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n promise.then((params) => {\r\n if (promise === this._sky.promise)\r\n this.setSky(params ?? this.createSkyGradientParams());\r\n });\r\n\r\n promise.catch(() => {\r\n if (this._sky.promise === promise)\r\n this.setSky(this.createSkyGradientParams());\r\n });\r\n }\r\n\r\n private setSky(params: RenderSkyBoxParams): void {\r\n this._sky.promise = undefined;\r\n this._sky.params = params;\r\n this._onLoaded();\r\n }\r\n\r\n private async loadSkyParams(): Promise<RenderSkyBoxParams | undefined> {\r\n const sky = this._environment.sky;\r\n if (sky instanceof SkyCube) {\r\n const key = this.createCubeImageKey(sky);\r\n const existingTexture = IModelApp.renderSystem.findTexture(key, this._view.iModel);\r\n if (existingTexture)\r\n return { type: \"cube\", texture: existingTexture };\r\n\r\n // Some faces may use the same image. Only request each image once.\r\n const specs = new Set<string>([sky.images.front, sky.images.back, sky.images.left, sky.images.right, sky.images.top, sky.images.bottom]);\r\n const promises = [];\r\n for (const spec of specs)\r\n promises.push(this.imageFromSpec(spec));\r\n\r\n return Promise.all(promises).then((images) => {\r\n const idToImage = new Map<TextureImageSpec, HTMLImageElement>();\r\n let index = 0;\r\n for (const spec of specs) {\r\n const image = images[index++];\r\n if (!image)\r\n return undefined;\r\n else\r\n idToImage.set(spec, image);\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n const params = new RenderTexture.Params(key, RenderTexture.Type.SkyBox);\r\n const txImgs = [\r\n idToImage.get(sky.images.front)!, idToImage.get(sky.images.back)!, idToImage.get(sky.images.top)!,\r\n idToImage.get(sky.images.bottom)!, idToImage.get(sky.images.right)!, idToImage.get(sky.images.left)!,\r\n ];\r\n\r\n const texture = IModelApp.renderSystem.createTextureFromCubeImages(txImgs[0], txImgs[1], txImgs[2], txImgs[3], txImgs[4], txImgs[5], this._view.iModel, params);\r\n return texture ? { type: \"cube\", texture } : undefined;\r\n });\r\n } else if (sky instanceof SkySphere) {\r\n const rotation = 0; // ###TODO where is this supposed to come from?\r\n let texture = IModelApp.renderSystem.findTexture(sky.image, this._view.iModel);\r\n if (!texture) {\r\n const image = await this.imageFromSpec(sky.image);\r\n if (image) {\r\n texture = IModelApp.renderSystem.createTexture({\r\n image: { source: image },\r\n ownership: { iModel: this._view.iModel, key: sky.image },\r\n });\r\n }\r\n }\r\n\r\n if (!texture)\r\n return undefined;\r\n\r\n return { type: \"sphere\", texture, rotation, zOffset: this._view.iModel.globalOrigin.z };\r\n } else {\r\n return this.createSkyGradientParams();\r\n }\r\n }\r\n\r\n private createCubeImageKey(sky: SkyCube): string {\r\n const i = sky.images;\r\n return `skycube:${i.front}:${i.back}:${i.left}:${i.right}:${i.top}:${i.bottom}`;\r\n }\r\n\r\n private createSkyGradientParams(): RenderSkyBoxParams {\r\n return { type: \"gradient\", gradient: this._environment.sky.gradient, zOffset: this._view.iModel.globalOrigin.z };\r\n }\r\n\r\n private async imageFromSpec(spec: TextureImageSpec): Promise<HTMLImageElement | undefined> {\r\n if (Id64.isValidId64(spec))\r\n return (await IModelApp.renderSystem.loadTextureImage(spec, this._view.iModel))?.image;\r\n\r\n return tryImageElementFromUrl(spec);\r\n }\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module HubAccess
3
3
  */
4
4
  import { AccessToken, GuidString } from "@itwin/core-bentley";
5
- import { ChangesetId, IModelVersion } from "@itwin/core-common";
5
+ import { ChangesetIndexAndId, IModelVersion } from "@itwin/core-common";
6
6
  /** @public */
7
7
  export interface IModelIdArg {
8
8
  iModelId: GuidString;
@@ -10,12 +10,16 @@ export interface IModelIdArg {
10
10
  }
11
11
  /** @public */
12
12
  export interface FrontendHubAccess {
13
- getLatestChangesetId(arg: IModelIdArg): Promise<ChangesetId>;
14
- getChangesetIdFromVersion(arg: IModelIdArg & {
13
+ getLatestChangeset(arg: IModelIdArg): Promise<ChangesetIndexAndId>;
14
+ getChangesetFromVersion(arg: IModelIdArg & {
15
15
  version: IModelVersion;
16
- }): Promise<ChangesetId>;
17
- getChangesetIdFromNamedVersion(arg: IModelIdArg & {
18
- versionName: string;
19
- }): Promise<ChangesetId>;
16
+ }): Promise<ChangesetIndexAndId>;
17
+ /**
18
+ * Fetches the changeset with the given named version.
19
+ * @param versionName If omitted will default to the latest named version.
20
+ */
21
+ getChangesetFromNamedVersion(arg: IModelIdArg & {
22
+ versionName?: string;
23
+ }): Promise<ChangesetIndexAndId>;
20
24
  }
21
25
  //# sourceMappingURL=FrontendHubAccess.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendHubAccess.d.ts","sourceRoot":"","sources":["../../src/FrontendHubAccess.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEhE,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,yBAAyB,CAAC,GAAG,EAAE,WAAW,GAAG;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/F,8BAA8B,CAAC,GAAG,EAAE,WAAW,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAClG"}
1
+ {"version":3,"file":"FrontendHubAccess.d.ts","sourceRoot":"","sources":["../../src/FrontendHubAccess.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnE,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrG;;;OAGG;IACH,4BAA4B,CAAC,GAAG,EAAE,WAAW,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzG"}
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendHubAccess.js","sourceRoot":"","sources":["../../src/FrontendHubAccess.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","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 HubAccess\r\n */\r\n\r\nimport { AccessToken, GuidString } from \"@itwin/core-bentley\";\r\nimport { ChangesetId, IModelVersion } from \"@itwin/core-common\";\r\n\r\n/** @public */\r\nexport interface IModelIdArg {\r\n iModelId: GuidString;\r\n accessToken: AccessToken;\r\n}\r\n\r\n/** @public */\r\nexport interface FrontendHubAccess {\r\n getLatestChangesetId(arg: IModelIdArg): Promise<ChangesetId>;\r\n getChangesetIdFromVersion(arg: IModelIdArg & { version: IModelVersion }): Promise<ChangesetId>;\r\n getChangesetIdFromNamedVersion(arg: IModelIdArg & { versionName: string }): Promise<ChangesetId>;\r\n}\r\n"]}
1
+ {"version":3,"file":"FrontendHubAccess.js","sourceRoot":"","sources":["../../src/FrontendHubAccess.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","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 HubAccess\r\n */\r\n\r\nimport { AccessToken, GuidString } from \"@itwin/core-bentley\";\r\nimport { ChangesetIndexAndId, IModelVersion } from \"@itwin/core-common\";\r\n\r\n/** @public */\r\nexport interface IModelIdArg {\r\n iModelId: GuidString;\r\n accessToken: AccessToken;\r\n}\r\n\r\n/** @public */\r\nexport interface FrontendHubAccess {\r\n getLatestChangeset(arg: IModelIdArg): Promise<ChangesetIndexAndId>;\r\n getChangesetFromVersion(arg: IModelIdArg & { version: IModelVersion }): Promise<ChangesetIndexAndId>;\r\n /**\r\n * Fetches the changeset with the given named version.\r\n * @param versionName If omitted will default to the latest named version.\r\n */\r\n getChangesetFromNamedVersion(arg: IModelIdArg & { versionName?: string }): Promise<ChangesetIndexAndId>;\r\n}\r\n"]}
@@ -8,18 +8,12 @@
8
8
  */
9
9
  export declare enum FrontendLoggerCategory {
10
10
  Package = "core-frontend",
11
- /** The logger category used by the [[FrontendRequestContext]] class and other related classes. */
12
- FrontendRequestContext = "core-frontend.FrontendRequestContext",
13
11
  /** The logger category used by the [[IModelConnection]] class and other related classes. */
14
12
  IModelConnection = "core-frontend.IModelConnection",
15
- /** The logger category used by OIDC-related functions on iOS. */
16
- MobileAuthorizationClient = "core-frontend.MobileAuthorizationClient",
17
- /** The logger category used by EventSource */
18
- EventSource = "core-frontend.EventSource",
19
- /** The logger category used for general authorization purposes */
20
- Authorization = "core-frontend.Authorization",
21
13
  /** The logger category used for NativeApp */
22
14
  NativeApp = "core-frontend.NativeApp",
15
+ /** The logger category used for making network requests. */
16
+ Request = "core-frontend.Request",
23
17
  /**
24
18
  * The logger category used by FeatureTrackingManager
25
19
  * @alpha
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendLoggerCategory.d.ts","sourceRoot":"","sources":["../../src/FrontendLoggerCategory.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;GAIG;AACH,oBAAY,sBAAsB;IAChC,OAAO,kBAAkB;IAEzB,kGAAkG;IAClG,sBAAsB,yCAAyC;IAE/D,4FAA4F;IAC5F,gBAAgB,mCAAmC;IAEnD,iEAAiE;IACjE,yBAAyB,4CAA4C;IAErE,8CAA8C;IAC9C,WAAW,8BAA8B;IAEzC,kEAAkE;IAClE,aAAa,gCAAgC;IAE7C,6CAA6C;IAC7C,SAAS,4BAA4B;IAErC;;;OAGG;IACH,eAAe,kCAAkC;IACjD;;;OAGG;IACH,WAAW,8BAA8B;CAC1C"}
1
+ {"version":3,"file":"FrontendLoggerCategory.d.ts","sourceRoot":"","sources":["../../src/FrontendLoggerCategory.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;GAIG;AACH,oBAAY,sBAAsB;IAChC,OAAO,kBAAkB;IAEzB,4FAA4F;IAC5F,gBAAgB,mCAAmC;IAEnD,6CAA6C;IAC7C,SAAS,4BAA4B;IAErC,4DAA4D;IAC5D,OAAO,0BAA0B;IAEjC;;;OAGG;IACH,eAAe,kCAAkC;IACjD;;;OAGG;IACH,WAAW,8BAA8B;CAC1C"}
@@ -16,18 +16,12 @@ exports.FrontendLoggerCategory = void 0;
16
16
  var FrontendLoggerCategory;
17
17
  (function (FrontendLoggerCategory) {
18
18
  FrontendLoggerCategory["Package"] = "core-frontend";
19
- /** The logger category used by the [[FrontendRequestContext]] class and other related classes. */
20
- FrontendLoggerCategory["FrontendRequestContext"] = "core-frontend.FrontendRequestContext";
21
19
  /** The logger category used by the [[IModelConnection]] class and other related classes. */
22
20
  FrontendLoggerCategory["IModelConnection"] = "core-frontend.IModelConnection";
23
- /** The logger category used by OIDC-related functions on iOS. */
24
- FrontendLoggerCategory["MobileAuthorizationClient"] = "core-frontend.MobileAuthorizationClient";
25
- /** The logger category used by EventSource */
26
- FrontendLoggerCategory["EventSource"] = "core-frontend.EventSource";
27
- /** The logger category used for general authorization purposes */
28
- FrontendLoggerCategory["Authorization"] = "core-frontend.Authorization";
29
21
  /** The logger category used for NativeApp */
30
22
  FrontendLoggerCategory["NativeApp"] = "core-frontend.NativeApp";
23
+ /** The logger category used for making network requests. */
24
+ FrontendLoggerCategory["Request"] = "core-frontend.Request";
31
25
  /**
32
26
  * The logger category used by FeatureTrackingManager
33
27
  * @alpha
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendLoggerCategory.js","sourceRoot":"","sources":["../../src/FrontendLoggerCategory.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;;GAIG;AACH,IAAY,sBA+BX;AA/BD,WAAY,sBAAsB;IAChC,mDAAyB,CAAA;IAEzB,kGAAkG;IAClG,yFAA+D,CAAA;IAE/D,4FAA4F;IAC5F,6EAAmD,CAAA;IAEnD,iEAAiE;IACjE,+FAAqE,CAAA;IAErE,8CAA8C;IAC9C,mEAAyC,CAAA;IAEzC,kEAAkE;IAClE,uEAA6C,CAAA;IAE7C,6CAA6C;IAC7C,+DAAqC,CAAA;IAErC;;;OAGG;IACH,2EAAiD,CAAA;IACjD;;;OAGG;IACH,mEAAyC,CAAA;AAC3C,CAAC,EA/BW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QA+BjC","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 Logging\r\n */\r\n\r\n/** Logger categories used by this package\r\n * @note All logger categories in this package start with the `core-frontend` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum FrontendLoggerCategory {\r\n Package = \"core-frontend\",\r\n\r\n /** The logger category used by the [[FrontendRequestContext]] class and other related classes. */\r\n FrontendRequestContext = \"core-frontend.FrontendRequestContext\",\r\n\r\n /** The logger category used by the [[IModelConnection]] class and other related classes. */\r\n IModelConnection = \"core-frontend.IModelConnection\",\r\n\r\n /** The logger category used by OIDC-related functions on iOS. */\r\n MobileAuthorizationClient = \"core-frontend.MobileAuthorizationClient\",\r\n\r\n /** The logger category used by EventSource */\r\n EventSource = \"core-frontend.EventSource\",\r\n\r\n /** The logger category used for general authorization purposes */\r\n Authorization = \"core-frontend.Authorization\",\r\n\r\n /** The logger category used for NativeApp */\r\n NativeApp = \"core-frontend.NativeApp\",\r\n\r\n /**\r\n * The logger category used by FeatureTrackingManager\r\n * @alpha\r\n */\r\n FeatureTracking = \"core-frontend.FeatureTracking\",\r\n /**\r\n * The logger category used by RealityData\r\n * @alpha\r\n */\r\n RealityData = \"core-frontend.RealityData\",\r\n}\r\n"]}
1
+ {"version":3,"file":"FrontendLoggerCategory.js","sourceRoot":"","sources":["../../src/FrontendLoggerCategory.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;;GAIG;AACH,IAAY,sBAsBX;AAtBD,WAAY,sBAAsB;IAChC,mDAAyB,CAAA;IAEzB,4FAA4F;IAC5F,6EAAmD,CAAA;IAEnD,6CAA6C;IAC7C,+DAAqC,CAAA;IAErC,4DAA4D;IAC5D,2DAAiC,CAAA;IAEjC;;;OAGG;IACH,2EAAiD,CAAA;IACjD;;;OAGG;IACH,mEAAyC,CAAA;AAC3C,CAAC,EAtBW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAsBjC","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 Logging\r\n */\r\n\r\n/** Logger categories used by this package\r\n * @note All logger categories in this package start with the `core-frontend` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum FrontendLoggerCategory {\r\n Package = \"core-frontend\",\r\n\r\n /** The logger category used by the [[IModelConnection]] class and other related classes. */\r\n IModelConnection = \"core-frontend.IModelConnection\",\r\n\r\n /** The logger category used for NativeApp */\r\n NativeApp = \"core-frontend.NativeApp\",\r\n\r\n /** The logger category used for making network requests. */\r\n Request = \"core-frontend.Request\",\r\n\r\n /**\r\n * The logger category used by FeatureTrackingManager\r\n * @alpha\r\n */\r\n FeatureTracking = \"core-frontend.FeatureTracking\",\r\n /**\r\n * The logger category used by RealityData\r\n * @alpha\r\n */\r\n RealityData = \"core-frontend.RealityData\",\r\n}\r\n"]}