@itwin/core-common 4.0.0-dev.10 → 4.0.0-dev.101

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 (1098) hide show
  1. package/CHANGELOG.md +64 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +49 -49
  3. package/lib/cjs/AmbientOcclusion.js +55 -55
  4. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  5. package/lib/cjs/AnalysisStyle.d.ts +134 -134
  6. package/lib/cjs/AnalysisStyle.js +165 -165
  7. package/lib/cjs/AnalysisStyle.js.map +1 -1
  8. package/lib/cjs/Atmosphere.d.ts +99 -0
  9. package/lib/cjs/Atmosphere.d.ts.map +1 -0
  10. package/lib/cjs/Atmosphere.js +134 -0
  11. package/lib/cjs/Atmosphere.js.map +1 -0
  12. package/lib/cjs/AuthorizationClient.d.ts +17 -17
  13. package/lib/cjs/AuthorizationClient.js +9 -9
  14. package/lib/cjs/AuthorizationClient.js.map +1 -1
  15. package/lib/cjs/BackendTypes.d.ts +13 -12
  16. package/lib/cjs/BackendTypes.d.ts.map +1 -1
  17. package/lib/cjs/BackendTypes.js +9 -9
  18. package/lib/cjs/BackendTypes.js.map +1 -1
  19. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  20. package/lib/cjs/BackgroundMapProvider.d.ts.map +1 -1
  21. package/lib/cjs/BackgroundMapProvider.js +67 -68
  22. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  23. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  24. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  25. package/lib/cjs/BackgroundMapSettings.js +154 -156
  26. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  27. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  28. package/lib/cjs/Base64EncodedString.d.ts.map +1 -1
  29. package/lib/cjs/Base64EncodedString.js +66 -66
  30. package/lib/cjs/Base64EncodedString.js.map +1 -1
  31. package/lib/cjs/BlobReader.d.ts +31 -31
  32. package/lib/cjs/BlobReader.js +84 -84
  33. package/lib/cjs/BlobReader.js.map +1 -1
  34. package/lib/cjs/BriefcaseTypes.d.ts +191 -189
  35. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  36. package/lib/cjs/BriefcaseTypes.js +95 -95
  37. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  38. package/lib/cjs/Camera.d.ts +42 -42
  39. package/lib/cjs/Camera.js +62 -62
  40. package/lib/cjs/Camera.js.map +1 -1
  41. package/lib/cjs/ChangedElements.d.ts +85 -85
  42. package/lib/cjs/ChangedElements.js +23 -23
  43. package/lib/cjs/ChangedElements.js.map +1 -1
  44. package/lib/cjs/ChangedEntities.d.ts +45 -45
  45. package/lib/cjs/ChangedEntities.d.ts.map +1 -1
  46. package/lib/cjs/ChangedEntities.js +9 -9
  47. package/lib/cjs/ChangedEntities.js.map +1 -1
  48. package/lib/cjs/ChangesetProps.d.ts +98 -98
  49. package/lib/cjs/ChangesetProps.d.ts.map +1 -1
  50. package/lib/cjs/ChangesetProps.js +22 -22
  51. package/lib/cjs/ChangesetProps.js.map +1 -1
  52. package/lib/cjs/ClipStyle.d.ts +89 -89
  53. package/lib/cjs/ClipStyle.js +121 -123
  54. package/lib/cjs/ClipStyle.js.map +1 -1
  55. package/lib/cjs/Code.d.ts +278 -277
  56. package/lib/cjs/Code.d.ts.map +1 -1
  57. package/lib/cjs/Code.js +271 -269
  58. package/lib/cjs/Code.js.map +1 -1
  59. package/lib/cjs/ColorByName.d.ts +161 -161
  60. package/lib/cjs/ColorByName.js +169 -169
  61. package/lib/cjs/ColorByName.js.map +1 -1
  62. package/lib/cjs/ColorDef.d.ts +210 -208
  63. package/lib/cjs/ColorDef.d.ts.map +1 -1
  64. package/lib/cjs/ColorDef.js +572 -571
  65. package/lib/cjs/ColorDef.js.map +1 -1
  66. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  67. package/lib/cjs/CommonLoggerCategory.js +26 -26
  68. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  69. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  70. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  71. package/lib/cjs/ConcurrentQuery.js +552 -552
  72. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  73. package/lib/cjs/ContextRealityModel.d.ts +303 -303
  74. package/lib/cjs/ContextRealityModel.js +371 -373
  75. package/lib/cjs/ContextRealityModel.js.map +1 -1
  76. package/lib/cjs/DisplayStyleSettings.d.ts +593 -588
  77. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  78. package/lib/cjs/DisplayStyleSettings.js +990 -985
  79. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  80. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  81. package/lib/cjs/ECSchemaProps.js +9 -9
  82. package/lib/cjs/ECSchemaProps.js.map +1 -1
  83. package/lib/cjs/ECSqlReader.d.ts +72 -70
  84. package/lib/cjs/ECSqlReader.d.ts.map +1 -1
  85. package/lib/cjs/ECSqlReader.js +297 -280
  86. package/lib/cjs/ECSqlReader.js.map +1 -1
  87. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  88. package/lib/cjs/ECSqlTypes.js +189 -189
  89. package/lib/cjs/ECSqlTypes.js.map +1 -1
  90. package/lib/cjs/ElementMesh.d.ts +39 -39
  91. package/lib/cjs/ElementMesh.js +56 -56
  92. package/lib/cjs/ElementMesh.js.map +1 -1
  93. package/lib/cjs/ElementProps.d.ts +483 -483
  94. package/lib/cjs/ElementProps.d.ts.map +1 -1
  95. package/lib/cjs/ElementProps.js +99 -99
  96. package/lib/cjs/ElementProps.js.map +1 -1
  97. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  98. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  99. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  100. package/lib/cjs/EntityProps.d.ts +177 -177
  101. package/lib/cjs/EntityProps.d.ts.map +1 -1
  102. package/lib/cjs/EntityProps.js +113 -113
  103. package/lib/cjs/EntityProps.js.map +1 -1
  104. package/lib/cjs/EntityReference.d.ts +51 -51
  105. package/lib/cjs/EntityReference.d.ts.map +1 -1
  106. package/lib/cjs/EntityReference.js +56 -56
  107. package/lib/cjs/EntityReference.js.map +1 -1
  108. package/lib/cjs/Environment.d.ts +74 -61
  109. package/lib/cjs/Environment.d.ts.map +1 -1
  110. package/lib/cjs/Environment.js +78 -73
  111. package/lib/cjs/Environment.js.map +1 -1
  112. package/lib/cjs/FeatureIndex.d.ts +39 -39
  113. package/lib/cjs/FeatureIndex.js +63 -63
  114. package/lib/cjs/FeatureIndex.js.map +1 -1
  115. package/lib/cjs/FeatureSymbology.d.ts +449 -444
  116. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  117. package/lib/cjs/FeatureSymbology.js +618 -614
  118. package/lib/cjs/FeatureSymbology.js.map +1 -1
  119. package/lib/cjs/FeatureTable.d.ts +255 -141
  120. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  121. package/lib/cjs/FeatureTable.js +484 -278
  122. package/lib/cjs/FeatureTable.js.map +1 -1
  123. package/lib/cjs/Fonts.d.ts +51 -51
  124. package/lib/cjs/Fonts.d.ts.map +1 -1
  125. package/lib/cjs/Fonts.js +53 -53
  126. package/lib/cjs/Fonts.js.map +1 -1
  127. package/lib/cjs/Frustum.d.ts +114 -114
  128. package/lib/cjs/Frustum.js +292 -292
  129. package/lib/cjs/Frustum.js.map +1 -1
  130. package/lib/cjs/GeoCoordinateServices.d.ts +123 -119
  131. package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
  132. package/lib/cjs/GeoCoordinateServices.js +81 -80
  133. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  134. package/lib/cjs/GeometryContainment.d.ts +28 -28
  135. package/lib/cjs/GeometryContainment.js +9 -9
  136. package/lib/cjs/GeometryContainment.js.map +1 -1
  137. package/lib/cjs/GeometryParams.d.ts +130 -130
  138. package/lib/cjs/GeometryParams.js +174 -174
  139. package/lib/cjs/GeometryParams.js.map +1 -1
  140. package/lib/cjs/GeometrySummary.d.ts +45 -45
  141. package/lib/cjs/GeometrySummary.js +23 -23
  142. package/lib/cjs/GeometrySummary.js.map +1 -1
  143. package/lib/cjs/Gradient.d.ts +139 -139
  144. package/lib/cjs/Gradient.js +453 -455
  145. package/lib/cjs/Gradient.js.map +1 -1
  146. package/lib/cjs/GraphicParams.d.ts +58 -58
  147. package/lib/cjs/GraphicParams.js +85 -85
  148. package/lib/cjs/GraphicParams.js.map +1 -1
  149. package/lib/cjs/GroundPlane.d.ts +52 -52
  150. package/lib/cjs/GroundPlane.d.ts.map +1 -1
  151. package/lib/cjs/GroundPlane.js +63 -64
  152. package/lib/cjs/GroundPlane.js.map +1 -1
  153. package/lib/cjs/HSLColor.d.ts +20 -20
  154. package/lib/cjs/HSLColor.js +32 -32
  155. package/lib/cjs/HSLColor.js.map +1 -1
  156. package/lib/cjs/HSVColor.d.ts +30 -30
  157. package/lib/cjs/HSVColor.js +59 -59
  158. package/lib/cjs/HSVColor.js.map +1 -1
  159. package/lib/cjs/HiddenLine.d.ts +97 -97
  160. package/lib/cjs/HiddenLine.js +160 -162
  161. package/lib/cjs/HiddenLine.js.map +1 -1
  162. package/lib/cjs/Hilite.d.ts +50 -50
  163. package/lib/cjs/Hilite.js +64 -64
  164. package/lib/cjs/Hilite.js.map +1 -1
  165. package/lib/cjs/IModel.d.ts +358 -359
  166. package/lib/cjs/IModel.d.ts.map +1 -1
  167. package/lib/cjs/IModel.js +347 -347
  168. package/lib/cjs/IModel.js.map +1 -1
  169. package/lib/cjs/IModelError.d.ts +42 -42
  170. package/lib/cjs/IModelError.d.ts.map +1 -1
  171. package/lib/cjs/IModelError.js +71 -71
  172. package/lib/cjs/IModelError.js.map +1 -1
  173. package/lib/cjs/IModelVersion.d.ts +68 -68
  174. package/lib/cjs/IModelVersion.d.ts.map +1 -1
  175. package/lib/cjs/IModelVersion.js +79 -79
  176. package/lib/cjs/IModelVersion.js.map +1 -1
  177. package/lib/cjs/Image.d.ts +86 -86
  178. package/lib/cjs/Image.js +128 -128
  179. package/lib/cjs/Image.js.map +1 -1
  180. package/lib/cjs/IpcAppProps.d.ts +141 -141
  181. package/lib/cjs/IpcAppProps.js +23 -23
  182. package/lib/cjs/IpcAppProps.js.map +1 -1
  183. package/lib/cjs/LightSettings.d.ts +224 -224
  184. package/lib/cjs/LightSettings.js +304 -309
  185. package/lib/cjs/LightSettings.js.map +1 -1
  186. package/lib/cjs/LinePixels.d.ts +34 -34
  187. package/lib/cjs/LinePixels.js +42 -42
  188. package/lib/cjs/LinePixels.js.map +1 -1
  189. package/lib/cjs/Localization.d.ts +117 -113
  190. package/lib/cjs/Localization.d.ts.map +1 -1
  191. package/lib/cjs/Localization.js +33 -33
  192. package/lib/cjs/Localization.js.map +1 -1
  193. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  194. package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
  195. package/lib/cjs/MapImagerySettings.js +80 -80
  196. package/lib/cjs/MapImagerySettings.js.map +1 -1
  197. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  198. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  199. package/lib/cjs/MapLayerSettings.js +407 -411
  200. package/lib/cjs/MapLayerSettings.js.map +1 -1
  201. package/lib/cjs/MassProperties.d.ts +64 -64
  202. package/lib/cjs/MassProperties.js +23 -23
  203. package/lib/cjs/MassProperties.js.map +1 -1
  204. package/lib/cjs/MaterialProps.d.ts +165 -153
  205. package/lib/cjs/MaterialProps.d.ts.map +1 -1
  206. package/lib/cjs/MaterialProps.js +37 -35
  207. package/lib/cjs/MaterialProps.js.map +1 -1
  208. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  209. package/lib/cjs/ModelClipGroup.js +96 -98
  210. package/lib/cjs/ModelClipGroup.js.map +1 -1
  211. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  212. package/lib/cjs/ModelGeometryChanges.d.ts.map +1 -1
  213. package/lib/cjs/ModelGeometryChanges.js +83 -83
  214. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  215. package/lib/cjs/ModelProps.d.ts +67 -67
  216. package/lib/cjs/ModelProps.js +9 -9
  217. package/lib/cjs/ModelProps.js.map +1 -1
  218. package/lib/cjs/NativeAppProps.d.ts +122 -122
  219. package/lib/cjs/NativeAppProps.d.ts.map +1 -1
  220. package/lib/cjs/NativeAppProps.js +30 -30
  221. package/lib/cjs/NativeAppProps.js.map +1 -1
  222. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  223. package/lib/cjs/OctEncodedNormal.js +98 -98
  224. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  225. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  226. package/lib/cjs/PlanProjectionSettings.js +63 -63
  227. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  228. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  229. package/lib/cjs/PlanarClipMask.js +136 -136
  230. package/lib/cjs/PlanarClipMask.js.map +1 -1
  231. package/lib/cjs/QPoint.d.ts +479 -479
  232. package/lib/cjs/QPoint.js +824 -826
  233. package/lib/cjs/QPoint.js.map +1 -1
  234. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  235. package/lib/cjs/RealityDataAccessProps.js +19 -19
  236. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  237. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
  238. package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -1
  239. package/lib/cjs/RealityModelDisplaySettings.js +141 -142
  240. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  241. package/lib/cjs/Render.d.ts +89 -89
  242. package/lib/cjs/Render.js +177 -177
  243. package/lib/cjs/Render.js.map +1 -1
  244. package/lib/cjs/RenderMaterial.d.ts +58 -58
  245. package/lib/cjs/RenderMaterial.js +75 -76
  246. package/lib/cjs/RenderMaterial.js.map +1 -1
  247. package/lib/cjs/RenderSchedule.d.ts +557 -543
  248. package/lib/cjs/RenderSchedule.d.ts.map +1 -1
  249. package/lib/cjs/RenderSchedule.js +1028 -1002
  250. package/lib/cjs/RenderSchedule.js.map +1 -1
  251. package/lib/cjs/RenderTexture.d.ts +70 -70
  252. package/lib/cjs/RenderTexture.d.ts.map +1 -1
  253. package/lib/cjs/RenderTexture.js +59 -59
  254. package/lib/cjs/RenderTexture.js.map +1 -1
  255. package/lib/cjs/RgbColor.d.ts +47 -47
  256. package/lib/cjs/RgbColor.js +77 -77
  257. package/lib/cjs/RgbColor.js.map +1 -1
  258. package/lib/cjs/RpcInterface.d.ts +42 -33
  259. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  260. package/lib/cjs/RpcInterface.js +158 -137
  261. package/lib/cjs/RpcInterface.js.map +1 -1
  262. package/lib/cjs/RpcManager.d.ts +40 -40
  263. package/lib/cjs/RpcManager.js +55 -55
  264. package/lib/cjs/RpcManager.js.map +1 -1
  265. package/lib/cjs/SessionProps.d.ts +16 -16
  266. package/lib/cjs/SessionProps.js +9 -9
  267. package/lib/cjs/SessionProps.js.map +1 -1
  268. package/lib/cjs/SkyBox.d.ts +217 -215
  269. package/lib/cjs/SkyBox.d.ts.map +1 -1
  270. package/lib/cjs/SkyBox.js +209 -210
  271. package/lib/cjs/SkyBox.js.map +1 -1
  272. package/lib/cjs/Snapping.d.ts +49 -49
  273. package/lib/cjs/Snapping.js +9 -9
  274. package/lib/cjs/Snapping.js.map +1 -1
  275. package/lib/cjs/SolarCalculate.d.ts +27 -27
  276. package/lib/cjs/SolarCalculate.js +211 -211
  277. package/lib/cjs/SolarCalculate.js.map +1 -1
  278. package/lib/cjs/SolarShadows.d.ts +35 -35
  279. package/lib/cjs/SolarShadows.js +61 -62
  280. package/lib/cjs/SolarShadows.js.map +1 -1
  281. package/lib/cjs/SpatialClassification.d.ts +208 -208
  282. package/lib/cjs/SpatialClassification.js +339 -340
  283. package/lib/cjs/SpatialClassification.js.map +1 -1
  284. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  285. package/lib/cjs/SubCategoryAppearance.js +96 -96
  286. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  287. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  288. package/lib/cjs/SubCategoryOverride.js +104 -104
  289. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  290. package/lib/cjs/TerrainSettings.d.ts +82 -82
  291. package/lib/cjs/TerrainSettings.d.ts.map +1 -1
  292. package/lib/cjs/TerrainSettings.js +100 -102
  293. package/lib/cjs/TerrainSettings.js.map +1 -1
  294. package/lib/cjs/TextureMapping.d.ts +151 -118
  295. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  296. package/lib/cjs/TextureMapping.js +180 -174
  297. package/lib/cjs/TextureMapping.js.map +1 -1
  298. package/lib/cjs/TextureProps.d.ts +65 -65
  299. package/lib/cjs/TextureProps.js +28 -28
  300. package/lib/cjs/TextureProps.js.map +1 -1
  301. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  302. package/lib/cjs/ThematicDisplay.js +343 -344
  303. package/lib/cjs/ThematicDisplay.js.map +1 -1
  304. package/lib/cjs/Thumbnail.d.ts +26 -26
  305. package/lib/cjs/Thumbnail.js +9 -9
  306. package/lib/cjs/Thumbnail.js.map +1 -1
  307. package/lib/cjs/TileProps.d.ts +88 -82
  308. package/lib/cjs/TileProps.d.ts.map +1 -1
  309. package/lib/cjs/TileProps.js +29 -29
  310. package/lib/cjs/TileProps.js.map +1 -1
  311. package/lib/cjs/Tween.d.ts +191 -191
  312. package/lib/cjs/Tween.d.ts.map +1 -1
  313. package/lib/cjs/Tween.js +570 -570
  314. package/lib/cjs/Tween.js.map +1 -1
  315. package/lib/cjs/TxnAction.d.ts +21 -21
  316. package/lib/cjs/TxnAction.js +29 -29
  317. package/lib/cjs/TxnAction.js.map +1 -1
  318. package/lib/cjs/ViewDetails.d.ts +125 -125
  319. package/lib/cjs/ViewDetails.js +166 -166
  320. package/lib/cjs/ViewDetails.js.map +1 -1
  321. package/lib/cjs/ViewFlags.d.ts +287 -287
  322. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  323. package/lib/cjs/ViewFlags.js +367 -368
  324. package/lib/cjs/ViewFlags.js.map +1 -1
  325. package/lib/cjs/ViewProps.d.ts +205 -205
  326. package/lib/cjs/ViewProps.js +9 -9
  327. package/lib/cjs/ViewProps.js.map +1 -1
  328. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  329. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  330. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  331. package/lib/cjs/core-common.d.ts +244 -244
  332. package/lib/cjs/core-common.d.ts.map +1 -1
  333. package/lib/cjs/core-common.js +264 -260
  334. package/lib/cjs/core-common.js.map +1 -1
  335. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  336. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  337. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  338. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  339. package/lib/cjs/domains/GenericElementProps.js +9 -9
  340. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  341. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  342. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  343. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  344. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  345. package/lib/cjs/geometry/AreaPattern.js +203 -204
  346. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  347. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  348. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  349. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  350. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  351. package/lib/cjs/geometry/Cartographic.js +345 -345
  352. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  353. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  354. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  355. package/lib/cjs/geometry/CoordinateReferenceSystem.js +260 -261
  356. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  357. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  358. package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
  359. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  360. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  361. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  362. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  363. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  364. package/lib/cjs/geometry/FrustumPlanes.d.ts +83 -81
  365. package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
  366. package/lib/cjs/geometry/FrustumPlanes.js +227 -193
  367. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  368. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  369. package/lib/cjs/geometry/GeodeticDatum.d.ts.map +1 -1
  370. package/lib/cjs/geometry/GeodeticDatum.js +400 -401
  371. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  372. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  373. package/lib/cjs/geometry/GeodeticEllipsoid.js +71 -72
  374. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  375. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  376. package/lib/cjs/geometry/GeometryStream.d.ts.map +1 -1
  377. package/lib/cjs/geometry/GeometryStream.js +468 -469
  378. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  379. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  380. package/lib/cjs/geometry/ImageGraphic.d.ts.map +1 -1
  381. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  382. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  383. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  384. package/lib/cjs/geometry/LineStyle.js +129 -129
  385. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  386. package/lib/cjs/geometry/Placement.d.ts +95 -95
  387. package/lib/cjs/geometry/Placement.d.ts.map +1 -1
  388. package/lib/cjs/geometry/Placement.js +131 -131
  389. package/lib/cjs/geometry/Placement.js.map +1 -1
  390. package/lib/cjs/geometry/Projection.d.ts +251 -251
  391. package/lib/cjs/geometry/Projection.d.ts.map +1 -1
  392. package/lib/cjs/geometry/Projection.js +198 -198
  393. package/lib/cjs/geometry/Projection.js.map +1 -1
  394. package/lib/cjs/geometry/TextString.d.ts +55 -55
  395. package/lib/cjs/geometry/TextString.js +65 -65
  396. package/lib/cjs/geometry/TextString.js.map +1 -1
  397. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  398. package/lib/cjs/ipc/IpcSession.js +27 -27
  399. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  400. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  401. package/lib/cjs/ipc/IpcSocket.d.ts.map +1 -1
  402. package/lib/cjs/ipc/IpcSocket.js +16 -16
  403. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  404. package/lib/cjs/ipc/IpcWebSocket.d.ts +60 -61
  405. package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
  406. package/lib/cjs/ipc/IpcWebSocket.js +148 -151
  407. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  408. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  409. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  410. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  411. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  412. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  413. package/lib/cjs/rpc/DevToolsRpcInterface.js +52 -48
  414. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  415. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  416. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  417. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  418. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  419. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +49 -61
  420. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  421. package/lib/cjs/rpc/IModelTileRpcInterface.js +79 -96
  422. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  423. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  424. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  425. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  426. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  427. package/lib/cjs/rpc/TestRpcManager.js +40 -40
  428. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  429. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  430. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  431. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  432. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  433. package/lib/cjs/rpc/core/RpcConfiguration.d.ts.map +1 -1
  434. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  435. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  436. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
  437. package/lib/cjs/rpc/core/RpcConstants.js +109 -109
  438. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  439. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  440. package/lib/cjs/rpc/core/RpcControl.js +150 -145
  441. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  442. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  443. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  444. package/lib/cjs/rpc/core/RpcInvocation.js +256 -258
  445. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  446. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  447. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  448. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  449. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  450. package/lib/cjs/rpc/core/RpcOperation.d.ts.map +1 -1
  451. package/lib/cjs/rpc/core/RpcOperation.js +135 -134
  452. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  453. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  454. package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -95
  455. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  456. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  457. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  458. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  459. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  460. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  461. package/lib/cjs/rpc/core/RpcPush.d.ts.map +1 -1
  462. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  463. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  464. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  465. package/lib/cjs/rpc/core/RpcRegistry.js +198 -199
  466. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  467. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  468. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  469. package/lib/cjs/rpc/core/RpcRequest.js +478 -478
  470. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  471. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  472. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  473. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  474. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  475. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  476. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
  477. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  478. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  479. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -60
  480. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  481. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  482. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  483. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +76 -73
  484. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  485. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  486. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +141 -143
  487. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  488. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
  489. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  490. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  491. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  492. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  493. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  494. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  495. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  496. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  497. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  498. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  499. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  500. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  501. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  502. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  503. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  504. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  505. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
  506. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  507. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  508. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  509. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  510. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  511. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  512. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  513. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  514. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  515. package/lib/cjs/tile/ElementGraphics.js +9 -9
  516. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  517. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  518. package/lib/cjs/tile/GltfTileIO.d.ts.map +1 -1
  519. package/lib/cjs/tile/GltfTileIO.js +109 -109
  520. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  521. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  522. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  523. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  524. package/lib/cjs/tile/IModelTileIO.d.ts +77 -75
  525. package/lib/cjs/tile/IModelTileIO.d.ts.map +1 -1
  526. package/lib/cjs/tile/IModelTileIO.js +97 -95
  527. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  528. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  529. package/lib/cjs/tile/PntsTileIO.js +26 -26
  530. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  531. package/lib/cjs/tile/TileIO.d.ts +66 -66
  532. package/lib/cjs/tile/TileIO.js +118 -118
  533. package/lib/cjs/tile/TileIO.js.map +1 -1
  534. package/lib/cjs/tile/TileMetadata.d.ts +240 -228
  535. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  536. package/lib/cjs/tile/TileMetadata.js +693 -676
  537. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  538. package/lib/cjs/tile/Tileset3dSchema.d.ts +97 -0
  539. package/lib/cjs/tile/Tileset3dSchema.d.ts.map +1 -0
  540. package/lib/cjs/tile/Tileset3dSchema.js +10 -0
  541. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -0
  542. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  543. package/lib/esm/AmbientOcclusion.js +52 -52
  544. package/lib/esm/AmbientOcclusion.js.map +1 -1
  545. package/lib/esm/AnalysisStyle.d.ts +134 -134
  546. package/lib/esm/AnalysisStyle.js +160 -159
  547. package/lib/esm/AnalysisStyle.js.map +1 -1
  548. package/lib/esm/Atmosphere.d.ts +99 -0
  549. package/lib/esm/Atmosphere.d.ts.map +1 -0
  550. package/lib/esm/Atmosphere.js +131 -0
  551. package/lib/esm/Atmosphere.js.map +1 -0
  552. package/lib/esm/AuthorizationClient.d.ts +17 -17
  553. package/lib/esm/AuthorizationClient.js +8 -8
  554. package/lib/esm/AuthorizationClient.js.map +1 -1
  555. package/lib/esm/BackendTypes.d.ts +13 -12
  556. package/lib/esm/BackendTypes.d.ts.map +1 -1
  557. package/lib/esm/BackendTypes.js +8 -8
  558. package/lib/esm/BackendTypes.js.map +1 -1
  559. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  560. package/lib/esm/BackgroundMapProvider.d.ts.map +1 -1
  561. package/lib/esm/BackgroundMapProvider.js +63 -64
  562. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  563. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  564. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  565. package/lib/esm/BackgroundMapSettings.js +150 -152
  566. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  567. package/lib/esm/Base64EncodedString.d.ts +32 -32
  568. package/lib/esm/Base64EncodedString.d.ts.map +1 -1
  569. package/lib/esm/Base64EncodedString.js +63 -63
  570. package/lib/esm/Base64EncodedString.js.map +1 -1
  571. package/lib/esm/BlobReader.d.ts +31 -31
  572. package/lib/esm/BlobReader.js +79 -79
  573. package/lib/esm/BlobReader.js.map +1 -1
  574. package/lib/esm/BriefcaseTypes.d.ts +191 -189
  575. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  576. package/lib/esm/BriefcaseTypes.js +92 -92
  577. package/lib/esm/BriefcaseTypes.js.map +1 -1
  578. package/lib/esm/Camera.d.ts +42 -42
  579. package/lib/esm/Camera.js +58 -58
  580. package/lib/esm/Camera.js.map +1 -1
  581. package/lib/esm/ChangedElements.d.ts +85 -85
  582. package/lib/esm/ChangedElements.js +20 -20
  583. package/lib/esm/ChangedElements.js.map +1 -1
  584. package/lib/esm/ChangedEntities.d.ts +45 -45
  585. package/lib/esm/ChangedEntities.d.ts.map +1 -1
  586. package/lib/esm/ChangedEntities.js +8 -8
  587. package/lib/esm/ChangedEntities.js.map +1 -1
  588. package/lib/esm/ChangesetProps.d.ts +98 -98
  589. package/lib/esm/ChangesetProps.d.ts.map +1 -1
  590. package/lib/esm/ChangesetProps.js +19 -19
  591. package/lib/esm/ChangesetProps.js.map +1 -1
  592. package/lib/esm/ClipStyle.d.ts +89 -89
  593. package/lib/esm/ClipStyle.js +118 -118
  594. package/lib/esm/ClipStyle.js.map +1 -1
  595. package/lib/esm/Code.d.ts +278 -277
  596. package/lib/esm/Code.d.ts.map +1 -1
  597. package/lib/esm/Code.js +266 -264
  598. package/lib/esm/Code.js.map +1 -1
  599. package/lib/esm/ColorByName.d.ts +161 -161
  600. package/lib/esm/ColorByName.js +166 -166
  601. package/lib/esm/ColorByName.js.map +1 -1
  602. package/lib/esm/ColorDef.d.ts +210 -208
  603. package/lib/esm/ColorDef.d.ts.map +1 -1
  604. package/lib/esm/ColorDef.js +569 -567
  605. package/lib/esm/ColorDef.js.map +1 -1
  606. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  607. package/lib/esm/CommonLoggerCategory.js +23 -23
  608. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  609. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  610. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  611. package/lib/esm/ConcurrentQuery.js +545 -545
  612. package/lib/esm/ConcurrentQuery.js.map +1 -1
  613. package/lib/esm/ContextRealityModel.d.ts +303 -303
  614. package/lib/esm/ContextRealityModel.js +366 -368
  615. package/lib/esm/ContextRealityModel.js.map +1 -1
  616. package/lib/esm/DisplayStyleSettings.d.ts +593 -588
  617. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  618. package/lib/esm/DisplayStyleSettings.js +985 -980
  619. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  620. package/lib/esm/ECSchemaProps.d.ts +39 -39
  621. package/lib/esm/ECSchemaProps.js +8 -8
  622. package/lib/esm/ECSchemaProps.js.map +1 -1
  623. package/lib/esm/ECSqlReader.d.ts +72 -70
  624. package/lib/esm/ECSqlReader.d.ts.map +1 -1
  625. package/lib/esm/ECSqlReader.js +293 -275
  626. package/lib/esm/ECSqlReader.js.map +1 -1
  627. package/lib/esm/ECSqlTypes.d.ts +128 -128
  628. package/lib/esm/ECSqlTypes.js +185 -185
  629. package/lib/esm/ECSqlTypes.js.map +1 -1
  630. package/lib/esm/ElementMesh.d.ts +39 -39
  631. package/lib/esm/ElementMesh.js +52 -52
  632. package/lib/esm/ElementMesh.js.map +1 -1
  633. package/lib/esm/ElementProps.d.ts +483 -483
  634. package/lib/esm/ElementProps.d.ts.map +1 -1
  635. package/lib/esm/ElementProps.js +93 -92
  636. package/lib/esm/ElementProps.js.map +1 -1
  637. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  638. package/lib/esm/EmphasizeElementsProps.js +22 -22
  639. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  640. package/lib/esm/EntityProps.d.ts +177 -177
  641. package/lib/esm/EntityProps.d.ts.map +1 -1
  642. package/lib/esm/EntityProps.js +108 -108
  643. package/lib/esm/EntityProps.js.map +1 -1
  644. package/lib/esm/EntityReference.d.ts +51 -51
  645. package/lib/esm/EntityReference.d.ts.map +1 -1
  646. package/lib/esm/EntityReference.js +52 -52
  647. package/lib/esm/EntityReference.js.map +1 -1
  648. package/lib/esm/Environment.d.ts +74 -61
  649. package/lib/esm/Environment.d.ts.map +1 -1
  650. package/lib/esm/Environment.js +75 -69
  651. package/lib/esm/Environment.js.map +1 -1
  652. package/lib/esm/FeatureIndex.d.ts +39 -39
  653. package/lib/esm/FeatureIndex.js +57 -57
  654. package/lib/esm/FeatureIndex.js.map +1 -1
  655. package/lib/esm/FeatureSymbology.d.ts +449 -444
  656. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  657. package/lib/esm/FeatureSymbology.js +615 -609
  658. package/lib/esm/FeatureSymbology.js.map +1 -1
  659. package/lib/esm/FeatureTable.d.ts +255 -141
  660. package/lib/esm/FeatureTable.d.ts.map +1 -1
  661. package/lib/esm/FeatureTable.js +476 -272
  662. package/lib/esm/FeatureTable.js.map +1 -1
  663. package/lib/esm/Fonts.d.ts +51 -51
  664. package/lib/esm/Fonts.d.ts.map +1 -1
  665. package/lib/esm/Fonts.js +49 -49
  666. package/lib/esm/Fonts.js.map +1 -1
  667. package/lib/esm/Frustum.d.ts +114 -114
  668. package/lib/esm/Frustum.js +288 -288
  669. package/lib/esm/Frustum.js.map +1 -1
  670. package/lib/esm/GeoCoordinateServices.d.ts +123 -119
  671. package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
  672. package/lib/esm/GeoCoordinateServices.js +77 -76
  673. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  674. package/lib/esm/GeometryContainment.d.ts +28 -28
  675. package/lib/esm/GeometryContainment.js +8 -8
  676. package/lib/esm/GeometryContainment.js.map +1 -1
  677. package/lib/esm/GeometryParams.d.ts +130 -130
  678. package/lib/esm/GeometryParams.js +170 -170
  679. package/lib/esm/GeometryParams.js.map +1 -1
  680. package/lib/esm/GeometrySummary.d.ts +45 -45
  681. package/lib/esm/GeometrySummary.js +20 -20
  682. package/lib/esm/GeometrySummary.js.map +1 -1
  683. package/lib/esm/Gradient.d.ts +139 -139
  684. package/lib/esm/Gradient.js +450 -452
  685. package/lib/esm/Gradient.js.map +1 -1
  686. package/lib/esm/GraphicParams.d.ts +58 -58
  687. package/lib/esm/GraphicParams.js +81 -81
  688. package/lib/esm/GraphicParams.js.map +1 -1
  689. package/lib/esm/GroundPlane.d.ts +52 -52
  690. package/lib/esm/GroundPlane.d.ts.map +1 -1
  691. package/lib/esm/GroundPlane.js +60 -60
  692. package/lib/esm/GroundPlane.js.map +1 -1
  693. package/lib/esm/HSLColor.d.ts +20 -20
  694. package/lib/esm/HSLColor.js +28 -28
  695. package/lib/esm/HSLColor.js.map +1 -1
  696. package/lib/esm/HSVColor.d.ts +30 -30
  697. package/lib/esm/HSVColor.js +55 -55
  698. package/lib/esm/HSVColor.js.map +1 -1
  699. package/lib/esm/HiddenLine.d.ts +97 -97
  700. package/lib/esm/HiddenLine.js +157 -159
  701. package/lib/esm/HiddenLine.js.map +1 -1
  702. package/lib/esm/Hilite.d.ts +50 -50
  703. package/lib/esm/Hilite.js +61 -61
  704. package/lib/esm/Hilite.js.map +1 -1
  705. package/lib/esm/IModel.d.ts +358 -359
  706. package/lib/esm/IModel.d.ts.map +1 -1
  707. package/lib/esm/IModel.js +343 -342
  708. package/lib/esm/IModel.js.map +1 -1
  709. package/lib/esm/IModelError.d.ts +42 -42
  710. package/lib/esm/IModelError.d.ts.map +1 -1
  711. package/lib/esm/IModelError.js +56 -56
  712. package/lib/esm/IModelError.js.map +1 -1
  713. package/lib/esm/IModelVersion.d.ts +68 -68
  714. package/lib/esm/IModelVersion.d.ts.map +1 -1
  715. package/lib/esm/IModelVersion.js +75 -75
  716. package/lib/esm/IModelVersion.js.map +1 -1
  717. package/lib/esm/Image.d.ts +86 -86
  718. package/lib/esm/Image.js +120 -120
  719. package/lib/esm/Image.js.map +1 -1
  720. package/lib/esm/IpcAppProps.d.ts +141 -141
  721. package/lib/esm/IpcAppProps.js +19 -19
  722. package/lib/esm/IpcAppProps.js.map +1 -1
  723. package/lib/esm/LightSettings.d.ts +224 -224
  724. package/lib/esm/LightSettings.js +297 -301
  725. package/lib/esm/LightSettings.js.map +1 -1
  726. package/lib/esm/LinePixels.d.ts +34 -34
  727. package/lib/esm/LinePixels.js +39 -39
  728. package/lib/esm/LinePixels.js.map +1 -1
  729. package/lib/esm/Localization.d.ts +117 -113
  730. package/lib/esm/Localization.d.ts.map +1 -1
  731. package/lib/esm/Localization.js +29 -29
  732. package/lib/esm/Localization.js.map +1 -1
  733. package/lib/esm/MapImagerySettings.d.ts +62 -62
  734. package/lib/esm/MapImagerySettings.d.ts.map +1 -1
  735. package/lib/esm/MapImagerySettings.js +76 -76
  736. package/lib/esm/MapImagerySettings.js.map +1 -1
  737. package/lib/esm/MapLayerSettings.d.ts +272 -272
  738. package/lib/esm/MapLayerSettings.d.ts.map +1 -1
  739. package/lib/esm/MapLayerSettings.js +399 -403
  740. package/lib/esm/MapLayerSettings.js.map +1 -1
  741. package/lib/esm/MassProperties.d.ts +64 -64
  742. package/lib/esm/MassProperties.js +20 -20
  743. package/lib/esm/MassProperties.js.map +1 -1
  744. package/lib/esm/MaterialProps.d.ts +165 -153
  745. package/lib/esm/MaterialProps.d.ts.map +1 -1
  746. package/lib/esm/MaterialProps.js +34 -32
  747. package/lib/esm/MaterialProps.js.map +1 -1
  748. package/lib/esm/ModelClipGroup.d.ts +67 -67
  749. package/lib/esm/ModelClipGroup.js +91 -93
  750. package/lib/esm/ModelClipGroup.js.map +1 -1
  751. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  752. package/lib/esm/ModelGeometryChanges.d.ts.map +1 -1
  753. package/lib/esm/ModelGeometryChanges.js +80 -80
  754. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  755. package/lib/esm/ModelProps.d.ts +67 -67
  756. package/lib/esm/ModelProps.js +8 -8
  757. package/lib/esm/ModelProps.js.map +1 -1
  758. package/lib/esm/NativeAppProps.d.ts +122 -122
  759. package/lib/esm/NativeAppProps.d.ts.map +1 -1
  760. package/lib/esm/NativeAppProps.js +27 -27
  761. package/lib/esm/NativeAppProps.js.map +1 -1
  762. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  763. package/lib/esm/OctEncodedNormal.js +93 -93
  764. package/lib/esm/OctEncodedNormal.js.map +1 -1
  765. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  766. package/lib/esm/PlanProjectionSettings.js +59 -59
  767. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  768. package/lib/esm/PlanarClipMask.d.ts +177 -177
  769. package/lib/esm/PlanarClipMask.js +133 -132
  770. package/lib/esm/PlanarClipMask.js.map +1 -1
  771. package/lib/esm/QPoint.d.ts +479 -479
  772. package/lib/esm/QPoint.js +813 -815
  773. package/lib/esm/QPoint.js.map +1 -1
  774. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  775. package/lib/esm/RealityDataAccessProps.js +16 -16
  776. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  777. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  778. package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -1
  779. package/lib/esm/RealityModelDisplaySettings.js +138 -137
  780. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  781. package/lib/esm/Render.d.ts +89 -89
  782. package/lib/esm/Render.js +165 -165
  783. package/lib/esm/Render.js.map +1 -1
  784. package/lib/esm/RenderMaterial.d.ts +58 -58
  785. package/lib/esm/RenderMaterial.js +71 -72
  786. package/lib/esm/RenderMaterial.js.map +1 -1
  787. package/lib/esm/RenderSchedule.d.ts +557 -543
  788. package/lib/esm/RenderSchedule.d.ts.map +1 -1
  789. package/lib/esm/RenderSchedule.js +1025 -999
  790. package/lib/esm/RenderSchedule.js.map +1 -1
  791. package/lib/esm/RenderTexture.d.ts +70 -70
  792. package/lib/esm/RenderTexture.d.ts.map +1 -1
  793. package/lib/esm/RenderTexture.js +55 -55
  794. package/lib/esm/RenderTexture.js.map +1 -1
  795. package/lib/esm/RgbColor.d.ts +47 -47
  796. package/lib/esm/RgbColor.js +73 -73
  797. package/lib/esm/RgbColor.js.map +1 -1
  798. package/lib/esm/RpcInterface.d.ts +42 -33
  799. package/lib/esm/RpcInterface.d.ts.map +1 -1
  800. package/lib/esm/RpcInterface.js +154 -133
  801. package/lib/esm/RpcInterface.js.map +1 -1
  802. package/lib/esm/RpcManager.d.ts +40 -40
  803. package/lib/esm/RpcManager.js +51 -51
  804. package/lib/esm/RpcManager.js.map +1 -1
  805. package/lib/esm/SessionProps.d.ts +16 -16
  806. package/lib/esm/SessionProps.js +8 -8
  807. package/lib/esm/SessionProps.js.map +1 -1
  808. package/lib/esm/SkyBox.d.ts +217 -215
  809. package/lib/esm/SkyBox.d.ts.map +1 -1
  810. package/lib/esm/SkyBox.js +204 -203
  811. package/lib/esm/SkyBox.js.map +1 -1
  812. package/lib/esm/Snapping.d.ts +49 -49
  813. package/lib/esm/Snapping.js +8 -8
  814. package/lib/esm/Snapping.js.map +1 -1
  815. package/lib/esm/SolarCalculate.d.ts +27 -27
  816. package/lib/esm/SolarCalculate.js +204 -204
  817. package/lib/esm/SolarCalculate.js.map +1 -1
  818. package/lib/esm/SolarShadows.d.ts +35 -35
  819. package/lib/esm/SolarShadows.js +58 -58
  820. package/lib/esm/SolarShadows.js.map +1 -1
  821. package/lib/esm/SpatialClassification.d.ts +208 -208
  822. package/lib/esm/SpatialClassification.js +333 -334
  823. package/lib/esm/SpatialClassification.js.map +1 -1
  824. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  825. package/lib/esm/SubCategoryAppearance.js +93 -92
  826. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  827. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  828. package/lib/esm/SubCategoryOverride.js +101 -100
  829. package/lib/esm/SubCategoryOverride.js.map +1 -1
  830. package/lib/esm/TerrainSettings.d.ts +82 -82
  831. package/lib/esm/TerrainSettings.d.ts.map +1 -1
  832. package/lib/esm/TerrainSettings.js +96 -98
  833. package/lib/esm/TerrainSettings.js.map +1 -1
  834. package/lib/esm/TextureMapping.d.ts +151 -118
  835. package/lib/esm/TextureMapping.d.ts.map +1 -1
  836. package/lib/esm/TextureMapping.js +176 -170
  837. package/lib/esm/TextureMapping.js.map +1 -1
  838. package/lib/esm/TextureProps.d.ts +65 -65
  839. package/lib/esm/TextureProps.js +25 -25
  840. package/lib/esm/TextureProps.js.map +1 -1
  841. package/lib/esm/ThematicDisplay.d.ts +230 -230
  842. package/lib/esm/ThematicDisplay.js +337 -337
  843. package/lib/esm/ThematicDisplay.js.map +1 -1
  844. package/lib/esm/Thumbnail.d.ts +26 -26
  845. package/lib/esm/Thumbnail.js +8 -8
  846. package/lib/esm/Thumbnail.js.map +1 -1
  847. package/lib/esm/TileProps.d.ts +88 -82
  848. package/lib/esm/TileProps.d.ts.map +1 -1
  849. package/lib/esm/TileProps.js +25 -25
  850. package/lib/esm/TileProps.js.map +1 -1
  851. package/lib/esm/Tween.d.ts +191 -191
  852. package/lib/esm/Tween.d.ts.map +1 -1
  853. package/lib/esm/Tween.js +565 -565
  854. package/lib/esm/Tween.js.map +1 -1
  855. package/lib/esm/TxnAction.d.ts +21 -21
  856. package/lib/esm/TxnAction.js +26 -26
  857. package/lib/esm/TxnAction.js.map +1 -1
  858. package/lib/esm/ViewDetails.d.ts +125 -125
  859. package/lib/esm/ViewDetails.js +162 -161
  860. package/lib/esm/ViewDetails.js.map +1 -1
  861. package/lib/esm/ViewFlags.d.ts +287 -287
  862. package/lib/esm/ViewFlags.d.ts.map +1 -1
  863. package/lib/esm/ViewFlags.js +364 -364
  864. package/lib/esm/ViewFlags.js.map +1 -1
  865. package/lib/esm/ViewProps.d.ts +205 -205
  866. package/lib/esm/ViewProps.js +8 -8
  867. package/lib/esm/ViewProps.js.map +1 -1
  868. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  869. package/lib/esm/WhiteOnWhiteReversalSettings.js +34 -33
  870. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  871. package/lib/esm/core-common.d.ts +244 -244
  872. package/lib/esm/core-common.d.ts.map +1 -1
  873. package/lib/esm/core-common.js +248 -248
  874. package/lib/esm/core-common.js.map +1 -1
  875. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  876. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  877. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  878. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  879. package/lib/esm/domains/GenericElementProps.js +8 -8
  880. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  881. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  882. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  883. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  884. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  885. package/lib/esm/geometry/AreaPattern.js +200 -201
  886. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  887. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  888. package/lib/esm/geometry/BoundingSphere.js +40 -40
  889. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  890. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  891. package/lib/esm/geometry/Cartographic.js +341 -340
  892. package/lib/esm/geometry/Cartographic.js.map +1 -1
  893. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  894. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
  895. package/lib/esm/geometry/CoordinateReferenceSystem.js +253 -254
  896. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  897. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  898. package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
  899. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  900. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  901. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  902. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  903. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  904. package/lib/esm/geometry/FrustumPlanes.d.ts +83 -81
  905. package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
  906. package/lib/esm/geometry/FrustumPlanes.js +223 -189
  907. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  908. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  909. package/lib/esm/geometry/GeodeticDatum.d.ts.map +1 -1
  910. package/lib/esm/geometry/GeodeticDatum.js +389 -390
  911. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  912. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  913. package/lib/esm/geometry/GeodeticEllipsoid.js +67 -68
  914. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  915. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  916. package/lib/esm/geometry/GeometryStream.d.ts.map +1 -1
  917. package/lib/esm/geometry/GeometryStream.js +463 -464
  918. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  919. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  920. package/lib/esm/geometry/ImageGraphic.d.ts.map +1 -1
  921. package/lib/esm/geometry/ImageGraphic.js +93 -93
  922. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  923. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  924. package/lib/esm/geometry/LineStyle.js +126 -126
  925. package/lib/esm/geometry/LineStyle.js.map +1 -1
  926. package/lib/esm/geometry/Placement.d.ts +95 -95
  927. package/lib/esm/geometry/Placement.d.ts.map +1 -1
  928. package/lib/esm/geometry/Placement.js +126 -126
  929. package/lib/esm/geometry/Placement.js.map +1 -1
  930. package/lib/esm/geometry/Projection.d.ts +251 -251
  931. package/lib/esm/geometry/Projection.d.ts.map +1 -1
  932. package/lib/esm/geometry/Projection.js +192 -192
  933. package/lib/esm/geometry/Projection.js.map +1 -1
  934. package/lib/esm/geometry/TextString.d.ts +55 -55
  935. package/lib/esm/geometry/TextString.js +61 -61
  936. package/lib/esm/geometry/TextString.js.map +1 -1
  937. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  938. package/lib/esm/ipc/IpcSession.js +23 -23
  939. package/lib/esm/ipc/IpcSession.js.map +1 -1
  940. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  941. package/lib/esm/ipc/IpcSocket.d.ts.map +1 -1
  942. package/lib/esm/ipc/IpcSocket.js +12 -12
  943. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  944. package/lib/esm/ipc/IpcWebSocket.d.ts +60 -61
  945. package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
  946. package/lib/esm/ipc/IpcWebSocket.js +143 -145
  947. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  948. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  949. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  950. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  951. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  952. package/lib/esm/rpc/DevToolsRpcInterface.d.ts.map +1 -1
  953. package/lib/esm/rpc/DevToolsRpcInterface.js +49 -44
  954. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  955. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  956. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  957. package/lib/esm/rpc/IModelReadRpcInterface.js +118 -117
  958. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  959. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +49 -61
  960. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  961. package/lib/esm/rpc/IModelTileRpcInterface.js +76 -92
  962. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  963. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  964. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +45 -44
  965. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  966. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  967. package/lib/esm/rpc/TestRpcManager.js +36 -36
  968. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  969. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  970. package/lib/esm/rpc/WipRpcInterface.js +37 -36
  971. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  972. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  973. package/lib/esm/rpc/core/RpcConfiguration.d.ts.map +1 -1
  974. package/lib/esm/rpc/core/RpcConfiguration.js +185 -184
  975. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  976. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
  977. package/lib/esm/rpc/core/RpcConstants.js +106 -106
  978. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  979. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  980. package/lib/esm/rpc/core/RpcControl.js +144 -138
  981. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  982. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  983. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  984. package/lib/esm/rpc/core/RpcInvocation.js +253 -254
  985. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  986. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  987. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  988. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  989. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  990. package/lib/esm/rpc/core/RpcOperation.d.ts.map +1 -1
  991. package/lib/esm/rpc/core/RpcOperation.js +130 -129
  992. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  993. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  994. package/lib/esm/rpc/core/RpcPendingQueue.js +90 -91
  995. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  996. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  997. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  998. package/lib/esm/rpc/core/RpcProtocol.js +124 -123
  999. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  1000. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  1001. package/lib/esm/rpc/core/RpcPush.d.ts.map +1 -1
  1002. package/lib/esm/rpc/core/RpcPush.js +121 -119
  1003. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  1004. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  1005. package/lib/esm/rpc/core/RpcRegistry.js +194 -195
  1006. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  1007. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  1008. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  1009. package/lib/esm/rpc/core/RpcRequest.js +474 -473
  1010. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  1011. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  1012. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  1013. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  1014. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  1015. package/lib/esm/rpc/core/RpcRoutingToken.d.ts.map +1 -1
  1016. package/lib/esm/rpc/core/RpcRoutingToken.js +21 -20
  1017. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  1018. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  1019. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
  1020. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  1021. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +48 -46
  1022. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts.map +1 -1
  1023. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +72 -68
  1024. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  1025. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  1026. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +137 -139
  1027. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  1028. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
  1029. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  1030. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  1031. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  1032. package/lib/esm/rpc/web/RpcMultipart.js +47 -46
  1033. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  1034. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  1035. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  1036. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  1037. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  1038. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  1039. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  1040. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  1041. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  1042. package/lib/esm/rpc/web/WebAppRpcRequest.js +236 -235
  1043. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  1044. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  1045. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
  1046. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  1047. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  1048. package/lib/esm/tile/B3dmTileIO.js +62 -62
  1049. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  1050. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  1051. package/lib/esm/tile/CompositeTileIO.js +22 -22
  1052. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  1053. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  1054. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  1055. package/lib/esm/tile/ElementGraphics.js +8 -8
  1056. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  1057. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  1058. package/lib/esm/tile/GltfTileIO.d.ts.map +1 -1
  1059. package/lib/esm/tile/GltfTileIO.js +105 -105
  1060. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  1061. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  1062. package/lib/esm/tile/I3dmTileIO.js +36 -36
  1063. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  1064. package/lib/esm/tile/IModelTileIO.d.ts +77 -75
  1065. package/lib/esm/tile/IModelTileIO.d.ts.map +1 -1
  1066. package/lib/esm/tile/IModelTileIO.js +93 -90
  1067. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  1068. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  1069. package/lib/esm/tile/PntsTileIO.js +22 -22
  1070. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  1071. package/lib/esm/tile/TileIO.d.ts +66 -66
  1072. package/lib/esm/tile/TileIO.js +110 -110
  1073. package/lib/esm/tile/TileIO.js.map +1 -1
  1074. package/lib/esm/tile/TileMetadata.d.ts +240 -228
  1075. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  1076. package/lib/esm/tile/TileMetadata.js +677 -661
  1077. package/lib/esm/tile/TileMetadata.js.map +1 -1
  1078. package/lib/esm/tile/Tileset3dSchema.d.ts +97 -0
  1079. package/lib/esm/tile/Tileset3dSchema.d.ts.map +1 -0
  1080. package/lib/esm/tile/Tileset3dSchema.js +9 -0
  1081. package/lib/esm/tile/Tileset3dSchema.js.map +1 -0
  1082. package/package.json +15 -18
  1083. package/lib/cjs/CloudStorage.d.ts +0 -63
  1084. package/lib/cjs/CloudStorage.d.ts.map +0 -1
  1085. package/lib/cjs/CloudStorage.js +0 -114
  1086. package/lib/cjs/CloudStorage.js.map +0 -1
  1087. package/lib/cjs/CloudStorageTileCache.d.ts +0 -28
  1088. package/lib/cjs/CloudStorageTileCache.d.ts.map +0 -1
  1089. package/lib/cjs/CloudStorageTileCache.js +0 -67
  1090. package/lib/cjs/CloudStorageTileCache.js.map +0 -1
  1091. package/lib/esm/CloudStorage.d.ts +0 -63
  1092. package/lib/esm/CloudStorage.d.ts.map +0 -1
  1093. package/lib/esm/CloudStorage.js +0 -110
  1094. package/lib/esm/CloudStorage.js.map +0 -1
  1095. package/lib/esm/CloudStorageTileCache.d.ts +0 -28
  1096. package/lib/esm/CloudStorageTileCache.d.ts.map +0 -1
  1097. package/lib/esm/CloudStorageTileCache.js +0 -63
  1098. package/lib/esm/CloudStorageTileCache.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryStream.js","sourceRoot":"","sources":["../../../src/geometry/GeometryStream.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 Geometry\r\n */\r\n\r\nimport { Id64, Id64String, IModelStatus } from \"@itwin/core-bentley\";\r\nimport {\r\n Angle, AnyGeometryQuery, GeometryQuery, IModelJson as GeomJson, LowAndHighXYZ, Matrix3d, Point2d, Point3d, Range3d, Transform, TransformProps,\r\n Vector3d, XYZProps, YawPitchRollAngles, YawPitchRollProps,\r\n} from \"@itwin/core-geometry\";\r\nimport { ColorDef, ColorDefProps } from \"../ColorDef\";\r\nimport { GeometricElement2dProps, GeometricElement3dProps, GeometryPartProps, isPlacement2dProps, PlacementProps } from \"../ElementProps\";\r\nimport { BackgroundFill, FillDisplay, GeometryClass, GeometryParams } from \"../GeometryParams\";\r\nimport { Gradient } from \"../Gradient\";\r\nimport { IModelError } from \"../IModelError\";\r\nimport { AreaPattern } from \"./AreaPattern\";\r\nimport { ImageGraphic, ImageGraphicProps } from \"./ImageGraphic\";\r\nimport { LineStyle } from \"./LineStyle\";\r\nimport { TextString, TextStringProps } from \"./TextString\";\r\nimport { Base64EncodedString } from \"../Base64EncodedString\";\r\nimport { Placement2d, Placement3d } from \"./Placement\";\r\n\r\n/** Establish a non-default [[SubCategory]] or to override [[SubCategoryAppearance]] for the geometry that follows.\r\n * A GeometryAppearanceProps always signifies a reset to the [[SubCategoryAppearance]] for subsequent [[GeometryStreamProps]] entries for undefined values.\r\n * @see [[GeometryStreamEntryProps]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometryAppearanceProps {\r\n /** Optional [[SubCategory]] id for subsequent geometry. Use to create a GeometryStream with geometry that is not on the default [[SubCategory]] for the element's [[Category]] or is has geometry on multiple subCategories. */\r\n subCategory?: Id64String;\r\n /** Optional color to override [[SubCategoryAppearance.color]] for subsequent geometry. */\r\n color?: ColorDefProps;\r\n /** Optional weight to override [[SubCategoryAppearance.weight]] for subsequent geometry. */\r\n weight?: number;\r\n /** Optional style to override [[SubCategoryAppearance.styleId]] for subsequent geometry. */\r\n style?: Id64String;\r\n /** Optional transparency, 0.0 if undefined. Effective transparency is a combination of this value and [[SubCategoryAppearance.color]]. */\r\n transparency?: number;\r\n /** Optional display priority (2d only), 0 if undefined. Effective display priority is a combination of this value and [[SubCategoryAppearance.priority]]. */\r\n displayPriority?: number;\r\n /** Optional GeometryClass (for DGN compatibility, subCategories preferred), [[GeometryClass.Primary]] if undefined. */\r\n geometryClass?: GeometryClass;\r\n}\r\n\r\n/** Add a [[gradient]], [[backgroundFill]], or solid [[color]] fill to subsequent planar regions (or meshes).\r\n * Only one value among [[gradient]], [[backgroundFill]], and [[color]] should be set.\r\n * @see [[GeometryStreamEntryProps]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface AreaFillProps {\r\n /** Fill display type, must be set to something other than [[FillDisplay.Never]] to display fill */\r\n display: FillDisplay;\r\n /** Optional fill transparency, will be the same as outline transparency if undefined. Allows for different fill and outline transparencies */\r\n transparency?: number;\r\n /** Set fill color to view background color. Use [[BackgroundFill.Solid]] for an opaque fill and [[BackgroundFill.Outline]] to display an outline using the line color */\r\n backgroundFill?: BackgroundFill;\r\n /** Set fill color to a specific color. If the fill color the same as the line color, it is an opaque fill, otherwise it is an outline fill */\r\n color?: ColorDefProps;\r\n /** Set fill using gradient properties. */\r\n gradient?: Gradient.SymbProps;\r\n}\r\n\r\n/** Override [[SubCategoryAppearance.materialId]] for subsequent surface and solid geometry.\r\n * @see [[GeometryStreamEntryProps]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface MaterialProps {\r\n /** Material id to use, specify an invalid [[Id64]] to override [[SubCategoryAppearance.materialId]] with no material. */\r\n materialId?: Id64String;\r\n /** @internal */\r\n origin?: XYZProps;\r\n /** @internal */\r\n size?: XYZProps;\r\n /** @internal */\r\n rotation?: YawPitchRollProps;\r\n}\r\n\r\n/** JSON representation of a brep GeometryStream entry.\r\n * @public\r\n */\r\nexport namespace BRepEntity {\r\n /** Enum for type of solid kernel entity this represents */\r\n export enum Type {\r\n /** Body consisting of at least one solid region */\r\n Solid = 0,\r\n /** Body consisting of connected sets of faces having edges that are shared by a maximum of two faces */\r\n Sheet = 1,\r\n /** Body consisting of connected sets of edges having vertices that are shared by a maximum of two edges */\r\n Wire = 2,\r\n }\r\n\r\n /** Optional symbology that can be assigned to individual faces of a solid or sheet body */\r\n export interface FaceSymbologyProps {\r\n /** Optional color override for face */\r\n color?: ColorDefProps;\r\n /** Optional transparency override for face */\r\n transparency?: number;\r\n /** Optional material override for face */\r\n materialId?: Id64String;\r\n }\r\n\r\n /** Geometry entry representing raw brep data.\r\n * @see [[GeometryStreamEntryProps]]\r\n */\r\n export interface DataProps {\r\n /** data as Base64 encoded string. Must be specifically requested using [[ElementLoadProps.wantBRepData]]. */\r\n data?: Base64EncodedString;\r\n /** body type, default is Solid */\r\n type?: Type;\r\n /** body transform, default is identity */\r\n transform?: TransformProps;\r\n /** body face attachments */\r\n faceSymbology?: FaceSymbologyProps[];\r\n }\r\n}\r\n\r\n/** Add a reference to a [[GeometryPart]] from the GeometryStream of a [[GeometricElement]].\r\n * @see [[GeometryStreamEntryProps]]\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometryPartInstanceProps {\r\n /** GeometryPart id */\r\n part: Id64String;\r\n /** Optional translation relative to element's placement, 0.0,0.0,0.0 if undefined. For a 2d element/translation, supply non-zero x and y only */\r\n origin?: XYZProps;\r\n /** Optional rotation relative to element's placement, 0.0,0.0,0.0 if undefined. For a 2d element/rotation, supply a non-zero yaw angle only */\r\n rotation?: YawPitchRollProps;\r\n /** Optional scale to apply to part, 1.0 if undefined */\r\n scale?: number;\r\n}\r\n\r\n/** Flags applied to the entire contents of a [[GeometryStreamProps]].\r\n * @see GeometryStreamHeaderProps\r\n * @public\r\n * @extensions\r\n */\r\nexport enum GeometryStreamFlags {\r\n /** No flags. */\r\n None = 0,\r\n /** When the geometry is displayed, it is always oriented to face the viewer. The placement origin of the element associated with the geometry is used as the rotation point.\r\n * If the placement origin is outside of the view, the geometry will not necessarily be displayed, even if rotating it to face the viewer would cause its range to intersect the viewed volume.\r\n */\r\n ViewIndependent = 1 << 0,\r\n}\r\n\r\n/** An entry in a [[GeometryStreamProps]] containing [[GeometryStreamFlags]] that apply to the geometry stream as a whole.\r\n * If this entry exists in the [[GeometryStreamProps]] array, it will always be the *first* entry.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometryStreamHeaderProps {\r\n /** The flags applied to the geometry stream. */\r\n flags: GeometryStreamFlags;\r\n}\r\n\r\n/** Allowed GeometryStream entries - should only set one value.\r\n * @see [GeometryStream]($docs/learning/common/geometrystream.md)\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometryStreamEntryProps extends GeomJson.GeometryProps {\r\n header?: GeometryStreamHeaderProps;\r\n appearance?: GeometryAppearanceProps;\r\n styleMod?: LineStyle.ModifierProps;\r\n fill?: AreaFillProps;\r\n pattern?: AreaPattern.ParamsProps;\r\n material?: MaterialProps;\r\n geomPart?: GeometryPartInstanceProps;\r\n textString?: TextStringProps;\r\n brep?: BRepEntity.DataProps;\r\n image?: ImageGraphicProps;\r\n subRange?: LowAndHighXYZ;\r\n}\r\n\r\n/** A [[GeometricElement]]'s GeometryStream is represented by an array of [[GeometryStreamEntryProps]].\r\n * @public\r\n * @extensions\r\n */\r\nexport type GeometryStreamProps = GeometryStreamEntryProps[];\r\n\r\n/** GeometryStreamBuilder is a helper class for populating the [[GeometryStreamProps]] array needed to create a [[GeometricElement]] or [[GeometryPart]].\r\n * @public\r\n */\r\nexport class GeometryStreamBuilder {\r\n /** Current inverse placement transform, used for converting world coordinate input to be placement relative */\r\n private _worldToLocal?: Transform;\r\n /** GeometryStream entries */\r\n public readonly geometryStream: GeometryStreamProps = [];\r\n\r\n /** Supply optional local to world transform. Used to transform world coordinate input relative to element placement.\r\n * For a [[GeometricElement]]'s placement to be meaningful, world coordinate geometry should never be appended to an element with an identity placement.\r\n * Can be called with undefined or identity transform to start appending geometry supplied in local coordinates again.\r\n */\r\n public setLocalToWorld(localToWorld?: Transform) {\r\n this._worldToLocal = (undefined === localToWorld || localToWorld.isIdentity ? undefined : localToWorld.inverse());\r\n }\r\n\r\n /** Supply local to world transform from a Point3d and optional YawPitchRollAngles.\r\n * @see [[Placement3d]]\r\n */\r\n public setLocalToWorld3d(origin: Point3d, angles: YawPitchRollAngles = YawPitchRollAngles.createDegrees(0.0, 0.0, 0.0)) {\r\n this.setLocalToWorld(Transform.createOriginAndMatrix(origin, angles.toMatrix3d()));\r\n }\r\n\r\n /** Supply local to world transform from a Point2d and optional Angle.\r\n * @see [[Placement2d]]\r\n */\r\n public setLocalToWorld2d(origin: Point2d, angle: Angle = Angle.createDegrees(0.0)) {\r\n this.setLocalToWorld(Transform.createOriginAndMatrix(Point3d.createFrom(origin), Matrix3d.createRotationAroundVector(Vector3d.unitZ(), angle)));\r\n }\r\n\r\n /** Supply local to world transform from a PlacementProps2d or PlacementProps3d.\r\n * @see [[PlacementProps]]\r\n */\r\n public setLocalToWorldFromPlacement(props: PlacementProps) {\r\n const placement = isPlacement2dProps(props) ? Placement2d.fromJSON(props) : Placement3d.fromJSON(props);\r\n this.setLocalToWorld(placement.transform);\r\n }\r\n\r\n /** Store local ranges in GeometryStream for all subsequent geometry appended. Can improve performance of range testing for elements with a GeometryStream\r\n * containing more than one [[GeometryQuery]] differentiable by range. Not useful for a single [[GeometryQuery]] as its range and that of the [[GeometricElement]] are the same.\r\n * Ignored when defining a [[GeometryPart]] and not needed when only appending [[GeometryPart]] instances to a [[GeometricElement]] as these store their own range.\r\n */\r\n public appendGeometryRanges() {\r\n this.geometryStream.push({ subRange: Range3d.createNull() });\r\n }\r\n\r\n /** Change [[SubCategory]] or reset to [[SubCategoryAppearance]] for subsequent geometry.\r\n * An invalid sub-category id can be supplied to force a reset to the current [[SubCategoryAppearance]].\r\n * It is not valid to change the sub-category when defining a [[GeometryPart]]. A [[GeometryPart]] inherit the symbology of their instance for anything not explicitly overridden.\r\n */\r\n public appendSubCategoryChange(subCategoryId: Id64String): boolean {\r\n this.geometryStream.push({ appearance: { subCategory: subCategoryId } });\r\n return true;\r\n }\r\n\r\n /** Change [[GeometryParams]] for subsequent geometry.\r\n * It is not valid to change the sub-category when defining a [[GeometryPart]]. A [[GeometryPart]] inherits the symbology of their instance for anything not explicitly overridden.\r\n */\r\n public appendGeometryParamsChange(geomParams: GeometryParams): boolean {\r\n const appearance: GeometryAppearanceProps = {\r\n subCategory: geomParams.subCategoryId,\r\n color: geomParams.lineColor?.toJSON(),\r\n weight: geomParams.weight,\r\n style: geomParams.styleInfo?.styleId,\r\n transparency: geomParams.elmTransparency,\r\n displayPriority: geomParams.elmPriority,\r\n geometryClass: geomParams.geometryClass,\r\n };\r\n this.geometryStream.push({ appearance });\r\n\r\n if (undefined !== geomParams.materialId)\r\n this.geometryStream.push({ material: { materialId: geomParams.materialId } });\r\n\r\n if (undefined !== geomParams.fillDisplay && FillDisplay.Never !== geomParams.fillDisplay) {\r\n const fill: AreaFillProps = {\r\n display: geomParams.fillDisplay,\r\n transparency: geomParams.fillTransparency,\r\n };\r\n if (undefined !== geomParams.gradient && Gradient.Mode.None !== geomParams.gradient.mode)\r\n fill.gradient = geomParams.gradient?.toJSON();\r\n else if (undefined !== geomParams.backgroundFill && BackgroundFill.None !== geomParams.backgroundFill)\r\n fill.backgroundFill = geomParams.backgroundFill;\r\n else if (undefined !== geomParams.fillColor)\r\n fill.color = geomParams.fillColor.toJSON();\r\n this.geometryStream.push({ fill });\r\n }\r\n\r\n if (undefined !== geomParams.pattern) {\r\n const localPattern = this._worldToLocal ? geomParams.pattern.clone() : geomParams.pattern;\r\n if (undefined !== this._worldToLocal && !localPattern.applyTransform(this._worldToLocal))\r\n return false;\r\n\r\n this.geometryStream.push({ pattern: localPattern.toJSON() });\r\n }\r\n\r\n if (undefined !== geomParams.styleInfo && undefined !== geomParams.styleInfo.styleMod) {\r\n const localStyleMod = new LineStyle.Modifier(geomParams.styleInfo.styleMod);\r\n if (undefined !== this._worldToLocal && !localStyleMod.applyTransform(this._worldToLocal))\r\n return false;\r\n this.geometryStream.push({ styleMod: localStyleMod });\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** Append a [[GeometryPart]] instance with relative position, orientation, and scale to a [[GeometryStreamProps]] array for creating a [[GeometricElement3d]].\r\n * Not valid when defining a [[GeometryPart]] as nesting of parts is not supported.\r\n */\r\n public appendGeometryPart3d(partId: Id64String, instanceOrigin?: Point3d, instanceRotation?: YawPitchRollAngles, instanceScale?: number): boolean {\r\n if (undefined === this._worldToLocal) {\r\n this.geometryStream.push({ geomPart: { part: partId, origin: instanceOrigin, rotation: instanceRotation, scale: instanceScale } });\r\n return true;\r\n }\r\n const partTrans = Transform.createOriginAndMatrix(instanceOrigin, instanceRotation ? instanceRotation.toMatrix3d() : Matrix3d.createIdentity());\r\n if (undefined !== instanceScale)\r\n partTrans.matrix.scaleColumnsInPlace(instanceScale, instanceScale, instanceScale);\r\n const resultTrans = this._worldToLocal.multiplyTransformTransform(partTrans);\r\n const scales = new Vector3d();\r\n if (!resultTrans.matrix.normalizeColumnsInPlace(scales))\r\n return false;\r\n const newRotation = YawPitchRollAngles.createFromMatrix3d(resultTrans.matrix);\r\n if (undefined === newRotation)\r\n return false;\r\n this.geometryStream.push({ geomPart: { part: partId, origin: resultTrans.getOrigin(), rotation: newRotation, scale: scales.x } });\r\n return true;\r\n }\r\n\r\n /** Append a [[GeometryPart]] instance with relative position, orientation, and scale to a [[GeometryStreamProps]] array for creating a [[GeometricElement2d]].\r\n * Not valid when defining a [[GeometryPart]] as nesting of parts is not supported.\r\n */\r\n public appendGeometryPart2d(partId: Id64String, instanceOrigin?: Point2d, instanceRotation?: Angle, instanceScale?: number): boolean {\r\n return this.appendGeometryPart3d(partId, instanceOrigin ? Point3d.createFrom(instanceOrigin) : undefined, instanceRotation ? new YawPitchRollAngles(instanceRotation) : undefined, instanceScale);\r\n }\r\n\r\n /** Append a [[TextString]] supplied in either local or world coordinates to the [[GeometryStreamProps]] array */\r\n public appendTextString(textString: TextString): boolean {\r\n if (undefined === this._worldToLocal) {\r\n this.geometryStream.push({ textString });\r\n return true;\r\n }\r\n const localTextString = new TextString(textString);\r\n if (!localTextString.transformInPlace(this._worldToLocal))\r\n return false;\r\n this.geometryStream.push({ textString: localTextString });\r\n return true;\r\n }\r\n\r\n /** Append an [[ImageGraphic]] supplied in either local or world coordinates. */\r\n public appendImage(image: ImageGraphic): boolean {\r\n if (undefined !== this._worldToLocal)\r\n image = image.cloneTransformed(this._worldToLocal);\r\n\r\n this.geometryStream.push({ image: image.toJSON() });\r\n return true;\r\n }\r\n\r\n /** Append a [[GeometryQuery]] supplied in either local or world coordinates to the [[GeometryStreamProps]] array */\r\n public appendGeometry(geometry: GeometryQuery): boolean {\r\n if (undefined === this._worldToLocal) {\r\n const geomData = GeomJson.Writer.toIModelJson(geometry);\r\n if (undefined === geomData)\r\n return false;\r\n this.geometryStream.push(geomData);\r\n return true;\r\n }\r\n const localGeometry = geometry.cloneTransformed(this._worldToLocal);\r\n if (undefined === localGeometry)\r\n return false;\r\n const localGeomData = GeomJson.Writer.toIModelJson(localGeometry);\r\n if (undefined === localGeomData)\r\n return false;\r\n this.geometryStream.push(localGeomData);\r\n return true;\r\n }\r\n\r\n /** Append [[BRepEntity.DataProps]] supplied in either local or world coordinates to the [[GeometryStreamProps]] array\r\n * @beta\r\n */\r\n public appendBRepData(brep: BRepEntity.DataProps): boolean {\r\n if (undefined === this._worldToLocal) {\r\n this.geometryStream.push({ brep });\r\n return true;\r\n }\r\n const entityTrans = Transform.fromJSON(brep.transform);\r\n const localTrans = entityTrans.multiplyTransformTransform(this._worldToLocal);\r\n const localBrep: BRepEntity.DataProps = {\r\n data: brep.data,\r\n type: brep.type,\r\n transform: localTrans.isIdentity ? undefined : localTrans.toJSON(),\r\n faceSymbology: brep.faceSymbology,\r\n };\r\n this.geometryStream.push({ brep: localBrep });\r\n return true;\r\n }\r\n\r\n /** @internal */\r\n public getHeader(): GeometryStreamHeaderProps | undefined {\r\n return 0 < this.geometryStream.length ? this.geometryStream[0].header : undefined;\r\n }\r\n\r\n /** @internal */\r\n public obtainHeader(): GeometryStreamHeaderProps {\r\n const hdr = this.getHeader();\r\n if (undefined !== hdr)\r\n return hdr;\r\n\r\n const entry = { header: { flags: GeometryStreamFlags.None } };\r\n this.geometryStream.unshift(entry);\r\n return entry.header;\r\n }\r\n\r\n /** Controls whether or not the geometry in the stream should be displayed as view-independent.\r\n * When view-independent geometry is displayed, it is always oriented to face the viewer, using the placement origin of the element as the rotation point.\r\n * If the placement origin is outside of the view, the geometry will not necessarily be displayed, even if rotating it to face the viewer would cause its range to intersect the viewed volume\r\n * @public\r\n */\r\n public get isViewIndependent(): boolean {\r\n const hdr = this.getHeader();\r\n return undefined !== hdr && GeometryStreamFlags.None !== (hdr.flags & GeometryStreamFlags.ViewIndependent);\r\n }\r\n public set isViewIndependent(viewIndependent: boolean) {\r\n if (viewIndependent === this.isViewIndependent)\r\n return;\r\n\r\n const hdr = this.obtainHeader();\r\n if (viewIndependent)\r\n hdr.flags |= GeometryStreamFlags.ViewIndependent;\r\n else\r\n hdr.flags &= ~GeometryStreamFlags.ViewIndependent;\r\n }\r\n}\r\n\r\n/** Represents a text string within a GeometryStream.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TextStringPrimitive {\r\n type: \"textString\";\r\n readonly textString: TextString;\r\n}\r\n\r\n/** Represents an image within a GeometryStream.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ImagePrimitive {\r\n type: \"image\";\r\n readonly image: ImageGraphic;\r\n}\r\n\r\n/** Represents a reference to a GeometryPart within a GeometryStream.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PartReference {\r\n type: \"partReference\";\r\n part: {\r\n id: Id64String;\r\n readonly toLocal?: Transform;\r\n };\r\n}\r\n\r\n/** Represents a BRep within a GeometryStream.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface BRepPrimitive {\r\n type: \"brep\";\r\n /** @beta */\r\n readonly brep: BRepEntity.DataProps;\r\n}\r\n\r\n/** Represents one of a variety of GeometryQuery objects within a GeometryStream.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometryPrimitive {\r\n type: \"geometryQuery\";\r\n readonly geometry: AnyGeometryQuery;\r\n}\r\n\r\n/** Union of all possible geometric primitive types that may appear within a GeometryStream.\r\n * @public\r\n * @extensions\r\n */\r\nexport type GeometryStreamPrimitive = TextStringPrimitive | PartReference | BRepPrimitive | GeometryPrimitive | ImagePrimitive;\r\n\r\n/** Holds current state information for [[GeometryStreamIterator]]. Each entry represents exactly one geometry primitive in the stream.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GeometryStreamIteratorEntry {\r\n /** A [[GeometryParams]] representing the appearance of the current geometric entry */\r\n readonly geomParams: GeometryParams;\r\n /** Placement transform, used for converting placement relative, local coordinate entries to world */\r\n readonly localToWorld?: Transform;\r\n /** Optional stored local range for the current geometric entry */\r\n readonly localRange?: Range3d;\r\n /** Returns the geometric primitive represented by this entry. */\r\n readonly primitive: GeometryStreamPrimitive;\r\n}\r\n\r\nclass IteratorEntry implements GeometryStreamIteratorEntry {\r\n private _primitive?: GeometryStreamPrimitive;\r\n public readonly geomParams: GeometryParams;\r\n public readonly localToWorld?: Transform;\r\n public localRange?: Range3d;\r\n\r\n public constructor(appearance: Id64String | GeometryParams, localToWorld?: Transform) {\r\n this.geomParams = typeof appearance === \"string\" ? new GeometryParams(appearance) : appearance;\r\n this.localToWorld = localToWorld;\r\n }\r\n\r\n public get primitive() { return this._primitive!; }\r\n public set primitive(primitive: GeometryStreamPrimitive) { this._primitive = primitive; }\r\n\r\n public setGeometryQuery(geometry: AnyGeometryQuery) { this._primitive = { type: \"geometryQuery\", geometry }; }\r\n public setTextString(textString: TextString) { this._primitive = { type: \"textString\", textString }; }\r\n public setBRep(brep: BRepEntity.DataProps) { this._primitive = { type: \"brep\", brep }; }\r\n public setImage(image: ImageGraphic) { this._primitive = { type: \"image\", image }; }\r\n public setPartReference(id: Id64String, toLocal?: Transform) {\r\n this._primitive = {\r\n type: \"partReference\",\r\n part: { id, toLocal },\r\n };\r\n }\r\n}\r\n\r\n/** GeometryStreamIterator is a helper class for iterating a [[GeometryStreamProps]].\r\n * A [[GeometricElement]]'s GeometryStream must be specifically requested using [[ElementLoadProps.wantGeometry]].\r\n * Each [[GeometryStreamIteratorEntry]] returned by the iterator represents exactly one geometric primitive in the stream.\r\n * @public\r\n */\r\nexport class GeometryStreamIterator implements IterableIterator<GeometryStreamIteratorEntry> {\r\n /** GeometryStream entries */\r\n public geometryStream: GeometryStreamProps;\r\n /** Flags applied to the entire geometry stream. */\r\n public readonly flags: GeometryStreamFlags;\r\n /** Current entry position */\r\n private _index = 0;\r\n /** Allocated on first call to next() and reused thereafter. */\r\n private _entry?: IteratorEntry;\r\n /** Used to initialize this._entry. */\r\n private readonly _appearance: Id64String | GeometryParams;\r\n private readonly _localToWorld?: Transform;\r\n\r\n /** Construct a new GeometryStreamIterator given a [[GeometryStreamProps]] from either a [[GeometricElement3d]], [[GeometricElement2d]], or [[GeometryPart]].\r\n * Supply the [[GeometricElement]]'s category to initialize the appearance information for each geometric entry.\r\n */\r\n public constructor(geometryStream: GeometryStreamProps, categoryOrGeometryParams?: Id64String | GeometryParams, localToWorld?: Transform) {\r\n this.geometryStream = geometryStream;\r\n this._appearance = categoryOrGeometryParams ?? Id64.invalid;\r\n this._localToWorld = localToWorld;\r\n if (0 < geometryStream.length && undefined !== geometryStream[0].header) {\r\n this.flags = geometryStream[0].header.flags;\r\n ++this._index;\r\n } else {\r\n this.flags = GeometryStreamFlags.None;\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private get entry() {\r\n if (undefined === this._entry)\r\n this._entry = new IteratorEntry(this._appearance, this._localToWorld);\r\n\r\n return this._entry;\r\n }\r\n\r\n /** Create a new GeometryStream iterator for a [[GeometricElement3d]].\r\n * If [[GeometricElement3dProps.placement]] is not undefined, placement relative entries will be returned transformed to world coordinates.\r\n * @throws [[IModelError]] if element.geom is undefined.\r\n */\r\n public static fromGeometricElement3d(element: Pick<GeometricElement3dProps, \"geom\" | \"placement\" | \"category\">) {\r\n if (element.geom === undefined)\r\n throw new IModelError(IModelStatus.NoGeometry, \"GeometricElement has no geometry or geometry wasn't requested\");\r\n\r\n let transform;\r\n if (element.placement !== undefined)\r\n transform = Transform.createOriginAndMatrix(Point3d.fromJSON(element.placement.origin), YawPitchRollAngles.fromJSON(element.placement.angles).toMatrix3d());\r\n\r\n return new GeometryStreamIterator(element.geom, element.category, transform);\r\n }\r\n\r\n /** Create a new GeometryStream iterator for a [[GeometricElement2d]].\r\n * If [[GeometricElement2dProps.placement]] is not undefined, placement relative entries will be returned transformed to world coordinates.\r\n * @throws [[IModelError]] if element.geom is undefined.\r\n */\r\n public static fromGeometricElement2d(element: Pick<GeometricElement2dProps, \"geom\" | \"placement\" | \"category\">) {\r\n if (element.geom === undefined)\r\n throw new IModelError(IModelStatus.NoGeometry, \"GeometricElement has no geometry or geometry wasn't requested\");\r\n\r\n let transform;\r\n if (element.placement !== undefined) {\r\n const origin = Point3d.createFrom(Point2d.fromJSON(element.placement.origin));\r\n const matrix = Matrix3d.createRotationAroundVector(Vector3d.unitZ(), Angle.fromJSON(element.placement.angle))!;\r\n transform = Transform.createOriginAndMatrix(origin, matrix);\r\n }\r\n\r\n return new GeometryStreamIterator(element.geom, element.category, transform);\r\n }\r\n\r\n /** Create a new GeometryStream iterator for a [[GeometryPart]].\r\n * To iterate a part's GeometryStream in the context of a part instance found for a [[GeometricElement]], provide the optional [[GeometryParams]] and Transform from the [[GeometricElement]]'s [[GeometryStreamIterator]].\r\n * Supply the [[GeometryParams]] to return appearance information as inherited from the [[GeometricElement]].\r\n * Supply the partToWorld transform to return the part geometry in world coordinates.\r\n * Supply the partToLocal transform to return the part geometry relative to the [[GeometricElement]]'s placement.\r\n * @throws [[IModelError]] if geomPart.geom is undefined.\r\n */\r\n public static fromGeometryPart(geomPart: Pick<GeometryPartProps, \"geom\">, geomParams?: GeometryParams, partTransform?: Transform) {\r\n if (geomPart.geom === undefined)\r\n throw new IModelError(IModelStatus.NoGeometry, \"GeometryPart has no geometry or geometry wasn't requested\");\r\n\r\n return new GeometryStreamIterator(geomPart.geom, geomParams?.clone(), partTransform);\r\n }\r\n\r\n /** Get the transform that if applied to a [[GeometryPart]]'s GeometryStream entries would return them in world coordinates. */\r\n public partToWorld(): Transform | undefined {\r\n if (undefined === this._entry)\r\n return this._localToWorld;\r\n\r\n const partToLocal = \"partReference\" === this._entry.primitive.type ? this._entry.primitive.part.toLocal : undefined;\r\n if (this._entry.localToWorld === undefined || partToLocal === undefined)\r\n return this._entry.localToWorld;\r\n\r\n return this._entry.localToWorld.multiplyTransformTransform(partToLocal);\r\n }\r\n\r\n /** Advance to next displayable geometric entry while updating the current [[GeometryParams]] from appearance related entries.\r\n * Geometric entries are [[TextString]], [[GeometryQuery]], [[GeometryPart]], [[ImageGraphic]], and [[BRepEntity.DataProps]].\r\n */\r\n public next(): IteratorResult<GeometryStreamIteratorEntry> {\r\n // NOTE: localRange remains valid until we encounter either a new subRange entry or a geometry part reference.\r\n while (this._index < this.geometryStream.length) {\r\n const entry = this.geometryStream[this._index++];\r\n if (entry.appearance) {\r\n this.entry.geomParams.resetAppearance();\r\n if (entry.appearance.subCategory)\r\n this.entry.geomParams.subCategoryId = Id64.fromJSON(entry.appearance.subCategory);\r\n if (undefined !== entry.appearance.color)\r\n this.entry.geomParams.lineColor = ColorDef.fromJSON(entry.appearance.color);\r\n if (undefined !== entry.appearance.weight)\r\n this.entry.geomParams.weight = entry.appearance.weight;\r\n if (undefined !== entry.appearance.style)\r\n this.entry.geomParams.styleInfo = new LineStyle.Info(Id64.fromJSON(entry.appearance.style));\r\n if (undefined !== entry.appearance.transparency)\r\n this.entry.geomParams.elmTransparency = entry.appearance.transparency;\r\n if (undefined !== entry.appearance.displayPriority)\r\n this.entry.geomParams.elmPriority = entry.appearance.displayPriority;\r\n if (undefined !== entry.appearance.geometryClass)\r\n this.entry.geomParams.geometryClass = entry.appearance.geometryClass;\r\n } else if (entry.styleMod) {\r\n if (this.entry.geomParams.styleInfo === undefined)\r\n continue;\r\n\r\n const styleMod = new LineStyle.Modifier(entry.styleMod);\r\n if (this.entry.localToWorld !== undefined)\r\n styleMod.applyTransform(this.entry.localToWorld);\r\n\r\n this.entry.geomParams.styleInfo = new LineStyle.Info(this.entry.geomParams.styleInfo.styleId, styleMod);\r\n } else if (entry.fill) {\r\n if (entry.fill.display)\r\n this.entry.geomParams.fillDisplay = entry.fill.display;\r\n if (entry.fill.transparency)\r\n this.entry.geomParams.fillTransparency = entry.fill.transparency;\r\n if (entry.fill.gradient)\r\n this.entry.geomParams.gradient = Gradient.Symb.fromJSON(entry.fill.gradient);\r\n else if (entry.fill.backgroundFill)\r\n this.entry.geomParams.backgroundFill = entry.fill.backgroundFill;\r\n else if (entry.fill.color)\r\n this.entry.geomParams.fillColor = ColorDef.fromJSON(entry.fill.color);\r\n } else if (entry.pattern) {\r\n const params = AreaPattern.Params.fromJSON(entry.pattern);\r\n if (this.entry.localToWorld !== undefined)\r\n params.applyTransform(this.entry.localToWorld);\r\n\r\n this.entry.geomParams.pattern = params;\r\n } else if (entry.material) {\r\n if (entry.material.materialId)\r\n this.entry.geomParams.materialId = Id64.fromJSON(entry.material.materialId);\r\n } else if (entry.subRange) {\r\n this.entry.localRange = Range3d.fromJSON(entry.subRange);\r\n } else if (entry.geomPart) {\r\n let transform;\r\n if (entry.geomPart.origin !== undefined || entry.geomPart.rotation !== undefined || entry.geomPart.scale !== undefined) {\r\n const origin = entry.geomPart.origin ? Point3d.fromJSON(entry.geomPart.origin) : Point3d.createZero();\r\n const rotation = entry.geomPart.rotation ? YawPitchRollAngles.fromJSON(entry.geomPart.rotation).toMatrix3d() : Matrix3d.createIdentity();\r\n transform = Transform.createRefs(origin, rotation);\r\n if (entry.geomPart.scale)\r\n transform.multiplyTransformTransform(Transform.createRefs(Point3d.createZero(), Matrix3d.createUniformScale(entry.geomPart.scale)), transform);\r\n }\r\n\r\n // Subgraphic range doesn't apply to parts. A sane geometry stream (i.e., any that has been through the native layers or GeometryStreamBuilder)\r\n // will have a new subgraphic range for any geometric primitive following the part.\r\n this.entry.localRange = undefined;\r\n this.entry.setPartReference(Id64.fromJSON(entry.geomPart.part), transform);\r\n return { value: this.entry, done: false };\r\n } else if (entry.textString) {\r\n const textString = new TextString(entry.textString);\r\n if (this.entry.localToWorld !== undefined)\r\n textString.transformInPlace(this.entry.localToWorld);\r\n\r\n this.entry.setTextString(textString);\r\n return { value: this.entry, done: false };\r\n } else if (entry.image) {\r\n const image = ImageGraphic.fromJSON(entry.image);\r\n if (undefined !== this.entry.localToWorld)\r\n image.transformInPlace(this.entry.localToWorld);\r\n\r\n this.entry.setImage(image);\r\n return { value: this.entry, done: false };\r\n } else if (entry.brep) {\r\n if (this.entry.localToWorld !== undefined) {\r\n const entityTrans = Transform.fromJSON(entry.brep.transform);\r\n entry.brep.transform = entityTrans.multiplyTransformTransform(this.entry.localToWorld).toJSON();\r\n }\r\n\r\n this.entry.setBRep(entry.brep);\r\n return { value: this.entry, done: false };\r\n } else {\r\n const geometryQuery = GeomJson.Reader.parse(entry);\r\n if (!(geometryQuery instanceof GeometryQuery))\r\n continue;\r\n\r\n if (this.entry.localToWorld !== undefined)\r\n geometryQuery.tryTransformInPlace(this.entry.localToWorld);\r\n\r\n this.entry.setGeometryQuery(geometryQuery);\r\n return { value: this.entry, done: false };\r\n }\r\n }\r\n\r\n return { value: this.entry, done: true };\r\n }\r\n\r\n public [Symbol.iterator](): IterableIterator<GeometryStreamIteratorEntry> {\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public get isViewIndependent(): boolean { return GeometryStreamFlags.None !== (this.flags & GeometryStreamFlags.ViewIndependent); }\r\n}\r\n"]}
