@itwin/core-frontend 5.1.1 → 5.1.3-experimental.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (884) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/lib/cjs/AccuDraw.js.map +1 -1
  3. package/lib/cjs/AccuSnap.js.map +1 -1
  4. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  5. package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
  6. package/lib/cjs/AuxCoordSys.js.map +1 -1
  7. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  8. package/lib/cjs/BingLocation.js.map +1 -1
  9. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  10. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  11. package/lib/cjs/CatalogConnection.js.map +1 -1
  12. package/lib/cjs/CategorySelectorState.js.map +1 -1
  13. package/lib/cjs/ChangeFlags.js.map +1 -1
  14. package/lib/cjs/CheckpointConnection.js.map +1 -1
  15. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  16. package/lib/cjs/CoordSystem.js.map +1 -1
  17. package/lib/cjs/DecorationsCache.js.map +1 -1
  18. package/lib/cjs/DevTools.js.map +1 -1
  19. package/lib/cjs/DisplayStyleState.js.map +1 -1
  20. package/lib/cjs/DrawingViewState.js.map +1 -1
  21. package/lib/cjs/ElementLocateManager.js.map +1 -1
  22. package/lib/cjs/EmphasizeElements.js.map +1 -1
  23. package/lib/cjs/EntityState.js.map +1 -1
  24. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  25. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  26. package/lib/cjs/FlashSettings.js.map +1 -1
  27. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  28. package/lib/cjs/Frustum2d.js.map +1 -1
  29. package/lib/cjs/FrustumAnimator.js.map +1 -1
  30. package/lib/cjs/FuzzySearch.js.map +1 -1
  31. package/lib/cjs/GeoServices.js.map +1 -1
  32. package/lib/cjs/GlobeAnimator.js.map +1 -1
  33. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  34. package/lib/cjs/HitDetail.js.map +1 -1
  35. package/lib/cjs/IModelApp.js.map +1 -1
  36. package/lib/cjs/IModelConnection.js.map +1 -1
  37. package/lib/cjs/IModelRoutingContext.js.map +1 -1
  38. package/lib/cjs/IModeljs-css.js.map +1 -1
  39. package/lib/cjs/IpcApp.js.map +1 -1
  40. package/lib/cjs/LinePlaneIntersect.js.map +1 -1
  41. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  42. package/lib/cjs/MarginPercent.js.map +1 -1
  43. package/lib/cjs/Marker.js.map +1 -1
  44. package/lib/cjs/ModelSelectorState.js.map +1 -1
  45. package/lib/cjs/ModelState.js.map +1 -1
  46. package/lib/cjs/NativeApp.js.map +1 -1
  47. package/lib/cjs/NativeAppLogger.js.map +1 -1
  48. package/lib/cjs/NoRenderApp.js.map +1 -1
  49. package/lib/cjs/NotificationManager.js.map +1 -1
  50. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  51. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  52. package/lib/cjs/RealityDataSource.js.map +1 -1
  53. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  54. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  55. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  56. package/lib/cjs/SelectionSet.js.map +1 -1
  57. package/lib/cjs/SheetViewState.js.map +1 -1
  58. package/lib/cjs/SpatialClassifiersState.js.map +1 -1
  59. package/lib/cjs/SpatialViewState.js.map +1 -1
  60. package/lib/cjs/Sprites.js.map +1 -1
  61. package/lib/cjs/StandardView.js.map +1 -1
  62. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  63. package/lib/cjs/TentativePoint.js.map +1 -1
  64. package/lib/cjs/Tiles.js.map +1 -1
  65. package/lib/cjs/TxnEntityChanges.js.map +1 -1
  66. package/lib/cjs/UserPreferences.js.map +1 -1
  67. package/lib/cjs/ViewAnimation.js.map +1 -1
  68. package/lib/cjs/ViewContext.js.map +1 -1
  69. package/lib/cjs/ViewCreator2d.js.map +1 -1
  70. package/lib/cjs/ViewCreator3d.js.map +1 -1
  71. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  72. package/lib/cjs/ViewManager.js.map +1 -1
  73. package/lib/cjs/ViewPose.js.map +1 -1
  74. package/lib/cjs/ViewState.js.map +1 -1
  75. package/lib/cjs/ViewStatus.js.map +1 -1
  76. package/lib/cjs/ViewingSpace.js.map +1 -1
  77. package/lib/cjs/Viewport.js.map +1 -1
  78. package/lib/cjs/ViewportSync.js.map +1 -1
  79. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
  80. package/lib/cjs/common/ImageUtil.js.map +1 -1
  81. package/lib/cjs/common/ViewRect.js.map +1 -1
  82. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  83. package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
  84. package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
  85. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  86. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
  87. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  88. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
  89. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  90. package/lib/cjs/common/internal/Symbols.js.map +1 -1
  91. package/lib/cjs/common/internal/render/AnimationNodeId.js.map +1 -1
  92. package/lib/cjs/common/internal/render/AuxChannelTable.js.map +1 -1
  93. package/lib/cjs/common/internal/render/ColorMap.js.map +1 -1
  94. package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -1
  95. package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
  96. package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
  97. package/lib/cjs/common/internal/render/GeometryList.js.map +1 -1
  98. package/lib/cjs/common/internal/render/GeometryPrimitives.js.map +1 -1
  99. package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  100. package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  101. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  102. package/lib/cjs/common/internal/render/LineCode.js.map +1 -1
  103. package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
  104. package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -1
  105. package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
  106. package/lib/cjs/common/internal/render/MeshPrimitive.js.map +1 -1
  107. package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
  108. package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -1
  109. package/lib/cjs/common/internal/render/PointCloudPrimitive.js.map +1 -1
  110. package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -1
  111. package/lib/cjs/common/internal/render/Polyface.js.map +1 -1
  112. package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
  113. package/lib/cjs/common/internal/render/Primitives.js.map +1 -1
  114. package/lib/cjs/common/internal/render/Strokes.js.map +1 -1
  115. package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -1
  116. package/lib/cjs/common/internal/render/VertexIndices.js.map +1 -1
  117. package/lib/cjs/common/internal/render/VertexKey.js.map +1 -1
  118. package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
  119. package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
  120. package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
  121. package/lib/cjs/common/render/BatchOptions.js.map +1 -1
  122. package/lib/cjs/common/render/GraphicAssembler.js.map +1 -1
  123. package/lib/cjs/common/render/GraphicDescriptionBuilder.js.map +1 -1
  124. package/lib/cjs/common/render/GraphicDescriptionContext.js.map +1 -1
  125. package/lib/cjs/common/render/GraphicPrimitive.js.map +1 -1
  126. package/lib/cjs/common/render/GraphicType.js.map +1 -1
  127. package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
  128. package/lib/cjs/common/render/MaterialParams.js.map +1 -1
  129. package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -1
  130. package/lib/cjs/common/render/TextureParams.js.map +1 -1
  131. package/lib/cjs/common.js.map +1 -1
  132. package/lib/cjs/core-frontend.js.map +1 -1
  133. package/lib/cjs/extension/Extension.js.map +1 -1
  134. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  135. package/lib/cjs/extension/ExtensionHost.js.map +1 -1
  136. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  137. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  138. package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
  139. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  140. package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
  141. package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  142. package/lib/cjs/internal/ScriptUtils.js.map +1 -1
  143. package/lib/cjs/internal/cross-package.js.map +1 -1
  144. package/lib/cjs/internal/render/AnimationBranchState.js.map +1 -1
  145. package/lib/cjs/internal/render/FrameStatsCollector.js.map +1 -1
  146. package/lib/cjs/internal/render/GraphicBranchFrustum.js.map +1 -1
  147. package/lib/cjs/internal/render/GraphicTemplateImpl.js.map +1 -1
  148. package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  149. package/lib/cjs/internal/render/MockRender.js.map +1 -1
  150. package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
  151. package/lib/cjs/internal/render/QueryVisibileFeatures.js.map +1 -1
  152. package/lib/cjs/internal/render/RenderAreaPattern.js.map +1 -1
  153. package/lib/cjs/internal/render/RenderGeometry.js.map +1 -1
  154. package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  155. package/lib/cjs/internal/render/RenderMaterialSource.js.map +1 -1
  156. package/lib/cjs/internal/render/RenderPlan.js.map +1 -1
  157. package/lib/cjs/internal/render/RenderPlanarClassifier.js.map +1 -1
  158. package/lib/cjs/internal/render/RenderSkyBoxParams.js.map +1 -1
  159. package/lib/cjs/internal/render/RenderSystemDebugControl.js.map +1 -1
  160. package/lib/cjs/internal/render/RenderTargetDebugControl.js.map +1 -1
  161. package/lib/cjs/internal/render/RenderTerrain.js.map +1 -1
  162. package/lib/cjs/internal/render/RenderTextureDrape.js.map +1 -1
  163. package/lib/cjs/internal/render/SceneVolumeClassifier.js.map +1 -1
  164. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  165. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  166. package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
  167. package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
  168. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
  169. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  170. package/lib/cjs/internal/render/webgl/BatchState.js.map +1 -1
  171. package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
  172. package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
  173. package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
  174. package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
  175. package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
  176. package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
  177. package/lib/cjs/internal/render/webgl/ClipVolume.js.map +1 -1
  178. package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
  179. package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
  180. package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
  181. package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
  182. package/lib/cjs/internal/render/webgl/Diagnostics.js.map +1 -1
  183. package/lib/cjs/internal/render/webgl/Disposable.js.map +1 -1
  184. package/lib/cjs/internal/render/webgl/DrawCommand.js.map +1 -1
  185. package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
  186. package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
  187. package/lib/cjs/internal/render/webgl/EdgeSettings.js.map +1 -1
  188. package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
  189. package/lib/cjs/internal/render/webgl/FloatRGBA.js.map +1 -1
  190. package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
  191. package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
  192. package/lib/cjs/internal/render/webgl/GL.js.map +1 -1
  193. package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
  194. package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
  195. package/lib/cjs/internal/render/webgl/HiliteUniforms.js.map +1 -1
  196. package/lib/cjs/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  197. package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  198. package/lib/cjs/internal/render/webgl/InstancedGeometry.js.map +1 -1
  199. package/lib/cjs/internal/render/webgl/Layer.js.map +1 -1
  200. package/lib/cjs/internal/render/webgl/LayerCommands.js.map +1 -1
  201. package/lib/cjs/internal/render/webgl/LightingUniforms.js.map +1 -1
  202. package/lib/cjs/internal/render/webgl/LineCode.js.map +1 -1
  203. package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
  204. package/lib/cjs/internal/render/webgl/Material.js.map +1 -1
  205. package/lib/cjs/internal/render/webgl/Matrix.js.map +1 -1
  206. package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
  207. package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
  208. package/lib/cjs/internal/render/webgl/MeshGeometry.js.map +1 -1
  209. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  210. package/lib/cjs/internal/render/webgl/PlanarClassifier.js +1 -1
  211. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  212. package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
  213. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  214. package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
  215. package/lib/cjs/internal/render/webgl/PointString.js.map +1 -1
  216. package/lib/cjs/internal/render/webgl/Polyline.js.map +1 -1
  217. package/lib/cjs/internal/render/webgl/Primitive.js.map +1 -1
  218. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  219. package/lib/cjs/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  220. package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
  221. package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
  222. package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
  223. package/lib/cjs/internal/render/webgl/RenderState.js.map +1 -1
  224. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  225. package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  226. package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  227. package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
  228. package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
  229. package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
  230. package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
  231. package/lib/cjs/internal/render/webgl/StyleUniforms.js.map +1 -1
  232. package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  233. package/lib/cjs/internal/render/webgl/Sync.js.map +1 -1
  234. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  235. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  236. package/lib/cjs/internal/render/webgl/TargetGraphics.js.map +1 -1
  237. package/lib/cjs/internal/render/webgl/TargetUniforms.js.map +1 -1
  238. package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
  239. package/lib/cjs/internal/render/webgl/TechniqueFlags.js.map +1 -1
  240. package/lib/cjs/internal/render/webgl/TechniqueId.js.map +1 -1
  241. package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
  242. package/lib/cjs/internal/render/webgl/TextureDrape.js.map +1 -1
  243. package/lib/cjs/internal/render/webgl/ThematicSensors.js.map +1 -1
  244. package/lib/cjs/internal/render/webgl/ThematicUniforms.js.map +1 -1
  245. package/lib/cjs/internal/render/webgl/UniformHandle.js.map +1 -1
  246. package/lib/cjs/internal/render/webgl/VertexLUT.js.map +1 -1
  247. package/lib/cjs/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  248. package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  249. package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  250. package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
  251. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  252. package/lib/cjs/internal/render/webgl/glsl/Blur.js.map +1 -1
  253. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  254. package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  255. package/lib/cjs/internal/render/webgl/glsl/Clipping.js.map +1 -1
  256. package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
  257. package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  258. package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  259. package/lib/cjs/internal/render/webgl/glsl/Common.js.map +1 -1
  260. package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
  261. package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
  262. package/lib/cjs/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  263. package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  264. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  265. package/lib/cjs/internal/render/webgl/glsl/Decode.js.map +1 -1
  266. package/lib/cjs/internal/render/webgl/glsl/EDL.js.map +1 -1
  267. package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  268. package/lib/cjs/internal/render/webgl/glsl/Edge.js.map +1 -1
  269. package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  270. package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
  271. package/lib/cjs/internal/render/webgl/glsl/Instancing.js.map +1 -1
  272. package/lib/cjs/internal/render/webgl/glsl/Lighting.js.map +1 -1
  273. package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  274. package/lib/cjs/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  275. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  276. package/lib/cjs/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  277. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  278. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  279. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  280. package/lib/cjs/internal/render/webgl/glsl/PointString.js.map +1 -1
  281. package/lib/cjs/internal/render/webgl/glsl/Polyline.js.map +1 -1
  282. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  283. package/lib/cjs/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  284. package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  285. package/lib/cjs/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  286. package/lib/cjs/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  287. package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  288. package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
  289. package/lib/cjs/internal/render/webgl/glsl/Thematic.js.map +1 -1
  290. package/lib/cjs/internal/render/webgl/glsl/Translucency.js.map +1 -1
  291. package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
  292. package/lib/cjs/internal/render/webgl/glsl/Viewport.js.map +1 -1
  293. package/lib/cjs/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  294. package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  295. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
  296. package/lib/cjs/internal/tile/BatchedTileIdMap.js.map +1 -1
  297. package/lib/cjs/internal/tile/CesiumAssetProvider.js.map +1 -1
  298. package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
  299. package/lib/cjs/internal/tile/ContextShareProvider.js.map +1 -1
  300. package/lib/cjs/internal/tile/DynamicIModelTile.js +1 -0
  301. package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
  302. package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
  303. package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -1
  304. package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
  305. package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
  306. package/lib/cjs/internal/tile/IModelTileRequestChannels.js.map +1 -1
  307. package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
  308. package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -1
  309. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  310. package/lib/cjs/internal/tile/ImdlParser.js.map +1 -1
  311. package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
  312. package/lib/cjs/internal/tile/LayerTileTreeHandler.js.map +1 -1
  313. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  314. package/lib/cjs/internal/tile/MeshoptCompression.js.map +1 -1
  315. package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
  316. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  317. package/lib/cjs/internal/tile/PntsReader.js.map +1 -1
  318. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  319. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  320. package/lib/cjs/internal/tile/RealityTileDrawArgs.js.map +1 -1
  321. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  322. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  323. package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
  324. package/lib/cjs/internal/tile/ViewFlagOverrides.js.map +1 -1
  325. package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
  326. package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
  327. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  328. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  329. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  330. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  331. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  332. package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  333. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  334. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  335. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  336. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  337. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  338. package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  339. package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  340. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  341. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  342. package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
  343. package/lib/cjs/internal/tile/map/MapTileLoader.js.map +1 -1
  344. package/lib/cjs/internal/tile/map/UrlUtils.js.map +1 -1
  345. package/lib/cjs/internal/tile/map/WmsCapabilities.js.map +1 -1
  346. package/lib/cjs/internal/tile/map/WmsUtilities.js.map +1 -1
  347. package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
  348. package/lib/cjs/internal/webgl.js.map +1 -1
  349. package/lib/cjs/properties/AngleDescription.js.map +1 -1
  350. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  351. package/lib/cjs/properties/LengthDescription.js.map +1 -1
  352. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  353. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  354. package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  355. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  356. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  357. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
  358. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  359. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
  360. package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
  361. package/lib/cjs/render/Decorations.js.map +1 -1
  362. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  363. package/lib/cjs/render/FrameStats.js.map +1 -1
  364. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  365. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  366. package/lib/cjs/render/GraphicTemplate.js.map +1 -1
  367. package/lib/cjs/render/MeshArgs.js.map +1 -1
  368. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  369. package/lib/cjs/render/Pixel.js.map +1 -1
  370. package/lib/cjs/render/PolylineArgs.js.map +1 -1
  371. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  372. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  373. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  374. package/lib/cjs/render/RenderMemory.js.map +1 -1
  375. package/lib/cjs/render/RenderSystem.js.map +1 -1
  376. package/lib/cjs/render/RenderTarget.js.map +1 -1
  377. package/lib/cjs/render/Scene.js.map +1 -1
  378. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  379. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  380. package/lib/cjs/request/Request.js.map +1 -1
  381. package/lib/cjs/request/utils.js.map +1 -1
  382. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  383. package/lib/cjs/tile/GltfReader.js.map +1 -1
  384. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  385. package/lib/cjs/tile/RealityTile.js.map +1 -1
  386. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  387. package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -1
  388. package/lib/cjs/tile/Tile.js.map +1 -1
  389. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  390. package/lib/cjs/tile/TileContent.js.map +1 -1
  391. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  392. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  393. package/lib/cjs/tile/TileParams.js.map +1 -1
  394. package/lib/cjs/tile/TileRequest.js.map +1 -1
  395. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  396. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  397. package/lib/cjs/tile/TileStorage.js.map +1 -1
  398. package/lib/cjs/tile/TileTree.js.map +1 -1
  399. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  400. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  401. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  402. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  403. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  404. package/lib/cjs/tile/TileUser.js.map +1 -1
  405. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  406. package/lib/cjs/tile/internal.js.map +1 -1
  407. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  408. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  409. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  410. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  411. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  412. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  413. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
  414. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  415. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  416. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  417. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  418. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  419. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  420. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  421. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  422. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  423. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  424. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  425. package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
  426. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  427. package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
  428. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  429. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  430. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  431. package/lib/cjs/tools/EventController.js.map +1 -1
  432. package/lib/cjs/tools/IdleTool.js.map +1 -1
  433. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  434. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  435. package/lib/cjs/tools/SelectTool.js.map +1 -1
  436. package/lib/cjs/tools/Tool.js.map +1 -1
  437. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  438. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  439. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  440. package/lib/cjs/tools/ViewTool.js.map +1 -1
  441. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
  442. package/lib/cjs/workers/RegisterWorker.js.map +1 -1
  443. package/lib/esm/AccuDraw.js.map +1 -1
  444. package/lib/esm/AccuSnap.js.map +1 -1
  445. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  446. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  447. package/lib/esm/AuxCoordSys.js.map +1 -1
  448. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  449. package/lib/esm/BingLocation.js.map +1 -1
  450. package/lib/esm/BriefcaseConnection.js.map +1 -1
  451. package/lib/esm/BriefcaseTxns.js.map +1 -1
  452. package/lib/esm/CatalogConnection.js.map +1 -1
  453. package/lib/esm/CategorySelectorState.js.map +1 -1
  454. package/lib/esm/ChangeFlags.js.map +1 -1
  455. package/lib/esm/CheckpointConnection.js.map +1 -1
  456. package/lib/esm/ContextRealityModelState.js.map +1 -1
  457. package/lib/esm/CoordSystem.js.map +1 -1
  458. package/lib/esm/DecorationsCache.js.map +1 -1
  459. package/lib/esm/DevTools.js.map +1 -1
  460. package/lib/esm/DisplayStyleState.js.map +1 -1
  461. package/lib/esm/DrawingViewState.js.map +1 -1
  462. package/lib/esm/ElementLocateManager.js.map +1 -1
  463. package/lib/esm/EmphasizeElements.js.map +1 -1
  464. package/lib/esm/EntityState.js.map +1 -1
  465. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  466. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  467. package/lib/esm/FlashSettings.js.map +1 -1
  468. package/lib/esm/FrontendHubAccess.js.map +1 -1
  469. package/lib/esm/Frustum2d.js.map +1 -1
  470. package/lib/esm/FrustumAnimator.js.map +1 -1
  471. package/lib/esm/FuzzySearch.js.map +1 -1
  472. package/lib/esm/GeoServices.js.map +1 -1
  473. package/lib/esm/GlobeAnimator.js.map +1 -1
  474. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  475. package/lib/esm/HitDetail.js.map +1 -1
  476. package/lib/esm/IModelApp.js.map +1 -1
  477. package/lib/esm/IModelConnection.js.map +1 -1
  478. package/lib/esm/IModelRoutingContext.js.map +1 -1
  479. package/lib/esm/IModeljs-css.js.map +1 -1
  480. package/lib/esm/IpcApp.js.map +1 -1
  481. package/lib/esm/LinePlaneIntersect.js.map +1 -1
  482. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  483. package/lib/esm/MarginPercent.js.map +1 -1
  484. package/lib/esm/Marker.js.map +1 -1
  485. package/lib/esm/ModelSelectorState.js.map +1 -1
  486. package/lib/esm/ModelState.js.map +1 -1
  487. package/lib/esm/NativeApp.js.map +1 -1
  488. package/lib/esm/NativeAppLogger.js.map +1 -1
  489. package/lib/esm/NoRenderApp.js.map +1 -1
  490. package/lib/esm/NotificationManager.js.map +1 -1
  491. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  492. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  493. package/lib/esm/RealityDataSource.js.map +1 -1
  494. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  495. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  496. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  497. package/lib/esm/SelectionSet.js.map +1 -1
  498. package/lib/esm/SheetViewState.js.map +1 -1
  499. package/lib/esm/SpatialClassifiersState.js.map +1 -1
  500. package/lib/esm/SpatialViewState.js.map +1 -1
  501. package/lib/esm/Sprites.js.map +1 -1
  502. package/lib/esm/StandardView.js.map +1 -1
  503. package/lib/esm/SubCategoriesCache.js.map +1 -1
  504. package/lib/esm/TentativePoint.js.map +1 -1
  505. package/lib/esm/Tiles.js.map +1 -1
  506. package/lib/esm/TxnEntityChanges.js.map +1 -1
  507. package/lib/esm/UserPreferences.js.map +1 -1
  508. package/lib/esm/ViewAnimation.js.map +1 -1
  509. package/lib/esm/ViewContext.js.map +1 -1
  510. package/lib/esm/ViewCreator2d.js.map +1 -1
  511. package/lib/esm/ViewCreator3d.js.map +1 -1
  512. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  513. package/lib/esm/ViewManager.js.map +1 -1
  514. package/lib/esm/ViewPose.js.map +1 -1
  515. package/lib/esm/ViewState.js.map +1 -1
  516. package/lib/esm/ViewStatus.js.map +1 -1
  517. package/lib/esm/ViewingSpace.js.map +1 -1
  518. package/lib/esm/Viewport.js.map +1 -1
  519. package/lib/esm/ViewportSync.js.map +1 -1
  520. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
  521. package/lib/esm/common/ImageUtil.js.map +1 -1
  522. package/lib/esm/common/ViewRect.js.map +1 -1
  523. package/lib/esm/common/WorkerProxy.js.map +1 -1
  524. package/lib/esm/common/gltf/GltfModel.js.map +1 -1
  525. package/lib/esm/common/gltf/GltfParser.js.map +1 -1
  526. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  527. package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
  528. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  529. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
  530. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  531. package/lib/esm/common/internal/Symbols.js.map +1 -1
  532. package/lib/esm/common/internal/render/AnimationNodeId.js.map +1 -1
  533. package/lib/esm/common/internal/render/AuxChannelTable.js.map +1 -1
  534. package/lib/esm/common/internal/render/ColorMap.js.map +1 -1
  535. package/lib/esm/common/internal/render/DisplayParams.js.map +1 -1
  536. package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
  537. package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
  538. package/lib/esm/common/internal/render/GeometryList.js.map +1 -1
  539. package/lib/esm/common/internal/render/GeometryPrimitives.js.map +1 -1
  540. package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  541. package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  542. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  543. package/lib/esm/common/internal/render/LineCode.js.map +1 -1
  544. package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
  545. package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -1
  546. package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
  547. package/lib/esm/common/internal/render/MeshPrimitive.js.map +1 -1
  548. package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
  549. package/lib/esm/common/internal/render/OvrFlags.js.map +1 -1
  550. package/lib/esm/common/internal/render/PointCloudPrimitive.js.map +1 -1
  551. package/lib/esm/common/internal/render/PointStringParams.js.map +1 -1
  552. package/lib/esm/common/internal/render/Polyface.js.map +1 -1
  553. package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
  554. package/lib/esm/common/internal/render/Primitives.js.map +1 -1
  555. package/lib/esm/common/internal/render/Strokes.js.map +1 -1
  556. package/lib/esm/common/internal/render/SurfaceParams.js.map +1 -1
  557. package/lib/esm/common/internal/render/VertexIndices.js.map +1 -1
  558. package/lib/esm/common/internal/render/VertexKey.js.map +1 -1
  559. package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
  560. package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
  561. package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
  562. package/lib/esm/common/render/BatchOptions.js.map +1 -1
  563. package/lib/esm/common/render/GraphicAssembler.js.map +1 -1
  564. package/lib/esm/common/render/GraphicDescriptionBuilder.js.map +1 -1
  565. package/lib/esm/common/render/GraphicDescriptionContext.js.map +1 -1
  566. package/lib/esm/common/render/GraphicPrimitive.js.map +1 -1
  567. package/lib/esm/common/render/GraphicType.js.map +1 -1
  568. package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
  569. package/lib/esm/common/render/MaterialParams.js.map +1 -1
  570. package/lib/esm/common/render/RenderInstancesParams.js.map +1 -1
  571. package/lib/esm/common/render/TextureParams.js.map +1 -1
  572. package/lib/esm/common.js.map +1 -1
  573. package/lib/esm/core-frontend.js.map +1 -1
  574. package/lib/esm/extension/Extension.js.map +1 -1
  575. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  576. package/lib/esm/extension/ExtensionHost.js.map +1 -1
  577. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  578. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  579. package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
  580. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  581. package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
  582. package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  583. package/lib/esm/internal/ScriptUtils.js.map +1 -1
  584. package/lib/esm/internal/cross-package.js.map +1 -1
  585. package/lib/esm/internal/render/AnimationBranchState.js.map +1 -1
  586. package/lib/esm/internal/render/FrameStatsCollector.js.map +1 -1
  587. package/lib/esm/internal/render/GraphicBranchFrustum.js.map +1 -1
  588. package/lib/esm/internal/render/GraphicTemplateImpl.js.map +1 -1
  589. package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  590. package/lib/esm/internal/render/MockRender.js.map +1 -1
  591. package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
  592. package/lib/esm/internal/render/QueryVisibileFeatures.js.map +1 -1
  593. package/lib/esm/internal/render/RenderAreaPattern.js.map +1 -1
  594. package/lib/esm/internal/render/RenderGeometry.js.map +1 -1
  595. package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  596. package/lib/esm/internal/render/RenderMaterialSource.js.map +1 -1
  597. package/lib/esm/internal/render/RenderPlan.js.map +1 -1
  598. package/lib/esm/internal/render/RenderPlanarClassifier.js.map +1 -1
  599. package/lib/esm/internal/render/RenderSkyBoxParams.js.map +1 -1
  600. package/lib/esm/internal/render/RenderSystemDebugControl.js.map +1 -1
  601. package/lib/esm/internal/render/RenderTargetDebugControl.js.map +1 -1
  602. package/lib/esm/internal/render/RenderTerrain.js.map +1 -1
  603. package/lib/esm/internal/render/RenderTextureDrape.js.map +1 -1
  604. package/lib/esm/internal/render/SceneVolumeClassifier.js.map +1 -1
  605. package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  606. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  607. package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
  608. package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
  609. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
  610. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  611. package/lib/esm/internal/render/webgl/BatchState.js.map +1 -1
  612. package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
  613. package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
  614. package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
  615. package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
  616. package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
  617. package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
  618. package/lib/esm/internal/render/webgl/ClipVolume.js.map +1 -1
  619. package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
  620. package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
  621. package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
  622. package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
  623. package/lib/esm/internal/render/webgl/Diagnostics.js.map +1 -1
  624. package/lib/esm/internal/render/webgl/Disposable.js.map +1 -1
  625. package/lib/esm/internal/render/webgl/DrawCommand.js.map +1 -1
  626. package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
  627. package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
  628. package/lib/esm/internal/render/webgl/EdgeSettings.js.map +1 -1
  629. package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
  630. package/lib/esm/internal/render/webgl/FloatRGBA.js.map +1 -1
  631. package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
  632. package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
  633. package/lib/esm/internal/render/webgl/GL.js.map +1 -1
  634. package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
  635. package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
  636. package/lib/esm/internal/render/webgl/HiliteUniforms.js.map +1 -1
  637. package/lib/esm/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  638. package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  639. package/lib/esm/internal/render/webgl/InstancedGeometry.js.map +1 -1
  640. package/lib/esm/internal/render/webgl/Layer.js.map +1 -1
  641. package/lib/esm/internal/render/webgl/LayerCommands.js.map +1 -1
  642. package/lib/esm/internal/render/webgl/LightingUniforms.js.map +1 -1
  643. package/lib/esm/internal/render/webgl/LineCode.js.map +1 -1
  644. package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
  645. package/lib/esm/internal/render/webgl/Material.js.map +1 -1
  646. package/lib/esm/internal/render/webgl/Matrix.js.map +1 -1
  647. package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
  648. package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
  649. package/lib/esm/internal/render/webgl/MeshGeometry.js.map +1 -1
  650. package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  651. package/lib/esm/internal/render/webgl/PlanarClassifier.js +1 -1
  652. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  653. package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
  654. package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  655. package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
  656. package/lib/esm/internal/render/webgl/PointString.js.map +1 -1
  657. package/lib/esm/internal/render/webgl/Polyline.js.map +1 -1
  658. package/lib/esm/internal/render/webgl/Primitive.js.map +1 -1
  659. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  660. package/lib/esm/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  661. package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
  662. package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
  663. package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
  664. package/lib/esm/internal/render/webgl/RenderState.js.map +1 -1
  665. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  666. package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  667. package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  668. package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
  669. package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
  670. package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
  671. package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
  672. package/lib/esm/internal/render/webgl/StyleUniforms.js.map +1 -1
  673. package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  674. package/lib/esm/internal/render/webgl/Sync.js.map +1 -1
  675. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  676. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  677. package/lib/esm/internal/render/webgl/TargetGraphics.js.map +1 -1
  678. package/lib/esm/internal/render/webgl/TargetUniforms.js.map +1 -1
  679. package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
  680. package/lib/esm/internal/render/webgl/TechniqueFlags.js.map +1 -1
  681. package/lib/esm/internal/render/webgl/TechniqueId.js.map +1 -1
  682. package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
  683. package/lib/esm/internal/render/webgl/TextureDrape.js.map +1 -1
  684. package/lib/esm/internal/render/webgl/ThematicSensors.js.map +1 -1
  685. package/lib/esm/internal/render/webgl/ThematicUniforms.js.map +1 -1
  686. package/lib/esm/internal/render/webgl/UniformHandle.js.map +1 -1
  687. package/lib/esm/internal/render/webgl/VertexLUT.js.map +1 -1
  688. package/lib/esm/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  689. package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  690. package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  691. package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
  692. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  693. package/lib/esm/internal/render/webgl/glsl/Blur.js.map +1 -1
  694. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  695. package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  696. package/lib/esm/internal/render/webgl/glsl/Clipping.js.map +1 -1
  697. package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
  698. package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  699. package/lib/esm/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  700. package/lib/esm/internal/render/webgl/glsl/Common.js.map +1 -1
  701. package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
  702. package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
  703. package/lib/esm/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  704. package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  705. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  706. package/lib/esm/internal/render/webgl/glsl/Decode.js.map +1 -1
  707. package/lib/esm/internal/render/webgl/glsl/EDL.js.map +1 -1
  708. package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  709. package/lib/esm/internal/render/webgl/glsl/Edge.js.map +1 -1
  710. package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  711. package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
  712. package/lib/esm/internal/render/webgl/glsl/Instancing.js.map +1 -1
  713. package/lib/esm/internal/render/webgl/glsl/Lighting.js.map +1 -1
  714. package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  715. package/lib/esm/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  716. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  717. package/lib/esm/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  718. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  719. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  720. package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  721. package/lib/esm/internal/render/webgl/glsl/PointString.js.map +1 -1
  722. package/lib/esm/internal/render/webgl/glsl/Polyline.js.map +1 -1
  723. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  724. package/lib/esm/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  725. package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  726. package/lib/esm/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  727. package/lib/esm/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  728. package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  729. package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
  730. package/lib/esm/internal/render/webgl/glsl/Thematic.js.map +1 -1
  731. package/lib/esm/internal/render/webgl/glsl/Translucency.js.map +1 -1
  732. package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
  733. package/lib/esm/internal/render/webgl/glsl/Viewport.js.map +1 -1
  734. package/lib/esm/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  735. package/lib/esm/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  736. package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
  737. package/lib/esm/internal/tile/BatchedTileIdMap.js.map +1 -1
  738. package/lib/esm/internal/tile/CesiumAssetProvider.js.map +1 -1
  739. package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
  740. package/lib/esm/internal/tile/ContextShareProvider.js.map +1 -1
  741. package/lib/esm/internal/tile/DynamicIModelTile.js +1 -0
  742. package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
  743. package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
  744. package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -1
  745. package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
  746. package/lib/esm/internal/tile/IModelTile.js.map +1 -1
  747. package/lib/esm/internal/tile/IModelTileRequestChannels.js.map +1 -1
  748. package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
  749. package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -1
  750. package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  751. package/lib/esm/internal/tile/ImdlParser.js.map +1 -1
  752. package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
  753. package/lib/esm/internal/tile/LayerTileTreeHandler.js.map +1 -1
  754. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  755. package/lib/esm/internal/tile/MeshoptCompression.js.map +1 -1
  756. package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
  757. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  758. package/lib/esm/internal/tile/PntsReader.js.map +1 -1
  759. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  760. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  761. package/lib/esm/internal/tile/RealityTileDrawArgs.js.map +1 -1
  762. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  763. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  764. package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
  765. package/lib/esm/internal/tile/ViewFlagOverrides.js.map +1 -1
  766. package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
  767. package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
  768. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  769. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  770. package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  771. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  772. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  773. package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  774. package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  775. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  776. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  777. package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  778. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  779. package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  780. package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  781. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  782. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  783. package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
  784. package/lib/esm/internal/tile/map/MapTileLoader.js.map +1 -1
  785. package/lib/esm/internal/tile/map/UrlUtils.js.map +1 -1
  786. package/lib/esm/internal/tile/map/WmsCapabilities.js.map +1 -1
  787. package/lib/esm/internal/tile/map/WmsUtilities.js.map +1 -1
  788. package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
  789. package/lib/esm/internal/webgl.js.map +1 -1
  790. package/lib/esm/properties/AngleDescription.js.map +1 -1
  791. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  792. package/lib/esm/properties/LengthDescription.js.map +1 -1
  793. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  794. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  795. package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  796. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  797. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  798. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
  799. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  800. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
  801. package/lib/esm/render/CreateTextureArgs.js.map +1 -1
  802. package/lib/esm/render/Decorations.js.map +1 -1
  803. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  804. package/lib/esm/render/FrameStats.js.map +1 -1
  805. package/lib/esm/render/GraphicBranch.js.map +1 -1
  806. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  807. package/lib/esm/render/GraphicTemplate.js.map +1 -1
  808. package/lib/esm/render/MeshArgs.js.map +1 -1
  809. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  810. package/lib/esm/render/Pixel.js.map +1 -1
  811. package/lib/esm/render/PolylineArgs.js.map +1 -1
  812. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  813. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  814. package/lib/esm/render/RenderGraphic.js.map +1 -1
  815. package/lib/esm/render/RenderMemory.js.map +1 -1
  816. package/lib/esm/render/RenderSystem.js.map +1 -1
  817. package/lib/esm/render/RenderTarget.js.map +1 -1
  818. package/lib/esm/render/Scene.js.map +1 -1
  819. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  820. package/lib/esm/render/VisibleFeature.js.map +1 -1
  821. package/lib/esm/request/Request.js.map +1 -1
  822. package/lib/esm/request/utils.js.map +1 -1
  823. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  824. package/lib/esm/tile/GltfReader.js.map +1 -1
  825. package/lib/esm/tile/ImdlReader.js.map +1 -1
  826. package/lib/esm/tile/RealityTile.js.map +1 -1
  827. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  828. package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -1
  829. package/lib/esm/tile/Tile.js.map +1 -1
  830. package/lib/esm/tile/TileAdmin.js.map +1 -1
  831. package/lib/esm/tile/TileContent.js.map +1 -1
  832. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  833. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  834. package/lib/esm/tile/TileParams.js.map +1 -1
  835. package/lib/esm/tile/TileRequest.js.map +1 -1
  836. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  837. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  838. package/lib/esm/tile/TileStorage.js.map +1 -1
  839. package/lib/esm/tile/TileTree.js.map +1 -1
  840. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  841. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  842. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  843. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  844. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  845. package/lib/esm/tile/TileUser.js.map +1 -1
  846. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  847. package/lib/esm/tile/internal.js.map +1 -1
  848. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  849. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  850. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  851. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  852. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  853. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  854. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
  855. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  856. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  857. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  858. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  859. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  860. package/lib/esm/tile/map/MapTile.js.map +1 -1
  861. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  862. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  863. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  864. package/lib/esm/tile/map/QuadId.js.map +1 -1
  865. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  866. package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
  867. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  868. package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
  869. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  870. package/lib/esm/tools/EditManipulator.js.map +1 -1
  871. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  872. package/lib/esm/tools/EventController.js.map +1 -1
  873. package/lib/esm/tools/IdleTool.js.map +1 -1
  874. package/lib/esm/tools/MeasureTool.js.map +1 -1
  875. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  876. package/lib/esm/tools/SelectTool.js.map +1 -1
  877. package/lib/esm/tools/Tool.js.map +1 -1
  878. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  879. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  880. package/lib/esm/tools/ToolSettings.js.map +1 -1
  881. package/lib/esm/tools/ViewTool.js.map +1 -1
  882. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
  883. package/lib/esm/workers/RegisterWorker.js.map +1 -1
  884. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"ParseImdlDocument.js","sourceRoot":"","sources":["../../../../src/common/imdl/ParseImdlDocument.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 Tiles\r\n */\r\n\r\nimport { assert, ByteStream, Id64, Id64Set, Id64String, JsonUtils, utf8ToString } from \"@itwin/core-bentley\";\r\nimport { Point3d, Range2d, Range3d } from \"@itwin/core-geometry\";\r\nimport {\r\n BatchType, ColorDef, FeatureTableHeader, FillFlags, GltfV2ChunkTypes, GltfVersions, Gradient, ImdlFlags, ImdlHeader, LinePixels, MultiModelPackedFeatureTable,\r\n PackedFeatureTable, PolylineTypeFlags, QParams2d, QParams3d, RenderFeatureTable, RenderMaterial, RenderMaterialParams, RenderSchedule, RenderTexture, RgbColor,\r\n TextureMapping, TileFormat, TileHeader, TileReadStatus,\r\n} from \"@itwin/core-common\";\r\nimport { ImdlModel as Imdl } from \"./ImdlModel\";\r\nimport {\r\n AnyImdlPrimitive, ImdlAreaPattern, ImdlColorDef, ImdlCompactEdges, ImdlDisplayParams, ImdlDocument, ImdlIndexedEdges, ImdlMesh, ImdlMeshEdges,\r\n ImdlMeshPrimitive, ImdlNamedTexture, ImdlPolyline, ImdlSegmentEdges, ImdlSilhouetteEdges, ImdlTextureMapping,\r\n} from \"./ImdlSchema\";\r\nimport { MeshPrimitiveType } from \"../internal/render/MeshPrimitive\";\r\nimport { isValidSurfaceType, SurfaceMaterial } from \"../internal/render/SurfaceParams\";\r\nimport { DisplayParams } from \"../internal/render/DisplayParams\";\r\nimport { AuxChannelTable, AuxChannelTableProps } from \"../internal/render/AuxChannelTable\";\r\nimport { ComputeAnimationNodeId, splitMeshParams, splitPointStringParams, splitPolylineParams } from \"../internal/render/VertexTableSplitter\";\r\nimport { AnimationNodeId } from \"../internal/render/AnimationNodeId\";\r\nimport { EdgeParams } from \"../internal/render/EdgeParams\";\r\nimport { MeshParams } from \"../internal/render/MeshParams\";\r\nimport { VertexTable } from \"../internal/render/VertexTable\";\r\nimport { MaterialParams } from \"../render/MaterialParams\";\r\nimport { VertexIndices } from \"../internal/render/VertexIndices\";\r\nimport { indexedEdgeParamsFromCompactEdges } from \"./CompactEdges\";\r\nimport { getMeshoptDecoder, MeshoptDecoder } from \"../../tile/internal\";\r\n\r\n/** Timeline used to reassemble iMdl content into animatable nodes.\r\n * @internal\r\n */\r\nexport type ImdlTimeline = RenderSchedule.ModelTimeline | RenderSchedule.Script;\r\n\r\n/** Options provided to [[ImdlParser.parse]].\r\n * @internal\r\n */\r\nexport interface ImdlParserOptions {\r\n data: Uint8Array;\r\n batchModelId: Id64String;\r\n is3d: boolean;\r\n /** The limit on the width and height of a [[VertexTable]]. */\r\n maxVertexTableSize: number;\r\n omitEdges?: boolean;\r\n createUntransformedRootNode?: boolean;\r\n /* see [[ImdlDecodeArgs.modelGroups]]. */\r\n modelGroups?: Id64Set[];\r\n}\r\n\r\n/** Arguments provided to [[parseImdlDocument]].\r\n * @internal\r\n */\r\nexport interface ParseImdlDocumentArgs extends ImdlParserOptions {\r\n timeline: ImdlTimeline | undefined;\r\n}\r\n\r\n/** Header preceding \"glTF\" data in iMdl tile. */\r\nclass GltfHeader extends TileHeader {\r\n public readonly gltfLength: number;\r\n public readonly scenePosition: number = 0;\r\n public readonly sceneStrLength: number = 0;\r\n public readonly binaryPosition: number = 0;\r\n public get isValid(): boolean { return TileFormat.Gltf === this.format; }\r\n\r\n public constructor(stream: ByteStream) {\r\n super(stream);\r\n this.gltfLength = stream.readUint32();\r\n\r\n this.sceneStrLength = stream.readUint32();\r\n const value5 = 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 && value5 === GltfVersions.Gltf1SceneFormat)\r\n this.version = GltfVersions.Version1;\r\n\r\n if (this.version === GltfVersions.Version1) {\r\n const gltfSceneFormat = value5;\r\n if (GltfVersions.Gltf1SceneFormat !== gltfSceneFormat) {\r\n this.invalidate();\r\n return;\r\n }\r\n\r\n this.scenePosition = stream.curPos;\r\n this.binaryPosition = stream.curPos + this.sceneStrLength;\r\n } else if (this.version === GltfVersions.Version2) {\r\n const sceneChunkType = value5;\r\n this.scenePosition = stream.curPos;\r\n stream.curPos = stream.curPos + this.sceneStrLength;\r\n const binaryLength = stream.readUint32();\r\n const binaryChunkType = stream.readUint32();\r\n if (GltfV2ChunkTypes.JSON !== sceneChunkType || GltfV2ChunkTypes.Binary !== binaryChunkType || 0 === binaryLength) {\r\n this.invalidate();\r\n return;\r\n }\r\n\r\n this.binaryPosition = stream.curPos;\r\n } else {\r\n this.invalidate();\r\n }\r\n }\r\n}\r\n\r\ntype OptionalDocumentProperties = \"rtcCenter\" | \"animationNodes\";\r\ntype Document = Required<Omit<ImdlDocument, OptionalDocumentProperties>> & Pick<ImdlDocument, OptionalDocumentProperties>;\r\n\r\n/** Error codes resulting from [[parseImdlDocument]].\r\n * @internal\r\n */\r\nexport type ImdlParseError = Exclude<TileReadStatus, TileReadStatus.Success>;\r\n\r\ninterface FeatureTableInfo {\r\n startPos: number;\r\n multiModel: boolean;\r\n}\r\n\r\nconst nodeIdRegex = /Node_(.*)/;\r\nfunction extractNodeId(nodeName: string): number {\r\n const match = nodeName.match(nodeIdRegex);\r\n assert(!!match && match.length === 2);\r\n if (!match || match.length !== 2)\r\n return 0;\r\n\r\n const nodeId = Number.parseInt(match[1], 10);\r\n assert(!Number.isNaN(nodeId));\r\n return Number.isNaN(nodeId) ? 0 : nodeId;\r\n}\r\n\r\nabstract class Texture extends RenderTexture {\r\n protected constructor(type: RenderTexture.Type) {\r\n super(type);\r\n }\r\n\r\n public abstract toImdl(): string | Gradient.SymbProps;\r\n\r\n public override dispose() { }\r\n public override get bytesUsed() { return 0; }\r\n}\r\n\r\nclass NamedTexture extends Texture {\r\n public constructor(private readonly _name: string, type: RenderTexture.Type) {\r\n super(type);\r\n }\r\n\r\n public override toImdl(): string {\r\n return this._name;\r\n }\r\n}\r\n\r\nclass GradientTexture extends Texture {\r\n public constructor(private readonly _gradient: Gradient.SymbProps) {\r\n super(RenderTexture.Type.Normal);\r\n }\r\n\r\n public override toImdl(): Gradient.SymbProps {\r\n return this._gradient;\r\n }\r\n}\r\n\r\nclass Material extends RenderMaterial {\r\n public readonly materialParams: Imdl.SurfaceMaterialParams;\r\n\r\n public toImdl(): Imdl.SurfaceMaterial {\r\n const material = this.key ?? this.materialParams;\r\n return { isAtlas: false, material };\r\n }\r\n\r\n public constructor(params: RenderMaterialParams, imdl?: Imdl.SurfaceMaterialParams) {\r\n super(params);\r\n\r\n this.materialParams = imdl ?? {\r\n alpha: params.alpha,\r\n diffuse: {\r\n color: params.diffuseColor?.toJSON(),\r\n weight: params.diffuse,\r\n },\r\n specular: {\r\n color: params.specularColor?.toJSON(),\r\n weight: params.specular,\r\n exponent: params.specularExponent,\r\n },\r\n };\r\n }\r\n\r\n public static create(args: MaterialParams): Material {\r\n const params = new RenderMaterialParams();\r\n params.alpha = args.alpha;\r\n if (args.diffuse) {\r\n if (undefined !== args.diffuse.weight)\r\n params.diffuse = args.diffuse?.weight;\r\n\r\n if (args.diffuse?.color)\r\n params.diffuseColor = args.diffuse.color instanceof ColorDef ? args.diffuse.color : RgbColor.fromJSON(args.diffuse.color).toColorDef();\r\n }\r\n\r\n if (args.specular) {\r\n if (undefined !== args.specular.weight)\r\n params.specular = args.specular.weight;\r\n\r\n if (undefined !== args.specular.exponent)\r\n params.specularExponent = args.specular.exponent;\r\n\r\n if (args.specular.color)\r\n params.specularColor = args.specular.color instanceof ColorDef ? args.specular.color : RgbColor.fromJSON(args.specular.color).toColorDef();\r\n }\r\n\r\n return new Material(params);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function toVertexTable(imdl: Imdl.VertexTable): VertexTable {\r\n return {\r\n ...imdl,\r\n uniformColor: undefined !== imdl.uniformColor ? ColorDef.fromJSON(imdl.uniformColor) : undefined,\r\n qparams: QParams3d.fromJSON(imdl.qparams),\r\n uvParams: imdl.uvParams ? QParams2d.fromJSON(imdl.uvParams) : undefined,\r\n };\r\n}\r\n\r\nfunction fromVertexTable(table: VertexTable): Imdl.VertexTable {\r\n return {\r\n ...table,\r\n uniformColor: table.uniformColor?.toJSON(),\r\n qparams: table.qparams.toJSON(),\r\n uvParams: table.uvParams?.toJSON(),\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function edgeParamsFromImdl(imdl: Imdl.EdgeParams): EdgeParams {\r\n return {\r\n ...imdl,\r\n segments: imdl.segments ? {\r\n ...imdl.segments,\r\n indices: new VertexIndices(imdl.segments.indices),\r\n } : undefined,\r\n silhouettes: imdl.silhouettes ? {\r\n ...imdl.silhouettes,\r\n indices: new VertexIndices(imdl.silhouettes.indices),\r\n } : undefined,\r\n polylineGroups: imdl.polylines ? [{\r\n polyline: {\r\n ...imdl.polylines,\r\n indices: new VertexIndices(imdl.polylines.indices),\r\n prevIndices: new VertexIndices(imdl.polylines.prevIndices),\r\n },\r\n }] : undefined,\r\n indexed: imdl.indexed ? {\r\n indices: new VertexIndices(imdl.indexed.indices),\r\n edges: imdl.indexed.edges,\r\n } : undefined,\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function edgeParamsToImdl(params: EdgeParams): Imdl.EdgeParams {\r\n return {\r\n ...params,\r\n segments: params.segments ? {\r\n ...params.segments,\r\n indices: params.segments.indices.data,\r\n } : undefined,\r\n silhouettes: params.silhouettes ? {\r\n ...params.silhouettes,\r\n indices: params.silhouettes.indices.data,\r\n } : undefined,\r\n polylines: params.polylineGroups?.length === 1 ? {\r\n ...params.polylineGroups[0].polyline,\r\n indices: params.polylineGroups[0].polyline.indices.data,\r\n prevIndices: params.polylineGroups[0].polyline.prevIndices.data,\r\n } : undefined,\r\n indexed: params.indexed ? {\r\n indices: params.indexed.indices.data,\r\n edges: params.indexed.edges,\r\n } : undefined,\r\n };\r\n}\r\n\r\nclass Parser {\r\n private readonly _document: Document;\r\n private readonly _binaryData: Uint8Array;\r\n private readonly _options: ImdlParserOptions;\r\n private readonly _featureTableInfo: FeatureTableInfo;\r\n private readonly _patterns = new Map<string, Imdl.Primitive[]>();\r\n private readonly _stream: ByteStream;\r\n private readonly _timeline?: ImdlTimeline;\r\n private _meshoptDecoder?: MeshoptDecoder;\r\n\r\n public constructor(doc: Document, binaryData: Uint8Array, options: ParseImdlDocumentArgs, featureTableInfo: FeatureTableInfo, stream: ByteStream) {\r\n this._document = doc;\r\n this._binaryData = binaryData;\r\n this._options = options;\r\n this._featureTableInfo = featureTableInfo;\r\n this._stream = stream;\r\n this._timeline = options.timeline;\r\n }\r\n\r\n public async parse(): Promise<Imdl.Document | ImdlParseError> {\r\n const featureTable = this.parseFeatureTable();\r\n if (!featureTable)\r\n return TileReadStatus.InvalidFeatureTable;\r\n\r\n if (this.hasMeshoptCompression()) {\r\n this._meshoptDecoder = await getMeshoptDecoder();\r\n if (!this._meshoptDecoder)\r\n return TileReadStatus.InvalidTileData;\r\n }\r\n\r\n const rtcCenter = this._document.rtcCenter ? {\r\n x: this._document.rtcCenter[0] ?? 0,\r\n y: this._document.rtcCenter[1] ?? 0,\r\n z: this._document.rtcCenter[2] ?? 0,\r\n } : undefined;\r\n\r\n const primitiveNodes = this.parseNodes(featureTable);\r\n const nodes = this.groupPrimitiveNodes(primitiveNodes, featureTable);\r\n\r\n return {\r\n featureTable,\r\n nodes,\r\n rtcCenter,\r\n binaryData: this._binaryData,\r\n json: this._document,\r\n patterns: this._patterns,\r\n };\r\n }\r\n\r\n private hasMeshoptCompression(): boolean {\r\n let hasMeshoptCompression = false;\r\n for (const meshKey of Object.keys(this._document.meshes)) {\r\n const mesh = this._document.meshes[meshKey];\r\n mesh?.primitives?.forEach((primitive) => {\r\n if (primitive.type !== \"areaPattern\") {\r\n const imdlPrimitive = primitive as ImdlMeshPrimitive;\r\n const vertexTable = imdlPrimitive.vertices;\r\n if (vertexTable.compressedSize && vertexTable.compressedSize > 0) {\r\n hasMeshoptCompression = true;\r\n }\r\n\r\n const surf = imdlPrimitive.surface;\r\n if (surf && surf.compressedIndexCount && surf.compressedIndexCount > 0) {\r\n hasMeshoptCompression = true;\r\n }\r\n }\r\n });\r\n }\r\n return hasMeshoptCompression;\r\n }\r\n\r\n private parseFeatureTable(): Imdl.FeatureTable | undefined {\r\n this._stream.curPos = this._featureTableInfo.startPos;\r\n const header = FeatureTableHeader.readFrom(this._stream);\r\n if (!header || 0 !== header.length % 4)\r\n return undefined;\r\n\r\n // NB: We make a copy of the sub-array because we don't want to pin the entire data array in memory.\r\n const numUint32s = (header.length - FeatureTableHeader.sizeInBytes) / 4;\r\n const packedFeatureArray = new Uint32Array(this._stream.nextUint32s(numUint32s));\r\n if (this._stream.isPastTheEnd)\r\n return undefined;\r\n\r\n let featureTable: Imdl.FeatureTable;\r\n if (this._featureTableInfo.multiModel) {\r\n featureTable = {\r\n multiModel: true,\r\n data: packedFeatureArray,\r\n numFeatures: header.count,\r\n numSubCategories: header.numSubCategories,\r\n };\r\n } else {\r\n let animNodesArray: Uint8Array | Uint16Array | Uint32Array | undefined;\r\n const animationNodes = this._document.animationNodes;\r\n if (undefined !== animationNodes) {\r\n const bytesPerId = JsonUtils.asInt(animationNodes.bytesPerId);\r\n const bufferViewId = JsonUtils.asString(animationNodes.bufferView);\r\n const bufferViewJson = this._document.bufferViews[bufferViewId];\r\n if (undefined !== bufferViewJson) {\r\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\r\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\r\n const bytes = this._binaryData.subarray(byteOffset, byteOffset + byteLength);\r\n switch (bytesPerId) {\r\n case 1:\r\n animNodesArray = new Uint8Array(bytes);\r\n break;\r\n case 2:\r\n // NB: A *copy* of the subarray.\r\n animNodesArray = Uint16Array.from(new Uint16Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 2));\r\n break;\r\n case 4:\r\n // NB: A *copy* of the subarray.\r\n animNodesArray = Uint32Array.from(new Uint32Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 4));\r\n break;\r\n }\r\n }\r\n }\r\n\r\n featureTable = {\r\n multiModel: false,\r\n data: packedFeatureArray,\r\n numFeatures: header.count,\r\n animationNodeIds: animNodesArray,\r\n };\r\n }\r\n\r\n this._stream.curPos = this._featureTableInfo.startPos + header.length;\r\n return featureTable;\r\n }\r\n\r\n private parseNodes(featureTable: Imdl.FeatureTable): Imdl.PrimitivesNode[] {\r\n const nodes: Imdl.PrimitivesNode[] = [];\r\n const docNodes = this._document.nodes;\r\n const docMeshes = this._document.meshes;\r\n if (undefined === docNodes.Node_Root) {\r\n // A veeeery early version of the tile format (prior to introduction of schedule animation support) just supplied a flat list of meshes.\r\n // We shall never encounter such tiles again.\r\n return nodes;\r\n }\r\n\r\n for (const nodeKey of Object.keys(docNodes)) {\r\n const docNode = this._document.nodes[nodeKey];\r\n assert(undefined !== docNode); // we're iterating the keys...\r\n const docMesh = docMeshes[docNode];\r\n const docPrimitives = docMesh?.primitives;\r\n if (!docPrimitives)\r\n continue;\r\n\r\n const layerId = docMesh.layer;\r\n if (\"Node_Root\" === nodeKey) {\r\n if (this._timeline) {\r\n // Split up the root node into transform nodes.\r\n this.parseAnimationBranches(nodes, docMesh, featureTable, this._timeline);\r\n } else if (this._options.createUntransformedRootNode) {\r\n // If transform nodes exist in the tile tree, then we need to create a branch for the root node so that elements not associated with\r\n // any node in the schedule script can be grouped together.\r\n nodes.push({\r\n animationNodeId: AnimationNodeId.Untransformed,\r\n primitives: this.parseNodePrimitives(docPrimitives),\r\n });\r\n } else {\r\n nodes.push({ primitives: this.parseNodePrimitives(docPrimitives) });\r\n }\r\n } else if (undefined === layerId) {\r\n nodes.push({\r\n animationNodeId: extractNodeId(nodeKey),\r\n animationId: `${this._options.batchModelId}_${nodeKey}`,\r\n primitives: this.parseNodePrimitives(docPrimitives),\r\n });\r\n } else {\r\n nodes.push({\r\n layerId,\r\n primitives: this.parseNodePrimitives(docPrimitives),\r\n });\r\n }\r\n }\r\n\r\n return nodes;\r\n }\r\n\r\n private parseAnimationBranches(output: Imdl.Node[], docMesh: ImdlMesh, imdlFeatureTable: Imdl.FeatureTable, timeline: ImdlTimeline): void {\r\n const docPrimitives = docMesh.primitives;\r\n if (!docPrimitives)\r\n return;\r\n\r\n const primitives = docPrimitives.map((x) => this.parseNodePrimitive(x)).filter<Imdl.NodePrimitive>((x): x is Imdl.NodePrimitive => x !== undefined);\r\n if (primitives.length === 0)\r\n return;\r\n\r\n const nodesById = new Map<number, Imdl.AnimationNode>();\r\n const getNode = (nodeId: number | undefined): Imdl.AnimationNode => {\r\n nodeId = nodeId ?? AnimationNodeId.Untransformed;\r\n let node = nodesById.get(nodeId);\r\n if (!node) {\r\n node = {\r\n animationNodeId: nodeId,\r\n animationId: `${this._options.batchModelId}_Node_${nodeId}`,\r\n primitives: [],\r\n };\r\n\r\n nodesById.set(nodeId, node);\r\n output.push(node);\r\n }\r\n\r\n return node;\r\n };\r\n\r\n // NB: The BatchType is irrelevant - just use Primary.\r\n assert(undefined === imdlFeatureTable.animationNodeIds);\r\n const featureTable = convertFeatureTable(imdlFeatureTable, this._options.batchModelId);\r\n featureTable.populateAnimationNodeIds((feature) => timeline.getBatchIdForFeature(feature), timeline.maxBatchId);\r\n imdlFeatureTable.animationNodeIds = featureTable.animationNodeIds;\r\n\r\n const discreteNodeIds = timeline.discreteBatchIds;\r\n const computeNodeId: ComputeAnimationNodeId = (featureIndex) => {\r\n const nodeId = featureTable.getAnimationNodeId(featureIndex);\r\n return 0 !== nodeId && discreteNodeIds.has(nodeId) ? nodeId : 0;\r\n };\r\n\r\n this.splitPrimitives(primitives, featureTable, computeNodeId, getNode);\r\n }\r\n\r\n private splitPrimitives(primitives: Imdl.NodePrimitive[], featureTable: RenderFeatureTable, computeNodeId: ComputeAnimationNodeId, getPrimitivesNode: (nodeId: number | undefined) => Imdl.PrimitivesNode): void {\r\n const splitArgs = {\r\n maxDimension: this._options.maxVertexTableSize,\r\n computeNodeId,\r\n featureTable,\r\n };\r\n\r\n const convertMaterial = (imdl: Imdl.SurfaceMaterial | undefined): SurfaceMaterial | undefined => {\r\n if (!imdl)\r\n return undefined;\r\n else if (imdl.isAtlas)\r\n return imdl;\r\n\r\n const material = (typeof imdl.material === \"string\") ? this.materialFromJson(imdl.material) : Material.create(toMaterialParams(imdl.material));\r\n return material ? { isAtlas: false, material } : undefined;\r\n };\r\n\r\n for (const primitive of primitives) {\r\n switch (primitive.type) {\r\n case \"pattern\": {\r\n // ###TODO splitting area patterns\r\n getPrimitivesNode(undefined).primitives.push(primitive);\r\n break;\r\n }\r\n case \"mesh\": {\r\n const mesh = primitive.params;\r\n const texMap = mesh.surface.textureMapping;\r\n const params: MeshParams = {\r\n vertices: toVertexTable(primitive.params.vertices),\r\n surface: {\r\n ...primitive.params.surface,\r\n indices: new VertexIndices(primitive.params.surface.indices),\r\n material: convertMaterial(mesh.surface.material),\r\n textureMapping: texMap ? {\r\n alwaysDisplayed: texMap.alwaysDisplayed,\r\n // The texture type doesn't actually matter here.\r\n texture: typeof texMap.texture === \"string\" ? new NamedTexture(texMap.texture, RenderTexture.Type.Normal) : new GradientTexture(texMap.texture),\r\n } : undefined,\r\n },\r\n edges: primitive.params.edges ? edgeParamsFromImdl(primitive.params.edges) : undefined,\r\n isPlanar: primitive.params.isPlanar,\r\n auxChannels: primitive.params.auxChannels ? AuxChannelTable.fromJSON(primitive.params.auxChannels) : undefined,\r\n };\r\n\r\n const split = splitMeshParams({\r\n ...splitArgs,\r\n params,\r\n createMaterial: (args) => Material.create(args),\r\n });\r\n for (const [nodeId, p] of split) {\r\n let material: Imdl.SurfaceMaterial | undefined;\r\n if (p.surface.material) {\r\n if (p.surface.material.isAtlas) {\r\n material = p.surface.material;\r\n } else {\r\n assert(p.surface.material.material instanceof Material);\r\n material = p.surface.material.material.toImdl();\r\n }\r\n }\r\n\r\n assert(p.surface.textureMapping === undefined || p.surface.textureMapping.texture instanceof Texture);\r\n getPrimitivesNode(nodeId).primitives.push({\r\n type: \"mesh\",\r\n modifier: primitive.modifier,\r\n params: {\r\n vertices: fromVertexTable(p.vertices),\r\n surface: {\r\n ...p.surface,\r\n indices: p.surface.indices.data,\r\n material,\r\n textureMapping: p.surface.textureMapping?.texture instanceof Texture ? {\r\n texture: p.surface.textureMapping.texture.toImdl(),\r\n alwaysDisplayed: p.surface.textureMapping.alwaysDisplayed,\r\n } : undefined,\r\n },\r\n edges: p.edges ? edgeParamsToImdl(p.edges) : undefined,\r\n isPlanar: p.isPlanar,\r\n auxChannels: p.auxChannels?.toJSON(),\r\n },\r\n });\r\n }\r\n\r\n break;\r\n }\r\n case \"point\": {\r\n const params = {\r\n vertices: toVertexTable(primitive.params.vertices),\r\n indices: new VertexIndices(primitive.params.indices),\r\n weight: primitive.params.weight,\r\n };\r\n\r\n const split = splitPointStringParams({ ...splitArgs, params });\r\n for (const [nodeId, p] of split) {\r\n getPrimitivesNode(nodeId).primitives.push({\r\n type: \"point\",\r\n modifier: primitive.modifier,\r\n params: {\r\n vertices: fromVertexTable(p.vertices),\r\n indices: p.indices.data,\r\n weight: p.weight,\r\n },\r\n });\r\n }\r\n\r\n break;\r\n }\r\n case \"polyline\": {\r\n const params = {\r\n ...primitive.params,\r\n vertices: toVertexTable(primitive.params.vertices),\r\n polyline: {\r\n indices: new VertexIndices(primitive.params.polyline.indices),\r\n prevIndices: new VertexIndices(primitive.params.polyline.prevIndices),\r\n nextIndicesAndParams: primitive.params.polyline.nextIndicesAndParams,\r\n },\r\n };\r\n\r\n const split = splitPolylineParams({ ...splitArgs, params });\r\n for (const [nodeId, p] of split) {\r\n getPrimitivesNode(nodeId).primitives.push({\r\n type: \"polyline\",\r\n modifier: primitive.modifier,\r\n params: {\r\n ...p,\r\n vertices: fromVertexTable(p.vertices),\r\n polyline: {\r\n indices: p.polyline.indices.data,\r\n prevIndices: p.polyline.prevIndices.data,\r\n nextIndicesAndParams: p.polyline.nextIndicesAndParams,\r\n },\r\n },\r\n });\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private groupPrimitiveNodes(inputNodes: Imdl.PrimitivesNode[], imdlFeatureTable: Imdl.FeatureTable): Imdl.Node[] {\r\n const modelGroups = this._options.modelGroups;\r\n if (!modelGroups?.length)\r\n return inputNodes;\r\n\r\n const groupNodes: Imdl.GroupNode[] = [];\r\n let orphanNode: Imdl.GroupNode | undefined;\r\n const getGroupNode = (groupId: number): Imdl.GroupNode => {\r\n assert(groupId <= modelGroups.length);\r\n if (groupId === modelGroups.length) {\r\n // This would happen if:\r\n // - The tile contains geometry from a model not present in modelGroups (should never occur); or\r\n // - The tile contains an area pattern (we haven't yet implemented splitting for them).\r\n // In either case, orphaned geometry will end up getting discarded.\r\n return orphanNode ?? (orphanNode = { groupId, nodes: [] });\r\n }\r\n\r\n let groupNode = groupNodes[groupId];\r\n if (!groupNode)\r\n groupNodes[groupId] = groupNode = { groupId, nodes: [] };\r\n\r\n return groupNode;\r\n };\r\n\r\n const featureTable = convertFeatureTable(imdlFeatureTable, this._options.batchModelId);\r\n const modelIdPair = { lower: 0, upper: 0 };\r\n const computeNodeId: ComputeAnimationNodeId = (featureIndex) => {\r\n featureTable.getModelIdPair(featureIndex, modelIdPair);\r\n const modelId = Id64.fromUint32PairObject(modelIdPair);\r\n for (let i = 0; i < modelGroups.length; i++) {\r\n if (modelGroups[i].has(modelId))\r\n return i;\r\n }\r\n\r\n return modelGroups.length;\r\n };\r\n\r\n for (const inputNode of inputNodes) {\r\n // Indexed by model group index.\r\n const splitNodes: Imdl.PrimitivesNode[] = [];\r\n const getSplitNode = (groupIndex: number | undefined) => {\r\n groupIndex = groupIndex ?? modelGroups.length;\r\n if (!splitNodes[groupIndex]) {\r\n const splitNode = splitNodes[groupIndex] = { ...inputNode, primitives: [] };\r\n getGroupNode(groupIndex).nodes.push(splitNode);\r\n }\r\n\r\n return splitNodes[groupIndex];\r\n };\r\n\r\n this.splitPrimitives(inputNode.primitives, featureTable, computeNodeId, getSplitNode);\r\n }\r\n\r\n return groupNodes.filter<Imdl.GroupNode>((x): x is Imdl.GroupNode => undefined !== x);\r\n }\r\n\r\n private parseTesselatedPolyline(json: ImdlPolyline): Imdl.TesselatedPolyline | undefined {\r\n const indices = this.findBuffer(json.indices);\r\n const prevIndices = this.findBuffer(json.prevIndices);\r\n const nextIndicesAndParams = this.findBuffer(json.nextIndicesAndParams);\r\n\r\n return indices && prevIndices && nextIndicesAndParams ? { indices, prevIndices, nextIndicesAndParams } : undefined;\r\n }\r\n\r\n private parseSegmentEdges(imdl: ImdlSegmentEdges): Imdl.SegmentEdgeParams | undefined {\r\n const indices = this.findBuffer(imdl.indices);\r\n const endPointAndQuadIndices = this.findBuffer(imdl.endPointAndQuadIndices);\r\n return indices && endPointAndQuadIndices ? { indices, endPointAndQuadIndices } : undefined;\r\n }\r\n\r\n private parseSilhouetteEdges(imdl: ImdlSilhouetteEdges): Imdl.SilhouetteParams | undefined {\r\n const segments = this.parseSegmentEdges(imdl);\r\n const normalPairs = this.findBuffer(imdl.normalPairs);\r\n return segments && normalPairs ? { ...segments, normalPairs } : undefined;\r\n }\r\n\r\n private parseIndexedEdges(imdl: ImdlIndexedEdges): Imdl.IndexedEdgeParams | undefined {\r\n const indices = this.findBuffer(imdl.indices);\r\n const edgeTable = this.findBuffer(imdl.edges);\r\n if (!indices || !edgeTable)\r\n return undefined;\r\n\r\n return {\r\n indices,\r\n edges: {\r\n data: edgeTable,\r\n width: imdl.width,\r\n height: imdl.height,\r\n silhouettePadding: imdl.silhouettePadding,\r\n numSegments: imdl.numSegments,\r\n },\r\n };\r\n }\r\n\r\n private parseCompactEdges(imdl: ImdlCompactEdges, vertexIndices: VertexIndices): Imdl.IndexedEdgeParams | undefined {\r\n const visibility = this.findBuffer(imdl.visibility);\r\n if (!visibility)\r\n return undefined;\r\n\r\n const normals = undefined !== imdl.normalPairs ? this.findBuffer(imdl.normalPairs) : undefined;\r\n return indexedEdgeParamsFromCompactEdges({\r\n numVisibleEdges: imdl.numVisible,\r\n visibility,\r\n vertexIndices,\r\n normalPairs: normals ? new Uint32Array(normals.buffer, normals.byteOffset, normals.byteLength / 4) : undefined,\r\n maxEdgeTableDimension: this._options.maxVertexTableSize,\r\n });\r\n }\r\n\r\n private parseEdges(imdl: ImdlMeshEdges | undefined, displayParams: DisplayParams, indices: Uint8Array): Imdl.EdgeParams | undefined {\r\n if (!imdl)\r\n return undefined;\r\n\r\n const segments = imdl.segments ? this.parseSegmentEdges(imdl.segments) : undefined;\r\n const silhouettes = imdl.silhouettes ? this.parseSilhouetteEdges(imdl.silhouettes) : undefined;\r\n const polylines = imdl.polylines ? this.parseTesselatedPolyline(imdl.polylines) : undefined;\r\n\r\n let indexed = imdl.indexed ? this.parseIndexedEdges(imdl.indexed) : undefined;\r\n if (!indexed && imdl.compact)\r\n indexed = this.parseCompactEdges(imdl.compact, new VertexIndices(indices));\r\n\r\n if (!segments && !silhouettes && !indexed && !polylines)\r\n return undefined;\r\n\r\n return {\r\n segments,\r\n silhouettes,\r\n polylines,\r\n indexed,\r\n weight: displayParams.width,\r\n linePixels: displayParams.linePixels,\r\n };\r\n }\r\n\r\n private getPattern(name: string): Imdl.Primitive[] | undefined {\r\n let primitives = this._patterns.get(name);\r\n if (!primitives) {\r\n const symbol = this._document.patternSymbols[name];\r\n primitives = symbol ? this.parsePrimitives(symbol.primitives) : [];\r\n this._patterns.set(name, primitives);\r\n }\r\n\r\n return primitives.length > 0 ? primitives : undefined;\r\n }\r\n\r\n private parseAreaPattern(json: ImdlAreaPattern): Imdl.NodePrimitive | undefined {\r\n const primitives = this.getPattern(json.symbolName);\r\n if (!primitives || primitives.length === 0)\r\n return undefined;\r\n\r\n const xyOffsets = this.findBuffer(json.xyOffsets);\r\n if (!xyOffsets)\r\n return undefined;\r\n\r\n return {\r\n type: \"pattern\",\r\n params: {\r\n ...json,\r\n xyOffsets: new Float32Array(xyOffsets.buffer, xyOffsets.byteOffset, xyOffsets.byteLength / 4),\r\n },\r\n };\r\n }\r\n\r\n private parseNodePrimitives(docPrimitives: Array<AnyImdlPrimitive | ImdlAreaPattern>): Imdl.NodePrimitive[] {\r\n const primitives = [];\r\n for (const docPrimitive of docPrimitives) {\r\n const primitive = this.parseNodePrimitive(docPrimitive);\r\n if (primitive)\r\n primitives.push(primitive);\r\n }\r\n\r\n return primitives;\r\n }\r\n\r\n private parseNodePrimitive(docPrimitive: AnyImdlPrimitive | ImdlAreaPattern): Imdl.NodePrimitive | undefined {\r\n return docPrimitive.type === \"areaPattern\" ? this.parseAreaPattern(docPrimitive) : this.parsePrimitive(docPrimitive);\r\n }\r\n\r\n private parsePrimitives(docPrimitives: Array<AnyImdlPrimitive>): Imdl.Primitive[] {\r\n const primitives = [];\r\n for (const docPrimitive of docPrimitives) {\r\n const primitive = this.parsePrimitive(docPrimitive);\r\n if (primitive)\r\n primitives.push(primitive);\r\n }\r\n\r\n return primitives;\r\n }\r\n\r\n private parsePrimitive(docPrimitive: AnyImdlPrimitive): Imdl.Primitive | undefined {\r\n let modifier: Imdl.PrimitiveModifier | undefined = this.parseInstances(docPrimitive);\r\n if (!modifier && docPrimitive.viewIndependentOrigin) {\r\n const origin = Point3d.fromJSON(docPrimitive.viewIndependentOrigin);\r\n modifier = {\r\n type: \"viewIndependentOrigin\",\r\n origin: { x: origin.x, y: origin.y, z: origin.z },\r\n };\r\n }\r\n\r\n const materialName = docPrimitive.material ?? \"\";\r\n const dpMaterial = materialName.length ? JsonUtils.asObject(this._document.materials[materialName]) : undefined;\r\n const displayParams = dpMaterial ? this.parseDisplayParams(dpMaterial) : undefined;\r\n if (!displayParams)\r\n return undefined;\r\n\r\n const vertices = this.parseVertexTable(docPrimitive);\r\n if (!vertices)\r\n return undefined;\r\n\r\n let primitive: Imdl.Primitive | undefined;\r\n const isPlanar = !this._options.is3d || JsonUtils.asBool(docPrimitive.isPlanar);\r\n switch (docPrimitive.type) {\r\n case MeshPrimitiveType.Mesh: {\r\n const surface = this.parseSurface(docPrimitive, displayParams);\r\n if (surface) {\r\n primitive = {\r\n type: \"mesh\",\r\n params: {\r\n vertices,\r\n surface,\r\n isPlanar,\r\n auxChannels: this.parseAuxChannelTable(docPrimitive),\r\n edges: this.parseEdges(docPrimitive.edges, displayParams, surface.indices),\r\n },\r\n };\r\n }\r\n\r\n break;\r\n }\r\n case MeshPrimitiveType.Polyline: {\r\n const polyline = this.parseTesselatedPolyline(docPrimitive);\r\n if (polyline) {\r\n let type = PolylineTypeFlags.Normal;\r\n if (DisplayParams.RegionEdgeType.Outline === displayParams.regionEdgeType)\r\n type = (!displayParams.gradient || displayParams.gradient.isOutlined) ? PolylineTypeFlags.Edge : PolylineTypeFlags.Outline;\r\n\r\n primitive = {\r\n type: \"polyline\",\r\n params: {\r\n vertices,\r\n polyline,\r\n isPlanar,\r\n type,\r\n weight: displayParams.width,\r\n linePixels: displayParams.linePixels,\r\n },\r\n };\r\n }\r\n\r\n break;\r\n }\r\n case MeshPrimitiveType.Point: {\r\n const indices = this.findBuffer(docPrimitive.indices);\r\n const weight = displayParams.width;\r\n if (indices) {\r\n primitive = {\r\n type: \"point\",\r\n params: { vertices, indices, weight },\r\n };\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (primitive)\r\n primitive.modifier = modifier;\r\n\r\n return primitive;\r\n }\r\n\r\n private parseSurface(mesh: ImdlMeshPrimitive, displayParams: DisplayParams): Imdl.SurfaceParams | undefined {\r\n const surf = mesh.surface;\r\n if (!surf)\r\n return undefined;\r\n\r\n let indices = this.findBuffer(surf.indices);\r\n if (!indices)\r\n return undefined;\r\n\r\n if (surf.compressedIndexCount && surf.compressedIndexCount > 0) {\r\n\r\n if (!this._meshoptDecoder) {\r\n return undefined;\r\n }\r\n\r\n const decompressedIndices = new Uint8Array(surf.compressedIndexCount * 4);\r\n this._meshoptDecoder.decodeIndexSequence(decompressedIndices, surf.compressedIndexCount, 4, indices);\r\n\r\n // reduce from 32 to 24 bits\r\n indices = new Uint8Array(surf.compressedIndexCount * 3);\r\n for (let i = 0; i < surf.compressedIndexCount; i++) {\r\n const srcIndex = i * 4;\r\n const dstIndex = i * 3;\r\n indices[dstIndex + 0] = decompressedIndices[srcIndex + 0];\r\n indices[dstIndex + 1] = decompressedIndices[srcIndex + 1];\r\n indices[dstIndex + 2] = decompressedIndices[srcIndex + 2];\r\n }\r\n }\r\n\r\n const type = surf.type;\r\n if (!isValidSurfaceType(type))\r\n return undefined;\r\n\r\n const texture = displayParams.textureMapping?.texture;\r\n let material: Imdl.SurfaceMaterial | undefined;\r\n const atlas = mesh.vertices.materialAtlas;\r\n const numColors = mesh.vertices.numColors;\r\n if (atlas && undefined !== numColors) {\r\n material = {\r\n isAtlas: true,\r\n hasTranslucency: JsonUtils.asBool(atlas.hasTranslucency),\r\n overridesAlpha: JsonUtils.asBool(atlas.overridesAlpha, false),\r\n vertexTableOffset: JsonUtils.asInt(numColors),\r\n numMaterials: JsonUtils.asInt(atlas.numMaterials),\r\n };\r\n } else if (displayParams.material) {\r\n assert(displayParams.material instanceof Material);\r\n material = displayParams.material.toImdl();\r\n }\r\n\r\n let textureMapping;\r\n if (texture) {\r\n assert(texture instanceof Texture);\r\n textureMapping = {\r\n texture: texture.toImdl(),\r\n alwaysDisplayed: JsonUtils.asBool(surf.alwaysDisplayTexture),\r\n };\r\n }\r\n\r\n return {\r\n type,\r\n indices,\r\n fillFlags: displayParams.fillFlags,\r\n hasBakedLighting: false,\r\n material,\r\n textureMapping,\r\n };\r\n }\r\n\r\n private parseAuxChannelTable(primitive: ImdlMeshPrimitive): AuxChannelTableProps | undefined {\r\n const json = primitive.auxChannels;\r\n if (undefined === json)\r\n return undefined;\r\n\r\n const bytes = this.findBuffer(JsonUtils.asString(json.bufferView));\r\n if (undefined === bytes)\r\n return undefined;\r\n\r\n return {\r\n data: bytes,\r\n width: json.width,\r\n height: json.height,\r\n count: json.count,\r\n numBytesPerVertex: json.numBytesPerVertex,\r\n displacements: json.displacements,\r\n normals: json.normals,\r\n params: json.params,\r\n };\r\n }\r\n\r\n private parseVertexTable(primitive: AnyImdlPrimitive): Imdl.VertexTable | undefined {\r\n const json = primitive.vertices;\r\n if (!json)\r\n return undefined;\r\n\r\n let bytes: Uint8Array | undefined;\r\n if (json.compressedSize && json.compressedSize > 0) {\r\n\r\n if (!this._meshoptDecoder) {\r\n return undefined;\r\n }\r\n\r\n const bufferViewJson = this._document.bufferViews[JsonUtils.asString(json.bufferView)];\r\n if (undefined === bufferViewJson)\r\n return undefined;\r\n\r\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\r\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\r\n if (0 === byteLength)\r\n return undefined;\r\n\r\n const compressedBytes = this._binaryData.subarray(byteOffset, byteOffset + json.compressedSize);\r\n if (!compressedBytes)\r\n return undefined;\r\n\r\n bytes = new Uint8Array(json.width * json.height * 4);\r\n this._meshoptDecoder.decodeVertexBuffer(bytes, json.count, json.numRgbaPerVertex * 4, compressedBytes);\r\n\r\n const remainingBytesSize = byteLength - json.compressedSize;\r\n\r\n // if there are remaining bytes, copy the data that did not go through the compression\r\n if (remainingBytesSize > 0) {\r\n const remainingBytes = this._binaryData.subarray(byteOffset + json.compressedSize, byteOffset + byteLength);\r\n if (!remainingBytes)\r\n return undefined;\r\n\r\n const decompressedSize = json.count * json.numRgbaPerVertex * 4;\r\n for (let i = 0; i < remainingBytesSize; i++) {\r\n bytes[decompressedSize + i] = remainingBytes[i];\r\n }\r\n }\r\n\r\n } else {\r\n bytes = this.findBuffer(JsonUtils.asString(json.bufferView));\r\n if (!bytes)\r\n return undefined;\r\n }\r\n\r\n const uniformFeatureID = undefined !== json.featureID ? JsonUtils.asInt(json.featureID) : undefined;\r\n\r\n const rangeMin = JsonUtils.asArray(json.params.decodedMin);\r\n const rangeMax = JsonUtils.asArray(json.params.decodedMax);\r\n if (undefined === rangeMin || undefined === rangeMax)\r\n return undefined;\r\n\r\n const qparams = QParams3d.fromRange(Range3d.create(Point3d.create(rangeMin[0], rangeMin[1], rangeMin[2]), Point3d.create(rangeMax[0], rangeMax[1], rangeMax[2])));\r\n\r\n const uniformColor = undefined !== json.uniformColor ? ColorDef.fromJSON(json.uniformColor) : undefined;\r\n let uvParams: QParams2d | undefined;\r\n if (MeshPrimitiveType.Mesh === primitive.type && primitive.surface && primitive.surface.uvParams) {\r\n const uvMin = primitive.surface.uvParams.decodedMin;\r\n const uvMax = primitive.surface.uvParams.decodedMax;\r\n const uvRange = new Range2d(uvMin[0], uvMin[1], uvMax[0], uvMax[1]);\r\n uvParams = QParams2d.fromRange(uvRange);\r\n }\r\n\r\n return {\r\n data: bytes,\r\n usesUnquantizedPositions: true === json.usesUnquantizedPositions,\r\n qparams: qparams.toJSON(),\r\n width: json.width,\r\n height: json.height,\r\n hasTranslucency: json.hasTranslucency,\r\n uniformColor: uniformColor?.toJSON(),\r\n featureIndexType: json.featureIndexType,\r\n uniformFeatureID,\r\n numVertices: json.count,\r\n numRgbaPerVertex: json.numRgbaPerVertex,\r\n uvParams: uvParams?.toJSON(),\r\n };\r\n }\r\n\r\n private parseInstances(primitive: AnyImdlPrimitive): Imdl.Instances | undefined {\r\n const json = primitive.instances;\r\n if (!json)\r\n return undefined;\r\n\r\n const count = JsonUtils.asInt(json.count, 0);\r\n if (count <= 0)\r\n return undefined;\r\n\r\n const centerComponents = JsonUtils.asArray(json.transformCenter);\r\n if (undefined === centerComponents || 3 !== centerComponents.length)\r\n return undefined;\r\n\r\n const transformCenter = Point3d.create(centerComponents[0], centerComponents[1], centerComponents[2]);\r\n\r\n const featureIds = this.findBuffer(JsonUtils.asString(json.featureIds));\r\n if (undefined === featureIds)\r\n return undefined;\r\n\r\n const transformBytes = this.findBuffer(JsonUtils.asString(json.transforms));\r\n if (undefined === transformBytes)\r\n return undefined;\r\n\r\n // 1 transform = 3 rows of 4 floats = 12 floats per instance\r\n const numFloats = transformBytes.byteLength / 4;\r\n assert(Math.floor(numFloats) === numFloats);\r\n assert(0 === numFloats % 12);\r\n\r\n const transforms = new Float32Array(transformBytes.buffer, transformBytes.byteOffset, numFloats);\r\n\r\n let symbologyOverrides: Uint8Array | undefined;\r\n if (undefined !== json.symbologyOverrides)\r\n symbologyOverrides = this.findBuffer(JsonUtils.asString(json.symbologyOverrides));\r\n\r\n return {\r\n type: \"instances\",\r\n count,\r\n transforms,\r\n transformCenter,\r\n featureIds,\r\n symbologyOverrides,\r\n };\r\n }\r\n\r\n private findBuffer(bufferViewId: string): Uint8Array | undefined {\r\n if (typeof bufferViewId !== \"string\" || 0 === bufferViewId.length)\r\n return undefined;\r\n\r\n const bufferViewJson = this._document.bufferViews[bufferViewId];\r\n if (undefined === bufferViewJson)\r\n return undefined;\r\n\r\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\r\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\r\n if (0 === byteLength)\r\n return undefined;\r\n\r\n return this._binaryData.subarray(byteOffset, byteOffset + byteLength);\r\n }\r\n\r\n private colorDefFromMaterialJson(json: ImdlColorDef | undefined): ColorDef | undefined {\r\n return undefined !== json ? ColorDef.from(json[0] * 255 + 0.5, json[1] * 255 + 0.5, json[2] * 255 + 0.5) : undefined;\r\n }\r\n\r\n private materialFromJson(key: string): RenderMaterial | undefined {\r\n const materialJson = this._document.renderMaterials[key];\r\n if (!materialJson)\r\n return undefined;\r\n\r\n const materialParams = new RenderMaterialParams(key);\r\n materialParams.diffuseColor = this.colorDefFromMaterialJson(materialJson.diffuseColor);\r\n if (materialJson.diffuse !== undefined)\r\n materialParams.diffuse = JsonUtils.asDouble(materialJson.diffuse);\r\n\r\n materialParams.specularColor = this.colorDefFromMaterialJson(materialJson.specularColor);\r\n if (materialJson.specular !== undefined)\r\n materialParams.specular = JsonUtils.asDouble(materialJson.specular);\r\n\r\n materialParams.reflectColor = this.colorDefFromMaterialJson(materialJson.reflectColor);\r\n if (materialJson.reflect !== undefined)\r\n materialParams.reflect = JsonUtils.asDouble(materialJson.reflect);\r\n\r\n if (materialJson.specularExponent !== undefined)\r\n materialParams.specularExponent = materialJson.specularExponent;\r\n\r\n if (undefined !== materialJson.transparency)\r\n materialParams.alpha = 1.0 - materialJson.transparency;\r\n\r\n materialParams.refract = JsonUtils.asDouble(materialJson.refract);\r\n materialParams.shadows = JsonUtils.asBool(materialJson.shadows);\r\n materialParams.ambient = JsonUtils.asDouble(materialJson.ambient);\r\n\r\n if (undefined !== materialJson.textureMapping)\r\n materialParams.textureMapping = this.textureMappingFromJson(materialJson.textureMapping.texture);\r\n return new Material(materialParams);\r\n }\r\n\r\n private parseNamedTexture(namedTex: ImdlNamedTexture, name: string): RenderTexture | undefined {\r\n const textureType = JsonUtils.asBool(namedTex.isGlyph) ? RenderTexture.Type.Glyph :\r\n (JsonUtils.asBool(namedTex.isTileSection) ? RenderTexture.Type.TileSection : RenderTexture.Type.Normal);\r\n\r\n return new NamedTexture(name, textureType);\r\n }\r\n\r\n private parseConstantLodProps(propsJson: { repetitions?: number, offset?: number[], minDistClamp?: number, maxDistClamp?: number } | undefined): TextureMapping.ConstantLodParamProps | undefined {\r\n if (undefined === propsJson)\r\n return undefined;\r\n\r\n return {\r\n repetitions: JsonUtils.asDouble(propsJson.repetitions, 1.0),\r\n offset: { x: propsJson.offset ? JsonUtils.asDouble(propsJson.offset[0]) : 0.0, y: propsJson.offset ? JsonUtils.asDouble(propsJson.offset[1]) : 0.0 },\r\n minDistClamp: JsonUtils.asDouble(propsJson.minDistClamp, 1.0),\r\n maxDistClamp: JsonUtils.asDouble(propsJson.maxDistClamp, 4096.0 * 1024.0 * 1024.0),\r\n };\r\n }\r\n\r\n private textureMappingFromJson(json: ImdlTextureMapping | undefined): TextureMapping | undefined {\r\n if (!json)\r\n return undefined;\r\n\r\n const name = JsonUtils.asString(json.name);\r\n const namedTex = 0 !== name.length ? this._document.namedTextures[name] : undefined;\r\n const texture = namedTex ? this.parseNamedTexture(namedTex, name) : undefined;\r\n if (!texture)\r\n return undefined;\r\n\r\n const paramsJson = json.params;\r\n const tf = paramsJson.transform;\r\n const paramProps: TextureMapping.ParamProps = {\r\n textureMat2x3: new TextureMapping.Trans2x3(tf[0][0], tf[0][1], tf[0][2], tf[1][0], tf[1][1], tf[1][2]),\r\n textureWeight: JsonUtils.asDouble(paramsJson.weight, 1.0),\r\n mapMode: JsonUtils.asInt(paramsJson.mode),\r\n worldMapping: JsonUtils.asBool(paramsJson.worldMapping),\r\n useConstantLod: JsonUtils.asBool(paramsJson.useConstantLod),\r\n constantLodProps: this.parseConstantLodProps(paramsJson.constantLodParams),\r\n };\r\n\r\n const textureMapping = new TextureMapping(texture, new TextureMapping.Params(paramProps));\r\n\r\n const normalMapJson = json.normalMapParams;\r\n if (normalMapJson) {\r\n const normalTexName = JsonUtils.asString(normalMapJson.textureName);\r\n const namedNormalTex = normalTexName.length > 0 ? this._document.namedTextures[normalTexName] : undefined;\r\n const normalMap = namedNormalTex ? this.parseNamedTexture(namedNormalTex, normalTexName) : undefined;\r\n if (normalMap) {\r\n textureMapping.normalMapParams = {\r\n normalMap,\r\n greenUp: JsonUtils.asBool(normalMapJson.greenUp),\r\n scale: JsonUtils.asDouble(normalMapJson.scale, 1),\r\n useConstantLod: JsonUtils.asBool(normalMapJson.useConstantLod),\r\n };\r\n }\r\n }\r\n\r\n return textureMapping;\r\n }\r\n\r\n private parseDisplayParams(json: ImdlDisplayParams): DisplayParams | undefined {\r\n const type = JsonUtils.asInt(json.type, DisplayParams.Type.Mesh);\r\n const lineColor = ColorDef.create(JsonUtils.asInt(json.lineColor));\r\n const fillColor = ColorDef.create(JsonUtils.asInt(json.fillColor));\r\n const width = JsonUtils.asInt(json.lineWidth);\r\n const linePixels = JsonUtils.asInt(json.linePixels, LinePixels.Solid);\r\n const fillFlags = JsonUtils.asInt(json.fillFlags, FillFlags.None);\r\n const ignoreLighting = JsonUtils.asBool(json.ignoreLighting);\r\n\r\n // Material will always contain its own texture if it has one\r\n const materialKey = json.materialId;\r\n const material = undefined !== materialKey ? this.materialFromJson(materialKey) : undefined;\r\n\r\n // We will only attempt to include the texture if material is undefined\r\n let textureMapping;\r\n let gradient: Gradient.Symb | undefined;\r\n if (!material) {\r\n const textureJson = json.texture;\r\n textureMapping = undefined !== textureJson ? this.textureMappingFromJson(textureJson) : undefined;\r\n\r\n if (undefined === textureMapping) {\r\n const gradientProps = json.gradient;\r\n gradient = undefined !== gradientProps ? Gradient.Symb.fromJSON(gradientProps) : undefined;\r\n if (gradient) {\r\n assert(undefined !== gradientProps);\r\n const texture = new GradientTexture(gradientProps);\r\n textureMapping = new TextureMapping(texture, new TextureMapping.Params({ textureMat2x3: new TextureMapping.Trans2x3(0, 1, 0, 1, 0, 0) }));\r\n }\r\n }\r\n }\r\n\r\n return new DisplayParams(type, lineColor, fillColor, width, linePixels, fillFlags, material, gradient, ignoreLighting, textureMapping);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function toMaterialParams(mat: Imdl.SurfaceMaterialParams): MaterialParams {\r\n const args: MaterialParams = { alpha: mat.alpha };\r\n if (mat.diffuse) {\r\n args.diffuse = {\r\n weight: mat.diffuse.weight,\r\n color: undefined !== mat.diffuse.color ? ColorDef.fromJSON(mat.diffuse.color) : undefined,\r\n };\r\n }\r\n\r\n if (mat.specular) {\r\n args.specular = {\r\n weight: mat.specular.weight,\r\n exponent: mat.specular.exponent,\r\n color: undefined !== mat.specular.color ? ColorDef.fromJSON(mat.specular.color) : undefined,\r\n };\r\n }\r\n\r\n return args;\r\n}\r\n\r\n/** @internal */\r\nexport function convertFeatureTable(imdlFeatureTable: Imdl.FeatureTable, batchModelId: Id64String): RenderFeatureTable {\r\n const table = imdlFeatureTable.multiModel\r\n ? MultiModelPackedFeatureTable.create(imdlFeatureTable.data, batchModelId, imdlFeatureTable.numFeatures, BatchType.Primary, imdlFeatureTable.numSubCategories)\r\n : new PackedFeatureTable(imdlFeatureTable.data, batchModelId, imdlFeatureTable.numFeatures, BatchType.Primary);\r\n\r\n table.animationNodeIds = imdlFeatureTable.animationNodeIds;\r\n return table;\r\n}\r\n\r\n/** @internal */\r\nexport async function parseImdlDocument(options: ParseImdlDocumentArgs): Promise<Imdl.Document | ImdlParseError> {\r\n\r\n const stream = ByteStream.fromUint8Array(options.data);\r\n const imdlHeader = new ImdlHeader(stream);\r\n if (!imdlHeader.isValid)\r\n return TileReadStatus.InvalidHeader;\r\n else if (!imdlHeader.isReadableVersion)\r\n return TileReadStatus.NewerMajorVersion;\r\n\r\n // Skip the feature table - we need to parse the JSON segment first to access its animationNodeIds.\r\n const ftStartPos = stream.curPos;\r\n const ftHeader = FeatureTableHeader.readFrom(stream);\r\n if (!ftHeader)\r\n return TileReadStatus.InvalidFeatureTable;\r\n\r\n stream.curPos = ftStartPos + ftHeader.length;\r\n\r\n // A glTF header follows the feature table\r\n const gltfHeader = new GltfHeader(stream);\r\n if (!gltfHeader.isValid)\r\n return TileReadStatus.InvalidTileData;\r\n\r\n stream.curPos = gltfHeader.scenePosition;\r\n const sceneStrData = stream.nextBytes(gltfHeader.sceneStrLength);\r\n const sceneStr = utf8ToString(sceneStrData);\r\n if (!sceneStr)\r\n return TileReadStatus.InvalidScene;\r\n\r\n try {\r\n const sceneValue = JSON.parse(sceneStr);\r\n const imdlDoc: Document = {\r\n scene: JsonUtils.asString(sceneValue.scene),\r\n scenes: JsonUtils.asArray(sceneValue.scenes),\r\n animationNodes: JsonUtils.asObject(sceneValue.animationNodes),\r\n bufferViews: JsonUtils.asObject(sceneValue.bufferViews) ?? {},\r\n meshes: JsonUtils.asObject(sceneValue.meshes),\r\n nodes: JsonUtils.asObject(sceneValue.nodes) ?? {},\r\n materials: JsonUtils.asObject(sceneValue.materials) ?? {},\r\n renderMaterials: JsonUtils.asObject(sceneValue.renderMaterials) ?? {},\r\n namedTextures: JsonUtils.asObject(sceneValue.namedTextures) ?? {},\r\n patternSymbols: JsonUtils.asObject(sceneValue.patternSymbols) ?? {},\r\n rtcCenter: JsonUtils.asArray(sceneValue.rtcCenter),\r\n };\r\n\r\n if (!imdlDoc.meshes)\r\n return TileReadStatus.InvalidTileData;\r\n\r\n const binaryData = new Uint8Array(stream.arrayBuffer, gltfHeader.binaryPosition);\r\n const featureTable = {\r\n startPos: ftStartPos,\r\n multiModel: 0 !== (imdlHeader.flags & ImdlFlags.MultiModelFeatureTable),\r\n };\r\n\r\n const parser = new Parser(imdlDoc, binaryData, options, featureTable, stream);\r\n return await parser.parse();\r\n } catch {\r\n return TileReadStatus.InvalidTileData;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ParseImdlDocument.js","sourceRoot":"","sources":["../../../../src/common/imdl/ParseImdlDocument.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Symbols.js","sourceRoot":"","sources":["../../../../src/common/internal/Symbols.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;AAE1I,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,GAAG,IAAI,yCAAyC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,gBAAgB;AAChB,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,gBAAgB;AAChB,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC","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 Utils\r\n */\r\n\r\nexport const _implementationProhibited = Symbol.for(\"Implementations of this interface can only be obtained from the containing package\");\r\n\r\nfunction sym(name: string): string {\r\n return `${name}_core-frontend_INTERNAL_ONLY_DO_NOT_USE`;\r\n}\r\n\r\nexport const _accumulator = Symbol.for(sym(\"accumulator\"));\r\nexport const _batch = Symbol.for(sym(\"batch\"));\r\nexport const _branch = Symbol.for(sym(\"branch\"));\r\n/** @internal */\r\nexport const _callIpcChannel = Symbol.for(sym(\"callIpcChannel\"));\r\nexport const _featureTable = Symbol.for(sym(\"featureTable\"));\r\nexport const _nodes = Symbol.for(sym(\"nodes\"));\r\nexport const _onScheduleScriptReferenceChanged = Symbol.for(sym(\"onScheduleScriptReferenceChanged\"));\r\nexport const _requestSnap = Symbol.for(sym(\"requestSnap\"));\r\nexport const _renderSystem = Symbol.for(sym(\"renderSystem\"));\r\n/** @internal */\r\nexport const _scheduleScriptReference = Symbol.for(sym(\"scheduleScriptReference\"));\r\nexport const _textures = Symbol.for(sym(\"textures\"));\r\nexport const _transformCenter = Symbol.for(sym(\"transformCenter\"));\r\nexport const _transforms = Symbol.for(sym(\"transforms\"));\r\n"]}
1
+ {"version":3,"file":"Symbols.js","sourceRoot":"","sources":["../../../../src/common/internal/Symbols.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;AAE1I,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,GAAG,IAAI,yCAAyC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,gBAAgB;AAChB,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,gBAAgB;AAChB,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationNodeId.js","sourceRoot":"","sources":["../../../../../src/common/internal/render/AnimationNodeId.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAN,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,gFAA0B,CAAA;AAC5B,CAAC,EAFW,eAAe,KAAf,eAAe,QAE1B","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\n/** Special values of [[GraphicBranch.animationNodeId]].\r\n * All other values refer to an [ElementTimeline.batchId]($common) that applies a transform to the graphics in the branch.\r\n * @internal\r\n */\r\nexport enum AnimationNodeId {\r\n Untransformed = 0xffffffff,\r\n}\r\n"]}
1
+ {"version":3,"file":"AnimationNodeId.js","sourceRoot":"","sources":["../../../../../src/common/internal/render/AnimationNodeId.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAN,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,gFAA0B,CAAA;AAC5B,CAAC,EAFW,eAAe,KAAf,eAAe,QAE1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuxChannelTable.js","sourceRoot":"","sources":["../../../../../src/common/internal/render/AuxChannelTable.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, Mutable } from \"@itwin/core-bentley\";\r\nimport {\r\n AuxChannelDataType, Point3d, AuxChannel as PolyfaceAuxChannel, Range1d, Range3d, Vector3d,\r\n} from \"@itwin/core-geometry\";\r\nimport { OctEncodedNormal, QParams3d, QPoint3d, Quantization } from \"@itwin/core-common\";\r\nimport { computeDimensions } from \"./VertexTable\";\r\n\r\n/** @alpha */\r\nexport interface AuxChannelProps {\r\n readonly name: string;\r\n readonly inputs: number[];\r\n readonly indices: number[];\r\n}\r\n\r\n/** @alpha */\r\nexport interface QuantizedAuxChannelProps extends AuxChannelProps {\r\n readonly qOrigin: number[];\r\n readonly qScale: number[];\r\n}\r\n\r\n/** @alpha */\r\nexport class AuxChannel implements AuxChannelProps {\r\n public readonly name: string;\r\n public readonly inputs: number[];\r\n public readonly indices: number[];\r\n\r\n public constructor(props: AuxChannelProps) {\r\n this.name = props.name;\r\n this.inputs = props.inputs;\r\n this.indices = props.indices;\r\n }\r\n\r\n public toJSON(): AuxChannelProps {\r\n return {\r\n name: this.name,\r\n inputs: this.inputs,\r\n indices: this.indices,\r\n };\r\n }\r\n}\r\n\r\n/** @alpha */\r\nexport class AuxDisplacementChannel extends AuxChannel {\r\n public readonly qOrigin: Float32Array;\r\n public readonly qScale: Float32Array;\r\n\r\n public constructor(props: QuantizedAuxChannelProps) {\r\n super(props);\r\n this.qOrigin = Float32Array.from(props.qOrigin);\r\n this.qScale = Float32Array.from(props.qScale);\r\n }\r\n\r\n public override toJSON(): QuantizedAuxChannelProps {\r\n return {\r\n ...super.toJSON(),\r\n qOrigin: Array.from(this.qOrigin),\r\n qScale: Array.from(this.qScale),\r\n };\r\n }\r\n}\r\n\r\n/** @alpha */\r\nexport class AuxParamChannel extends AuxChannel {\r\n public readonly qOrigin: number;\r\n public readonly qScale: number;\r\n\r\n public constructor(props: QuantizedAuxChannelProps) {\r\n super(props);\r\n this.qOrigin = props.qOrigin[0];\r\n this.qScale = props.qScale[0];\r\n }\r\n\r\n public override toJSON(): QuantizedAuxChannelProps {\r\n return {\r\n ...super.toJSON(),\r\n qOrigin: [this.qOrigin],\r\n qScale: [this.qScale],\r\n };\r\n }\r\n}\r\n\r\n/** @alpha */\r\nexport interface AuxChannelTableProps {\r\n /** Rectangular array of per-vertex data, of size width * height * numBytesPerVertex bytes. */\r\n readonly data: Uint8Array;\r\n /** The number of 4-byte RGBA columns in each row of the array. */\r\n readonly width: number;\r\n /** The number of rows in the array. */\r\n readonly height: number;\r\n /** The number of vertices in the array. Must be no more than (width * height) / numBytesPerVertex. */\r\n readonly count: number;\r\n /** The number of bytes allocated for each vertex. Must be a multiple of two. */\r\n readonly numBytesPerVertex: number;\r\n /** Displacements used for animations. */\r\n readonly displacements?: QuantizedAuxChannelProps[];\r\n /** Normals used for animations. */\r\n readonly normals?: AuxChannelProps[];\r\n /** Scalar params used for animations. */\r\n readonly params?: QuantizedAuxChannelProps[];\r\n}\r\n\r\n/**\r\n * Represents one or more channels of auxiliary per-vertex data which can be used to animate and resymbolize a mesh in various ways.\r\n * Each channel holds a fixed number of bytes for each vertex (typically 2 bytes for normals and params, 6 bytes for displacements).\r\n * The channels are interleaved in a rectangular array such that the data for each vertex is stored contiguously; that is, if a displacement and\r\n * a normal channel exist, then the first vertex's displacement is followed by the first vertex's normal, which is followed by the second\r\n * vertex's displacement and normal; and so on.\r\n * @alpha\r\n */\r\nexport class AuxChannelTable {\r\n /** Rectangular array of per-vertex data, of size width * height * numBytesPerVertex bytes. */\r\n public readonly data: Uint8Array;\r\n /** The number of 4-byte RGBA columns in each row of the array. */\r\n public readonly width: number;\r\n /** The number of rows in the array. */\r\n public readonly height: number;\r\n /** The number of vertices in the array. Must be no more than (width * height) / numBytesPerVertex. */\r\n public readonly numVertices: number;\r\n /** The number of bytes allocated for each vertex. Must be a multiple of two. */\r\n public readonly numBytesPerVertex: number;\r\n /** Displacements used for animations. */\r\n public readonly displacements?: AuxDisplacementChannel[];\r\n /** Normals used for animations. */\r\n public readonly normals?: AuxChannel[];\r\n /** Scalar params used for animations. */\r\n public readonly params?: AuxParamChannel[];\r\n\r\n private constructor(props: AuxChannelTableProps, displacements?: AuxDisplacementChannel[], normals?: AuxChannel[], params?: AuxParamChannel[]) {\r\n this.data = props.data;\r\n this.width = props.width;\r\n this.height = props.height;\r\n this.numVertices = props.count;\r\n this.numBytesPerVertex = props.numBytesPerVertex;\r\n this.displacements = displacements;\r\n this.normals = normals;\r\n this.params = params;\r\n }\r\n\r\n public static fromJSON(props: AuxChannelTableProps): AuxChannelTable | undefined {\r\n let displacements: AuxDisplacementChannel[] | undefined;\r\n let normals: AuxChannel[] | undefined;\r\n let params: AuxParamChannel[] | undefined;\r\n\r\n if (undefined !== props.displacements && 0 < props.displacements.length) {\r\n displacements = [];\r\n for (const displacement of props.displacements)\r\n displacements.push(new AuxDisplacementChannel(displacement));\r\n }\r\n\r\n if (undefined !== props.normals && 0 < props.normals.length) {\r\n normals = [];\r\n for (const normal of props.normals)\r\n normals.push(new AuxChannel(normal));\r\n }\r\n\r\n if (undefined !== props.params && 0 < props.params.length) {\r\n params = [];\r\n for (const param of props.params)\r\n params.push(new AuxParamChannel(param));\r\n }\r\n\r\n return undefined !== displacements || undefined !== normals || undefined !== params ? new AuxChannelTable(props, displacements, normals, params) : undefined;\r\n }\r\n\r\n public toJSON(): AuxChannelTableProps {\r\n return {\r\n data: this.data,\r\n width: this.width,\r\n height: this.height,\r\n count: this.numVertices,\r\n numBytesPerVertex: this.numBytesPerVertex,\r\n displacements: this.displacements?.map((x) => x.toJSON()),\r\n normals: this.normals?.map((x) => x.toJSON()),\r\n params: this.params?.map((x) => x.toJSON()),\r\n };\r\n }\r\n\r\n public static fromChannels(channels: ReadonlyArray<PolyfaceAuxChannel>, numVertices: number, maxDimension: number): AuxChannelTable | undefined {\r\n return AuxChannelTableBuilder.buildAuxChannelTable(channels, numVertices, maxDimension);\r\n }\r\n}\r\n\r\nfunction invert(num: number): number {\r\n if (0 !== num)\r\n num = 1 / num;\r\n\r\n return num;\r\n}\r\n\r\nclass AuxChannelTableBuilder {\r\n private readonly _view: DataView;\r\n private readonly _props: Mutable<AuxChannelTableProps>;\r\n private readonly _numBytesPerVertex: number;\r\n\r\n private constructor(props: Mutable<AuxChannelTableProps>, numBytesPerVertex: number) {\r\n this._props = props;\r\n this._numBytesPerVertex = numBytesPerVertex;\r\n this._view = new DataView(props.data.buffer);\r\n }\r\n\r\n public static buildAuxChannelTable(channels: ReadonlyArray<PolyfaceAuxChannel>, numVertices: number, maxDimension: number): AuxChannelTable | undefined {\r\n const numBytesPerVertex = channels.reduce((accum, channel) => accum + computeNumBytesPerVertex(channel), 0);\r\n if (!numBytesPerVertex)\r\n return undefined;\r\n\r\n const nRgbaPerVertex = Math.floor((numBytesPerVertex + 3) / 4);\r\n const nUnusedBytesPerVertex = nRgbaPerVertex * 4 - numBytesPerVertex;\r\n assert(0 === nUnusedBytesPerVertex || 2 === nUnusedBytesPerVertex);\r\n\r\n // We don't want any unused bytes. If we've got 2 extra, make every other vertex's channel start in the middle of the first texel.\r\n let dimensions;\r\n if (0 !== nUnusedBytesPerVertex)\r\n dimensions = computeDimensions(Math.floor((numVertices + 1) / 2), numBytesPerVertex / 2, 0, maxDimension); // twice as many RGBA for half as many vertices.\r\n else\r\n dimensions = computeDimensions(numVertices, nRgbaPerVertex, 0, maxDimension);\r\n\r\n const data = new Uint8Array(dimensions.width * dimensions.height * 4);\r\n const props: Mutable<AuxChannelTableProps> = {\r\n data,\r\n width: dimensions.width,\r\n height: dimensions.height,\r\n count: numVertices,\r\n numBytesPerVertex,\r\n };\r\n\r\n const builder = new AuxChannelTableBuilder(props, numBytesPerVertex);\r\n builder.build(channels);\r\n return AuxChannelTable.fromJSON(props);\r\n }\r\n\r\n private build(channels: ReadonlyArray<PolyfaceAuxChannel>): void {\r\n let byteOffset = 0;\r\n for (const channel of channels) {\r\n if (AuxChannelDataType.Normal === channel.dataType)\r\n this.addNormals(channel, byteOffset);\r\n else if (AuxChannelDataType.Vector === channel.dataType)\r\n this.addDisplacements(channel, byteOffset);\r\n else\r\n this.addParams(channel, byteOffset);\r\n\r\n byteOffset += computeNumBytesPerVertex(channel);\r\n }\r\n }\r\n\r\n private addNormals(channel: PolyfaceAuxChannel, byteOffset: number): void {\r\n const inputs = [];\r\n const indices = [];\r\n\r\n const normal = new Vector3d();\r\n for (let i = 0; i < channel.data.length; i++) {\r\n let byteIndex = byteOffset + i * 2; // 2 bytes per normal\r\n indices.push(byteIndex / 2); // indices aligned to 2-byte intervals\r\n\r\n const data = channel.data[i];\r\n inputs.push(data.input);\r\n\r\n for (let j = 0; j < data.values.length; j += 3) {\r\n normal.x = data.values[j];\r\n normal.y = data.values[j + 1];\r\n normal.z = data.values[j + 2];\r\n normal.normalizeInPlace();\r\n\r\n const encodedNormal = OctEncodedNormal.encode(normal);\r\n this._view.setUint16(byteIndex, encodedNormal, true);\r\n byteIndex += this._numBytesPerVertex;\r\n }\r\n }\r\n\r\n const normals = this._props.normals ?? (this._props.normals = []);\r\n normals.push({\r\n name: channel.name ?? \"\",\r\n inputs,\r\n indices,\r\n });\r\n }\r\n\r\n private addParams(channel: PolyfaceAuxChannel, byteOffset: number): void {\r\n const inputs = [];\r\n const indices = [];\r\n\r\n const range = Range1d.createNull();\r\n for (const data of channel.data) {\r\n inputs.push(data.input);\r\n range.extendArray(data.values);\r\n }\r\n\r\n const qScale = Quantization.computeScale(range.high - range.low);\r\n\r\n for (let i = 0; i < channel.data.length; i++) {\r\n let byteIndex = byteOffset + i * 2; // 2 bytes per double\r\n indices.push(byteIndex / 2); // indices aligned to 2-byte intervals\r\n\r\n for (const value of channel.data[i].values) {\r\n const quantized = Quantization.quantize(value, range.low, qScale);\r\n this._view.setUint16(byteIndex, quantized, true);\r\n byteIndex += this._numBytesPerVertex;\r\n }\r\n }\r\n\r\n const params = this._props.params ?? (this._props.params = []);\r\n params.push({\r\n inputs,\r\n indices,\r\n name: channel.name ?? \"\",\r\n qOrigin: [range.low],\r\n qScale: [invert(qScale)],\r\n });\r\n }\r\n\r\n private addDisplacements(channel: PolyfaceAuxChannel, byteOffset: number): void {\r\n const inputs = [];\r\n const indices = [];\r\n\r\n const point = new Point3d();\r\n const range = Range3d.createNull();\r\n for (const data of channel.data) {\r\n inputs.push(data.input);\r\n for (let i = 0; i < data.values.length; i += 3) {\r\n point.set(data.values[i], data.values[i + 1], data.values[i + 2]);\r\n range.extend(point);\r\n }\r\n }\r\n\r\n const qParams = QParams3d.fromRange(range);\r\n const qPoint = new QPoint3d();\r\n for (let i = 0; i < channel.data.length; i++) {\r\n let byteIndex = byteOffset + i * 6; // 2 bytes per coordinate\r\n indices.push(byteIndex / 2); // indices aligned to 2-byte intervals\r\n\r\n const data = channel.data[i];\r\n for (let j = 0; j < data.values.length; j += 3) {\r\n point.set(data.values[j], data.values[j + 1], data.values[j + 2]);\r\n qPoint.init(point, qParams);\r\n\r\n this._view.setUint16(byteIndex + 0, qPoint.x, true);\r\n this._view.setUint16(byteIndex + 2, qPoint.y, true);\r\n this._view.setUint16(byteIndex + 4, qPoint.z, true);\r\n byteIndex += this._numBytesPerVertex;\r\n }\r\n }\r\n\r\n const displacements = this._props.displacements ?? (this._props.displacements = []);\r\n displacements.push({\r\n inputs,\r\n indices,\r\n name: channel.name ?? \"\",\r\n qOrigin: qParams.origin.toArray(),\r\n qScale: qParams.scale.toArray().map((x) => invert(x)),\r\n });\r\n }\r\n}\r\n\r\nfunction computeNumBytesPerVertex(channel: PolyfaceAuxChannel): number {\r\n const nEntries = channel.data.length;\r\n switch (channel.dataType) {\r\n case AuxChannelDataType.Vector:\r\n return 6 * nEntries; // 3 16-bit quantized coordinate values per entry.\r\n case AuxChannelDataType.Normal:\r\n case AuxChannelDataType.Distance:\r\n case AuxChannelDataType.Scalar:\r\n return 2 * nEntries; // 1 16-bit quantized value per entry.\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"AuxChannelTable.js","sourceRoot":"","sources":["../../../../../src/common/internal/render/AuxChannelTable.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorMap.js","sourceRoot":"","sources":["../../../../../src/common/internal/render/ColorMap.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAc,MAAM,oBAAoB,CAAC;AAE1D,gBAAgB;AAChB,MAAM,OAAO,QAAS,SAAQ,QAAgB;IACpC,gBAAgB,GAAY,KAAK,CAAC;IAE1C,gBAAuB,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEhD,QAAQ,CAAC,KAAa,IAAa,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAM,CAAC,KAAa;QAClC,yEAAyE;QACzE,IAAI,IAAI,CAAC,OAAO;YACd,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;;YAEtD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,IAAW,eAAe,KAAc,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvE,IAAW,SAAS,KAAc,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtD,YAAY,CAAC,KAAiB,EAAE,OAAiB;QACtD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;gBAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAEpC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,IAAY;QACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, compareNumbers, IndexMap } from \"@itwin/core-bentley\";\r\nimport { ColorDef, ColorIndex } from \"@itwin/core-common\";\r\n\r\n/** @internal */\r\nexport class ColorMap extends IndexMap<number> {\r\n private _hasTransparency: boolean = false;\r\n\r\n public constructor() { super(compareNumbers, 0xffff); }\r\n\r\n public hasColor(color: number): boolean { return -1 !== this.indexOf(color); }\r\n\r\n public override insert(color: number): number {\r\n // The table should never contain a mix of opaque and translucent colors.\r\n if (this.isEmpty)\r\n this._hasTransparency = ColorMap.isTranslucent(color);\r\n else\r\n assert(ColorMap.isTranslucent(color) === this.hasTransparency);\r\n\r\n return super.insert(color);\r\n }\r\n\r\n public get hasTransparency(): boolean { return this._hasTransparency; }\r\n public get isUniform(): boolean { return 1 === this.length; }\r\n\r\n public toColorIndex(index: ColorIndex, indices: number[]): void {\r\n index.reset();\r\n if (0 === this.length) {\r\n assert(false, \"empty color map\");\r\n return;\r\n } else if (1 === this.length) {\r\n index.initUniform(this._array[0].value);\r\n } else {\r\n const colors = new Uint32Array(this.length);\r\n for (const entry of this._array)\r\n colors[entry.index] = entry.value;\r\n\r\n index.initNonUniform(colors, indices, this.hasTransparency);\r\n }\r\n }\r\n\r\n private static isTranslucent(tbgr: number) {\r\n return !ColorDef.isOpaque(tbgr);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ColorMap.js","sourceRoot":"","sources":["../../../../../src/common/internal/render/ColorMap.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAc,MAAM,oBAAoB,CAAC;AAE1D,gBAAgB;AAChB,MAAM,OAAO,QAAS,SAAQ,QAAgB;IACpC,gBAAgB,GAAY,KAAK,CAAC;IAE1C,gBAAuB,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEhD,QAAQ,CAAC,KAAa,IAAa,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAM,CAAC,KAAa;QAClC,yEAAyE;QACzE,IAAI,IAAI,CAAC,OAAO;YACd,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;;YAEtD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,IAAW,eAAe,KAAc,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvE,IAAW,SAAS,KAAc,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtD,YAAY,CAAC,KAAiB,EAAE,OAAiB;QACtD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;gBAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAEpC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,IAAY;QACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"DisplayParams.js","sourceRoot":"","sources":["../../../../../src/common/internal/render/DisplayParams.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, compareBooleans, compareNumbers, comparePossiblyUndefined } from \"@itwin/core-bentley\";\r\nimport { ColorDef, FillFlags, Gradient, GraphicParams, LinePixels, RenderMaterial, RenderTexture, TextureMapping } from \"@itwin/core-common\";\r\n\r\nfunction compareMaterials(lhs?: RenderMaterial, rhs?: RenderMaterial): number {\r\n return comparePossiblyUndefined((lh, rh) => lh.compare(rh), lhs, rhs);\r\n}\r\n\r\nfunction compareTextureMappings(lhs?: TextureMapping, rhs?: TextureMapping): number {\r\n return comparePossiblyUndefined((lh, rh) => lh.compare(rh), lhs, rhs);\r\n}\r\n\r\n/** This class is used to determine if things can be batched together for display.\r\n * @internal\r\n */\r\nexport class DisplayParams {\r\n public static readonly minTransparency: number = 15; // Threshold below which we consider a color fully opaque\r\n public readonly type: DisplayParams.Type = DisplayParams.Type.Mesh;\r\n public readonly material?: RenderMaterial; // meshes only\r\n public readonly gradient?: Gradient.Symb;\r\n private readonly _textureMapping?: TextureMapping; // only if material is undefined - e.g. glyphs, gradients\r\n public readonly lineColor: ColorDef; // all types of geometry (edge color for meshes)\r\n public readonly fillColor: ColorDef; // meshes only\r\n public readonly width: number; // linear and mesh (edges)\r\n public readonly linePixels: LinePixels; // linear and mesh (edges)\r\n public readonly fillFlags: FillFlags; // meshes only\r\n public readonly ignoreLighting: boolean; // always true for text and linear geometry; true for meshes only if normals not desired\r\n\r\n public constructor(type: DisplayParams.Type, lineColor: ColorDef, fillColor: ColorDef, width: number = 0, linePixels: LinePixels = LinePixels.Solid,\r\n fillFlags: FillFlags = FillFlags.None, material?: RenderMaterial, gradient?: Gradient.Symb, ignoreLighting: boolean = false, textureMapping?: TextureMapping) {\r\n this.type = type;\r\n this.material = material;\r\n this.gradient = gradient;\r\n this.lineColor = DisplayParams.adjustTransparency(lineColor);\r\n this.fillColor = DisplayParams.adjustTransparency(fillColor);\r\n this.width = width;\r\n this.linePixels = linePixels;\r\n this.fillFlags = fillFlags;\r\n this.ignoreLighting = ignoreLighting;\r\n this._textureMapping = textureMapping;\r\n\r\n assert(undefined === material || undefined === textureMapping);\r\n }\r\n\r\n /** Creates a DisplayParams object for a particular type (mesh, linear, text) based on the specified GraphicParams. */\r\n public static createForType(type: DisplayParams.Type, gf: GraphicParams, resolveGradient?: (grad: Gradient.Symb) => RenderTexture | undefined, ignoreLighting = false): DisplayParams {\r\n const lineColor = DisplayParams.adjustTransparency(gf.lineColor);\r\n switch (type) {\r\n case DisplayParams.Type.Mesh: {\r\n let gradientMapping: TextureMapping | undefined;\r\n if (undefined !== gf.gradient && undefined !== resolveGradient) {\r\n const gradientTexture = resolveGradient(gf.gradient);\r\n if (undefined !== gradientTexture)\r\n gradientMapping = new TextureMapping(gradientTexture, new TextureMapping.Params());\r\n }\r\n return new DisplayParams(type, lineColor, DisplayParams.adjustTransparency(gf.fillColor), gf.rasterWidth, gf.linePixels, gf.fillFlags, gf.material, gf.gradient, ignoreLighting, gradientMapping);\r\n }\r\n case DisplayParams.Type.Linear:\r\n return new DisplayParams(type, lineColor, lineColor, gf.rasterWidth, gf.linePixels);\r\n default: // DisplayParams.Type.Text\r\n return new DisplayParams(type, lineColor, lineColor, 0, LinePixels.Solid, FillFlags.Always, undefined, undefined, true);\r\n }\r\n }\r\n\r\n /** Creates a DisplayParams object that describes mesh geometry based on the specified GraphicParams. */\r\n public static createForMesh(gf: GraphicParams, ignoreLighting: boolean, resolveGradient?: (grad: Gradient.Symb) => RenderTexture | undefined): DisplayParams {\r\n return DisplayParams.createForType(DisplayParams.Type.Mesh, gf, resolveGradient, ignoreLighting);\r\n }\r\n\r\n /** Creates a DisplayParams object that describes linear geometry based on the specified GraphicParams. */\r\n public static createForLinear(gf: GraphicParams): DisplayParams {\r\n return DisplayParams.createForType(DisplayParams.Type.Linear, gf);\r\n }\r\n\r\n /** Creates a DisplayParams object that describes text geometry based on the specified GraphicParams. */\r\n public static createForText(gf: GraphicParams): DisplayParams {\r\n return DisplayParams.createForType(DisplayParams.Type.Text, gf);\r\n }\r\n\r\n public get regionEdgeType(): DisplayParams.RegionEdgeType {\r\n if (this.hasBlankingFill)\r\n return DisplayParams.RegionEdgeType.None;\r\n\r\n if (this.gradient !== undefined && undefined !== this.gradient.flags) {\r\n // Even if the gradient is not outlined, produce an outline to be displayed as the region's edges when fill ViewFlag is off.\r\n const gradFlags: Gradient.Flags = this.gradient.flags;\r\n if (0 !== (gradFlags & Gradient.Flags.Outline) || FillFlags.None === (this.fillFlags & FillFlags.Always))\r\n return DisplayParams.RegionEdgeType.Outline;\r\n return DisplayParams.RegionEdgeType.None;\r\n }\r\n return (!this.fillColor.equals(this.lineColor)) ? DisplayParams.RegionEdgeType.Outline : DisplayParams.RegionEdgeType.Default;\r\n }\r\n\r\n public get wantRegionOutline(): boolean {\r\n return DisplayParams.RegionEdgeType.Outline === this.regionEdgeType;\r\n }\r\n\r\n public get hasBlankingFill(): boolean { return FillFlags.Blanking === (this.fillFlags & FillFlags.Blanking); }\r\n public get hasFillTransparency(): boolean { return 255 !== this.fillColor.getAlpha(); }\r\n public get hasLineTransparency(): boolean { return 255 !== this.lineColor.getAlpha(); }\r\n public get textureMapping(): TextureMapping | undefined { return undefined !== this.material ? this.material.textureMapping : this._textureMapping; }\r\n public get isTextured(): boolean { return undefined !== this.textureMapping; }\r\n\r\n /** Determines if the properties of this DisplayParams object are equal to those of another DisplayParams object. */\r\n public equals(rhs: DisplayParams, purpose: DisplayParams.ComparePurpose = DisplayParams.ComparePurpose.Strict): boolean {\r\n if (DisplayParams.ComparePurpose.Merge === purpose)\r\n return 0 === this.compareForMerge(rhs);\r\n else if (rhs === this)\r\n return true;\r\n\r\n if (this.type !== rhs.type)\r\n return false;\r\n if (this.ignoreLighting !== rhs.ignoreLighting)\r\n return false;\r\n if (this.width !== rhs.width)\r\n return false;\r\n if (this.linePixels !== rhs.linePixels)\r\n return false;\r\n if (this.fillFlags !== rhs.fillFlags)\r\n return false;\r\n if (this.wantRegionOutline !== rhs.wantRegionOutline)\r\n return false;\r\n if (this.material !== rhs.material)\r\n return false;\r\n if (this.textureMapping !== rhs.textureMapping)\r\n return false;\r\n\r\n if (!this.fillColor.equals(rhs.fillColor))\r\n return false;\r\n if (!this.lineColor.equals(rhs.lineColor))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n public compareForMerge(rhs: DisplayParams): number {\r\n if (rhs === this)\r\n return 0;\r\n\r\n let diff = compareNumbers(this.type, rhs.type);\r\n if (0 === diff) {\r\n diff = compareBooleans(this.ignoreLighting, rhs.ignoreLighting);\r\n if (0 === diff) {\r\n diff = compareNumbers(this.width, rhs.width);\r\n if (0 === diff) {\r\n diff = compareNumbers(this.linePixels, rhs.linePixels);\r\n if (0 === diff) {\r\n diff = compareNumbers(this.fillFlags, rhs.fillFlags);\r\n if (0 === diff) {\r\n diff = compareBooleans(this.wantRegionOutline, rhs.wantRegionOutline);\r\n if (0 === diff) {\r\n diff = compareBooleans(this.hasFillTransparency, rhs.hasFillTransparency);\r\n if (0 === diff) {\r\n diff = compareBooleans(this.hasLineTransparency, rhs.hasLineTransparency);\r\n if (0 === diff) {\r\n diff = compareMaterials(this.material, rhs.material);\r\n if (0 === diff && undefined === this.material && this.isTextured) {\r\n diff = compareTextureMappings(this.textureMapping, rhs.textureMapping);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return diff;\r\n }\r\n\r\n /**\r\n * Given a ColorDef object, check its transparency and if it falls below the minimum, mark the color as fully opaque.\r\n * @return The original reference to the color provided, which has possibly been modified.\r\n */\r\n public static adjustTransparency(color: ColorDef): ColorDef {\r\n return (color.colors.t < DisplayParams.minTransparency) ? color.withTransparency(0) : color;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport namespace DisplayParams {\r\n export enum Type {\r\n Mesh,\r\n Linear,\r\n Text,\r\n }\r\n\r\n export enum RegionEdgeType {\r\n None,\r\n Default,\r\n Outline,\r\n }\r\n\r\n export enum ComparePurpose {\r\n Merge, // considers colors equivalent if both have or both lack transparency\r\n Strict, // compares all members\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"DisplayParams.js","sourceRoot":"","sources":["../../../../../src/common/internal/render/DisplayParams.ts"],"names":[],"mappings":"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"}