@itwin/core-common 3.0.0-extension.0 → 3.1.0-dev.5

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 (289) hide show
  1. package/CHANGELOG.md +84 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/BackgroundMapSettings.d.ts +1 -1
  4. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  5. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  6. package/lib/cjs/ConcurrentQuery.d.ts +28 -11
  7. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  8. package/lib/cjs/ConcurrentQuery.js +26 -12
  9. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  10. package/lib/cjs/ContextRealityModel.d.ts +36 -16
  11. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  12. package/lib/cjs/ContextRealityModel.js +46 -7
  13. package/lib/cjs/ContextRealityModel.js.map +1 -1
  14. package/lib/cjs/DisplayStyleSettings.d.ts +30 -24
  15. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  16. package/lib/cjs/DisplayStyleSettings.js +43 -16
  17. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  18. package/lib/cjs/ECSqlReader.d.ts +17 -5
  19. package/lib/cjs/ECSqlReader.d.ts.map +1 -1
  20. package/lib/cjs/ECSqlReader.js +55 -22
  21. package/lib/cjs/ECSqlReader.js.map +1 -1
  22. package/lib/cjs/ECSqlTypes.d.ts +3 -3
  23. package/lib/cjs/ECSqlTypes.js +3 -3
  24. package/lib/cjs/ECSqlTypes.js.map +1 -1
  25. package/lib/cjs/ElementProps.d.ts +9 -0
  26. package/lib/cjs/ElementProps.d.ts.map +1 -1
  27. package/lib/cjs/ElementProps.js.map +1 -1
  28. package/lib/cjs/Environment.d.ts +61 -0
  29. package/lib/cjs/Environment.d.ts.map +1 -0
  30. package/lib/cjs/Environment.js +74 -0
  31. package/lib/cjs/Environment.js.map +1 -0
  32. package/lib/cjs/FeatureSymbology.d.ts +97 -18
  33. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  34. package/lib/cjs/FeatureSymbology.js +83 -27
  35. package/lib/cjs/FeatureSymbology.js.map +1 -1
  36. package/lib/cjs/GeoCoordinateServices.d.ts +66 -1
  37. package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
  38. package/lib/cjs/GeoCoordinateServices.js +39 -1
  39. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  40. package/lib/cjs/Gradient.d.ts.map +1 -1
  41. package/lib/cjs/Gradient.js +10 -0
  42. package/lib/cjs/Gradient.js.map +1 -1
  43. package/lib/cjs/GroundPlane.d.ts +26 -15
  44. package/lib/cjs/GroundPlane.d.ts.map +1 -1
  45. package/lib/cjs/GroundPlane.js +40 -39
  46. package/lib/cjs/GroundPlane.js.map +1 -1
  47. package/lib/cjs/IModel.d.ts +33 -4
  48. package/lib/cjs/IModel.d.ts.map +1 -1
  49. package/lib/cjs/IModel.js +27 -10
  50. package/lib/cjs/IModel.js.map +1 -1
  51. package/lib/cjs/LightSettings.d.ts +59 -0
  52. package/lib/cjs/LightSettings.d.ts.map +1 -1
  53. package/lib/cjs/LightSettings.js +75 -6
  54. package/lib/cjs/LightSettings.js.map +1 -1
  55. package/lib/cjs/Localization.d.ts +1 -1
  56. package/lib/cjs/Localization.js.map +1 -1
  57. package/lib/cjs/MapLayerSettings.d.ts +2 -2
  58. package/lib/cjs/MapLayerSettings.js +2 -2
  59. package/lib/cjs/MapLayerSettings.js.map +1 -1
  60. package/lib/cjs/NativeAppProps.d.ts +2 -36
  61. package/lib/cjs/NativeAppProps.d.ts.map +1 -1
  62. package/lib/cjs/NativeAppProps.js.map +1 -1
  63. package/lib/cjs/PlanarClipMask.d.ts +73 -8
  64. package/lib/cjs/PlanarClipMask.d.ts.map +1 -1
  65. package/lib/cjs/PlanarClipMask.js +17 -24
  66. package/lib/cjs/PlanarClipMask.js.map +1 -1
  67. package/lib/cjs/RealityDataAccessProps.d.ts +42 -0
  68. package/lib/cjs/RealityDataAccessProps.d.ts.map +1 -0
  69. package/lib/cjs/RealityDataAccessProps.js +20 -0
  70. package/lib/cjs/RealityDataAccessProps.js.map +1 -0
  71. package/lib/cjs/RenderMaterial.d.ts +7 -7
  72. package/lib/cjs/RenderMaterial.d.ts.map +1 -1
  73. package/lib/cjs/RenderMaterial.js +10 -5
  74. package/lib/cjs/RenderMaterial.js.map +1 -1
  75. package/lib/cjs/RenderSchedule.d.ts +4 -0
  76. package/lib/cjs/RenderSchedule.d.ts.map +1 -1
  77. package/lib/cjs/RenderSchedule.js +5 -1
  78. package/lib/cjs/RenderSchedule.js.map +1 -1
  79. package/lib/cjs/RenderTexture.d.ts +8 -1
  80. package/lib/cjs/RenderTexture.d.ts.map +1 -1
  81. package/lib/cjs/RenderTexture.js.map +1 -1
  82. package/lib/cjs/SkyBox.d.ts +142 -34
  83. package/lib/cjs/SkyBox.d.ts.map +1 -1
  84. package/lib/cjs/SkyBox.js +192 -6
  85. package/lib/cjs/SkyBox.js.map +1 -1
  86. package/lib/cjs/TextureMapping.d.ts +3 -1
  87. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  88. package/lib/cjs/TextureMapping.js +9 -6
  89. package/lib/cjs/TextureMapping.js.map +1 -1
  90. package/lib/cjs/TextureProps.d.ts +21 -2
  91. package/lib/cjs/TextureProps.d.ts.map +1 -1
  92. package/lib/cjs/TextureProps.js +19 -0
  93. package/lib/cjs/TextureProps.js.map +1 -1
  94. package/lib/cjs/ThematicDisplay.d.ts +6 -0
  95. package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
  96. package/lib/cjs/ThematicDisplay.js +26 -0
  97. package/lib/cjs/ThematicDisplay.js.map +1 -1
  98. package/lib/cjs/TileProps.d.ts +6 -0
  99. package/lib/cjs/TileProps.d.ts.map +1 -1
  100. package/lib/cjs/TileProps.js.map +1 -1
  101. package/lib/cjs/ViewFlags.d.ts +8 -0
  102. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  103. package/lib/cjs/ViewFlags.js +30 -10
  104. package/lib/cjs/ViewFlags.js.map +1 -1
  105. package/lib/cjs/core-common.d.ts +7 -0
  106. package/lib/cjs/core-common.d.ts.map +1 -1
  107. package/lib/cjs/core-common.js +7 -0
  108. package/lib/cjs/core-common.js.map +1 -1
  109. package/lib/cjs/geometry/AdditionalTransform.d.ts +1 -1
  110. package/lib/cjs/geometry/AdditionalTransform.js +1 -1
  111. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  112. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +25 -10
  113. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  114. package/lib/cjs/geometry/CoordinateReferenceSystem.js +9 -7
  115. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  116. package/lib/cjs/geometry/ElementGeometry.d.ts +12 -8
  117. package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
  118. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  119. package/lib/cjs/geometry/FrustumPlanes.d.ts +1 -1
  120. package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
  121. package/lib/cjs/geometry/FrustumPlanes.js +26 -13
  122. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  123. package/lib/cjs/ipc/IpcWebSocket.d.ts +12 -5
  124. package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
  125. package/lib/cjs/ipc/IpcWebSocket.js +32 -8
  126. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  127. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -0
  128. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts.map +1 -0
  129. package/lib/cjs/ipc/IpcWebSocketTransport.js +142 -0
  130. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -0
  131. package/lib/cjs/rpc/core/RpcInvocation.d.ts +4 -4
  132. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  133. package/lib/cjs/rpc/core/RpcInvocation.js +3 -1
  134. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  135. package/lib/cjs/tile/ElementGraphics.d.ts +5 -1
  136. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  137. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  138. package/lib/cjs/tile/GltfTileIO.d.ts +16 -79
  139. package/lib/cjs/tile/GltfTileIO.d.ts.map +1 -1
  140. package/lib/cjs/tile/GltfTileIO.js +72 -153
  141. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  142. package/lib/cjs/tile/TileMetadata.d.ts +20 -8
  143. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  144. package/lib/cjs/tile/TileMetadata.js +50 -53
  145. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  146. package/lib/esm/BackgroundMapSettings.d.ts +1 -1
  147. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  148. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  149. package/lib/esm/ConcurrentQuery.d.ts +28 -11
  150. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  151. package/lib/esm/ConcurrentQuery.js +26 -12
  152. package/lib/esm/ConcurrentQuery.js.map +1 -1
  153. package/lib/esm/ContextRealityModel.d.ts +36 -16
  154. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  155. package/lib/esm/ContextRealityModel.js +45 -6
  156. package/lib/esm/ContextRealityModel.js.map +1 -1
  157. package/lib/esm/DisplayStyleSettings.d.ts +30 -24
  158. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  159. package/lib/esm/DisplayStyleSettings.js +43 -16
  160. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  161. package/lib/esm/ECSqlReader.d.ts +17 -5
  162. package/lib/esm/ECSqlReader.d.ts.map +1 -1
  163. package/lib/esm/ECSqlReader.js +56 -23
  164. package/lib/esm/ECSqlReader.js.map +1 -1
  165. package/lib/esm/ECSqlTypes.d.ts +3 -3
  166. package/lib/esm/ECSqlTypes.js +3 -3
  167. package/lib/esm/ECSqlTypes.js.map +1 -1
  168. package/lib/esm/ElementProps.d.ts +9 -0
  169. package/lib/esm/ElementProps.d.ts.map +1 -1
  170. package/lib/esm/ElementProps.js.map +1 -1
  171. package/lib/esm/Environment.d.ts +61 -0
  172. package/lib/esm/Environment.d.ts.map +1 -0
  173. package/lib/esm/Environment.js +70 -0
  174. package/lib/esm/Environment.js.map +1 -0
  175. package/lib/esm/FeatureSymbology.d.ts +97 -18
  176. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  177. package/lib/esm/FeatureSymbology.js +84 -28
  178. package/lib/esm/FeatureSymbology.js.map +1 -1
  179. package/lib/esm/GeoCoordinateServices.d.ts +66 -1
  180. package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
  181. package/lib/esm/GeoCoordinateServices.js +39 -1
  182. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  183. package/lib/esm/Gradient.d.ts.map +1 -1
  184. package/lib/esm/Gradient.js +10 -0
  185. package/lib/esm/Gradient.js.map +1 -1
  186. package/lib/esm/GroundPlane.d.ts +26 -15
  187. package/lib/esm/GroundPlane.d.ts.map +1 -1
  188. package/lib/esm/GroundPlane.js +40 -39
  189. package/lib/esm/GroundPlane.js.map +1 -1
  190. package/lib/esm/IModel.d.ts +33 -4
  191. package/lib/esm/IModel.d.ts.map +1 -1
  192. package/lib/esm/IModel.js +27 -10
  193. package/lib/esm/IModel.js.map +1 -1
  194. package/lib/esm/LightSettings.d.ts +59 -0
  195. package/lib/esm/LightSettings.d.ts.map +1 -1
  196. package/lib/esm/LightSettings.js +74 -6
  197. package/lib/esm/LightSettings.js.map +1 -1
  198. package/lib/esm/Localization.d.ts +1 -1
  199. package/lib/esm/Localization.js.map +1 -1
  200. package/lib/esm/MapLayerSettings.d.ts +2 -2
  201. package/lib/esm/MapLayerSettings.js +2 -2
  202. package/lib/esm/MapLayerSettings.js.map +1 -1
  203. package/lib/esm/NativeAppProps.d.ts +2 -36
  204. package/lib/esm/NativeAppProps.d.ts.map +1 -1
  205. package/lib/esm/NativeAppProps.js.map +1 -1
  206. package/lib/esm/PlanarClipMask.d.ts +73 -8
  207. package/lib/esm/PlanarClipMask.d.ts.map +1 -1
  208. package/lib/esm/PlanarClipMask.js +17 -24
  209. package/lib/esm/PlanarClipMask.js.map +1 -1
  210. package/lib/esm/RealityDataAccessProps.d.ts +42 -0
  211. package/lib/esm/RealityDataAccessProps.d.ts.map +1 -0
  212. package/lib/esm/RealityDataAccessProps.js +17 -0
  213. package/lib/esm/RealityDataAccessProps.js.map +1 -0
  214. package/lib/esm/RenderMaterial.d.ts +7 -7
  215. package/lib/esm/RenderMaterial.d.ts.map +1 -1
  216. package/lib/esm/RenderMaterial.js +10 -5
  217. package/lib/esm/RenderMaterial.js.map +1 -1
  218. package/lib/esm/RenderSchedule.d.ts +4 -0
  219. package/lib/esm/RenderSchedule.d.ts.map +1 -1
  220. package/lib/esm/RenderSchedule.js +5 -1
  221. package/lib/esm/RenderSchedule.js.map +1 -1
  222. package/lib/esm/RenderTexture.d.ts +8 -1
  223. package/lib/esm/RenderTexture.d.ts.map +1 -1
  224. package/lib/esm/RenderTexture.js.map +1 -1
  225. package/lib/esm/SkyBox.d.ts +142 -34
  226. package/lib/esm/SkyBox.d.ts.map +1 -1
  227. package/lib/esm/SkyBox.js +187 -5
  228. package/lib/esm/SkyBox.js.map +1 -1
  229. package/lib/esm/TextureMapping.d.ts +3 -1
  230. package/lib/esm/TextureMapping.d.ts.map +1 -1
  231. package/lib/esm/TextureMapping.js +9 -6
  232. package/lib/esm/TextureMapping.js.map +1 -1
  233. package/lib/esm/TextureProps.d.ts +21 -2
  234. package/lib/esm/TextureProps.d.ts.map +1 -1
  235. package/lib/esm/TextureProps.js +18 -1
  236. package/lib/esm/TextureProps.js.map +1 -1
  237. package/lib/esm/ThematicDisplay.d.ts +6 -0
  238. package/lib/esm/ThematicDisplay.d.ts.map +1 -1
  239. package/lib/esm/ThematicDisplay.js +26 -0
  240. package/lib/esm/ThematicDisplay.js.map +1 -1
  241. package/lib/esm/TileProps.d.ts +6 -0
  242. package/lib/esm/TileProps.d.ts.map +1 -1
  243. package/lib/esm/TileProps.js.map +1 -1
  244. package/lib/esm/ViewFlags.d.ts +8 -0
  245. package/lib/esm/ViewFlags.d.ts.map +1 -1
  246. package/lib/esm/ViewFlags.js +30 -10
  247. package/lib/esm/ViewFlags.js.map +1 -1
  248. package/lib/esm/core-common.d.ts +7 -0
  249. package/lib/esm/core-common.d.ts.map +1 -1
  250. package/lib/esm/core-common.js +7 -0
  251. package/lib/esm/core-common.js.map +1 -1
  252. package/lib/esm/geometry/AdditionalTransform.d.ts +1 -1
  253. package/lib/esm/geometry/AdditionalTransform.js +1 -1
  254. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  255. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +25 -10
  256. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  257. package/lib/esm/geometry/CoordinateReferenceSystem.js +9 -7
  258. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  259. package/lib/esm/geometry/ElementGeometry.d.ts +12 -8
  260. package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
  261. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  262. package/lib/esm/geometry/FrustumPlanes.d.ts +1 -1
  263. package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
  264. package/lib/esm/geometry/FrustumPlanes.js +26 -13
  265. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  266. package/lib/esm/ipc/IpcWebSocket.d.ts +12 -5
  267. package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
  268. package/lib/esm/ipc/IpcWebSocket.js +31 -6
  269. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  270. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -0
  271. package/lib/esm/ipc/IpcWebSocketTransport.d.ts.map +1 -0
  272. package/lib/esm/ipc/IpcWebSocketTransport.js +138 -0
  273. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -0
  274. package/lib/esm/rpc/core/RpcInvocation.d.ts +4 -4
  275. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  276. package/lib/esm/rpc/core/RpcInvocation.js +3 -1
  277. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  278. package/lib/esm/tile/ElementGraphics.d.ts +5 -1
  279. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  280. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  281. package/lib/esm/tile/GltfTileIO.d.ts +16 -79
  282. package/lib/esm/tile/GltfTileIO.d.ts.map +1 -1
  283. package/lib/esm/tile/GltfTileIO.js +70 -149
  284. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  285. package/lib/esm/tile/TileMetadata.d.ts +20 -8
  286. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  287. package/lib/esm/tile/TileMetadata.js +50 -53
  288. package/lib/esm/tile/TileMetadata.js.map +1 -1
  289. package/package.json +10 -11
