@itwin/core-common 4.6.0-dev.9 → 4.7.0-dev.0

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 (559) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/AmbientOcclusion.js +1 -1
  3. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  4. package/lib/cjs/AnalysisStyle.js +1 -1
  5. package/lib/cjs/AnalysisStyle.js.map +1 -1
  6. package/lib/cjs/Atmosphere.js +12 -12
  7. package/lib/cjs/Atmosphere.js.map +1 -1
  8. package/lib/cjs/AuthorizationClient.js.map +1 -1
  9. package/lib/cjs/BackendTypes.js.map +1 -1
  10. package/lib/cjs/BackgroundMapProvider.js +1 -1
  11. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  12. package/lib/cjs/BackgroundMapSettings.js +1 -1
  13. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  14. package/lib/cjs/Base64EncodedString.js +1 -1
  15. package/lib/cjs/Base64EncodedString.js.map +1 -1
  16. package/lib/cjs/BlobReader.js.map +1 -1
  17. package/lib/cjs/BriefcaseTypes.js +5 -5
  18. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  19. package/lib/cjs/Camera.js.map +1 -1
  20. package/lib/cjs/ChangedElements.js +1 -1
  21. package/lib/cjs/ChangedElements.js.map +1 -1
  22. package/lib/cjs/ChangedEntities.js.map +1 -1
  23. package/lib/cjs/ChangesetProps.js +1 -1
  24. package/lib/cjs/ChangesetProps.js.map +1 -1
  25. package/lib/cjs/ClipStyle.js +3 -3
  26. package/lib/cjs/ClipStyle.js.map +1 -1
  27. package/lib/cjs/Code.d.ts +1 -0
  28. package/lib/cjs/Code.d.ts.map +1 -1
  29. package/lib/cjs/Code.js +3 -2
  30. package/lib/cjs/Code.js.map +1 -1
  31. package/lib/cjs/ColorByName.js.map +1 -1
  32. package/lib/cjs/ColorDef.js +1 -1
  33. package/lib/cjs/ColorDef.js.map +1 -1
  34. package/lib/cjs/CommonLoggerCategory.js +1 -1
  35. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  36. package/lib/cjs/ConcurrentQuery.d.ts +11 -11
  37. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
  38. package/lib/cjs/ConcurrentQuery.js +6 -6
  39. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  40. package/lib/cjs/ContextRealityModel.js +5 -5
  41. package/lib/cjs/ContextRealityModel.js.map +1 -1
  42. package/lib/cjs/DisplayStyleSettings.js +1 -1
  43. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  44. package/lib/cjs/ECSchemaProps.js.map +1 -1
  45. package/lib/cjs/ECSqlReader.js +1 -1
  46. package/lib/cjs/ECSqlReader.js.map +1 -1
  47. package/lib/cjs/ECSqlTypes.js +4 -4
  48. package/lib/cjs/ECSqlTypes.js.map +1 -1
  49. package/lib/cjs/ElementMesh.js.map +1 -1
  50. package/lib/cjs/ElementProps.d.ts +23 -0
  51. package/lib/cjs/ElementProps.d.ts.map +1 -1
  52. package/lib/cjs/ElementProps.js +4 -4
  53. package/lib/cjs/ElementProps.js.map +1 -1
  54. package/lib/cjs/EmphasizeElementsProps.js +1 -1
  55. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  56. package/lib/cjs/EntityProps.d.ts +5 -2
  57. package/lib/cjs/EntityProps.d.ts.map +1 -1
  58. package/lib/cjs/EntityProps.js +2 -1
  59. package/lib/cjs/EntityProps.js.map +1 -1
  60. package/lib/cjs/EntityReference.js +2 -2
  61. package/lib/cjs/EntityReference.js.map +1 -1
  62. package/lib/cjs/Environment.js +1 -1
  63. package/lib/cjs/Environment.js.map +1 -1
  64. package/lib/cjs/FeatureIndex.js +1 -1
  65. package/lib/cjs/FeatureIndex.js.map +1 -1
  66. package/lib/cjs/FeatureSymbology.d.ts +1 -1
  67. package/lib/cjs/FeatureSymbology.js +3 -3
  68. package/lib/cjs/FeatureSymbology.js.map +1 -1
  69. package/lib/cjs/FeatureTable.js +3 -3
  70. package/lib/cjs/FeatureTable.js.map +1 -1
  71. package/lib/cjs/Fonts.js +1 -1
  72. package/lib/cjs/Fonts.js.map +1 -1
  73. package/lib/cjs/Frustum.d.ts.map +1 -1
  74. package/lib/cjs/Frustum.js +3 -1
  75. package/lib/cjs/Frustum.js.map +1 -1
  76. package/lib/cjs/GenericInstanceFilter.js +2 -2
  77. package/lib/cjs/GenericInstanceFilter.js.map +1 -1
  78. package/lib/cjs/GeoCoordinateServices.js +1 -1
  79. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  80. package/lib/cjs/GeometryContainment.js.map +1 -1
  81. package/lib/cjs/GeometryParams.js +3 -3
  82. package/lib/cjs/GeometryParams.js.map +1 -1
  83. package/lib/cjs/GeometrySummary.js +1 -1
  84. package/lib/cjs/GeometrySummary.js.map +1 -1
  85. package/lib/cjs/Gradient.js +5 -5
  86. package/lib/cjs/Gradient.js.map +1 -1
  87. package/lib/cjs/GraphicParams.js +1 -1
  88. package/lib/cjs/GraphicParams.js.map +1 -1
  89. package/lib/cjs/GroundPlane.js +1 -1
  90. package/lib/cjs/GroundPlane.js.map +1 -1
  91. package/lib/cjs/HSLColor.js.map +1 -1
  92. package/lib/cjs/HSVColor.js +1 -1
  93. package/lib/cjs/HSVColor.js.map +1 -1
  94. package/lib/cjs/HiddenLine.js +1 -1
  95. package/lib/cjs/HiddenLine.js.map +1 -1
  96. package/lib/cjs/Hilite.js +1 -1
  97. package/lib/cjs/Hilite.js.map +1 -1
  98. package/lib/cjs/IModel.js +1 -1
  99. package/lib/cjs/IModel.js.map +1 -1
  100. package/lib/cjs/IModelError.js.map +1 -1
  101. package/lib/cjs/IModelVersion.js.map +1 -1
  102. package/lib/cjs/Image.js +2 -2
  103. package/lib/cjs/Image.js.map +1 -1
  104. package/lib/cjs/IpcAppProps.d.ts +24 -2
  105. package/lib/cjs/IpcAppProps.d.ts.map +1 -1
  106. package/lib/cjs/IpcAppProps.js.map +1 -1
  107. package/lib/cjs/LightSettings.js +1 -1
  108. package/lib/cjs/LightSettings.js.map +1 -1
  109. package/lib/cjs/LinePixels.js +1 -1
  110. package/lib/cjs/LinePixels.js.map +1 -1
  111. package/lib/cjs/Localization.js.map +1 -1
  112. package/lib/cjs/MapImagerySettings.js +1 -1
  113. package/lib/cjs/MapImagerySettings.js.map +1 -1
  114. package/lib/cjs/MapLayerSettings.js.map +1 -1
  115. package/lib/cjs/MassProperties.js +1 -1
  116. package/lib/cjs/MassProperties.js.map +1 -1
  117. package/lib/cjs/MaterialProps.js +2 -2
  118. package/lib/cjs/MaterialProps.js.map +1 -1
  119. package/lib/cjs/ModelClipGroup.js.map +1 -1
  120. package/lib/cjs/ModelGeometryChanges.js +2 -2
  121. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  122. package/lib/cjs/ModelProps.js.map +1 -1
  123. package/lib/cjs/NativeAppProps.js +2 -2
  124. package/lib/cjs/NativeAppProps.js.map +1 -1
  125. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  126. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  127. package/lib/cjs/PlanarClipMask.js +3 -3
  128. package/lib/cjs/PlanarClipMask.js.map +1 -1
  129. package/lib/cjs/QPoint.js +3 -3
  130. package/lib/cjs/QPoint.js.map +1 -1
  131. package/lib/cjs/RealityDataAccessProps.d.ts +4 -4
  132. package/lib/cjs/RealityDataAccessProps.d.ts.map +1 -1
  133. package/lib/cjs/RealityDataAccessProps.js +1 -1
  134. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  135. package/lib/cjs/RealityModelDisplaySettings.js +2 -2
  136. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  137. package/lib/cjs/Render.d.ts +2 -2
  138. package/lib/cjs/Render.d.ts.map +1 -1
  139. package/lib/cjs/Render.js +1 -1
  140. package/lib/cjs/Render.js.map +1 -1
  141. package/lib/cjs/RenderMaterial.js +1 -1
  142. package/lib/cjs/RenderMaterial.js.map +1 -1
  143. package/lib/cjs/RenderSchedule.js +1 -1
  144. package/lib/cjs/RenderSchedule.js.map +1 -1
  145. package/lib/cjs/RenderTexture.js +1 -1
  146. package/lib/cjs/RenderTexture.js.map +1 -1
  147. package/lib/cjs/RgbColor.js.map +1 -1
  148. package/lib/cjs/RpcInterface.js.map +1 -1
  149. package/lib/cjs/RpcManager.js.map +1 -1
  150. package/lib/cjs/SessionProps.js.map +1 -1
  151. package/lib/cjs/SkyBox.js +3 -3
  152. package/lib/cjs/SkyBox.js.map +1 -1
  153. package/lib/cjs/Snapping.js.map +1 -1
  154. package/lib/cjs/SolarCalculate.js.map +1 -1
  155. package/lib/cjs/SolarShadows.js +1 -1
  156. package/lib/cjs/SolarShadows.js.map +1 -1
  157. package/lib/cjs/SpatialClassification.js +2 -2
  158. package/lib/cjs/SpatialClassification.js.map +1 -1
  159. package/lib/cjs/SubCategoryAppearance.js +1 -1
  160. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  161. package/lib/cjs/SubCategoryOverride.js +1 -1
  162. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  163. package/lib/cjs/TerrainSettings.js +2 -2
  164. package/lib/cjs/TerrainSettings.js.map +1 -1
  165. package/lib/cjs/TextureMapping.js +1 -1
  166. package/lib/cjs/TextureMapping.js.map +1 -1
  167. package/lib/cjs/TextureProps.js +1 -1
  168. package/lib/cjs/TextureProps.js.map +1 -1
  169. package/lib/cjs/ThematicDisplay.js +5 -5
  170. package/lib/cjs/ThematicDisplay.js.map +1 -1
  171. package/lib/cjs/Thumbnail.js.map +1 -1
  172. package/lib/cjs/TileProps.js +1 -1
  173. package/lib/cjs/TileProps.js.map +1 -1
  174. package/lib/cjs/Tween.js.map +1 -1
  175. package/lib/cjs/TxnAction.js +1 -1
  176. package/lib/cjs/TxnAction.js.map +1 -1
  177. package/lib/cjs/ViewDetails.js +2 -2
  178. package/lib/cjs/ViewDetails.js.map +1 -1
  179. package/lib/cjs/ViewFlags.js +2 -2
  180. package/lib/cjs/ViewFlags.js.map +1 -1
  181. package/lib/cjs/ViewProps.js +1 -1
  182. package/lib/cjs/ViewProps.js.map +1 -1
  183. package/lib/cjs/WhiteOnWhiteReversalSettings.js +1 -1
  184. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  185. package/lib/cjs/annotation/TextAnnotation.d.ts +101 -0
  186. package/lib/cjs/annotation/TextAnnotation.d.ts.map +1 -0
  187. package/lib/cjs/annotation/TextAnnotation.js +97 -0
  188. package/lib/cjs/annotation/TextAnnotation.js.map +1 -0
  189. package/lib/cjs/annotation/TextBlock.d.ts +314 -0
  190. package/lib/cjs/annotation/TextBlock.d.ts.map +1 -0
  191. package/lib/cjs/annotation/TextBlock.js +338 -0
  192. package/lib/cjs/annotation/TextBlock.js.map +1 -0
  193. package/lib/cjs/annotation/TextBlockGeometryProps.d.ts +44 -0
  194. package/lib/cjs/annotation/TextBlockGeometryProps.d.ts.map +1 -0
  195. package/lib/cjs/annotation/TextBlockGeometryProps.js +10 -0
  196. package/lib/cjs/annotation/TextBlockGeometryProps.js.map +1 -0
  197. package/lib/cjs/annotation/TextStyle.d.ts +185 -0
  198. package/lib/cjs/annotation/TextStyle.d.ts.map +1 -0
  199. package/lib/cjs/annotation/TextStyle.js +110 -0
  200. package/lib/cjs/annotation/TextStyle.js.map +1 -0
  201. package/lib/cjs/core-common.d.ts +8 -0
  202. package/lib/cjs/core-common.d.ts.map +1 -1
  203. package/lib/cjs/core-common.js +8 -0
  204. package/lib/cjs/core-common.js.map +1 -1
  205. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  206. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  207. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  208. package/lib/cjs/geometry/AreaPattern.js +1 -1
  209. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  210. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  211. package/lib/cjs/geometry/Cartographic.js +1 -1
  212. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  213. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  214. package/lib/cjs/geometry/ElementGeometry.d.ts +7 -0
  215. package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
  216. package/lib/cjs/geometry/ElementGeometry.js +30 -3
  217. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  218. package/lib/cjs/geometry/ElementGeometryFB.js +1 -1
  219. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  220. package/lib/cjs/geometry/FrustumPlanes.js +5 -5
  221. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  222. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  223. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  224. package/lib/cjs/geometry/GeometryStream.d.ts +7 -0
  225. package/lib/cjs/geometry/GeometryStream.d.ts.map +1 -1
  226. package/lib/cjs/geometry/GeometryStream.js +37 -9
  227. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  228. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  229. package/lib/cjs/geometry/LineStyle.js +1 -1
  230. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  231. package/lib/cjs/geometry/Placement.js.map +1 -1
  232. package/lib/cjs/geometry/Projection.js.map +1 -1
  233. package/lib/cjs/geometry/TextString.d.ts.map +1 -1
  234. package/lib/cjs/geometry/TextString.js +16 -13
  235. package/lib/cjs/geometry/TextString.js.map +1 -1
  236. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  237. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  238. package/lib/cjs/ipc/IpcWebSocket.js +3 -3
  239. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  240. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  241. package/lib/cjs/rpc/DevToolsRpcInterface.js +2 -2
  242. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  243. package/lib/cjs/rpc/IModelReadRpcInterface.js +1 -1
  244. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  245. package/lib/cjs/rpc/IModelTileRpcInterface.js +1 -1
  246. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  247. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +1 -1
  248. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  249. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  250. package/lib/cjs/rpc/WipRpcInterface.js +1 -1
  251. package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
  252. package/lib/cjs/rpc/core/RpcConfiguration.js +6 -6
  253. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  254. package/lib/cjs/rpc/core/RpcConstants.js +7 -7
  255. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  256. package/lib/cjs/rpc/core/RpcControl.js +1 -1
  257. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  258. package/lib/cjs/rpc/core/RpcInvocation.js +3 -3
  259. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  260. package/lib/cjs/rpc/core/RpcMarshaling.js +2 -2
  261. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  262. package/lib/cjs/rpc/core/RpcOperation.js +2 -3
  263. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  264. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  265. package/lib/cjs/rpc/core/RpcProtocol.js +3 -3
  266. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  267. package/lib/cjs/rpc/core/RpcPush.js +2 -2
  268. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  269. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  270. package/lib/cjs/rpc/core/RpcRequest.js +1 -1
  271. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  272. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  273. package/lib/cjs/rpc/core/RpcRoutingToken.js +1 -1
  274. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  275. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  276. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +1 -1
  277. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  278. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  279. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  280. package/lib/cjs/rpc/web/RpcMultipart.js +1 -1
  281. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  282. package/lib/cjs/rpc/web/WebAppRpcLogging.js +8 -8
  283. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  284. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  285. package/lib/cjs/rpc/web/WebAppRpcRequest.js +3 -3
  286. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  287. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  288. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  289. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  290. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  291. package/lib/cjs/tile/GltfTileIO.js +2 -2
  292. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  293. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  294. package/lib/cjs/tile/IModelTileIO.js +3 -3
  295. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  296. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  297. package/lib/cjs/tile/TileIO.d.ts +6 -6
  298. package/lib/cjs/tile/TileIO.d.ts.map +1 -1
  299. package/lib/cjs/tile/TileIO.js +2 -2
  300. package/lib/cjs/tile/TileIO.js.map +1 -1
  301. package/lib/cjs/tile/TileMetadata.d.ts +3 -3
  302. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  303. package/lib/cjs/tile/TileMetadata.js +3 -3
  304. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  305. package/lib/cjs/tile/Tileset3dSchema.d.ts.map +1 -1
  306. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -1
  307. package/lib/esm/AmbientOcclusion.js.map +1 -1
  308. package/lib/esm/AnalysisStyle.js +1 -2
  309. package/lib/esm/AnalysisStyle.js.map +1 -1
  310. package/lib/esm/Atmosphere.js +11 -11
  311. package/lib/esm/Atmosphere.js.map +1 -1
  312. package/lib/esm/AuthorizationClient.js.map +1 -1
  313. package/lib/esm/BackendTypes.js.map +1 -1
  314. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  315. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  316. package/lib/esm/Base64EncodedString.js.map +1 -1
  317. package/lib/esm/BlobReader.js.map +1 -1
  318. package/lib/esm/BriefcaseTypes.js.map +1 -1
  319. package/lib/esm/Camera.js.map +1 -1
  320. package/lib/esm/ChangedElements.js.map +1 -1
  321. package/lib/esm/ChangedEntities.js.map +1 -1
  322. package/lib/esm/ChangesetProps.js.map +1 -1
  323. package/lib/esm/ClipStyle.js +3 -6
  324. package/lib/esm/ClipStyle.js.map +1 -1
  325. package/lib/esm/Code.d.ts +1 -0
  326. package/lib/esm/Code.d.ts.map +1 -1
  327. package/lib/esm/Code.js +1 -0
  328. package/lib/esm/Code.js.map +1 -1
  329. package/lib/esm/ColorByName.js.map +1 -1
  330. package/lib/esm/ColorDef.js +1 -2
  331. package/lib/esm/ColorDef.js.map +1 -1
  332. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  333. package/lib/esm/ConcurrentQuery.d.ts +11 -11
  334. package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
  335. package/lib/esm/ConcurrentQuery.js.map +1 -1
  336. package/lib/esm/ContextRealityModel.js.map +1 -1
  337. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  338. package/lib/esm/ECSchemaProps.js.map +1 -1
  339. package/lib/esm/ECSqlReader.js +1 -2
  340. package/lib/esm/ECSqlReader.js.map +1 -1
  341. package/lib/esm/ECSqlTypes.js.map +1 -1
  342. package/lib/esm/ElementMesh.js.map +1 -1
  343. package/lib/esm/ElementProps.d.ts +23 -0
  344. package/lib/esm/ElementProps.d.ts.map +1 -1
  345. package/lib/esm/ElementProps.js +1 -2
  346. package/lib/esm/ElementProps.js.map +1 -1
  347. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  348. package/lib/esm/EntityProps.d.ts +5 -2
  349. package/lib/esm/EntityProps.d.ts.map +1 -1
  350. package/lib/esm/EntityProps.js +1 -0
  351. package/lib/esm/EntityProps.js.map +1 -1
  352. package/lib/esm/EntityReference.js.map +1 -1
  353. package/lib/esm/Environment.js +1 -2
  354. package/lib/esm/Environment.js.map +1 -1
  355. package/lib/esm/FeatureIndex.js.map +1 -1
  356. package/lib/esm/FeatureSymbology.d.ts +1 -1
  357. package/lib/esm/FeatureSymbology.js +2 -4
  358. package/lib/esm/FeatureSymbology.js.map +1 -1
  359. package/lib/esm/FeatureTable.js.map +1 -1
  360. package/lib/esm/Fonts.js.map +1 -1
  361. package/lib/esm/Frustum.d.ts.map +1 -1
  362. package/lib/esm/Frustum.js +2 -0
  363. package/lib/esm/Frustum.js.map +1 -1
  364. package/lib/esm/GenericInstanceFilter.js.map +1 -1
  365. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  366. package/lib/esm/GeometryContainment.js.map +1 -1
  367. package/lib/esm/GeometryParams.js.map +1 -1
  368. package/lib/esm/GeometrySummary.js.map +1 -1
  369. package/lib/esm/Gradient.js +4 -4
  370. package/lib/esm/Gradient.js.map +1 -1
  371. package/lib/esm/GraphicParams.js.map +1 -1
  372. package/lib/esm/GroundPlane.js +1 -2
  373. package/lib/esm/GroundPlane.js.map +1 -1
  374. package/lib/esm/HSLColor.js.map +1 -1
  375. package/lib/esm/HSVColor.js.map +1 -1
  376. package/lib/esm/HiddenLine.js.map +1 -1
  377. package/lib/esm/Hilite.js.map +1 -1
  378. package/lib/esm/IModel.js +1 -2
  379. package/lib/esm/IModel.js.map +1 -1
  380. package/lib/esm/IModelError.js.map +1 -1
  381. package/lib/esm/IModelVersion.js.map +1 -1
  382. package/lib/esm/Image.js.map +1 -1
  383. package/lib/esm/IpcAppProps.d.ts +24 -2
  384. package/lib/esm/IpcAppProps.d.ts.map +1 -1
  385. package/lib/esm/IpcAppProps.js.map +1 -1
  386. package/lib/esm/LightSettings.js +1 -2
  387. package/lib/esm/LightSettings.js.map +1 -1
  388. package/lib/esm/LinePixels.js.map +1 -1
  389. package/lib/esm/Localization.js.map +1 -1
  390. package/lib/esm/MapImagerySettings.js.map +1 -1
  391. package/lib/esm/MapLayerSettings.js.map +1 -1
  392. package/lib/esm/MassProperties.js.map +1 -1
  393. package/lib/esm/MaterialProps.js.map +1 -1
  394. package/lib/esm/ModelClipGroup.js.map +1 -1
  395. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  396. package/lib/esm/ModelProps.js.map +1 -1
  397. package/lib/esm/NativeAppProps.js.map +1 -1
  398. package/lib/esm/OctEncodedNormal.js.map +1 -1
  399. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  400. package/lib/esm/PlanarClipMask.js +1 -2
  401. package/lib/esm/PlanarClipMask.js.map +1 -1
  402. package/lib/esm/QPoint.js.map +1 -1
  403. package/lib/esm/RealityDataAccessProps.d.ts +4 -4
  404. package/lib/esm/RealityDataAccessProps.d.ts.map +1 -1
  405. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  406. package/lib/esm/RealityModelDisplaySettings.js +2 -4
  407. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  408. package/lib/esm/Render.d.ts +2 -2
  409. package/lib/esm/Render.d.ts.map +1 -1
  410. package/lib/esm/Render.js.map +1 -1
  411. package/lib/esm/RenderMaterial.js.map +1 -1
  412. package/lib/esm/RenderSchedule.js.map +1 -1
  413. package/lib/esm/RenderTexture.js.map +1 -1
  414. package/lib/esm/RgbColor.js.map +1 -1
  415. package/lib/esm/RpcInterface.js.map +1 -1
  416. package/lib/esm/RpcManager.js.map +1 -1
  417. package/lib/esm/SessionProps.js.map +1 -1
  418. package/lib/esm/SkyBox.js +2 -4
  419. package/lib/esm/SkyBox.js.map +1 -1
  420. package/lib/esm/Snapping.js.map +1 -1
  421. package/lib/esm/SolarCalculate.js.map +1 -1
  422. package/lib/esm/SolarShadows.js +1 -2
  423. package/lib/esm/SolarShadows.js.map +1 -1
  424. package/lib/esm/SpatialClassification.js.map +1 -1
  425. package/lib/esm/SubCategoryAppearance.js +1 -2
  426. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  427. package/lib/esm/SubCategoryOverride.js +1 -2
  428. package/lib/esm/SubCategoryOverride.js.map +1 -1
  429. package/lib/esm/TerrainSettings.js.map +1 -1
  430. package/lib/esm/TextureMapping.js.map +1 -1
  431. package/lib/esm/TextureProps.js.map +1 -1
  432. package/lib/esm/ThematicDisplay.js +1 -2
  433. package/lib/esm/ThematicDisplay.js.map +1 -1
  434. package/lib/esm/Thumbnail.js.map +1 -1
  435. package/lib/esm/TileProps.js.map +1 -1
  436. package/lib/esm/Tween.js.map +1 -1
  437. package/lib/esm/TxnAction.js.map +1 -1
  438. package/lib/esm/ViewDetails.js +1 -2
  439. package/lib/esm/ViewDetails.js.map +1 -1
  440. package/lib/esm/ViewFlags.js +1 -2
  441. package/lib/esm/ViewFlags.js.map +1 -1
  442. package/lib/esm/ViewProps.js.map +1 -1
  443. package/lib/esm/WhiteOnWhiteReversalSettings.js +1 -2
  444. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  445. package/lib/esm/annotation/TextAnnotation.d.ts +101 -0
  446. package/lib/esm/annotation/TextAnnotation.d.ts.map +1 -0
  447. package/lib/esm/annotation/TextAnnotation.js +93 -0
  448. package/lib/esm/annotation/TextAnnotation.js.map +1 -0
  449. package/lib/esm/annotation/TextBlock.d.ts +314 -0
  450. package/lib/esm/annotation/TextBlock.d.ts.map +1 -0
  451. package/lib/esm/annotation/TextBlock.js +329 -0
  452. package/lib/esm/annotation/TextBlock.js.map +1 -0
  453. package/lib/esm/annotation/TextBlockGeometryProps.d.ts +44 -0
  454. package/lib/esm/annotation/TextBlockGeometryProps.d.ts.map +1 -0
  455. package/lib/esm/annotation/TextBlockGeometryProps.js +9 -0
  456. package/lib/esm/annotation/TextBlockGeometryProps.js.map +1 -0
  457. package/lib/esm/annotation/TextStyle.d.ts +185 -0
  458. package/lib/esm/annotation/TextStyle.d.ts.map +1 -0
  459. package/lib/esm/annotation/TextStyle.js +105 -0
  460. package/lib/esm/annotation/TextStyle.js.map +1 -0
  461. package/lib/esm/core-common.d.ts +8 -0
  462. package/lib/esm/core-common.d.ts.map +1 -1
  463. package/lib/esm/core-common.js +8 -0
  464. package/lib/esm/core-common.js.map +1 -1
  465. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  466. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  467. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  468. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  469. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  470. package/lib/esm/geometry/Cartographic.js +1 -2
  471. package/lib/esm/geometry/Cartographic.js.map +1 -1
  472. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  473. package/lib/esm/geometry/ElementGeometry.d.ts +7 -0
  474. package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
  475. package/lib/esm/geometry/ElementGeometry.js +28 -1
  476. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  477. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  478. package/lib/esm/geometry/FrustumPlanes.js +4 -4
  479. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  480. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  481. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  482. package/lib/esm/geometry/GeometryStream.d.ts +7 -0
  483. package/lib/esm/geometry/GeometryStream.d.ts.map +1 -1
  484. package/lib/esm/geometry/GeometryStream.js +36 -8
  485. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  486. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  487. package/lib/esm/geometry/LineStyle.js.map +1 -1
  488. package/lib/esm/geometry/Placement.js.map +1 -1
  489. package/lib/esm/geometry/Projection.js.map +1 -1
  490. package/lib/esm/geometry/TextString.d.ts.map +1 -1
  491. package/lib/esm/geometry/TextString.js +16 -13
  492. package/lib/esm/geometry/TextString.js.map +1 -1
  493. package/lib/esm/ipc/IpcSession.js.map +1 -1
  494. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  495. package/lib/esm/ipc/IpcWebSocket.js +1 -2
  496. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  497. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  498. package/lib/esm/rpc/DevToolsRpcInterface.js +1 -2
  499. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  500. package/lib/esm/rpc/IModelReadRpcInterface.js +1 -2
  501. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  502. package/lib/esm/rpc/IModelTileRpcInterface.js +1 -2
  503. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  504. package/lib/esm/rpc/SnapshotIModelRpcInterface.js +1 -2
  505. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  506. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  507. package/lib/esm/rpc/WipRpcInterface.js +1 -2
  508. package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
  509. package/lib/esm/rpc/core/RpcConfiguration.js +5 -6
  510. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  511. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  512. package/lib/esm/rpc/core/RpcControl.js +1 -2
  513. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  514. package/lib/esm/rpc/core/RpcInvocation.js +3 -4
  515. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  516. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  517. package/lib/esm/rpc/core/RpcOperation.js +1 -2
  518. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  519. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  520. package/lib/esm/rpc/core/RpcProtocol.js +1 -2
  521. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  522. package/lib/esm/rpc/core/RpcPush.js +2 -4
  523. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  524. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  525. package/lib/esm/rpc/core/RpcRequest.js +1 -2
  526. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  527. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  528. package/lib/esm/rpc/core/RpcRoutingToken.js +1 -2
  529. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  530. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  531. package/lib/esm/rpc/web/BentleyCloudRpcManager.js +1 -2
  532. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  533. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  534. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  535. package/lib/esm/rpc/web/RpcMultipart.js +1 -2
  536. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  537. package/lib/esm/rpc/web/WebAppRpcLogging.js +8 -8
  538. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  539. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  540. package/lib/esm/rpc/web/WebAppRpcRequest.js +3 -4
  541. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  542. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  543. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  544. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  545. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  546. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  547. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  548. package/lib/esm/tile/IModelTileIO.js +1 -2
  549. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  550. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  551. package/lib/esm/tile/TileIO.d.ts +6 -6
  552. package/lib/esm/tile/TileIO.d.ts.map +1 -1
  553. package/lib/esm/tile/TileIO.js.map +1 -1
  554. package/lib/esm/tile/TileMetadata.d.ts +3 -3
  555. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  556. package/lib/esm/tile/TileMetadata.js.map +1 -1
  557. package/lib/esm/tile/Tileset3dSchema.d.ts.map +1 -1
  558. package/lib/esm/tile/Tileset3dSchema.js.map +1 -1
  559. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"B3dmTileIO.js","sourceRoot":"","sources":["../../../src/tile/B3dmTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA+D;AAC/D,qCAAkD;AAElD;;GAEG;AACH,MAAa,UAAW,SAAQ,mBAAU;IAQxC,IAAW,OAAO,KAAc,OAAO,mBAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzE,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAElD,4FAA4F;QAC5F,yDAAyD;QACzD,0FAA0F;QAC1F,sIAAsI;QACtI,oJAAoJ;QACpJ,oMAAoM;QACpM,2GAA2G;QAC3G,IAAI,IAAI,CAAC,oBAAoB,IAAI,SAAS,EAAE;YAC1C,qBAAqB;YACrB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAC1D,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;SACnC;aAAM,IAAI,IAAI,CAAC,sBAAsB,IAAI,SAAS,EAAE;YACnD,sBAAsB;YACtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC;YACxD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAC5D,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,sBAAsB,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAA,2BAAY,EAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBACV,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAChD;QAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,EAAE;YACnC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAA,2BAAY,EAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBACV,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC9C;QAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE5C,IAAI,MAAM,CAAC,YAAY;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CACF;AA7DD,gCA6DC","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 Tile\r\n */\r\n\r\nimport { ByteStream, utf8ToString } from \"@itwin/core-bentley\";\r\nimport { TileFormat, TileHeader } from \"./TileIO\";\r\n\r\n/** Header preceding tile content in [b3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Batched3DModel) format.\r\n * @internal\r\n */\r\nexport class B3dmHeader extends TileHeader {\r\n public readonly length: number;\r\n public readonly featureTableJsonLength: number;\r\n public readonly featureTableBinaryLength: number;\r\n public readonly batchTableJsonLength: number;\r\n public readonly batchTableBinaryLength: number;\r\n public readonly featureTableJson: any;\r\n public readonly batchTableJson: any;\r\n public get isValid(): boolean { return TileFormat.B3dm === this.format; }\r\n\r\n public constructor(stream: ByteStream) {\r\n super(stream);\r\n this.length = stream.readUint32();\r\n this.featureTableJsonLength = stream.readUint32();\r\n this.featureTableBinaryLength = stream.readUint32();\r\n this.batchTableJsonLength = stream.readUint32();\r\n this.batchTableBinaryLength = stream.readUint32();\r\n\r\n // Keep this legacy check in for now since a lot of tilesets are still using the old header.\r\n // Legacy header #1: [batchLength] [batchTableByteLength]\r\n // Legacy header #2: [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]\r\n // Current header: [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength]\r\n // If the header is in the first legacy format 'batchTableJsonByteLength' will be the start of the JSON string (a quotation mark) or the glTF magic.\r\n // Accordingly its first byte will be either 0x22 or 0x67, and so the minimum uint32 expected is 0x22000000 = 570425344 = 570MB. It is unlikely that the feature table Json will exceed this length.\r\n // The check for the second legacy format is similar, except it checks 'batchTableBinaryByteLength' instead\r\n if (this.batchTableJsonLength >= 570425344) {\r\n // First legacy check\r\n stream.curPos = 20;\r\n this.batchTableJsonLength = this.featureTableBinaryLength;\r\n this.batchTableBinaryLength = 0;\r\n this.featureTableJsonLength = 0;\r\n this.featureTableBinaryLength = 0;\r\n } else if (this.batchTableBinaryLength >= 570425344) {\r\n // Second legacy check\r\n stream.curPos = 24;\r\n this.batchTableJsonLength = this.featureTableJsonLength;\r\n this.batchTableBinaryLength = this.featureTableBinaryLength;\r\n this.featureTableJsonLength = 0;\r\n this.featureTableBinaryLength = 0;\r\n }\r\n\r\n if (0 !== this.featureTableJsonLength) {\r\n const sceneStrData = stream.nextBytes(this.featureTableJsonLength);\r\n const sceneStr = utf8ToString(sceneStrData);\r\n if (sceneStr)\r\n this.featureTableJson = JSON.parse(sceneStr);\r\n }\r\n\r\n stream.advance(this.featureTableBinaryLength);\r\n if (0 !== this.batchTableJsonLength) {\r\n const batchStrData = stream.nextBytes(this.batchTableJsonLength);\r\n const batchStr = utf8ToString(batchStrData);\r\n if (batchStr)\r\n this.batchTableJson = JSON.parse(batchStr);\r\n }\r\n\r\n stream.advance(this.batchTableBinaryLength);\r\n\r\n if (stream.isPastTheEnd)\r\n this.invalidate();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"B3dmTileIO.js","sourceRoot":"","sources":["../../../src/tile/B3dmTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA+D;AAC/D,qCAAkD;AAElD;;GAEG;AACH,MAAa,UAAW,SAAQ,mBAAU;IAQxC,IAAW,OAAO,KAAc,OAAO,mBAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzE,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAElD,4FAA4F;QAC5F,yDAAyD;QACzD,0FAA0F;QAC1F,sIAAsI;QACtI,oJAAoJ;QACpJ,oMAAoM;QACpM,2GAA2G;QAC3G,IAAI,IAAI,CAAC,oBAAoB,IAAI,SAAS,EAAE,CAAC;YAC3C,qBAAqB;YACrB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAC1D,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,sBAAsB,IAAI,SAAS,EAAE,CAAC;YACpD,sBAAsB;YACtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC;YACxD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAC5D,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACtC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAA,2BAAY,EAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBACV,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAA,2BAAY,EAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBACV,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE5C,IAAI,MAAM,CAAC,YAAY;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CACF;AA7DD,gCA6DC","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 Tile\n */\n\nimport { ByteStream, utf8ToString } from \"@itwin/core-bentley\";\nimport { TileFormat, TileHeader } from \"./TileIO\";\n\n/** Header preceding tile content in [b3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Batched3DModel) format.\n * @internal\n */\nexport class B3dmHeader extends TileHeader {\n public readonly length: number;\n public readonly featureTableJsonLength: number;\n public readonly featureTableBinaryLength: number;\n public readonly batchTableJsonLength: number;\n public readonly batchTableBinaryLength: number;\n public readonly featureTableJson: any;\n public readonly batchTableJson: any;\n public get isValid(): boolean { return TileFormat.B3dm === this.format; }\n\n public constructor(stream: ByteStream) {\n super(stream);\n this.length = stream.readUint32();\n this.featureTableJsonLength = stream.readUint32();\n this.featureTableBinaryLength = stream.readUint32();\n this.batchTableJsonLength = stream.readUint32();\n this.batchTableBinaryLength = stream.readUint32();\n\n // Keep this legacy check in for now since a lot of tilesets are still using the old header.\n // Legacy header #1: [batchLength] [batchTableByteLength]\n // Legacy header #2: [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]\n // Current header: [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength]\n // If the header is in the first legacy format 'batchTableJsonByteLength' will be the start of the JSON string (a quotation mark) or the glTF magic.\n // Accordingly its first byte will be either 0x22 or 0x67, and so the minimum uint32 expected is 0x22000000 = 570425344 = 570MB. It is unlikely that the feature table Json will exceed this length.\n // The check for the second legacy format is similar, except it checks 'batchTableBinaryByteLength' instead\n if (this.batchTableJsonLength >= 570425344) {\n // First legacy check\n stream.curPos = 20;\n this.batchTableJsonLength = this.featureTableBinaryLength;\n this.batchTableBinaryLength = 0;\n this.featureTableJsonLength = 0;\n this.featureTableBinaryLength = 0;\n } else if (this.batchTableBinaryLength >= 570425344) {\n // Second legacy check\n stream.curPos = 24;\n this.batchTableJsonLength = this.featureTableJsonLength;\n this.batchTableBinaryLength = this.featureTableBinaryLength;\n this.featureTableJsonLength = 0;\n this.featureTableBinaryLength = 0;\n }\n\n if (0 !== this.featureTableJsonLength) {\n const sceneStrData = stream.nextBytes(this.featureTableJsonLength);\n const sceneStr = utf8ToString(sceneStrData);\n if (sceneStr)\n this.featureTableJson = JSON.parse(sceneStr);\n }\n\n stream.advance(this.featureTableBinaryLength);\n if (0 !== this.batchTableJsonLength) {\n const batchStrData = stream.nextBytes(this.batchTableJsonLength);\n const batchStr = utf8ToString(batchStrData);\n if (batchStr)\n this.batchTableJson = JSON.parse(batchStr);\n }\n\n stream.advance(this.batchTableBinaryLength);\n\n if (stream.isPastTheEnd)\n this.invalidate();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeTileIO.js","sourceRoot":"","sources":["../../../src/tile/CompositeTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,qCAAkD;AAElD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,mBAAU;IAKjD,IAAW,OAAO,KAAc,OAAO,mBAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzE,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAElC,IAAI,MAAM,CAAC,YAAY;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CACF;AAhBD,kDAgBC","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 Tile\r\n */\r\n\r\nimport { ByteStream } from \"@itwin/core-bentley\";\r\nimport { TileFormat, TileHeader } from \"./TileIO\";\r\n\r\n/** Header preceding tile content in [composite](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Composite) format, containing any number of tiles in other standard 3D tile formats.\r\n * @internal\r\n */\r\nexport class CompositeTileHeader extends TileHeader {\r\n public readonly length: number;\r\n public readonly tileCount: number;\r\n public readonly tilePosition: number;\r\n\r\n public get isValid(): boolean { return TileFormat.Cmpt === this.format; }\r\n\r\n public constructor(stream: ByteStream) {\r\n super(stream);\r\n this.length = stream.readUint32();\r\n this.tileCount = stream.readUint32();\r\n this.tilePosition = stream.curPos;\r\n\r\n if (stream.isPastTheEnd)\r\n this.invalidate();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CompositeTileIO.js","sourceRoot":"","sources":["../../../src/tile/CompositeTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,qCAAkD;AAElD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,mBAAU;IAKjD,IAAW,OAAO,KAAc,OAAO,mBAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzE,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAElC,IAAI,MAAM,CAAC,YAAY;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CACF;AAhBD,kDAgBC","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 Tile\n */\n\nimport { ByteStream } from \"@itwin/core-bentley\";\nimport { TileFormat, TileHeader } from \"./TileIO\";\n\n/** Header preceding tile content in [composite](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Composite) format, containing any number of tiles in other standard 3D tile formats.\n * @internal\n */\nexport class CompositeTileHeader extends TileHeader {\n public readonly length: number;\n public readonly tileCount: number;\n public readonly tilePosition: number;\n\n public get isValid(): boolean { return TileFormat.Cmpt === this.format; }\n\n public constructor(stream: ByteStream) {\n super(stream);\n this.length = stream.readUint32();\n this.tileCount = stream.readUint32();\n this.tilePosition = stream.curPos;\n\n if (stream.isPastTheEnd)\n this.invalidate();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ElementGraphics.js","sourceRoot":"","sources":["../../../src/tile/ElementGraphics.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","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 Tile\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { TransformProps } from \"@itwin/core-geometry\";\r\nimport { Placement2dProps, Placement3dProps } from \"../ElementProps\";\r\nimport { ElementGeometryDataEntry } from \"../geometry/ElementGeometry\";\r\nimport { GeometryStreamProps } from \"../geometry/GeometryStream\";\r\nimport { ContentFlags, TreeFlags } from \"../tile/TileMetadata\";\r\n\r\n/** Wire format describing properties common to [[PersistentGraphicsRequestProps]] and [[DynamicGraphicsRequestProps]].\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GraphicsRequestProps {\r\n /** Uniquely identifies this request among all [[ElementGraphicsRequestProps]] for a given [[IModel]]. */\r\n readonly id: string;\r\n /** Log10 of the chord tolerance with which to stroke the element's geometry. e.g., for a chord tolerance of 0.01 (10^-2) meters, supply -2. */\r\n readonly toleranceLog10: number;\r\n /** The major version of the \"iMdl\" format to use when producing the iMdl representation of the element's geometry.\r\n * If omitted, the most recent version known to the backend will be used.\r\n * @alpha\r\n */\r\n readonly formatVersion?: number;\r\n /** Optional flags. [[TreeFlags.UseProjectExtents]] has no effect. [[TreeFlags.EnforceDisplayPriority]] is not yet implemented. @alpha */\r\n readonly treeFlags?: TreeFlags;\r\n /** Optional flags. [[ContentFlags.ImprovedElision]] has no effect. @alpha */\r\n readonly contentFlags?: ContentFlags;\r\n /** Transform from element graphics to world coordinates. Defaults to identity. */\r\n readonly location?: TransformProps;\r\n /** If true, surface edges will be omitted from the graphics. */\r\n readonly omitEdges?: boolean;\r\n /** If omitEdges is false, specifies the type of edges to produce. Generally determined by TileAdmin.requestElementGraphics.\r\n * @note This uses the deleted EdgeType enum where 1 indicates non-indexed edges and 2 indicates indexed edges, to avoid breaking the RPC API.\r\n * @internal\r\n */\r\n readonly edgeType?: 1 | 2;\r\n /** If true, and omitEdges is false, a polyface with no edge visibility info will display edges for all faces;\r\n * if false, edges will be inferred from the polyface's topology.\r\n * @internal\r\n */\r\n readonly smoothPolyfaceEdges?: boolean;\r\n /** If true, the element's graphics will be clipped against the iModel's project extents. */\r\n readonly clipToProjectExtents?: boolean;\r\n /** If defined, the compact string representation of a [ClipVector]($core-geometry) to be applied to the geometry to produce section-cut\r\n * geometry at the intersections with the clip planes. Any geometry *not* intersecting the clip planes is omitted from the tiles.\r\n * @see [ClipVector.toCompactString]($core-geometry) to produce the string representation.\r\n */\r\n readonly sectionCut?: string;\r\n /** If true, vertex positions will be quantized to [[QPoint3d]]s to conserve space; otherwise, vertex positions will use 32-bit float precision.\r\n * Quantization may produce perceptible inaccuracies when producing graphics for large and/or highly-detailed elements. It is not generally recommended.\r\n * Note that 32-bit precision is also susceptible to inaccuracies, to a lesser extent; see [[useAbsolutePositions]] to mitigate them.\r\n * Default: false.\r\n */\r\n quantizePositions?: boolean;\r\n /** Determines whether unquantized positions are specified in relative or absolute coordinates.\r\n * Coordinates very far from the origin can produce precision errors resulting in visual artifacts. If `useAbsolutePositions` is `false`, then\r\n * these precision errors are mitigated by applying a translation to the vertex positions to move them closer to the origin, and then applying the inverse\r\n * translation (using 64-bit precision) when drawing the graphics.\r\n * Using absolute positions is not generally recommended.\r\n * Default: false.\r\n * @note This property has no effect if [[quantizePositions]] is `true`.\r\n */\r\n useAbsolutePositions?: boolean;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single element.\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PersistentGraphicsRequestProps extends GraphicsRequestProps {\r\n /** The element whose geometry is to be used to generate the graphics. */\r\n readonly elementId: Id64String;\r\n}\r\n\r\n/** As part of a [[DynamicGraphicsRequestProps]], specifies the geometry from which to generate the graphics in JSON format.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface JsonGeometryStream {\r\n /** Discriminator for [[DynamicGraphicsRequestProps.geometry]]. */\r\n format: \"json\";\r\n /** The geometry stream in JSON format. */\r\n data: GeometryStreamProps;\r\n}\r\n\r\n/** As part of a [[DynamicGraphicsRequestProps]], specifies the geometry from which to generate the graphics in binary flatbuffer-encoded format.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FlatBufferGeometryStream {\r\n /** Discriminator for [[DynamicGraphicsRequestProps.geometry]]. */\r\n format: \"flatbuffer\";\r\n /** The geometry stream in flatbuffer format. */\r\n data: ElementGeometryDataEntry[];\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single geometry stream.\r\n * @see [[DynamicGraphicsRequest2dProps]] and [[DynamicGraphicsRequest3dProps]].\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DynamicGraphicsRequestProps extends GraphicsRequestProps {\r\n /** The geometry from which to generate the graphics. */\r\n readonly geometry: JsonGeometryStream | FlatBufferGeometryStream;\r\n /** The category to which the geometry belongs. This is required to identify a persistent [SpatialCategory]($backend) for 3d geometry or\r\n * [DrawingCategory]($backend) for 2d geometry.\r\n */\r\n readonly categoryId: Id64String;\r\n /** If specified, tools will recognize the generated graphics as being associated with this element. */\r\n readonly elementId?: Id64String;\r\n /** If specified, tools will recognize the generated graphics as being associated with this model.\r\n * It should identify a 3d model for 3d geometry or a 2d model for 2d geometry.\r\n * It needn't identify a persistent model - it can be a transient Id.\r\n */\r\n readonly modelId?: Id64String;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a 2d geometry stream.\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DynamicGraphicsRequest2dProps extends DynamicGraphicsRequestProps {\r\n /** Specifies the geometry is 2d. */\r\n readonly type: \"2d\";\r\n /** The origin and rotation of the geometry. */\r\n readonly placement: Omit<Placement2dProps, \"bbox\">;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a 3d geometry stream.\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DynamicGraphicsRequest3dProps extends DynamicGraphicsRequestProps {\r\n /** Specifies the geometry is 3d. */\r\n readonly type: \"3d\";\r\n /** The origin and rotation of the geometry. */\r\n readonly placement: Omit<Placement3dProps, \"bbox\">;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single element or geometry stream.\r\n * @note Every request must have an `id` that is unique amongst all extant requests for a given [[IModel]].\r\n * @see [TileAdmin.requestElementGraphics]($frontend) and [IModelDb.generateElementGraphics]($backend) to fulfill such a request.\r\n * @see [readElementGraphics]($frontend) to convert the result of a request to a [RenderGraphic]($frontend) for display.\r\n * @public\r\n * @extensions\r\n */\r\nexport type ElementGraphicsRequestProps = PersistentGraphicsRequestProps | DynamicGraphicsRequest2dProps | DynamicGraphicsRequest3dProps;\r\n"]}
1
+ {"version":3,"file":"ElementGraphics.js","sourceRoot":"","sources":["../../../src/tile/ElementGraphics.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","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 Tile\n */\n\nimport { Id64String } from \"@itwin/core-bentley\";\nimport { TransformProps } from \"@itwin/core-geometry\";\nimport { Placement2dProps, Placement3dProps } from \"../ElementProps\";\nimport { ElementGeometryDataEntry } from \"../geometry/ElementGeometry\";\nimport { GeometryStreamProps } from \"../geometry/GeometryStream\";\nimport { ContentFlags, TreeFlags } from \"../tile/TileMetadata\";\n\n/** Wire format describing properties common to [[PersistentGraphicsRequestProps]] and [[DynamicGraphicsRequestProps]].\n * @see [[ElementGraphicsRequestProps]] for more details.\n * @public\n * @extensions\n */\nexport interface GraphicsRequestProps {\n /** Uniquely identifies this request among all [[ElementGraphicsRequestProps]] for a given [[IModel]]. */\n readonly id: string;\n /** Log10 of the chord tolerance with which to stroke the element's geometry. e.g., for a chord tolerance of 0.01 (10^-2) meters, supply -2. */\n readonly toleranceLog10: number;\n /** The major version of the \"iMdl\" format to use when producing the iMdl representation of the element's geometry.\n * If omitted, the most recent version known to the backend will be used.\n * @alpha\n */\n readonly formatVersion?: number;\n /** Optional flags. [[TreeFlags.UseProjectExtents]] has no effect. [[TreeFlags.EnforceDisplayPriority]] is not yet implemented. @alpha */\n readonly treeFlags?: TreeFlags;\n /** Optional flags. [[ContentFlags.ImprovedElision]] has no effect. @alpha */\n readonly contentFlags?: ContentFlags;\n /** Transform from element graphics to world coordinates. Defaults to identity. */\n readonly location?: TransformProps;\n /** If true, surface edges will be omitted from the graphics. */\n readonly omitEdges?: boolean;\n /** If omitEdges is false, specifies the type of edges to produce. Generally determined by TileAdmin.requestElementGraphics.\n * @note This uses the deleted EdgeType enum where 1 indicates non-indexed edges and 2 indicates indexed edges, to avoid breaking the RPC API.\n * @internal\n */\n readonly edgeType?: 1 | 2;\n /** If true, and omitEdges is false, a polyface with no edge visibility info will display edges for all faces;\n * if false, edges will be inferred from the polyface's topology.\n * @internal\n */\n readonly smoothPolyfaceEdges?: boolean;\n /** If true, the element's graphics will be clipped against the iModel's project extents. */\n readonly clipToProjectExtents?: boolean;\n /** If defined, the compact string representation of a [ClipVector]($core-geometry) to be applied to the geometry to produce section-cut\n * geometry at the intersections with the clip planes. Any geometry *not* intersecting the clip planes is omitted from the tiles.\n * @see [ClipVector.toCompactString]($core-geometry) to produce the string representation.\n */\n readonly sectionCut?: string;\n /** If true, vertex positions will be quantized to [[QPoint3d]]s to conserve space; otherwise, vertex positions will use 32-bit float precision.\n * Quantization may produce perceptible inaccuracies when producing graphics for large and/or highly-detailed elements. It is not generally recommended.\n * Note that 32-bit precision is also susceptible to inaccuracies, to a lesser extent; see [[useAbsolutePositions]] to mitigate them.\n * Default: false.\n */\n quantizePositions?: boolean;\n /** Determines whether unquantized positions are specified in relative or absolute coordinates.\n * Coordinates very far from the origin can produce precision errors resulting in visual artifacts. If `useAbsolutePositions` is `false`, then\n * these precision errors are mitigated by applying a translation to the vertex positions to move them closer to the origin, and then applying the inverse\n * translation (using 64-bit precision) when drawing the graphics.\n * Using absolute positions is not generally recommended.\n * Default: false.\n * @note This property has no effect if [[quantizePositions]] is `true`.\n */\n useAbsolutePositions?: boolean;\n}\n\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single element.\n * @see [[ElementGraphicsRequestProps]] for more details.\n * @public\n * @extensions\n */\nexport interface PersistentGraphicsRequestProps extends GraphicsRequestProps {\n /** The element whose geometry is to be used to generate the graphics. */\n readonly elementId: Id64String;\n}\n\n/** As part of a [[DynamicGraphicsRequestProps]], specifies the geometry from which to generate the graphics in JSON format.\n * @public\n * @extensions\n */\nexport interface JsonGeometryStream {\n /** Discriminator for [[DynamicGraphicsRequestProps.geometry]]. */\n format: \"json\";\n /** The geometry stream in JSON format. */\n data: GeometryStreamProps;\n}\n\n/** As part of a [[DynamicGraphicsRequestProps]], specifies the geometry from which to generate the graphics in binary flatbuffer-encoded format.\n * @public\n * @extensions\n */\nexport interface FlatBufferGeometryStream {\n /** Discriminator for [[DynamicGraphicsRequestProps.geometry]]. */\n format: \"flatbuffer\";\n /** The geometry stream in flatbuffer format. */\n data: ElementGeometryDataEntry[];\n}\n\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single geometry stream.\n * @see [[DynamicGraphicsRequest2dProps]] and [[DynamicGraphicsRequest3dProps]].\n * @see [[ElementGraphicsRequestProps]] for more details.\n * @public\n * @extensions\n */\nexport interface DynamicGraphicsRequestProps extends GraphicsRequestProps {\n /** The geometry from which to generate the graphics. */\n readonly geometry: JsonGeometryStream | FlatBufferGeometryStream;\n /** The category to which the geometry belongs. This is required to identify a persistent [SpatialCategory]($backend) for 3d geometry or\n * [DrawingCategory]($backend) for 2d geometry.\n */\n readonly categoryId: Id64String;\n /** If specified, tools will recognize the generated graphics as being associated with this element. */\n readonly elementId?: Id64String;\n /** If specified, tools will recognize the generated graphics as being associated with this model.\n * It should identify a 3d model for 3d geometry or a 2d model for 2d geometry.\n * It needn't identify a persistent model - it can be a transient Id.\n */\n readonly modelId?: Id64String;\n}\n\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a 2d geometry stream.\n * @see [[ElementGraphicsRequestProps]] for more details.\n * @public\n * @extensions\n */\nexport interface DynamicGraphicsRequest2dProps extends DynamicGraphicsRequestProps {\n /** Specifies the geometry is 2d. */\n readonly type: \"2d\";\n /** The origin and rotation of the geometry. */\n readonly placement: Omit<Placement2dProps, \"bbox\">;\n}\n\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a 3d geometry stream.\n * @see [[ElementGraphicsRequestProps]] for more details.\n * @public\n * @extensions\n */\nexport interface DynamicGraphicsRequest3dProps extends DynamicGraphicsRequestProps {\n /** Specifies the geometry is 3d. */\n readonly type: \"3d\";\n /** The origin and rotation of the geometry. */\n readonly placement: Omit<Placement3dProps, \"bbox\">;\n}\n\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single element or geometry stream.\n * @note Every request must have an `id` that is unique amongst all extant requests for a given [[IModel]].\n * @see [TileAdmin.requestElementGraphics]($frontend) and [IModelDb.generateElementGraphics]($backend) to fulfill such a request.\n * @see [readElementGraphics]($frontend) to convert the result of a request to a [RenderGraphic]($frontend) for display.\n * @public\n * @extensions\n */\nexport type ElementGraphicsRequestProps = PersistentGraphicsRequestProps | DynamicGraphicsRequest2dProps | DynamicGraphicsRequest3dProps;\n"]}
@@ -19,13 +19,13 @@ var GltfVersions;
19
19
  GltfVersions[GltfVersions["Version2"] = 2] = "Version2";
20
20
  GltfVersions[GltfVersions["CurrentVersion"] = 1] = "CurrentVersion";
21
21
  GltfVersions[GltfVersions["Gltf1SceneFormat"] = 0] = "Gltf1SceneFormat";
22
- })(GltfVersions = exports.GltfVersions || (exports.GltfVersions = {}));
22
+ })(GltfVersions || (exports.GltfVersions = GltfVersions = {}));
23
23
  /** @internal */
