@itwin/core-common 4.10.0-dev.9 → 5.0.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  3. package/lib/cjs/AnalysisStyle.js.map +1 -1
  4. package/lib/cjs/Atmosphere.js.map +1 -1
  5. package/lib/cjs/AuthorizationClient.js.map +1 -1
  6. package/lib/cjs/BackendTypes.d.ts +0 -2
  7. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  8. package/lib/cjs/BackendTypes.js.map +1 -1
  9. package/lib/cjs/BackgroundMapProvider.js +1 -1
  10. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  11. package/lib/cjs/BackgroundMapSettings.js +2 -2
  12. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  13. package/lib/cjs/Base64EncodedString.js.map +1 -1
  14. package/lib/cjs/BlobReader.js.map +1 -1
  15. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  16. package/lib/cjs/Camera.js.map +1 -1
  17. package/lib/cjs/ChangedElements.js.map +1 -1
  18. package/lib/cjs/ChangedEntities.js.map +1 -1
  19. package/lib/cjs/ChangesetProps.js.map +1 -1
  20. package/lib/cjs/ClipStyle.js.map +1 -1
  21. package/lib/cjs/Code.d.ts +8 -0
  22. package/lib/cjs/Code.d.ts.map +1 -1
  23. package/lib/cjs/Code.js +8 -0
  24. package/lib/cjs/Code.js.map +1 -1
  25. package/lib/cjs/ColorByName.js.map +1 -1
  26. package/lib/cjs/ColorDef.d.ts.map +1 -1
  27. package/lib/cjs/ColorDef.js +0 -3
  28. package/lib/cjs/ColorDef.js.map +1 -1
  29. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  30. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  31. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  32. package/lib/cjs/ContextRealityModel.js.map +1 -1
  33. package/lib/cjs/ContourDisplay.d.ts +216 -0
  34. package/lib/cjs/ContourDisplay.d.ts.map +1 -0
  35. package/lib/cjs/ContourDisplay.js +300 -0
  36. package/lib/cjs/ContourDisplay.js.map +1 -0
  37. package/lib/cjs/DisplayStyleSettings.d.ts +9 -0
  38. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  39. package/lib/cjs/DisplayStyleSettings.js +16 -0
  40. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  41. package/lib/cjs/ECSchemaProps.js.map +1 -1
  42. package/lib/cjs/ECSqlReader.d.ts.map +1 -1
  43. package/lib/cjs/ECSqlReader.js +1 -10
  44. package/lib/cjs/ECSqlReader.js.map +1 -1
  45. package/lib/cjs/ECSqlTypes.js.map +1 -1
  46. package/lib/cjs/ElementMesh.js +2 -3
  47. package/lib/cjs/ElementMesh.js.map +1 -1
  48. package/lib/cjs/ElementProps.d.ts +25 -0
  49. package/lib/cjs/ElementProps.d.ts.map +1 -1
  50. package/lib/cjs/ElementProps.js +3 -3
  51. package/lib/cjs/ElementProps.js.map +1 -1
  52. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  53. package/lib/cjs/EntityProps.js.map +1 -1
  54. package/lib/cjs/EntityReference.js.map +1 -1
  55. package/lib/cjs/Environment.js.map +1 -1
  56. package/lib/cjs/FeatureIndex.js.map +1 -1
  57. package/lib/cjs/FeatureSymbology.d.ts +36 -5
  58. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  59. package/lib/cjs/FeatureSymbology.js +127 -40
  60. package/lib/cjs/FeatureSymbology.js.map +1 -1
  61. package/lib/cjs/FeatureTable.js.map +1 -1
  62. package/lib/cjs/Fonts.js.map +1 -1
  63. package/lib/cjs/Frustum.js.map +1 -1
  64. package/lib/cjs/GenericInstanceFilter.js.map +1 -1
  65. package/lib/cjs/GeoCoordinateServices.js +2 -2
  66. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  67. package/lib/cjs/GeometryContainment.js.map +1 -1
  68. package/lib/cjs/GeometryParams.js.map +1 -1
  69. package/lib/cjs/GeometrySummary.js.map +1 -1
  70. package/lib/cjs/Gradient.js.map +1 -1
  71. package/lib/cjs/GraphicParams.js.map +1 -1
  72. package/lib/cjs/GroundPlane.js.map +1 -1
  73. package/lib/cjs/HSLColor.js.map +1 -1
  74. package/lib/cjs/HSVColor.js.map +1 -1
  75. package/lib/cjs/HiddenLine.js.map +1 -1
  76. package/lib/cjs/Hilite.js.map +1 -1
  77. package/lib/cjs/IModel.js.map +1 -1
  78. package/lib/cjs/IModelError.d.ts +5 -3
  79. package/lib/cjs/IModelError.d.ts.map +1 -1
  80. package/lib/cjs/IModelError.js +5 -2
  81. package/lib/cjs/IModelError.js.map +1 -1
  82. package/lib/cjs/IModelVersion.js.map +1 -1
  83. package/lib/cjs/ITwinError.d.ts +72 -0
  84. package/lib/cjs/ITwinError.d.ts.map +1 -0
  85. package/lib/cjs/ITwinError.js +55 -0
  86. package/lib/cjs/ITwinError.js.map +1 -0
  87. package/lib/cjs/Image.js +4 -4
  88. package/lib/cjs/Image.js.map +1 -1
  89. package/lib/cjs/IpcAppProps.js.map +1 -1
  90. package/lib/cjs/LightSettings.js.map +1 -1
  91. package/lib/cjs/LinePixels.js.map +1 -1
  92. package/lib/cjs/Localization.js.map +1 -1
  93. package/lib/cjs/MapImagerySettings.js.map +1 -1
  94. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  95. package/lib/cjs/MapLayerSettings.js +0 -1
  96. package/lib/cjs/MapLayerSettings.js.map +1 -1
  97. package/lib/cjs/MassProperties.js.map +1 -1
  98. package/lib/cjs/MaterialProps.js.map +1 -1
  99. package/lib/cjs/ModelClipGroup.js.map +1 -1
  100. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  101. package/lib/cjs/ModelProps.js.map +1 -1
  102. package/lib/cjs/NativeAppProps.js.map +1 -1
  103. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  104. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  105. package/lib/cjs/PlanarClipMask.js.map +1 -1
  106. package/lib/cjs/QPoint.d.ts +1 -1
  107. package/lib/cjs/QPoint.js.map +1 -1
  108. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  109. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  110. package/lib/cjs/Render.js.map +1 -1
  111. package/lib/cjs/RenderMaterial.js +4 -4
  112. package/lib/cjs/RenderMaterial.js.map +1 -1
  113. package/lib/cjs/RenderTexture.js.map +1 -1
  114. package/lib/cjs/RgbColor.js.map +1 -1
  115. package/lib/cjs/RpcInterface.js +1 -1
  116. package/lib/cjs/RpcInterface.js.map +1 -1
  117. package/lib/cjs/RpcManager.d.ts.map +1 -1
  118. package/lib/cjs/RpcManager.js.map +1 -1
  119. package/lib/cjs/SessionProps.js.map +1 -1
  120. package/lib/cjs/SkyBox.js.map +1 -1
  121. package/lib/cjs/SolarCalculate.js +4 -5
  122. package/lib/cjs/SolarCalculate.js.map +1 -1
  123. package/lib/cjs/SolarShadows.js.map +1 -1
  124. package/lib/cjs/SpatialClassification.js.map +1 -1
  125. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  126. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  127. package/lib/cjs/TerrainSettings.js.map +1 -1
  128. package/lib/cjs/TextureMapping.js.map +1 -1
  129. package/lib/cjs/TextureProps.js.map +1 -1
  130. package/lib/cjs/ThematicDisplay.js.map +1 -1
  131. package/lib/cjs/Thumbnail.js.map +1 -1
  132. package/lib/cjs/TileProps.js +2 -2
  133. package/lib/cjs/TileProps.js.map +1 -1
  134. package/lib/cjs/Tween.d.ts.map +1 -1
  135. package/lib/cjs/Tween.js +0 -1
  136. package/lib/cjs/Tween.js.map +1 -1
  137. package/lib/cjs/TxnAction.js.map +1 -1
  138. package/lib/cjs/ViewDetails.js.map +1 -1
  139. package/lib/cjs/ViewFlags.js.map +1 -1
  140. package/lib/cjs/ViewProps.d.ts +1 -1
  141. package/lib/cjs/ViewProps.d.ts.map +1 -1
  142. package/lib/cjs/ViewProps.js.map +1 -1
  143. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  144. package/lib/cjs/annotation/TextAnnotation.js.map +1 -1
  145. package/lib/cjs/annotation/TextBlock.js.map +1 -1
  146. package/lib/cjs/annotation/TextBlockGeometryProps.js.map +1 -1
  147. package/lib/cjs/annotation/TextBlockLayoutResult.js.map +1 -1
  148. package/lib/cjs/annotation/TextStyle.js.map +1 -1
  149. package/lib/cjs/core-common.d.ts +2 -0
  150. package/lib/cjs/core-common.d.ts.map +1 -1
  151. package/lib/cjs/core-common.js +2 -0
  152. package/lib/cjs/core-common.js.map +1 -1
  153. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  154. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  155. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  156. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  157. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  158. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  159. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  160. package/lib/cjs/geometry/ElementGeometry.js +3 -3
  161. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  162. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  163. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  164. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  165. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  166. package/lib/cjs/geometry/GeometryStream.js +2 -2
  167. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  168. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  169. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  170. package/lib/cjs/geometry/Placement.d.ts +3 -0
  171. package/lib/cjs/geometry/Placement.d.ts.map +1 -1
  172. package/lib/cjs/geometry/Placement.js +3 -0
  173. package/lib/cjs/geometry/Placement.js.map +1 -1
  174. package/lib/cjs/geometry/Projection.js.map +1 -1
  175. package/lib/cjs/geometry/TextString.js.map +1 -1
  176. package/lib/cjs/internal/Snapping.d.ts +7 -1
  177. package/lib/cjs/internal/Snapping.d.ts.map +1 -1
  178. package/lib/cjs/internal/Snapping.js.map +1 -1
  179. package/lib/cjs/internal/cross-package.js.map +1 -1
  180. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  181. package/lib/cjs/ipc/IpcSocket.d.ts +15 -2
  182. package/lib/cjs/ipc/IpcSocket.d.ts.map +1 -1
  183. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  184. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  185. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  186. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  187. package/lib/cjs/rpc/IModelReadRpcInterface.js +12 -12
  188. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  189. package/lib/cjs/rpc/IModelTileRpcInterface.js +1 -1
  190. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  191. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +3 -0
  192. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts.map +1 -1
  193. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +3 -0
  194. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  195. package/lib/cjs/rpc/TestRpcManager.d.ts.map +1 -1
  196. package/lib/cjs/rpc/TestRpcManager.js +0 -1
  197. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  198. package/lib/cjs/rpc/WipRpcInterface.js +1 -1
  199. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  200. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  201. package/lib/cjs/rpc/core/RpcConfiguration.js +1 -1
  202. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  203. package/lib/cjs/rpc/core/RpcConstants.d.ts +1 -1
  204. package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
  205. package/lib/cjs/rpc/core/RpcConstants.js +1 -1
  206. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  207. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  208. package/lib/cjs/rpc/core/RpcControl.js +0 -1
  209. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  210. package/lib/cjs/rpc/core/RpcInvocation.js +1 -1
  211. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  212. package/lib/cjs/rpc/core/RpcMarshaling.js +1 -1
  213. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  214. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  215. package/lib/cjs/rpc/core/RpcOperation.js +0 -1
  216. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  217. package/lib/cjs/rpc/core/RpcPendingQueue.js +1 -1
  218. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  219. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  220. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  221. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  222. package/lib/cjs/rpc/core/RpcRegistry.d.ts.map +1 -1
  223. package/lib/cjs/rpc/core/RpcRegistry.js +0 -2
  224. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  225. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  226. package/lib/cjs/rpc/core/RpcRequest.js +1 -2
  227. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  228. package/lib/cjs/rpc/core/RpcRequestContext.d.ts.map +1 -1
  229. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  230. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  231. package/lib/cjs/rpc/core/RpcRoutingToken.js +0 -1
  232. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  233. package/lib/cjs/rpc/core/RpcSessionInvocation.js +1 -1
  234. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  235. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  236. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  237. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +0 -1
  238. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  239. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  240. package/lib/cjs/rpc/web/RpcMultipart.d.ts.map +1 -1
  241. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  242. package/lib/cjs/rpc/web/WebAppRpcLogging.js +1 -1
  243. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  244. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +0 -2
  245. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  246. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  247. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  248. package/lib/cjs/rpc/web/WebAppRpcRequest.js +1 -1
  249. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  250. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  251. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +0 -1
  252. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  253. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  254. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  255. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  256. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  257. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  258. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  259. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  260. package/lib/cjs/tile/TileIO.js +4 -4
  261. package/lib/cjs/tile/TileIO.js.map +1 -1
  262. package/lib/cjs/tile/TileMetadata.js +13 -13
  263. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  264. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -1
  265. package/lib/esm/AmbientOcclusion.js.map +1 -1
  266. package/lib/esm/AnalysisStyle.js.map +1 -1
  267. package/lib/esm/Atmosphere.js.map +1 -1
  268. package/lib/esm/AuthorizationClient.js.map +1 -1
  269. package/lib/esm/BackendTypes.d.ts +0 -2
  270. package/lib/esm/BackendTypes.d.ts.map +1 -1
  271. package/lib/esm/BackendTypes.js.map +1 -1
  272. package/lib/esm/BackgroundMapProvider.js +1 -1
  273. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  274. package/lib/esm/BackgroundMapSettings.js +2 -2
  275. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  276. package/lib/esm/Base64EncodedString.js.map +1 -1
  277. package/lib/esm/BlobReader.js.map +1 -1
  278. package/lib/esm/BriefcaseTypes.js.map +1 -1
  279. package/lib/esm/Camera.js.map +1 -1
  280. package/lib/esm/ChangedElements.js.map +1 -1
  281. package/lib/esm/ChangedEntities.js.map +1 -1
  282. package/lib/esm/ChangesetProps.js.map +1 -1
  283. package/lib/esm/ClipStyle.js.map +1 -1
  284. package/lib/esm/Code.d.ts +8 -0
  285. package/lib/esm/Code.d.ts.map +1 -1
  286. package/lib/esm/Code.js +8 -0
  287. package/lib/esm/Code.js.map +1 -1
  288. package/lib/esm/ColorByName.js.map +1 -1
  289. package/lib/esm/ColorDef.d.ts.map +1 -1
  290. package/lib/esm/ColorDef.js +0 -3
  291. package/lib/esm/ColorDef.js.map +1 -1
  292. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  293. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  294. package/lib/esm/ConcurrentQuery.js.map +1 -1
  295. package/lib/esm/ContextRealityModel.js.map +1 -1
  296. package/lib/esm/ContourDisplay.d.ts +216 -0
  297. package/lib/esm/ContourDisplay.d.ts.map +1 -0
  298. package/lib/esm/ContourDisplay.js +293 -0
  299. package/lib/esm/ContourDisplay.js.map +1 -0
  300. package/lib/esm/DisplayStyleSettings.d.ts +9 -0
  301. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  302. package/lib/esm/DisplayStyleSettings.js +16 -0
  303. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  304. package/lib/esm/ECSchemaProps.js.map +1 -1
  305. package/lib/esm/ECSqlReader.d.ts.map +1 -1
  306. package/lib/esm/ECSqlReader.js +1 -10
  307. package/lib/esm/ECSqlReader.js.map +1 -1
  308. package/lib/esm/ECSqlTypes.js.map +1 -1
  309. package/lib/esm/ElementMesh.js +1 -1
  310. package/lib/esm/ElementMesh.js.map +1 -1
  311. package/lib/esm/ElementProps.d.ts +25 -0
  312. package/lib/esm/ElementProps.d.ts.map +1 -1
  313. package/lib/esm/ElementProps.js.map +1 -1
  314. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  315. package/lib/esm/EntityProps.js.map +1 -1
  316. package/lib/esm/EntityReference.js.map +1 -1
  317. package/lib/esm/Environment.js.map +1 -1
  318. package/lib/esm/FeatureIndex.js.map +1 -1
  319. package/lib/esm/FeatureSymbology.d.ts +36 -5
  320. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  321. package/lib/esm/FeatureSymbology.js +127 -40
  322. package/lib/esm/FeatureSymbology.js.map +1 -1
  323. package/lib/esm/FeatureTable.js.map +1 -1
  324. package/lib/esm/Fonts.js.map +1 -1
  325. package/lib/esm/Frustum.js.map +1 -1
  326. package/lib/esm/GenericInstanceFilter.js.map +1 -1
  327. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  328. package/lib/esm/GeometryContainment.js.map +1 -1
  329. package/lib/esm/GeometryParams.js.map +1 -1
  330. package/lib/esm/GeometrySummary.js.map +1 -1
  331. package/lib/esm/Gradient.js.map +1 -1
  332. package/lib/esm/GraphicParams.js.map +1 -1
  333. package/lib/esm/GroundPlane.js.map +1 -1
  334. package/lib/esm/HSLColor.js.map +1 -1
  335. package/lib/esm/HSVColor.js.map +1 -1
  336. package/lib/esm/HiddenLine.js.map +1 -1
  337. package/lib/esm/Hilite.js.map +1 -1
  338. package/lib/esm/IModel.js.map +1 -1
  339. package/lib/esm/IModelError.d.ts +5 -3
  340. package/lib/esm/IModelError.d.ts.map +1 -1
  341. package/lib/esm/IModelError.js +5 -2
  342. package/lib/esm/IModelError.js.map +1 -1
  343. package/lib/esm/IModelVersion.js.map +1 -1
  344. package/lib/esm/ITwinError.d.ts +72 -0
  345. package/lib/esm/ITwinError.d.ts.map +1 -0
  346. package/lib/esm/ITwinError.js +52 -0
  347. package/lib/esm/ITwinError.js.map +1 -0
  348. package/lib/esm/Image.js.map +1 -1
  349. package/lib/esm/IpcAppProps.js.map +1 -1
  350. package/lib/esm/LightSettings.js.map +1 -1
  351. package/lib/esm/LinePixels.js.map +1 -1
  352. package/lib/esm/Localization.js.map +1 -1
  353. package/lib/esm/MapImagerySettings.js.map +1 -1
  354. package/lib/esm/MapLayerSettings.d.ts.map +1 -1
  355. package/lib/esm/MapLayerSettings.js +0 -1
  356. package/lib/esm/MapLayerSettings.js.map +1 -1
  357. package/lib/esm/MassProperties.js.map +1 -1
  358. package/lib/esm/MaterialProps.js.map +1 -1
  359. package/lib/esm/ModelClipGroup.js.map +1 -1
  360. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  361. package/lib/esm/ModelProps.js.map +1 -1
  362. package/lib/esm/NativeAppProps.js.map +1 -1
  363. package/lib/esm/OctEncodedNormal.js.map +1 -1
  364. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  365. package/lib/esm/PlanarClipMask.js.map +1 -1
  366. package/lib/esm/QPoint.d.ts +1 -1
  367. package/lib/esm/QPoint.js.map +1 -1
  368. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  369. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  370. package/lib/esm/Render.js.map +1 -1
  371. package/lib/esm/RenderMaterial.js +4 -4
  372. package/lib/esm/RenderMaterial.js.map +1 -1
  373. package/lib/esm/RenderTexture.js.map +1 -1
  374. package/lib/esm/RgbColor.js.map +1 -1
  375. package/lib/esm/RpcInterface.js +1 -1
  376. package/lib/esm/RpcInterface.js.map +1 -1
  377. package/lib/esm/RpcManager.d.ts.map +1 -1
  378. package/lib/esm/RpcManager.js.map +1 -1
  379. package/lib/esm/SessionProps.js.map +1 -1
  380. package/lib/esm/SkyBox.js.map +1 -1
  381. package/lib/esm/SolarCalculate.js.map +1 -1
  382. package/lib/esm/SolarShadows.js.map +1 -1
  383. package/lib/esm/SpatialClassification.js.map +1 -1
  384. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  385. package/lib/esm/SubCategoryOverride.js.map +1 -1
  386. package/lib/esm/TerrainSettings.js.map +1 -1
  387. package/lib/esm/TextureMapping.js.map +1 -1
  388. package/lib/esm/TextureProps.js.map +1 -1
  389. package/lib/esm/ThematicDisplay.js.map +1 -1
  390. package/lib/esm/Thumbnail.js.map +1 -1
  391. package/lib/esm/TileProps.js.map +1 -1
  392. package/lib/esm/Tween.d.ts.map +1 -1
  393. package/lib/esm/Tween.js +0 -1
  394. package/lib/esm/Tween.js.map +1 -1
  395. package/lib/esm/TxnAction.js.map +1 -1
  396. package/lib/esm/ViewDetails.js.map +1 -1
  397. package/lib/esm/ViewFlags.js.map +1 -1
  398. package/lib/esm/ViewProps.d.ts +1 -1
  399. package/lib/esm/ViewProps.d.ts.map +1 -1
  400. package/lib/esm/ViewProps.js.map +1 -1
  401. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  402. package/lib/esm/annotation/TextAnnotation.js.map +1 -1
  403. package/lib/esm/annotation/TextBlock.js.map +1 -1
  404. package/lib/esm/annotation/TextBlockGeometryProps.js.map +1 -1
  405. package/lib/esm/annotation/TextBlockLayoutResult.js.map +1 -1
  406. package/lib/esm/annotation/TextStyle.js.map +1 -1
  407. package/lib/esm/core-common.d.ts +2 -0
  408. package/lib/esm/core-common.d.ts.map +1 -1
  409. package/lib/esm/core-common.js +2 -0
  410. package/lib/esm/core-common.js.map +1 -1
  411. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  412. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  413. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  414. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  415. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  416. package/lib/esm/geometry/Cartographic.js.map +1 -1
  417. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  418. package/lib/esm/geometry/ElementGeometry.js +3 -3
  419. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  420. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  421. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  422. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  423. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  424. package/lib/esm/geometry/GeometryStream.js +2 -2
  425. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  426. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  427. package/lib/esm/geometry/LineStyle.js.map +1 -1
  428. package/lib/esm/geometry/Placement.d.ts +3 -0
  429. package/lib/esm/geometry/Placement.d.ts.map +1 -1
  430. package/lib/esm/geometry/Placement.js +3 -0
  431. package/lib/esm/geometry/Placement.js.map +1 -1
  432. package/lib/esm/geometry/Projection.js.map +1 -1
  433. package/lib/esm/geometry/TextString.js.map +1 -1
  434. package/lib/esm/internal/Snapping.d.ts +7 -1
  435. package/lib/esm/internal/Snapping.d.ts.map +1 -1
  436. package/lib/esm/internal/Snapping.js.map +1 -1
  437. package/lib/esm/internal/cross-package.js.map +1 -1
  438. package/lib/esm/ipc/IpcSession.js.map +1 -1
  439. package/lib/esm/ipc/IpcSocket.d.ts +15 -2
  440. package/lib/esm/ipc/IpcSocket.d.ts.map +1 -1
  441. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  442. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  443. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  444. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  445. package/lib/esm/rpc/IModelReadRpcInterface.js +12 -12
  446. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  447. package/lib/esm/rpc/IModelTileRpcInterface.js +1 -1
  448. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  449. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +3 -0
  450. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts.map +1 -1
  451. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +3 -0
  452. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  453. package/lib/esm/rpc/TestRpcManager.d.ts.map +1 -1
  454. package/lib/esm/rpc/TestRpcManager.js +0 -1
  455. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  456. package/lib/esm/rpc/WipRpcInterface.js +1 -1
  457. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  458. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  459. package/lib/esm/rpc/core/RpcConfiguration.js +1 -1
  460. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  461. package/lib/esm/rpc/core/RpcConstants.d.ts +1 -1
  462. package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
  463. package/lib/esm/rpc/core/RpcConstants.js +1 -1
  464. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  465. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  466. package/lib/esm/rpc/core/RpcControl.js +0 -1
  467. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  468. package/lib/esm/rpc/core/RpcInvocation.js +1 -1
  469. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  470. package/lib/esm/rpc/core/RpcMarshaling.js +1 -1
  471. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  472. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  473. package/lib/esm/rpc/core/RpcOperation.js +0 -1
  474. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  475. package/lib/esm/rpc/core/RpcPendingQueue.js +1 -1
  476. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  477. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  478. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  479. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  480. package/lib/esm/rpc/core/RpcRegistry.d.ts.map +1 -1
  481. package/lib/esm/rpc/core/RpcRegistry.js +0 -2
  482. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  483. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  484. package/lib/esm/rpc/core/RpcRequest.js +1 -2
  485. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  486. package/lib/esm/rpc/core/RpcRequestContext.d.ts.map +1 -1
  487. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  488. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  489. package/lib/esm/rpc/core/RpcRoutingToken.js +0 -1
  490. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  491. package/lib/esm/rpc/core/RpcSessionInvocation.js +1 -1
  492. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  493. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  494. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
  495. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +0 -1
  496. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  497. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  498. package/lib/esm/rpc/web/RpcMultipart.d.ts.map +1 -1
  499. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  500. package/lib/esm/rpc/web/WebAppRpcLogging.js +1 -1
  501. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  502. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +0 -2
  503. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  504. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  505. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  506. package/lib/esm/rpc/web/WebAppRpcRequest.js +1 -1
  507. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  508. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  509. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +0 -1
  510. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  511. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  512. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  513. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  514. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  515. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  516. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  517. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  518. package/lib/esm/tile/TileIO.js.map +1 -1
  519. package/lib/esm/tile/TileMetadata.js +1 -1
  520. package/lib/esm/tile/TileMetadata.js.map +1 -1
  521. package/lib/esm/tile/Tileset3dSchema.js.map +1 -1
  522. package/package.json +11 -11
