@itwin/core-frontend 4.10.0-dev.31 → 4.10.0-dev.33
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.
- package/lib/cjs/AccuDraw.d.ts.map +1 -1
- package/lib/cjs/AccuDraw.js +0 -2
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AccuSnap.d.ts.map +1 -1
- package/lib/cjs/AccuSnap.js +9 -4
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/BackgroundMapGeometry.js +3 -3
- package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
- package/lib/cjs/BingLocation.js +1 -1
- package/lib/cjs/BingLocation.js.map +1 -1
- package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
- package/lib/cjs/BriefcaseConnection.js +2 -2
- package/lib/cjs/BriefcaseConnection.js.map +1 -1
- package/lib/cjs/BriefcaseTxns.d.ts.map +1 -1
- package/lib/cjs/ChangeFlags.d.ts +1 -1
- package/lib/cjs/ChangeFlags.d.ts.map +1 -1
- package/lib/cjs/ChangeFlags.js.map +1 -1
- package/lib/cjs/CheckpointConnection.js +1 -1
- package/lib/cjs/CheckpointConnection.js.map +1 -1
- package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
- package/lib/cjs/DisplayStyleState.js +6 -6
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.d.ts +4 -4
- package/lib/cjs/DrawingViewState.d.ts.map +1 -1
- package/lib/cjs/DrawingViewState.js +10 -9
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/EnvironmentDecorations.js +1 -1
- package/lib/cjs/EnvironmentDecorations.js.map +1 -1
- package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
- package/lib/cjs/HitDetail.d.ts +36 -7
- package/lib/cjs/HitDetail.d.ts.map +1 -1
- package/lib/cjs/HitDetail.js +11 -3
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.d.ts.map +1 -1
- package/lib/cjs/IModelApp.js +1 -2
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.js +8 -8
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/LinePlaneIntersect.js +1 -2
- package/lib/cjs/LinePlaneIntersect.js.map +1 -1
- package/lib/cjs/NativeApp.d.ts +1 -1
- package/lib/cjs/NativeApp.d.ts.map +1 -1
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/NoRenderApp.d.ts.map +1 -1
- package/lib/cjs/NotificationManager.d.ts +2 -2
- package/lib/cjs/NotificationManager.d.ts.map +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +1 -2
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceContextShareImpl.d.ts.map +1 -1
- package/lib/cjs/RealityDataSourceContextShareImpl.js +2 -3
- package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +1 -1
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/cjs/SheetViewState.d.ts +4 -4
- package/lib/cjs/SheetViewState.d.ts.map +1 -1
- package/lib/cjs/SheetViewState.js +18 -5
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/SpatialViewState.js +1 -1
- package/lib/cjs/SpatialViewState.js.map +1 -1
- package/lib/cjs/SubCategoriesCache.js +1 -1
- package/lib/cjs/SubCategoriesCache.js.map +1 -1
- package/lib/cjs/TentativePoint.js +1 -1
- package/lib/cjs/TentativePoint.js.map +1 -1
- package/lib/cjs/ViewCreator3d.js +1 -1
- package/lib/cjs/ViewCreator3d.js.map +1 -1
- package/lib/cjs/ViewGlobalLocation.js +9 -9
- package/lib/cjs/ViewGlobalLocation.js.map +1 -1
- package/lib/cjs/ViewState.d.ts +16 -7
- package/lib/cjs/ViewState.d.ts.map +1 -1
- package/lib/cjs/ViewState.js +5 -5
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +2 -4
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/ViewportSync.js +6 -6
- package/lib/cjs/ViewportSync.js.map +1 -1
- package/lib/cjs/common/ImageUtil.js +15 -16
- package/lib/cjs/common/ImageUtil.js.map +1 -1
- package/lib/cjs/common/WorkerProxy.js +1 -2
- package/lib/cjs/common/WorkerProxy.js.map +1 -1
- package/lib/cjs/common/gltf/GltfParser.js +7 -8
- package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.d.ts +1 -1
- package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.js +5 -5
- package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
- package/lib/cjs/common/imdl/CompactEdges.js +1 -2
- package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlModel.js +2 -3
- package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -1
- package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -1
- package/lib/cjs/common/imdl/ParseImdlDocument.js +10 -12
- package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -1
- package/lib/cjs/common/internal/render/EdgeParams.js +2 -3
- package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryList.d.ts +1 -1
- package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js +3 -3
- package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
- package/lib/cjs/common/internal/render/LineCode.js +1 -2
- package/lib/cjs/common/internal/render/LineCode.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshPrimitives.js +3 -3
- package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/cjs/common/internal/render/PointStringParams.js +1 -2
- package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -1
- package/lib/cjs/common/internal/render/PolylineParams.js +4 -5
- package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
- package/lib/cjs/common/internal/render/SurfaceParams.js +3 -3
- package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTable.js +1 -2
- package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableBuilder.js +2 -2
- package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableSplitter.js +4 -4
- package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
- package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
- package/lib/cjs/extension/providers/ExtensionLoadScript.js +1 -2
- package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/cjs/internal/render/RenderInstancesParamsImpl.js +2 -3
- package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -1
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +1 -1
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +2 -2
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js +2 -2
- package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js +3 -3
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -1
- package/lib/cjs/render/GraphicBranch.d.ts +3 -1
- package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
- package/lib/cjs/render/GraphicBranch.js +2 -2
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/GraphicTemplate.js +1 -2
- package/lib/cjs/render/GraphicTemplate.js.map +1 -1
- package/lib/cjs/render/MockRender.d.ts.map +1 -1
- package/lib/cjs/render/Pixel.d.ts +9 -7
- package/lib/cjs/render/Pixel.d.ts.map +1 -1
- package/lib/cjs/render/Pixel.js +20 -5
- package/lib/cjs/render/Pixel.js.map +1 -1
- package/lib/cjs/render/RenderPlan.js +3 -3
- package/lib/cjs/render/RenderPlan.js.map +1 -1
- package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
- package/lib/cjs/render/RenderSystem.js +6 -7
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/UpsampleRealityMeshParams.js +1 -2
- package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/cjs/render/VisibleFeature.js +1 -2
- package/lib/cjs/render/VisibleFeature.js.map +1 -1
- package/lib/cjs/render/webgl/AttributeBuffers.js +5 -5
- package/lib/cjs/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/cjs/render/webgl/BranchState.d.ts +2 -0
- package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/cjs/render/webgl/BranchState.js +2 -0
- package/lib/cjs/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/ClippingProgram.js +2 -2
- package/lib/cjs/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/cjs/render/webgl/DrawCommand.js +3 -3
- package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
- package/lib/cjs/render/webgl/FeatureOverrides.js +2 -2
- package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/cjs/render/webgl/FrustumUniforms.js +2 -2
- package/lib/cjs/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/Graphic.d.ts +3 -0
- package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Graphic.js +4 -0
- package/lib/cjs/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/render/webgl/InstancedGeometry.js +2 -2
- package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/Material.js +4 -4
- package/lib/cjs/render/webgl/Material.js.map +1 -1
- package/lib/cjs/render/webgl/Matrix.js +3 -3
- package/lib/cjs/render/webgl/Matrix.js.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.js +2 -2
- package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
- package/lib/cjs/render/webgl/SceneCompositor.js +8 -5
- package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/render/webgl/ScratchDrawParams.js +2 -3
- package/lib/cjs/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/cjs/render/webgl/ScreenSpaceEffect.js +2 -2
- package/lib/cjs/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/render/webgl/SurfaceGeometry.js +2 -2
- package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/Sync.js +3 -4
- package/lib/cjs/render/webgl/Sync.js.map +1 -1
- package/lib/cjs/render/webgl/System.d.ts.map +1 -1
- package/lib/cjs/render/webgl/System.js +7 -7
- package/lib/cjs/render/webgl/System.js.map +1 -1
- package/lib/cjs/render/webgl/Target.js +1 -1
- package/lib/cjs/render/webgl/Target.js.map +1 -1
- package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
- package/lib/cjs/render/webgl/TechniqueId.js +1 -2
- package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
- package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Texture.js +2 -2
- package/lib/cjs/render/webgl/Texture.js.map +1 -1
- package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +1 -2
- package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Animation.js +1 -2
- package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Atmosphere.js +1 -2
- package/lib/cjs/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Blur.js +1 -2
- package/lib/cjs/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +1 -2
- package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +1 -2
- package/lib/cjs/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Clipping.js +2 -2
- package/lib/cjs/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Color.js +2 -3
- package/lib/cjs/render/webgl/glsl/Color.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Combine3Textures.js +1 -2
- package/lib/cjs/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/CombineTextures.js +1 -2
- package/lib/cjs/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Common.js +7 -7
- package/lib/cjs/render/webgl/glsl/Common.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Composite.js +1 -2
- package/lib/cjs/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Contours.js +1 -2
- package/lib/cjs/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyColor.js +1 -2
- package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +1 -2
- package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyStencil.js +4 -5
- package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Decode.js +2 -2
- package/lib/cjs/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/EDL.js +4 -5
- package/lib/cjs/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +1 -2
- package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Edge.js +2 -3
- package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +15 -15
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Fragment.js +6 -6
- package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Instancing.js +3 -4
- package/lib/cjs/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Lighting.js +1 -2
- package/lib/cjs/render/webgl/glsl/Lighting.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -2
- package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/LookupTable.js +1 -2
- package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Monochrome.js +2 -3
- package/lib/cjs/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarClassification.js +5 -5
- package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarGrid.js +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PointCloud.js +2 -3
- package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PointString.js +2 -3
- package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Polyline.js +6 -6
- package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.js +5 -5
- package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/RenderPass.js +1 -2
- package/lib/cjs/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +1 -2
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkyBox.js +1 -2
- package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkySphere.js +1 -2
- package/lib/cjs/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js +3 -3
- package/lib/cjs/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Surface.js +6 -6
- package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Thematic.js +2 -3
- package/lib/cjs/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Translucency.js +2 -2
- package/lib/cjs/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Vertex.js +13 -13
- package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Viewport.js +3 -4
- package/lib/cjs/render/webgl/glsl/Viewport.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ViewportQuad.js +1 -2
- package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Wiremesh.js +1 -2
- package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -1
- package/lib/cjs/request/Request.d.ts.map +1 -1
- package/lib/cjs/request/Request.js +2 -2
- package/lib/cjs/request/Request.js.map +1 -1
- package/lib/cjs/request/utils.js +3 -4
- package/lib/cjs/request/utils.js.map +1 -1
- package/lib/cjs/tile/ClassifierTileTree.js +3 -3
- package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/tile/ContextShareProvider.js +2 -2
- package/lib/cjs/tile/ContextShareProvider.js.map +1 -1
- package/lib/cjs/tile/GltfReader.d.ts +1 -1
- package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
- package/lib/cjs/tile/GltfReader.js +11 -12
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/IModelTile.js +2 -2
- package/lib/cjs/tile/IModelTile.js.map +1 -1
- package/lib/cjs/tile/IModelTileTree.js +2 -2
- package/lib/cjs/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/tile/ImdlDecoder.js +1 -2
- package/lib/cjs/tile/ImdlDecoder.js.map +1 -1
- package/lib/cjs/tile/ImdlGraphicsCreator.js +7 -8
- package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/cjs/tile/ImdlParser.js +1 -2
- package/lib/cjs/tile/ImdlParser.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
- package/lib/cjs/tile/ImdlReader.js +3 -3
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/MeshoptCompression.js +1 -2
- package/lib/cjs/tile/MeshoptCompression.js.map +1 -1
- package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/OrbitGtTileTree.js +3 -4
- package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/cjs/tile/PntsReader.js +2 -3
- package/lib/cjs/tile/PntsReader.js.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.js +12 -12
- package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RealityModelTileTree.js +3 -4
- package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityTileDrawArgs.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileLoader.js +1 -1
- package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RenderGraphicTileTree.js +1 -2
- package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -1
- package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +1 -1
- package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/cjs/tile/Tile.js +2 -2
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
- package/lib/cjs/tile/TileAdmin.js +3 -4
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/TileRequest.js +1 -1
- package/lib/cjs/tile/TileRequest.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannel.js +1 -1
- package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
- package/lib/cjs/tile/TileStorage.js +1 -1
- package/lib/cjs/tile/TileStorage.js.map +1 -1
- package/lib/cjs/tile/ViewFlagOverrides.js +1 -2
- package/lib/cjs/tile/ViewFlagOverrides.js.map +1 -1
- package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -1
- package/lib/cjs/tile/map/ArcGISTileMap.js +0 -1
- package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/cjs/tile/map/ArcGisUtilities.js +1 -1
- package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/cjs/tile/map/BingElevation.js +3 -3
- package/lib/cjs/tile/map/BingElevation.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js +7 -8
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +4 -5
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/CoordinatesUtils.js +1 -2
- package/lib/cjs/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/FeatureGraphicsRenderer.js +1 -1
- package/lib/cjs/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerTileTreeReference.js +2 -2
- package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileLoader.js +1 -1
- package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +2 -2
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/UrlUtils.js +1 -2
- package/lib/cjs/tile/map/UrlUtils.js.map +1 -1
- package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
- package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
- package/lib/cjs/tools/MeasureTool.js +2 -2
- package/lib/cjs/tools/MeasureTool.js.map +1 -1
- package/lib/cjs/tools/Tool.d.ts +1 -1
- package/lib/cjs/tools/Tool.d.ts.map +1 -1
- package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
- package/lib/cjs/tools/ViewTool.js +2 -2
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/cjs/workers/RegisterWorker.js +1 -2
- package/lib/cjs/workers/RegisterWorker.js.map +1 -1
- package/lib/esm/AccuDraw.d.ts.map +1 -1
- package/lib/esm/AccuDraw.js +0 -2
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AccuSnap.d.ts.map +1 -1
- package/lib/esm/AccuSnap.js +9 -4
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/BingLocation.js +1 -1
- package/lib/esm/BingLocation.js.map +1 -1
- package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
- package/lib/esm/BriefcaseConnection.js +2 -2
- package/lib/esm/BriefcaseConnection.js.map +1 -1
- package/lib/esm/BriefcaseTxns.d.ts.map +1 -1
- package/lib/esm/ChangeFlags.d.ts +1 -1
- package/lib/esm/ChangeFlags.d.ts.map +1 -1
- package/lib/esm/ChangeFlags.js.map +1 -1
- package/lib/esm/CheckpointConnection.js +1 -1
- package/lib/esm/CheckpointConnection.js.map +1 -1
- package/lib/esm/DisplayStyleState.d.ts.map +1 -1
- package/lib/esm/DisplayStyleState.js +6 -6
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.d.ts +4 -4
- package/lib/esm/DrawingViewState.d.ts.map +1 -1
- package/lib/esm/DrawingViewState.js +10 -9
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/EnvironmentDecorations.js +1 -1
- package/lib/esm/EnvironmentDecorations.js.map +1 -1
- package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
- package/lib/esm/HitDetail.d.ts +36 -7
- package/lib/esm/HitDetail.d.ts.map +1 -1
- package/lib/esm/HitDetail.js +11 -3
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.d.ts.map +1 -1
- package/lib/esm/IModelApp.js +1 -2
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.js +8 -8
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/NativeApp.d.ts +1 -1
- package/lib/esm/NativeApp.d.ts.map +1 -1
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/NoRenderApp.d.ts.map +1 -1
- package/lib/esm/NotificationManager.d.ts +2 -2
- package/lib/esm/NotificationManager.d.ts.map +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +1 -2
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceContextShareImpl.d.ts.map +1 -1
- package/lib/esm/RealityDataSourceContextShareImpl.js +2 -3
- package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js +1 -1
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/esm/SheetViewState.d.ts +4 -4
- package/lib/esm/SheetViewState.d.ts.map +1 -1
- package/lib/esm/SheetViewState.js +18 -5
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/SpatialViewState.js +1 -1
- package/lib/esm/SpatialViewState.js.map +1 -1
- package/lib/esm/SubCategoriesCache.js +1 -1
- package/lib/esm/SubCategoriesCache.js.map +1 -1
- package/lib/esm/TentativePoint.js +1 -1
- package/lib/esm/TentativePoint.js.map +1 -1
- package/lib/esm/ViewCreator3d.js +1 -1
- package/lib/esm/ViewCreator3d.js.map +1 -1
- package/lib/esm/ViewState.d.ts +16 -7
- package/lib/esm/ViewState.d.ts.map +1 -1
- package/lib/esm/ViewState.js +5 -5
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +2 -4
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/common/gltf/GltfParser.js +6 -6
- package/lib/esm/common/gltf/GltfParser.js.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.d.ts +1 -1
- package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
- package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -1
- package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -1
- package/lib/esm/common/imdl/ParseImdlDocument.js +4 -5
- package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/esm/common/internal/render/DisplayParams.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryList.d.ts +1 -1
- package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -1
- package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +1 -1
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js +2 -2
- package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -1
- package/lib/esm/render/GraphicBranch.d.ts +3 -1
- package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/MockRender.d.ts.map +1 -1
- package/lib/esm/render/Pixel.d.ts +9 -7
- package/lib/esm/render/Pixel.d.ts.map +1 -1
- package/lib/esm/render/Pixel.js +20 -5
- package/lib/esm/render/Pixel.js.map +1 -1
- package/lib/esm/render/RenderSystem.d.ts.map +1 -1
- package/lib/esm/render/RenderSystem.js +6 -7
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/webgl/BranchState.d.ts +2 -0
- package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/esm/render/webgl/BranchState.js +2 -0
- package/lib/esm/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/Graphic.d.ts +3 -0
- package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/esm/render/webgl/Graphic.js +4 -0
- package/lib/esm/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/render/webgl/Material.js +2 -2
- package/lib/esm/render/webgl/Material.js.map +1 -1
- package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
- package/lib/esm/render/webgl/SceneCompositor.js +5 -2
- package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/render/webgl/System.d.ts.map +1 -1
- package/lib/esm/render/webgl/System.js +7 -7
- package/lib/esm/render/webgl/System.js.map +1 -1
- package/lib/esm/render/webgl/Target.js +1 -1
- package/lib/esm/render/webgl/Target.js.map +1 -1
- package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
- package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
- package/lib/esm/render/webgl/Texture.js +2 -2
- package/lib/esm/render/webgl/Texture.js.map +1 -1
- package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
- package/lib/esm/request/Request.d.ts.map +1 -1
- package/lib/esm/request/Request.js.map +1 -1
- package/lib/esm/tile/ClassifierTileTree.js +1 -1
- package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/tile/ContextShareProvider.js +2 -2
- package/lib/esm/tile/ContextShareProvider.js.map +1 -1
- package/lib/esm/tile/GltfReader.d.ts +1 -1
- package/lib/esm/tile/GltfReader.d.ts.map +1 -1
- package/lib/esm/tile/GltfReader.js +7 -8
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/ImdlGraphicsCreator.js +4 -4
- package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
- package/lib/esm/tile/OrbitGtTileTree.js +1 -2
- package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/esm/tile/PntsReader.js +1 -1
- package/lib/esm/tile/PntsReader.js.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.js +6 -6
- package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/tile/RealityModelTileTree.js +1 -2
- package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/tile/RealityTileDrawArgs.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileLoader.js +1 -1
- package/lib/esm/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/esm/tile/ThreeDTileFormatInterpreter.js +1 -1
- package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
- package/lib/esm/tile/TileAdmin.js +1 -2
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/TileRequest.js +1 -1
- package/lib/esm/tile/TileRequest.js.map +1 -1
- package/lib/esm/tile/TileRequestChannel.js +1 -1
- package/lib/esm/tile/TileRequestChannel.js.map +1 -1
- package/lib/esm/tile/TileStorage.js +1 -1
- package/lib/esm/tile/TileStorage.js.map +1 -1
- package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -1
- package/lib/esm/tile/map/ArcGISTileMap.js +0 -1
- package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/esm/tile/map/ArcGisUtilities.js +1 -1
- package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/esm/tile/map/BingElevation.js +3 -3
- package/lib/esm/tile/map/BingElevation.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js +3 -3
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +4 -5
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/FeatureGraphicsRenderer.js +1 -1
- package/lib/esm/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTileLoader.js +1 -1
- package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
- package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
- package/lib/esm/tools/MeasureTool.js +2 -2
- package/lib/esm/tools/MeasureTool.js.map +1 -1
- package/lib/esm/tools/Tool.d.ts +1 -1
- package/lib/esm/tools/Tool.d.ts.map +1 -1
- package/lib/esm/tools/ViewTool.d.ts.map +1 -1
- package/lib/esm/tools/ViewTool.js +2 -2
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/public/scripts/parse-imdl-worker.js +1 -1
- package/lib/workers/webpack/parse-imdl-worker.js +1 -1
- package/package.json +21 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Vertex.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 WebGL\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { DrawParams } from \"../DrawCommand\";\r\nimport { UniformHandle } from \"../UniformHandle\";\r\nimport { Matrix4 } from \"../Matrix\";\r\nimport { Pass, TextureUnit } from \"../RenderFlags\";\r\nimport { PositionType } from \"../TechniqueFlags\";\r\nimport { VariableType, VertexShaderBuilder } from \"../ShaderBuilder\";\r\nimport { decodeUint16, decodeUint24 } from \"./Decode\";\r\nimport { addInstanceOverrides } from \"./Instancing\";\r\nimport { addLookupTable } from \"./LookupTable\";\r\n\r\nconst initializeVertLUTCoords = `\r\n g_vertexLUTIndex = decodeUInt24(qpos);\r\n g_vertexBaseCoords = compute_vert_coords(g_vertexLUTIndex);\r\n`;\r\n\r\n/** @internal */\r\nexport const unquantizePosition = `\r\nvec4 unquantizePosition(vec3 pos, vec3 origin, vec3 scale) { return vec4(origin + scale * pos, 1.0); }\r\n`;\r\n\r\nconst computeQuantizedPosition = `\r\nvec4 computeVertexPosition(vec3 pos) { return unquantizePosition(pos, u_qOrigin, u_qScale); }\r\n`;\r\n\r\n// Need to read 2 rgba values to obtain 6 16-bit integers for position\r\nconst computeVertexPositionFromLUT = `\r\nvec4 computeVertexPosition(vec3 encodedIndex) {\r\n vec3 qpos = vec3(decodeUInt16(g_vertLutData0.xy), decodeUInt16(g_vertLutData0.zw), decodeUInt16(g_vertLutData1.xy));\r\n g_featureAndMaterialIndex = g_vertLutData2;\r\n return unquantizePosition(qpos, u_qOrigin, u_qScale);\r\n}\r\n`;\r\n\r\nconst computeUnquantizedPosition = `\r\nvec4 computeVertexPosition(vec3 encodedIndex) {\r\n uvec3 vux = uvec3(g_vertLutData0.xyz);\r\n g_featureAndMaterialIndex.x = g_vertLutData0.w;\r\n uvec3 vuy = uvec3(g_vertLutData1.xyz);\r\n g_featureAndMaterialIndex.y = g_vertLutData1.w;\r\n uvec3 vuz = uvec3(g_vertLutData2.xyz);\r\n g_featureAndMaterialIndex.z = g_vertLutData2.w;\r\n uvec3 vuw = uvec3(g_vertLutData3.xyz);\r\n g_featureAndMaterialIndex.w = g_vertLutData3.w;\r\n uvec3 u = (vuw << 24) | (vuz << 16) | (vuy << 8) | vux;\r\n return vec4(uintBitsToFloat(u), 1.0);\r\n}\r\n`;\r\n\r\nconst computeLineWeight = \"\\nfloat computeLineWeight() { return g_lineWeight; }\\n\";\r\nconst computeLineCode = \"\\nfloat computeLineCode() { return g_lineCode; }\\n\";\r\n\r\nexport function addSamplePosition(vert: VertexShaderBuilder): void {\r\n vert.addFunction(getSamplePosition(vert.positionType));\r\n}\r\n\r\nconst getSamplePositionPrelude = `\r\nvec4 samplePosition(float index) {\r\n vec2 tc = compute_vert_coords(index);`;\r\n\r\nconst getSamplePositionQuantizedPostlude = `\r\n vec4 e0 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);\r\n tc.x += g_vert_stepX;\r\n vec4 e1 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);\r\n vec3 qpos = vec3(decodeUInt16(e0.xy), decodeUInt16(e0.zw), decodeUInt16(e1.xy));\r\n return unquantizePosition(qpos, u_qOrigin, u_qScale);\r\n}\r\n`;\r\n\r\nconst getSamplePositionUnquantizedPostlude = `\r\n uvec3 vux = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n tc.x += g_vert_stepX;\r\n uvec3 vuy = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n tc.x += g_vert_stepX;\r\n uvec3 vuz = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n tc.x += g_vert_stepX;\r\n uvec3 vuw = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n uvec3 u = (vuw << 24) | (vuz << 16) | (vuy << 8) | vux;\r\n return vec4(uintBitsToFloat(u), 1.0);\r\n}\r\n`;\r\n\r\nfunction getSamplePosition(type: PositionType): string {\r\n return `${getSamplePositionPrelude}${\"quantized\" === type ? getSamplePositionQuantizedPostlude : getSamplePositionUnquantizedPostlude}`;\r\n}\r\n\r\n/** @internal */\r\nexport function addModelViewProjectionMatrix(vert: VertexShaderBuilder): void {\r\n if (vert.usesInstancedGeometry) {\r\n addModelViewMatrix(vert);\r\n addProjectionMatrix(vert);\r\n vert.addGlobal(\"g_mvp\", VariableType.Mat4);\r\n vert.addInitializer(\"g_mvp = u_proj * g_mv;\");\r\n } else {\r\n vert.addUniform(\"u_mvp\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_mvp\", (uniform, params) => {\r\n params.target.uniforms.branch.bindModelViewProjectionMatrix(uniform, params.geometry, params.isViewCoords);\r\n });\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function addProjectionMatrix(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_proj\", VariableType.Mat4, (prog) => {\r\n prog.addProgramUniform(\"u_proj\", (uniform, params) => {\r\n params.bindProjectionMatrix(uniform);\r\n });\r\n });\r\n}\r\n\r\nconst computeInstancedRtcMatrix = `\r\n g_instancedRtcMatrix = u_instanced_rtc * g_modelMatrixRTC;\r\n`;\r\n\r\n/** @internal */\r\nexport function addInstancedRtcMatrix(vert: VertexShaderBuilder): void {\r\n if (!vert.usesInstancedGeometry)\r\n return;\r\n\r\n assert(undefined !== vert.find(\"g_modelMatrixRTC\")); // set up in VertexShaderBuilder constructor...\r\n vert.addUniform(\"u_instanced_rtc\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_instanced_rtc\", (uniform, params) => {\r\n const modelt = params.geometry.asInstanced!.getRtcOnlyTransform();\r\n uniform.setMatrix4(Matrix4.fromTransform(modelt));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_instancedRtcMatrix\", VariableType.Mat4);\r\n vert.addInitializer(computeInstancedRtcMatrix);\r\n}\r\n\r\n/** @internal */\r\nexport function addModelViewMatrix(vert: VertexShaderBuilder): void {\r\n const bind = (uniform: UniformHandle, params: DrawParams) => {\r\n params.target.uniforms.branch.bindModelViewMatrix(uniform, params.geometry, params.isViewCoords);\r\n };\r\n\r\n if (vert.usesInstancedGeometry) {\r\n vert.addUniform(\"u_instanced_modelView\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_instanced_modelView\", bind);\r\n });\r\n\r\n vert.addGlobal(\"g_mv\", VariableType.Mat4);\r\n vert.addInitializer(\"g_mv = u_instanced_modelView * g_modelMatrixRTC;\");\r\n } else {\r\n vert.addUniform(\"u_mv\", VariableType.Mat4, (prog) => {\r\n // ###TODO: We only need 3 rows, not 4...\r\n prog.addGraphicUniform(\"u_mv\", bind);\r\n });\r\n }\r\n}\r\n\r\nconst computeNormalMatrix = `\r\n g_nmx = transpose(inverse(mat3(MAT_MV)));\r\n g_nmx[0][0] *= u_frustumScale.x;\r\n g_nmx[1][1] *= u_frustumScale.y;\r\n`;\r\n\r\n/** @internal */\r\nexport function addNormalMatrix(vert: VertexShaderBuilder) {\r\n vert.addGlobal(\"g_nmx\", VariableType.Mat3);\r\n vert.addUniform(\"u_frustumScale\", VariableType.Vec2, (prog) => {\r\n prog.addGraphicUniform(\"u_frustumScale\", (uniform, params) => {\r\n const scale = params.target.uniforms.branch.top.frustumScale;\r\n uniform.setUniform2fv([scale.x, scale.y]);\r\n });\r\n });\r\n\r\n vert.addInitializer(computeNormalMatrix);\r\n}\r\n\r\nfunction readVertexData(index: number): string {\r\n return `g_vertLutData${index} = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);`;\r\n}\r\n\r\nconst nextVertexData = \"tc.x += g_vert_stepX;\";\r\n\r\nfunction readNextVertexData(index: number): string {\r\n return `\r\n ${nextVertexData}\r\n ${readVertexData(index)}`;\r\n}\r\n\r\nconst prereadVertexDataPrelude = `\r\n vec2 tc = g_vertexBaseCoords;\r\n ${readVertexData(0)}\r\n ${readNextVertexData(1)}\r\n ${readNextVertexData(2)}\r\n`;\r\n\r\nconst prereadQuantizedVertexData = `${prereadVertexDataPrelude}\r\n if (3.0 < u_vertParams.z) {\r\n ${readNextVertexData(3)}\r\n }\r\n`;\r\n\r\nconst prereadUnquantizedVertexData = `${prereadVertexDataPrelude}\r\n ${readNextVertexData(3)}\r\n ${readNextVertexData(4)}\r\n if (5.0 < u_vertParams.z) {\r\n ${readNextVertexData(5)}\r\n }\r\n`;\r\n\r\nconst scratchLutParams = new Float32Array(4);\r\nfunction addPositionFromLUT(vert: VertexShaderBuilder) {\r\n vert.addGlobal(\"g_vertexLUTIndex\", VariableType.Float);\r\n vert.addGlobal(\"g_vertexBaseCoords\", VariableType.Vec2);\r\n\r\n const unquantized = \"unquantized\" === vert.positionType;\r\n const maxRgbaPerVert = unquantized ? 6 : 4;\r\n for (let i = 0; i < maxRgbaPerVert; i++)\r\n vert.addGlobal(`g_vertLutData${i}`, VariableType.Vec4);\r\n\r\n vert.addFunction(decodeUint24);\r\n vert.addFunction(decodeUint16);\r\n\r\n vert.addFunction(unquantized ? computeUnquantizedPosition : computeVertexPositionFromLUT);\r\n\r\n vert.addUniform(\"u_vertLUT\", VariableType.Sampler2D, (prog) => {\r\n prog.addGraphicUniform(\"u_vertLUT\", (uniform, params) => {\r\n (params.geometry.asLUT!).lut.texture.bindSampler(uniform, TextureUnit.VertexLUT);\r\n });\r\n });\r\n\r\n vert.addUniform(\"u_vertParams\", VariableType.Vec4, (prog) => {\r\n prog.addGraphicUniform(\"u_vertParams\", (uniform, params) => {\r\n assert(undefined !== params.geometry.asLUT);\r\n const lut = params.geometry.asLUT.lut;\r\n const lutParams = scratchLutParams;\r\n lutParams[0] = lut.texture.width;\r\n lutParams[1] = lut.texture.height;\r\n lutParams[2] = lut.numRgbaPerVertex;\r\n lutParams[3] = lut.numVertices;\r\n uniform.setUniform4fv(lutParams);\r\n });\r\n });\r\n\r\n addLookupTable(vert, \"vert\", \"u_vertParams.z\");\r\n vert.addInitializer(initializeVertLUTCoords);\r\n\r\n vert.addGlobal(\"g_featureAndMaterialIndex\", VariableType.Vec4);\r\n\r\n // Read the vertex data from the vertex table up front. Yields a consistent (if unexplainable) small performance boost.\r\n vert.addInitializer(unquantized ? prereadUnquantizedVertexData : prereadQuantizedVertexData);\r\n}\r\n\r\n/** @internal */\r\nexport function addPosition(vert: VertexShaderBuilder, fromLUT: boolean) {\r\n if (!fromLUT || \"quantized\" === vert.positionType) {\r\n vert.addFunction(unquantizePosition);\r\n vert.addUniform(\"u_qScale\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qScale\", (uniform, params) => {\r\n assert(params.geometry.usesQuantizedPositions);\r\n uniform.setUniform3fv(params.geometry.qScale);\r\n });\r\n });\r\n vert.addUniform(\"u_qOrigin\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qOrigin\", (uniform, params) => {\r\n assert(params.geometry.usesQuantizedPositions);\r\n uniform.setUniform3fv(params.geometry.qOrigin);\r\n });\r\n });\r\n }\r\n\r\n if (!fromLUT) {\r\n vert.addFunction(computeQuantizedPosition);\r\n } else {\r\n addPositionFromLUT(vert);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function addAlpha(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_hasAlpha\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_hasAlpha\", (uniform, params) => {\r\n uniform.setUniform1f(Pass.rendersTranslucent(params.geometry.getPass(params.target)) ? 1 : 0);\r\n });\r\n });\r\n}\r\n\r\n/** @internal */\r\nexport function addLineWeight(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_lineWeight\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_lineWeight\", (attr, params) => {\r\n attr.setUniform1f(params.geometry.getLineWeight(params.programParams));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_lineWeight\", VariableType.Float);\r\n if (vert.usesInstancedGeometry) {\r\n addInstanceOverrides(vert);\r\n vert.addInitializer(\"g_lineWeight = mix(u_lineWeight, a_instanceOverrides.g, extractInstanceBit(kOvrBit_Weight));\");\r\n } else {\r\n vert.addInitializer(\"g_lineWeight = u_lineWeight;\");\r\n }\r\n\r\n vert.addFunction(computeLineWeight);\r\n}\r\n\r\n/** @internal */\r\nexport function replaceLineWeight(vert: VertexShaderBuilder, func: string): void {\r\n vert.replaceFunction(computeLineWeight, func);\r\n}\r\n\r\n/** @internal */\r\nexport function addLineCode(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_lineCode\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_lineCode\", (attr, params) => {\r\n attr.setUniform1f(params.geometry.getLineCode(params.programParams));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_lineCode\", VariableType.Float);\r\n if (vert.usesInstancedGeometry) {\r\n addInstanceOverrides(vert);\r\n vert.addInitializer(\"g_lineCode = mix(u_lineCode, a_instanceOverrides.b, extractInstanceBit(kOvrBit_LineCode));\");\r\n } else {\r\n vert.addInitializer(\"g_lineCode = u_lineCode;\");\r\n }\r\n\r\n vert.addFunction(computeLineCode);\r\n}\r\n\r\n/** @internal */\r\nexport function replaceLineCode(vert: VertexShaderBuilder, func: string): void {\r\n vert.replaceFunction(computeLineCode, func);\r\n}\r\n\r\n// This vertex belongs to a triangle which should not be rendered. Produce a degenerate triangle.\r\n// Also place it outside NDC range (for GL_POINTS)\r\nconst discardVertex = ` {\r\n gl_Position = vec4(2.0, 2.0, 2.0, 1.0);\r\n return;\r\n }\r\n`;\r\n\r\n/** @internal */\r\nexport const earlyVertexDiscard = ` if (checkForEarlyDiscard(rawPosition))${discardVertex}`;\r\n/** @internal */\r\nexport const vertexDiscard = ` if (checkForDiscard())${discardVertex}`;\r\n/** @internal */\r\nexport const lateVertexDiscard = ` if (checkForLateDiscard())${discardVertex}`;\r\n"]}
|
|
1
|
+
{"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Vertex.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 WebGL\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { DrawParams } from \"../DrawCommand\";\r\nimport { UniformHandle } from \"../UniformHandle\";\r\nimport { Matrix4 } from \"../Matrix\";\r\nimport { Pass, TextureUnit } from \"../RenderFlags\";\r\nimport { PositionType } from \"../TechniqueFlags\";\r\nimport { VariableType, VertexShaderBuilder } from \"../ShaderBuilder\";\r\nimport { decodeUint16, decodeUint24 } from \"./Decode\";\r\nimport { addInstanceOverrides } from \"./Instancing\";\r\nimport { addLookupTable } from \"./LookupTable\";\r\n\r\nconst initializeVertLUTCoords = `\r\n g_vertexLUTIndex = decodeUInt24(qpos);\r\n g_vertexBaseCoords = compute_vert_coords(g_vertexLUTIndex);\r\n`;\r\n\r\n/** @internal */\r\nexport const unquantizePosition = `\r\nvec4 unquantizePosition(vec3 pos, vec3 origin, vec3 scale) { return vec4(origin + scale * pos, 1.0); }\r\n`;\r\n\r\nconst computeQuantizedPosition = `\r\nvec4 computeVertexPosition(vec3 pos) { return unquantizePosition(pos, u_qOrigin, u_qScale); }\r\n`;\r\n\r\n// Need to read 2 rgba values to obtain 6 16-bit integers for position\r\nconst computeVertexPositionFromLUT = `\r\nvec4 computeVertexPosition(vec3 encodedIndex) {\r\n vec3 qpos = vec3(decodeUInt16(g_vertLutData0.xy), decodeUInt16(g_vertLutData0.zw), decodeUInt16(g_vertLutData1.xy));\r\n g_featureAndMaterialIndex = g_vertLutData2;\r\n return unquantizePosition(qpos, u_qOrigin, u_qScale);\r\n}\r\n`;\r\n\r\nconst computeUnquantizedPosition = `\r\nvec4 computeVertexPosition(vec3 encodedIndex) {\r\n uvec3 vux = uvec3(g_vertLutData0.xyz);\r\n g_featureAndMaterialIndex.x = g_vertLutData0.w;\r\n uvec3 vuy = uvec3(g_vertLutData1.xyz);\r\n g_featureAndMaterialIndex.y = g_vertLutData1.w;\r\n uvec3 vuz = uvec3(g_vertLutData2.xyz);\r\n g_featureAndMaterialIndex.z = g_vertLutData2.w;\r\n uvec3 vuw = uvec3(g_vertLutData3.xyz);\r\n g_featureAndMaterialIndex.w = g_vertLutData3.w;\r\n uvec3 u = (vuw << 24) | (vuz << 16) | (vuy << 8) | vux;\r\n return vec4(uintBitsToFloat(u), 1.0);\r\n}\r\n`;\r\n\r\nconst computeLineWeight = \"\\nfloat computeLineWeight() { return g_lineWeight; }\\n\";\r\nconst computeLineCode = \"\\nfloat computeLineCode() { return g_lineCode; }\\n\";\r\n\r\nexport function addSamplePosition(vert: VertexShaderBuilder): void {\r\n vert.addFunction(getSamplePosition(vert.positionType));\r\n}\r\n\r\nconst getSamplePositionPrelude = `\r\nvec4 samplePosition(float index) {\r\n vec2 tc = compute_vert_coords(index);`;\r\n\r\nconst getSamplePositionQuantizedPostlude = `\r\n vec4 e0 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);\r\n tc.x += g_vert_stepX;\r\n vec4 e1 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);\r\n vec3 qpos = vec3(decodeUInt16(e0.xy), decodeUInt16(e0.zw), decodeUInt16(e1.xy));\r\n return unquantizePosition(qpos, u_qOrigin, u_qScale);\r\n}\r\n`;\r\n\r\nconst getSamplePositionUnquantizedPostlude = `\r\n uvec3 vux = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n tc.x += g_vert_stepX;\r\n uvec3 vuy = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n tc.x += g_vert_stepX;\r\n uvec3 vuz = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n tc.x += g_vert_stepX;\r\n uvec3 vuw = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n uvec3 u = (vuw << 24) | (vuz << 16) | (vuy << 8) | vux;\r\n return vec4(uintBitsToFloat(u), 1.0);\r\n}\r\n`;\r\n\r\nfunction getSamplePosition(type: PositionType): string {\r\n return `${getSamplePositionPrelude}${\"quantized\" === type ? getSamplePositionQuantizedPostlude : getSamplePositionUnquantizedPostlude}`;\r\n}\r\n\r\n/** @internal */\r\nexport function addModelViewProjectionMatrix(vert: VertexShaderBuilder): void {\r\n if (vert.usesInstancedGeometry) {\r\n addModelViewMatrix(vert);\r\n addProjectionMatrix(vert);\r\n vert.addGlobal(\"g_mvp\", VariableType.Mat4);\r\n vert.addInitializer(\"g_mvp = u_proj * g_mv;\");\r\n } else {\r\n vert.addUniform(\"u_mvp\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_mvp\", (uniform, params) => {\r\n params.target.uniforms.branch.bindModelViewProjectionMatrix(uniform, params.geometry, params.isViewCoords);\r\n });\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function addProjectionMatrix(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_proj\", VariableType.Mat4, (prog) => {\r\n prog.addProgramUniform(\"u_proj\", (uniform, params) => {\r\n params.bindProjectionMatrix(uniform);\r\n });\r\n });\r\n}\r\n\r\nconst computeInstancedRtcMatrix = `\r\n g_instancedRtcMatrix = u_instanced_rtc * g_modelMatrixRTC;\r\n`;\r\n\r\n/** @internal */\r\nexport function addInstancedRtcMatrix(vert: VertexShaderBuilder): void {\r\n if (!vert.usesInstancedGeometry)\r\n return;\r\n\r\n assert(undefined !== vert.find(\"g_modelMatrixRTC\")); // set up in VertexShaderBuilder constructor...\r\n vert.addUniform(\"u_instanced_rtc\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_instanced_rtc\", (uniform, params) => {\r\n const modelt = params.geometry.asInstanced!.getRtcOnlyTransform();\r\n uniform.setMatrix4(Matrix4.fromTransform(modelt));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_instancedRtcMatrix\", VariableType.Mat4);\r\n vert.addInitializer(computeInstancedRtcMatrix);\r\n}\r\n\r\n/** @internal */\r\nexport function addModelViewMatrix(vert: VertexShaderBuilder): void {\r\n const bind = (uniform: UniformHandle, params: DrawParams) => {\r\n params.target.uniforms.branch.bindModelViewMatrix(uniform, params.geometry, params.isViewCoords);\r\n };\r\n\r\n if (vert.usesInstancedGeometry) {\r\n vert.addUniform(\"u_instanced_modelView\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_instanced_modelView\", bind);\r\n });\r\n\r\n vert.addGlobal(\"g_mv\", VariableType.Mat4);\r\n vert.addInitializer(\"g_mv = u_instanced_modelView * g_modelMatrixRTC;\");\r\n } else {\r\n vert.addUniform(\"u_mv\", VariableType.Mat4, (prog) => {\r\n // ###TODO: We only need 3 rows, not 4...\r\n prog.addGraphicUniform(\"u_mv\", bind);\r\n });\r\n }\r\n}\r\n\r\nconst computeNormalMatrix = `\r\n g_nmx = transpose(inverse(mat3(MAT_MV)));\r\n g_nmx[0][0] *= u_frustumScale.x;\r\n g_nmx[1][1] *= u_frustumScale.y;\r\n`;\r\n\r\n/** @internal */\r\nexport function addNormalMatrix(vert: VertexShaderBuilder) {\r\n vert.addGlobal(\"g_nmx\", VariableType.Mat3);\r\n vert.addUniform(\"u_frustumScale\", VariableType.Vec2, (prog) => {\r\n prog.addGraphicUniform(\"u_frustumScale\", (uniform, params) => {\r\n const scale = params.target.uniforms.branch.top.frustumScale;\r\n uniform.setUniform2fv([scale.x, scale.y]);\r\n });\r\n });\r\n\r\n vert.addInitializer(computeNormalMatrix);\r\n}\r\n\r\nfunction readVertexData(index: number): string {\r\n return `g_vertLutData${index} = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);`;\r\n}\r\n\r\nconst nextVertexData = \"tc.x += g_vert_stepX;\";\r\n\r\nfunction readNextVertexData(index: number): string {\r\n return `\r\n ${nextVertexData}\r\n ${readVertexData(index)}`;\r\n}\r\n\r\nconst prereadVertexDataPrelude = `\r\n vec2 tc = g_vertexBaseCoords;\r\n ${readVertexData(0)}\r\n ${readNextVertexData(1)}\r\n ${readNextVertexData(2)}\r\n`;\r\n\r\nconst prereadQuantizedVertexData = `${prereadVertexDataPrelude}\r\n if (3.0 < u_vertParams.z) {\r\n ${readNextVertexData(3)}\r\n }\r\n`;\r\n\r\nconst prereadUnquantizedVertexData = `${prereadVertexDataPrelude}\r\n ${readNextVertexData(3)}\r\n ${readNextVertexData(4)}\r\n if (5.0 < u_vertParams.z) {\r\n ${readNextVertexData(5)}\r\n }\r\n`;\r\n\r\nconst scratchLutParams = new Float32Array(4);\r\nfunction addPositionFromLUT(vert: VertexShaderBuilder) {\r\n vert.addGlobal(\"g_vertexLUTIndex\", VariableType.Float);\r\n vert.addGlobal(\"g_vertexBaseCoords\", VariableType.Vec2);\r\n\r\n const unquantized = \"unquantized\" === vert.positionType;\r\n const maxRgbaPerVert = unquantized ? 6 : 4;\r\n for (let i = 0; i < maxRgbaPerVert; i++)\r\n vert.addGlobal(`g_vertLutData${i}`, VariableType.Vec4);\r\n\r\n vert.addFunction(decodeUint24);\r\n vert.addFunction(decodeUint16);\r\n\r\n vert.addFunction(unquantized ? computeUnquantizedPosition : computeVertexPositionFromLUT);\r\n\r\n vert.addUniform(\"u_vertLUT\", VariableType.Sampler2D, (prog) => {\r\n prog.addGraphicUniform(\"u_vertLUT\", (uniform, params) => {\r\n (params.geometry.asLUT!).lut.texture.bindSampler(uniform, TextureUnit.VertexLUT);\r\n });\r\n });\r\n\r\n vert.addUniform(\"u_vertParams\", VariableType.Vec4, (prog) => {\r\n prog.addGraphicUniform(\"u_vertParams\", (uniform, params) => {\r\n assert(undefined !== params.geometry.asLUT);\r\n const lut = params.geometry.asLUT.lut;\r\n const lutParams = scratchLutParams;\r\n lutParams[0] = lut.texture.width;\r\n lutParams[1] = lut.texture.height;\r\n lutParams[2] = lut.numRgbaPerVertex;\r\n lutParams[3] = lut.numVertices;\r\n uniform.setUniform4fv(lutParams);\r\n });\r\n });\r\n\r\n addLookupTable(vert, \"vert\", \"u_vertParams.z\");\r\n vert.addInitializer(initializeVertLUTCoords);\r\n\r\n vert.addGlobal(\"g_featureAndMaterialIndex\", VariableType.Vec4);\r\n\r\n // Read the vertex data from the vertex table up front. Yields a consistent (if unexplainable) small performance boost.\r\n vert.addInitializer(unquantized ? prereadUnquantizedVertexData : prereadQuantizedVertexData);\r\n}\r\n\r\n/** @internal */\r\nexport function addPosition(vert: VertexShaderBuilder, fromLUT: boolean) {\r\n if (!fromLUT || \"quantized\" === vert.positionType) {\r\n vert.addFunction(unquantizePosition);\r\n vert.addUniform(\"u_qScale\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qScale\", (uniform, params) => {\r\n assert(params.geometry.usesQuantizedPositions);\r\n uniform.setUniform3fv(params.geometry.qScale);\r\n });\r\n });\r\n vert.addUniform(\"u_qOrigin\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qOrigin\", (uniform, params) => {\r\n assert(params.geometry.usesQuantizedPositions);\r\n uniform.setUniform3fv(params.geometry.qOrigin);\r\n });\r\n });\r\n }\r\n\r\n if (!fromLUT) {\r\n vert.addFunction(computeQuantizedPosition);\r\n } else {\r\n addPositionFromLUT(vert);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function addAlpha(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_hasAlpha\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_hasAlpha\", (uniform, params) => {\r\n uniform.setUniform1f(Pass.rendersTranslucent(params.geometry.getPass(params.target)) ? 1 : 0);\r\n });\r\n });\r\n}\r\n\r\n/** @internal */\r\nexport function addLineWeight(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_lineWeight\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_lineWeight\", (attr, params) => {\r\n attr.setUniform1f(params.geometry.getLineWeight(params.programParams));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_lineWeight\", VariableType.Float);\r\n if (vert.usesInstancedGeometry) {\r\n addInstanceOverrides(vert);\r\n vert.addInitializer(\"g_lineWeight = mix(u_lineWeight, a_instanceOverrides.g, extractInstanceBit(kOvrBit_Weight));\");\r\n } else {\r\n vert.addInitializer(\"g_lineWeight = u_lineWeight;\");\r\n }\r\n\r\n vert.addFunction(computeLineWeight);\r\n}\r\n\r\n/** @internal */\r\nexport function replaceLineWeight(vert: VertexShaderBuilder, func: string): void {\r\n vert.replaceFunction(computeLineWeight, func);\r\n}\r\n\r\n/** @internal */\r\nexport function addLineCode(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_lineCode\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_lineCode\", (attr, params) => {\r\n attr.setUniform1f(params.geometry.getLineCode(params.programParams));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_lineCode\", VariableType.Float);\r\n if (vert.usesInstancedGeometry) {\r\n addInstanceOverrides(vert);\r\n vert.addInitializer(\"g_lineCode = mix(u_lineCode, a_instanceOverrides.b, extractInstanceBit(kOvrBit_LineCode));\");\r\n } else {\r\n vert.addInitializer(\"g_lineCode = u_lineCode;\");\r\n }\r\n\r\n vert.addFunction(computeLineCode);\r\n}\r\n\r\n/** @internal */\r\nexport function replaceLineCode(vert: VertexShaderBuilder, func: string): void {\r\n vert.replaceFunction(computeLineCode, func);\r\n}\r\n\r\n// This vertex belongs to a triangle which should not be rendered. Produce a degenerate triangle.\r\n// Also place it outside NDC range (for GL_POINTS)\r\nconst discardVertex = ` {\r\n gl_Position = vec4(2.0, 2.0, 2.0, 1.0);\r\n return;\r\n }\r\n`;\r\n\r\n/** @internal */\r\nexport const earlyVertexDiscard = ` if (checkForEarlyDiscard(rawPosition))${discardVertex}`;\r\n/** @internal */\r\nexport const vertexDiscard = ` if (checkForDiscard())${discardVertex}`;\r\n/** @internal */\r\nexport const lateVertexDiscard = ` if (checkForLateDiscard())${discardVertex}`;\r\n"]}
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* @module WebGL
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.
|
|
10
|
+
exports.addViewport = addViewport;
|
|
11
|
+
exports.addViewportTransformation = addViewportTransformation;
|
|
12
|
+
exports.addModelToWindowCoordinates = addModelToWindowCoordinates;
|
|
11
13
|
const RenderPass_1 = require("./RenderPass");
|
|
12
14
|
const Vertex_1 = require("./Vertex");
|
|
13
15
|
/** @internal */
|
|
@@ -18,7 +20,6 @@ function addViewport(shader) {
|
|
|
18
20
|
});
|
|
19
21
|
});
|
|
20
22
|
}
|
|
21
|
-
exports.addViewport = addViewport;
|
|
22
23
|
/** @internal */
|
|
23
24
|
function addViewportTransformation(shader) {
|
|
24
25
|
shader.addUniform("u_viewportTransformation", 7 /* VariableType.Mat4 */, (prog) => {
|
|
@@ -27,7 +28,6 @@ function addViewportTransformation(shader) {
|
|
|
27
28
|
});
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
|
-
exports.addViewportTransformation = addViewportTransformation;
|
|
31
31
|
const modelToWindowCoordinates = `
|
|
32
32
|
vec4 modelToWindowCoordinates(vec4 position, vec4 next, out vec4 clippedMvpPos, out vec3 clippedMvPos) {
|
|
33
33
|
if (kRenderPass_ViewOverlay == u_renderPass || kRenderPass_Background == u_renderPass) {
|
|
@@ -75,5 +75,4 @@ function addModelToWindowCoordinates(vert) {
|
|
|
75
75
|
(0, RenderPass_1.addRenderPass)(vert);
|
|
76
76
|
vert.addFunction(modelToWindowCoordinates);
|
|
77
77
|
}
|
|
78
|
-
exports.addModelToWindowCoordinates = addModelToWindowCoordinates;
|
|
79
78
|
//# sourceMappingURL=Viewport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Viewport.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG
|
|
1
|
+
{"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Viewport.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AAOH,kCAMC;AAGD,8DAMC;AA2CD,kEAMC;AApED,6CAA6C;AAC7C,qCAAmE;AAEnE,gBAAgB;AAChB,SAAgB,WAAW,CAAC,MAAqB;IAC/C,MAAM,CAAC,UAAU,CAAC,YAAY,6BAAqB,CAAC,IAAI,EAAE,EAAE;QAC1D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB;AAChB,SAAgB,yBAAyB,CAAC,MAAqB;IAC7D,MAAM,CAAC,UAAU,CAAC,0BAA0B,6BAAqB,CAAC,IAAI,EAAE,EAAE;QACxE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsChC,CAAC;AAEF,gBAAgB;AAChB,SAAgB,2BAA2B,CAAC,IAAyB;IACnE,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC;IACzB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC1B,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChC,IAAA,0BAAa,EAAC,IAAI,CAAC,CAAC;IACpB,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAC7C,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 WebGL\r\n */\r\n\r\nimport { ShaderBuilder, VariableType, VertexShaderBuilder } from \"../ShaderBuilder\";\r\nimport { addRenderPass } from \"./RenderPass\";\r\nimport { addModelViewMatrix, addProjectionMatrix } from \"./Vertex\";\r\n\r\n/** @internal */\r\nexport function addViewport(shader: ShaderBuilder) {\r\n shader.addUniform(\"u_viewport\", VariableType.Vec2, (prog) => {\r\n prog.addProgramUniform(\"u_viewport\", (uniform, params) => {\r\n params.target.uniforms.viewRect.bindDimensions(uniform);\r\n });\r\n });\r\n}\r\n\r\n/** @internal */\r\nexport function addViewportTransformation(shader: ShaderBuilder) {\r\n shader.addUniform(\"u_viewportTransformation\", VariableType.Mat4, (prog) => {\r\n prog.addProgramUniform(\"u_viewportTransformation\", (uniform, params) => {\r\n params.target.uniforms.viewRect.bindViewportMatrix(uniform);\r\n });\r\n });\r\n}\r\n\r\nconst modelToWindowCoordinates = `\r\nvec4 modelToWindowCoordinates(vec4 position, vec4 next, out vec4 clippedMvpPos, out vec3 clippedMvPos) {\r\n if (kRenderPass_ViewOverlay == u_renderPass || kRenderPass_Background == u_renderPass) {\r\n vec4 q = MAT_MV * position;\r\n clippedMvPos = q.xyz;\r\n q = u_proj * q;\r\n clippedMvpPos = q;\r\n q.xyz /= q.w;\r\n q.xyz = (u_viewportTransformation * vec4(q.xyz, 1.0)).xyz;\r\n return q;\r\n }\r\n\r\n // Negative values are in front of the camera (visible).\r\n float s_maxZ = -u_frustum.x; // use -near (front) plane for segment drop test since u_frustum's near & far are pos.\r\n vec4 q = MAT_MV * position; // eye coordinates.\r\n vec4 n = MAT_MV * next;\r\n\r\n if (q.z > s_maxZ) {\r\n if (n.z > s_maxZ) {\r\n clippedMvPos = vec3(0.0, 0.0, 1.0);\r\n clippedMvpPos = vec4(0.0, 0.0, 1.0, 0.0);\r\n return vec4(0.0, 0.0, 1.0, 0.0); // Entire segment behind front clip plane.\r\n }\r\n\r\n float t = (s_maxZ - q.z) / (n.z - q.z);\r\n\r\n q.x += t * (n.x - q.x);\r\n q.y += t * (n.y - q.y);\r\n q.z = s_maxZ; // q.z + (s_maxZ - q.z) / (n.z - q.z) * (n.z - q.z) = s_maxZ\r\n }\r\n\r\n clippedMvPos = q.xyz;\r\n q = u_proj * q;\r\n clippedMvpPos = q;\r\n q.xyz /= q.w; // normalized device coords\r\n q.xyz = (u_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coords\r\n return q;\r\n}\r\n`;\r\n\r\n/** @internal */\r\nexport function addModelToWindowCoordinates(vert: VertexShaderBuilder) {\r\n addModelViewMatrix(vert);\r\n addProjectionMatrix(vert);\r\n addViewportTransformation(vert);\r\n addRenderPass(vert);\r\n vert.addFunction(modelToWindowCoordinates);\r\n}\r\n"]}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module WebGL
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.createViewportQuadBuilder =
|
|
10
|
+
exports.createViewportQuadBuilder = createViewportQuadBuilder;
|
|
11
11
|
const AttributeMap_1 = require("../AttributeMap");
|
|
12
12
|
const ShaderBuilder_1 = require("../ShaderBuilder");
|
|
13
13
|
// Positions are in NDC [-1..1]. Compute UV params in [0..1]
|
|
@@ -26,5 +26,4 @@ function createViewportQuadBuilder(textured, attrMapOverride) {
|
|
|
26
26
|
}
|
|
27
27
|
return prog;
|
|
28
28
|
}
|
|
29
|
-
exports.createViewportQuadBuilder = createViewportQuadBuilder;
|
|
30
29
|
//# sourceMappingURL=ViewportQuad.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewportQuad.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/ViewportQuad.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG
|
|
1
|
+
{"version":3,"file":"ViewportQuad.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/ViewportQuad.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AAcH,8DASC;AArBD,kDAAiE;AACjE,oDAAuF;AAEvF,4DAA4D;AAC5D,MAAM,eAAe,GAAG,4CAA4C,CAAC;AACrE,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEzC,SAAS,UAAU,CAAC,IAAoB;IACtC,IAAI,CAAC,wBAAwB,CAAC,YAAY,6BAAqB,eAAe,CAAC,CAAC;AAClF,CAAC;AAED,gBAAgB;AAChB,SAAgB,yBAAyB,CAAC,QAAiB,EAAE,eAA+C;IAC1G,MAAM,OAAO,GAAG,SAAS,KAAK,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,2BAAY,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAClH,MAAM,IAAI,GAAG,IAAI,8BAAc,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,CAAC,GAAG,iDAAwC,eAAe,CAAC,CAAC;IACtE,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,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 WebGL\r\n */\r\n\r\nimport { AttributeDetails, AttributeMap } from \"../AttributeMap\";\r\nimport { ProgramBuilder, VariableType, VertexShaderComponent } from \"../ShaderBuilder\";\r\n\r\n// Positions are in NDC [-1..1]. Compute UV params in [0..1]\r\nconst computeTexCoord = \"v_texCoord = (rawPosition.xy + 1.0) * 0.5;\";\r\nconst computePosition = \"return rawPos;\";\r\n\r\nfunction addTexture(prog: ProgramBuilder) {\r\n prog.addInlineComputedVarying(\"v_texCoord\", VariableType.Vec2, computeTexCoord);\r\n}\r\n\r\n/** @internal */\r\nexport function createViewportQuadBuilder(textured: boolean, attrMapOverride?: Map<string, AttributeDetails>): ProgramBuilder {\r\n const attrMap = undefined !== attrMapOverride ? attrMapOverride : AttributeMap.findAttributeMap(undefined, false);\r\n const prog = new ProgramBuilder(attrMap);\r\n prog.vert.set(VertexShaderComponent.ComputePosition, computePosition);\r\n if (textured) {\r\n addTexture(prog);\r\n }\r\n\r\n return prog;\r\n}\r\n"]}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module WebGL
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.addWiremesh =
|
|
10
|
+
exports.addWiremesh = addWiremesh;
|
|
11
11
|
// Vertex shader produces barycentric coordinate for corner of triangle to be smoothly interpolated over face of triangle.
|
|
12
12
|
// This requires WebGL 2 because gl_VertexID.
|
|
13
13
|
// It also requires that we are drawing non-indexed vertices, or using an index buffer in which each set of 3 consecutive indices correspond to one triangle -
|
|
@@ -33,5 +33,4 @@ function addWiremesh(builder) {
|
|
|
33
33
|
builder.addInlineComputedVarying("v_barycentric", 4 /* VariableType.Vec3 */, computeBarycentric);
|
|
34
34
|
builder.frag.set(15 /* FragmentShaderComponent.ApplyWiremesh */, applyWiremesh);
|
|
35
35
|
}
|
|
36
|
-
exports.addWiremesh = addWiremesh;
|
|
37
36
|
//# sourceMappingURL=Wiremesh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wiremesh.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Wiremesh.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG
|
|
1
|
+
{"version":3,"file":"Wiremesh.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Wiremesh.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AA2BH,kCAGC;AA1BD,0HAA0H;AAC1H,6CAA6C;AAC7C,8JAA8J;AAC9J,gEAAgE;AAChE,MAAM,kBAAkB,GAAG;;;CAG1B,CAAC;AAEF,2FAA2F;AAC3F,gHAAgH;AAChH,MAAM,aAAa,GAAG;;;;;;;CAOrB,CAAC;AAEF;;GAEG;AACH,SAAgB,WAAW,CAAC,OAAuB;IACjD,OAAO,CAAC,wBAAwB,CAAC,eAAe,6BAAqB,kBAAkB,CAAC,CAAC;IACzF,OAAO,CAAC,IAAI,CAAC,GAAG,iDAAwC,aAAa,CAAC,CAAC;AACzE,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 WebGL\r\n */\r\n\r\nimport { FragmentShaderComponent, ProgramBuilder, VariableType } from \"../ShaderBuilder\";\r\n\r\n// Vertex shader produces barycentric coordinate for corner of triangle to be smoothly interpolated over face of triangle.\r\n// This requires WebGL 2 because gl_VertexID.\r\n// It also requires that we are drawing non-indexed vertices, or using an index buffer in which each set of 3 consecutive indices correspond to one triangle -\r\n// otherwise gl_VertexID will not correlate to triangle corners.\r\nconst computeBarycentric = `\r\n int vertIndex = gl_VertexID % 3;\r\n v_barycentric = vec3(float(0 == vertIndex), float(1 == vertIndex), float(2 == vertIndex));\r\n`;\r\n\r\n// Fragment shader draws in the line color for fragments close to the edge of the triangle.\r\n// Vertex shader requires WebGL 2 which includes the functionality of the GL_OES_standard_derivatives extension.\r\nconst applyWiremesh = `\r\n const float lineWidth = 1.0;\r\n const vec3 lineColor = vec3(0.0);\r\n vec3 delta = fwidth(v_barycentric);\r\n vec3 factor = smoothstep(vec3(0.0), delta * lineWidth, v_barycentric);\r\n vec3 color = mix(lineColor, baseColor.rgb, min(min(factor.x, factor.y), factor.z));\r\n return vec4(color, baseColor.a);\r\n`;\r\n\r\n/** Adds to a mesh shader logic to produce an overlaid wiremesh.\r\n * @internal\r\n */\r\nexport function addWiremesh(builder: ProgramBuilder): void {\r\n builder.addInlineComputedVarying(\"v_barycentric\", VariableType.Vec3, computeBarycentric);\r\n builder.frag.set(FragmentShaderComponent.ApplyWiremesh, applyWiremesh);\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../../src/request/Request.ts"],"names":[],"mappings":"AAKA,gBAAgB;AAChB,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAGjC,MAAM,EAAE,MAAM;IACd,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../../src/request/Request.ts"],"names":[],"mappings":"AAKA,gBAAgB;AAChB,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAGjC,MAAM,EAAE,MAAM;IACd,YAAY,CAAC,EAAE,MAAM;gBADrB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,YAAA;CAQ/B;AAED,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC;AAED,gBAAgB;AAChB,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExH,gBAAgB;AAChB,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAEzG,gBAAgB;AAChB,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAkD5G;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.HttpResponseError = void 0;
|
|
8
|
+
exports.request = request;
|
|
8
9
|
/** Error object that's thrown if the status is *not* in the range of 200-299 (inclusive).
|
|
9
10
|
* @internal
|
|
10
11
|
*/
|
|
@@ -46,7 +47,6 @@ async function request(url, responseType, options) {
|
|
|
46
47
|
return response.text();
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
exports.request = request;
|
|
50
50
|
async function fetchWithRetry(fetchFunc, remainingRetries) {
|
|
51
51
|
try {
|
|
52
52
|
return await fetchFunc();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../src/request/Request.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../src/request/Request.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AA2C/F,0BA+BC;AAlED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK;IAE1C,YACS,MAAc,EACd,YAAqB;QAE5B,IAAI,OAAO,GAAG,8BAA8B,MAAM,GAAG,CAAC;QACtD,IAAI,YAAY;YACd,OAAO,IAAI,mBAAmB,YAAY,EAAE,CAAC;QAE/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAPR,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAS;IAO9B,CAAC;CACF;AAZD,8CAYC;AAmBD,gBAAgB;AACT,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,YAA6C,EAAE,OAAwB;IAChH,MAAM,OAAO,GAAQ;QACnB,GAAG,OAAO,EAAE,OAAO;KACpB,CAAC;IAEF,IAAI,OAAO,EAAE,IAAI;QACf,OAAO,CAAC,aAAa,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;IAElG,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,OAAO,EAAE,OAAO;QAClB,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAExD,MAAM,YAAY,GAAgB;QAChC,OAAO;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;IAE3E,IAAI,CAAC,QAAQ,CAAC,EAAE;QACd,MAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtE,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,aAAa;YAChB,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;QAChC,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,SAAkC,EAAE,gBAAwB;IACxF,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;YACvD,MAAM,KAAK,CAAC;QAEd,IAAI,gBAAgB,KAAK,CAAC;YACxB,MAAM,KAAK,CAAC;QAEd,OAAO,cAAc,CAAC,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;AACH,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\r\n/** @internal */\r\nexport interface RequestBasicCredentials { // axios: AxiosBasicCredentials\r\n user: string; // axios: username\r\n password: string; // axios: password\r\n}\r\n\r\n/** Error object that's thrown if the status is *not* in the range of 200-299 (inclusive).\r\n * @internal\r\n */\r\nexport class HttpResponseError extends Error {\r\n\r\n public constructor(\r\n public status: number,\r\n public responseText?: string,\r\n ) {\r\n let message = `HTTP response status code: ${status}.`;\r\n if (responseText)\r\n message += ` Response body: ${responseText}`;\r\n\r\n super(message);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface RequestOptions {\r\n retryCount?: number;\r\n headers?: any;\r\n timeout?: number;\r\n auth?: RequestBasicCredentials;\r\n}\r\n\r\n/** @internal */\r\nexport async function request(url: string, responseType: \"arraybuffer\", options?: RequestOptions): Promise<ArrayBuffer>;\r\n\r\n/** @internal */\r\nexport async function request(url: string, responseType: \"json\", options?: RequestOptions): Promise<any>;\r\n\r\n/** @internal */\r\nexport async function request(url: string, responseType: \"text\", options?: RequestOptions): Promise<string>;\r\n\r\n/** @internal */\r\nexport async function request(url: string, responseType: \"arraybuffer\" | \"json\" | \"text\", options?: RequestOptions): Promise<any> {\r\n const headers: any = {\r\n ...options?.headers,\r\n };\r\n\r\n if (options?.auth)\r\n headers.authorization = `Basic ${window.btoa(`${options.auth.user}:${options.auth.password}`)}`;\r\n\r\n const controller = new AbortController();\r\n if (options?.timeout)\r\n setTimeout(() => controller.abort(), options.timeout);\r\n\r\n const fetchOptions: RequestInit = {\r\n headers,\r\n signal: controller.signal,\r\n };\r\n\r\n const fetchFunc = async () => fetch(url, fetchOptions);\r\n const response = await fetchWithRetry(fetchFunc, options?.retryCount ?? 4);\r\n\r\n if (!response.ok)\r\n throw new HttpResponseError(response.status, await response.text());\r\n\r\n switch (responseType) {\r\n case \"arraybuffer\":\r\n return response.arrayBuffer();\r\n case \"json\":\r\n return response.json();\r\n case \"text\":\r\n return response.text();\r\n }\r\n}\r\n\r\nasync function fetchWithRetry(fetchFunc: () => Promise<Response>, remainingRetries: number): Promise<Response> {\r\n try {\r\n return await fetchFunc();\r\n } catch (error: unknown) {\r\n if (error instanceof Error && error.name === \"AbortError\")\r\n throw error;\r\n\r\n if (remainingRetries === 0)\r\n throw error;\r\n\r\n return fetchWithRetry(fetchFunc, --remainingRetries);\r\n }\r\n}\r\n\r\n/**\r\n * @internal\r\n * @deprecated in 4.0. Use [[DownloadProgressInfo]].\r\n */\r\nexport interface ProgressInfo {\r\n percent?: number;\r\n total?: number;\r\n loaded: number;\r\n}\r\n\r\n/**\r\n * @internal\r\n * @deprecated in 4.0. Use [[OnDownloadProgress]].\r\n */\r\nexport type ProgressCallback = (progress: ProgressInfo) => void;\r\n"]}
|
package/lib/cjs/request/utils.js
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.headersIncludeAuthMethod = headersIncludeAuthMethod;
|
|
8
|
+
exports.setBasicAuthorization = setBasicAuthorization;
|
|
9
|
+
exports.setRequestTimeout = setRequestTimeout;
|
|
8
10
|
const core_common_1 = require("@itwin/core-common");
|
|
9
11
|
/**
|
|
10
12
|
* Check whether or not one of the requested authentication method is listed in the HTTP 'WWW-Authenticate' response header
|
|
@@ -25,7 +27,6 @@ function headersIncludeAuthMethod(headers, query) {
|
|
|
25
27
|
}
|
|
26
28
|
return false;
|
|
27
29
|
}
|
|
28
|
-
exports.headersIncludeAuthMethod = headersIncludeAuthMethod;
|
|
29
30
|
/** @internal */
|
|
30
31
|
function setBasicAuthorization(headers, userOrCreds, password) {
|
|
31
32
|
let username;
|
|
@@ -41,7 +42,6 @@ function setBasicAuthorization(headers, userOrCreds, password) {
|
|
|
41
42
|
if (username !== undefined && pwd !== undefined)
|
|
42
43
|
headers.set("Authorization", `Basic ${core_common_1.Base64EncodedString.encode(`${username}:${pwd}`)}`);
|
|
43
44
|
}
|
|
44
|
-
exports.setBasicAuthorization = setBasicAuthorization;
|
|
45
45
|
/**
|
|
46
46
|
* Set number of milliseconds a request can take before automatically being terminated
|
|
47
47
|
* @internal
|
|
@@ -51,5 +51,4 @@ function setRequestTimeout(opts, ms, abortController) {
|
|
|
51
51
|
setTimeout(() => controller.abort(), ms);
|
|
52
52
|
opts.signal = controller.signal;
|
|
53
53
|
}
|
|
54
|
-
exports.setRequestTimeout = setRequestTimeout;
|
|
55
54
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/request/utils.ts"],"names":[],"mappings":";AAAA;;;+FAG+F
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/request/utils.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AAY/F,4DAWC;AAWD,sDAaC;AAMD,8CAIC;AAvDD,oDAAyD;AAGzD;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,OAAgB,EAAE,KAAe;IACxE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAC,EAAE,CAAA,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAK,qBAAqB;IAC3F,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAC,EAAE,CAAA,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1F,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;YACxC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAClC,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAUD,gBAAgB;AAChB,SAAgB,qBAAqB,CAAC,OAAgB,EAAE,WAA2C,EAAE,QAAiB;IACpH,IAAI,QAA0B,CAAC;IAC/B,IAAI,GAAqB,CAAC;IAC1B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,QAAQ,GAAG,WAAW,CAAC;QACvB,GAAG,GAAI,QAAQ,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;QAC5B,GAAG,GAAI,WAAW,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;QAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,iCAAmB,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,IAAiB,EAAE,EAAU,EAAE,eAAiC;IAChG,MAAM,UAAU,GAAG,eAAe,IAAI,IAAI,eAAe,EAAE,CAAC;IAC5D,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AAClC,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\r\nimport { Base64EncodedString } from \"@itwin/core-common\";\r\nimport { RequestBasicCredentials } from \"./Request\";\r\n\r\n/**\r\n * Check whether or not one of the requested authentication method is listed in the HTTP 'WWW-Authenticate' response header\r\n * @param headers Headers object\r\n * @param query List of authentication method to lookup (case-insensitive)\r\n * @note For CORS requests, the 'Access-Control-Expose-Headers' header from the server must make the 'WWW-Authenticate' available to the browser, otherwise this won't work.\r\n * @internal\r\n */\r\nexport function headersIncludeAuthMethod(headers: Headers, query: string[]): boolean {\r\n const wwwAuthenticate = headers.get(\"WWW-authenticate\");\r\n const lowerCaseQuery = query.map(((value)=>value.toLowerCase())); // not case-sensitive\r\n if (wwwAuthenticate !== null) {\r\n const authMethods = wwwAuthenticate.split(\",\").map(((value)=>value.toLowerCase().trim()));\r\n for (const queryValue of lowerCaseQuery) {\r\n if (authMethods.includes(queryValue))\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * Set the value of the 'Authorization' header with Basic authentication value\r\n * scheme: 'Authorization: Basic <credentials>'\r\n * @internal\r\n */\r\nexport function setBasicAuthorization(headers: Headers, credentials: RequestBasicCredentials): void;\r\n/** @internal */\r\nexport function setBasicAuthorization(headers: Headers, user: string, password: string): void;\r\n/** @internal */\r\nexport function setBasicAuthorization(headers: Headers, userOrCreds: string|RequestBasicCredentials, password?: string): void {\r\n let username: string|undefined;\r\n let pwd: string|undefined;\r\n if (typeof userOrCreds === \"string\") {\r\n username = userOrCreds;\r\n pwd = password;\r\n } else {\r\n username = userOrCreds.user;\r\n pwd = userOrCreds.password;\r\n }\r\n\r\n if (username !== undefined && pwd !== undefined)\r\n headers.set(\"Authorization\", `Basic ${Base64EncodedString.encode(`${username}:${pwd}`)}`);\r\n}\r\n\r\n/**\r\n * Set number of milliseconds a request can take before automatically being terminated\r\n * @internal\r\n */\r\nexport function setRequestTimeout(opts: RequestInit, ms: number, abortController?: AbortController ): void {\r\n const controller = abortController ?? new AbortController();\r\n setTimeout(() => controller.abort(), ms);\r\n opts.signal = controller.signal;\r\n}\r\n\r\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SpatialClassifierTileTreeReference = void 0;
|
|
4
|
+
exports.createClassifierTileTreeReference = createClassifierTileTreeReference;
|
|
4
5
|
/*---------------------------------------------------------------------------------------------
|
|
5
6
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
7
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -141,12 +142,11 @@ class ClassifierTreeReference extends SpatialClassifierTileTreeReference {
|
|
|
141
142
|
function createClassifierTileTreeReference(classifiers, classifiedTree, iModel, source) {
|
|
142
143
|
return new ClassifierTreeReference(classifiers, classifiedTree, iModel, source);
|
|
143
144
|
}
|
|
144
|
-
exports.createClassifierTileTreeReference = createClassifierTileTreeReference;
|
|
145
145
|
function createClassifierId(classifier, source) {
|
|
146
146
|
if (undefined === classifier)
|
|
147
147
|
return { modelId: core_bentley_1.Id64.invalid, type: core_common_1.BatchType.PlanarClassifier, expansion: 0, animationId: undefined };
|
|
148
148
|
const type = classifier.flags.isVolumeClassifier ? core_common_1.BatchType.VolumeClassifier : core_common_1.BatchType.PlanarClassifier;
|
|
149
|
-
const scriptInfo = IModelApp_1.IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source?.scheduleScriptReference); // eslint-disable-line
|
|
149
|
+
const scriptInfo = IModelApp_1.IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source?.scheduleScriptReference); // eslint-disable-line @typescript-eslint/no-deprecated
|
|
150
150
|
return {
|
|
151
151
|
modelId: classifier.modelId,
|
|
152
152
|
type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassifierTileTree.js","sourceRoot":"","sources":["../../../src/tile/ClassifierTileTree.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\nimport { compareNumbers, comparePossiblyUndefined, compareStrings, compareStringsOrUndefined, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n BatchType, ClassifierTileTreeId, iModelTileTreeIdToString, RenderMode, RenderSchedule, SpatialClassifier, ViewFlagsProperties,\r\n} from \"@itwin/core-common\";\r\nimport { DisplayStyleState } from \"../DisplayStyleState\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { GeometricModelState } from \"../ModelState\";\r\nimport { SceneContext } from \"../ViewContext\";\r\nimport { ViewState } from \"../ViewState\";\r\nimport { ActiveSpatialClassifier, SpatialClassifiersState } from \"../SpatialClassifiersState\";\r\nimport {\r\n DisclosedTileTreeSet, IModelTileTree, iModelTileTreeParamsFromJSON, TileTree, TileTreeLoadStatus, TileTreeOwner, TileTreeReference, TileTreeSupplier,\r\n} from \"./internal\";\r\n\r\ninterface ClassifierTreeId extends ClassifierTileTreeId {\r\n modelId: Id64String;\r\n timeline?: RenderSchedule.ModelTimeline;\r\n}\r\n\r\nfunction compareIds(lhs: ClassifierTreeId, rhs: ClassifierTreeId): number {\r\n return compareNumbers(lhs.type, rhs.type) || compareNumbers(lhs.expansion, rhs.expansion)\r\n || compareStrings(lhs.modelId, rhs.modelId) || compareStringsOrUndefined(lhs.animationId, rhs.animationId)\r\n || comparePossiblyUndefined((x, y) => x.compareTo(y), lhs.timeline, rhs.timeline);\r\n}\r\n\r\nclass ClassifierTreeSupplier implements TileTreeSupplier {\r\n private readonly _nonexistentTreeOwner = {\r\n tileTree: undefined,\r\n loadStatus: TileTreeLoadStatus.NotFound,\r\n load: () => undefined,\r\n dispose: () => undefined,\r\n loadTree: async () => undefined,\r\n iModel: undefined as unknown as IModelConnection,\r\n };\r\n\r\n public compareTileTreeIds(lhs: ClassifierTreeId, rhs: ClassifierTreeId): number {\r\n return compareIds(lhs, rhs);\r\n }\r\n\r\n public async createTileTree(id: ClassifierTreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\r\n await iModel.models.load(id.modelId);\r\n const model = iModel.models.getLoaded(id.modelId);\r\n if (undefined === model || !(model instanceof GeometricModelState))\r\n return undefined;\r\n\r\n const idStr = iModelTileTreeIdToString(id.modelId, id, IModelApp.tileAdmin);\r\n const props = await IModelApp.tileAdmin.requestTileTreeProps(iModel, idStr);\r\n\r\n const params = iModelTileTreeParamsFromJSON(props, iModel, id.modelId, {\r\n edges: false,\r\n allowInstancing: false,\r\n is3d: true,\r\n batchType: id.type,\r\n timeline: id.timeline,\r\n });\r\n\r\n return new IModelTileTree(params, id);\r\n }\r\n\r\n public getOwner(id: ClassifierTreeId, iModel: IModelConnection): TileTreeOwner {\r\n return Id64.isValid(id.modelId) ? iModel.tiles.getTileTreeOwner(id, this) : this._nonexistentTreeOwner;\r\n }\r\n\r\n public addModelsAnimatedByScript(modelIds: Set<Id64String>, scriptSourceId: Id64String, trees: Iterable<{ id: ClassifierTreeId, owner: TileTreeOwner }>): void {\r\n // Note: This is invoked when an element hosting a schedule script is updated - it doesn't care about frontend schedule scripts.\r\n for (const tree of trees)\r\n if (scriptSourceId === tree.id.animationId)\r\n modelIds.add(tree.id.modelId);\r\n }\r\n\r\n public addSpatialModels(modelIds: Set<Id64String>, trees: Iterable<{ id: ClassifierTreeId, owner: TileTreeOwner }>): void {\r\n for (const tree of trees)\r\n modelIds.add(tree.id.modelId);\r\n }\r\n}\r\n\r\nconst classifierTreeSupplier = new ClassifierTreeSupplier();\r\n\r\n/** @internal */\r\nexport abstract class SpatialClassifierTileTreeReference extends TileTreeReference {\r\n public abstract get isPlanar(): boolean;\r\n public abstract get activeClassifier(): ActiveSpatialClassifier | undefined;\r\n public abstract get viewFlags(): Partial<ViewFlagsProperties>;\r\n public get transparency(): number | undefined { return undefined; }\r\n}\r\n\r\n/** @internal */\r\nclass ClassifierTreeReference extends SpatialClassifierTileTreeReference {\r\n private _id: ClassifierTreeId;\r\n private readonly _classifiers: SpatialClassifiersState;\r\n private readonly _source: ViewState | DisplayStyleState;\r\n private readonly _iModel: IModelConnection;\r\n private readonly _classifiedTree: TileTreeReference;\r\n private _owner: TileTreeOwner;\r\n\r\n public constructor(classifiers: SpatialClassifiersState, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState) {\r\n super();\r\n this._id = createClassifierId(classifiers.active, source);\r\n this._source = source;\r\n this._iModel = iModel;\r\n this._classifiers = classifiers;\r\n this._classifiedTree = classifiedTree;\r\n this._owner = classifierTreeSupplier.getOwner(this._id, iModel);\r\n }\r\n\r\n public get classifiers(): SpatialClassifiersState { return this._classifiers; }\r\n public get activeClassifier(): ActiveSpatialClassifier | undefined { return this.classifiers.activeClassifier; }\r\n\r\n public override get castsShadows() {\r\n return false;\r\n }\r\n\r\n public get treeOwner(): TileTreeOwner {\r\n const newId = createClassifierId(this._classifiers.active, this._source);\r\n if (0 !== compareIds(this._id, newId)) {\r\n this._id = newId;\r\n this._owner = classifierTreeSupplier.getOwner(this._id, this._iModel);\r\n }\r\n\r\n return this.activeClassifier?.tileTreeReference?.treeOwner ?? this._owner;\r\n }\r\n\r\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\r\n // NB: We do NOT call super because we don't use our tree if no classifier is active.\r\n trees.disclose(this._classifiedTree);\r\n\r\n const classifier = this.activeClassifier;\r\n const classifierTree = undefined !== classifier ? this.treeOwner.tileTree : undefined;\r\n if (undefined !== classifierTree)\r\n trees.add(classifierTree);\r\n }\r\n\r\n public get isPlanar() {\r\n if (this.activeClassifier?.flags.isVolumeClassifier) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public get viewFlags(): Partial<ViewFlagsProperties> {\r\n return {\r\n renderMode: RenderMode.SmoothShade,\r\n transparency: true, // Igored for point clouds as they don't support transparency.\r\n textures: false,\r\n lighting: false,\r\n shadows: false,\r\n monochrome: false,\r\n materials: false,\r\n ambientOcclusion: false,\r\n visibleEdges: false,\r\n hiddenEdges: false,\r\n };\r\n }\r\n\r\n // Add volume classifiers to scene (planar classifiers are added seperately.)\r\n public override addToScene(context: SceneContext): void {\r\n if (this.isPlanar)\r\n return;\r\n\r\n const classifiedTree = this._classifiedTree.treeOwner.load();\r\n if (undefined === classifiedTree)\r\n return;\r\n\r\n const classifier = this._classifiers.activeClassifier;\r\n if (undefined === classifier)\r\n return;\r\n\r\n const classifierTree = this.treeOwner.load();\r\n if (undefined === classifierTree)\r\n return;\r\n\r\n context.setVolumeClassifier(classifier, classifiedTree.modelId);\r\n super.addToScene(context);\r\n }\r\n\r\n}\r\n\r\n/** @internal */\r\nexport function createClassifierTileTreeReference(classifiers: SpatialClassifiersState, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState): SpatialClassifierTileTreeReference {\r\n return new ClassifierTreeReference(classifiers, classifiedTree, iModel, source);\r\n}\r\n\r\nfunction createClassifierId(classifier: SpatialClassifier | undefined, source: ViewState | DisplayStyleState | undefined): ClassifierTreeId {\r\n if (undefined === classifier)\r\n return { modelId: Id64.invalid, type: BatchType.PlanarClassifier, expansion: 0, animationId: undefined };\r\n\r\n const type = classifier.flags.isVolumeClassifier ? BatchType.VolumeClassifier : BatchType.PlanarClassifier;\r\n const scriptInfo = IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source?.scheduleScriptReference); // eslint-disable-line deprecation/deprecation\r\n return {\r\n modelId: classifier.modelId,\r\n type,\r\n expansion: classifier.expand,\r\n animationId: scriptInfo?.animationId,\r\n timeline: scriptInfo?.timeline,\r\n };\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ClassifierTileTree.js","sourceRoot":"","sources":["../../../src/tile/ClassifierTileTree.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\nimport { compareNumbers, comparePossiblyUndefined, compareStrings, compareStringsOrUndefined, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n BatchType, ClassifierTileTreeId, iModelTileTreeIdToString, RenderMode, RenderSchedule, SpatialClassifier, ViewFlagsProperties,\r\n} from \"@itwin/core-common\";\r\nimport { DisplayStyleState } from \"../DisplayStyleState\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { GeometricModelState } from \"../ModelState\";\r\nimport { SceneContext } from \"../ViewContext\";\r\nimport { ViewState } from \"../ViewState\";\r\nimport { ActiveSpatialClassifier, SpatialClassifiersState } from \"../SpatialClassifiersState\";\r\nimport {\r\n DisclosedTileTreeSet, IModelTileTree, iModelTileTreeParamsFromJSON, TileTree, TileTreeLoadStatus, TileTreeOwner, TileTreeReference, TileTreeSupplier,\r\n} from \"./internal\";\r\n\r\ninterface ClassifierTreeId extends ClassifierTileTreeId {\r\n modelId: Id64String;\r\n timeline?: RenderSchedule.ModelTimeline;\r\n}\r\n\r\nfunction compareIds(lhs: ClassifierTreeId, rhs: ClassifierTreeId): number {\r\n return compareNumbers(lhs.type, rhs.type) || compareNumbers(lhs.expansion, rhs.expansion)\r\n || compareStrings(lhs.modelId, rhs.modelId) || compareStringsOrUndefined(lhs.animationId, rhs.animationId)\r\n || comparePossiblyUndefined((x, y) => x.compareTo(y), lhs.timeline, rhs.timeline);\r\n}\r\n\r\nclass ClassifierTreeSupplier implements TileTreeSupplier {\r\n private readonly _nonexistentTreeOwner = {\r\n tileTree: undefined,\r\n loadStatus: TileTreeLoadStatus.NotFound,\r\n load: () => undefined,\r\n dispose: () => undefined,\r\n loadTree: async () => undefined,\r\n iModel: undefined as unknown as IModelConnection,\r\n };\r\n\r\n public compareTileTreeIds(lhs: ClassifierTreeId, rhs: ClassifierTreeId): number {\r\n return compareIds(lhs, rhs);\r\n }\r\n\r\n public async createTileTree(id: ClassifierTreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\r\n await iModel.models.load(id.modelId);\r\n const model = iModel.models.getLoaded(id.modelId);\r\n if (undefined === model || !(model instanceof GeometricModelState))\r\n return undefined;\r\n\r\n const idStr = iModelTileTreeIdToString(id.modelId, id, IModelApp.tileAdmin);\r\n const props = await IModelApp.tileAdmin.requestTileTreeProps(iModel, idStr);\r\n\r\n const params = iModelTileTreeParamsFromJSON(props, iModel, id.modelId, {\r\n edges: false,\r\n allowInstancing: false,\r\n is3d: true,\r\n batchType: id.type,\r\n timeline: id.timeline,\r\n });\r\n\r\n return new IModelTileTree(params, id);\r\n }\r\n\r\n public getOwner(id: ClassifierTreeId, iModel: IModelConnection): TileTreeOwner {\r\n return Id64.isValid(id.modelId) ? iModel.tiles.getTileTreeOwner(id, this) : this._nonexistentTreeOwner;\r\n }\r\n\r\n public addModelsAnimatedByScript(modelIds: Set<Id64String>, scriptSourceId: Id64String, trees: Iterable<{ id: ClassifierTreeId, owner: TileTreeOwner }>): void {\r\n // Note: This is invoked when an element hosting a schedule script is updated - it doesn't care about frontend schedule scripts.\r\n for (const tree of trees)\r\n if (scriptSourceId === tree.id.animationId)\r\n modelIds.add(tree.id.modelId);\r\n }\r\n\r\n public addSpatialModels(modelIds: Set<Id64String>, trees: Iterable<{ id: ClassifierTreeId, owner: TileTreeOwner }>): void {\r\n for (const tree of trees)\r\n modelIds.add(tree.id.modelId);\r\n }\r\n}\r\n\r\nconst classifierTreeSupplier = new ClassifierTreeSupplier();\r\n\r\n/** @internal */\r\nexport abstract class SpatialClassifierTileTreeReference extends TileTreeReference {\r\n public abstract get isPlanar(): boolean;\r\n public abstract get activeClassifier(): ActiveSpatialClassifier | undefined;\r\n public abstract get viewFlags(): Partial<ViewFlagsProperties>;\r\n public get transparency(): number | undefined { return undefined; }\r\n}\r\n\r\n/** @internal */\r\nclass ClassifierTreeReference extends SpatialClassifierTileTreeReference {\r\n private _id: ClassifierTreeId;\r\n private readonly _classifiers: SpatialClassifiersState;\r\n private readonly _source: ViewState | DisplayStyleState;\r\n private readonly _iModel: IModelConnection;\r\n private readonly _classifiedTree: TileTreeReference;\r\n private _owner: TileTreeOwner;\r\n\r\n public constructor(classifiers: SpatialClassifiersState, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState) {\r\n super();\r\n this._id = createClassifierId(classifiers.active, source);\r\n this._source = source;\r\n this._iModel = iModel;\r\n this._classifiers = classifiers;\r\n this._classifiedTree = classifiedTree;\r\n this._owner = classifierTreeSupplier.getOwner(this._id, iModel);\r\n }\r\n\r\n public get classifiers(): SpatialClassifiersState { return this._classifiers; }\r\n public get activeClassifier(): ActiveSpatialClassifier | undefined { return this.classifiers.activeClassifier; }\r\n\r\n public override get castsShadows() {\r\n return false;\r\n }\r\n\r\n public get treeOwner(): TileTreeOwner {\r\n const newId = createClassifierId(this._classifiers.active, this._source);\r\n if (0 !== compareIds(this._id, newId)) {\r\n this._id = newId;\r\n this._owner = classifierTreeSupplier.getOwner(this._id, this._iModel);\r\n }\r\n\r\n return this.activeClassifier?.tileTreeReference?.treeOwner ?? this._owner;\r\n }\r\n\r\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\r\n // NB: We do NOT call super because we don't use our tree if no classifier is active.\r\n trees.disclose(this._classifiedTree);\r\n\r\n const classifier = this.activeClassifier;\r\n const classifierTree = undefined !== classifier ? this.treeOwner.tileTree : undefined;\r\n if (undefined !== classifierTree)\r\n trees.add(classifierTree);\r\n }\r\n\r\n public get isPlanar() {\r\n if (this.activeClassifier?.flags.isVolumeClassifier) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public get viewFlags(): Partial<ViewFlagsProperties> {\r\n return {\r\n renderMode: RenderMode.SmoothShade,\r\n transparency: true, // Igored for point clouds as they don't support transparency.\r\n textures: false,\r\n lighting: false,\r\n shadows: false,\r\n monochrome: false,\r\n materials: false,\r\n ambientOcclusion: false,\r\n visibleEdges: false,\r\n hiddenEdges: false,\r\n };\r\n }\r\n\r\n // Add volume classifiers to scene (planar classifiers are added seperately.)\r\n public override addToScene(context: SceneContext): void {\r\n if (this.isPlanar)\r\n return;\r\n\r\n const classifiedTree = this._classifiedTree.treeOwner.load();\r\n if (undefined === classifiedTree)\r\n return;\r\n\r\n const classifier = this._classifiers.activeClassifier;\r\n if (undefined === classifier)\r\n return;\r\n\r\n const classifierTree = this.treeOwner.load();\r\n if (undefined === classifierTree)\r\n return;\r\n\r\n context.setVolumeClassifier(classifier, classifiedTree.modelId);\r\n super.addToScene(context);\r\n }\r\n\r\n}\r\n\r\n/** @internal */\r\nexport function createClassifierTileTreeReference(classifiers: SpatialClassifiersState, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState): SpatialClassifierTileTreeReference {\r\n return new ClassifierTreeReference(classifiers, classifiedTree, iModel, source);\r\n}\r\n\r\nfunction createClassifierId(classifier: SpatialClassifier | undefined, source: ViewState | DisplayStyleState | undefined): ClassifierTreeId {\r\n if (undefined === classifier)\r\n return { modelId: Id64.invalid, type: BatchType.PlanarClassifier, expansion: 0, animationId: undefined };\r\n\r\n const type = classifier.flags.isVolumeClassifier ? BatchType.VolumeClassifier : BatchType.PlanarClassifier;\r\n const scriptInfo = IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source?.scheduleScriptReference); // eslint-disable-line @typescript-eslint/no-deprecated\r\n return {\r\n modelId: classifier.modelId,\r\n type,\r\n expansion: classifier.expand,\r\n animationId: scriptInfo?.animationId,\r\n timeline: scriptInfo?.timeline,\r\n };\r\n}\r\n"]}
|
|
@@ -19,7 +19,7 @@ class ContextShareProvider {
|
|
|
19
19
|
try {
|
|
20
20
|
attUrl = new URL(tilesetUrl);
|
|
21
21
|
}
|
|
22
|
-
catch
|
|
22
|
+
catch {
|
|
23
23
|
// Not a valid URL for Context share
|
|
24
24
|
return false;
|
|
25
25
|
}
|
|
@@ -50,7 +50,7 @@ class ContextShareProvider {
|
|
|
50
50
|
try {
|
|
51
51
|
attUrl = new URL(tilesetUrl);
|
|
52
52
|
}
|
|
53
|
-
catch
|
|
53
|
+
catch {
|
|
54
54
|
// Not a valid URL and not equal, probably $cesiumAsset
|
|
55
55
|
return invalidUrlInfo;
|
|
56
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextShareProvider.js","sourceRoot":"","sources":["../../../src/tile/ContextShareProvider.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,sDAA2C;AAC3C,oDAA4E;AAE5E;;;GAGG;AACH,MAAa,oBAAoB;IAC/B,sEAAsE;IAC/D,MAAM,CAAC,aAAa,CAAC,UAAkB;QAC5C,oFAAoF;QACpF,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,oCAAoC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,oGAAoG;QACpG,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAC1J,OAAO,IAAI,CAAC;QACd,4BAA4B;QAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/E,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9F,IAAI,WAAW,GAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC9B,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;oBAC7B,WAAW,GAAG,KAAK,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YAC1K,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sEAAsE;IAC/D,MAAM,CAAC,cAAc,CAAC,UAAkB;QAC7C,MAAM,cAAc,GAAG,EAAE,QAAQ,EAAE,iCAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,+BAAiB,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC9I,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,uDAAuD;YACvD,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,oGAAoG;QACpG,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC,EAAE,CAAC;YAC7J,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9C,0FAA0F;YAC1F,8GAA8G;YAC9G,wIAAwI;YACxI,MAAM,MAAM,GAAG,+BAAiB,CAAC,UAAU,CAAC;YAC5C,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;YACjB,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;YAExB,IAAG,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAAE,CAAC;gBACxE,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,kCAAkC,CAAC,GAAG,EAAE,CAAC,CAAC,qDAAqD;gBAC9H,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;YACrF,CAAC;iBAAM,IAAG,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3D,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,iCAAiC;gBACtF,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,+BAA+B;YAC3F,CAAC;YAED,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,mBAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;YAExE,IAAI,SAA6B,CAAC;YAClC,IAAI,cAAc,IAAI,cAAc,GAAG,CAAC;gBACtC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAI,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;YACzF,MAAM,mBAAmB,GAAG,EAAE,QAAQ,EAAE,iCAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAC3G,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QACD,4BAA4B;QAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/E,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9F,IAAI,WAAW,GAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC9B,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;oBAC7B,WAAW,GAAG,KAAK,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;YACtD,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YAC1K,IAAI,SAA6B,CAAC;YAClC,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,IAAI,gBAAgB;gBAClB,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,+FAA+F;YAC/F,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;gBACtB,6CAA6C;gBAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,mBAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,iCAAmB,CAAC,YAAY,CAAC;oBAClD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,+BAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,+BAAiB,CAAC,UAAU,CAAC;oBAC5E,MAAM,eAAe,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;oBAC5E,OAAO,eAAe,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QACD,uDAAuD;QACvD,OAAO,cAAc,CAAC;IACxB,CAAC;IACM,MAAM,CAAC,kBAAkB,CAAC,OAAe;QAC9C,IAAI,MAAM,GAAG,+BAAiB,CAAC,UAAU,CAAC;QAC1C,IAAI,QAAQ,GAAG,iCAAmB,CAAC,UAAU,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAE7B,2FAA2F;QAC3F,IAAG,CAAC,GAAG,CAAC,QAAQ;YACd,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QAE3C,oDAAoD;QACpD,IAAI,aAAa,GAAE,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,4CAA4C;QAC5C,iDAAiD;QACjD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;QACnD,QAAQ,GAAG,iCAAmB,CAAC,YAAY,CAAC;QAC5C,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,+BAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,+BAAiB,CAAC,UAAU,CAAC;QACtE,MAAM,eAAe,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;QAChE,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AA5HD,oDA4HC","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\r\nimport { Guid } from \"@itwin/core-bentley\";\r\nimport { RealityDataFormat, RealityDataProvider } from \"@itwin/core-common\";\r\n\r\n/**\r\n * This class provide methods used to interpret url to Project Wise Context Share (RealityDataProvider.ContextShare)\r\n * @internal\r\n */\r\nexport class ContextShareProvider {\r\n /** Return true if this is a supported url to this service provider */\r\n public static isProviderUrl(tilesetUrl: string): boolean {\r\n // Try to extract realityDataId from URL and if not possible, use the url as the key\r\n let attUrl: URL;\r\n try {\r\n attUrl = new URL(tilesetUrl);\r\n } catch (e) {\r\n // Not a valid URL for Context share\r\n return false;\r\n }\r\n // If api.bentley.com/realitydata or api.bentley.com/reality-management is used, it is context share\r\n if (tilesetUrl.toLowerCase().includes(\"api.bentley.com/realitydata\") || tilesetUrl.toLowerCase().includes(\"api.bentley.com/reality-management/reality-data\"))\r\n return true;\r\n // detect if it is a RDS url\r\n const formattedUrl1 = attUrl.pathname.replace(/~2F/g, \"/\").replace(/\\\\/g, \"/\");\r\n if (formattedUrl1) {\r\n const urlParts1 = formattedUrl1.split(\"/\").map((entry: string) => entry.replace(/%2D/g, \"-\"));\r\n let partOffset1: number = 0;\r\n urlParts1.find((value, index) => {\r\n if (value === \"Repositories\") {\r\n partOffset1 = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n const isRDSUrl = (urlParts1[partOffset1] === \"Repositories\") && (urlParts1[partOffset1 + 1].match(\"S3MXECPlugin--*\") !== null) && (urlParts1[partOffset1 + 2] === \"S3MX\");\r\n return isRDSUrl;\r\n }\r\n return false;\r\n }\r\n /** Return true if this is a supported url to this service provider */\r\n public static getInfoFromUrl(tilesetUrl: string): {provider: RealityDataProvider, format: RealityDataFormat, id: string, iTwinId: string | undefined} {\r\n const invalidUrlInfo = { provider: RealityDataProvider.TilesetUrl, format: RealityDataFormat.ThreeDTile, id: tilesetUrl, iTwinId: undefined };\r\n let attUrl: URL;\r\n try {\r\n attUrl = new URL(tilesetUrl);\r\n } catch (e) {\r\n // Not a valid URL and not equal, probably $cesiumAsset\r\n return invalidUrlInfo;\r\n }\r\n // If api.bentley.com/realitydata or api.bentley.com/reality-management is used, it is context share\r\n if (tilesetUrl.toLowerCase().includes(\"api.bentley.com/realitydata\") || tilesetUrl.toLowerCase().includes(\"api.bentley.com/reality-management/reality-data\")) {\r\n const lcTilesetUrl = tilesetUrl.toLowerCase();\r\n // NOTICE: We assume it is a ThreeDTile BUT this could technically be a point cloud (OPC).\r\n // This method was used in typical workflow where format was always ThreeDTile and is here for legacy support.\r\n // We don't want to make a call to RDS to resolve format since this method must not be async (it is used in workflow that are not async)\r\n const format = RealityDataFormat.ThreeDTile;\r\n let indexId = -1;\r\n let indexProjectId = -1;\r\n\r\n if(tilesetUrl.toLowerCase().includes(\"reality-management/reality-data\")) {\r\n indexId = lcTilesetUrl.indexOf(\"reality-management/reality-data/\") + 32; // length of \"reality-management/reality-data/\" = 32;\r\n indexProjectId = lcTilesetUrl.indexOf(\"itwinid=\") + 8; // length of \"itwinid=\" = 8;\r\n } else if(tilesetUrl.toLowerCase().includes(\"realitydata\")) {\r\n indexId = lcTilesetUrl.indexOf(\"realitydata/\") + 12; // length of \"realitydata/\" = 12;\r\n indexProjectId = lcTilesetUrl.indexOf(\"projectid=\") + 10; // length of \"projectid=\" = 10;\r\n }\r\n\r\n const id = lcTilesetUrl.substring(indexId, Guid.empty.length + indexId);\r\n\r\n let projectId: string | undefined;\r\n if (indexProjectId && indexProjectId > 0)\r\n projectId = lcTilesetUrl.substring(indexProjectId, Guid.empty.length + indexProjectId);\r\n const apimContextShareKey = { provider: RealityDataProvider.ContextShare, format, id, iTwinId: projectId };\r\n return apimContextShareKey;\r\n }\r\n // detect if it is a RDS url\r\n const formattedUrl1 = attUrl.pathname.replace(/~2F/g, \"/\").replace(/\\\\/g, \"/\");\r\n if (formattedUrl1) {\r\n const urlParts1 = formattedUrl1.split(\"/\").map((entry: string) => entry.replace(/%2D/g, \"-\"));\r\n let partOffset1: number = 0;\r\n urlParts1.find((value, index) => {\r\n if (value === \"Repositories\") {\r\n partOffset1 = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n const isOPC = attUrl.pathname.match(\".opc*\") !== null;\r\n const isRDSUrl = (urlParts1[partOffset1] === \"Repositories\") && (urlParts1[partOffset1 + 1].match(\"S3MXECPlugin--*\") !== null) && (urlParts1[partOffset1 + 2] === \"S3MX\");\r\n let projectId: string | undefined;\r\n const projectIdSection = urlParts1.find((val: string) => val.includes(\"--\"));\r\n if (projectIdSection)\r\n projectId = projectIdSection.split(\"--\")[1];\r\n // Make sure the url to compare are REALITYMESH3DTILES url, otherwise, compare the url directly\r\n if (isRDSUrl || isOPC) {\r\n // Make sure the reality data id are the same\r\n const guid1 = urlParts1.find(Guid.isGuid);\r\n if (guid1 !== undefined) {\r\n const provider = RealityDataProvider.ContextShare;\r\n const format = isOPC ? RealityDataFormat.OPC : RealityDataFormat.ThreeDTile;\r\n const contextShareKey = { provider, format, id: guid1, iTwinId: projectId };\r\n return contextShareKey;\r\n }\r\n }\r\n }\r\n // Not a valid URL and not equal, probably $cesiumAsset\r\n return invalidUrlInfo;\r\n }\r\n public static getInfoFromBlobUrl(blobUrl: string): {provider: RealityDataProvider, format: RealityDataFormat, id: string } {\r\n let format = RealityDataFormat.ThreeDTile;\r\n let provider = RealityDataProvider.TilesetUrl;\r\n const url = new URL(blobUrl);\r\n\r\n // If we cannot interpret that url pass in parameter we just fallback to old implementation\r\n if(!url.pathname)\r\n return { provider, format, id: blobUrl };\r\n\r\n // const accountName = url.hostname.split(\".\")[0];\r\n let containerName= \"\";\r\n if (url.pathname) {\r\n const pathSplit = url.pathname.split(\"/\");\r\n containerName = pathSplit[1];\r\n }\r\n\r\n // const blobFileName = `/${pathSplit[2]}`;\r\n // const sasToken = url.search.substring(1);\r\n const isOPC = url.pathname.match(\".opc*\") !== null;\r\n provider = RealityDataProvider.ContextShare;\r\n format = isOPC ? RealityDataFormat.OPC : RealityDataFormat.ThreeDTile;\r\n const contextShareKey = { provider, format, id: containerName };\r\n return contextShareKey;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ContextShareProvider.js","sourceRoot":"","sources":["../../../src/tile/ContextShareProvider.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\r\nimport { Guid } from \"@itwin/core-bentley\";\r\nimport { RealityDataFormat, RealityDataProvider } from \"@itwin/core-common\";\r\n\r\n/**\r\n * This class provide methods used to interpret url to Project Wise Context Share (RealityDataProvider.ContextShare)\r\n * @internal\r\n */\r\nexport class ContextShareProvider {\r\n /** Return true if this is a supported url to this service provider */\r\n public static isProviderUrl(tilesetUrl: string): boolean {\r\n // Try to extract realityDataId from URL and if not possible, use the url as the key\r\n let attUrl: URL;\r\n try {\r\n attUrl = new URL(tilesetUrl);\r\n } catch {\r\n // Not a valid URL for Context share\r\n return false;\r\n }\r\n // If api.bentley.com/realitydata or api.bentley.com/reality-management is used, it is context share\r\n if (tilesetUrl.toLowerCase().includes(\"api.bentley.com/realitydata\") || tilesetUrl.toLowerCase().includes(\"api.bentley.com/reality-management/reality-data\"))\r\n return true;\r\n // detect if it is a RDS url\r\n const formattedUrl1 = attUrl.pathname.replace(/~2F/g, \"/\").replace(/\\\\/g, \"/\");\r\n if (formattedUrl1) {\r\n const urlParts1 = formattedUrl1.split(\"/\").map((entry: string) => entry.replace(/%2D/g, \"-\"));\r\n let partOffset1: number = 0;\r\n urlParts1.find((value, index) => {\r\n if (value === \"Repositories\") {\r\n partOffset1 = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n const isRDSUrl = (urlParts1[partOffset1] === \"Repositories\") && (urlParts1[partOffset1 + 1].match(\"S3MXECPlugin--*\") !== null) && (urlParts1[partOffset1 + 2] === \"S3MX\");\r\n return isRDSUrl;\r\n }\r\n return false;\r\n }\r\n /** Return true if this is a supported url to this service provider */\r\n public static getInfoFromUrl(tilesetUrl: string): {provider: RealityDataProvider, format: RealityDataFormat, id: string, iTwinId: string | undefined} {\r\n const invalidUrlInfo = { provider: RealityDataProvider.TilesetUrl, format: RealityDataFormat.ThreeDTile, id: tilesetUrl, iTwinId: undefined };\r\n let attUrl: URL;\r\n try {\r\n attUrl = new URL(tilesetUrl);\r\n } catch {\r\n // Not a valid URL and not equal, probably $cesiumAsset\r\n return invalidUrlInfo;\r\n }\r\n // If api.bentley.com/realitydata or api.bentley.com/reality-management is used, it is context share\r\n if (tilesetUrl.toLowerCase().includes(\"api.bentley.com/realitydata\") || tilesetUrl.toLowerCase().includes(\"api.bentley.com/reality-management/reality-data\")) {\r\n const lcTilesetUrl = tilesetUrl.toLowerCase();\r\n // NOTICE: We assume it is a ThreeDTile BUT this could technically be a point cloud (OPC).\r\n // This method was used in typical workflow where format was always ThreeDTile and is here for legacy support.\r\n // We don't want to make a call to RDS to resolve format since this method must not be async (it is used in workflow that are not async)\r\n const format = RealityDataFormat.ThreeDTile;\r\n let indexId = -1;\r\n let indexProjectId = -1;\r\n\r\n if(tilesetUrl.toLowerCase().includes(\"reality-management/reality-data\")) {\r\n indexId = lcTilesetUrl.indexOf(\"reality-management/reality-data/\") + 32; // length of \"reality-management/reality-data/\" = 32;\r\n indexProjectId = lcTilesetUrl.indexOf(\"itwinid=\") + 8; // length of \"itwinid=\" = 8;\r\n } else if(tilesetUrl.toLowerCase().includes(\"realitydata\")) {\r\n indexId = lcTilesetUrl.indexOf(\"realitydata/\") + 12; // length of \"realitydata/\" = 12;\r\n indexProjectId = lcTilesetUrl.indexOf(\"projectid=\") + 10; // length of \"projectid=\" = 10;\r\n }\r\n\r\n const id = lcTilesetUrl.substring(indexId, Guid.empty.length + indexId);\r\n\r\n let projectId: string | undefined;\r\n if (indexProjectId && indexProjectId > 0)\r\n projectId = lcTilesetUrl.substring(indexProjectId, Guid.empty.length + indexProjectId);\r\n const apimContextShareKey = { provider: RealityDataProvider.ContextShare, format, id, iTwinId: projectId };\r\n return apimContextShareKey;\r\n }\r\n // detect if it is a RDS url\r\n const formattedUrl1 = attUrl.pathname.replace(/~2F/g, \"/\").replace(/\\\\/g, \"/\");\r\n if (formattedUrl1) {\r\n const urlParts1 = formattedUrl1.split(\"/\").map((entry: string) => entry.replace(/%2D/g, \"-\"));\r\n let partOffset1: number = 0;\r\n urlParts1.find((value, index) => {\r\n if (value === \"Repositories\") {\r\n partOffset1 = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n const isOPC = attUrl.pathname.match(\".opc*\") !== null;\r\n const isRDSUrl = (urlParts1[partOffset1] === \"Repositories\") && (urlParts1[partOffset1 + 1].match(\"S3MXECPlugin--*\") !== null) && (urlParts1[partOffset1 + 2] === \"S3MX\");\r\n let projectId: string | undefined;\r\n const projectIdSection = urlParts1.find((val: string) => val.includes(\"--\"));\r\n if (projectIdSection)\r\n projectId = projectIdSection.split(\"--\")[1];\r\n // Make sure the url to compare are REALITYMESH3DTILES url, otherwise, compare the url directly\r\n if (isRDSUrl || isOPC) {\r\n // Make sure the reality data id are the same\r\n const guid1 = urlParts1.find(Guid.isGuid);\r\n if (guid1 !== undefined) {\r\n const provider = RealityDataProvider.ContextShare;\r\n const format = isOPC ? RealityDataFormat.OPC : RealityDataFormat.ThreeDTile;\r\n const contextShareKey = { provider, format, id: guid1, iTwinId: projectId };\r\n return contextShareKey;\r\n }\r\n }\r\n }\r\n // Not a valid URL and not equal, probably $cesiumAsset\r\n return invalidUrlInfo;\r\n }\r\n public static getInfoFromBlobUrl(blobUrl: string): {provider: RealityDataProvider, format: RealityDataFormat, id: string } {\r\n let format = RealityDataFormat.ThreeDTile;\r\n let provider = RealityDataProvider.TilesetUrl;\r\n const url = new URL(blobUrl);\r\n\r\n // If we cannot interpret that url pass in parameter we just fallback to old implementation\r\n if(!url.pathname)\r\n return { provider, format, id: blobUrl };\r\n\r\n // const accountName = url.hostname.split(\".\")[0];\r\n let containerName= \"\";\r\n if (url.pathname) {\r\n const pathSplit = url.pathname.split(\"/\");\r\n containerName = pathSplit[1];\r\n }\r\n\r\n // const blobFileName = `/${pathSplit[2]}`;\r\n // const sasToken = url.search.substring(1);\r\n const isOPC = url.pathname.match(\".opc*\") !== null;\r\n provider = RealityDataProvider.ContextShare;\r\n format = isOPC ? RealityDataFormat.OPC : RealityDataFormat.ThreeDTile;\r\n const contextShareKey = { provider, format, id: containerName };\r\n return contextShareKey;\r\n }\r\n}\r\n"]}
|
|
@@ -293,7 +293,7 @@ export interface ReadGltfGraphicsArgs {
|
|
|
293
293
|
* - A JSON object conforming to the [glTF 2.0 specification](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html); or
|
|
294
294
|
* - A Uint8Array containing the utf8-encoded stringified JSON of an object conforming to the [glTF 2.0 specification](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html).
|
|
295
295
|
*/
|
|
296
|
-
gltf: Uint8Array |
|
|
296
|
+
gltf: Uint8Array | object;
|
|
297
297
|
/** The iModel with which the graphics will be associated - typically obtained from the [[Viewport]] into which they will be drawn. */
|
|
298
298
|
iModel: IModelConnection;
|
|
299
299
|
/** Options for making the graphic [pickable]($docs/learning/frontend/ViewDecorations#pickable-view-graphic-decorations).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GltfReader.d.ts","sourceRoot":"","sources":["../../../src/tile/GltfReader.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EACsC,OAAO,EAAW,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EACnG,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAAE,SAAS,EAAY,mBAAmB,EAAE,OAAO,EAAkC,YAAY,EACxF,gBAAgB,EAAwC,SAAS,EAAE,SAAS,EAC7C,aAAa,EAAE,cAAc,EAAmC,cAAc,EAAE,iBAAiB,EAC1J,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAuB,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGrG,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAIxE,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACgD,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAA0B,YAAY,EAAE,MAAM,EAC9K,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAgB,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAA8C,WAAW,EAAE,YAAY,EAC5K,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAyB,eAAe,EAAoE,MAAM,2BAA2B,CAAC;AAKrJ,gBAAgB;AAChB,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAEnF;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,KAAK,EAAE,MAAM,CAAC;gBAEX,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM;IAKxD;;;;OAIG;WACW,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAsBxI,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAgBhC;AAED;;;;;;;;GAQG;AACH,cAAM,cAAc;IAClB,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,QAAQ,EAAE,YAAY,CAAC;IACvC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,IAAW,UAAU,IAAI,MAAM,CAA6B;gBAEzC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;IAQvG,YAAY,CAAC,WAAW,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;CAG3E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAW7F;;GAEG;AACH,qBAAa,eAAe;IAC1B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxC,SAAgB,OAAO,CAAC,EAAE,GAAG,CAAC;IAE9B,OAAO;IAQP,gIAAgI;WAClH,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,EAAE,OAAO,GAAE,OAAe,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,eAAe,GAAG,SAAS;CAuE9H;AAED;;;;;IAKI;AACJ,qBAAa,YAAY;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;IACxD,SAAgB,IAAI,SAAmB;gBAEpB,KAAK,EAAE,IAAI;CAG/B;AAED,UAAU,cAAe,SAAQ,cAAc;IAC7C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,KAAK,iBAAiB,GAAG,YAAY,GAAG,cAAc,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC;AAkFlE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,KAAK,EAAE,eAAe,CAAC;IACvB,+DAA+D;IAC/D,MAAM,EAAE,gBAAgB,CAAC;IACzB,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gGAAgG;IAChG,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,8JAA8J;IAC9J,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;OACG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAsBD,UAAU,8BAA8B;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,8BAA8B,EAAE,CAAC;CAC3C;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,8BAAsB,UAAU;IAC9B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IACvC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAsB;IACjD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IACzC,SAAS,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiG;IACnI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAC3E,OAAO,CAAC,mBAAmB,CAAS;IACpC,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAM;IAC5C,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAA6B;IACzF,SAAS,CAAC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE7C,SAAS,KAAK,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAA0C;IAC1F,SAAS,KAAK,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,CAA2C;IAC5F,SAAS,KAAK,UAAU,IAAI,cAAc,CAAC,YAAY,CAAC,CAA8C;IACtG,SAAS,KAAK,YAAY,IAAI,cAAc,CAAC,mBAAmB,GAAG;QAAE,cAAc,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,CAAgD;IACnJ,SAAS,KAAK,UAAU,IAAI,cAAc,CAAC,YAAY,CAAC,CAA8C;IACtG,SAAS,KAAK,SAAS,IAAI,cAAc,CAAC,WAAW,CAAC,CAA6C;IACnG,SAAS,KAAK,SAAS,IAAI,cAAc,CAAC,WAAW,CAAC,CAA6C;IAEnG,SAAS,KAAK,OAAO,IAAI,cAAc,CAAC,SAAS,GAAG;QAAE,aAAa,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAC,CAA2C;IACtI,SAAS,KAAK,QAAQ,IAAI,cAAc,CAAC,UAAU,GAAG;QAAE,cAAc,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,CAA4C;IAElI,sEAAsE;aACtD,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAEjD,SAAS,KAAK,WAAW,IAAI,OAAO,CAAiE;IACrG,SAAS,KAAK,mBAAmB,IAAI,OAAO,CAAsD;IAElG;;;OAGG;IACI,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAInE;;OAEG;IACI,aAAa,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI1C,SAAS,KAAK,iBAAiB,IAAI,iBAAiB,GAAG,SAAS,CAE/D;IAED,OAAO,CAAC,gBAAgB;IAqBxB,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,EAAE,YAAY,EAAE,mBAAmB,GAAG,SAAS,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,sBAAsB,GAAG,gBAAgB;IAKxP,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,EAAE,YAAY,EAAE,mBAAmB,GAAG,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,sBAAsB,GAAG,kBAAkB;IA4EvQ,yBAAyB,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,WAAW,UAAQ,EAAE,UAAU,UAAQ,GAAG,mBAAmB;IAY3H,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,sBAAsB;IA6I9B,OAAO,CAAC,iBAAiB;IAiEzB,OAAO,CAAC,0BAA0B;IAsBlC,OAAO,CAAC,oBAAoB;IA2CrB,aAAa,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAkE3F,gBAAgB,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC9F,gBAAgB,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC9F,eAAe,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC7F,mBAAmB,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAExG,SAAS,aAAa,IAAI,EAAE,cAAc;IAyC1C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;IAK1H,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,SAAS;IAE9D,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,qBAAqB;IAgB7B,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS;IAmB3G,OAAO,CAAC,kBAAkB;IA+C1B,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS;IAkJ/I,OAAO,CAAC,eAAe;IA8FvB,OAAO,CAAC,sBAAsB;IAgE9B,OAAO,CAAC,mBAAmB;IAyC3B;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAwEpB,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAY7F,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB;IAG9D,SAAS,CAAC,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS;IAI9F,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO;IAuBlF,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAyCpG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAyBxG,OAAO,CAAC,YAAY;IA8DpB,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;cA6BlH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;YAoDnC,iBAAiB;YAuBjB,eAAe;IAgB7B,OAAO,CAAC,UAAU;YAUJ,aAAa;YAqBb,YAAY;IAoC1B;;;;OAIG;IACI,eAAe,eAAuB;IAE7C,oCAAoC;IAC7B,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,IAAI;IAahE,OAAO,CAAC,cAAc;IAuBtB,SAAS,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS;CAuC1I;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,sIAAsI;IACtI,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;IACvB,aAAa;IACb,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,aAAa;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB;IAChB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,OAAO,EAAE,aAAa,CAAC;IACvB,uEAAuE;IACvE,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,uEAAuE;IACvE,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,QAAQ,EAAE,eAAe,CAAC;IAC1B,uEAAuE;IACvE,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,uEAAuE;IACvE,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAGrG;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAgBpG;AAED;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAY3F;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAY;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,SAAgB,UAAU,CAAC,EAAE,UAAU,CAAC;gBAErB,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,oBAAoB;IAoBrE,cAAuB,iBAAiB,IAAI,iBAAiB,CAK5D;IAED,OAAO,CAAC,+BAA+B;IA0CvC,OAAO,CAAC,uCAAuC;IA8F/C,OAAO,CAAC,0BAA0B;IA+CrB,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAM3C,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAK9C,IAAW,kBAAkB,IAAI,kBAAkB,GAAG,SAAS,CAAqC;IACpG,IAAW,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAwB;IACpE,IAAW,MAAM,IAAI,cAAc,CAAC,SAAS,CAAC,CAA2C;IACzF,IAAW,UAAU,IAAI,MAAM,EAAE,CAA6B;IAC9D,IAAW,QAAQ,IAAI,cAAc,CAAC,WAAW,CAAC,CAA2B;CAC9E"}
|
|
1
|
+
{"version":3,"file":"GltfReader.d.ts","sourceRoot":"","sources":["../../../src/tile/GltfReader.ts"],"names":[],"mappings":"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"}
|