24
24
  var GltfV2ChunkTypes;
25
25
  (function (GltfV2ChunkTypes) {
26
26
  GltfV2ChunkTypes[GltfV2ChunkTypes["JSON"] = 1313821514] = "JSON";
27
27
  GltfV2ChunkTypes[GltfV2ChunkTypes["Binary"] = 5130562] = "Binary";
28
- })(GltfV2ChunkTypes = exports.GltfV2ChunkTypes || (exports.GltfV2ChunkTypes = {}));
28
+ })(GltfV2ChunkTypes || (exports.GltfV2ChunkTypes = GltfV2ChunkTypes = {}));
29
29
  function consumeNextChunk(stream) {
30
30
  if (stream.isAtTheEnd)
31
31
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"GltfTileIO.js","sourceRoot":"","sources":["../../../src/tile/GltfTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAyD;AACzD,qCAAkD;AAElD;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uDAAY,CAAA;IACZ,uDAAY,CAAA;IACZ,mEAAyB,CAAA;IACzB,uEAAoB,CAAA;AACtB,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED,gBAAgB;AAChB,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,gEAAiB,CAAA;IACjB,iEAAmB,CAAA;AACrB,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAmBD,SAAS,gBAAgB,CAAC,MAAkB;IAC1C,IAAI,MAAM,CAAC,UAAU;QACnB,OAAO,SAAS,CAAC;IAEnB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,UAAU;QACnB,OAAO,SAAS,CAAC;IAEnB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChE,CAAC;AAED,gBAAgB;AAChB,MAAa,SAAU,SAAQ,mBAAU;IAMvC,IAAW,OAAO;QAChB,OAAO,mBAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC;IACzC,CAAC;IAED,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QAVA,eAAU,GAAW,CAAC,CAAC;QACvB,cAAS,GAAc,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAEhD,qBAAgB,GAAqB,EAAE,CAAC;QAQtD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEtC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAElC,mHAAmH;QACnH,6BAA6B;QAC7B,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,CAAC,QAAQ,IAAI,KAAK,KAAK,YAAY,CAAC,gBAAgB;YACnF,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC;QAEvC,IAAI,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC/D,QAAQ,IAAI,CAAC,OAAO,EAAE;YACpB,KAAK,YAAY,CAAC,QAAQ;gBACxB,IAAI,YAAY,CAAC,gBAAgB,KAAK,KAAK,EAAE;oBAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,OAAO;iBACR;gBAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;gBAChD,IAAI,CAAC,WAAW,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,YAAY,EAAE,CAAC;gBACpF,MAAM;YACR,KAAK,YAAY,CAAC,QAAQ;gBACxB,IAAI,KAAK,KAAK,gBAAgB,CAAC,IAAI,EAAE;oBACnC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,OAAO;iBACR;gBAED,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC3B,IAAI,MAAM,CAAC,YAAY,EAAE;oBACvB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,OAAO;iBACR;gBAED,IAAI,KAAK,CAAC;gBACV,OAAO,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,EAAE;oBACvC,QAAQ,KAAK,CAAC,IAAI,EAAE;wBAClB,KAAK,gBAAgB,CAAC,IAAI;4BACxB,0DAA0D;4BAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;4BAClB,OAAO;wBACT,KAAK,gBAAgB,CAAC,MAAM;4BAC1B,2EAA2E;4BAC3E,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;gCACpD,IAAI,CAAC,UAAU,EAAE,CAAC;gCAClB,OAAO;6BACR;4BAED,IAAI,CAAC,WAAW,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;4BAClE,MAAM;wBACR;4BACE,kEAAkE;4BAClE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAClC,MAAM;qBACT;iBACF;gBAED,IAAI,KAAK,KAAK,KAAK,EAAE;oBACnB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,OAAO;iBACR;gBAED,IAAA,qBAAM,EAAC,SAAS,KAAK,KAAK,CAAC,CAAC;gBAC5B,IAAA,qBAAM,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1B,MAAM;YACR;gBACE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;SACT;IACH,CAAC;CACF;AAjFD,8BAiFC","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 Tile\r\n */\r\n\r\nimport { assert, ByteStream } from \"@itwin/core-bentley\";\r\nimport { TileFormat, TileHeader } from \"./TileIO\";\r\n\r\n/** Known version of the [glTF format](https://www.khronos.org/gltf/).\r\n * @internal\r\n */\r\nexport enum GltfVersions {\r\n Version1 = 1,\r\n Version2 = 2,\r\n CurrentVersion = Version1,\r\n Gltf1SceneFormat = 0,\r\n}\r\n\r\n/** @internal */\r\nexport enum GltfV2ChunkTypes {\r\n JSON = 0x4E4F534a,\r\n Binary = 0x004E4942,\r\n}\r\n\r\n/** A chunk of a glb file.\r\n * @internal\r\n */\r\nexport interface GltfChunk {\r\n /** Offset of the first byte of the chunk's data relative to the beginning of the glb data.\r\n * This excludes the 8-byte chunk header containing the length and type fields.\r\n */\r\n offset: number;\r\n /** The number of bytes in the chunk's data. */\r\n length: number;\r\n}\r\n\r\n/** Describes a glTF chunk's data along with its type.\r\n * @internal\r\n */\r\nexport type TypedGltfChunk = GltfChunk & { type: number };\r\n\r\nfunction consumeNextChunk(stream: ByteStream): TypedGltfChunk | undefined | false {\r\n if (stream.isAtTheEnd)\r\n return undefined;\r\n\r\n const offset = stream.curPos + 8;\r\n\r\n const length = stream.readUint32();\r\n if (stream.isAtTheEnd)\r\n return undefined;\r\n\r\n const type = stream.readUint32();\r\n stream.advance(length);\r\n return stream.isPastTheEnd ? false : { offset, length, type };\r\n}\r\n\r\n/** @internal */\r\nexport class GlbHeader extends TileHeader {\r\n public readonly gltfLength: number = 0;\r\n public readonly jsonChunk: GltfChunk = { offset: 0, length: 0 };\r\n public readonly binaryChunk?: GltfChunk;\r\n public readonly additionalChunks: TypedGltfChunk[] = [];\r\n\r\n public get isValid(): boolean {\r\n return TileFormat.Gltf === this.format;\r\n }\r\n\r\n public constructor(stream: ByteStream) {\r\n super(stream);\r\n this.gltfLength = stream.readUint32();\r\n\r\n const jsonLength = stream.readUint32();\r\n const word5 = stream.readUint32();\r\n\r\n // Early versions of the reality data tile publisher incorrectly put version 2 into header - handle these old tiles\r\n // validating the chunk type.\r\n if (this.version === GltfVersions.Version2 && word5 === GltfVersions.Gltf1SceneFormat)\r\n this.version = GltfVersions.Version1;\r\n\r\n this.jsonChunk = { offset: stream.curPos, length: jsonLength };\r\n switch (this.version) {\r\n case GltfVersions.Version1:\r\n if (GltfVersions.Gltf1SceneFormat !== word5) {\r\n this.invalidate();\r\n return;\r\n }\r\n\r\n const binaryOffset = stream.curPos + jsonLength;\r\n this.binaryChunk = { offset: binaryOffset, length: this.gltfLength - binaryOffset };\r\n break;\r\n case GltfVersions.Version2:\r\n if (word5 !== GltfV2ChunkTypes.JSON) {\r\n this.invalidate();\r\n return;\r\n }\r\n\r\n stream.advance(jsonLength);\r\n if (stream.isPastTheEnd) {\r\n this.invalidate();\r\n return;\r\n }\r\n\r\n let chunk;\r\n while (chunk = consumeNextChunk(stream)) {\r\n switch (chunk.type) {\r\n case GltfV2ChunkTypes.JSON:\r\n // Only one JSON chunk permitted and it must be the first.\r\n this.invalidate();\r\n return;\r\n case GltfV2ChunkTypes.Binary:\r\n // At most one binary chunk permitted and it must be the second if present.\r\n if (this.binaryChunk || this.additionalChunks.length) {\r\n this.invalidate();\r\n return;\r\n }\r\n\r\n this.binaryChunk = { offset: chunk.offset, length: chunk.length };\r\n break;\r\n default:\r\n // Any other chunk type should be ignored - for use by extensions.\r\n this.additionalChunks.push(chunk);\r\n break;\r\n }\r\n }\r\n\r\n if (false === chunk) {\r\n this.invalidate();\r\n return;\r\n }\r\n\r\n assert(undefined === chunk);\r\n assert(stream.isAtTheEnd);\r\n break;\r\n default:\r\n this.invalidate();\r\n break;\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"GltfTileIO.js","sourceRoot":"","sources":["../../../src/tile/GltfTileIO.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 Tile\n */\n\nimport { assert, ByteStream } from \"@itwin/core-bentley\";\nimport { TileFormat, TileHeader } from \"./TileIO\";\n\n/** Known version of the [glTF format](https://www.khronos.org/gltf/).\n * @internal\n */\nexport enum GltfVersions {\n Version1 = 1,\n Version2 = 2,\n CurrentVersion = Version1,\n Gltf1SceneFormat = 0,\n}\n\n/** @internal */\nexport enum GltfV2ChunkTypes {\n JSON = 0x4E4F534a,\n Binary = 0x004E4942,\n}\n\n/** A chunk of a glb file.\n * @internal\n */\nexport interface GltfChunk {\n /** Offset of the first byte of the chunk's data relative to the beginning of the glb data.\n * This excludes the 8-byte chunk header containing the length and type fields.\n */\n offset: number;\n /** The number of bytes in the chunk's data. */\n length: number;\n}\n\n/** Describes a glTF chunk's data along with its type.\n * @internal\n */\nexport type TypedGltfChunk = GltfChunk & { type: number };\n\nfunction consumeNextChunk(stream: ByteStream): TypedGltfChunk | undefined | false {\n if (stream.isAtTheEnd)\n return undefined;\n\n const offset = stream.curPos + 8;\n\n const length = stream.readUint32();\n if (stream.isAtTheEnd)\n return undefined;\n\n const type = stream.readUint32();\n stream.advance(length);\n return stream.isPastTheEnd ? false : { offset, length, type };\n}\n\n/** @internal */\nexport class GlbHeader extends TileHeader {\n public readonly gltfLength: number = 0;\n public readonly jsonChunk: GltfChunk = { offset: 0, length: 0 };\n public readonly binaryChunk?: GltfChunk;\n public readonly additionalChunks: TypedGltfChunk[] = [];\n\n public get isValid(): boolean {\n return TileFormat.Gltf === this.format;\n }\n\n public constructor(stream: ByteStream) {\n super(stream);\n this.gltfLength = stream.readUint32();\n\n const jsonLength = stream.readUint32();\n const word5 = stream.readUint32();\n\n // Early versions of the reality data tile publisher incorrectly put version 2 into header - handle these old tiles\n // validating the chunk type.\n if (this.version === GltfVersions.Version2 && word5 === GltfVersions.Gltf1SceneFormat)\n this.version = GltfVersions.Version1;\n\n this.jsonChunk = { offset: stream.curPos, length: jsonLength };\n switch (this.version) {\n case GltfVersions.Version1:\n if (GltfVersions.Gltf1SceneFormat !== word5) {\n this.invalidate();\n return;\n }\n\n const binaryOffset = stream.curPos + jsonLength;\n this.binaryChunk = { offset: binaryOffset, length: this.gltfLength - binaryOffset };\n break;\n case GltfVersions.Version2:\n if (word5 !== GltfV2ChunkTypes.JSON) {\n this.invalidate();\n return;\n }\n\n stream.advance(jsonLength);\n if (stream.isPastTheEnd) {\n this.invalidate();\n return;\n }\n\n let chunk;\n while (chunk = consumeNextChunk(stream)) {\n switch (chunk.type) {\n case GltfV2ChunkTypes.JSON:\n // Only one JSON chunk permitted and it must be the first.\n this.invalidate();\n return;\n case GltfV2ChunkTypes.Binary:\n // At most one binary chunk permitted and it must be the second if present.\n if (this.binaryChunk || this.additionalChunks.length) {\n this.invalidate();\n return;\n }\n\n this.binaryChunk = { offset: chunk.offset, length: chunk.length };\n break;\n default:\n // Any other chunk type should be ignored - for use by extensions.\n this.additionalChunks.push(chunk);\n break;\n }\n }\n\n if (false === chunk) {\n this.invalidate();\n return;\n }\n\n assert(undefined === chunk);\n assert(stream.isAtTheEnd);\n break;\n default:\n this.invalidate();\n break;\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"I3dmTileIO.js","sourceRoot":"","sources":["../../../src/tile/I3dmTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA+D;AAC/D,qCAAkD;AAElD;;GAEG;AACH,MAAa,UAAW,SAAQ,mBAAU;IASxC,IAAW,OAAO,KAAc,OAAO,mBAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzE,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,EAAE;YACnC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAA,2BAAY,EAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBACV,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC9C;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE5C,IAAI,MAAM,CAAC,YAAY;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CACF;AAjCD,gCAiCC","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 Tile\r\n */\r\n\r\nimport { ByteStream, utf8ToString } from \"@itwin/core-bentley\";\r\nimport { TileFormat, TileHeader } from \"./TileIO\";\r\n\r\n/** Header preceding tile content in [i3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Instanced3DModel) format.\r\n * @internal\r\n */\r\nexport class I3dmHeader extends TileHeader {\r\n public readonly length: number;\r\n public readonly featureTableJsonPosition: number;\r\n public readonly featureTableJsonLength: number;\r\n public readonly featureTableBinaryLength: number;\r\n public readonly batchTableJsonLength: number;\r\n public readonly batchTableBinaryLength: number;\r\n public readonly gltfVersion: number;\r\n public readonly batchTableJson: any;\r\n public get isValid(): boolean { return TileFormat.I3dm === this.format; }\r\n\r\n public constructor(stream: ByteStream) {\r\n super(stream);\r\n this.length = stream.readUint32();\r\n this.featureTableJsonLength = stream.readUint32();\r\n this.featureTableBinaryLength = stream.readUint32();\r\n this.batchTableJsonLength = stream.readUint32();\r\n this.batchTableBinaryLength = stream.readUint32();\r\n this.gltfVersion = stream.readUint32();\r\n this.featureTableJsonPosition = stream.curPos;\r\n stream.advance(this.featureTableJsonLength);\r\n stream.advance(this.featureTableBinaryLength);\r\n if (0 !== this.batchTableJsonLength) {\r\n const batchStrData = stream.nextBytes(this.batchTableJsonLength);\r\n const batchStr = utf8ToString(batchStrData);\r\n if (batchStr)\r\n this.batchTableJson = JSON.parse(batchStr);\r\n }\r\n stream.advance(this.batchTableBinaryLength);\r\n\r\n if (stream.isPastTheEnd)\r\n this.invalidate();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"I3dmTileIO.js","sourceRoot":"","sources":["../../../src/tile/I3dmTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA+D;AAC/D,qCAAkD;AAElD;;GAEG;AACH,MAAa,UAAW,SAAQ,mBAAU;IASxC,IAAW,OAAO,KAAc,OAAO,mBAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzE,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAA,2BAAY,EAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBACV,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE5C,IAAI,MAAM,CAAC,YAAY;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CACF;AAjCD,gCAiCC","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 Tile\n */\n\nimport { ByteStream, utf8ToString } from \"@itwin/core-bentley\";\nimport { TileFormat, TileHeader } from \"./TileIO\";\n\n/** Header preceding tile content in [i3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Instanced3DModel) format.\n * @internal\n */\nexport class I3dmHeader extends TileHeader {\n public readonly length: number;\n public readonly featureTableJsonPosition: number;\n public readonly featureTableJsonLength: number;\n public readonly featureTableBinaryLength: number;\n public readonly batchTableJsonLength: number;\n public readonly batchTableBinaryLength: number;\n public readonly gltfVersion: number;\n public readonly batchTableJson: any;\n public get isValid(): boolean { return TileFormat.I3dm === this.format; }\n\n public constructor(stream: ByteStream) {\n super(stream);\n this.length = stream.readUint32();\n this.featureTableJsonLength = stream.readUint32();\n this.featureTableBinaryLength = stream.readUint32();\n this.batchTableJsonLength = stream.readUint32();\n this.batchTableBinaryLength = stream.readUint32();\n this.gltfVersion = stream.readUint32();\n this.featureTableJsonPosition = stream.curPos;\n stream.advance(this.featureTableJsonLength);\n stream.advance(this.featureTableBinaryLength);\n if (0 !== this.batchTableJsonLength) {\n const batchStrData = stream.nextBytes(this.batchTableJsonLength);\n const batchStr = utf8ToString(batchStrData);\n if (batchStr)\n this.batchTableJson = JSON.parse(batchStr);\n }\n stream.advance(this.batchTableBinaryLength);\n\n if (stream.isPastTheEnd)\n this.invalidate();\n }\n}\n"]}
@@ -26,7 +26,7 @@ var ImdlFlags;
26
26
  ImdlFlags[ImdlFlags["DisallowMagnification"] = 8] = "DisallowMagnification";