@@ -0,0 +1,74 @@
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 DisplayStyles
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.Environment = void 0;
11
+ const GroundPlane_1 = require("./GroundPlane");
12
+ const SkyBox_1 = require("./SkyBox");
13
+ /** As part of a [[DisplayStyle3dSettings]], controls the display of a [[SkyBox]] and [[GroundPlane]] to simulate the
14
+ * outdoor environment.
15
+ * @see [[DisplayStyle3dSettings.environment]].
16
+ * @public
17
+ */
18
+ class Environment {
19
+ constructor(props) {
20
+ var _a, _b, _c, _d;
21
+ this.displaySky = (_a = props === null || props === void 0 ? void 0 : props.displaySky) !== null && _a !== void 0 ? _a : false;
22
+ this.displayGround = (_b = props === null || props === void 0 ? void 0 : props.displayGround) !== null && _b !== void 0 ? _b : false;
23
+ this.sky = (_c = props === null || props === void 0 ? void 0 : props.sky) !== null && _c !== void 0 ? _c : SkyBox_1.SkyBox.defaults;
24
+ this.ground = (_d = props === null || props === void 0 ? void 0 : props.ground) !== null && _d !== void 0 ? _d : GroundPlane_1.GroundPlane.defaults;
25
+ }
26
+ /** Create a new Environment. Any properties not specified by `props` will be initialized to their default values. */
27
+ static create(props) {
28
+ return props ? new this(props) : this.defaults;
29
+ }
30
+ /** Create a copy of this environment, changing the `displayGround` and/or `displaySky` flags. */
31
+ withDisplay(display) {
32
+ var _a, _b;
33
+ const displaySky = (_a = display.sky) !== null && _a !== void 0 ? _a : this.displaySky;
34
+ const displayGround = (_b = display.ground) !== null && _b !== void 0 ? _b : this.displayGround;
35
+ if (displaySky === this.displaySky && displayGround === this.displayGround)
36
+ return this;
37
+ return Environment.create({
38
+ ...this,
39
+ displaySky: displaySky !== null && displaySky !== void 0 ? displaySky : this.displaySky,
40
+ displayGround: displayGround !== null && displayGround !== void 0 ? displayGround : this.displayGround,
41
+ });
42
+ }
43
+ /** Convert to JSON representation. */
44
+ toJSON() {
45
+ return {
46
+ sky: this.sky.toJSON(this.displaySky),
47
+ ground: this.ground.toJSON(this.displayGround),
48
+ };
49
+ }
50
+ /** Create from JSON representation. */
51
+ static fromJSON(props) {
52
+ var _a, _b;
53
+ if (!props)
54
+ return this.defaults;
55
+ return new this({
56
+ displaySky: (_a = props === null || props === void 0 ? void 0 : props.sky) === null || _a === void 0 ? void 0 : _a.display,
57
+ displayGround: (_b = props === null || props === void 0 ? void 0 : props.ground) === null || _b === void 0 ? void 0 : _b.display,
58
+ sky: (props === null || props === void 0 ? void 0 : props.sky) ? SkyBox_1.SkyBox.fromJSON(props.sky) : undefined,
59
+ ground: (props === null || props === void 0 ? void 0 : props.ground) ? GroundPlane_1.GroundPlane.fromJSON(props.ground) : undefined,
60
+ });
61
+ }
62
+ /** Create a copy of this environment, identical except for any properties specified by `changedProps`.
63
+ * Any properties of `changedProps` explicitly set to `undefined` will be reset to their default values.
64
+ */
65
+ clone(changedProps) {
66
+ if (!changedProps)
67
+ return this;
68
+ return Environment.create({ ...this, ...changedProps });
69
+ }
70
+ }
71
+ exports.Environment = Environment;
72
+ /** Default settings with neither ground plane nor sky box displayed. */
73
+ Environment.defaults = new Environment();
74
+ //# sourceMappingURL=Environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../src/Environment.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 DisplayStyles\r\n */\r\n\r\nimport { NonFunctionPropertiesOf } from \"@itwin/core-bentley\";\r\nimport { GroundPlane, GroundPlaneProps } from \"./GroundPlane\";\r\nimport { SkyBox, SkyBoxProps } from \"./SkyBox\";\r\n\r\n/** JSON representation of an [[Environment]].\r\n * @see [[DisplayStyle3dSettingsProps.environment]].\r\n * @public\r\n */\r\nexport interface EnvironmentProps {\r\n /** @see [[Environment.ground]] and [[Environment.displayGround]]. */\r\n ground?: GroundPlaneProps;\r\n /** @see [[Environment.sky]] and [[Environment.displaySky]]. */\r\n sky?: SkyBoxProps;\r\n}\r\n\r\n/** A type containing all of the properties of [[Environment]] with none of the methods and with the `readonly` modifiers removed.\r\n * @see [[Environment.create]] and [[Environment.clone]].\r\n * @public\r\n */\r\nexport type EnvironmentProperties = NonFunctionPropertiesOf<Environment>;\r\n\r\n/** As part of a [[DisplayStyle3dSettings]], controls the display of a [[SkyBox]] and [[GroundPlane]] to simulate the\r\n * outdoor environment.\r\n * @see [[DisplayStyle3dSettings.environment]].\r\n * @public\r\n */\r\nexport class Environment {\r\n /** If true, the sky box will be displayed.\r\n * Default: false.\r\n * @see [[withDisplay]] or [[DisplayStyle3dSettings.toggleSkyBox]] to change this.\r\n */\r\n public readonly displaySky: boolean;\r\n /** If true, the ground plane will be displayed.\r\n * Default: false.\r\n * @see [[withDisplay]] or [[DisplayStyle3dSettings.toggleGroundPlane]] to change this.\r\n */\r\n public readonly displayGround: boolean;\r\n /** Describes how the sky box should be drawn. */\r\n public readonly sky: SkyBox;\r\n /** Describes how the ground plane should be drawn. */\r\n public readonly ground: GroundPlane;\r\n\r\n protected constructor(props?: Partial<EnvironmentProperties>) {\r\n this.displaySky = props?.displaySky ?? false;\r\n this.displayGround = props?.displayGround ?? false;\r\n this.sky = props?.sky ?? SkyBox.defaults;\r\n this.ground = props?.ground ?? GroundPlane.defaults;\r\n }\r\n\r\n /** Default settings with neither ground plane nor sky box displayed. */\r\n public static readonly defaults = new Environment();\r\n\r\n /** Create a new Environment. Any properties not specified by `props` will be initialized to their default values. */\r\n public static create(props?: Partial<EnvironmentProperties>): Environment {\r\n return props ? new this(props) : this.defaults;\r\n }\r\n\r\n /** Create a copy of this environment, changing the `displayGround` and/or `displaySky` flags. */\r\n public withDisplay(display: { sky?: boolean, ground?: boolean }): Environment {\r\n const displaySky = display.sky ?? this.displaySky;\r\n const displayGround = display.ground ?? this.displayGround;\r\n if (displaySky === this.displaySky && displayGround === this.displayGround)\r\n return this;\r\n\r\n return Environment.create({\r\n ...this,\r\n displaySky: displaySky ?? this.displaySky,\r\n displayGround: displayGround ?? this.displayGround,\r\n });\r\n }\r\n\r\n /** Convert to JSON representation. */\r\n public toJSON(): EnvironmentProps {\r\n return {\r\n sky: this.sky.toJSON(this.displaySky),\r\n ground: this.ground.toJSON(this.displayGround),\r\n };\r\n }\r\n\r\n /** Create from JSON representation. */\r\n public static fromJSON(props?: EnvironmentProps): Environment {\r\n if (!props)\r\n return this.defaults;\r\n\r\n return new this({\r\n displaySky: props?.sky?.display,\r\n displayGround: props?.ground?.display,\r\n sky: props?.sky ? SkyBox.fromJSON(props.sky) : undefined,\r\n ground: props?.ground ? GroundPlane.fromJSON(props.ground) : undefined,\r\n });\r\n }\r\n\r\n /** Create a copy of this environment, identical except for any properties specified by `changedProps`.\r\n * Any properties of `changedProps` explicitly set to `undefined` will be reset to their default values.\r\n */\r\n public clone(changedProps?: Partial<EnvironmentProperties>): Environment {\r\n if (!changedProps)\r\n return this;\r\n\r\n return Environment.create({ ...this, ...changedProps });\r\n }\r\n}\r\n"]}
@@ -8,38 +8,54 @@ import { GeometryClass } from "./GeometryParams";
8
8
  import { LinePixels } from "./LinePixels";
