@itwin/core-common 3.7.0-dev.2 → 3.7.0-dev.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (942) hide show
  1. package/CHANGELOG.md +27 -17
  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/AuthorizationClient.d.ts +17 -17
  9. package/lib/cjs/AuthorizationClient.js +9 -9
  10. package/lib/cjs/AuthorizationClient.js.map +1 -1
  11. package/lib/cjs/BackendTypes.d.ts +12 -12
  12. package/lib/cjs/BackendTypes.js +9 -9
  13. package/lib/cjs/BackendTypes.js.map +1 -1
  14. package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
  15. package/lib/cjs/BackgroundMapProvider.js +68 -68
  16. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  17. package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
  18. package/lib/cjs/BackgroundMapSettings.js +156 -156
  19. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  20. package/lib/cjs/Base64EncodedString.d.ts +32 -32
  21. package/lib/cjs/Base64EncodedString.js +66 -66
  22. package/lib/cjs/Base64EncodedString.js.map +1 -1
  23. package/lib/cjs/BlobReader.d.ts +31 -31
  24. package/lib/cjs/BlobReader.js +84 -84
  25. package/lib/cjs/BlobReader.js.map +1 -1
  26. package/lib/cjs/BriefcaseTypes.d.ts +191 -191
  27. package/lib/cjs/BriefcaseTypes.js +95 -95
  28. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  29. package/lib/cjs/Camera.d.ts +42 -42
  30. package/lib/cjs/Camera.js +62 -62
  31. package/lib/cjs/Camera.js.map +1 -1
  32. package/lib/cjs/ChangedElements.d.ts +85 -85
  33. package/lib/cjs/ChangedElements.js +23 -23
  34. package/lib/cjs/ChangedElements.js.map +1 -1
  35. package/lib/cjs/ChangedEntities.d.ts +45 -45
  36. package/lib/cjs/ChangedEntities.js +9 -9
  37. package/lib/cjs/ChangedEntities.js.map +1 -1
  38. package/lib/cjs/ChangesetProps.d.ts +98 -98
  39. package/lib/cjs/ChangesetProps.js +22 -22
  40. package/lib/cjs/ChangesetProps.js.map +1 -1
  41. package/lib/cjs/ClipStyle.d.ts +89 -89
  42. package/lib/cjs/ClipStyle.js +123 -123
  43. package/lib/cjs/ClipStyle.js.map +1 -1
  44. package/lib/cjs/CloudStorage.d.ts +62 -62
  45. package/lib/cjs/CloudStorage.js +113 -113
  46. package/lib/cjs/CloudStorage.js.map +1 -1
  47. package/lib/cjs/CloudStorageTileCache.d.ts +27 -27
  48. package/lib/cjs/CloudStorageTileCache.js +66 -66
  49. package/lib/cjs/CloudStorageTileCache.js.map +1 -1
  50. package/lib/cjs/Code.d.ts +277 -277
  51. package/lib/cjs/Code.js +269 -269
  52. package/lib/cjs/Code.js.map +1 -1
  53. package/lib/cjs/ColorByName.d.ts +161 -161
  54. package/lib/cjs/ColorByName.js +169 -169
  55. package/lib/cjs/ColorByName.js.map +1 -1
  56. package/lib/cjs/ColorDef.d.ts +208 -208
  57. package/lib/cjs/ColorDef.js +571 -571
  58. package/lib/cjs/ColorDef.js.map +1 -1
  59. package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
  60. package/lib/cjs/CommonLoggerCategory.js +26 -26
  61. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  62. package/lib/cjs/ConcurrentQuery.d.ts +421 -421
  63. package/lib/cjs/ConcurrentQuery.js +552 -552
  64. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  65. package/lib/cjs/ContextRealityModel.d.ts +303 -303
  66. package/lib/cjs/ContextRealityModel.js +373 -373
  67. package/lib/cjs/ContextRealityModel.js.map +1 -1
  68. package/lib/cjs/DisplayStyleSettings.d.ts +588 -588
  69. package/lib/cjs/DisplayStyleSettings.js +985 -985
  70. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  71. package/lib/cjs/ECSchemaProps.d.ts +39 -39
  72. package/lib/cjs/ECSchemaProps.js +9 -9
  73. package/lib/cjs/ECSchemaProps.js.map +1 -1
  74. package/lib/cjs/ECSqlReader.d.ts +70 -70
  75. package/lib/cjs/ECSqlReader.js +280 -280
  76. package/lib/cjs/ECSqlReader.js.map +1 -1
  77. package/lib/cjs/ECSqlTypes.d.ts +128 -128
  78. package/lib/cjs/ECSqlTypes.js +189 -189
  79. package/lib/cjs/ECSqlTypes.js.map +1 -1
  80. package/lib/cjs/ElementMesh.d.ts +39 -39
  81. package/lib/cjs/ElementMesh.js +56 -56
  82. package/lib/cjs/ElementMesh.js.map +1 -1
  83. package/lib/cjs/ElementProps.d.ts +483 -483
  84. package/lib/cjs/ElementProps.js +99 -99
  85. package/lib/cjs/ElementProps.js.map +1 -1
  86. package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
  87. package/lib/cjs/EmphasizeElementsProps.js +25 -25
  88. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  89. package/lib/cjs/EntityProps.d.ts +177 -177
  90. package/lib/cjs/EntityProps.js +113 -113
  91. package/lib/cjs/EntityProps.js.map +1 -1
  92. package/lib/cjs/EntityReference.d.ts +51 -51
  93. package/lib/cjs/EntityReference.js +56 -56
  94. package/lib/cjs/EntityReference.js.map +1 -1
  95. package/lib/cjs/Environment.d.ts +61 -61
  96. package/lib/cjs/Environment.js +73 -73
  97. package/lib/cjs/Environment.js.map +1 -1
  98. package/lib/cjs/FeatureIndex.d.ts +39 -39
  99. package/lib/cjs/FeatureIndex.js +63 -63
  100. package/lib/cjs/FeatureIndex.js.map +1 -1
  101. package/lib/cjs/FeatureSymbology.d.ts +444 -444
  102. package/lib/cjs/FeatureSymbology.js +614 -614
  103. package/lib/cjs/FeatureSymbology.js.map +1 -1
  104. package/lib/cjs/FeatureTable.d.ts +141 -141
  105. package/lib/cjs/FeatureTable.js +278 -278
  106. package/lib/cjs/FeatureTable.js.map +1 -1
  107. package/lib/cjs/Fonts.d.ts +51 -51
  108. package/lib/cjs/Fonts.js +53 -53
  109. package/lib/cjs/Fonts.js.map +1 -1
  110. package/lib/cjs/Frustum.d.ts +114 -114
  111. package/lib/cjs/Frustum.js +292 -292
  112. package/lib/cjs/Frustum.js.map +1 -1
  113. package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
  114. package/lib/cjs/GeoCoordinateServices.js +80 -80
  115. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  116. package/lib/cjs/GeometryContainment.d.ts +28 -28
  117. package/lib/cjs/GeometryContainment.js +9 -9
  118. package/lib/cjs/GeometryContainment.js.map +1 -1
  119. package/lib/cjs/GeometryParams.d.ts +130 -130
  120. package/lib/cjs/GeometryParams.js +174 -174
  121. package/lib/cjs/GeometryParams.js.map +1 -1
  122. package/lib/cjs/GeometrySummary.d.ts +45 -45
  123. package/lib/cjs/GeometrySummary.js +23 -23
  124. package/lib/cjs/GeometrySummary.js.map +1 -1
  125. package/lib/cjs/Gradient.d.ts +139 -139
  126. package/lib/cjs/Gradient.js +455 -455
  127. package/lib/cjs/Gradient.js.map +1 -1
  128. package/lib/cjs/GraphicParams.d.ts +58 -58
  129. package/lib/cjs/GraphicParams.js +85 -85
  130. package/lib/cjs/GraphicParams.js.map +1 -1
  131. package/lib/cjs/GroundPlane.d.ts +52 -52
  132. package/lib/cjs/GroundPlane.js +64 -64
  133. package/lib/cjs/GroundPlane.js.map +1 -1
  134. package/lib/cjs/HSLColor.d.ts +20 -20
  135. package/lib/cjs/HSLColor.js +32 -32
  136. package/lib/cjs/HSLColor.js.map +1 -1
  137. package/lib/cjs/HSVColor.d.ts +30 -30
  138. package/lib/cjs/HSVColor.js +59 -59
  139. package/lib/cjs/HSVColor.js.map +1 -1
  140. package/lib/cjs/HiddenLine.d.ts +97 -97
  141. package/lib/cjs/HiddenLine.js +162 -162
  142. package/lib/cjs/HiddenLine.js.map +1 -1
  143. package/lib/cjs/Hilite.d.ts +50 -50
  144. package/lib/cjs/Hilite.js +64 -64
  145. package/lib/cjs/Hilite.js.map +1 -1
  146. package/lib/cjs/IModel.d.ts +358 -358
  147. package/lib/cjs/IModel.js +347 -347
  148. package/lib/cjs/IModel.js.map +1 -1
  149. package/lib/cjs/IModelError.d.ts +42 -42
  150. package/lib/cjs/IModelError.js +71 -71
  151. package/lib/cjs/IModelError.js.map +1 -1
  152. package/lib/cjs/IModelVersion.d.ts +68 -68
  153. package/lib/cjs/IModelVersion.js +79 -79
  154. package/lib/cjs/IModelVersion.js.map +1 -1
  155. package/lib/cjs/Image.d.ts +86 -86
  156. package/lib/cjs/Image.js +128 -128
  157. package/lib/cjs/Image.js.map +1 -1
  158. package/lib/cjs/IpcAppProps.d.ts +141 -141
  159. package/lib/cjs/IpcAppProps.js +23 -23
  160. package/lib/cjs/IpcAppProps.js.map +1 -1
  161. package/lib/cjs/LightSettings.d.ts +224 -224
  162. package/lib/cjs/LightSettings.js +309 -309
  163. package/lib/cjs/LightSettings.js.map +1 -1
  164. package/lib/cjs/LinePixels.d.ts +34 -34
  165. package/lib/cjs/LinePixels.js +42 -42
  166. package/lib/cjs/LinePixels.js.map +1 -1
  167. package/lib/cjs/Localization.d.ts +113 -113
  168. package/lib/cjs/Localization.js +33 -33
  169. package/lib/cjs/Localization.js.map +1 -1
  170. package/lib/cjs/MapImagerySettings.d.ts +62 -62
  171. package/lib/cjs/MapImagerySettings.js +80 -80
  172. package/lib/cjs/MapImagerySettings.js.map +1 -1
  173. package/lib/cjs/MapLayerSettings.d.ts +272 -272
  174. package/lib/cjs/MapLayerSettings.js +411 -411
  175. package/lib/cjs/MapLayerSettings.js.map +1 -1
  176. package/lib/cjs/MassProperties.d.ts +64 -64
  177. package/lib/cjs/MassProperties.js +23 -23
  178. package/lib/cjs/MassProperties.js.map +1 -1
  179. package/lib/cjs/MaterialProps.d.ts +153 -153
  180. package/lib/cjs/MaterialProps.js +35 -35
  181. package/lib/cjs/MaterialProps.js.map +1 -1
  182. package/lib/cjs/ModelClipGroup.d.ts +67 -67
  183. package/lib/cjs/ModelClipGroup.js +98 -98
  184. package/lib/cjs/ModelClipGroup.js.map +1 -1
  185. package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
  186. package/lib/cjs/ModelGeometryChanges.js +83 -83
  187. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  188. package/lib/cjs/ModelProps.d.ts +67 -67
  189. package/lib/cjs/ModelProps.js +9 -9
  190. package/lib/cjs/ModelProps.js.map +1 -1
  191. package/lib/cjs/NativeAppProps.d.ts +122 -122
  192. package/lib/cjs/NativeAppProps.js +30 -30
  193. package/lib/cjs/NativeAppProps.js.map +1 -1
  194. package/lib/cjs/OctEncodedNormal.d.ts +33 -33
  195. package/lib/cjs/OctEncodedNormal.js +98 -98
  196. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  197. package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
  198. package/lib/cjs/PlanProjectionSettings.js +63 -63
  199. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  200. package/lib/cjs/PlanarClipMask.d.ts +177 -177
  201. package/lib/cjs/PlanarClipMask.js +136 -136
  202. package/lib/cjs/PlanarClipMask.js.map +1 -1
  203. package/lib/cjs/QPoint.d.ts +479 -479
  204. package/lib/cjs/QPoint.js +826 -826
  205. package/lib/cjs/QPoint.js.map +1 -1
  206. package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
  207. package/lib/cjs/RealityDataAccessProps.js +19 -19
  208. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  209. package/lib/cjs/RealityModelDisplaySettings.d.ts +183 -183
  210. package/lib/cjs/RealityModelDisplaySettings.js +142 -142
  211. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  212. package/lib/cjs/Render.d.ts +89 -89
  213. package/lib/cjs/Render.js +177 -177
  214. package/lib/cjs/Render.js.map +1 -1
  215. package/lib/cjs/RenderMaterial.d.ts +58 -58
  216. package/lib/cjs/RenderMaterial.js +76 -76
  217. package/lib/cjs/RenderMaterial.js.map +1 -1
  218. package/lib/cjs/RenderSchedule.d.ts +543 -543
  219. package/lib/cjs/RenderSchedule.js +1002 -1002
  220. package/lib/cjs/RenderTexture.d.ts +70 -70
  221. package/lib/cjs/RenderTexture.js +59 -59
  222. package/lib/cjs/RenderTexture.js.map +1 -1
  223. package/lib/cjs/RgbColor.d.ts +47 -47
  224. package/lib/cjs/RgbColor.js +77 -77
  225. package/lib/cjs/RgbColor.js.map +1 -1
  226. package/lib/cjs/RpcInterface.d.ts +33 -33
  227. package/lib/cjs/RpcInterface.js +137 -137
  228. package/lib/cjs/RpcInterface.js.map +1 -1
  229. package/lib/cjs/RpcManager.d.ts +40 -40
  230. package/lib/cjs/RpcManager.js +55 -55
  231. package/lib/cjs/RpcManager.js.map +1 -1
  232. package/lib/cjs/SessionProps.d.ts +16 -16
  233. package/lib/cjs/SessionProps.js +9 -9
  234. package/lib/cjs/SessionProps.js.map +1 -1
  235. package/lib/cjs/SkyBox.d.ts +215 -215
  236. package/lib/cjs/SkyBox.js +210 -210
  237. package/lib/cjs/SkyBox.js.map +1 -1
  238. package/lib/cjs/Snapping.d.ts +49 -49
  239. package/lib/cjs/Snapping.js +9 -9
  240. package/lib/cjs/Snapping.js.map +1 -1
  241. package/lib/cjs/SolarCalculate.d.ts +27 -27
  242. package/lib/cjs/SolarCalculate.js +211 -211
  243. package/lib/cjs/SolarCalculate.js.map +1 -1
  244. package/lib/cjs/SolarShadows.d.ts +35 -35
  245. package/lib/cjs/SolarShadows.js +62 -62
  246. package/lib/cjs/SolarShadows.js.map +1 -1
  247. package/lib/cjs/SpatialClassification.d.ts +208 -208
  248. package/lib/cjs/SpatialClassification.js +340 -340
  249. package/lib/cjs/SpatialClassification.js.map +1 -1
  250. package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
  251. package/lib/cjs/SubCategoryAppearance.js +96 -96
  252. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  253. package/lib/cjs/SubCategoryOverride.d.ts +46 -46
  254. package/lib/cjs/SubCategoryOverride.js +104 -104
  255. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  256. package/lib/cjs/TerrainSettings.d.ts +82 -82
  257. package/lib/cjs/TerrainSettings.js +102 -102
  258. package/lib/cjs/TerrainSettings.js.map +1 -1
  259. package/lib/cjs/TextureMapping.d.ts +118 -118
  260. package/lib/cjs/TextureMapping.js +174 -174
  261. package/lib/cjs/TextureMapping.js.map +1 -1
  262. package/lib/cjs/TextureProps.d.ts +65 -65
  263. package/lib/cjs/TextureProps.js +28 -28
  264. package/lib/cjs/TextureProps.js.map +1 -1
  265. package/lib/cjs/ThematicDisplay.d.ts +230 -230
  266. package/lib/cjs/ThematicDisplay.js +344 -344
  267. package/lib/cjs/ThematicDisplay.js.map +1 -1
  268. package/lib/cjs/Thumbnail.d.ts +26 -26
  269. package/lib/cjs/Thumbnail.js +9 -9
  270. package/lib/cjs/Thumbnail.js.map +1 -1
  271. package/lib/cjs/TileProps.d.ts +82 -82
  272. package/lib/cjs/TileProps.js +29 -29
  273. package/lib/cjs/TileProps.js.map +1 -1
  274. package/lib/cjs/Tween.d.ts +191 -191
  275. package/lib/cjs/Tween.js +570 -570
  276. package/lib/cjs/Tween.js.map +1 -1
  277. package/lib/cjs/TxnAction.d.ts +21 -21
  278. package/lib/cjs/TxnAction.js +29 -29
  279. package/lib/cjs/TxnAction.js.map +1 -1
  280. package/lib/cjs/ViewDetails.d.ts +125 -125
  281. package/lib/cjs/ViewDetails.js +166 -166
  282. package/lib/cjs/ViewDetails.js.map +1 -1
  283. package/lib/cjs/ViewFlags.d.ts +287 -287
  284. package/lib/cjs/ViewFlags.js +368 -368
  285. package/lib/cjs/ViewFlags.js.map +1 -1
  286. package/lib/cjs/ViewProps.d.ts +205 -205
  287. package/lib/cjs/ViewProps.js +9 -9
  288. package/lib/cjs/ViewProps.js.map +1 -1
  289. package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
  290. package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
  291. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  292. package/lib/cjs/core-common.d.ts +244 -244
  293. package/lib/cjs/core-common.js +260 -260
  294. package/lib/cjs/core-common.js.map +1 -1
  295. package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
  296. package/lib/cjs/domains/FunctionalElementProps.js +9 -9
  297. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  298. package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
  299. package/lib/cjs/domains/GenericElementProps.js +9 -9
  300. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  301. package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
  302. package/lib/cjs/geometry/AdditionalTransform.js +85 -85
  303. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  304. package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
  305. package/lib/cjs/geometry/AreaPattern.js +204 -204
  306. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  307. package/lib/cjs/geometry/BoundingSphere.d.ts +27 -27
  308. package/lib/cjs/geometry/BoundingSphere.js +44 -44
  309. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  310. package/lib/cjs/geometry/Cartographic.d.ts +137 -137
  311. package/lib/cjs/geometry/Cartographic.js +345 -345
  312. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  313. package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
  314. package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
  315. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  316. package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
  317. package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
  318. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  319. package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
  320. package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
  321. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  322. package/lib/cjs/geometry/FrustumPlanes.d.ts +81 -81
  323. package/lib/cjs/geometry/FrustumPlanes.js +193 -193
  324. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  325. package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
  326. package/lib/cjs/geometry/GeodeticDatum.js +401 -401
  327. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  328. package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
  329. package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
  330. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  331. package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
  332. package/lib/cjs/geometry/GeometryStream.js +469 -469
  333. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  334. package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
  335. package/lib/cjs/geometry/ImageGraphic.js +98 -98
  336. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  337. package/lib/cjs/geometry/LineStyle.d.ts +71 -71
  338. package/lib/cjs/geometry/LineStyle.js +129 -129
  339. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  340. package/lib/cjs/geometry/Placement.d.ts +95 -95
  341. package/lib/cjs/geometry/Placement.js +131 -131
  342. package/lib/cjs/geometry/Placement.js.map +1 -1
  343. package/lib/cjs/geometry/Projection.d.ts +251 -251
  344. package/lib/cjs/geometry/Projection.js +198 -198
  345. package/lib/cjs/geometry/Projection.js.map +1 -1
  346. package/lib/cjs/geometry/TextString.d.ts +55 -55
  347. package/lib/cjs/geometry/TextString.js +65 -65
  348. package/lib/cjs/geometry/TextString.js.map +1 -1
  349. package/lib/cjs/ipc/IpcSession.d.ts +23 -23
  350. package/lib/cjs/ipc/IpcSession.js +27 -27
  351. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  352. package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
  353. package/lib/cjs/ipc/IpcSocket.js +16 -16
  354. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  355. package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -61
  356. package/lib/cjs/ipc/IpcWebSocket.js +151 -151
  357. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  358. package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
  359. package/lib/cjs/ipc/IpcWebSocketTransport.js +160 -160
  360. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  361. package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
  362. package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
  363. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  364. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +99 -99
  365. package/lib/cjs/rpc/IModelReadRpcInterface.js +122 -122
  366. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  367. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -61
  368. package/lib/cjs/rpc/IModelTileRpcInterface.js +96 -96
  369. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  370. package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  371. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
  372. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  373. package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
  374. package/lib/cjs/rpc/TestRpcManager.js +40 -40
  375. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  376. package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
  377. package/lib/cjs/rpc/WipRpcInterface.js +40 -40
  378. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  379. package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
  380. package/lib/cjs/rpc/core/RpcConfiguration.js +191 -191
  381. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  382. package/lib/cjs/rpc/core/RpcConstants.d.ts +90 -90
  383. package/lib/cjs/rpc/core/RpcConstants.js +109 -109
  384. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  385. package/lib/cjs/rpc/core/RpcControl.d.ts +54 -54
  386. package/lib/cjs/rpc/core/RpcControl.js +145 -145
  387. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  388. package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
  389. package/lib/cjs/rpc/core/RpcInvocation.js +258 -258
  390. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  391. package/lib/cjs/rpc/core/RpcMarshaling.d.ts +35 -35
  392. package/lib/cjs/rpc/core/RpcMarshaling.js +156 -156
  393. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  394. package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
  395. package/lib/cjs/rpc/core/RpcOperation.js +134 -134
  396. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  397. package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
  398. package/lib/cjs/rpc/core/RpcPendingQueue.js +95 -95
  399. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  400. package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
  401. package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
  402. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  403. package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
  404. package/lib/cjs/rpc/core/RpcPush.js +127 -127
  405. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  406. package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
  407. package/lib/cjs/rpc/core/RpcRegistry.js +199 -199
  408. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  409. package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
  410. package/lib/cjs/rpc/core/RpcRequest.js +478 -478
  411. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  412. package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
  413. package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
  414. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  415. package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
  416. package/lib/cjs/rpc/core/RpcRoutingToken.js +24 -24
  417. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  418. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
  419. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -60
  420. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  421. package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  422. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
  423. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  424. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  425. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +143 -143
  426. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  427. package/lib/cjs/rpc/web/OpenAPI.d.ts +140 -140
  428. package/lib/cjs/rpc/web/OpenAPI.js +60 -60
  429. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  430. package/lib/cjs/rpc/web/RpcMultipart.d.ts +35 -35
  431. package/lib/cjs/rpc/web/RpcMultipart.js +50 -50
  432. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  433. package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +28 -28
  434. package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
  435. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  436. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  437. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -116
  438. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  439. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +67 -67
  440. package/lib/cjs/rpc/web/WebAppRpcRequest.js +239 -239
  441. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  442. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  443. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +373 -373
  444. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  445. package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
  446. package/lib/cjs/tile/B3dmTileIO.js +66 -66
  447. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  448. package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
  449. package/lib/cjs/tile/CompositeTileIO.js +26 -26
  450. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  451. package/lib/cjs/tile/ElementGraphics.d.ts +145 -145
  452. package/lib/cjs/tile/ElementGraphics.js +9 -9
  453. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  454. package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
  455. package/lib/cjs/tile/GltfTileIO.js +109 -109
  456. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  457. package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
  458. package/lib/cjs/tile/I3dmTileIO.js +40 -40
  459. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  460. package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
  461. package/lib/cjs/tile/IModelTileIO.js +95 -95
  462. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  463. package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
  464. package/lib/cjs/tile/PntsTileIO.js +26 -26
  465. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  466. package/lib/cjs/tile/TileIO.d.ts +66 -66
  467. package/lib/cjs/tile/TileIO.js +118 -118
  468. package/lib/cjs/tile/TileIO.js.map +1 -1
  469. package/lib/cjs/tile/TileMetadata.d.ts +228 -228
  470. package/lib/cjs/tile/TileMetadata.js +676 -676
  471. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  472. package/lib/esm/AmbientOcclusion.d.ts +49 -49
  473. package/lib/esm/AmbientOcclusion.js +52 -52
  474. package/lib/esm/AmbientOcclusion.js.map +1 -1
  475. package/lib/esm/AnalysisStyle.d.ts +134 -134
  476. package/lib/esm/AnalysisStyle.js +159 -159
  477. package/lib/esm/AnalysisStyle.js.map +1 -1
  478. package/lib/esm/AuthorizationClient.d.ts +17 -17
  479. package/lib/esm/AuthorizationClient.js +8 -8
  480. package/lib/esm/AuthorizationClient.js.map +1 -1
  481. package/lib/esm/BackendTypes.d.ts +12 -12
  482. package/lib/esm/BackendTypes.js +8 -8
  483. package/lib/esm/BackendTypes.js.map +1 -1
  484. package/lib/esm/BackgroundMapProvider.d.ts +51 -51
  485. package/lib/esm/BackgroundMapProvider.js +64 -64
  486. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  487. package/lib/esm/BackgroundMapSettings.d.ts +136 -136
  488. package/lib/esm/BackgroundMapSettings.js +152 -152
  489. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  490. package/lib/esm/Base64EncodedString.d.ts +32 -32
  491. package/lib/esm/Base64EncodedString.js +63 -63
  492. package/lib/esm/Base64EncodedString.js.map +1 -1
  493. package/lib/esm/BlobReader.d.ts +31 -31
  494. package/lib/esm/BlobReader.js +79 -79
  495. package/lib/esm/BlobReader.js.map +1 -1
  496. package/lib/esm/BriefcaseTypes.d.ts +191 -191
  497. package/lib/esm/BriefcaseTypes.js +92 -92
  498. package/lib/esm/BriefcaseTypes.js.map +1 -1
  499. package/lib/esm/Camera.d.ts +42 -42
  500. package/lib/esm/Camera.js +58 -58
  501. package/lib/esm/Camera.js.map +1 -1
  502. package/lib/esm/ChangedElements.d.ts +85 -85
  503. package/lib/esm/ChangedElements.js +20 -20
  504. package/lib/esm/ChangedElements.js.map +1 -1
  505. package/lib/esm/ChangedEntities.d.ts +45 -45
  506. package/lib/esm/ChangedEntities.js +8 -8
  507. package/lib/esm/ChangedEntities.js.map +1 -1
  508. package/lib/esm/ChangesetProps.d.ts +98 -98
  509. package/lib/esm/ChangesetProps.js +19 -19
  510. package/lib/esm/ChangesetProps.js.map +1 -1
  511. package/lib/esm/ClipStyle.d.ts +89 -89
  512. package/lib/esm/ClipStyle.js +118 -118
  513. package/lib/esm/ClipStyle.js.map +1 -1
  514. package/lib/esm/CloudStorage.d.ts +62 -62
  515. package/lib/esm/CloudStorage.js +109 -109
  516. package/lib/esm/CloudStorage.js.map +1 -1
  517. package/lib/esm/CloudStorageTileCache.d.ts +27 -27
  518. package/lib/esm/CloudStorageTileCache.js +62 -62
  519. package/lib/esm/CloudStorageTileCache.js.map +1 -1
  520. package/lib/esm/Code.d.ts +277 -277
  521. package/lib/esm/Code.js +264 -264
  522. package/lib/esm/Code.js.map +1 -1
  523. package/lib/esm/ColorByName.d.ts +161 -161
  524. package/lib/esm/ColorByName.js +166 -166
  525. package/lib/esm/ColorByName.js.map +1 -1
  526. package/lib/esm/ColorDef.d.ts +208 -208
  527. package/lib/esm/ColorDef.js +567 -567
  528. package/lib/esm/ColorDef.js.map +1 -1
  529. package/lib/esm/CommonLoggerCategory.d.ts +18 -18
  530. package/lib/esm/CommonLoggerCategory.js +23 -23
  531. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  532. package/lib/esm/ConcurrentQuery.d.ts +421 -421
  533. package/lib/esm/ConcurrentQuery.js +545 -545
  534. package/lib/esm/ConcurrentQuery.js.map +1 -1
  535. package/lib/esm/ContextRealityModel.d.ts +303 -303
  536. package/lib/esm/ContextRealityModel.js +368 -368
  537. package/lib/esm/ContextRealityModel.js.map +1 -1
  538. package/lib/esm/DisplayStyleSettings.d.ts +588 -588
  539. package/lib/esm/DisplayStyleSettings.js +980 -980
  540. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  541. package/lib/esm/ECSchemaProps.d.ts +39 -39
  542. package/lib/esm/ECSchemaProps.js +8 -8
  543. package/lib/esm/ECSchemaProps.js.map +1 -1
  544. package/lib/esm/ECSqlReader.d.ts +70 -70
  545. package/lib/esm/ECSqlReader.js +275 -275
  546. package/lib/esm/ECSqlReader.js.map +1 -1
  547. package/lib/esm/ECSqlTypes.d.ts +128 -128
  548. package/lib/esm/ECSqlTypes.js +185 -185
  549. package/lib/esm/ECSqlTypes.js.map +1 -1
  550. package/lib/esm/ElementMesh.d.ts +39 -39
  551. package/lib/esm/ElementMesh.js +52 -52
  552. package/lib/esm/ElementMesh.js.map +1 -1
  553. package/lib/esm/ElementProps.d.ts +483 -483
  554. package/lib/esm/ElementProps.js +92 -92
  555. package/lib/esm/ElementProps.js.map +1 -1
  556. package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
  557. package/lib/esm/EmphasizeElementsProps.js +22 -22
  558. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  559. package/lib/esm/EntityProps.d.ts +177 -177
  560. package/lib/esm/EntityProps.js +108 -108
  561. package/lib/esm/EntityProps.js.map +1 -1
  562. package/lib/esm/EntityReference.d.ts +51 -51
  563. package/lib/esm/EntityReference.js +52 -52
  564. package/lib/esm/EntityReference.js.map +1 -1
  565. package/lib/esm/Environment.d.ts +61 -61
  566. package/lib/esm/Environment.js +69 -69
  567. package/lib/esm/Environment.js.map +1 -1
  568. package/lib/esm/FeatureIndex.d.ts +39 -39
  569. package/lib/esm/FeatureIndex.js +57 -57
  570. package/lib/esm/FeatureIndex.js.map +1 -1
  571. package/lib/esm/FeatureSymbology.d.ts +444 -444
  572. package/lib/esm/FeatureSymbology.js +609 -609
  573. package/lib/esm/FeatureSymbology.js.map +1 -1
  574. package/lib/esm/FeatureTable.d.ts +141 -141
  575. package/lib/esm/FeatureTable.js +272 -272
  576. package/lib/esm/FeatureTable.js.map +1 -1
  577. package/lib/esm/Fonts.d.ts +51 -51
  578. package/lib/esm/Fonts.js +49 -49
  579. package/lib/esm/Fonts.js.map +1 -1
  580. package/lib/esm/Frustum.d.ts +114 -114
  581. package/lib/esm/Frustum.js +288 -288
  582. package/lib/esm/Frustum.js.map +1 -1
  583. package/lib/esm/GeoCoordinateServices.d.ts +119 -119
  584. package/lib/esm/GeoCoordinateServices.js +76 -76
  585. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  586. package/lib/esm/GeometryContainment.d.ts +28 -28
  587. package/lib/esm/GeometryContainment.js +8 -8
  588. package/lib/esm/GeometryContainment.js.map +1 -1
  589. package/lib/esm/GeometryParams.d.ts +130 -130
  590. package/lib/esm/GeometryParams.js +170 -170
  591. package/lib/esm/GeometryParams.js.map +1 -1
  592. package/lib/esm/GeometrySummary.d.ts +45 -45
  593. package/lib/esm/GeometrySummary.js +20 -20
  594. package/lib/esm/GeometrySummary.js.map +1 -1
  595. package/lib/esm/Gradient.d.ts +139 -139
  596. package/lib/esm/Gradient.js +452 -452
  597. package/lib/esm/Gradient.js.map +1 -1
  598. package/lib/esm/GraphicParams.d.ts +58 -58
  599. package/lib/esm/GraphicParams.js +81 -81
  600. package/lib/esm/GraphicParams.js.map +1 -1
  601. package/lib/esm/GroundPlane.d.ts +52 -52
  602. package/lib/esm/GroundPlane.js +60 -60
  603. package/lib/esm/GroundPlane.js.map +1 -1
  604. package/lib/esm/HSLColor.d.ts +20 -20
  605. package/lib/esm/HSLColor.js +28 -28
  606. package/lib/esm/HSLColor.js.map +1 -1
  607. package/lib/esm/HSVColor.d.ts +30 -30
  608. package/lib/esm/HSVColor.js +55 -55
  609. package/lib/esm/HSVColor.js.map +1 -1
  610. package/lib/esm/HiddenLine.d.ts +97 -97
  611. package/lib/esm/HiddenLine.js +159 -159
  612. package/lib/esm/HiddenLine.js.map +1 -1
  613. package/lib/esm/Hilite.d.ts +50 -50
  614. package/lib/esm/Hilite.js +61 -61
  615. package/lib/esm/Hilite.js.map +1 -1
  616. package/lib/esm/IModel.d.ts +358 -358
  617. package/lib/esm/IModel.js +342 -342
  618. package/lib/esm/IModel.js.map +1 -1
  619. package/lib/esm/IModelError.d.ts +42 -42
  620. package/lib/esm/IModelError.js +56 -56
  621. package/lib/esm/IModelError.js.map +1 -1
  622. package/lib/esm/IModelVersion.d.ts +68 -68
  623. package/lib/esm/IModelVersion.js +75 -75
  624. package/lib/esm/IModelVersion.js.map +1 -1
  625. package/lib/esm/Image.d.ts +86 -86
  626. package/lib/esm/Image.js +120 -120
  627. package/lib/esm/Image.js.map +1 -1
  628. package/lib/esm/IpcAppProps.d.ts +141 -141
  629. package/lib/esm/IpcAppProps.js +19 -19
  630. package/lib/esm/IpcAppProps.js.map +1 -1
  631. package/lib/esm/LightSettings.d.ts +224 -224
  632. package/lib/esm/LightSettings.js +301 -301
  633. package/lib/esm/LightSettings.js.map +1 -1
  634. package/lib/esm/LinePixels.d.ts +34 -34
  635. package/lib/esm/LinePixels.js +39 -39
  636. package/lib/esm/LinePixels.js.map +1 -1
  637. package/lib/esm/Localization.d.ts +113 -113
  638. package/lib/esm/Localization.js +29 -29
  639. package/lib/esm/Localization.js.map +1 -1
  640. package/lib/esm/MapImagerySettings.d.ts +62 -62
  641. package/lib/esm/MapImagerySettings.js +76 -76
  642. package/lib/esm/MapImagerySettings.js.map +1 -1
  643. package/lib/esm/MapLayerSettings.d.ts +272 -272
  644. package/lib/esm/MapLayerSettings.js +403 -403
  645. package/lib/esm/MapLayerSettings.js.map +1 -1
  646. package/lib/esm/MassProperties.d.ts +64 -64
  647. package/lib/esm/MassProperties.js +20 -20
  648. package/lib/esm/MassProperties.js.map +1 -1
  649. package/lib/esm/MaterialProps.d.ts +153 -153
  650. package/lib/esm/MaterialProps.js +32 -32
  651. package/lib/esm/MaterialProps.js.map +1 -1
  652. package/lib/esm/ModelClipGroup.d.ts +67 -67
  653. package/lib/esm/ModelClipGroup.js +93 -93
  654. package/lib/esm/ModelClipGroup.js.map +1 -1
  655. package/lib/esm/ModelGeometryChanges.d.ts +107 -107
  656. package/lib/esm/ModelGeometryChanges.js +80 -80
  657. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  658. package/lib/esm/ModelProps.d.ts +67 -67
  659. package/lib/esm/ModelProps.js +8 -8
  660. package/lib/esm/ModelProps.js.map +1 -1
  661. package/lib/esm/NativeAppProps.d.ts +122 -122
  662. package/lib/esm/NativeAppProps.js +27 -27
  663. package/lib/esm/NativeAppProps.js.map +1 -1
  664. package/lib/esm/OctEncodedNormal.d.ts +33 -33
  665. package/lib/esm/OctEncodedNormal.js +93 -93
  666. package/lib/esm/OctEncodedNormal.js.map +1 -1
  667. package/lib/esm/PlanProjectionSettings.d.ts +47 -47
  668. package/lib/esm/PlanProjectionSettings.js +59 -59
  669. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  670. package/lib/esm/PlanarClipMask.d.ts +177 -177
  671. package/lib/esm/PlanarClipMask.js +132 -132
  672. package/lib/esm/PlanarClipMask.js.map +1 -1
  673. package/lib/esm/QPoint.d.ts +479 -479
  674. package/lib/esm/QPoint.js +815 -815
  675. package/lib/esm/QPoint.js.map +1 -1
  676. package/lib/esm/RealityDataAccessProps.d.ts +41 -41
  677. package/lib/esm/RealityDataAccessProps.js +16 -16
  678. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  679. package/lib/esm/RealityModelDisplaySettings.d.ts +183 -183
  680. package/lib/esm/RealityModelDisplaySettings.js +137 -137
  681. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  682. package/lib/esm/Render.d.ts +89 -89
  683. package/lib/esm/Render.js +165 -165
  684. package/lib/esm/Render.js.map +1 -1
  685. package/lib/esm/RenderMaterial.d.ts +58 -58
  686. package/lib/esm/RenderMaterial.js +72 -72
  687. package/lib/esm/RenderMaterial.js.map +1 -1
  688. package/lib/esm/RenderSchedule.d.ts +543 -543
  689. package/lib/esm/RenderSchedule.js +999 -999
  690. package/lib/esm/RenderTexture.d.ts +70 -70
  691. package/lib/esm/RenderTexture.js +55 -55
  692. package/lib/esm/RenderTexture.js.map +1 -1
  693. package/lib/esm/RgbColor.d.ts +47 -47
  694. package/lib/esm/RgbColor.js +73 -73
  695. package/lib/esm/RgbColor.js.map +1 -1
  696. package/lib/esm/RpcInterface.d.ts +33 -33
  697. package/lib/esm/RpcInterface.js +133 -133
  698. package/lib/esm/RpcInterface.js.map +1 -1
  699. package/lib/esm/RpcManager.d.ts +40 -40
  700. package/lib/esm/RpcManager.js +51 -51
  701. package/lib/esm/RpcManager.js.map +1 -1
  702. package/lib/esm/SessionProps.d.ts +16 -16
  703. package/lib/esm/SessionProps.js +8 -8
  704. package/lib/esm/SessionProps.js.map +1 -1
  705. package/lib/esm/SkyBox.d.ts +215 -215
  706. package/lib/esm/SkyBox.js +203 -203
  707. package/lib/esm/SkyBox.js.map +1 -1
  708. package/lib/esm/Snapping.d.ts +49 -49
  709. package/lib/esm/Snapping.js +8 -8
  710. package/lib/esm/Snapping.js.map +1 -1
  711. package/lib/esm/SolarCalculate.d.ts +27 -27
  712. package/lib/esm/SolarCalculate.js +204 -204
  713. package/lib/esm/SolarCalculate.js.map +1 -1
  714. package/lib/esm/SolarShadows.d.ts +35 -35
  715. package/lib/esm/SolarShadows.js +58 -58
  716. package/lib/esm/SolarShadows.js.map +1 -1
  717. package/lib/esm/SpatialClassification.d.ts +208 -208
  718. package/lib/esm/SpatialClassification.js +334 -334
  719. package/lib/esm/SpatialClassification.js.map +1 -1
  720. package/lib/esm/SubCategoryAppearance.d.ts +91 -91
  721. package/lib/esm/SubCategoryAppearance.js +92 -92
  722. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  723. package/lib/esm/SubCategoryOverride.d.ts +46 -46
  724. package/lib/esm/SubCategoryOverride.js +100 -100
  725. package/lib/esm/SubCategoryOverride.js.map +1 -1
  726. package/lib/esm/TerrainSettings.d.ts +82 -82
  727. package/lib/esm/TerrainSettings.js +98 -98
  728. package/lib/esm/TerrainSettings.js.map +1 -1
  729. package/lib/esm/TextureMapping.d.ts +118 -118
  730. package/lib/esm/TextureMapping.js +170 -170
  731. package/lib/esm/TextureMapping.js.map +1 -1
  732. package/lib/esm/TextureProps.d.ts +65 -65
  733. package/lib/esm/TextureProps.js +25 -25
  734. package/lib/esm/TextureProps.js.map +1 -1
  735. package/lib/esm/ThematicDisplay.d.ts +230 -230
  736. package/lib/esm/ThematicDisplay.js +337 -337
  737. package/lib/esm/ThematicDisplay.js.map +1 -1
  738. package/lib/esm/Thumbnail.d.ts +26 -26
  739. package/lib/esm/Thumbnail.js +8 -8
  740. package/lib/esm/Thumbnail.js.map +1 -1
  741. package/lib/esm/TileProps.d.ts +82 -82
  742. package/lib/esm/TileProps.js +25 -25
  743. package/lib/esm/TileProps.js.map +1 -1
  744. package/lib/esm/Tween.d.ts +191 -191
  745. package/lib/esm/Tween.js +565 -565
  746. package/lib/esm/Tween.js.map +1 -1
  747. package/lib/esm/TxnAction.d.ts +21 -21
  748. package/lib/esm/TxnAction.js +26 -26
  749. package/lib/esm/TxnAction.js.map +1 -1
  750. package/lib/esm/ViewDetails.d.ts +125 -125
  751. package/lib/esm/ViewDetails.js +161 -161
  752. package/lib/esm/ViewDetails.js.map +1 -1
  753. package/lib/esm/ViewFlags.d.ts +287 -287
  754. package/lib/esm/ViewFlags.js +364 -364
  755. package/lib/esm/ViewFlags.js.map +1 -1
  756. package/lib/esm/ViewProps.d.ts +205 -205
  757. package/lib/esm/ViewProps.js +8 -8
  758. package/lib/esm/ViewProps.js.map +1 -1
  759. package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
  760. package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
  761. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  762. package/lib/esm/core-common.d.ts +244 -244
  763. package/lib/esm/core-common.js +248 -248
  764. package/lib/esm/core-common.js.map +1 -1
  765. package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
  766. package/lib/esm/domains/FunctionalElementProps.js +8 -8
  767. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  768. package/lib/esm/domains/GenericElementProps.d.ts +18 -18
  769. package/lib/esm/domains/GenericElementProps.js +8 -8
  770. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  771. package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
  772. package/lib/esm/geometry/AdditionalTransform.js +80 -80
  773. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  774. package/lib/esm/geometry/AreaPattern.d.ts +82 -82
  775. package/lib/esm/geometry/AreaPattern.js +201 -201
  776. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  777. package/lib/esm/geometry/BoundingSphere.d.ts +27 -27
  778. package/lib/esm/geometry/BoundingSphere.js +40 -40
  779. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  780. package/lib/esm/geometry/Cartographic.d.ts +137 -137
  781. package/lib/esm/geometry/Cartographic.js +340 -340
  782. package/lib/esm/geometry/Cartographic.js.map +1 -1
  783. package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
  784. package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
  785. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  786. package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
  787. package/lib/esm/geometry/ElementGeometry.js +1716 -1716
  788. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  789. package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
  790. package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
  791. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  792. package/lib/esm/geometry/FrustumPlanes.d.ts +81 -81
  793. package/lib/esm/geometry/FrustumPlanes.js +189 -189
  794. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  795. package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
  796. package/lib/esm/geometry/GeodeticDatum.js +390 -390
  797. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  798. package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
  799. package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
  800. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  801. package/lib/esm/geometry/GeometryStream.d.ts +347 -347
  802. package/lib/esm/geometry/GeometryStream.js +464 -464
  803. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  804. package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
  805. package/lib/esm/geometry/ImageGraphic.js +93 -93
  806. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  807. package/lib/esm/geometry/LineStyle.d.ts +71 -71
  808. package/lib/esm/geometry/LineStyle.js +126 -126
  809. package/lib/esm/geometry/LineStyle.js.map +1 -1
  810. package/lib/esm/geometry/Placement.d.ts +95 -95
  811. package/lib/esm/geometry/Placement.js +126 -126
  812. package/lib/esm/geometry/Placement.js.map +1 -1
  813. package/lib/esm/geometry/Projection.d.ts +251 -251
  814. package/lib/esm/geometry/Projection.js +192 -192
  815. package/lib/esm/geometry/Projection.js.map +1 -1
  816. package/lib/esm/geometry/TextString.d.ts +55 -55
  817. package/lib/esm/geometry/TextString.js +61 -61
  818. package/lib/esm/geometry/TextString.js.map +1 -1
  819. package/lib/esm/ipc/IpcSession.d.ts +23 -23
  820. package/lib/esm/ipc/IpcSession.js +23 -23
  821. package/lib/esm/ipc/IpcSession.js.map +1 -1
  822. package/lib/esm/ipc/IpcSocket.d.ts +96 -96
  823. package/lib/esm/ipc/IpcSocket.js +12 -12
  824. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  825. package/lib/esm/ipc/IpcWebSocket.d.ts +61 -61
  826. package/lib/esm/ipc/IpcWebSocket.js +145 -145
  827. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  828. package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
  829. package/lib/esm/ipc/IpcWebSocketTransport.js +156 -156
  830. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  831. package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
  832. package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
  833. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  834. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +99 -99
  835. package/lib/esm/rpc/IModelReadRpcInterface.js +117 -117
  836. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  837. package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -61
  838. package/lib/esm/rpc/IModelTileRpcInterface.js +92 -92
  839. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  840. package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
  841. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
  842. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  843. package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
  844. package/lib/esm/rpc/TestRpcManager.js +36 -36
  845. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  846. package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
  847. package/lib/esm/rpc/WipRpcInterface.js +36 -36
  848. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  849. package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
  850. package/lib/esm/rpc/core/RpcConfiguration.js +184 -184
  851. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  852. package/lib/esm/rpc/core/RpcConstants.d.ts +90 -90
  853. package/lib/esm/rpc/core/RpcConstants.js +106 -106
  854. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  855. package/lib/esm/rpc/core/RpcControl.d.ts +54 -54
  856. package/lib/esm/rpc/core/RpcControl.js +138 -138
  857. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  858. package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
  859. package/lib/esm/rpc/core/RpcInvocation.js +254 -254
  860. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  861. package/lib/esm/rpc/core/RpcMarshaling.d.ts +35 -35
  862. package/lib/esm/rpc/core/RpcMarshaling.js +152 -152
  863. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  864. package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
  865. package/lib/esm/rpc/core/RpcOperation.js +129 -129
  866. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  867. package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
  868. package/lib/esm/rpc/core/RpcPendingQueue.js +91 -91
  869. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  870. package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
  871. package/lib/esm/rpc/core/RpcProtocol.js +123 -123
  872. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  873. package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
  874. package/lib/esm/rpc/core/RpcPush.js +119 -119
  875. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  876. package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
  877. package/lib/esm/rpc/core/RpcRegistry.js +195 -195
  878. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  879. package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
  880. package/lib/esm/rpc/core/RpcRequest.js +473 -473
  881. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  882. package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
  883. package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
  884. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  885. package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
  886. package/lib/esm/rpc/core/RpcRoutingToken.js +20 -20
  887. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  888. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
  889. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -56
  890. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  891. package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
  892. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
  893. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  894. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
  895. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +139 -139
  896. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  897. package/lib/esm/rpc/web/OpenAPI.d.ts +140 -140
  898. package/lib/esm/rpc/web/OpenAPI.js +56 -56
  899. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  900. package/lib/esm/rpc/web/RpcMultipart.d.ts +35 -35
  901. package/lib/esm/rpc/web/RpcMultipart.js +46 -46
  902. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  903. package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +28 -28
  904. package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
  905. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  906. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +89 -89
  907. package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -112
  908. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  909. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +67 -67
  910. package/lib/esm/rpc/web/WebAppRpcRequest.js +235 -235
  911. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  912. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +32 -32
  913. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +369 -369
  914. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  915. package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
  916. package/lib/esm/tile/B3dmTileIO.js +62 -62
  917. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  918. package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
  919. package/lib/esm/tile/CompositeTileIO.js +22 -22
  920. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  921. package/lib/esm/tile/ElementGraphics.d.ts +145 -145
  922. package/lib/esm/tile/ElementGraphics.js +8 -8
  923. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  924. package/lib/esm/tile/GltfTileIO.d.ts +45 -45
  925. package/lib/esm/tile/GltfTileIO.js +105 -105
  926. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  927. package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
  928. package/lib/esm/tile/I3dmTileIO.js +36 -36
  929. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  930. package/lib/esm/tile/IModelTileIO.d.ts +75 -75
  931. package/lib/esm/tile/IModelTileIO.js +90 -90
  932. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  933. package/lib/esm/tile/PntsTileIO.d.ts +17 -17
  934. package/lib/esm/tile/PntsTileIO.js +22 -22
  935. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  936. package/lib/esm/tile/TileIO.d.ts +66 -66
  937. package/lib/esm/tile/TileIO.js +110 -110
  938. package/lib/esm/tile/TileIO.js.map +1 -1
  939. package/lib/esm/tile/TileMetadata.d.ts +228 -228
  940. package/lib/esm/tile/TileMetadata.js +661 -661
  941. package/lib/esm/tile/TileMetadata.js.map +1 -1
  942. package/package.json +7 -7
