@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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"}
@@ -19,29 +19,107 @@ function copyIdSetToUint32Set(dst, src) {
19
19
  dst.addId(id);
20
20
  }
21
21
  }
22
+ function propsMatchDefaults(props) {
23
+ return !props.rgb && !props.lineRgb
24
+ && undefined === props.weight && undefined === props.linePixels
25
+ && undefined === props.transparency && undefined === props.lineTransparency
26
+ && !props.ignoresMaterial && !props.nonLocatable && !props.emphasized;
27
+ }
28
+ function equalRgb(a, b) {
29
+ if (a === b) {
30
+ return true;
31
+ }
32
+ else if (!a || !b) {
33
+ return false;
34
+ }
35
+ else {
36
+ return a.equals(b);
37
+ }
38
+ }
39
+ function equalLineRgb(a, b) {
40
+ if (a === b) {
41
+ return true;
42
+ }
43
+ else if (a instanceof RgbColor && b instanceof RgbColor) {
44
+ return equalRgb(a, b);
45
+ }
46
+ else {
47
+ assert(a === undefined || a === false);
48
+ assert(b === undefined || b === false);
49
+ return false;
50
+ }
51
+ }
52
+ function equalTransparency(a, b) {
53
+ if (a === b) {
54
+ return true;
55
+ }
56
+ else if (undefined === a || undefined === b) {
57
+ return false;
58
+ }
59
+ else {
60
+ return Math.floor(a * 0xff) === Math.floor(b * 0xff);
61
+ }
62
+ }
63
+ function equalLineTransparency(a, b) {
64
+ if (a === b) {
65
+ return true;
66
+ }
67
+ else if (typeof a === "number" && typeof b === "number") {
68
+ return equalTransparency(a, b);
69
+ }
70
+ else {
71
+ assert(a === undefined || a === false);
72
+ assert(b === undefined || b === false);
73
+ return false;
74
+ }
75
+ }
76
+ function transparencyFromJSON(transp) {
77
+ if (undefined === transp) {
78
+ return undefined;
79
+ }
80
+ transp = Math.max(0, Math.min(transp, 1));
81
+ // Fix up rounding errors...
82
+ const smallDelta = 0.0001;
83
+ if (1.0 - transp < smallDelta) {
84
+ transp = 1.0;
85
+ }
86
+ else if (transp < smallDelta) {
87
+ transp = 0.0;
88
+ }
89
+ return transp;
90
+ }
22
91
  /** Defines overrides for selected aspects of a [[Feature]]'s symbology.
23
92
  * Any member defined in the appearance overrides that aspect of symbology for all [[Feature]]s to which the appearance is applied.
93
+ *
94
+ * The [[rgb]] and [[transparency]] overrides, if defined, apply to all geometry by default.
95
+ * However, the color and transparency of "linear" geometry can optionally be controlled independently from the rest of the geometry via [[lineRgb]] and [[lineTransparency]].
96
+ * Linear geometry consists of any of the following:
97
+ * - Curves and line strings;
98
+ * - Points and point strings; and
99
+ * - The outlines of planar regions.
100
+ * The edges of 3d surfaces like spheres are not considered linear geometry.
101
+ *
24
102
  * @see [[FeatureOverrides]] to customize the appearance of multiple features.
25
103
  * @public
26
104
  */