9
9
  import { RgbColor, RgbColorProps } from "./RgbColor";
10
10
  import { SubCategoryOverride } from "./SubCategoryOverride";
11
- /** Properties used to initialize a [[FeatureAppearance]].
11
+ /** JSON representation of a [[FeatureAppearance]].
12
12
  * @public
13
13
  */
14
14
  export interface FeatureAppearanceProps {
15
- /** The color of the Feature */
15
+ /** @see [[FeatureAppearance.rgb]]. */
16
16
  rgb?: RgbColorProps;
17
- /** The line weight in pixels as an integer in [1, 31] */
17
+ /** @see [[FeatureAppearance.weight]]. */
18
18
  weight?: number;
19
- /** The transparency in the range [0.0, 1.0] where 0 indicates fully opaque and 1 indicates fully transparent. */
19
+ /** @see [[FeatureAppearance.transparency]]. */
20
20
  transparency?: number;
21
- /** The pixel pattern used to draw lines. */
21
+ /** @see [[FeatureAppearance.viewDependentTransparency]]. */
22
+ viewDependentTransparency?: true;
23
+ /** @see [[FeatureAppearance.linePixels]]. */
22
24
  linePixels?: LinePixels;
23
- /** If true, ignore the [[RenderMaterial]] associated with surfaces. */
24
- ignoresMaterial?: true | undefined;
25
- /** If true, the associated [[Feature]] will not be drawn when using [Viewport.readPixels]($frontend). */
26
- nonLocatable?: true | undefined;
27
- /** If true, the associated [[Feature]] will be emphasized. Emphasized features are rendered using the [[Hilite.Settings]] defined by [Viewport.emphasisSettings]($frontend). */
28
- emphasized?: true | undefined;
25
+ /** @see [[FeatureAppearance.ignoresMaterial]]. */
26
+ ignoresMaterial?: true;
27
+ /** @see [[FeatureAppearance.nonLocatable]]. */
28
+ nonLocatable?: true;
29
+ /** @see [[FeatureAppearance.emphasized]]. */
30
+ emphasized?: true;
29
31
  }