@@ -1,175 +1,175 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Rendering
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.TextureMapping = void 0;
11
- const core_geometry_1 = require("@itwin/core-geometry");
12
- /** Describes how to map a [[RenderTexture]]'s image onto a surface as part of a [[RenderMaterial]].
13
- * @public
14
- */
15
- class TextureMapping {
16
- constructor(tx, params) {
17
- this.texture = tx;
18
- this.params = params;
19
- }
20
- /** @internal */
21
- computeUVParams(visitor, transformToImodel) {
22
- return this.params.computeUVParams(visitor, transformToImodel);
23
- }
24
- }
25
- exports.TextureMapping = TextureMapping;
26
- /** @public */
27
- (function (TextureMapping) {
28
- /** Enumerates the possible texture mapping modes. */
29
- let Mode;
30
- (function (Mode) {
31
- Mode[Mode["None"] = -1] = "None";
32
- Mode[Mode["Parametric"] = 0] = "Parametric";
33
- Mode[Mode["ElevationDrape"] = 1] = "ElevationDrape";
34
- Mode[Mode["Planar"] = 2] = "Planar";
35
- /** @internal */
36
- Mode[Mode["DirectionalDrape"] = 3] = "DirectionalDrape";
37
- /** @internal */
38
- Mode[Mode["Cubic"] = 4] = "Cubic";
39
- /** @internal */
40
- Mode[Mode["Spherical"] = 5] = "Spherical";
41
- /** @internal */
42
- Mode[Mode["Cylindrical"] = 6] = "Cylindrical";
43
- /** @internal */
44
- Mode[Mode["Solid"] = 7] = "Solid";
45
- /** @internal Only valid for lights */
46
- Mode[Mode["FrontProject"] = 8] = "FrontProject";
47
- })(Mode = TextureMapping.Mode || (TextureMapping.Mode = {}));
48
- /** A 2x3 matrix for mapping a texture image to a surface. */
49
- class Trans2x3 {
50
- /** Construct from the two rows of the matrix:
51
- * ```
52
- * | m00 m01 originX |
53
- * | m10 m11 originY |
54
- * ```
55
- * Producing the [Transform]($core-geometry):
56
- * ```
57
- * | m00 m01 0 originX |
58
- * | m10 m11 0 originY |
59
- * | 0 0 1 0 |
60
- * ```
61
- */
62
- constructor(m00 = 1, m01 = 0, originX = 0, m10 = 0, m11 = 1, originY = 0) {
63
- const origin = new core_geometry_1.Point3d(originX, originY, 0);
64
- const matrix = core_geometry_1.Matrix3d.createRowValues(m00, m01, 0, m10, m11, 0, 0, 0, 1);
65
- this.transform = core_geometry_1.Transform.createRefs(origin, matrix);
66
- }
67
- }
68
- /** An immutable 2x3 identity matrix. */
69
- Trans2x3.identity = new Trans2x3();
70
- TextureMapping.Trans2x3 = Trans2x3;
71
- /** Parameters describing how a [[RenderTexture]]'s image is mapped to a surface. */
72
- class Params {
73
- constructor(props) {
74
- var _a, _b, _c, _d;
75
- this.textureMatrix = (_a = props === null || props === void 0 ? void 0 : props.textureMat2x3) !== null && _a !== void 0 ? _a : Trans2x3.identity;
76
- this.weight = (_b = props === null || props === void 0 ? void 0 : props.textureWeight) !== null && _b !== void 0 ? _b : 1;
77
- this.mode = (_c = props === null || props === void 0 ? void 0 : props.mapMode) !== null && _c !== void 0 ? _c : Mode.Parametric;
78
- this.worldMapping = (_d = props === null || props === void 0 ? void 0 : props.worldMapping) !== null && _d !== void 0 ? _d : false;
79
- }
80
- /**
81
- * Generates UV parameters for textured surfaces. Returns undefined on failure.
82
- * @internal
83
- */
84
- computeUVParams(visitor, transformToImodel) {
85
- switch (this.mode) {
86
- default: // Fall through to parametric in default case
87
- case TextureMapping.Mode.Parametric: {
88
- return this.computeParametricUVParams(visitor, this.textureMatrix.transform, !this.worldMapping);
89
- }
90
- case TextureMapping.Mode.Planar: {
91
- const normalIndices = visitor.normalIndex;
92
- if (!normalIndices)
93
- return undefined;
94
- // Ignore planar mode unless master or sub units for scaleMode and facet is planar
95
- if (!this.worldMapping || (visitor.normalIndex !== undefined && (normalIndices[0] !== normalIndices[1] || normalIndices[0] !== normalIndices[2]))) {
96
- return this.computeParametricUVParams(visitor, this.textureMatrix.transform, !this.worldMapping);
97
- }
98
- else {
99
- return this.computePlanarUVParams(visitor, this.textureMatrix.transform);
100
- }
101
- }
102
- case TextureMapping.Mode.ElevationDrape: {
103
- return this.computeElevationDrapeUVParams(visitor, this.textureMatrix.transform, transformToImodel);
104
- }
105
- }
106
- }
107
- /** Computes UV parameters given a texture mapping mode of parametric. */
108
- computeParametricUVParams(visitor, uvTransform, isRelativeUnits) {
109
- const params = [];
110
- for (let i = 0; i < visitor.numEdgesThisFacet; i++) {
111
- let param = core_geometry_1.Point2d.create();
112
- if (isRelativeUnits || !visitor.tryGetDistanceParameter(i, param)) {
113
- if (!visitor.tryGetNormalizedParameter(i, param)) {
114
- // If mesh does not have facetFaceData, we still want to use the texture coordinates if they are present
115
- param = visitor.getParam(i);
116
- }
117
- }
118
- params.push(uvTransform.multiplyPoint2d(param));
119
- }
120
- return params;
121
- }
122
- /** Computes UV parameters given a texture mapping mode of planar. The result is stored in the Point2d array given. */
123
- computePlanarUVParams(visitor, uvTransform) {
124
- const params = [];
125
- const points = visitor.point;
126
- let normal;
127
- if (visitor.normal === undefined)
128
- normal = points.getPoint3dAtUncheckedPointIndex(0).crossProductToPoints(points.getPoint3dAtUncheckedPointIndex(1), points.getPoint3dAtUncheckedPointIndex(2));
129
- else
130
- normal = visitor.normal.getVector3dAtCheckedVectorIndex(0);
131
- if (!normal.normalize(normal))
132
- return undefined;
133
- // adjust U texture coordinate to be a continuous length starting at the
134
- // origin. V coordinate stays the same. This mode assumes Z is up vector
135
- // Flipping normal puts us in a planar coordinate system consistent with MicroStation's display system
136
- normal.scale(-1.0, normal);
137
- // pick the first vertex normal
138
- const sideVector = core_geometry_1.Vector3d.create(normal.y, -normal.x, 0.0);
139
- // if the magnitude of the normal is near zero, the real normal points
140
- // almost straighten up.. In this case, use Y as the up vector to match QV
141
- const magnitude = sideVector.magnitude();
142
- sideVector.normalize(sideVector); // won't remain undefined if failed due to following check..
143
- if (magnitude < 1e-3) {
144
- normal.set(0, 0, -1);
145
- sideVector.set(1, 0, 0);
146
- }
147
- const upVector = sideVector.crossProduct(normal).normalize();
148
- if (!upVector)
149
- return undefined;
150
- const numEdges = visitor.numEdgesThisFacet;
151
- for (let i = 0; i < numEdges; i++) {
152
- const vector = core_geometry_1.Vector3d.createFrom(points.getPoint3dAtUncheckedPointIndex(i));
153
- params.push(core_geometry_1.Point2d.create(vector.dotProduct(sideVector), vector.dotProduct(upVector)));
154
- uvTransform.multiplyPoint2d(params[i], params[i]);
155
- }
156
- return params;
157
- }
158
- /** Computes UV parameters given a texture mapping mode of elevation drape. The result is stored in the Point2d array given. */
159
- computeElevationDrapeUVParams(visitor, uvTransform, transformToIModel) {
160
- const params = [];
161
- const numEdges = visitor.numEdgesThisFacet;
162
- for (let i = 0; i < numEdges; i++) {
163
- const point = visitor.point.getPoint3dAtUncheckedPointIndex(i);
164
- if (transformToIModel !== undefined)
165
- transformToIModel.multiplyPoint3d(point, point);
166
- params.push(core_geometry_1.Point2d.createFrom(point));
167
- uvTransform.multiplyPoint2d(params[i], params[i]);
168
- }
169
- return params;
170
- }
171
- }
172
- TextureMapping.Params = Params;
173
- })(TextureMapping = exports.TextureMapping || (exports.TextureMapping = {}));
174
- Object.freeze(TextureMapping.Trans2x3.identity);
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Rendering
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.TextureMapping = void 0;
11
+ const core_geometry_1 = require("@itwin/core-geometry");
12
+ /** Describes how to map a [[RenderTexture]]'s image onto a surface as part of a [[RenderMaterial]].
13
+ * @public
14
+ */
15
+ class TextureMapping {
16
+ constructor(tx, params) {
17
+ this.texture = tx;
18
+ this.params = params;
19
+ }
20
+ /** @internal */
21
+ computeUVParams(visitor, transformToImodel) {
22
+ return this.params.computeUVParams(visitor, transformToImodel);
23
+ }
24
+ }
25
+ exports.TextureMapping = TextureMapping;
26
+ /** @public */
27
+ (function (TextureMapping) {
28
+ /** Enumerates the possible texture mapping modes. */
29
+ let Mode;
30
+ (function (Mode) {
31
+ Mode[Mode["None"] = -1] = "None";
32
+ Mode[Mode["Parametric"] = 0] = "Parametric";
33
+ Mode[Mode["ElevationDrape"] = 1] = "ElevationDrape";
34
+ Mode[Mode["Planar"] = 2] = "Planar";
35
+ /** @internal */
36
+ Mode[Mode["DirectionalDrape"] = 3] = "DirectionalDrape";
37
+ /** @internal */
38
+ Mode[Mode["Cubic"] = 4] = "Cubic";
39
+ /** @internal */
40
+ Mode[Mode["Spherical"] = 5] = "Spherical";
41
+ /** @internal */
42
+ Mode[Mode["Cylindrical"] = 6] = "Cylindrical";
43
+ /** @internal */
44
+ Mode[Mode["Solid"] = 7] = "Solid";
45
+ /** @internal Only valid for lights */
46
+ Mode[Mode["FrontProject"] = 8] = "FrontProject";
47
+ })(Mode = TextureMapping.Mode || (TextureMapping.Mode = {}));
48
+ /** A 2x3 matrix for mapping a texture image to a surface. */
49
+ class Trans2x3 {
50
+ /** Construct from the two rows of the matrix:
51
+ * ```
52
+ * | m00 m01 originX |
53
+ * | m10 m11 originY |
54
+ * ```
55
+ * Producing the [Transform]($core-geometry):
56
+ * ```
57
+ * | m00 m01 0 originX |
58
+ * | m10 m11 0 originY |
59
+ * | 0 0 1 0 |
60
+ * ```
61
+ */
62
+ constructor(m00 = 1, m01 = 0, originX = 0, m10 = 0, m11 = 1, originY = 0) {
63
+ const origin = new core_geometry_1.Point3d(originX, originY, 0);
64
+ const matrix = core_geometry_1.Matrix3d.createRowValues(m00, m01, 0, m10, m11, 0, 0, 0, 1);
65
+ this.transform = core_geometry_1.Transform.createRefs(origin, matrix);
66
+ }
67
+ }
68
+ /** An immutable 2x3 identity matrix. */
69
+ Trans2x3.identity = new Trans2x3();
70
+ TextureMapping.Trans2x3 = Trans2x3;
71
+ /** Parameters describing how a [[RenderTexture]]'s image is mapped to a surface. */
72
+ class Params {
73
+ constructor(props) {
74
+ var _a, _b, _c, _d;
75
+ this.textureMatrix = (_a = props === null || props === void 0 ? void 0 : props.textureMat2x3) !== null && _a !== void 0 ? _a : Trans2x3.identity;
76
+ this.weight = (_b = props === null || props === void 0 ? void 0 : props.textureWeight) !== null && _b !== void 0 ? _b : 1;
77
+ this.mode = (_c = props === null || props === void 0 ? void 0 : props.mapMode) !== null && _c !== void 0 ? _c : Mode.Parametric;
78
+ this.worldMapping = (_d = props === null || props === void 0 ? void 0 : props.worldMapping) !== null && _d !== void 0 ? _d : false;
79
+ }
80
+ /**
81
+ * Generates UV parameters for textured surfaces. Returns undefined on failure.
82
+ * @internal
83
+ */
84
+ computeUVParams(visitor, transformToImodel) {
85
+ switch (this.mode) {
86
+ default: // Fall through to parametric in default case
87
+ case TextureMapping.Mode.Parametric: {
88
+ return this.computeParametricUVParams(visitor, this.textureMatrix.transform, !this.worldMapping);
89
+ }
90
+ case TextureMapping.Mode.Planar: {
91
+ const normalIndices = visitor.normalIndex;
92
+ if (!normalIndices)
93
+ return undefined;
94
+ // Ignore planar mode unless master or sub units for scaleMode and facet is planar
95
+ if (!this.worldMapping || (visitor.normalIndex !== undefined && (normalIndices[0] !== normalIndices[1] || normalIndices[0] !== normalIndices[2]))) {
96
+ return this.computeParametricUVParams(visitor, this.textureMatrix.transform, !this.worldMapping);
97
+ }
98
+ else {
99
+ return this.computePlanarUVParams(visitor, this.textureMatrix.transform);
100
+ }
101
+ }
102
+ case TextureMapping.Mode.ElevationDrape: {
103
+ return this.computeElevationDrapeUVParams(visitor, this.textureMatrix.transform, transformToImodel);
104
+ }
105
+ }
106
+ }
107
+ /** Computes UV parameters given a texture mapping mode of parametric. */
108
+ computeParametricUVParams(visitor, uvTransform, isRelativeUnits) {
109
+ const params = [];
110
+ for (let i = 0; i < visitor.numEdgesThisFacet; i++) {
111
+ let param = core_geometry_1.Point2d.create();
112
+ if (isRelativeUnits || !visitor.tryGetDistanceParameter(i, param)) {
113
+ if (!visitor.tryGetNormalizedParameter(i, param)) {
114
+ // If mesh does not have facetFaceData, we still want to use the texture coordinates if they are present
115
+ param = visitor.getParam(i);
116
+ }
117
+ }
118
+ params.push(uvTransform.multiplyPoint2d(param));
119
+ }
120
+ return params;
121
+ }
122
+ /** Computes UV parameters given a texture mapping mode of planar. The result is stored in the Point2d array given. */
123
+ computePlanarUVParams(visitor, uvTransform) {
124
+ const params = [];
125
+ const points = visitor.point;
126
+ let normal;
127
+ if (visitor.normal === undefined)
128
+ normal = points.getPoint3dAtUncheckedPointIndex(0).crossProductToPoints(points.getPoint3dAtUncheckedPointIndex(1), points.getPoint3dAtUncheckedPointIndex(2));
129
+ else
130
+ normal = visitor.normal.getVector3dAtCheckedVectorIndex(0);
131
+ if (!normal.normalize(normal))
132
+ return undefined;
133
+ // adjust U texture coordinate to be a continuous length starting at the
134
+ // origin. V coordinate stays the same. This mode assumes Z is up vector
135
+ // Flipping normal puts us in a planar coordinate system consistent with MicroStation's display system
136
+ normal.scale(-1.0, normal);
137
+ // pick the first vertex normal
138
+ const sideVector = core_geometry_1.Vector3d.create(normal.y, -normal.x, 0.0);
139
+ // if the magnitude of the normal is near zero, the real normal points
140
+ // almost straighten up.. In this case, use Y as the up vector to match QV
141
+ const magnitude = sideVector.magnitude();
142
+ sideVector.normalize(sideVector); // won't remain undefined if failed due to following check..
143
+ if (magnitude < 1e-3) {
144
+ normal.set(0, 0, -1);
145
+ sideVector.set(1, 0, 0);
146
+ }
147
+ const upVector = sideVector.crossProduct(normal).normalize();
148
+ if (!upVector)
149
+ return undefined;
150
+ const numEdges = visitor.numEdgesThisFacet;
151
+ for (let i = 0; i < numEdges; i++) {
152
+ const vector = core_geometry_1.Vector3d.createFrom(points.getPoint3dAtUncheckedPointIndex(i));
153
+ params.push(core_geometry_1.Point2d.create(vector.dotProduct(sideVector), vector.dotProduct(upVector)));
154
+ uvTransform.multiplyPoint2d(params[i], params[i]);
155
+ }
156
+ return params;
157
+ }
158
+ /** Computes UV parameters given a texture mapping mode of elevation drape. The result is stored in the Point2d array given. */
159
+ computeElevationDrapeUVParams(visitor, uvTransform, transformToIModel) {
160
+ const params = [];
161
+ const numEdges = visitor.numEdgesThisFacet;
162
+ for (let i = 0; i < numEdges; i++) {
163
+ const point = visitor.point.getPoint3dAtUncheckedPointIndex(i);
164
+ if (transformToIModel !== undefined)
165
+ transformToIModel.multiplyPoint3d(point, point);
166
+ params.push(core_geometry_1.Point2d.createFrom(point));
167
+ uvTransform.multiplyPoint2d(params[i], params[i]);
168
+ }
169
+ return params;
170
+ }
171
+ }
172
+ TextureMapping.Params = Params;
173
+ })(TextureMapping = exports.TextureMapping || (exports.TextureMapping = {}));
174
+ Object.freeze(TextureMapping.Trans2x3.identity);
175
175
  //# sourceMappingURL=TextureMapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextureMapping.js","sourceRoot":"","sources":["../../src/TextureMapping.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Rendering\n */\n\nimport { IndexedPolyfaceVisitor, Matrix3d, Point2d, Point3d, PolyfaceVisitor, Transform, Vector3d } from \"@itwin/core-geometry\";\nimport { RenderTexture } from \"./RenderTexture\";\n\n/** Defines normal map parameters.\n * @beta\n */\nexport interface NormalMapParams {\n /** The texture to use as a normal map. If not present then the pattern map texture will be used as a normal map. */\n normalMap?: RenderTexture;\n /** True if the Y component stored in the green channel should be negated. By default, positive Y points downward, but some\n * normal maps are created with positive Y pointing upward.\n */\n greenUp?: boolean;\n /** Scale factor by which to multiply the components of the normal extracted from [[normalMap]]. */\n scale?: number;\n}\n\n/** Describes how to map a [[RenderTexture]]'s image onto a surface as part of a [[RenderMaterial]].\n * @public\n */\nexport class TextureMapping {\n /** The texture to be mapped to the surface. If normalMapParams is present but does not contain a normal map, then texture is used as a normal map rather than a pattern map. */\n public readonly texture: RenderTexture;\n /** The parameters for normal mapping.\n * @beta\n */\n public normalMapParams?: NormalMapParams;\n /** The parameters describing how the textures are mapped to the surface. */\n public readonly params: TextureMapping.Params;\n\n public constructor(tx: RenderTexture, params: TextureMapping.Params) {\n this.texture = tx;\n this.params = params;\n }\n\n /** @internal */\n public computeUVParams(visitor: PolyfaceVisitor, transformToImodel: Transform): Point2d[] | undefined {\n return this.params.computeUVParams(visitor as IndexedPolyfaceVisitor, transformToImodel);\n }\n}\n\n/** @public */\nexport namespace TextureMapping { // eslint-disable-line no-redeclare\n /** Enumerates the possible texture mapping modes. */\n export enum Mode {\n None = -1,\n Parametric = 0,\n ElevationDrape = 1,\n Planar = 2,\n /** @internal */\n DirectionalDrape = 3,\n /** @internal */\n Cubic = 4,\n /** @internal */\n Spherical = 5,\n /** @internal */\n Cylindrical = 6,\n /** @internal */\n Solid = 7,\n /** @internal Only valid for lights */\n FrontProject = 8,\n }\n\n /** A 2x3 matrix for mapping a texture image to a surface. */\n export class Trans2x3 {\n /** The 3x4 transform produced from the 2x3 matrix. */\n public readonly transform: Transform;\n\n /** Construct from the two rows of the matrix:\n * ```\n * | m00 m01 originX |\n * | m10 m11 originY |\n * ```\n * Producing the [Transform]($core-geometry):\n * ```\n * | m00 m01 0 originX |\n * | m10 m11 0 originY |\n * | 0 0 1 0 |\n * ```\n */\n public constructor(m00 = 1, m01 = 0, originX = 0, m10 = 0, m11 = 1, originY = 0) {\n const origin = new Point3d(originX, originY, 0);\n const matrix = Matrix3d.createRowValues(m00, m01, 0, m10, m11, 0, 0, 0, 1);\n this.transform = Transform.createRefs(origin, matrix);\n }\n\n /** An immutable 2x3 identity matrix. */\n public static readonly identity = new Trans2x3();\n }\n\n /** Properties used to construct a [[TextureMapping.Params]]. */\n export interface ParamProps {\n /** The matrix used to map the image to a surface. */\n textureMat2x3?: TextureMapping.Trans2x3;\n /** The ratio in [0, 1] with which to mix the color sampled from the texture with the surface's color.\n * A value of 0.0 uses only the surface color. A value of 1.0 uses only the texture color. A value of 0.5 uses an even mix of both.\n * @note This affects only the red, green, and blue components of the color. The alpha sampled from the texture is always multiplied by the surface color's alpha.\n * @note Defaults to 1.0\n */\n textureWeight?: number;\n /** The mode by which to map the image to a surface.\n * @note Defaults to [[TextureMapping.Mode.Parametric]].\n */\n mapMode?: TextureMapping.Mode;\n /** @internal */\n worldMapping?: boolean;\n }\n\n /** Parameters describing how a [[RenderTexture]]'s image is mapped to a surface. */\n export class Params {\n /** The matrix used to map the image to a surface. */\n public textureMatrix: TextureMapping.Trans2x3;\n /** The ratio in [0, 1] with which to mix the color sampled from the texture with the element's color.\n * A value of 0.0 uses only the element color. A value of 1.0 uses only the texture color.\n */\n public weight: number;\n /** The mode by which to map the image to a surface. */\n public mode: TextureMapping.Mode;\n /** @internal */\n public worldMapping: boolean;\n\n public constructor(props?: TextureMapping.ParamProps) {\n this.textureMatrix = props?.textureMat2x3 ?? Trans2x3.identity;\n this.weight = props?.textureWeight ?? 1;\n this.mode = props?.mapMode ?? Mode.Parametric;\n this.worldMapping = props?.worldMapping ?? false;\n }\n\n /**\n * Generates UV parameters for textured surfaces. Returns undefined on failure.\n * @internal\n */\n public computeUVParams(visitor: IndexedPolyfaceVisitor, transformToImodel: Transform): Point2d[] | undefined {\n switch (this.mode) {\n default: // Fall through to parametric in default case\n case TextureMapping.Mode.Parametric: {\n return this.computeParametricUVParams(visitor, this.textureMatrix.transform, !this.worldMapping);\n }\n case TextureMapping.Mode.Planar: {\n const normalIndices = visitor.normalIndex;\n if (!normalIndices)\n return undefined;\n\n // Ignore planar mode unless master or sub units for scaleMode and facet is planar\n if (!this.worldMapping || (visitor.normalIndex !== undefined && (normalIndices[0] !== normalIndices[1] || normalIndices[0] !== normalIndices[2]))) {\n return this.computeParametricUVParams(visitor, this.textureMatrix.transform, !this.worldMapping);\n } else {\n return this.computePlanarUVParams(visitor, this.textureMatrix.transform);\n }\n }\n case TextureMapping.Mode.ElevationDrape: {\n return this.computeElevationDrapeUVParams(visitor, this.textureMatrix.transform, transformToImodel);\n }\n }\n }\n\n /** Computes UV parameters given a texture mapping mode of parametric. */\n private computeParametricUVParams(visitor: IndexedPolyfaceVisitor, uvTransform: Transform, isRelativeUnits: boolean): Point2d[] {\n const params: Point2d[] = [];\n for (let i = 0; i < visitor.numEdgesThisFacet; i++) {\n let param = Point2d.create();\n\n if (isRelativeUnits || !visitor.tryGetDistanceParameter(i, param)) {\n if (!visitor.tryGetNormalizedParameter(i, param)) {\n // If mesh does not have facetFaceData, we still want to use the texture coordinates if they are present\n param = visitor.getParam(i)!;\n }\n }\n\n params.push(uvTransform.multiplyPoint2d(param));\n }\n return params;\n }\n\n /** Computes UV parameters given a texture mapping mode of planar. The result is stored in the Point2d array given. */\n private computePlanarUVParams(visitor: IndexedPolyfaceVisitor, uvTransform: Transform): Point2d[] | undefined {\n const params: Point2d[] = [];\n const points = visitor.point;\n let normal: Vector3d;\n\n if (visitor.normal === undefined)\n normal = points.getPoint3dAtUncheckedPointIndex(0).crossProductToPoints(points.getPoint3dAtUncheckedPointIndex(1), points.getPoint3dAtUncheckedPointIndex(2));\n else\n normal = visitor.normal.getVector3dAtCheckedVectorIndex(0)!;\n\n if (!normal.normalize(normal))\n return undefined;\n\n // adjust U texture coordinate to be a continuous length starting at the\n // origin. V coordinate stays the same. This mode assumes Z is up vector\n\n // Flipping normal puts us in a planar coordinate system consistent with MicroStation's display system\n normal.scale(-1.0, normal);\n\n // pick the first vertex normal\n const sideVector = Vector3d.create(normal.y, -normal.x, 0.0);\n\n // if the magnitude of the normal is near zero, the real normal points\n // almost straighten up.. In this case, use Y as the up vector to match QV\n\n const magnitude = sideVector.magnitude();\n sideVector.normalize(sideVector); // won't remain undefined if failed due to following check..\n\n if (magnitude < 1e-3) {\n normal.set(0, 0, -1);\n sideVector.set(1, 0, 0);\n }\n\n const upVector = sideVector.crossProduct(normal).normalize();\n if (!upVector)\n return undefined;\n\n const numEdges = visitor.numEdgesThisFacet;\n for (let i = 0; i < numEdges; i++) {\n const vector = Vector3d.createFrom(points.getPoint3dAtUncheckedPointIndex(i));\n\n params.push(Point2d.create(vector.dotProduct(sideVector), vector.dotProduct(upVector)));\n uvTransform.multiplyPoint2d(params[i], params[i]);\n }\n return params;\n }\n\n /** Computes UV parameters given a texture mapping mode of elevation drape. The result is stored in the Point2d array given. */\n private computeElevationDrapeUVParams(visitor: IndexedPolyfaceVisitor, uvTransform: Transform, transformToIModel?: Transform): Point2d[] {\n const params: Point2d[] = [];\n const numEdges = visitor.numEdgesThisFacet;\n for (let i = 0; i < numEdges; i++) {\n const point = visitor.point.getPoint3dAtUncheckedPointIndex(i);\n\n if (transformToIModel !== undefined)\n transformToIModel.multiplyPoint3d(point, point);\n\n params.push(Point2d.createFrom(point));\n uvTransform.multiplyPoint2d(params[i], params[i]);\n }\n return params;\n }\n }\n}\n\nObject.freeze(TextureMapping.Trans2x3.identity);\n"]}