1
+ {"version":3,"file":"GeometryStream.js","sourceRoot":"","sources":["../../../src/geometry/GeometryStream.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 Geometry\n */\n\nimport { Id64, Id64String, IModelStatus } from \"@itwin/core-bentley\";\nimport {\n Angle, AnyGeometryQuery, GeometryQuery, IModelJson as GeomJson, LowAndHighXYZ, Matrix3d, Point2d, Point3d, Range3d, Transform, TransformProps,\n Vector3d, XYZProps, YawPitchRollAngles, YawPitchRollProps,\n} from \"@itwin/core-geometry\";\nimport { ColorDef, ColorDefProps } from \"../ColorDef\";\nimport { GeometricElement2dProps, GeometricElement3dProps, GeometryPartProps, isPlacement2dProps, PlacementProps } from \"../ElementProps\";\nimport { BackgroundFill, FillDisplay, GeometryClass, GeometryParams } from \"../GeometryParams\";\nimport { Gradient } from \"../Gradient\";\nimport { IModelError } from \"../IModelError\";\nimport { AreaPattern } from \"./AreaPattern\";\nimport { ImageGraphic, ImageGraphicProps } from \"./ImageGraphic\";\nimport { LineStyle } from \"./LineStyle\";\nimport { TextString, TextStringProps } from \"./TextString\";\nimport { Base64EncodedString } from \"../Base64EncodedString\";\nimport { Placement2d, Placement3d } from \"./Placement\";\n\n/** Establish a non-default [[SubCategory]] or to override [[SubCategoryAppearance]] for the geometry that follows.\n * A GeometryAppearanceProps always signifies a reset to the [[SubCategoryAppearance]] for subsequent [[GeometryStreamProps]] entries for undefined values.\n * @see [[GeometryStreamEntryProps]]\n * @public\n * @extensions\n */\nexport interface GeometryAppearanceProps {\n /** Optional [[SubCategory]] id for subsequent geometry. Use to create a GeometryStream with geometry that is not on the default [[SubCategory]] for the element's [[Category]] or is has geometry on multiple subCategories. */\n subCategory?: Id64String;\n /** Optional color to override [[SubCategoryAppearance.color]] for subsequent geometry. */\n color?: ColorDefProps;\n /** Optional weight to override [[SubCategoryAppearance.weight]] for subsequent geometry. */\n weight?: number;\n /** Optional style to override [[SubCategoryAppearance.styleId]] for subsequent geometry. */\n style?: Id64String;\n /** Optional transparency, 0.0 if undefined. Effective transparency is a combination of this value and [[SubCategoryAppearance.color]]. */\n transparency?: number;\n /** Optional display priority (2d only), 0 if undefined. Effective display priority is a combination of this value and [[SubCategoryAppearance.priority]]. */\n displayPriority?: number;\n /** Optional GeometryClass (for DGN compatibility, subCategories preferred), [[GeometryClass.Primary]] if undefined. */\n geometryClass?: GeometryClass;\n}\n\n/** Add a [[gradient]], [[backgroundFill]], or solid [[color]] fill to subsequent planar regions (or meshes).\n * Only one value among [[gradient]], [[backgroundFill]], and [[color]] should be set.\n * @see [[GeometryStreamEntryProps]]\n * @public\n * @extensions\n */\nexport interface AreaFillProps {\n /** Fill display type, must be set to something other than [[FillDisplay.Never]] to display fill */\n display: FillDisplay;\n /** Optional fill transparency, will be the same as outline transparency if undefined. Allows for different fill and outline transparencies */\n transparency?: number;\n /** Set fill color to view background color. Use [[BackgroundFill.Solid]] for an opaque fill and [[BackgroundFill.Outline]] to display an outline using the line color */\n backgroundFill?: BackgroundFill;\n /** Set fill color to a specific color. If the fill color the same as the line color, it is an opaque fill, otherwise it is an outline fill */\n color?: ColorDefProps;\n /** Set fill using gradient properties. */\n gradient?: Gradient.SymbProps;\n}\n\n/** Override [[SubCategoryAppearance.materialId]] for subsequent surface and solid geometry.\n * @see [[GeometryStreamEntryProps]]\n * @public\n * @extensions\n */\nexport interface MaterialProps {\n /** Material id to use, specify an invalid [[Id64]] to override [[SubCategoryAppearance.materialId]] with no material. */\n materialId?: Id64String;\n /** @internal */\n origin?: XYZProps;\n /** @internal */\n size?: XYZProps;\n /** @internal */\n rotation?: YawPitchRollProps;\n}\n\n/** JSON representation of a brep GeometryStream entry.\n * @public\n */\nexport namespace BRepEntity {\n /** Enum for type of solid kernel entity this represents */\n export enum Type {\n /** Body consisting of at least one solid region */\n Solid = 0,\n /** Body consisting of connected sets of faces having edges that are shared by a maximum of two faces */\n Sheet = 1,\n /** Body consisting of connected sets of edges having vertices that are shared by a maximum of two edges */\n Wire = 2,\n }\n\n /** Optional symbology that can be assigned to individual faces of a solid or sheet body */\n export interface FaceSymbologyProps {\n /** Optional color override for face */\n color?: ColorDefProps;\n /** Optional transparency override for face */\n transparency?: number;\n /** Optional material override for face */\n materialId?: Id64String;\n }\n\n /** Geometry entry representing raw brep data.\n * @see [[GeometryStreamEntryProps]]\n */\n export interface DataProps {\n /** data as Base64 encoded string. Must be specifically requested using [[ElementLoadProps.wantBRepData]]. */\n data?: Base64EncodedString;\n /** body type, default is Solid */\n type?: Type;\n /** body transform, default is identity */\n transform?: TransformProps;\n /** body face attachments */\n faceSymbology?: FaceSymbologyProps[];\n }\n}\n\n/** Add a reference to a [[GeometryPart]] from the GeometryStream of a [[GeometricElement]].\n * @see [[GeometryStreamEntryProps]]\n * @public\n * @extensions\n */\nexport interface GeometryPartInstanceProps {\n /** GeometryPart id */\n part: Id64String;\n /** Optional translation relative to element's placement, 0.0,0.0,0.0 if undefined. For a 2d element/translation, supply non-zero x and y only */\n origin?: XYZProps;\n /** Optional rotation relative to element's placement, 0.0,0.0,0.0 if undefined. For a 2d element/rotation, supply a non-zero yaw angle only */\n rotation?: YawPitchRollProps;\n /** Optional scale to apply to part, 1.0 if undefined */\n scale?: number;\n}\n\n/** Flags applied to the entire contents of a [[GeometryStreamProps]].\n * @see GeometryStreamHeaderProps\n * @public\n * @extensions\n */\nexport enum GeometryStreamFlags {\n /** No flags. */\n None = 0,\n /** When the geometry is displayed, it is always oriented to face the viewer. The placement origin of the element associated with the geometry is used as the rotation point.\n * If the placement origin is outside of the view, the geometry will not necessarily be displayed, even if rotating it to face the viewer would cause its range to intersect the viewed volume.\n */\n ViewIndependent = 1 << 0,\n}\n\n/** An entry in a [[GeometryStreamProps]] containing [[GeometryStreamFlags]] that apply to the geometry stream as a whole.\n * If this entry exists in the [[GeometryStreamProps]] array, it will always be the *first* entry.\n * @public\n * @extensions\n */\nexport interface GeometryStreamHeaderProps {\n /** The flags applied to the geometry stream. */\n flags: GeometryStreamFlags;\n}\n\n/** Allowed GeometryStream entries - should only set one value.\n * @see [GeometryStream]($docs/learning/common/geometrystream.md)\n * @public\n * @extensions\n */\nexport interface GeometryStreamEntryProps extends GeomJson.GeometryProps {\n header?: GeometryStreamHeaderProps;\n appearance?: GeometryAppearanceProps;\n styleMod?: LineStyle.ModifierProps;\n fill?: AreaFillProps;\n pattern?: AreaPattern.ParamsProps;\n material?: MaterialProps;\n geomPart?: GeometryPartInstanceProps;\n textString?: TextStringProps;\n brep?: BRepEntity.DataProps;\n image?: ImageGraphicProps;\n subRange?: LowAndHighXYZ;\n}\n\n/** A [[GeometricElement]]'s GeometryStream is represented by an array of [[GeometryStreamEntryProps]].\n * @public\n * @extensions\n */\nexport type GeometryStreamProps = GeometryStreamEntryProps[];\n\n/** GeometryStreamBuilder is a helper class for populating the [[GeometryStreamProps]] array needed to create a [[GeometricElement]] or [[GeometryPart]].\n * @public\n */\nexport class GeometryStreamBuilder {\n /** Current inverse placement transform, used for converting world coordinate input to be placement relative */\n private _worldToLocal?: Transform;\n /** GeometryStream entries */\n public readonly geometryStream: GeometryStreamProps = [];\n\n /** Supply optional local to world transform. Used to transform world coordinate input relative to element placement.\n * For a [[GeometricElement]]'s placement to be meaningful, world coordinate geometry should never be appended to an element with an identity placement.\n * Can be called with undefined or identity transform to start appending geometry supplied in local coordinates again.\n */\n public setLocalToWorld(localToWorld?: Transform) {\n this._worldToLocal = (undefined === localToWorld || localToWorld.isIdentity ? undefined : localToWorld.inverse());\n }\n\n /** Supply local to world transform from a Point3d and optional YawPitchRollAngles.\n * @see [[Placement3d]]\n */\n public setLocalToWorld3d(origin: Point3d, angles: YawPitchRollAngles = YawPitchRollAngles.createDegrees(0.0, 0.0, 0.0)) {\n this.setLocalToWorld(Transform.createOriginAndMatrix(origin, angles.toMatrix3d()));\n }\n\n /** Supply local to world transform from a Point2d and optional Angle.\n * @see [[Placement2d]]\n */\n public setLocalToWorld2d(origin: Point2d, angle: Angle = Angle.createDegrees(0.0)) {\n this.setLocalToWorld(Transform.createOriginAndMatrix(Point3d.createFrom(origin), Matrix3d.createRotationAroundVector(Vector3d.unitZ(), angle)));\n }\n\n /** Supply local to world transform from a PlacementProps2d or PlacementProps3d.\n * @see [[PlacementProps]]\n */\n public setLocalToWorldFromPlacement(props: PlacementProps) {\n const placement = isPlacement2dProps(props) ? Placement2d.fromJSON(props) : Placement3d.fromJSON(props);\n this.setLocalToWorld(placement.transform);\n }\n\n /** Store local ranges in GeometryStream for all subsequent geometry appended. Can improve performance of range testing for elements with a GeometryStream\n * containing more than one [[GeometryQuery]] differentiable by range. Not useful for a single [[GeometryQuery]] as its range and that of the [[GeometricElement]] are the same.\n * Ignored when defining a [[GeometryPart]] and not needed when only appending [[GeometryPart]] instances to a [[GeometricElement]] as these store their own range.\n */\n public appendGeometryRanges() {\n this.geometryStream.push({ subRange: Range3d.createNull() });\n }\n\n /** Change [[SubCategory]] or reset to [[SubCategoryAppearance]] for subsequent geometry.\n * An invalid sub-category id can be supplied to force a reset to the current [[SubCategoryAppearance]].\n * It is not valid to change the sub-category when defining a [[GeometryPart]]. A [[GeometryPart]] inherit the symbology of their instance for anything not explicitly overridden.\n */\n public appendSubCategoryChange(subCategoryId: Id64String): boolean {\n this.geometryStream.push({ appearance: { subCategory: subCategoryId } });\n return true;\n }\n\n /** Change [[GeometryParams]] for subsequent geometry.\n * It is not valid to change the sub-category when defining a [[GeometryPart]]. A [[GeometryPart]] inherits the symbology of their instance for anything not explicitly overridden.\n */\n public appendGeometryParamsChange(geomParams: GeometryParams): boolean {\n const appearance: GeometryAppearanceProps = {\n subCategory: geomParams.subCategoryId,\n color: geomParams.lineColor?.toJSON(),\n weight: geomParams.weight,\n style: geomParams.styleInfo?.styleId,\n transparency: geomParams.elmTransparency,\n displayPriority: geomParams.elmPriority,\n geometryClass: geomParams.geometryClass,\n };\n this.geometryStream.push({ appearance });\n\n if (undefined !== geomParams.materialId)\n this.geometryStream.push({ material: { materialId: geomParams.materialId } });\n\n if (undefined !== geomParams.fillDisplay && FillDisplay.Never !== geomParams.fillDisplay) {\n const fill: AreaFillProps = {\n display: geomParams.fillDisplay,\n transparency: geomParams.fillTransparency,\n };\n if (undefined !== geomParams.gradient && Gradient.Mode.None !== geomParams.gradient.mode)\n fill.gradient = geomParams.gradient?.toJSON();\n else if (undefined !== geomParams.backgroundFill && BackgroundFill.None !== geomParams.backgroundFill)\n fill.backgroundFill = geomParams.backgroundFill;\n else if (undefined !== geomParams.fillColor)\n fill.color = geomParams.fillColor.toJSON();\n this.geometryStream.push({ fill });\n }\n\n if (undefined !== geomParams.pattern) {\n const localPattern = this._worldToLocal ? geomParams.pattern.clone() : geomParams.pattern;\n if (undefined !== this._worldToLocal && !localPattern.applyTransform(this._worldToLocal))\n return false;\n\n this.geometryStream.push({ pattern: localPattern.toJSON() });\n }\n\n if (undefined !== geomParams.styleInfo && undefined !== geomParams.styleInfo.styleMod) {\n const localStyleMod = new LineStyle.Modifier(geomParams.styleInfo.styleMod);\n if (undefined !== this._worldToLocal && !localStyleMod.applyTransform(this._worldToLocal))\n return false;\n this.geometryStream.push({ styleMod: localStyleMod });\n }\n\n return true;\n }\n\n /** Append a [[GeometryPart]] instance with relative position, orientation, and scale to a [[GeometryStreamProps]] array for creating a [[GeometricElement3d]].\n * Not valid when defining a [[GeometryPart]] as nesting of parts is not supported.\n */\n public appendGeometryPart3d(partId: Id64String, instanceOrigin?: Point3d, instanceRotation?: YawPitchRollAngles, instanceScale?: number): boolean {\n if (undefined === this._worldToLocal) {\n this.geometryStream.push({ geomPart: { part: partId, origin: instanceOrigin, rotation: instanceRotation, scale: instanceScale } });\n return true;\n }\n const partTrans = Transform.createOriginAndMatrix(instanceOrigin, instanceRotation ? instanceRotation.toMatrix3d() : Matrix3d.createIdentity());\n if (undefined !== instanceScale)\n partTrans.matrix.scaleColumnsInPlace(instanceScale, instanceScale, instanceScale);\n const resultTrans = this._worldToLocal.multiplyTransformTransform(partTrans);\n const scales = new Vector3d();\n if (!resultTrans.matrix.normalizeColumnsInPlace(scales))\n return false;\n const newRotation = YawPitchRollAngles.createFromMatrix3d(resultTrans.matrix);\n if (undefined === newRotation)\n return false;\n this.geometryStream.push({ geomPart: { part: partId, origin: resultTrans.getOrigin(), rotation: newRotation, scale: scales.x } });\n return true;\n }\n\n /** Append a [[GeometryPart]] instance with relative position, orientation, and scale to a [[GeometryStreamProps]] array for creating a [[GeometricElement2d]].\n * Not valid when defining a [[GeometryPart]] as nesting of parts is not supported.\n */\n public appendGeometryPart2d(partId: Id64String, instanceOrigin?: Point2d, instanceRotation?: Angle, instanceScale?: number): boolean {\n return this.appendGeometryPart3d(partId, instanceOrigin ? Point3d.createFrom(instanceOrigin) : undefined, instanceRotation ? new YawPitchRollAngles(instanceRotation) : undefined, instanceScale);\n }\n\n /** Append a [[TextString]] supplied in either local or world coordinates to the [[GeometryStreamProps]] array */\n public appendTextString(textString: TextString): boolean {\n if (undefined === this._worldToLocal) {\n this.geometryStream.push({ textString });\n return true;\n }\n const localTextString = new TextString(textString);\n if (!localTextString.transformInPlace(this._worldToLocal))\n return false;\n this.geometryStream.push({ textString: localTextString });\n return true;\n }\n\n /** Append an [[ImageGraphic]] supplied in either local or world coordinates. */\n public appendImage(image: ImageGraphic): boolean {\n if (undefined !== this._worldToLocal)\n image = image.cloneTransformed(this._worldToLocal);\n\n this.geometryStream.push({ image: image.toJSON() });\n return true;\n }\n\n /** Append a [[GeometryQuery]] supplied in either local or world coordinates to the [[GeometryStreamProps]] array */\n public appendGeometry(geometry: GeometryQuery): boolean {\n if (undefined === this._worldToLocal) {\n const geomData = GeomJson.Writer.toIModelJson(geometry);\n if (undefined === geomData)\n return false;\n this.geometryStream.push(geomData);\n return true;\n }\n const localGeometry = geometry.cloneTransformed(this._worldToLocal);\n if (undefined === localGeometry)\n return false;\n const localGeomData = GeomJson.Writer.toIModelJson(localGeometry);\n if (undefined === localGeomData)\n return false;\n this.geometryStream.push(localGeomData);\n return true;\n }\n\n /** Append [[BRepEntity.DataProps]] supplied in either local or world coordinates to the [[GeometryStreamProps]] array\n * @beta\n */\n public appendBRepData(brep: BRepEntity.DataProps): boolean {\n if (undefined === this._worldToLocal) {\n this.geometryStream.push({ brep });\n return true;\n }\n const entityTrans = Transform.fromJSON(brep.transform);\n const localTrans = entityTrans.multiplyTransformTransform(this._worldToLocal);\n const localBrep: BRepEntity.DataProps = {\n data: brep.data,\n type: brep.type,\n transform: localTrans.isIdentity ? undefined : localTrans.toJSON(),\n faceSymbology: brep.faceSymbology,\n };\n this.geometryStream.push({ brep: localBrep });\n return true;\n }\n\n /** @internal */\n public getHeader(): GeometryStreamHeaderProps | undefined {\n return 0 < this.geometryStream.length ? this.geometryStream[0].header : undefined;\n }\n\n /** @internal */\n public obtainHeader(): GeometryStreamHeaderProps {\n const hdr = this.getHeader();\n if (undefined !== hdr)\n return hdr;\n\n const entry = { header: { flags: GeometryStreamFlags.None } };\n this.geometryStream.unshift(entry);\n return entry.header;\n }\n\n /** Controls whether or not the geometry in the stream should be displayed as view-independent.\n * When view-independent geometry is displayed, it is always oriented to face the viewer, using the placement origin of the element as the rotation point.\n * If the placement origin is outside of the view, the geometry will not necessarily be displayed, even if rotating it to face the viewer would cause its range to intersect the viewed volume\n * @public\n */\n public get isViewIndependent(): boolean {\n const hdr = this.getHeader();\n return undefined !== hdr && GeometryStreamFlags.None !== (hdr.flags & GeometryStreamFlags.ViewIndependent);\n }\n public set isViewIndependent(viewIndependent: boolean) {\n if (viewIndependent === this.isViewIndependent)\n return;\n\n const hdr = this.obtainHeader();\n if (viewIndependent)\n hdr.flags |= GeometryStreamFlags.ViewIndependent;\n else\n hdr.flags &= ~GeometryStreamFlags.ViewIndependent;\n }\n}\n\n/** Represents a text string within a GeometryStream.\n * @public\n * @extensions\n */\nexport interface TextStringPrimitive {\n type: \"textString\";\n readonly textString: TextString;\n}\n\n/** Represents an image within a GeometryStream.\n * @public\n * @extensions\n */\nexport interface ImagePrimitive {\n type: \"image\";\n readonly image: ImageGraphic;\n}\n\n/** Represents a reference to a GeometryPart within a GeometryStream.\n * @public\n * @extensions\n */\nexport interface PartReference {\n type: \"partReference\";\n part: {\n id: Id64String;\n readonly toLocal?: Transform;\n };\n}\n\n/** Represents a BRep within a GeometryStream.\n * @public\n * @extensions\n */\nexport interface BRepPrimitive {\n type: \"brep\";\n /** @beta */\n readonly brep: BRepEntity.DataProps;\n}\n\n/** Represents one of a variety of GeometryQuery objects within a GeometryStream.\n * @public\n * @extensions\n */\nexport interface GeometryPrimitive {\n type: \"geometryQuery\";\n readonly geometry: AnyGeometryQuery;\n}\n\n/** Union of all possible geometric primitive types that may appear within a GeometryStream.\n * @public\n * @extensions\n */\nexport type GeometryStreamPrimitive = TextStringPrimitive | PartReference | BRepPrimitive | GeometryPrimitive | ImagePrimitive;\n\n/** Holds current state information for [[GeometryStreamIterator]]. Each entry represents exactly one geometry primitive in the stream.\n * @public\n * @extensions\n */\nexport interface GeometryStreamIteratorEntry {\n /** A [[GeometryParams]] representing the appearance of the current geometric entry */\n readonly geomParams: GeometryParams;\n /** Placement transform, used for converting placement relative, local coordinate entries to world */\n readonly localToWorld?: Transform;\n /** Optional stored local range for the current geometric entry */\n readonly localRange?: Range3d;\n /** Returns the geometric primitive represented by this entry. */\n readonly primitive: GeometryStreamPrimitive;\n}\n\nclass IteratorEntry implements GeometryStreamIteratorEntry {\n private _primitive?: GeometryStreamPrimitive;\n public readonly geomParams: GeometryParams;\n public readonly localToWorld?: Transform;\n public localRange?: Range3d;\n\n public constructor(appearance: Id64String | GeometryParams, localToWorld?: Transform) {\n this.geomParams = typeof appearance === \"string\" ? new GeometryParams(appearance) : appearance;\n this.localToWorld = localToWorld;\n }\n\n public get primitive() { return this._primitive!; }\n public set primitive(primitive: GeometryStreamPrimitive) { this._primitive = primitive; }\n\n public setGeometryQuery(geometry: AnyGeometryQuery) { this._primitive = { type: \"geometryQuery\", geometry }; }\n public setTextString(textString: TextString) { this._primitive = { type: \"textString\", textString }; }\n public setBRep(brep: BRepEntity.DataProps) { this._primitive = { type: \"brep\", brep }; }\n public setImage(image: ImageGraphic) { this._primitive = { type: \"image\", image }; }\n public setPartReference(id: Id64String, toLocal?: Transform) {\n this._primitive = {\n type: \"partReference\",\n part: { id, toLocal },\n };\n }\n}\n\n/** GeometryStreamIterator is a helper class for iterating a [[GeometryStreamProps]].\n * A [[GeometricElement]]'s GeometryStream must be specifically requested using [[ElementLoadProps.wantGeometry]].\n * Each [[GeometryStreamIteratorEntry]] returned by the iterator represents exactly one geometric primitive in the stream.\n * @public\n */\nexport class GeometryStreamIterator implements IterableIterator<GeometryStreamIteratorEntry> {\n /** GeometryStream entries */\n public geometryStream: GeometryStreamProps;\n /** Flags applied to the entire geometry stream. */\n public readonly flags: GeometryStreamFlags;\n /** Current entry position */\n private _index = 0;\n /** Allocated on first call to next() and reused thereafter. */\n private _entry?: IteratorEntry;\n /** Used to initialize this._entry. */\n private readonly _appearance: Id64String | GeometryParams;\n private readonly _localToWorld?: Transform;\n\n /** Construct a new GeometryStreamIterator given a [[GeometryStreamProps]] from either a [[GeometricElement3d]], [[GeometricElement2d]], or [[GeometryPart]].\n * Supply the [[GeometricElement]]'s category to initialize the appearance information for each geometric entry.\n */\n public constructor(geometryStream: GeometryStreamProps, categoryOrGeometryParams?: Id64String | GeometryParams, localToWorld?: Transform) {\n this.geometryStream = geometryStream;\n this._appearance = categoryOrGeometryParams ?? Id64.invalid;\n this._localToWorld = localToWorld;\n if (0 < geometryStream.length && undefined !== geometryStream[0].header) {\n this.flags = geometryStream[0].header.flags;\n ++this._index;\n } else {\n this.flags = GeometryStreamFlags.None;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private get entry() {\n if (undefined === this._entry)\n this._entry = new IteratorEntry(this._appearance, this._localToWorld);\n\n return this._entry;\n }\n\n /** Create a new GeometryStream iterator for a [[GeometricElement3d]].\n * If [[GeometricElement3dProps.placement]] is not undefined, placement relative entries will be returned transformed to world coordinates.\n * @throws [[IModelError]] if element.geom is undefined.\n */\n public static fromGeometricElement3d(element: Pick<GeometricElement3dProps, \"geom\" | \"placement\" | \"category\">) {\n if (element.geom === undefined)\n throw new IModelError(IModelStatus.NoGeometry, \"GeometricElement has no geometry or geometry wasn't requested\");\n\n let transform;\n if (element.placement !== undefined)\n transform = Transform.createOriginAndMatrix(Point3d.fromJSON(element.placement.origin), YawPitchRollAngles.fromJSON(element.placement.angles).toMatrix3d());\n\n return new GeometryStreamIterator(element.geom, element.category, transform);\n }\n\n /** Create a new GeometryStream iterator for a [[GeometricElement2d]].\n * If [[GeometricElement2dProps.placement]] is not undefined, placement relative entries will be returned transformed to world coordinates.\n * @throws [[IModelError]] if element.geom is undefined.\n */\n public static fromGeometricElement2d(element: Pick<GeometricElement2dProps, \"geom\" | \"placement\" | \"category\">) {\n if (element.geom === undefined)\n throw new IModelError(IModelStatus.NoGeometry, \"GeometricElement has no geometry or geometry wasn't requested\");\n\n let transform;\n if (element.placement !== undefined) {\n const origin = Point3d.createFrom(Point2d.fromJSON(element.placement.origin));\n const matrix = Matrix3d.createRotationAroundVector(Vector3d.unitZ(), Angle.fromJSON(element.placement.angle))!;\n transform = Transform.createOriginAndMatrix(origin, matrix);\n }\n\n return new GeometryStreamIterator(element.geom, element.category, transform);\n }\n\n /** Create a new GeometryStream iterator for a [[GeometryPart]].\n * To iterate a part's GeometryStream in the context of a part instance found for a [[GeometricElement]], provide the optional [[GeometryParams]] and Transform from the [[GeometricElement]]'s [[GeometryStreamIterator]].\n * Supply the [[GeometryParams]] to return appearance information as inherited from the [[GeometricElement]].\n * Supply the partToWorld transform to return the part geometry in world coordinates.\n * Supply the partToLocal transform to return the part geometry relative to the [[GeometricElement]]'s placement.\n * @throws [[IModelError]] if geomPart.geom is undefined.\n */\n public static fromGeometryPart(geomPart: Pick<GeometryPartProps, \"geom\">, geomParams?: GeometryParams, partTransform?: Transform) {\n if (geomPart.geom === undefined)\n throw new IModelError(IModelStatus.NoGeometry, \"GeometryPart has no geometry or geometry wasn't requested\");\n\n return new GeometryStreamIterator(geomPart.geom, geomParams?.clone(), partTransform);\n }\n\n /** Get the transform that if applied to a [[GeometryPart]]'s GeometryStream entries would return them in world coordinates. */\n public partToWorld(): Transform | undefined {\n if (undefined === this._entry)\n return this._localToWorld;\n\n const partToLocal = \"partReference\" === this._entry.primitive.type ? this._entry.primitive.part.toLocal : undefined;\n if (this._entry.localToWorld === undefined || partToLocal === undefined)\n return this._entry.localToWorld;\n\n return this._entry.localToWorld.multiplyTransformTransform(partToLocal);\n }\n\n /** Advance to next displayable geometric entry while updating the current [[GeometryParams]] from appearance related entries.\n * Geometric entries are [[TextString]], [[GeometryQuery]], [[GeometryPart]], [[ImageGraphic]], and [[BRepEntity.DataProps]].\n */\n public next(): IteratorResult<GeometryStreamIteratorEntry> {\n // NOTE: localRange remains valid until we encounter either a new subRange entry or a geometry part reference.\n while (this._index < this.geometryStream.length) {\n const entry = this.geometryStream[this._index++];\n if (entry.appearance) {\n this.entry.geomParams.resetAppearance();\n if (entry.appearance.subCategory)\n this.entry.geomParams.subCategoryId = Id64.fromJSON(entry.appearance.subCategory);\n if (undefined !== entry.appearance.color)\n this.entry.geomParams.lineColor = ColorDef.fromJSON(entry.appearance.color);\n if (undefined !== entry.appearance.weight)\n this.entry.geomParams.weight = entry.appearance.weight;\n if (undefined !== entry.appearance.style)\n this.entry.geomParams.styleInfo = new LineStyle.Info(Id64.fromJSON(entry.appearance.style));\n if (undefined !== entry.appearance.transparency)\n this.entry.geomParams.elmTransparency = entry.appearance.transparency;\n if (undefined !== entry.appearance.displayPriority)\n this.entry.geomParams.elmPriority = entry.appearance.displayPriority;\n if (undefined !== entry.appearance.geometryClass)\n this.entry.geomParams.geometryClass = entry.appearance.geometryClass;\n } else if (entry.styleMod) {\n if (this.entry.geomParams.styleInfo === undefined)\n continue;\n\n const styleMod = new LineStyle.Modifier(entry.styleMod);\n if (this.entry.localToWorld !== undefined)\n styleMod.applyTransform(this.entry.localToWorld);\n\n this.entry.geomParams.styleInfo = new LineStyle.Info(this.entry.geomParams.styleInfo.styleId, styleMod);\n } else if (entry.fill) {\n if (entry.fill.display)\n this.entry.geomParams.fillDisplay = entry.fill.display;\n if (entry.fill.transparency)\n this.entry.geomParams.fillTransparency = entry.fill.transparency;\n if (entry.fill.gradient)\n this.entry.geomParams.gradient = Gradient.Symb.fromJSON(entry.fill.gradient);\n else if (entry.fill.backgroundFill)\n this.entry.geomParams.backgroundFill = entry.fill.backgroundFill;\n else if (entry.fill.color)\n this.entry.geomParams.fillColor = ColorDef.fromJSON(entry.fill.color);\n } else if (entry.pattern) {\n const params = AreaPattern.Params.fromJSON(entry.pattern);\n if (this.entry.localToWorld !== undefined)\n params.applyTransform(this.entry.localToWorld);\n\n this.entry.geomParams.pattern = params;\n } else if (entry.material) {\n if (entry.material.materialId)\n this.entry.geomParams.materialId = Id64.fromJSON(entry.material.materialId);\n } else if (entry.subRange) {\n this.entry.localRange = Range3d.fromJSON(entry.subRange);\n } else if (entry.geomPart) {\n let transform;\n if (entry.geomPart.origin !== undefined || entry.geomPart.rotation !== undefined || entry.geomPart.scale !== undefined) {\n const origin = entry.geomPart.origin ? Point3d.fromJSON(entry.geomPart.origin) : Point3d.createZero();\n const rotation = entry.geomPart.rotation ? YawPitchRollAngles.fromJSON(entry.geomPart.rotation).toMatrix3d() : Matrix3d.createIdentity();\n transform = Transform.createRefs(origin, rotation);\n if (entry.geomPart.scale)\n transform.multiplyTransformTransform(Transform.createRefs(Point3d.createZero(), Matrix3d.createUniformScale(entry.geomPart.scale)), transform);\n }\n\n // Subgraphic range doesn't apply to parts. A sane geometry stream (i.e., any that has been through the native layers or GeometryStreamBuilder)\n // will have a new subgraphic range for any geometric primitive following the part.\n this.entry.localRange = undefined;\n this.entry.setPartReference(Id64.fromJSON(entry.geomPart.part), transform);\n return { value: this.entry, done: false };\n } else if (entry.textString) {\n const textString = new TextString(entry.textString);\n if (this.entry.localToWorld !== undefined)\n textString.transformInPlace(this.entry.localToWorld);\n\n this.entry.setTextString(textString);\n return { value: this.entry, done: false };\n } else if (entry.image) {\n const image = ImageGraphic.fromJSON(entry.image);\n if (undefined !== this.entry.localToWorld)\n image.transformInPlace(this.entry.localToWorld);\n\n this.entry.setImage(image);\n return { value: this.entry, done: false };\n } else if (entry.brep) {\n if (this.entry.localToWorld !== undefined) {\n const entityTrans = Transform.fromJSON(entry.brep.transform);\n entry.brep.transform = entityTrans.multiplyTransformTransform(this.entry.localToWorld).toJSON();\n }\n\n this.entry.setBRep(entry.brep);\n return { value: this.entry, done: false };\n } else {\n const geometryQuery = GeomJson.Reader.parse(entry);\n if (!(geometryQuery instanceof GeometryQuery))\n continue;\n\n if (this.entry.localToWorld !== undefined)\n geometryQuery.tryTransformInPlace(this.entry.localToWorld);\n\n this.entry.setGeometryQuery(geometryQuery);\n return { value: this.entry, done: false };\n }\n }\n\n return { value: this.entry, done: true };\n }\n\n public [Symbol.iterator](): IterableIterator<GeometryStreamIteratorEntry> {\n return this;\n }\n\n /** @internal */\n public get isViewIndependent(): boolean { return GeometryStreamFlags.None !== (this.flags & GeometryStreamFlags.ViewIndependent); }\n}\n"]}
@@ -1,75 +1,75 @@
1
- /** @packageDocumentation
2
- * @module Geometry
3
- */
4
- import { Id64String } from "@itwin/core-bentley";
5
- import { Point3d, Range3d, Transform, XYZProps } from "@itwin/core-geometry";
6
- /** JSON representation of the 4 corners of an [[ImageGraphicProps]]. @see [[ImageGraphicCorners]].
7
- * @public
8
- * @extensions
9
- */
10
- export declare type ImageGraphicCornersProps = [XYZProps, XYZProps, XYZProps, XYZProps];
11
- /** JSON representation of an [[ImageGraphic]].
12
- * @see [[GeometryStreamEntryProps]].
13
- * @public
14
- * @extensions
15
- */
16
- export interface ImageGraphicProps {
17
- /** The 4 corners of defining the quadrilateral on which the image is displayed. */
18
- corners: ImageGraphicCornersProps;
19
- /** The Id of the persistent [[Texture]] element defining the image to be displayed on the quadrilateral. */
20
- textureId: Id64String;
21
- /** Whether or not to draw a border around the image. */
22
- hasBorder: boolean;
23
- }
24
- /** Defines the 4 corners of an [[ImageGraphic]]. The points are expected to lie in a single plane and define a (possibly-skewed) quadrilateral.
25
- * The points map to the corners of the image as follows:
26
- * `
27
- * 3____2
28
- * | |
29
- * |____|
30
- * 0 1
31
- * `
32
- * The image can be flipped and/or rotated by specifying the points in a different order.
33
- * @public
34
- */
35
- export declare class ImageGraphicCorners {
36
- readonly 0: Point3d;
37
- readonly 1: Point3d;
38
- readonly 2: Point3d;
39
- readonly 3: Point3d;
40
- constructor(p0: Point3d, p1: Point3d, p2: Point3d, p3: Point3d);
41
- static fromJSON(props: ImageGraphicCornersProps): ImageGraphicCorners;
42
- static from4Points(points: [Point3d, Point3d, Point3d, Point3d]): ImageGraphicCorners;
43
- clone(): ImageGraphicCorners;
44
- toJSON(): ImageGraphicCornersProps;
45
- }
46
- /** A geometric primitive that displays an image mapped to the corners of a quadrilateral, with an optional border.
47
- * The image is always displayed regardless of [[RenderMode]] or [[ViewFlags]], and is displayed without lighting.
48
- * @public
49
- */
50
- export declare class ImageGraphic {
51
- /** The 4 corners of defining the quadrilateral on which the image is displayed. */
52
- readonly corners: ImageGraphicCorners;
53
- /** The Id of the persistent [[Texture]] element defining the image to be displayed on the quadrilateral. */
54
- readonly textureId: Id64String;
55
- /** Whether or not to draw a border around the image. */
56
- readonly hasBorder: boolean;
57
- /** Construct a new ImageGraphic.
58
- * @param corners Defines the 4 corners of the quadrilateral on which the image is to be displayed. The ImageGraphic takes ownership of this input.
59
- * @param textureId Identifies a persistent [[Texture]] element defining the image to be mapped onto the quadrilateral.
60
- * @param hasBorder Whether or not to display a border around the image.
61
- */
62
- constructor(corners: ImageGraphicCorners, textureId: Id64String, hasBorder?: boolean);
63
- static fromJSON(props: ImageGraphicProps): ImageGraphic;
64
- clone(): ImageGraphic;
65
- cloneTransformed(transform: Transform): ImageGraphic;
66
- toJSON(): ImageGraphicProps;
67
- /** Computes and returns the range.
68
- * @param result If supplied, will be modified to hold the computed range and returned.
69
- * @returns The computed range.
70
- */
71
- computeRange(result?: Range3d): Range3d;
72
- /** Apply a transform to the corners of the quadrilateral. */
73
- transformInPlace(transform: Transform): void;
74
- }
1
+ /** @packageDocumentation
2
+ * @module Geometry
3
+ */
4
+ import { Id64String } from "@itwin/core-bentley";
5
+ import { Point3d, Range3d, Transform, XYZProps } from "@itwin/core-geometry";
6
+ /** JSON representation of the 4 corners of an [[ImageGraphicProps]]. @see [[ImageGraphicCorners]].
7
+ * @public
8
+ * @extensions
9
+ */
10
+ export type ImageGraphicCornersProps = [XYZProps, XYZProps, XYZProps, XYZProps];
11
+ /** JSON representation of an [[ImageGraphic]].
12
+ * @see [[GeometryStreamEntryProps]].
13
+ * @public
14
+ * @extensions
15
+ */
16
+ export interface ImageGraphicProps {
17
+ /** The 4 corners of defining the quadrilateral on which the image is displayed. */
18
+ corners: ImageGraphicCornersProps;
19
+ /** The Id of the persistent [[Texture]] element defining the image to be displayed on the quadrilateral. */
20
+ textureId: Id64String;
21
+ /** Whether or not to draw a border around the image. */
22
+ hasBorder: boolean;
23
+ }
24
+ /** Defines the 4 corners of an [[ImageGraphic]]. The points are expected to lie in a single plane and define a (possibly-skewed) quadrilateral.
25
+ * The points map to the corners of the image as follows:
26
+ * `
27
+ * 3____2
28
+ * | |
29
+ * |____|
30
+ * 0 1
31
+ * `
32
+ * The image can be flipped and/or rotated by specifying the points in a different order.
33
+ * @public
34
+ */
35
+ export declare class ImageGraphicCorners {
36
+ readonly 0: Point3d;
37
+ readonly 1: Point3d;
38
+ readonly 2: Point3d;
39
+ readonly 3: Point3d;
40
+ constructor(p0: Point3d, p1: Point3d, p2: Point3d, p3: Point3d);
41
+ static fromJSON(props: ImageGraphicCornersProps): ImageGraphicCorners;
42
+ static from4Points(points: [Point3d, Point3d, Point3d, Point3d]): ImageGraphicCorners;
43
+ clone(): ImageGraphicCorners;
44
+ toJSON(): ImageGraphicCornersProps;
45
+ }
46
+ /** A geometric primitive that displays an image mapped to the corners of a quadrilateral, with an optional border.
47
+ * The image is always displayed regardless of [[RenderMode]] or [[ViewFlags]], and is displayed without lighting.
48
+ * @public
49
+ */
50
+ export declare class ImageGraphic {
51
+ /** The 4 corners of defining the quadrilateral on which the image is displayed. */
52
+ readonly corners: ImageGraphicCorners;
53
+ /** The Id of the persistent [[Texture]] element defining the image to be displayed on the quadrilateral. */
54
+ readonly textureId: Id64String;
55
+ /** Whether or not to draw a border around the image. */
56
+ readonly hasBorder: boolean;
57
+ /** Construct a new ImageGraphic.
58
+ * @param corners Defines the 4 corners of the quadrilateral on which the image is to be displayed. The ImageGraphic takes ownership of this input.
59
+ * @param textureId Identifies a persistent [[Texture]] element defining the image to be mapped onto the quadrilateral.
60
+ * @param hasBorder Whether or not to display a border around the image.
61
+ */
62
+ constructor(corners: ImageGraphicCorners, textureId: Id64String, hasBorder?: boolean);
63
+ static fromJSON(props: ImageGraphicProps): ImageGraphic;
64
+ clone(): ImageGraphic;
65
+ cloneTransformed(transform: Transform): ImageGraphic;
66
+ toJSON(): ImageGraphicProps;
67
+ /** Computes and returns the range.
68
+ * @param result If supplied, will be modified to hold the computed range and returned.
69
+ * @returns The computed range.
70
+ */
71
+ computeRange(result?: Range3d): Range3d;
72
+ /** Apply a transform to the corners of the quadrilateral. */
73
+ transformInPlace(transform: Transform): void;
74
+ }
75
75
  //# sourceMappingURL=ImageGraphic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageGraphic.d.ts","sourceRoot":"","sources":["../../../src/geometry/ImageGraphic.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7E;;;GAGG;AACH,oBAAY,wBAAwB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEhF;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,OAAO,EAAE,wBAAwB,CAAC;IAClC,4GAA4G;IAC5G,SAAS,EAAE,UAAU,CAAC;IACtB,wDAAwD;IACxD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAgB,CAAC,EAAE,OAAO,CAAC;gBAER,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO;WAOvD,QAAQ,CAAC,KAAK,EAAE,wBAAwB,GAAG,mBAAmB;WAI9D,WAAW,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,mBAAmB;IAIrF,KAAK,IAAI,mBAAmB;IAI5B,MAAM,IAAI,wBAAwB;CAG1C;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,mFAAmF;IACnF,SAAgB,OAAO,EAAE,mBAAmB,CAAC;IAC7C,4GAA4G;IAC5G,SAAgB,SAAS,EAAE,UAAU,CAAC;IACtC,wDAAwD;IACxD,SAAgB,SAAS,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;gBACgB,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,UAAQ;WAM3E,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY;IAKvD,KAAK,IAAI,YAAY;IAIrB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY;IAMpD,MAAM,IAAI,iBAAiB;IAQlC;;;OAGG;IACI,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAU9C,6DAA6D;IACtD,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;CAMpD"}