27
27
  /** The tile's feature table contains features from multiple models. */
28
28
  ImdlFlags[ImdlFlags["MultiModelFeatureTable"] = 16] = "MultiModelFeatureTable";
29
- })(ImdlFlags = exports.ImdlFlags || (exports.ImdlFlags = {}));
29
+ })(ImdlFlags || (exports.ImdlFlags = ImdlFlags = {}));
30
30
  /** Describes the maximum major and minor version of the iMdl tile format supported by this version of this package.
31
31
  * @internal
32
32
  */
@@ -43,7 +43,7 @@ var CurrentImdlVersion;
43
43
  CurrentImdlVersion[CurrentImdlVersion["Minor"] = 0] = "Minor";
44
44
  /** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */
45
45
  CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2162688] = "Combined";
46
- })(CurrentImdlVersion = exports.CurrentImdlVersion || (exports.CurrentImdlVersion = {}));
46
+ })(CurrentImdlVersion || (exports.CurrentImdlVersion = CurrentImdlVersion = {}));
47
47
  /** Header embedded at the beginning of binary tile data in iMdl format describing its contents.
48
48
  * @internal
49
49
  */
@@ -93,6 +93,6 @@ class FeatureTableHeader {
93
93
  this.count = count;
94
94
  }
95
95
  }