@@ -1 +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 { Atmosphere } from \"./Atmosphere\";\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 * @extensions\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 /** @beta See [[Environment.atmosphere]] and [[Environment.displayAtmosphere]]. */\r\n atmosphere?: Atmosphere.Props;\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 /**\r\n * @beta\r\n * If true, the atmosphere will be displayed. Enabling this will override any color information provided to the sky box.\r\n * Default: false.\r\n * @see [[withDisplay]] or [[DisplayStyle3dSettings.toggleAtmosphere]] to change this.\r\n */\r\n public readonly displayAtmosphere: boolean;\r\n\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 /** @beta Describes how the atmosphere should be drawn */\r\n public readonly atmosphere: Atmosphere.Settings;\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.displayAtmosphere = props?.displayAtmosphere ?? false;\r\n this.sky = props?.sky ?? SkyBox.defaults;\r\n this.ground = props?.ground ?? GroundPlane.defaults;\r\n this.atmosphere = props?.atmosphere ?? Atmosphere.Settings.defaults;\r\n }\r\n\r\n /** Default settings without a ground plane, sky box, or atmosphere 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`, `displaySky` and/or `displayAtmosphere` flags. */\r\n public withDisplay(display: { sky?: boolean, ground?: boolean, atmosphere?: boolean }): Environment {\r\n const displaySky = display.sky ?? this.displaySky;\r\n const displayGround = display.ground ?? this.displayGround;\r\n const displayAtmosphere = display.atmosphere ?? this.displayAtmosphere;\r\n if (displaySky === this.displaySky && displayGround === this.displayGround && displayAtmosphere === this.displayAtmosphere)\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 displayAtmosphere: displayAtmosphere ?? this.displayAtmosphere,\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 atmosphere: this.atmosphere.toJSON(this.displayAtmosphere),\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 displayAtmosphere: props?.atmosphere?.display,\r\n sky: props?.sky ? SkyBox.fromJSON(props.sky) : undefined,\r\n ground: props?.ground ? GroundPlane.fromJSON(props.ground) : undefined,\r\n atmosphere: props?.atmosphere ? Atmosphere.Settings.fromJSON(props.atmosphere) : 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"]}
1
+ {"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../src/Environment.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module DisplayStyles\n */\n\nimport { NonFunctionPropertiesOf } from \"@itwin/core-bentley\";\nimport { Atmosphere } from \"./Atmosphere\";\nimport { GroundPlane, GroundPlaneProps } from \"./GroundPlane\";\nimport { SkyBox, SkyBoxProps } from \"./SkyBox\";\n\n/** JSON representation of an [[Environment]].\n * @see [[DisplayStyle3dSettingsProps.environment]].\n * @public\n * @extensions\n */\nexport interface EnvironmentProps {\n /** See [[Environment.ground]] and [[Environment.displayGround]]. */\n ground?: GroundPlaneProps;\n /** See [[Environment.sky]] and [[Environment.displaySky]]. */\n sky?: SkyBoxProps;\n /** @beta See [[Environment.atmosphere]] and [[Environment.displayAtmosphere]]. */\n atmosphere?: Atmosphere.Props;\n}\n\n/** A type containing all of the properties of [[Environment]] with none of the methods and with the `readonly` modifiers removed.\n * @see [[Environment.create]] and [[Environment.clone]].\n * @public\n */\nexport type EnvironmentProperties = NonFunctionPropertiesOf<Environment>;\n\n/** As part of a [[DisplayStyle3dSettings]], controls the display of a [[SkyBox]] and [[GroundPlane]] to simulate the\n * outdoor environment.\n * @see [[DisplayStyle3dSettings.environment]].\n * @public\n */\nexport class Environment {\n /** If true, the sky box will be displayed.\n * Default: false.\n * @see [[withDisplay]] or [[DisplayStyle3dSettings.toggleSkyBox]] to change this.\n */\n public readonly displaySky: boolean;\n /** If true, the ground plane will be displayed.\n * Default: false.\n * @see [[withDisplay]] or [[DisplayStyle3dSettings.toggleGroundPlane]] to change this.\n */\n public readonly displayGround: boolean;\n /**\n * @beta\n * If true, the atmosphere will be displayed. Enabling this will override any color information provided to the sky box.\n * Default: false.\n * @see [[withDisplay]] or [[DisplayStyle3dSettings.toggleAtmosphere]] to change this.\n */\n public readonly displayAtmosphere: boolean;\n\n /** Describes how the sky box should be drawn. */\n public readonly sky: SkyBox;\n /** Describes how the ground plane should be drawn. */\n public readonly ground: GroundPlane;\n /** @beta Describes how the atmosphere should be drawn */\n public readonly atmosphere: Atmosphere.Settings;\n\n protected constructor(props?: Partial<EnvironmentProperties>) {\n this.displaySky = props?.displaySky ?? false;\n this.displayGround = props?.displayGround ?? false;\n this.displayAtmosphere = props?.displayAtmosphere ?? false;\n this.sky = props?.sky ?? SkyBox.defaults;\n this.ground = props?.ground ?? GroundPlane.defaults;\n this.atmosphere = props?.atmosphere ?? Atmosphere.Settings.defaults;\n }\n\n /** Default settings without a ground plane, sky box, or atmosphere displayed. */\n public static readonly defaults = new Environment();\n\n /** Create a new Environment. Any properties not specified by `props` will be initialized to their default values. */\n public static create(props?: Partial<EnvironmentProperties>): Environment {\n return props ? new this(props) : this.defaults;\n }\n\n /** Create a copy of this environment, changing the `displayGround`, `displaySky` and/or `displayAtmosphere` flags. */\n public withDisplay(display: { sky?: boolean, ground?: boolean, atmosphere?: boolean }): Environment {\n const displaySky = display.sky ?? this.displaySky;\n const displayGround = display.ground ?? this.displayGround;\n const displayAtmosphere = display.atmosphere ?? this.displayAtmosphere;\n if (displaySky === this.displaySky && displayGround === this.displayGround && displayAtmosphere === this.displayAtmosphere)\n return this;\n\n return Environment.create({\n ...this,\n displaySky: displaySky ?? this.displaySky,\n displayGround: displayGround ?? this.displayGround,\n displayAtmosphere: displayAtmosphere ?? this.displayAtmosphere,\n });\n }\n\n /** Convert to JSON representation. */\n public toJSON(): EnvironmentProps {\n return {\n sky: this.sky.toJSON(this.displaySky),\n ground: this.ground.toJSON(this.displayGround),\n atmosphere: this.atmosphere.toJSON(this.displayAtmosphere),\n };\n }\n\n /** Create from JSON representation. */\n public static fromJSON(props?: EnvironmentProps): Environment {\n if (!props)\n return this.defaults;\n\n return new this({\n displaySky: props?.sky?.display,\n displayGround: props?.ground?.display,\n displayAtmosphere: props?.atmosphere?.display,\n sky: props?.sky ? SkyBox.fromJSON(props.sky) : undefined,\n ground: props?.ground ? GroundPlane.fromJSON(props.ground) : undefined,\n atmosphere: props?.atmosphere ? Atmosphere.Settings.fromJSON(props.atmosphere) : undefined,\n });\n }\n\n /** Create a copy of this environment, identical except for any properties specified by `changedProps`.\n * Any properties of `changedProps` explicitly set to `undefined` will be reset to their default values.\n */\n public clone(changedProps?: Partial<EnvironmentProperties>): Environment {\n if (!changedProps)\n return this;\n\n return Environment.create({ ...this, ...changedProps });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureIndex.js","sourceRoot":"","sources":["../../src/FeatureIndex.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 { ColorDef } from \"./ColorDef\";\r\n\r\n/** As part of a [[ColorIndex]], describes per-vertex colors for a [MeshArgs]($frontend) or [PolylineArgs]($frontend).\r\n * The [[colors]] array holds the set of unique colors. The [[indices]] array describes the color of each vertex as an index into [[colors]].\r\n * @note A `NonUniformColor` table cannot contain a mix of opaque and translucent colors. If any color in [[colors]] has a transparency greater\r\n * than zero, all of them must have a transparency greater than zero.\r\n * @public\r\n */\r\nexport class NonUniformColor {\r\n /** An array of 32-bit [[ColorDef]] values in `tbgr` format, indexed by [[indices]]. */\r\n public readonly colors: Uint32Array;\r\n /** For each vertex, an index into [[colors]] indicating the color of that vertex. */\r\n public readonly indices: Uint16Array;\r\n /** If `true`, indicates none of the [[colors]] have a transparency greater than zero; otherwise, all of\r\n * the colors have a transparency greater than zero.\r\n */\r\n public readonly isOpaque: boolean;\r\n\r\n /** Constructor.\r\n * @param colors See [[colors]].\r\n * @param indices See [[indices]]\r\n * @param hasAlpha `true` if all `colors` have a transparency greater than zero, or `false` if they all have a transparency of zero.\r\n */\r\n public constructor(colors: Uint32Array, indices: number[], hasAlpha: boolean) {\r\n this.colors = new Uint32Array(colors.buffer);\r\n this.indices = Uint16Array.from(indices);\r\n this.isOpaque = !hasAlpha;\r\n }\r\n}\r\n\r\n/** Describes the color(s) of the vertices of a [MeshArgs]($frontend) or [PolylineArgs]($frontend).\r\n * This may be a uniform color to be applied to every vertex, or a table specifying individual per-vertex colors.\r\n * @public\r\n */\r\nexport class ColorIndex {\r\n private _color: ColorDef | NonUniformColor;\r\n\r\n /** Whether the color(s) in this index have transparency. */\r\n public get hasAlpha() { return !this._color.isOpaque; }\r\n /** Whether this index specifies a single uniform color for the entire mesh or polyline. */\r\n public get isUniform() { return this._color instanceof ColorDef; }\r\n /** The number of colors in this index. */\r\n public get numColors(): number { return this.isUniform ? 1 : this.nonUniform!.colors.length; }\r\n\r\n /** Construct a default index specifying a uniform white color. */\r\n public constructor() { this._color = ColorDef.white; }\r\n\r\n /** Reset this index to specify a uniform white color. */\r\n public reset() { this._color = ColorDef.white; }\r\n\r\n /** Returns the single color to be applied to all vertices, if [[isUniform]] is `true`; or `undefined` otherwise. */\r\n public get uniform(): ColorDef | undefined {\r\n return this.isUniform ? this._color as ColorDef : undefined;\r\n }\r\n\r\n /** Set the specified color to be applied to all vertices. */\r\n public initUniform(color: ColorDef | number) {\r\n this._color = typeof color === \"number\" ? ColorDef.fromJSON(color) : color;\r\n }\r\n\r\n /** Returns the per-vertex colors, if [[isUniform]] is `false`; or `undefined` otherwise. */\r\n public get nonUniform(): NonUniformColor | undefined {\r\n return !this.isUniform ? this._color as NonUniformColor : undefined;\r\n }\r\n\r\n /** Set the per-vertex colors.\r\n * @param colors See [[NonUniformColor.colors]].\r\n * @param indices See [[NonUniformColor.indices]].\r\n * @param hasAlpha `true` if all `colors` have a transparency greater than zero, or `false` if they all have a transparency of zero.\r\n */\r\n public initNonUniform(colors: Uint32Array, indices: number[], hasAlpha: boolean) {\r\n this._color = new NonUniformColor(colors, indices, hasAlpha);\r\n }\r\n}\r\n\r\n/** Describes the type of a [[FeatureIndex]].\r\n * @public\r\n */\r\nexport enum FeatureIndexType {\r\n /** Indicates that the index contains no features. */\r\n Empty,\r\n /** Indicates that the index contains exactly one feature. */\r\n Uniform,\r\n /** Indicates that the index contains more than one feature. */\r\n NonUniform,\r\n}\r\n\r\n/** Describes the set of [[Feature]]s associated with a [MeshArgs]($frontend) or [PolylineArgs]($frontend).\r\n * The mesh or polyline may have zero or one features; or, individual vertices may be associated with different features.\r\n * The features are expressed as unsigned 32-bit integer Ids of [[Feature]]s within a [[FeatureTable]].\r\n * @public\r\n */\r\nexport class FeatureIndex {\r\n /** Describes the quantity (zero, one, or more than one) of features in this index. */\r\n public type: FeatureIndexType = FeatureIndexType.Empty;\r\n\r\n /** If [[type]] is [[FeatureIndexType.Uniform]], the Id of the single feature. */\r\n public featureID: number = 0;\r\n /** If [[type]] is [[FeatureIndexType.NonUniform]], the per-vertex feature Ids, indexed by the mesh or polyline's vertex indices. */\r\n public featureIDs?: Uint32Array;\r\n\r\n /** True if [[type]] is [[FeatureIndexType.Uniform]]. */\r\n public get isUniform(): boolean { return FeatureIndexType.Uniform === this.type; }\r\n\r\n /** True if [[type]] is [[FeatureIndexType.Empty]]. */\r\n public get isEmpty(): boolean { return FeatureIndexType.Empty === this.type; }\r\n\r\n /** Reset to an empty index. */\r\n public reset(): void {\r\n this.type = FeatureIndexType.Empty;\r\n this.featureID = 0;\r\n this.featureIDs = undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"FeatureIndex.js","sourceRoot":"","sources":["../../src/FeatureIndex.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Rendering\n */\n\nimport { ColorDef } from \"./ColorDef\";\n\n/** As part of a [[ColorIndex]], describes per-vertex colors for a [MeshArgs]($frontend) or [PolylineArgs]($frontend).\n * The [[colors]] array holds the set of unique colors. The [[indices]] array describes the color of each vertex as an index into [[colors]].\n * @note A `NonUniformColor` table cannot contain a mix of opaque and translucent colors. If any color in [[colors]] has a transparency greater\n * than zero, all of them must have a transparency greater than zero.\n * @public\n */\nexport class NonUniformColor {\n /** An array of 32-bit [[ColorDef]] values in `tbgr` format, indexed by [[indices]]. */\n public readonly colors: Uint32Array;\n /** For each vertex, an index into [[colors]] indicating the color of that vertex. */\n public readonly indices: Uint16Array;\n /** If `true`, indicates none of the [[colors]] have a transparency greater than zero; otherwise, all of\n * the colors have a transparency greater than zero.\n */\n public readonly isOpaque: boolean;\n\n /** Constructor.\n * @param colors See [[colors]].\n * @param indices See [[indices]]\n * @param hasAlpha `true` if all `colors` have a transparency greater than zero, or `false` if they all have a transparency of zero.\n */\n public constructor(colors: Uint32Array, indices: number[], hasAlpha: boolean) {\n this.colors = new Uint32Array(colors.buffer);\n this.indices = Uint16Array.from(indices);\n this.isOpaque = !hasAlpha;\n }\n}\n\n/** Describes the color(s) of the vertices of a [MeshArgs]($frontend) or [PolylineArgs]($frontend).\n * This may be a uniform color to be applied to every vertex, or a table specifying individual per-vertex colors.\n * @public\n */\nexport class ColorIndex {\n private _color: ColorDef | NonUniformColor;\n\n /** Whether the color(s) in this index have transparency. */\n public get hasAlpha() { return !this._color.isOpaque; }\n /** Whether this index specifies a single uniform color for the entire mesh or polyline. */\n public get isUniform() { return this._color instanceof ColorDef; }\n /** The number of colors in this index. */\n public get numColors(): number { return this.isUniform ? 1 : this.nonUniform!.colors.length; }\n\n /** Construct a default index specifying a uniform white color. */\n public constructor() { this._color = ColorDef.white; }\n\n /** Reset this index to specify a uniform white color. */\n public reset() { this._color = ColorDef.white; }\n\n /** Returns the single color to be applied to all vertices, if [[isUniform]] is `true`; or `undefined` otherwise. */\n public get uniform(): ColorDef | undefined {\n return this.isUniform ? this._color as ColorDef : undefined;\n }\n\n /** Set the specified color to be applied to all vertices. */\n public initUniform(color: ColorDef | number) {\n this._color = typeof color === \"number\" ? ColorDef.fromJSON(color) : color;\n }\n\n /** Returns the per-vertex colors, if [[isUniform]] is `false`; or `undefined` otherwise. */\n public get nonUniform(): NonUniformColor | undefined {\n return !this.isUniform ? this._color as NonUniformColor : undefined;\n }\n\n /** Set the per-vertex colors.\n * @param colors See [[NonUniformColor.colors]].\n * @param indices See [[NonUniformColor.indices]].\n * @param hasAlpha `true` if all `colors` have a transparency greater than zero, or `false` if they all have a transparency of zero.\n */\n public initNonUniform(colors: Uint32Array, indices: number[], hasAlpha: boolean) {\n this._color = new NonUniformColor(colors, indices, hasAlpha);\n }\n}\n\n/** Describes the type of a [[FeatureIndex]].\n * @public\n */\nexport enum FeatureIndexType {\n /** Indicates that the index contains no features. */\n Empty,\n /** Indicates that the index contains exactly one feature. */\n Uniform,\n /** Indicates that the index contains more than one feature. */\n NonUniform,\n}\n\n/** Describes the set of [[Feature]]s associated with a [MeshArgs]($frontend) or [PolylineArgs]($frontend).\n * The mesh or polyline may have zero or one features; or, individual vertices may be associated with different features.\n * The features are expressed as unsigned 32-bit integer Ids of [[Feature]]s within a [[FeatureTable]].\n * @public\n */\nexport class FeatureIndex {\n /** Describes the quantity (zero, one, or more than one) of features in this index. */\n public type: FeatureIndexType = FeatureIndexType.Empty;\n\n /** If [[type]] is [[FeatureIndexType.Uniform]], the Id of the single feature. */\n public featureID: number = 0;\n /** If [[type]] is [[FeatureIndexType.NonUniform]], the per-vertex feature Ids, indexed by the mesh or polyline's vertex indices. */\n public featureIDs?: Uint32Array;\n\n /** True if [[type]] is [[FeatureIndexType.Uniform]]. */\n public get isUniform(): boolean { return FeatureIndexType.Uniform === this.type; }\n\n /** True if [[type]] is [[FeatureIndexType.Empty]]. */\n public get isEmpty(): boolean { return FeatureIndexType.Empty === this.type; }\n\n /** Reset to an empty index. */\n public reset(): void {\n this.type = FeatureIndexType.Empty;\n this.featureID = 0;\n this.featureIDs = undefined;\n }\n}\n"]}
@@ -15,10 +15,14 @@ import { SubCategoryOverride } from "./SubCategoryOverride";
15
15
  export interface FeatureAppearanceProps {
16
16
  /** See [[FeatureAppearance.rgb]]. */
17
17
  rgb?: RgbColorProps;
18
+ /** See [[FeatureAppearance.lineRgb]]. */
19
+ lineRgb?: RgbColorProps | false;
18
20
  /** See [[FeatureAppearance.weight]]. */
19
21
  weight?: number;
20
22
  /** See [[FeatureAppearance.transparency]]. */
21
23
  transparency?: number;
24
+ /** See [[FeatureAppearance.lineTransparency]]. */
25
+ lineTransparency?: number | false;
22
26
  /** See [[FeatureAppearance.viewDependentTransparency]]. */
23
27
  viewDependentTransparency?: true;
24
28
  /** See [[FeatureAppearance.linePixels]]. */
@@ -32,18 +36,39 @@ export interface FeatureAppearanceProps {
32
36
  }
33
37
  /** Defines overrides for selected aspects of a [[Feature]]'s symbology.
34
38
  * Any member defined in the appearance overrides that aspect of symbology for all [[Feature]]s to which the appearance is applied.
39
+ *
40
+ * The [[rgb]] and [[transparency]] overrides, if defined, apply to all geometry by default.
41
+ * However, the color and transparency of "linear" geometry can optionally be controlled independently from the rest of the geometry via [[lineRgb]] and [[lineTransparency]].
42
+ * Linear geometry consists of any of the following:
43
+ * - Curves and line strings;
44
+ * - Points and point strings; and
45
+ * - The outlines of planar regions.
46
+ * The edges of 3d surfaces like spheres are not considered linear geometry.
47
+ *
35
48
  * @see [[FeatureOverrides]] to customize the appearance of multiple features.
36
49
  * @public
37
50
  */
38
51
  export declare class FeatureAppearance {
39
- /** Overrides the feature's color. */
52
+ /** Overrides the feature's color.
53
+ * If [[lineRgb]] is `undefined`, this color also applies to linear geometry.
54
+ */
40
55
  readonly rgb?: RgbColor;
56
+ /** If defined, overrides the color of linear geometry independently of [[rgb]].
57
+ * If `false`, linear geometry draws using its normal color; otherwise, it uses the specified color.
58
+ */
59
+ readonly lineRgb?: RgbColor | false;
41
60
  /** The width of lines and edges in pixels as an integer in [1, 31]. */
42
61
  readonly weight?: number;
43
62
  /** The transparency in the range [0, 1] where 0 indicates fully opaque and 1 indicates fully transparent.
63
+ * If [[lineTransparency]] is `undefined`, this transparency also applies to linear geometry.
44
64
  * @see [[viewDependentTransparency]] for details on how this override interacts with the [DisplayStyle]($backend).
45
65
  */
46
66
  readonly transparency?: number;
67
+ /** If defined, overrides the transparency of linear geometry independently of [[transparency]].
68
+ * If `false`, linear geometry draws using its normal transparency; otherwise, it uses the specified transparency.
69
+ * @see [[viewDependentTransparency]] for details on how this override interacts with the [DisplayStyle]($backend).
70
+ */
71
+ readonly lineTransparency?: number | false;
47
72
  /** The pixel pattern applied to lines and edges. */
48
73
  readonly linePixels?: LinePixels;
49
74
  /** If true, don't apply the [[RenderMaterial]] to the feature's surfaces. */
@@ -52,9 +77,9 @@ export declare class FeatureAppearance {
52
77
  readonly nonLocatable?: true;
53
78
  /** If true, the feature will be rendered using the [[Hilite.Settings]] defined by [Viewport.emphasisSettings]($frontend) to make it stand out. */
54
79
  readonly emphasized?: true;
55
- /** If true, then [[transparency]] will only be applied if [[ViewFlags.transparency]] is enabled and the current [[RenderMode]] supports transparency.
80
+ /** If true, then [[transparency]] and/or [[lineTransparency]] will only be applied if [[ViewFlags.transparency]] is enabled and the current [[RenderMode]] supports transparency.
56
81
  * Default: false, meaning the transparency will be applied regardless of view flags or render mode.
57
- * This property has no effect if [[transparency]] is `undefined`.
82
+ * This property has no effect if this appearance does not override transparency.
58
83
  */
59
84
  readonly viewDependentTransparency?: true;
60
85
  /** An appearance that overrides nothing. */
@@ -80,6 +105,14 @@ export declare class FeatureAppearance {
80
105
  get overridesTransparency(): boolean;
81
106
  get overridesLinePixels(): boolean;
82
107
  get overridesWeight(): boolean;
108
+ /** Get the color that will be applied to linear geometry, or undefined if not overridden.
109
+ * This is the same as [[rgb]] if [[lineRgb]] is `undefined`.
110
+ */
111
+ getLineRgb(): RgbColor | undefined;
112
+ /** Get the transparency that will be applied to linear geometry, or undefined if not overridden.
113
+ * This is the same as [[transparency]] if [[lineTransparency]] is `undefined`.
114
+ */
115
+ getLineTransparency(): number | undefined;
83
116
  get overridesSymbology(): boolean;
84
117
  get overridesNonLocatable(): boolean;
85
118
  get isFullyTransparent(): boolean;
@@ -108,8 +141,6 @@ export declare class FeatureAppearance {
108
141
  /** Produce a FeatureAppearance from the supplied appearance in which any aspect not defined by the base appearance is overridden by this appearance. */
109
142
  extendAppearance(base: FeatureAppearance): FeatureAppearance;
110
143
  protected constructor(props: FeatureAppearanceProps);
111
- private rgbIsEqual;
112
- private transparencyIsEqual;
113
144
  }
114
145
  /** Interface adopted by an object that can supply a [[FeatureAppearance]] given a low-level description of a [[Feature]].
115
146
  * @see [[FeatureOverrides]] for the commonly-used implementation.
@@ -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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"}
@@ -22,29 +22,107 @@ function copyIdSetToUint32Set(dst, src) {
22
22
  dst.addId(id);
23
23
  }
24
24
  }
25
+ function propsMatchDefaults(props) {
26
+ return !props.rgb && !props.lineRgb
27
+ && undefined === props.weight && undefined === props.linePixels
28
+ && undefined === props.transparency && undefined === props.lineTransparency
29
+ && !props.ignoresMaterial && !props.nonLocatable && !props.emphasized;
30
+ }
31
+ function equalRgb(a, b) {
32
+ if (a === b) {
33
+ return true;
34
+ }
35
+ else if (!a || !b) {
36
+ return false;
37
+ }
38
+ else {
39
+ return a.equals(b);
40
+ }
41
+ }
42
+ function equalLineRgb(a, b) {
43
+ if (a === b) {
44
+ return true;
45
+ }
46
+ else if (a instanceof RgbColor_1.RgbColor && b instanceof RgbColor_1.RgbColor) {
47
+ return equalRgb(a, b);
48
+ }
49
+ else {
50
+ (0, core_bentley_1.assert)(a === undefined || a === false);
51
+ (0, core_bentley_1.assert)(b === undefined || b === false);
52
+ return false;
53
+ }
54
+ }
55
+ function equalTransparency(a, b) {
56
+ if (a === b) {
57
+ return true;
58
+ }
59
+ else if (undefined === a || undefined === b) {
60
+ return false;
61
+ }
62
+ else {
63
+ return Math.floor(a * 0xff) === Math.floor(b * 0xff);
64
+ }
65
+ }
66
+ function equalLineTransparency(a, b) {
67
+ if (a === b) {
68
+ return true;
69
+ }
70
+ else if (typeof a === "number" && typeof b === "number") {
71
+ return equalTransparency(a, b);
72
+ }
73
+ else {
74
+ (0, core_bentley_1.assert)(a === undefined || a === false);
75
+ (0, core_bentley_1.assert)(b === undefined || b === false);
76
+ return false;
77
+ }
78
+ }
79
+ function transparencyFromJSON(transp) {
80
+ if (undefined === transp) {
81
+ return undefined;
82
+ }
83
+ transp = Math.max(0, Math.min(transp, 1));
84
+ // Fix up rounding errors...
85
+ const smallDelta = 0.0001;
86
+ if (1.0 - transp < smallDelta) {
87
+ transp = 1.0;
88
+ }
89
+ else if (transp < smallDelta) {
90
+ transp = 0.0;
91
+ }
92
+ return transp;
93
+ }
25
94
  /** Defines overrides for selected aspects of a [[Feature]]'s symbology.
26
95
  * Any member defined in the appearance overrides that aspect of symbology for all [[Feature]]s to which the appearance is applied.
96
+ *
97
+ * The [[rgb]] and [[transparency]] overrides, if defined, apply to all geometry by default.
98
+ * However, the color and transparency of "linear" geometry can optionally be controlled independently from the rest of the geometry via [[lineRgb]] and [[lineTransparency]].
99
+ * Linear geometry consists of any of the following:
100
+ * - Curves and line strings;
101
+ * - Points and point strings; and
102
+ * - The outlines of planar regions.
103
+ * The edges of 3d surfaces like spheres are not considered linear geometry.
104
+ *
27
105
  * @see [[FeatureOverrides]] to customize the appearance of multiple features.
28
106
  * @public
29
107
  */
30
108
  class FeatureAppearance {
31
109
  static fromJSON(props) {
32
- if (undefined === props || (undefined === props.rgb && undefined === props.weight && undefined === props.transparency && undefined === props.linePixels && !props.ignoresMaterial && !props.nonLocatable && !props.emphasized))
110
+ if (!props || propsMatchDefaults(props)) {
33
111
  return this.defaults;
34
- else
35
- return new FeatureAppearance(props);
112
+ }
113
+ return new FeatureAppearance(props);
36
114
  }
37
115
  /** Create a FeatureAppearance that overrides only the RGB color.
38
116
  * @note The transparency component of the ColorDef is ignored.
39
117
  */
40
118
  static fromRgb(color) {
41
- return this.fromJSON({ rgb: RgbColor_1.RgbColor.fromColorDef(color) });
119
+ return new FeatureAppearance({ rgb: RgbColor_1.RgbColor.fromColorDef(color) });
42
120
  }
43
121
  /** Create a FeatureAppearance that overrides the RGB and transparency.
44
122
  * The appearance's transparency is derived from the transparency component of the ColorDef.
45
123
  */
46
124
  static fromRgba(color, viewDependentTransparency = false) {
47
- return this.fromJSON({
125
+ return new FeatureAppearance({
48
126
  rgb: RgbColor_1.RgbColor.fromColorDef(color),
49
127
  transparency: color.colors.t / 255,
50
128
  viewDependentTransparency: viewDependentTransparency ? true : undefined,
@@ -52,7 +130,7 @@ class FeatureAppearance {
52
130
  }
53
131
  /** Create a FeatureAppearance that overrides only the transparency */
54
132
  static fromTransparency(transparencyValue, viewDependent = false) {
55
- return this.fromJSON({
133
+ return new FeatureAppearance({
56
134
  transparency: transparencyValue,
57
135
  viewDependentTransparency: viewDependent ? true : undefined,
58
136
  });
@@ -75,25 +153,44 @@ class FeatureAppearance {
75
153
  get overridesTransparency() { return undefined !== this.transparency; }
76
154
  get overridesLinePixels() { return undefined !== this.linePixels; }
77
155
  get overridesWeight() { return undefined !== this.weight; }
156
+ /** Get the color that will be applied to linear geometry, or undefined if not overridden.
157
+ * This is the same as [[rgb]] if [[lineRgb]] is `undefined`.
158
+ */
159
+ getLineRgb() {
160
+ return false !== this.lineRgb ? (this.lineRgb ?? this.rgb) : undefined;
161
+ }
162
+ /** Get the transparency that will be applied to linear geometry, or undefined if not overridden.
163
+ * This is the same as [[transparency]] if [[lineTransparency]] is `undefined`.
164
+ */
165
+ getLineTransparency() {
166
+ return false !== this.lineTransparency ? (this.lineTransparency ?? this.transparency) : undefined;
167
+ }
78
168
  get overridesSymbology() {
79
169
  return this.overridesRgb || this.overridesTransparency || this.overridesWeight || this.overridesLinePixels || !!this.ignoresMaterial
80
- || this.emphasized || this.overridesNonLocatable;
170
+ || this.emphasized || this.overridesNonLocatable
171
+ || undefined !== this.getLineRgb() || undefined !== this.getLineTransparency();
81
172
  }
82
173
  get overridesNonLocatable() { return undefined !== this.nonLocatable; }
83
- get isFullyTransparent() { return undefined !== this.transparency && this.transparency >= 1.0; }
174
+ get isFullyTransparent() {
175
+ const surf = this.transparency ?? 0;
176
+ const line = this.getLineTransparency() ?? 0;
177
+ return surf >= 1 && line >= 1;
178
+ }
84
179
  /** Returns true if any aspect of the appearance is overridden (i.e., if any member is not undefined). */
85
180
  get anyOverridden() { return this.overridesSymbology || this.overridesNonLocatable; }
86
181
  equals(other) {
87
182
  if (this === other)
88
183
  return true;
89
- return this.rgbIsEqual(other.rgb)
184
+ return equalRgb(this.rgb, other.rgb)
90
185
  && this.weight === other.weight
91
- && this.transparencyIsEqual(other.transparency)
186
+ && equalTransparency(this.transparency, other.transparency)
92
187
  && this.linePixels === other.linePixels
93
188
  && this.ignoresMaterial === other.ignoresMaterial
94
189
  && this.nonLocatable === other.nonLocatable
95
190
  && this.emphasized === other.emphasized
96
- && this.viewDependentTransparency === other.viewDependentTransparency;
191
+ && this.viewDependentTransparency === other.viewDependentTransparency
192
+ && equalLineTransparency(this.lineTransparency, other.lineTransparency)
193
+ && equalLineRgb(this.lineRgb, other.lineRgb);
97
194
  }
98
195
  toJSON() {
99
196
  const props = {};
@@ -114,6 +211,13 @@ class FeatureAppearance {
114
211
  props.nonLocatable = true;
115
212
  if (true === this.emphasized)
116
213
  props.emphasized = true;
214
+ if (undefined !== this.lineTransparency)
215
+ props.lineTransparency = this.lineTransparency;
216
+ if (this.lineRgb) {
217
+ props.lineRgb = this.lineRgb;
218
+ if (this.viewDependentTransparency)
219
+ props.viewDependentTransparency = true;
220
+ }
117
221
  return props;
118
222
  }
119
223
  /** Convert this appearance to JSON, and override any properties explicitly specified by `changedProps` in the result.
@@ -160,47 +264,30 @@ class FeatureAppearance {
160
264
  props.nonLocatable = true;
161
265
  if (undefined === props.emphasized && this.emphasized)
162
266
  props.emphasized = true;
163
- if (undefined !== props.transparency && this.viewDependentTransparency)
267
+ if (!props.lineRgb)
268
+ props.lineRgb = this.lineRgb;
269
+ if (undefined === props.lineTransparency)
270
+ props.lineTransparency = this.lineTransparency;
271
+ if (this.viewDependentTransparency && (undefined !== props.transparency || undefined !== props.lineTransparency))
164
272
  props.viewDependentTransparency = true;
165
273
  return FeatureAppearance.fromJSON(props);
166
274
  }
167
275
  constructor(props) {
168
276
  this.rgb = undefined !== props.rgb ? RgbColor_1.RgbColor.fromJSON(props.rgb) : undefined;
277
+ this.lineRgb = typeof props.lineRgb === "object" ? RgbColor_1.RgbColor.fromJSON(props.lineRgb) : (false === props.lineRgb ? false : undefined);
278
+ this.transparency = transparencyFromJSON(props.transparency);
279
+ this.lineTransparency = typeof props.lineTransparency === "number" ? transparencyFromJSON(props.lineTransparency) : (false === props.lineTransparency ? false : undefined);
169
280
  this.weight = props.weight;
170
- this.transparency = props.transparency;
171
281
  this.linePixels = props.linePixels;
172
282
  this.ignoresMaterial = props.ignoresMaterial;
173
283
  this.nonLocatable = props.nonLocatable;
174
284
  this.emphasized = props.emphasized;
175
- if (undefined !== this.weight)
285
+ if (undefined !== this.weight) {
176
286
  this.weight = Math.max(1, Math.min(this.weight, 32));
177
- if (undefined !== this.transparency) {
178
- if (props.viewDependentTransparency)
179
- this.viewDependentTransparency = true;
180
- this.transparency = Math.max(0, Math.min(this.transparency, 1));
181
- // Fix up rounding errors...
182
- const smallDelta = 0.0001;
183
- if (1.0 - this.transparency < smallDelta)
184
- this.transparency = 1.0;
185
- else if (this.transparency < smallDelta)
186
- this.transparency = 0.0;
187
287
  }
188
- }
189
- rgbIsEqual(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);
288
+ if (props.viewDependentTransparency && (undefined !== this.transparency || undefined !== this.getLineTransparency())) {
289
+ this.viewDependentTransparency = true;
290
+ }
204
291
  }
205
292
  }
206
293
  exports.FeatureAppearance = FeatureAppearance;