1
+ {"version":3,"file":"ImageGraphic.d.ts","sourceRoot":"","sources":["../../../src/geometry/ImageGraphic.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7E;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEhF;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,OAAO,EAAE,wBAAwB,CAAC;IAClC,4GAA4G;IAC5G,SAAS,EAAE,UAAU,CAAC;IACtB,wDAAwD;IACxD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAgB,CAAC,EAAE,OAAO,CAAC;gBAER,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO;WAOvD,QAAQ,CAAC,KAAK,EAAE,wBAAwB,GAAG,mBAAmB;WAI9D,WAAW,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,mBAAmB;IAIrF,KAAK,IAAI,mBAAmB;IAI5B,MAAM,IAAI,wBAAwB;CAG1C;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,mFAAmF;IACnF,SAAgB,OAAO,EAAE,mBAAmB,CAAC;IAC7C,4GAA4G;IAC5G,SAAgB,SAAS,EAAE,UAAU,CAAC;IACtC,wDAAwD;IACxD,SAAgB,SAAS,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;gBACgB,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,UAAQ;WAM3E,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY;IAKvD,KAAK,IAAI,YAAY;IAIrB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY;IAMpD,MAAM,IAAI,iBAAiB;IAQlC;;;OAGG;IACI,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAU9C,6DAA6D;IACtD,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;CAMpD"}
@@ -1,94 +1,94 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Geometry
7
- */
8
- import { Point3d, Range3d } from "@itwin/core-geometry";
9
- /** Defines the 4 corners of an [[ImageGraphic]]. The points are expected to lie in a single plane and define a (possibly-skewed) quadrilateral.
10
- * The points map to the corners of the image as follows:
11
- * `
12
- * 3____2
13
- * | |
14
- * |____|
15
- * 0 1
16
- * `
17
- * The image can be flipped and/or rotated by specifying the points in a different order.
18
- * @public
19
- */
20
- export class ImageGraphicCorners {
21
- constructor(p0, p1, p2, p3) {
22
- this[0] = p0;
23
- this[1] = p1;
24
- this[2] = p2;
25
- this[3] = p3;
26
- }
27
- static fromJSON(props) {
28
- return new ImageGraphicCorners(Point3d.fromJSON(props[0]), Point3d.fromJSON(props[1]), Point3d.fromJSON(props[2]), Point3d.fromJSON(props[3]));
29
- }
30
- static from4Points(points) {
31
- return new ImageGraphicCorners(points[0], points[1], points[2], points[3]);
32
- }
33
- clone() {
34
- return new ImageGraphicCorners(this[0].clone(), this[1].clone(), this[2].clone(), this[3].clone());
35
- }
36
- toJSON() {
37
- return [this[0].toJSON(), this[1].toJSON(), this[2].toJSON(), this[3].toJSON()];
38
- }
39
- }
40
- /** A geometric primitive that displays an image mapped to the corners of a quadrilateral, with an optional border.
41
- * The image is always displayed regardless of [[RenderMode]] or [[ViewFlags]], and is displayed without lighting.
42
- * @public
43
- */
44
- export class ImageGraphic {
45
- /** Construct a new ImageGraphic.
46
- * @param corners Defines the 4 corners of the quadrilateral on which the image is to be displayed. The ImageGraphic takes ownership of this input.
47
- * @param textureId Identifies a persistent [[Texture]] element defining the image to be mapped onto the quadrilateral.
48
- * @param hasBorder Whether or not to display a border around the image.
49
- */
50
- constructor(corners, textureId, hasBorder = false) {
51
- this.corners = corners;
52
- this.textureId = textureId;
53
- this.hasBorder = hasBorder;
54
- }
55
- static fromJSON(props) {
56
- const corners = ImageGraphicCorners.fromJSON(props.corners);
57
- return new ImageGraphic(corners, props.textureId, props.hasBorder);
58
- }
59
- clone() {
60
- return new ImageGraphic(this.corners.clone(), this.textureId, this.hasBorder);
61
- }
62
- cloneTransformed(transform) {
63
- const clone = this.clone();
64
- clone.transformInPlace(transform);
65
- return clone;
66
- }
67
- toJSON() {
68
- return {
69
- corners: this.corners.toJSON(),
70
- textureId: this.textureId,
71
- hasBorder: this.hasBorder,
72
- };
73
- }
74
- /** Computes and returns the range.
75
- * @param result If supplied, will be modified to hold the computed range and returned.
76
- * @returns The computed range.
77
- */
78
- computeRange(result) {
79
- if (undefined === result)
80
- result = new Range3d();
81
- else
82
- result.setNull();
83
- result.extend(this.corners[0], this.corners[1], this.corners[2], this.corners[3]);
84
- return result;
85
- }
86
- /** Apply a transform to the corners of the quadrilateral. */
87
- transformInPlace(transform) {
88
- transform.multiplyPoint3d(this.corners[0], this.corners[0]);
89
- transform.multiplyPoint3d(this.corners[1], this.corners[1]);
90
- transform.multiplyPoint3d(this.corners[2], this.corners[2]);
91
- transform.multiplyPoint3d(this.corners[3], this.corners[3]);
92
- }
93
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Geometry
7
+ */
8
+ import { Point3d, Range3d } from "@itwin/core-geometry";
9
+ /** Defines the 4 corners of an [[ImageGraphic]]. The points are expected to lie in a single plane and define a (possibly-skewed) quadrilateral.
10
+ * The points map to the corners of the image as follows:
11
+ * `
12
+ * 3____2
13
+ * | |
14
+ * |____|
15
+ * 0 1
16
+ * `
17
+ * The image can be flipped and/or rotated by specifying the points in a different order.
18
+ * @public
19
+ */
20
+ export class ImageGraphicCorners {
21
+ constructor(p0, p1, p2, p3) {
22
+ this[0] = p0;
23
+ this[1] = p1;
24
+ this[2] = p2;
25
+ this[3] = p3;
26
+ }
27
+ static fromJSON(props) {
28
+ return new ImageGraphicCorners(Point3d.fromJSON(props[0]), Point3d.fromJSON(props[1]), Point3d.fromJSON(props[2]), Point3d.fromJSON(props[3]));
29
+ }
30
+ static from4Points(points) {
31
+ return new ImageGraphicCorners(points[0], points[1], points[2], points[3]);
32
+ }
33
+ clone() {
34
+ return new ImageGraphicCorners(this[0].clone(), this[1].clone(), this[2].clone(), this[3].clone());
35
+ }
36
+ toJSON() {
37
+ return [this[0].toJSON(), this[1].toJSON(), this[2].toJSON(), this[3].toJSON()];
38
+ }
39
+ }
40
+ /** A geometric primitive that displays an image mapped to the corners of a quadrilateral, with an optional border.
41
+ * The image is always displayed regardless of [[RenderMode]] or [[ViewFlags]], and is displayed without lighting.
42
+ * @public
43
+ */
44
+ export class ImageGraphic {
45
+ /** Construct a new ImageGraphic.
46
+ * @param corners Defines the 4 corners of the quadrilateral on which the image is to be displayed. The ImageGraphic takes ownership of this input.
47
+ * @param textureId Identifies a persistent [[Texture]] element defining the image to be mapped onto the quadrilateral.
48
+ * @param hasBorder Whether or not to display a border around the image.
49
+ */
50
+ constructor(corners, textureId, hasBorder = false) {
51
+ this.corners = corners;
52
+ this.textureId = textureId;
53
+ this.hasBorder = hasBorder;
54
+ }
55
+ static fromJSON(props) {
56
+ const corners = ImageGraphicCorners.fromJSON(props.corners);
57
+ return new ImageGraphic(corners, props.textureId, props.hasBorder);
58
+ }
59
+ clone() {
60
+ return new ImageGraphic(this.corners.clone(), this.textureId, this.hasBorder);
61
+ }
62
+ cloneTransformed(transform) {
63
+ const clone = this.clone();
64
+ clone.transformInPlace(transform);
65
+ return clone;
66
+ }
67
+ toJSON() {
68
+ return {
69
+ corners: this.corners.toJSON(),
70
+ textureId: this.textureId,
71
+ hasBorder: this.hasBorder,
72
+ };
73
+ }
74
+ /** Computes and returns the range.
75
+ * @param result If supplied, will be modified to hold the computed range and returned.
76
+ * @returns The computed range.
77
+ */
78
+ computeRange(result) {
79
+ if (undefined === result)
80
+ result = new Range3d();
81
+ else
82
+ result.setNull();
83
+ result.extend(this.corners[0], this.corners[1], this.corners[2], this.corners[3]);
84
+ return result;
85
+ }
86
+ /** Apply a transform to the corners of the quadrilateral. */
87
+ transformInPlace(transform) {
88
+ transform.multiplyPoint3d(this.corners[0], this.corners[0]);
89
+ transform.multiplyPoint3d(this.corners[1], this.corners[1]);
90
+ transform.multiplyPoint3d(this.corners[2], this.corners[2]);
91
+ transform.multiplyPoint3d(this.corners[3], this.corners[3]);
92
+ }
93
+ }
94
94
  //# sourceMappingURL=ImageGraphic.js.map