96
- FeatureTableHeader.sizeInBytes = 12;
97
96
  exports.FeatureTableHeader = FeatureTableHeader;
97
+ FeatureTableHeader.sizeInBytes = 12;
98
98
  //# sourceMappingURL=IModelTileIO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IModelTileIO.js","sourceRoot":"","sources":["../../../src/tile/IModelTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAyD;AACzD,wDAA+C;AAE/C,qCAA+E;AAE/E;;GAEG;AACH,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,uBAAuB;IACvB,yCAAQ,CAAA;IACR,6CAA6C;IAC7C,6DAAuB,CAAA;IACvB,wEAAwE;IACxE,qDAAmB,CAAA;IACnB,mEAAmE;IACnE,2EAA8B,CAAA;IAC9B,uEAAuE;IACvE,8EAA+B,CAAA;AACjC,CAAC,EAXW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAWpB;AAED;;GAEG;AACH,IAAY,kBAYX;AAZD,WAAY,kBAAkB;IAC5B;;;OAGG;IACH,8DAAU,CAAA;IACV;;OAEG;IACH,6DAAS,CAAA;IACT,kGAAkG;IAClG,yEAAkC,CAAA;AACpC,CAAC,EAZW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAY7B;AAED;;GAEG;AACH,MAAa,UAAW,SAAQ,mBAAU;IAkBxC,IAAW,YAAY,KAAa,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;IACnE,IAAW,YAAY,KAAa,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3E,IAAW,OAAO,KAAc,OAAO,mBAAU,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,IAAW,iBAAiB,KAAc,OAAO,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjG;;OAEG;IACH,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAO,EAAE,CAAC;QAClC,IAAA,oCAA2B,EAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAA,oCAA2B,EAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEtC,yDAAyD;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvE,uCAAuC;QACvC,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/D,IAAA,qBAAM,EAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAErC,IAAI,MAAM,CAAC,YAAY;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CACF;AApDD,gCAoDC;AAED;;GAEG;AACH,MAAa,kBAAkB;IAStB,MAAM,CAAC,QAAQ,CAAC,MAAkB;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9F,CAAC;IAID,YAAoB,MAAc,EAAE,gBAAwB,EAAE,KAAa;QACzE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;;AANa,8BAAW,GAAG,EAAE,CAAC;AAhBpB,gDAAkB","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 Tile\r\n */\r\n\r\nimport { assert, ByteStream } from \"@itwin/core-bentley\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { ElementAlignedBox3d } from \"../geometry/Placement\";\r\nimport { nextPoint3d64FromByteStream, TileFormat, TileHeader } from \"./TileIO\";\r\n\r\n/** Flags describing the geometry contained within a tile in iMdl format.\r\n * @internal\r\n */\r\nexport enum ImdlFlags {\r\n /** No special flags */\r\n None = 0,\r\n /** The tile contains some curved geometry */\r\n ContainsCurves = 1 << 0,\r\n /** Some geometry within the tile range was omitted based on its size */\r\n Incomplete = 1 << 2,\r\n /** The tile must be refined by sub-division, not magnification. */\r\n DisallowMagnification = 1 << 3,\r\n /** The tile's feature table contains features from multiple models. */\r\n MultiModelFeatureTable = 1 << 4,\r\n}\r\n\r\n/** Describes the maximum major and minor version of the iMdl tile format supported by this version of this package.\r\n * @internal\r\n */\r\nexport enum CurrentImdlVersion {\r\n /** The unsigned 16-bit major version number. If the major version specified in the tile header is greater than this value, then this\r\n * front-end is not capable of reading the tile content. Otherwise, this front-end can read the tile content even if the header specifies a\r\n * greater minor version than CurrentVersion.Minor, although some data may be skipped.\r\n */\r\n Major = 33,\r\n /** The unsigned 16-bit minor version number. If the major version in the tile header is equal to CurrentVersion.Major, then this package can\r\n * read the tile content even if the minor version in the tile header is greater than this value, although some data may be skipped.\r\n */\r\n Minor = 0,\r\n /** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */\r\n Combined = (Major << 0x10) | Minor,\r\n}\r\n\r\n/** Header embedded at the beginning of binary tile data in iMdl format describing its contents.\r\n * @internal\r\n */\r\nexport class ImdlHeader extends TileHeader {\r\n /** The size of this header in bytes. */\r\n public readonly headerLength: number;\r\n /** Flags describing the geometry contained within the tile */\r\n public readonly flags: ImdlFlags;\r\n /** A bounding box no larger than the tile's range, tightly enclosing the tile's geometry; or a null range if the tile is empty */\r\n public readonly contentRange: ElementAlignedBox3d;\r\n /** The chord tolerance in meters at which the tile's geometry was faceted */\r\n public readonly tolerance: number;\r\n /** The number of elements which contributed at least some geometry to the tile content */\r\n public readonly numElementsIncluded: number;\r\n /** The number of elements within the tile range which contributed no geometry to the tile content */\r\n public readonly numElementsExcluded: number;\r\n /** The total number of bytes in the binary tile data, including this header */\r\n public readonly tileLength: number;\r\n /** A bitfield wherein each set bit indicates an empty sub-volume. */\r\n public readonly emptySubRanges: number;\r\n\r\n public get versionMajor(): number { return this.version >>> 0x10; }\r\n public get versionMinor(): number { return (this.version & 0xffff) >>> 0; }\r\n\r\n public get isValid(): boolean { return TileFormat.IModel === this.format; }\r\n public get isReadableVersion(): boolean { return this.versionMajor <= CurrentImdlVersion.Major; }\r\n\r\n /** Deserialize a header from the binary data at the stream's current position.\r\n * If the binary data does not contain a valid header, the Header will be marked 'invalid'.\r\n */\r\n public constructor(stream: ByteStream) {\r\n super(stream);\r\n this.headerLength = stream.readUint32();\r\n this.flags = stream.readUint32();\r\n\r\n this.contentRange = new Range3d();\r\n nextPoint3d64FromByteStream(stream, this.contentRange.low);\r\n nextPoint3d64FromByteStream(stream, this.contentRange.high);\r\n\r\n this.tolerance = stream.readFloat64();\r\n this.numElementsIncluded = stream.readUint32();\r\n this.numElementsExcluded = stream.readUint32();\r\n this.tileLength = stream.readUint32();\r\n\r\n // empty sub-volume bit field introduced in format v02.00\r\n this.emptySubRanges = this.versionMajor >= 2 ? stream.readUint32() : 0;\r\n\r\n // Skip any unprocessed bytes in header\r\n const remainingHeaderBytes = this.headerLength - stream.curPos;\r\n assert(remainingHeaderBytes >= 0);\r\n stream.advance(remainingHeaderBytes);\r\n\r\n if (stream.isPastTheEnd)\r\n this.invalidate();\r\n }\r\n}\r\n\r\n/** Header preceding the feature table embedded in an iMdl tile's content.\r\n * @internal\r\n */\r\nexport class FeatureTableHeader {\r\n // The number of bytes the entire table occupies.\r\n public readonly length: number;\r\n // The number of subcategories in the table.\r\n // NOTE: This used to be \"max features\" which was useless and unused. It is only accurate if ImdlFlags.HasMultiModelFeatureTable is set.\r\n public readonly numSubCategories: number;\r\n // The number of features in the table.\r\n public readonly count: number;\r\n\r\n public static readFrom(stream: ByteStream) {\r\n const length = stream.readUint32();\r\n const maxFeatures = stream.readUint32();\r\n const count = stream.readUint32();\r\n return stream.isPastTheEnd ? undefined : new FeatureTableHeader(length, maxFeatures, count);\r\n }\r\n\r\n public static sizeInBytes = 12;\r\n\r\n private constructor(length: number, numSubCategories: number, count: number) {\r\n this.length = length;\r\n this.numSubCategories = numSubCategories;\r\n this.count = count;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"IModelTileIO.js","sourceRoot":"","sources":["../../../src/tile/IModelTileIO.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 Tile\n */\n\nimport { assert, ByteStream } from \"@itwin/core-bentley\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { ElementAlignedBox3d } from \"../geometry/Placement\";\nimport { nextPoint3d64FromByteStream, TileFormat, TileHeader } from \"./TileIO\";\n\n/** Flags describing the geometry contained within a tile in iMdl format.\n * @internal\n */\nexport enum ImdlFlags {\n /** No special flags */\n None = 0,\n /** The tile contains some curved geometry */\n ContainsCurves = 1 << 0,\n /** Some geometry within the tile range was omitted based on its size */\n Incomplete = 1 << 2,\n /** The tile must be refined by sub-division, not magnification. */\n DisallowMagnification = 1 << 3,\n /** The tile's feature table contains features from multiple models. */\n MultiModelFeatureTable = 1 << 4,\n}\n\n/** Describes the maximum major and minor version of the iMdl tile format supported by this version of this package.\n * @internal\n */\nexport enum CurrentImdlVersion {\n /** The unsigned 16-bit major version number. If the major version specified in the tile header is greater than this value, then this\n * front-end is not capable of reading the tile content. Otherwise, this front-end can read the tile content even if the header specifies a\n * greater minor version than CurrentVersion.Minor, although some data may be skipped.\n */\n Major = 33,\n /** The unsigned 16-bit minor version number. If the major version in the tile header is equal to CurrentVersion.Major, then this package can\n * read the tile content even if the minor version in the tile header is greater than this value, although some data may be skipped.\n */\n Minor = 0,\n /** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */\n Combined = (Major << 0x10) | Minor,\n}\n\n/** Header embedded at the beginning of binary tile data in iMdl format describing its contents.\n * @internal\n */\nexport class ImdlHeader extends TileHeader {\n /** The size of this header in bytes. */\n public readonly headerLength: number;\n /** Flags describing the geometry contained within the tile */\n public readonly flags: ImdlFlags;\n /** A bounding box no larger than the tile's range, tightly enclosing the tile's geometry; or a null range if the tile is empty */\n public readonly contentRange: ElementAlignedBox3d;\n /** The chord tolerance in meters at which the tile's geometry was faceted */\n public readonly tolerance: number;\n /** The number of elements which contributed at least some geometry to the tile content */\n public readonly numElementsIncluded: number;\n /** The number of elements within the tile range which contributed no geometry to the tile content */\n public readonly numElementsExcluded: number;\n /** The total number of bytes in the binary tile data, including this header */\n public readonly tileLength: number;\n /** A bitfield wherein each set bit indicates an empty sub-volume. */\n public readonly emptySubRanges: number;\n\n public get versionMajor(): number { return this.version >>> 0x10; }\n public get versionMinor(): number { return (this.version & 0xffff) >>> 0; }\n\n public get isValid(): boolean { return TileFormat.IModel === this.format; }\n public get isReadableVersion(): boolean { return this.versionMajor <= CurrentImdlVersion.Major; }\n\n /** Deserialize a header from the binary data at the stream's current position.\n * If the binary data does not contain a valid header, the Header will be marked 'invalid'.\n */\n public constructor(stream: ByteStream) {\n super(stream);\n this.headerLength = stream.readUint32();\n this.flags = stream.readUint32();\n\n this.contentRange = new Range3d();\n nextPoint3d64FromByteStream(stream, this.contentRange.low);\n nextPoint3d64FromByteStream(stream, this.contentRange.high);\n\n this.tolerance = stream.readFloat64();\n this.numElementsIncluded = stream.readUint32();\n this.numElementsExcluded = stream.readUint32();\n this.tileLength = stream.readUint32();\n\n // empty sub-volume bit field introduced in format v02.00\n this.emptySubRanges = this.versionMajor >= 2 ? stream.readUint32() : 0;\n\n // Skip any unprocessed bytes in header\n const remainingHeaderBytes = this.headerLength - stream.curPos;\n assert(remainingHeaderBytes >= 0);\n stream.advance(remainingHeaderBytes);\n\n if (stream.isPastTheEnd)\n this.invalidate();\n }\n}\n\n/** Header preceding the feature table embedded in an iMdl tile's content.\n * @internal\n */\nexport class FeatureTableHeader {\n // The number of bytes the entire table occupies.\n public readonly length: number;\n // The number of subcategories in the table.\n // NOTE: This used to be \"max features\" which was useless and unused. It is only accurate if ImdlFlags.HasMultiModelFeatureTable is set.\n public readonly numSubCategories: number;\n // The number of features in the table.\n public readonly count: number;\n\n public static readFrom(stream: ByteStream) {\n const length = stream.readUint32();\n const maxFeatures = stream.readUint32();\n const count = stream.readUint32();\n return stream.isPastTheEnd ? undefined : new FeatureTableHeader(length, maxFeatures, count);\n }\n\n public static sizeInBytes = 12;\n\n private constructor(length: number, numSubCategories: number, count: number) {\n this.length = length;\n this.numSubCategories = numSubCategories;\n this.count = count;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PntsTileIO.js","sourceRoot":"","sources":["../../../src/tile/PntsTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,qCAAkD;AAElD;;GAEG;AACH,MAAa,UAAW,SAAQ,mBAAU;IAMxC,IAAW,OAAO,KAAc,OAAO,mBAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzE,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpD,CAAC;CACF;AAhBD,gCAgBC","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 Tile\r\n */\r\n\r\nimport { ByteStream } from \"@itwin/core-bentley\";\r\nimport { TileFormat, TileHeader } from \"./TileIO\";\r\n\r\n/** Header preceding tile content in [pnts](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/PointCloud) format.\r\n * @internal\r\n */\r\nexport class PntsHeader extends TileHeader {\r\n public readonly length: number;\r\n public readonly featureTableJsonLength: number;\r\n public readonly featureTableBinaryLength: number;\r\n public readonly batchTableJsonLength: number;\r\n public readonly batchTableBinaryLength: number;\r\n public get isValid(): boolean { return TileFormat.Pnts === this.format; }\r\n\r\n public constructor(stream: ByteStream) {\r\n super(stream);\r\n this.length = stream.readUint32();\r\n this.featureTableJsonLength = stream.readUint32();\r\n this.featureTableBinaryLength = stream.readUint32();\r\n this.batchTableJsonLength = stream.readUint32();\r\n this.batchTableBinaryLength = stream.readUint32();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"PntsTileIO.js","sourceRoot":"","sources":["../../../src/tile/PntsTileIO.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,qCAAkD;AAElD;;GAEG;AACH,MAAa,UAAW,SAAQ,mBAAU;IAMxC,IAAW,OAAO,KAAc,OAAO,mBAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzE,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpD,CAAC;CACF;AAhBD,gCAgBC","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 Tile\n */\n\nimport { ByteStream } from \"@itwin/core-bentley\";\nimport { TileFormat, TileHeader } from \"./TileIO\";\n\n/** Header preceding tile content in [pnts](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/PointCloud) format.\n * @internal\n */\nexport class PntsHeader extends TileHeader {\n public readonly length: number;\n public readonly featureTableJsonLength: number;\n public readonly featureTableBinaryLength: number;\n public readonly batchTableJsonLength: number;\n public readonly batchTableBinaryLength: number;\n public get isValid(): boolean { return TileFormat.Pnts === this.format; }\n\n public constructor(stream: ByteStream) {\n super(stream);\n this.length = stream.readUint32();\n this.featureTableJsonLength = stream.readUint32();\n this.featureTableBinaryLength = stream.readUint32();\n this.batchTableJsonLength = stream.readUint32();\n this.batchTableBinaryLength = stream.readUint32();\n }\n}\n"]}