27
105
  export class FeatureAppearance {
28
106
  static fromJSON(props) {
29
- if (undefined === props || (undefined === props.rgb && undefined === props.weight && undefined === props.transparency && undefined === props.linePixels && !props.ignoresMaterial && !props.nonLocatable && !props.emphasized))
107
+ if (!props || propsMatchDefaults(props)) {
30
108
  return this.defaults;
31
- else
32
- return new FeatureAppearance(props);
109
+ }
110
+ return new FeatureAppearance(props);
33
111
  }
34
112
  /** Create a FeatureAppearance that overrides only the RGB color.
35
113
  * @note The transparency component of the ColorDef is ignored.
36
114
  */
37
115
  static fromRgb(color) {
38
- return this.fromJSON({ rgb: RgbColor.fromColorDef(color) });
116
+ return new FeatureAppearance({ rgb: RgbColor.fromColorDef(color) });
39
117
  }
40
118
  /** Create a FeatureAppearance that overrides the RGB and transparency.
41
119
  * The appearance's transparency is derived from the transparency component of the ColorDef.
42
120
  */
43
121
  static fromRgba(color, viewDependentTransparency = false) {
44
- return this.fromJSON({
122
+ return new FeatureAppearance({
45
123
  rgb: RgbColor.fromColorDef(color),
46
124
  transparency: color.colors.t / 255,
47
125
  viewDependentTransparency: viewDependentTransparency ? true : undefined,
@@ -49,7 +127,7 @@ export class FeatureAppearance {
49
127
  }
50
128
  /** Create a FeatureAppearance that overrides only the transparency */
51
129
  static fromTransparency(transparencyValue, viewDependent = false) {
52
- return this.fromJSON({
130
+ return new FeatureAppearance({
53
131
  transparency: transparencyValue,
54
132
  viewDependentTransparency: viewDependent ? true : undefined,
55
133
  });
@@ -72,25 +150,44 @@ export class FeatureAppearance {
72
150
  get overridesTransparency() { return undefined !== this.transparency; }
73
151
  get overridesLinePixels() { return undefined !== this.linePixels; }
74
152
  get overridesWeight() { return undefined !== this.weight; }
153
+ /** Get the color that will be applied to linear geometry, or undefined if not overridden.
154
+ * This is the same as [[rgb]] if [[lineRgb]] is `undefined`.
155
+ */
156
+ getLineRgb() {
157
+ return false !== this.lineRgb ? (this.lineRgb ?? this.rgb) : undefined;
158
+ }
159
+ /** Get the transparency that will be applied to linear geometry, or undefined if not overridden.
160
+ * This is the same as [[transparency]] if [[lineTransparency]] is `undefined`.
161
+ */
162
+ getLineTransparency() {
163
+ return false !== this.lineTransparency ? (this.lineTransparency ?? this.transparency) : undefined;
164
+ }
75
165
  get overridesSymbology() {
76
166
  return this.overridesRgb || this.overridesTransparency || this.overridesWeight || this.overridesLinePixels || !!this.ignoresMaterial
77
- || this.emphasized || this.overridesNonLocatable;
167
+ || this.emphasized || this.overridesNonLocatable
168
+ || undefined !== this.getLineRgb() || undefined !== this.getLineTransparency();
78
169
  }
79
170
  get overridesNonLocatable() { return undefined !== this.nonLocatable; }
80
- get isFullyTransparent() { return undefined !== this.transparency && this.transparency >= 1.0; }
171
+ get isFullyTransparent() {
172
+ const surf = this.transparency ?? 0;
173
+ const line = this.getLineTransparency() ?? 0;
174
+ return surf >= 1 && line >= 1;
175
+ }
81
176
  /** Returns true if any aspect of the appearance is overridden (i.e., if any member is not undefined). */
82
177
  get anyOverridden() { return this.overridesSymbology || this.overridesNonLocatable; }
83
178
  equals(other) {
84
179
  if (this === other)
85
180
  return true;
86
- return this.rgbIsEqual(other.rgb)
181
+ return equalRgb(this.rgb, other.rgb)
87
182
  && this.weight === other.weight
88
- && this.transparencyIsEqual(other.transparency)
183
+ && equalTransparency(this.transparency, other.transparency)
89
184
  && this.linePixels === other.linePixels
90
185
  && this.ignoresMaterial === other.ignoresMaterial
91
186
  && this.nonLocatable === other.nonLocatable
92
187
  && this.emphasized === other.emphasized
93
- && this.viewDependentTransparency === other.viewDependentTransparency;
188
+ && this.viewDependentTransparency === other.viewDependentTransparency
189
+ && equalLineTransparency(this.lineTransparency, other.lineTransparency)
190
+ && equalLineRgb(this.lineRgb, other.lineRgb);
94
191
  }
95
192
  toJSON() {
96
193
  const props = {};
@@ -111,6 +208,13 @@ export class FeatureAppearance {
111
208
  props.nonLocatable = true;
112
209
  if (true === this.emphasized)
113
210
  props.emphasized = true;
211
+ if (undefined !== this.lineTransparency)
212
+ props.lineTransparency = this.lineTransparency;
213
+ if (this.lineRgb) {
214
+ props.lineRgb = this.lineRgb;
215
+ if (this.viewDependentTransparency)
216
+ props.viewDependentTransparency = true;
217
+ }
114
218
  return props;
115
219
  }
116
220
  /** Convert this appearance to JSON, and override any properties explicitly specified by `changedProps` in the result.
@@ -157,47 +261,30 @@ export class FeatureAppearance {
157
261
  props.nonLocatable = true;
158
262
  if (undefined === props.emphasized && this.emphasized)
159
263
  props.emphasized = true;
160
- if (undefined !== props.transparency && this.viewDependentTransparency)
264
+ if (!props.lineRgb)
265
+ props.lineRgb = this.lineRgb;
266
+ if (undefined === props.lineTransparency)
267
+ props.lineTransparency = this.lineTransparency;
268
+ if (this.viewDependentTransparency && (undefined !== props.transparency || undefined !== props.lineTransparency))
161
269
  props.viewDependentTransparency = true;
162
270
  return FeatureAppearance.fromJSON(props);
163
271
  }
164
272
  constructor(props) {
165
273
  this.rgb = undefined !== props.rgb ? RgbColor.fromJSON(props.rgb) : undefined;
274
+ this.lineRgb = typeof props.lineRgb === "object" ? RgbColor.fromJSON(props.lineRgb) : (false === props.lineRgb ? false : undefined);
275
+ this.transparency = transparencyFromJSON(props.transparency);
276
+ this.lineTransparency = typeof props.lineTransparency === "number" ? transparencyFromJSON(props.lineTransparency) : (false === props.lineTransparency ? false : undefined);
166
277
  this.weight = props.weight;
167
- this.transparency = props.transparency;
168
278
  this.linePixels = props.linePixels;
169
279
  this.ignoresMaterial = props.ignoresMaterial;
170
280
  this.nonLocatable = props.nonLocatable;
171
281
  this.emphasized = props.emphasized;
172
- if (undefined !== this.weight)
282
+ if (undefined !== this.weight) {
173
283
  this.weight = Math.max(1, Math.min(this.weight, 32));
174
- if (undefined !== this.transparency) {
175
- if (props.viewDependentTransparency)
176
- this.viewDependentTransparency = true;
177
- this.transparency = Math.max(0, Math.min(this.transparency, 1));
178
- // Fix up rounding errors...
179
- const smallDelta = 0.0001;
180
- if (1.0 - this.transparency < smallDelta)
181
- this.transparency = 1.0;
182
- else if (this.transparency < smallDelta)
183
- this.transparency = 0.0;
184
284
  }
185
- }
186
- rgbIsEqual(rgb) {
187
- if (undefined === this.rgb)
188
- return undefined === rgb;
189
- else if (undefined === rgb)
190
- return false;
191
- else
192
- return this.rgb.equals(rgb);
193
- }
194
- transparencyIsEqual(transp) {
195
- if (undefined === this.transparency)
196
- return undefined === transp;
197
- else if (undefined === transp)
198
- return false;
199
- else
200
- return Math.floor(this.transparency * 0xff) === Math.floor(transp * 0xff);
285
+ if (props.viewDependentTransparency && (undefined !== this.transparency || undefined !== this.getLineTransparency())) {
286
+ this.viewDependentTransparency = true;
287
+ }
201
288
  }
202
289
  }
203
290
  /** An appearance that overrides nothing. */