30
32
  /** Defines overrides for selected aspects of a [[Feature]]'s symbology.
31
33
  * Any member defined in the appearance overrides that aspect of symbology for all [[Feature]]s to which the appearance is applied.
32
34
  * @see [[FeatureOverrides]] to customize the appearance of multiple features.
33
35
  * @public
34
36
  */
35
- export declare class FeatureAppearance implements FeatureAppearanceProps {
37
+ export declare class FeatureAppearance {
38
+ /** Overrides the feature's color. */
36
39
  readonly rgb?: RgbColor;
40
+ /** The width of lines and edges in pixels as an integer in [1, 31]. */
37
41
  readonly weight?: number;
42
+ /** The transparency in the range [0, 1] where 0 indicates fully opaque and 1 indicates fully transparent.
43
+ * @see [[viewDependentTransparency]] for details on how this override interacts with the [DisplayStyle]($backend).
44
+ */
38
45
  readonly transparency?: number;
46
+ /** The pixel pattern applied to lines and edges. */
39
47
  readonly linePixels?: LinePixels;
40
- readonly ignoresMaterial?: true | undefined;
41
- readonly nonLocatable?: true | undefined;
42
- readonly emphasized?: true | undefined;
48
+ /** If true, don't apply the [[RenderMaterial]] to the feature's surfaces. */
49
+ readonly ignoresMaterial?: true;
50
+ /** If true, the feature will not be drawn when using [Viewport.readPixels]($frontend), meaning [Tool]($frontend)s will not be able to interact with it. */
51
+ readonly nonLocatable?: true;
52
+ /** If true, the feature will be rendered using the [[Hilite.Settings]] defined by [Viewport.emphasisSettings]($frontend) to make it stand out. */
53
+ readonly emphasized?: true;
54
+ /** If true, then [[transparency]] will only be applied if [[ViewFlags.transparency]] is enabled and the current [[RenderMode]] supports transparency.
55
+ * Default: false, meaning the transparency will be applied regardless of view flags or render mode.
56
+ * This property has no effect if [[transparency]] is `undefined`.
57
+ */
58
+ readonly viewDependentTransparency?: true;
43
59
  /** An appearance that overrides nothing. */
44
60
  static readonly defaults: FeatureAppearance;
45
61
  static fromJSON(props?: FeatureAppearanceProps): FeatureAppearance;
@@ -50,10 +66,12 @@ export declare class FeatureAppearance implements FeatureAppearanceProps {
50
66
  /** Create a FeatureAppearance that overrides the RGB and transparency.
51
67
  * The appearance's transparency is derived from the transparency component of the ColorDef.
52
68
  */
53
- static fromRgba(color: ColorDef): FeatureAppearance;
69
+ static fromRgba(color: ColorDef, viewDependentTransparency?: boolean): FeatureAppearance;
54
70
  /** Create a FeatureAppearance that overrides only the transparency */
55
- static fromTransparency(transparencyValue: number): FeatureAppearance;
56
- /** Create a FeatureAppearance with overrides corresponding to those defined by the supplied SubCategoryOverride. */
71
+ static fromTransparency(transparencyValue: number, viewDependent?: boolean): FeatureAppearance;
72
+ /** Create a FeatureAppearance with overrides corresponding to those defined by the supplied SubCategoryOverride.
73
+ * @note Subcategory overrides set [[viewDependentTransparency]] to `true`.
74
+ */
57
75
  static fromSubCategoryOverride(ovr: SubCategoryOverride): FeatureAppearance;
58
76
  /** Returns true if this appearance does not override any aspects of symbology. */
59
77
  get matchesDefaults(): boolean;
@@ -90,6 +108,7 @@ export declare class FeatureAppearance implements FeatureAppearanceProps {
90
108
  extendAppearance(base: FeatureAppearance): FeatureAppearance;
91
109
  protected constructor(props: FeatureAppearanceProps);
92
110
  private rgbIsEqual;
111
+ private transparencyIsEqual;
93
112
  }
94
113
  /** Interface adopted by an object that can supply a [[FeatureAppearance]] given a low-level description of a [[Feature]].
95
114
  * @see [[FeatureOverrides]] for the commonly-used implementation.
@@ -113,6 +132,61 @@ export interface FeatureAppearanceSource {
113
132
  */
114
133
  getAppearance(elemLo: number, elemHi: number, subcatLo: number, subcatHi: number, geomClass: GeometryClass, modelLo: number, modelHi: number, type: BatchType, animationNodeId: number): FeatureAppearance | undefined;
115
134
  }
135
+ /** Common options for [[FeatureOverrides.override]].
136
+ * @public
137
+ */
138
+ export interface OverrideFeatureAppearanceOptions {
139
+ /** Specifies the aspects of the [[Feature]]'s appearance to be overridden. */
140
+ appearance: FeatureAppearance;
141
+ /** Specifies what to do if a [[FeatureAppearance]] has already been configured for the specified element, model, or subcategory by a previous call to [[FeatureOverrides.override]].
142
+ * - "subsume" (the default): Merge the two appearances using the logic described by [[FeatureAppearance.extendAppearance]] such that any aspect overridden by the existing appearance will be overwritten
143
+ * if also overridden by [[appearance]].
144
+ * - The resulting appearance is computed as `existingAppearance.extendAppearance(newAppearance)`.
145
+ * - "extend": Merge the two appearances using the logic described by [[FeatureAppearance.extendAppearance]] such that any aspect overridden by [[appearance]] will only
146
+ * apply if that aspect is not already overridden by a previous appearance.
147
+ * - The resulting appearance is computed as `newAppearance.extendAppearance(existingAppearance)`.
148
+ * - "replace": Completely replace the existing appearance with [[appearance]].
149
+ * - "skip": Keep the existing appearance.
150
+ */
151
+ onConflict?: "extend" | "subsume" | "replace" | "skip";
152
+ }
153
+ /** Options for using [[FeatureOverrides.override]] to override the appearance of a [GeometricModel]($backend).
154
+ * @public
155
+ */
156
+ export interface OverrideModelAppearanceOptions extends OverrideFeatureAppearanceOptions {
157
+ /** The Id of the model whose appearance is to be overridden. */
158
+ modelId: Id64String;
159
+ /** @internal */
160
+ elementId?: never;
161
+ /** @internal */
162
+ subCategoryId?: never;
163
+ }
164
+ /** Options for using [[FeatureOverrides.override]] to override the appearance of a [GeometricElement]($backend).
165
+ * @public
166
+ */
167
+ export interface OverrideElementAppearanceOptions extends OverrideFeatureAppearanceOptions {
168
+ /** The Id of the element whose appearance is to be overridden. */
169
+ elementId: Id64String;
170
+ /** @internal */
171
+ modelId?: never;
172
+ /** @internal */
173
+ subCategoryId?: never;
174
+ }
175
+ /** Options for using [[FeatureOverrides.override]] to override the appearance of a [SubCategory]($backend).
176
+ * @public
177
+ */
178
+ export interface OverrideSubCategoryAppearanceOptions extends OverrideFeatureAppearanceOptions {
179
+ /** The Id of the subcategory whose appearance is to be overridden. */
180
+ subCategoryId: Id64String;
181
+ /** @internal */
182
+ modelId?: never;
183
+ /** @internal */
184
+ elementId?: never;
185
+ }
186
+ /** Arguments supplied to [[FeatureOverrides.override]].
187
+ * @public
188
+ */
189
+ export declare type OverrideFeatureAppearanceArgs = OverrideElementAppearanceOptions | OverrideModelAppearanceOptions | OverrideSubCategoryAppearanceOptions;
116
190
  /** Specifies how to customize the appearance of individual [[Feature]]s, typically within the context of a [Viewport]($frontend).
117
191
  * Individual aspects of a feature's appearance - like visibility, color, and transparency - are overridden by supplying a [[FeatureAppearance]].
118
192
  * Those overrides can be specified on the basis of the feature's model, element, and/or subcategory. A default set of overrides can also be specified to
@@ -237,12 +311,15 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
237
311
  * @see [[ViewFlags.constructions]], [[ViewFlags.dimensions]], and [[ViewFlags.patterns]].
238
312
  */
239
313
  isClassVisible(geomClass: GeometryClass): boolean;
314
+ /** Specify overrides for all elements belonging to a specified [GeometricModel]($backend), or all geometry belonging to a specified [GeometricElement]($backend) or [SubCategory]($backend). */
315
+ override(args: OverrideFeatureAppearanceArgs): void;
240
316
  /** Specify overrides for all elements within the specified model.
241
317
  * @param id The Id of the model.
242
318
  * @param app The symbology overrides.
243
319
  * @param replaceExisting Specifies whether to replace a pre-existing override for the same model.
244
320
  * @note These overrides take priority over all other overrides.
245
321
  * @note If [[defaultOverrides]] are defined, they will not apply to any element within this model, even if the supplied appearance overrides nothing.
322
+ * @deprecated Use [[FeatureOverrides.override]].
246
323
  */
247
324
  overrideModel(id: Id64String, app: FeatureAppearance, replaceExisting?: boolean): void;
248
325
  /** Specify overrides for all geometry belonging to the specified [SubCategory]($backend).
@@ -251,6 +328,7 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
251
328
  * @param replaceExisting Specifies whether to replace a pre-existing override for the same subcategory.
252
329
  * @note These overrides have lower priority than element and model overrides.
253
330
  * @note If [[defaultOverrides]] are defined, they will not apply to any geometry within this subcategory, even if the supplied appearance overrides nothing.
331
+ * @deprecated Use [[FeatureOverrides.override]].
254
332
  */
255
333
  overrideSubCategory(id: Id64String, app: FeatureAppearance, replaceExisting?: boolean): void;
256
334
  /** Specify overrides for all geometry originating from the specified element.
@@ -259,6 +337,7 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
259
337
  * @param replaceExisting Specifies whether to replace a pre-existing override for the same element.
260
338
  * @note These overrides take precedence over subcategory overrides, but not over model overrides.
261
339
  * @note If [[defaultOverrides]] are defined, they will not apply to this element, even if the supplied appearance overrides nothing.
340
+ * @deprecated Use [[FeatureOverrides.override]].
262
341
  */
263
342
  overrideElement(id: Id64String, app: FeatureAppearance, replaceExisting?: boolean): void;
264
343
  /** Specify overrides for all geometry originating from the specified animation node.
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureSymbology.d.ts","sourceRoot":"","sources":["../../src/FeatureSymbology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeatureSymbology.d.ts","sourceRoot":"","sources":["../../src/FeatureSymbology.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,8 @@ class FeatureAppearance {
39
39
  if (undefined !== this.weight)
40
40
  this.weight = Math.max(1, Math.min(this.weight, 32));
41
41
  if (undefined !== this.transparency) {
42
+ if (props.viewDependentTransparency)
43
+ this.viewDependentTransparency = true;
42
44
  this.transparency = Math.max(0, Math.min(this.transparency, 1));
43
45
  // Fix up rounding errors...
44
46
  const smallDelta = 0.0001;
@@ -63,23 +65,29 @@ class FeatureAppearance {
63
65
  /** Create a FeatureAppearance that overrides the RGB and transparency.
64
66
  * The appearance's transparency is derived from the transparency component of the ColorDef.
65
67
  */
66
- static fromRgba(color) {
68
+ static fromRgba(color, viewDependentTransparency = false) {
67
69
  return this.fromJSON({
68
70
  rgb: RgbColor_1.RgbColor.fromColorDef(color),
69
71
  transparency: color.colors.t / 255,
72
+ viewDependentTransparency: viewDependentTransparency ? true : undefined,
70
73
  });
71
74
  }
72
75
  /** Create a FeatureAppearance that overrides only the transparency */
73
- static fromTransparency(transparencyValue) {
74
- return this.fromJSON({ transparency: transparencyValue });
76
+ static fromTransparency(transparencyValue, viewDependent = false) {
77
+ return this.fromJSON({
78
+ transparency: transparencyValue,
79
+ viewDependentTransparency: viewDependent ? true : undefined,
80
+ });
75
81
  }
76
- /** Create a FeatureAppearance with overrides corresponding to those defined by the supplied SubCategoryOverride. */
82
+ /** Create a FeatureAppearance with overrides corresponding to those defined by the supplied SubCategoryOverride.
83
+ * @note Subcategory overrides set [[viewDependentTransparency]] to `true`.
84
+ */
77
85
  static fromSubCategoryOverride(ovr) {
78
86
  const rgb = undefined !== ovr.color ? RgbColor_1.RgbColor.fromColorDef(ovr.color) : undefined;
79
87
  const transparency = ovr.transparency;
80
88
  const weight = ovr.weight;
81
89
  const ignoresMaterial = undefined !== ovr.material && core_bentley_1.Id64.isValid(ovr.material) ? true : undefined;
82
- return this.fromJSON({ rgb, transparency, weight, ignoresMaterial });
90
+ return this.fromJSON({ rgb, transparency, weight, ignoresMaterial, viewDependentTransparency: true });
83
91
  }
84
92
  /** Returns true if this appearance does not override any aspects of symbology. */
85
93
  get matchesDefaults() {
@@ -102,11 +110,12 @@ class FeatureAppearance {
102
110
  return true;
103
111
  return this.rgbIsEqual(other.rgb)
104
112
  && this.weight === other.weight
105
- && this.transparency === other.transparency
113
+ && this.transparencyIsEqual(other.transparency)
106
114
  && this.linePixels === other.linePixels
107
115
  && this.ignoresMaterial === other.ignoresMaterial
108
116
  && this.nonLocatable === other.nonLocatable
109
- && this.emphasized === other.emphasized;
117
+ && this.emphasized === other.emphasized
118
+ && this.viewDependentTransparency === other.viewDependentTransparency;
110
119
  }
111
120
  toJSON() {
112
121
  const props = {};
@@ -114,8 +123,11 @@ class FeatureAppearance {
114
123
  props.rgb = this.rgb.toJSON();
115
124
  if (undefined !== this.weight)
116
125
  props.weight = this.weight;
117
- if (undefined !== this.transparency)
126
+ if (undefined !== this.transparency) {
118
127
  props.transparency = this.transparency;
128
+ if (this.viewDependentTransparency)
129
+ props.viewDependentTransparency = true;
130
+ }
119
131
  if (undefined !== this.linePixels)
120
132
  props.linePixels = this.linePixels;
121
133
  if (true === this.ignoresMaterial)
@@ -170,10 +182,25 @@ class FeatureAppearance {
170
182
  props.nonLocatable = true;
171
183
  if (undefined === props.emphasized && this.emphasized)
172
184
  props.emphasized = true;
185
+ if (undefined !== props.transparency && this.viewDependentTransparency)
186
+ props.viewDependentTransparency = true;
173
187
  return FeatureAppearance.fromJSON(props);
174
188
  }
175
189
  rgbIsEqual(rgb) {
176
- return undefined === this.rgb ? undefined === rgb ? true : false : undefined === rgb ? false : this.rgb.equals(rgb);
190
+ if (undefined === this.rgb)
191
+ return undefined === rgb;
192
+ else if (undefined === rgb)
193
+ return false;
194
+ else
195
+ return this.rgb.equals(rgb);
196
+ }
197
+ transparencyIsEqual(transp) {
198
+ if (undefined === this.transparency)
199
+ return undefined === transp;
200
+ else if (undefined === transp)
201
+ return false;
202
+ else
203
+ return Math.floor(this.transparency * 0xff) === Math.floor(transp * 0xff);
177
204
  }
178
205
  }
179
206
  exports.FeatureAppearance = FeatureAppearance;
@@ -391,18 +418,54 @@ class FeatureOverrides {
391
418
  default: return true;
392
419
  }
393
420
  }
421
+ /** Specify overrides for all elements belonging to a specified [GeometricModel]($backend), or all geometry belonging to a specified [GeometricElement]($backend) or [SubCategory]($backend). */
422
+ override(args) {
423
+ let id;
424
+ let map;
425
+ if (undefined !== args.elementId) {
426
+ id = args.elementId;
427
+ map = this._elementOverrides;
428
+ }
429
+ else if (undefined !== args.modelId) {
430
+ id = args.modelId;
431
+ map = this._modelOverrides;
432
+ }
433
+ else {
434
+ id = args.subCategoryId;
435
+ map = this._subCategoryOverrides;
436
+ }
437
+ let app = args.appearance;
438
+ const idLo = core_bentley_1.Id64.getLowerUint32(id);
439
+ const idHi = core_bentley_1.Id64.getUpperUint32(id);
440
+ if (undefined !== args.elementId && this.isNeverDrawn(idLo, idHi, 0))
441
+ return;
442
+ const replace = "replace" === args.onConflict;
443
+ const existing = replace ? undefined : map.get(idLo, idHi);
444
+ if (existing) {
445
+ (0, core_bentley_1.assert)("replace" !== args.onConflict);
446
+ switch (args.onConflict) {
447
+ case "skip":
448
+ return;
449
+ case "extend":
450
+ app = app.extendAppearance(existing);
451
+ break;
452
+ default:
453
+ app = existing.extendAppearance(app);
454
+ break;
455
+ }
456
+ }
457
+ map.set(idLo, idHi, app);
458
+ }
394
459
  /** Specify overrides for all elements within the specified model.
395
460
  * @param id The Id of the model.
396
461
  * @param app The symbology overrides.
397
462
  * @param replaceExisting Specifies whether to replace a pre-existing override for the same model.
398
463
  * @note These overrides take priority over all other overrides.
399
464
  * @note If [[defaultOverrides]] are defined, they will not apply to any element within this model, even if the supplied appearance overrides nothing.
465
+ * @deprecated Use [[FeatureOverrides.override]].
400
466
  */
401
467
  overrideModel(id, app, replaceExisting = true) {
402
- const idLo = core_bentley_1.Id64.getLowerUint32(id);
403
- const idHi = core_bentley_1.Id64.getUpperUint32(id);
404
- if (replaceExisting || undefined === this.getModelOverrides(idLo, idHi))
405
- this._modelOverrides.set(idLo, idHi, app);
468
+ this.override({ modelId: id, appearance: app, onConflict: replaceExisting ? "replace" : "skip" });
406
469
  }
407
470
  /** Specify overrides for all geometry belonging to the specified [SubCategory]($backend).
408
471
  * @param id The Id of the subcategory.
@@ -410,14 +473,10 @@ class FeatureOverrides {
410
473
  * @param replaceExisting Specifies whether to replace a pre-existing override for the same subcategory.
411
474
  * @note These overrides have lower priority than element and model overrides.
412
475
  * @note If [[defaultOverrides]] are defined, they will not apply to any geometry within this subcategory, even if the supplied appearance overrides nothing.
476
+ * @deprecated Use [[FeatureOverrides.override]].
413
477
  */
414
478
  overrideSubCategory(id, app, replaceExisting = true) {
415
- // NB: We used to do nothing if this.isSubCategoryVisible() => false but now models can turn invisible subcategories visible in their own context.
416
- const idLo = core_bentley_1.Id64.getLowerUint32(id);
417
- const idHi = core_bentley_1.Id64.getUpperUint32(id);
418
- // NB: Appearance may specify no overridden symbology - this means "don't apply the default overrides to this subcategory"
419
- if (replaceExisting || undefined === this.getSubCategoryOverrides(idLo, idHi))
420
- this._subCategoryOverrides.set(idLo, idHi, app);
479
+ this.override({ subCategoryId: id, appearance: app, onConflict: replaceExisting ? "replace" : "skip" });
421
480
  }
422
481
  /** Specify overrides for all geometry originating from the specified element.
423
482
  * @param id The Id of the element.
@@ -425,22 +484,19 @@ class FeatureOverrides {
425
484
  * @param replaceExisting Specifies whether to replace a pre-existing override for the same element.
426
485
  * @note These overrides take precedence over subcategory overrides, but not over model overrides.
427
486
  * @note If [[defaultOverrides]] are defined, they will not apply to this element, even if the supplied appearance overrides nothing.
487
+ * @deprecated Use [[FeatureOverrides.override]].
428
488
  */
429
489
  overrideElement(id, app, replaceExisting = true) {
430
- const idLo = core_bentley_1.Id64.getLowerUint32(id);
431
- const idHi = core_bentley_1.Id64.getUpperUint32(id);
432
- if (this.isNeverDrawn(idLo, idHi, 0))
433
- return;
434
- // NB: Appearance may specify no overridden symbology - this means "don't apply the default overrides to this element"
435
- if (replaceExisting || undefined === this.getElementOverrides(idLo, idHi, 0))
436
- this._elementOverrides.set(idLo, idHi, app);
490
+ this.override({ elementId: id, appearance: app, onConflict: replaceExisting ? "replace" : "skip" });
437
491
  }
438
492
  /** Specify overrides for all geometry originating from the specified animation node.
439
493
  * @param id The Id of the animation node.
440
494
  * @param app The symbology overrides.
441
495
  * @note These overrides do not take precedence over element overrides.
442
496
  */
443
- overrideAnimationNode(id, app) { this.animationNodeOverrides.set(id, app); }
497
+ overrideAnimationNode(id, app) {
498
+ this.animationNodeOverrides.set(id, app);
499
+ }
444
500
  /** Defines a default appearance to be applied to any [[Feature]] *not* explicitly overridden.
445
501
  * @param appearance The symbology overrides.
446
502
  * @param replaceExisting Specifies whether to replace the current default overrides if they are already defined.