@@ -8,12 +8,12 @@ import { Point3d } from "@itwin/core-geometry";
8
8
  */
9
9
  export declare enum TileFormat {
10
10
  Unknown = 0,
11
- B3dm = 1835283298,
12
- Gltf = 1179937895,
13
- Pnts = 1937010288,
14
- IModel = 1818512745,
15
- Cmpt = 1953525091,
16
- I3dm = 1835283305,
11
+ B3dm = 1835283298,// "b3dm"
12
+ Gltf = 1179937895,// "glTF"
13
+ Pnts = 1937010288,// "pnts"
14
+ IModel = 1818512745,// "iMdl"
15
+ Cmpt = 1953525091,// cmpt
16
+ I3dm = 1835283305,// i3dm
17
17
  A3x = 5780289
18
18
  }
19
19
  /** Given a magic number, return whether it identifies a known tile format.
@@ -1 +1 @@
1
- {"version":3,"file":"TileIO.d.ts","sourceRoot":"","sources":["../../../src/tile/TileIO.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C;;GAEG;AACH,oBAAY,UAAU;IACpB,OAAO,IAAI;IACX,IAAI,aAAa;IACjB,IAAI,aAAa;IACjB,IAAI,aAAa;IACjB,MAAM,aAAa;IACnB,IAAI,aAAa;IACjB,IAAI,aAAa;IACjB,GAAG,UAAW;CACf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,WAc/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAGrE;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,OAAO,IAAI;IACX,eAAe,IAAA;IACf,aAAa,IAAA;IACb,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;IACnB,iBAAiB,IAAA;IACjB,QAAQ,IAAA;CACT;AAaD;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;gBAC1B,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM;IAO3D,IAAW,WAAW,IAAI,OAAO,CAAyD;CAC3F;AAED;;;;GAIG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,OAAO,CAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAEvB,6FAA6F;gBAC1E,MAAM,EAAE,UAAU;IAKrC,IAAW,MAAM,IAAI,UAAU,CAAyB;IAExD,uDAAuD;IACvD,aAAoB,OAAO,IAAI,OAAO,CAAC;IAEvC,mDAAmD;IACnD,SAAS,CAAC,UAAU,IAAI,IAAI;CAG7B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAUzF"}
1
+ {"version":3,"file":"TileIO.d.ts","sourceRoot":"","sources":["../../../src/tile/TileIO.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C;;GAEG;AACH,oBAAY,UAAU;IACpB,OAAO,IAAI;IACX,IAAI,aAAa,CAAE,SAAS;IAC5B,IAAI,aAAa,CAAE,SAAS;IAC5B,IAAI,aAAa,CAAG,SAAS;IAC7B,MAAM,aAAa,CAAE,SAAS;IAC9B,IAAI,aAAa,CAAG,OAAO;IAC3B,IAAI,aAAa,CAAG,OAAO;IAC3B,GAAG,UAAW;CACf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,WAc/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAGrE;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,OAAO,IAAI;IACX,eAAe,IAAA;IACf,aAAa,IAAA;IACb,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;IACnB,iBAAiB,IAAA;IACjB,QAAQ,IAAA;CACT;AAaD;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;gBAC1B,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM;IAO3D,IAAW,WAAW,IAAI,OAAO,CAAyD;CAC3F;AAED;;;;GAIG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,OAAO,CAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAEvB,6FAA6F;gBAC1E,MAAM,EAAE,UAAU;IAKrC,IAAW,MAAM,IAAI,UAAU,CAAyB;IAExD,uDAAuD;IACvD,aAAoB,OAAO,IAAI,OAAO,CAAC;IAEvC,mDAAmD;IACnD,SAAS,CAAC,UAAU,IAAI,IAAI;CAG7B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAUzF"}
@@ -23,7 +23,7 @@ var TileFormat;
23
23
  TileFormat[TileFormat["Cmpt"] = 1953525091] = "Cmpt";
24
24
  TileFormat[TileFormat["I3dm"] = 1835283305] = "I3dm";
25
25
  TileFormat[TileFormat["A3x"] = 5780289] = "A3x";
26
- })(TileFormat = exports.TileFormat || (exports.TileFormat = {}));
26
+ })(TileFormat || (exports.TileFormat = TileFormat = {}));
27
27
  /** Given a magic number, return whether it identifies a known tile format.
28
28
  * @internal
29
29
  */