1
+ {"version":3,"file":"TextureMapping.js","sourceRoot":"","sources":["../../src/TextureMapping.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { IndexedPolyfaceVisitor, Matrix3d, Point2d, Point3d, PolyfaceVisitor, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { RenderTexture } from \"./RenderTexture\";\r\n\r\n/** Defines normal map parameters.\r\n * @beta\r\n */\r\nexport interface NormalMapParams {\r\n /** The texture to use as a normal map. If not present then the pattern map texture will be used as a normal map. */\r\n normalMap?: RenderTexture;\r\n /** True if the Y component stored in the green channel should be negated. By default, positive Y points downward, but some\r\n * normal maps are created with positive Y pointing upward.\r\n */\r\n greenUp?: boolean;\r\n /** Scale factor by which to multiply the components of the normal extracted from [[normalMap]]. */\r\n scale?: number;\r\n}\r\n\r\n/** Describes how to map a [[RenderTexture]]'s image onto a surface as part of a [[RenderMaterial]].\r\n * @public\r\n */\r\nexport class TextureMapping {\r\n /** The texture to be mapped to the surface. If normalMapParams is present but does not contain a normal map, then texture is used as a normal map rather than a pattern map. */\r\n public readonly texture: RenderTexture;\r\n /** The parameters for normal mapping.\r\n * @beta\r\n */\r\n public normalMapParams?: NormalMapParams;\r\n /** The parameters describing how the textures are mapped to the surface. */\r\n public readonly params: TextureMapping.Params;\r\n\r\n public constructor(tx: RenderTexture, params: TextureMapping.Params) {\r\n this.texture = tx;\r\n this.params = params;\r\n }\r\n\r\n /** @internal */\r\n public computeUVParams(visitor: PolyfaceVisitor, transformToImodel: Transform): Point2d[] | undefined {\r\n return this.params.computeUVParams(visitor as IndexedPolyfaceVisitor, transformToImodel);\r\n }\r\n}\r\n\r\n/** @public */\r\nexport namespace TextureMapping { // eslint-disable-line no-redeclare\r\n /** Enumerates the possible texture mapping modes. */\r\n export enum Mode {\r\n None = -1,\r\n Parametric = 0,\r\n ElevationDrape = 1,\r\n Planar = 2,\r\n /** @internal */\r\n DirectionalDrape = 3,\r\n /** @internal */\r\n Cubic = 4,\r\n /** @internal */\r\n Spherical = 5,\r\n /** @internal */\r\n Cylindrical = 6,\r\n /** @internal */\r\n Solid = 7,\r\n /** @internal Only valid for lights */\r\n FrontProject = 8,\r\n }\r\n\r\n /** A 2x3 matrix for mapping a texture image to a surface. */\r\n export class Trans2x3 {\r\n /** The 3x4 transform produced from the 2x3 matrix. */\r\n public readonly transform: Transform;\r\n\r\n /** Construct from the two rows of the matrix:\r\n * ```\r\n * | m00 m01 originX |\r\n * | m10 m11 originY |\r\n * ```\r\n * Producing the [Transform]($core-geometry):\r\n * ```\r\n * | m00 m01 0 originX |\r\n * | m10 m11 0 originY |\r\n * | 0 0 1 0 |\r\n * ```\r\n */\r\n public constructor(m00 = 1, m01 = 0, originX = 0, m10 = 0, m11 = 1, originY = 0) {\r\n const origin = new Point3d(originX, originY, 0);\r\n const matrix = Matrix3d.createRowValues(m00, m01, 0, m10, m11, 0, 0, 0, 1);\r\n this.transform = Transform.createRefs(origin, matrix);\r\n }\r\n\r\n /** An immutable 2x3 identity matrix. */\r\n public static readonly identity = new Trans2x3();\r\n }\r\n\r\n /** Properties used to construct a [[TextureMapping.Params]]. */\r\n export interface ParamProps {\r\n /** The matrix used to map the image to a surface. */\r\n textureMat2x3?: TextureMapping.Trans2x3;\r\n /** The ratio in [0, 1] with which to mix the color sampled from the texture with the surface's color.\r\n * A value of 0.0 uses only the surface color. A value of 1.0 uses only the texture color. A value of 0.5 uses an even mix of both.\r\n * @note This affects only the red, green, and blue components of the color. The alpha sampled from the texture is always multiplied by the surface color's alpha.\r\n * @note Defaults to 1.0\r\n */\r\n textureWeight?: number;\r\n /** The mode by which to map the image to a surface.\r\n * @note Defaults to [[TextureMapping.Mode.Parametric]].\r\n */\r\n mapMode?: TextureMapping.Mode;\r\n /** @internal */\r\n worldMapping?: boolean;\r\n }\r\n\r\n /** Parameters describing how a [[RenderTexture]]'s image is mapped to a surface. */\r\n export class Params {\r\n /** The matrix used to map the image to a surface. */\r\n public textureMatrix: TextureMapping.Trans2x3;\r\n /** The ratio in [0, 1] with which to mix the color sampled from the texture with the element's color.\r\n * A value of 0.0 uses only the element color. A value of 1.0 uses only the texture color.\r\n */\r\n public weight: number;\r\n /** The mode by which to map the image to a surface. */\r\n public mode: TextureMapping.Mode;\r\n /** @internal */\r\n public worldMapping: boolean;\r\n\r\n public constructor(props?: TextureMapping.ParamProps) {\r\n this.textureMatrix = props?.textureMat2x3 ?? Trans2x3.identity;\r\n this.weight = props?.textureWeight ?? 1;\r\n this.mode = props?.mapMode ?? Mode.Parametric;\r\n this.worldMapping = props?.worldMapping ?? false;\r\n }\r\n\r\n /**\r\n * Generates UV parameters for textured surfaces. Returns undefined on failure.\r\n * @internal\r\n */\r\n public computeUVParams(visitor: IndexedPolyfaceVisitor, transformToImodel: Transform): Point2d[] | undefined {\r\n switch (this.mode) {\r\n default: // Fall through to parametric in default case\r\n case TextureMapping.Mode.Parametric: {\r\n return this.computeParametricUVParams(visitor, this.textureMatrix.transform, !this.worldMapping);\r\n }\r\n case TextureMapping.Mode.Planar: {\r\n const normalIndices = visitor.normalIndex;\r\n if (!normalIndices)\r\n return undefined;\r\n\r\n // Ignore planar mode unless master or sub units for scaleMode and facet is planar\r\n if (!this.worldMapping || (visitor.normalIndex !== undefined && (normalIndices[0] !== normalIndices[1] || normalIndices[0] !== normalIndices[2]))) {\r\n return this.computeParametricUVParams(visitor, this.textureMatrix.transform, !this.worldMapping);\r\n } else {\r\n return this.computePlanarUVParams(visitor, this.textureMatrix.transform);\r\n }\r\n }\r\n case TextureMapping.Mode.ElevationDrape: {\r\n return this.computeElevationDrapeUVParams(visitor, this.textureMatrix.transform, transformToImodel);\r\n }\r\n }\r\n }\r\n\r\n /** Computes UV parameters given a texture mapping mode of parametric. */\r\n private computeParametricUVParams(visitor: IndexedPolyfaceVisitor, uvTransform: Transform, isRelativeUnits: boolean): Point2d[] {\r\n const params: Point2d[] = [];\r\n for (let i = 0; i < visitor.numEdgesThisFacet; i++) {\r\n let param = Point2d.create();\r\n\r\n if (isRelativeUnits || !visitor.tryGetDistanceParameter(i, param)) {\r\n if (!visitor.tryGetNormalizedParameter(i, param)) {\r\n // If mesh does not have facetFaceData, we still want to use the texture coordinates if they are present\r\n param = visitor.getParam(i)!;\r\n }\r\n }\r\n\r\n params.push(uvTransform.multiplyPoint2d(param));\r\n }\r\n return params;\r\n }\r\n\r\n /** Computes UV parameters given a texture mapping mode of planar. The result is stored in the Point2d array given. */\r\n private computePlanarUVParams(visitor: IndexedPolyfaceVisitor, uvTransform: Transform): Point2d[] | undefined {\r\n const params: Point2d[] = [];\r\n const points = visitor.point;\r\n let normal: Vector3d;\r\n\r\n if (visitor.normal === undefined)\r\n normal = points.getPoint3dAtUncheckedPointIndex(0).crossProductToPoints(points.getPoint3dAtUncheckedPointIndex(1), points.getPoint3dAtUncheckedPointIndex(2));\r\n else\r\n normal = visitor.normal.getVector3dAtCheckedVectorIndex(0)!;\r\n\r\n if (!normal.normalize(normal))\r\n return undefined;\r\n\r\n // adjust U texture coordinate to be a continuous length starting at the\r\n // origin. V coordinate stays the same. This mode assumes Z is up vector\r\n\r\n // Flipping normal puts us in a planar coordinate system consistent with MicroStation's display system\r\n normal.scale(-1.0, normal);\r\n\r\n // pick the first vertex normal\r\n const sideVector = Vector3d.create(normal.y, -normal.x, 0.0);\r\n\r\n // if the magnitude of the normal is near zero, the real normal points\r\n // almost straighten up.. In this case, use Y as the up vector to match QV\r\n\r\n const magnitude = sideVector.magnitude();\r\n sideVector.normalize(sideVector); // won't remain undefined if failed due to following check..\r\n\r\n if (magnitude < 1e-3) {\r\n normal.set(0, 0, -1);\r\n sideVector.set(1, 0, 0);\r\n }\r\n\r\n const upVector = sideVector.crossProduct(normal).normalize();\r\n if (!upVector)\r\n return undefined;\r\n\r\n const numEdges = visitor.numEdgesThisFacet;\r\n for (let i = 0; i < numEdges; i++) {\r\n const vector = Vector3d.createFrom(points.getPoint3dAtUncheckedPointIndex(i));\r\n\r\n params.push(Point2d.create(vector.dotProduct(sideVector), vector.dotProduct(upVector)));\r\n uvTransform.multiplyPoint2d(params[i], params[i]);\r\n }\r\n return params;\r\n }\r\n\r\n /** Computes UV parameters given a texture mapping mode of elevation drape. The result is stored in the Point2d array given. */\r\n private computeElevationDrapeUVParams(visitor: IndexedPolyfaceVisitor, uvTransform: Transform, transformToIModel?: Transform): Point2d[] {\r\n const params: Point2d[] = [];\r\n const numEdges = visitor.numEdgesThisFacet;\r\n for (let i = 0; i < numEdges; i++) {\r\n const point = visitor.point.getPoint3dAtUncheckedPointIndex(i);\r\n\r\n if (transformToIModel !== undefined)\r\n transformToIModel.multiplyPoint3d(point, point);\r\n\r\n params.push(Point2d.createFrom(point));\r\n uvTransform.multiplyPoint2d(params[i], params[i]);\r\n }\r\n return params;\r\n }\r\n }\r\n}\r\n\r\nObject.freeze(TextureMapping.Trans2x3.identity);\r\n"]}
@@ -1,66 +1,66 @@
1
- /** @packageDocumentation
2
- * @module Entities
3
- */
4
- import { Id64String } from "@itwin/core-bentley";
5
- import { DefinitionElementProps } from "./ElementProps";
6
- import { ImageSourceFormat } from "./Image";
7
- import { Base64EncodedString } from "./Base64EncodedString";
8
- /** Properties that define a [Texture]($backend) element.
9
- * @public
10
- * @extensions
11
- */
12
- export interface TextureProps extends DefinitionElementProps {
13
- /** Format of the image data. */
14
- format: ImageSourceFormat;
15
- /** The image data stored in a Base64-encoded string according to the specified format.
16
- * @see [[Base64EncodedString.fromUint8Array]] to produce a well-formed base-64-encoded string.
17
- * @see [[Base64EncodedString.toUint8Array]] to decode the bytes.
18
- */
19
- data: Base64EncodedString;
20
- /** An optional description of the texture. */
21
- description?: string;
22
- }
23
- /** Properties that specify what texture should be loaded and how it should be loaded.
24
- * @public
25
- * @extensions
26
- */
27
- export interface TextureLoadProps {
28
- /** A valid Id64 string identifying the texture */
29
- name: Id64String;
30
- /** Maximum texture size supported by the client. If specified, the texture will be downsampled so both of its dimensions adhere to this size. */
31
- maxTextureSize?: number;
32
- }
33
- /** Describes the type of transparency in the pixels of a [TextureImage]($frontend).
34
- * Each pixel can be classified as either opaque or translucent.
35
- * The transparency of the image as a whole is based on the combination of pixel transparencies.
36
- * If this information is known, it should be supplied when creating a texture for more efficient rendering.
37
- * @see [TextureImage.transparency]($frontend).
38
- * @public
39
- */
40
- export declare enum TextureTransparency {
41
- /** The image contains only opaque pixels. It should not blend with other objects in the scene. */
42
- Opaque = 0,
43
- /** The image contains only translucent pixels. It should blend with other objects in the scene. */
44
- Translucent = 1,
45
- /** The image contains both opaque and translucent pixels. The translucent pixels should blend with other objects in the scene, while
46
- * the opaque pixels should not. Rendering this type of transparency is somewhat more expensive.
47
- */
48
- Mixed = 2
49
- }
50
- /** Information about [Texture]($backend) data returned by [[IModelReadRpcInterface.queryTextureData]].
51
- * @public
52
- * @extensions
53
- */
54
- export interface TextureData {
55
- /** The width of the image, possibly reduced from the original width based on [[TextureLoadProps.maxTextureSize]]. */
56
- width: number;
57
- /** The height of the image, possibly reduced from the original height based on [[TextureLoadProps.maxTextureSize]]. */
58
- height: number;
59
- /** The format of the image (Jpeg or Png). */
60
- format: ImageSourceFormat;
61
- /** The encoded image bytes. */
62
- bytes: Uint8Array;
63
- /** Information about the transparency of the texture image. Default: [[TextureTransparency.Mixed]]. */
64
- transparency?: TextureTransparency;
65
- }
1
+ /** @packageDocumentation
2
+ * @module Entities
3
+ */
4
+ import { Id64String } from "@itwin/core-bentley";
5
+ import { DefinitionElementProps } from "./ElementProps";
6
+ import { ImageSourceFormat } from "./Image";
7
+ import { Base64EncodedString } from "./Base64EncodedString";
8
+ /** Properties that define a [Texture]($backend) element.
9
+ * @public
10
+ * @extensions
11
+ */
12
+ export interface TextureProps extends DefinitionElementProps {
13
+ /** Format of the image data. */
14
+ format: ImageSourceFormat;
15
+ /** The image data stored in a Base64-encoded string according to the specified format.
16
+ * @see [[Base64EncodedString.fromUint8Array]] to produce a well-formed base-64-encoded string.
17
+ * @see [[Base64EncodedString.toUint8Array]] to decode the bytes.
18
+ */
19
+ data: Base64EncodedString;
20
+ /** An optional description of the texture. */
21
+ description?: string;
22
+ }
23
+ /** Properties that specify what texture should be loaded and how it should be loaded.
24
+ * @public
25
+ * @extensions
26
+ */
27
+ export interface TextureLoadProps {
28
+ /** A valid Id64 string identifying the texture */
29
+ name: Id64String;
30
+ /** Maximum texture size supported by the client. If specified, the texture will be downsampled so both of its dimensions adhere to this size. */
31
+ maxTextureSize?: number;
32
+ }
33
+ /** Describes the type of transparency in the pixels of a [TextureImage]($frontend).
34
+ * Each pixel can be classified as either opaque or translucent.
35
+ * The transparency of the image as a whole is based on the combination of pixel transparencies.
36
+ * If this information is known, it should be supplied when creating a texture for more efficient rendering.
37
+ * @see [TextureImage.transparency]($frontend).
38
+ * @public
39
+ */
40
+ export declare enum TextureTransparency {
41
+ /** The image contains only opaque pixels. It should not blend with other objects in the scene. */
42
+ Opaque = 0,
43
+ /** The image contains only translucent pixels. It should blend with other objects in the scene. */
44
+ Translucent = 1,
45
+ /** The image contains both opaque and translucent pixels. The translucent pixels should blend with other objects in the scene, while
46
+ * the opaque pixels should not. Rendering this type of transparency is somewhat more expensive.
47
+ */
48
+ Mixed = 2
49
+ }
50
+ /** Information about [Texture]($backend) data returned by [[IModelReadRpcInterface.queryTextureData]].
51
+ * @public
52
+ * @extensions
53
+ */
54
+ export interface TextureData {
55
+ /** The width of the image, possibly reduced from the original width based on [[TextureLoadProps.maxTextureSize]]. */
56
+ width: number;
57
+ /** The height of the image, possibly reduced from the original height based on [[TextureLoadProps.maxTextureSize]]. */
58
+ height: number;
59
+ /** The format of the image (Jpeg or Png). */
60
+ format: ImageSourceFormat;
61
+ /** The encoded image bytes. */
62
+ bytes: Uint8Array;
63
+ /** Information about the transparency of the texture image. Default: [[TextureTransparency.Mixed]]. */
64
+ transparency?: TextureTransparency;
65
+ }
66
66
  //# sourceMappingURL=TextureProps.d.ts.map