@@ -64,7 +64,7 @@ var TileReadStatus;
64
64
  TileReadStatus[TileReadStatus["InvalidFeatureTable"] = 5] = "InvalidFeatureTable";
65
65
  TileReadStatus[TileReadStatus["NewerMajorVersion"] = 6] = "NewerMajorVersion";
66
66
  TileReadStatus[TileReadStatus["Canceled"] = 7] = "Canceled";
67
- })(TileReadStatus = exports.TileReadStatus || (exports.TileReadStatus = {}));
67
+ })(TileReadStatus || (exports.TileReadStatus = TileReadStatus = {}));
68
68
  const readStatusMessages = [
69
69
  "Success",
70
70
  "Invalid tile data",
@@ -1 +1 @@
1
- {"version":3,"file":"TileIO.js","sourceRoot":"","sources":["../../../src/tile/TileIO.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 Tile\r\n */\r\n\r\nimport { BentleyError, ByteStream } from \"@itwin/core-bentley\";\r\nimport { Point3d } from \"@itwin/core-geometry\";\r\n\r\n/** Type codes for various tile formats. Often these are embedded as 32-bit 'magic numbers' in a binary stream to indicate the format.\r\n * @internal\r\n */\r\nexport enum TileFormat {\r\n Unknown = 0,\r\n B3dm = 0x6d643362, // \"b3dm\"\r\n Gltf = 0x46546c67, // \"glTF\"\r\n Pnts = 0x73746e70, // \"pnts\"\r\n IModel = 0x6c644d69, // \"iMdl\"\r\n Cmpt = 0x74706d63, // cmpt\r\n I3dm = 0x6d643369, // i3dm\r\n A3x = 0x583341, // A3X0 (numeric 0 not char '0')\r\n}\r\n\r\n/** Given a magic number, return whether it identifies a known tile format.\r\n * @internal\r\n */\r\nexport function isKnownTileFormat(format: number) {\r\n switch (format) {\r\n case TileFormat.Unknown:\r\n case TileFormat.B3dm:\r\n case TileFormat.Gltf:\r\n case TileFormat.IModel:\r\n case TileFormat.Pnts:\r\n case TileFormat.Cmpt:\r\n case TileFormat.I3dm:\r\n case TileFormat.A3x:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n}\r\n\r\n/** Given a magic number, attempt to convert it to a known TileFormat.\r\n * @internal\r\n */\r\nexport function tileFormatFromNumber(formatNumber: number): TileFormat {\r\n const format = formatNumber as TileFormat;\r\n return isKnownTileFormat(format) ? format : TileFormat.Unknown;\r\n}\r\n\r\n/** Status codes for tile reading operations\r\n * @internal\r\n */\r\nexport enum TileReadStatus {\r\n Success = 0,\r\n InvalidTileData,\r\n InvalidHeader,\r\n InvalidBatchTable,\r\n InvalidScene,\r\n InvalidFeatureTable,\r\n NewerMajorVersion,\r\n Canceled,\r\n}\r\n\r\nconst readStatusMessages = [\r\n \"Success\",\r\n \"Invalid tile data\",\r\n \"Invalid tile header\",\r\n \"Invalid batch table\",\r\n \"Invalid scene\",\r\n \"Invalid feature table\",\r\n \"Major version too new\",\r\n \"Canceled\",\r\n];\r\n\r\n/** Exception thrown by functions that deserialize tiles.\r\n * @internal\r\n */\r\nexport class TileReadError extends BentleyError {\r\n public constructor(status: TileReadStatus, message?: string) {\r\n if (undefined === message)\r\n message = readStatusMessages[status];\r\n\r\n super(status, message);\r\n }\r\n\r\n public get wasCanceled(): boolean { return TileReadStatus.Canceled === this.errorNumber; }\r\n}\r\n\r\n/** The base header preceding tile data of most formats, identifying the tile format and version of that format.\r\n * Specific tile formats may define their own headers as sub-types of this Header, appending\r\n * additional format-specific data.\r\n * @internal\r\n */\r\nexport abstract class TileHeader {\r\n private _format: TileFormat;\r\n public version: number;\r\n\r\n /** Construct a Header from the binary data at the supplied stream's current read position */\r\n public constructor(stream: ByteStream) {\r\n this._format = tileFormatFromNumber(stream.readUint32());\r\n this.version = stream.readUint32();\r\n }\r\n\r\n public get format(): TileFormat { return this._format; }\r\n\r\n /** Returns whether the header represents valid data */\r\n public abstract get isValid(): boolean;\r\n\r\n /** Mark the header as representing invalid data */\r\n protected invalidate(): void {\r\n this._format = TileFormat.Unknown;\r\n }\r\n}\r\n\r\n/** Read 3 64-bit floating point numbers at the byte stream's current read position, advance by 24 bytes, and return a Point3d constructed from the 3 numbers.\r\n * @internal\r\n */\r\nexport function nextPoint3d64FromByteStream(stream: ByteStream, result?: Point3d): Point3d {\r\n const x = stream.readFloat64(),\r\n y = stream.readFloat64(),\r\n z = stream.readFloat64();\r\n\r\n if (undefined === result)\r\n return new Point3d(x, y, z);\r\n\r\n result.set(x, y, z);\r\n return result;\r\n}\r\n"]}
1
+ {"version":3,"file":"TileIO.js","sourceRoot":"","sources":["../../../src/tile/TileIO.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 Tile\n */\n\nimport { BentleyError, ByteStream } from \"@itwin/core-bentley\";\nimport { Point3d } from \"@itwin/core-geometry\";\n\n/** Type codes for various tile formats. Often these are embedded as 32-bit 'magic numbers' in a binary stream to indicate the format.\n * @internal\n */\nexport enum TileFormat {\n Unknown = 0,\n B3dm = 0x6d643362, // \"b3dm\"\n Gltf = 0x46546c67, // \"glTF\"\n Pnts = 0x73746e70, // \"pnts\"\n IModel = 0x6c644d69, // \"iMdl\"\n Cmpt = 0x74706d63, // cmpt\n I3dm = 0x6d643369, // i3dm\n A3x = 0x583341, // A3X0 (numeric 0 not char '0')\n}\n\n/** Given a magic number, return whether it identifies a known tile format.\n * @internal\n */\nexport function isKnownTileFormat(format: number) {\n switch (format) {\n case TileFormat.Unknown:\n case TileFormat.B3dm:\n case TileFormat.Gltf:\n case TileFormat.IModel:\n case TileFormat.Pnts:\n case TileFormat.Cmpt:\n case TileFormat.I3dm:\n case TileFormat.A3x:\n return true;\n default:\n return false;\n }\n}\n\n/** Given a magic number, attempt to convert it to a known TileFormat.\n * @internal\n */\nexport function tileFormatFromNumber(formatNumber: number): TileFormat {\n const format = formatNumber as TileFormat;\n return isKnownTileFormat(format) ? format : TileFormat.Unknown;\n}\n\n/** Status codes for tile reading operations\n * @internal\n */\nexport enum TileReadStatus {\n Success = 0,\n InvalidTileData,\n InvalidHeader,\n InvalidBatchTable,\n InvalidScene,\n InvalidFeatureTable,\n NewerMajorVersion,\n Canceled,\n}\n\nconst readStatusMessages = [\n \"Success\",\n \"Invalid tile data\",\n \"Invalid tile header\",\n \"Invalid batch table\",\n \"Invalid scene\",\n \"Invalid feature table\",\n \"Major version too new\",\n \"Canceled\",\n];\n\n/** Exception thrown by functions that deserialize tiles.\n * @internal\n */\nexport class TileReadError extends BentleyError {\n public constructor(status: TileReadStatus, message?: string) {\n if (undefined === message)\n message = readStatusMessages[status];\n\n super(status, message);\n }\n\n public get wasCanceled(): boolean { return TileReadStatus.Canceled === this.errorNumber; }\n}\n\n/** The base header preceding tile data of most formats, identifying the tile format and version of that format.\n * Specific tile formats may define their own headers as sub-types of this Header, appending\n * additional format-specific data.\n * @internal\n */\nexport abstract class TileHeader {\n private _format: TileFormat;\n public version: number;\n\n /** Construct a Header from the binary data at the supplied stream's current read position */\n public constructor(stream: ByteStream) {\n this._format = tileFormatFromNumber(stream.readUint32());\n this.version = stream.readUint32();\n }\n\n public get format(): TileFormat { return this._format; }\n\n /** Returns whether the header represents valid data */\n public abstract get isValid(): boolean;\n\n /** Mark the header as representing invalid data */\n protected invalidate(): void {\n this._format = TileFormat.Unknown;\n }\n}\n\n/** Read 3 64-bit floating point numbers at the byte stream's current read position, advance by 24 bytes, and return a Point3d constructed from the 3 numbers.\n * @internal\n */\nexport function nextPoint3d64FromByteStream(stream: ByteStream, result?: Point3d): Point3d {\n const x = stream.readFloat64(),\n y = stream.readFloat64(),\n z = stream.readFloat64();\n\n if (undefined === result)\n return new Point3d(x, y, z);\n\n result.set(x, y, z);\n return result;\n}\n"]}
@@ -87,9 +87,9 @@ export declare function getMaximumMajorTileFormatVersion(maxMajorVersion: number
87
87
  */
88
88
  export declare enum TreeFlags {
89
89
  None = 0,
90
- UseProjectExtents = 1,
91
- EnforceDisplayPriority = 2,
92
- OptimizeBRepProcessing = 4,
90
+ UseProjectExtents = 1,// Use project extents as the basis of the tile tree's range.
91
+ EnforceDisplayPriority = 2,// For 3d plan projection models, group graphics into layers based on subcategory.
92
+ OptimizeBRepProcessing = 4,// Use an optimized pipeline for producing facets from BRep entities.
93
93
  UseLargerTiles = 8
94
94
  }
95
95
  /** Describes a tile tree used to draw the contents of a model, possibly with embedded animation.
@@ -1 +1 @@
1
- {"version":3,"file":"TileMetadata.d.ts","sourceRoot":"","sources":["../../../src/tile/TileMetadata.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EACG,UAAU,EAAgH,UAAU,EAC7I,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAY,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAWzC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,oIAAoI;IACpI,MAAM,EAAE,OAAO,CAAC;CACjB;AAmBD,gBAAgB;AAChB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,8BAA8B,EAAE,OAAO,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,gBAAgB;AAChB,yBAAiB,WAAW,CAAC;IAC3B;;;;;OAKG;IACH,SAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAkBrF;CACF;AAQD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC;CACtB;AA+JD,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,4BAA4B,CAG3G;AAED,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,EAAE,WAe/B,CAAC;AAgFH,gBAAgB;AAChB,wBAAgB,gCAAgC,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBxG;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,IAAI,IAAI;IACR,iBAAiB,IAAS;IAC1B,sBAAsB,IAAS;IAC/B,sBAAsB,IAAS;IAC/B,cAAc,IAAS;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;IACxB,oDAAoD;IACpD,KAAK,EAAE,WAAW,GAAG,KAAK,CAAC;IAC3B,iJAAiJ;IACjJ,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAExE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAoCpH;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAsB7F;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,IAAI,IAAI;IACR,eAAe,IAAS;IACxB,eAAe,IAAS;IACxB,kBAAkB,IAAS;IAC3B,gBAAgB,IAAS;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,8BAAsB,iBAAiB;IACrC,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAC3C,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,SAAS,aAAa,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;IAKvE,IAAW,aAAa,IAAI,MAAM,CAEjC;IAEM,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAMvE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa;IAarC,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAI9C,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAKpF,SAAS,CAAC,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAElG;;;OAGG;WACW,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,iBAAiB;CAehH;AAgED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAS1E;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAO1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAwB9H;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,GAAG;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA4E9J;AAED,gBAAgB;AAChB,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,GAAG,sBAAsB,CAE3L;AAED,gBAAgB;AAChB,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,gBAAgB;AAChB,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,gCAAgC,GAAG,sBAAsB,CA4D3G;AAID;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAS3G;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;gBAEpB,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW;IAMvE;;OAEG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,GAAG,YAAY;CAkBhE"}
1
+ {"version":3,"file":"TileMetadata.d.ts","sourceRoot":"","sources":["../../../src/tile/TileMetadata.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ var TileOptions;
60
60
  };
61
61
  }
62
62
  TileOptions.fromTreeIdAndContentId = fromTreeIdAndContentId;
63
- })(TileOptions = exports.TileOptions || (exports.TileOptions = {}));
63
+ })(TileOptions || (exports.TileOptions = TileOptions = {}));
64
64
  class Parser {
65
65
  constructor(input) {
66
66
  this.curPos = 0;
@@ -296,7 +296,7 @@ var TreeFlags;
296
296
  TreeFlags[TreeFlags["EnforceDisplayPriority"] = 2] = "EnforceDisplayPriority";
297
297
  TreeFlags[TreeFlags["OptimizeBRepProcessing"] = 4] = "OptimizeBRepProcessing";
298
298
  TreeFlags[TreeFlags["UseLargerTiles"] = 8] = "UseLargerTiles";
299
- })(TreeFlags = exports.TreeFlags || (exports.TreeFlags = {}));
299
+ })(TreeFlags || (exports.TreeFlags = TreeFlags = {}));
300
300
  function animationIdToString(animationId) {
301
301
  return `A:${animationId}_`;
302
302
  }
@@ -370,7 +370,7 @@ var ContentFlags;
370
370
  ContentFlags[ContentFlags["ImprovedElision"] = 2] = "ImprovedElision";
371
371
  ContentFlags[ContentFlags["IgnoreAreaPatterns"] = 4] = "IgnoreAreaPatterns";
372
372
  ContentFlags[ContentFlags["ExternalTextures"] = 8] = "ExternalTextures";
373
- })(ContentFlags = exports.ContentFlags || (exports.ContentFlags = {}));
373
+ })(ContentFlags || (exports.ContentFlags = ContentFlags = {}));
374
374
  /** Contains logic for working with tile content Ids according to a specific content Id scheme. Which scheme is used depends on
375
375
  * the major version of the tile format.
376
376
  * @internal