@@ -1,29 +1,29 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Entities
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.TextureTransparency = void 0;
11
- /** Describes the type of transparency in the pixels of a [TextureImage]($frontend).
12
- * Each pixel can be classified as either opaque or translucent.
13
- * The transparency of the image as a whole is based on the combination of pixel transparencies.
14
- * If this information is known, it should be supplied when creating a texture for more efficient rendering.
15
- * @see [TextureImage.transparency]($frontend).
16
- * @public
17
- */
18
- var TextureTransparency;
19
- (function (TextureTransparency) {
20
- /** The image contains only opaque pixels. It should not blend with other objects in the scene. */
21
- TextureTransparency[TextureTransparency["Opaque"] = 0] = "Opaque";
22
- /** The image contains only translucent pixels. It should blend with other objects in the scene. */
23
- TextureTransparency[TextureTransparency["Translucent"] = 1] = "Translucent";
24
- /** The image contains both opaque and translucent pixels. The translucent pixels should blend with other objects in the scene, while
25
- * the opaque pixels should not. Rendering this type of transparency is somewhat more expensive.
26
- */
27
- TextureTransparency[TextureTransparency["Mixed"] = 2] = "Mixed";
28
- })(TextureTransparency = exports.TextureTransparency || (exports.TextureTransparency = {}));
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Entities
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.TextureTransparency = void 0;
11
+ /** Describes the type of transparency in the pixels of a [TextureImage]($frontend).
12
+ * Each pixel can be classified as either opaque or translucent.
13
+ * The transparency of the image as a whole is based on the combination of pixel transparencies.
14
+ * If this information is known, it should be supplied when creating a texture for more efficient rendering.
15
+ * @see [TextureImage.transparency]($frontend).
16
+ * @public
17
+ */
18
+ var TextureTransparency;
19
+ (function (TextureTransparency) {
20
+ /** The image contains only opaque pixels. It should not blend with other objects in the scene. */
21
+ TextureTransparency[TextureTransparency["Opaque"] = 0] = "Opaque";
22
+ /** The image contains only translucent pixels. It should blend with other objects in the scene. */
23
+ TextureTransparency[TextureTransparency["Translucent"] = 1] = "Translucent";
24
+ /** The image contains both opaque and translucent pixels. The translucent pixels should blend with other objects in the scene, while
25
+ * the opaque pixels should not. Rendering this type of transparency is somewhat more expensive.
26
+ */
27
+ TextureTransparency[TextureTransparency["Mixed"] = 2] = "Mixed";
28
+ })(TextureTransparency = exports.TextureTransparency || (exports.TextureTransparency = {}));
29
29
  //# sourceMappingURL=TextureProps.js.map