@itwin/core-frontend 5.0.0-dev.99 → 5.1.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -1
- package/lib/cjs/AccuDraw.d.ts.map +1 -1
- package/lib/cjs/AccuDraw.js +20 -41
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AccuSnap.d.ts +1 -0
- package/lib/cjs/AccuSnap.d.ts.map +1 -1
- package/lib/cjs/AccuSnap.js +69 -1
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/BriefcaseConnection.d.ts +1 -1
- package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
- package/lib/cjs/BriefcaseConnection.js.map +1 -1
- package/lib/cjs/CatalogConnection.d.ts +71 -0
- package/lib/cjs/CatalogConnection.d.ts.map +1 -0
- package/lib/cjs/CatalogConnection.js +95 -0
- package/lib/cjs/CatalogConnection.js.map +1 -0
- package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
- package/lib/cjs/ElementLocateManager.js +5 -2
- package/lib/cjs/ElementLocateManager.js.map +1 -1
- package/lib/cjs/HitDetail.d.ts +29 -2
- package/lib/cjs/HitDetail.d.ts.map +1 -1
- package/lib/cjs/HitDetail.js +14 -0
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IpcApp.d.ts +1 -1
- package/lib/cjs/IpcApp.d.ts.map +1 -1
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/ModelState.d.ts.map +1 -1
- package/lib/cjs/ModelState.js +7 -5
- package/lib/cjs/ModelState.js.map +1 -1
- package/lib/cjs/NativeApp.d.ts +2 -1
- package/lib/cjs/NativeApp.d.ts.map +1 -1
- package/lib/cjs/NativeApp.js +1 -0
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +1 -0
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/core-frontend.d.ts +1 -0
- package/lib/cjs/core-frontend.d.ts.map +1 -1
- package/lib/cjs/core-frontend.js +1 -0
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/internal/cross-package.d.ts +1 -1
- package/lib/cjs/internal/cross-package.d.ts.map +1 -1
- package/lib/cjs/internal/cross-package.js +3 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FrustumUniforms.d.ts +2 -0
- package/lib/cjs/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/FrustumUniforms.js +7 -0
- package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MapLayerParams.d.ts +0 -1
- package/lib/cjs/internal/render/webgl/MapLayerParams.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/MapLayerParams.js +11 -20
- package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.d.ts +9 -0
- package/lib/cjs/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.js +86 -11
- package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts +4 -3
- package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderBuilder.js +3 -3
- package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SolarShadowMap.js +2 -2
- package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.js +20 -8
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js +2 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Contours.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Contours.js +31 -1
- package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Fragment.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Fragment.js +7 -2
- package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Surface.js +1 -1
- package/lib/cjs/internal/tile/GraphicsCollector.d.ts +1 -0
- package/lib/cjs/internal/tile/GraphicsCollector.d.ts.map +1 -1
- package/lib/cjs/internal/tile/GraphicsCollector.js +1 -0
- package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTile.d.ts.map +1 -1
- package/lib/cjs/internal/tile/IModelTile.js +5 -0
- package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.d.ts +4 -1
- package/lib/cjs/internal/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.js +5 -0
- package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlDecoder.d.ts +2 -0
- package/lib/cjs/internal/tile/ImdlDecoder.d.ts.map +1 -1
- package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts +2 -2
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -1
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.js +2 -1
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/cjs/{tile → internal/tile}/LayerTileTreeHandler.d.ts +3 -3
- package/lib/cjs/internal/tile/LayerTileTreeHandler.d.ts.map +1 -0
- package/lib/cjs/{tile → internal/tile}/LayerTileTreeHandler.js +3 -2
- package/lib/cjs/internal/tile/LayerTileTreeHandler.js.map +1 -0
- package/lib/cjs/{tile → internal/tile}/LayerTileTreeReferenceHandler.d.ts +7 -5
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -0
- package/lib/cjs/{tile → internal/tile}/LayerTileTreeReferenceHandler.js +29 -4
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -0
- package/lib/cjs/internal/tile/PrimaryTileTree.d.ts +9 -4
- package/lib/cjs/internal/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.js +30 -8
- package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +0 -2
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.js +2 -21
- package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/render/Pixel.d.ts +13 -2
- package/lib/cjs/render/Pixel.d.ts.map +1 -1
- package/lib/cjs/render/Pixel.js +20 -8
- package/lib/cjs/render/Pixel.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.d.ts +3 -2
- package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
- package/lib/cjs/tile/ImdlReader.js +1 -0
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/internal.d.ts +3 -2
- package/lib/cjs/tile/internal.d.ts.map +1 -1
- package/lib/cjs/tile/internal.js +3 -2
- package/lib/cjs/tile/internal.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js +2 -3
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +2 -4
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tools/AccuDrawTool.d.ts +0 -12
- package/lib/cjs/tools/AccuDrawTool.d.ts.map +1 -1
- package/lib/cjs/tools/AccuDrawTool.js +2 -60
- package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
- package/lib/cjs/tools/AccuDrawViewportUI.d.ts +0 -1
- package/lib/cjs/tools/AccuDrawViewportUI.d.ts.map +1 -1
- package/lib/cjs/tools/AccuDrawViewportUI.js +15 -19
- package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/cjs/tools/ViewTool.d.ts +25 -16
- package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
- package/lib/cjs/tools/ViewTool.js +29 -40
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/esm/AccuDraw.d.ts.map +1 -1
- package/lib/esm/AccuDraw.js +21 -42
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AccuSnap.d.ts +1 -0
- package/lib/esm/AccuSnap.d.ts.map +1 -1
- package/lib/esm/AccuSnap.js +69 -1
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/BriefcaseConnection.d.ts +1 -1
- package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
- package/lib/esm/BriefcaseConnection.js.map +1 -1
- package/lib/esm/CatalogConnection.d.ts +71 -0
- package/lib/esm/CatalogConnection.d.ts.map +1 -0
- package/lib/esm/CatalogConnection.js +92 -0
- package/lib/esm/CatalogConnection.js.map +1 -0
- package/lib/esm/ElementLocateManager.d.ts.map +1 -1
- package/lib/esm/ElementLocateManager.js +5 -2
- package/lib/esm/ElementLocateManager.js.map +1 -1
- package/lib/esm/HitDetail.d.ts +29 -2
- package/lib/esm/HitDetail.d.ts.map +1 -1
- package/lib/esm/HitDetail.js +14 -0
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IpcApp.d.ts +1 -1
- package/lib/esm/IpcApp.d.ts.map +1 -1
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/ModelState.d.ts.map +1 -1
- package/lib/esm/ModelState.js +7 -5
- package/lib/esm/ModelState.js.map +1 -1
- package/lib/esm/NativeApp.d.ts +2 -1
- package/lib/esm/NativeApp.d.ts.map +1 -1
- package/lib/esm/NativeApp.js +1 -0
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +1 -0
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/core-frontend.d.ts +1 -0
- package/lib/esm/core-frontend.d.ts.map +1 -1
- package/lib/esm/core-frontend.js +1 -0
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/internal/cross-package.d.ts +1 -1
- package/lib/esm/internal/cross-package.d.ts.map +1 -1
- package/lib/esm/internal/cross-package.js +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/render/webgl/FrustumUniforms.d.ts +2 -0
- package/lib/esm/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/FrustumUniforms.js +8 -1
- package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/MapLayerParams.d.ts +0 -1
- package/lib/esm/internal/render/webgl/MapLayerParams.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/MapLayerParams.js +11 -20
- package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.d.ts +9 -0
- package/lib/esm/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.js +86 -11
- package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts +4 -3
- package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderBuilder.js +3 -3
- package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/internal/render/webgl/SolarShadowMap.js +2 -2
- package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/esm/internal/render/webgl/SurfaceGeometry.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/SurfaceGeometry.js +20 -8
- package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Atmosphere.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js +2 -1
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Contours.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Contours.js +31 -1
- package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Fragment.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Fragment.js +7 -2
- package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/Surface.js +1 -1
- package/lib/esm/internal/tile/GraphicsCollector.d.ts +1 -0
- package/lib/esm/internal/tile/GraphicsCollector.d.ts.map +1 -1
- package/lib/esm/internal/tile/GraphicsCollector.js +1 -0
- package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -1
- package/lib/esm/internal/tile/IModelTile.d.ts.map +1 -1
- package/lib/esm/internal/tile/IModelTile.js +6 -1
- package/lib/esm/internal/tile/IModelTile.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.d.ts +4 -1
- package/lib/esm/internal/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.js +6 -1
- package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/ImdlDecoder.d.ts +2 -0
- package/lib/esm/internal/tile/ImdlDecoder.d.ts.map +1 -1
- package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -1
- package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts +2 -2
- package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -1
- package/lib/esm/internal/tile/ImdlGraphicsCreator.js +2 -1
- package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/esm/{tile → internal/tile}/LayerTileTreeHandler.d.ts +3 -3
- package/lib/esm/internal/tile/LayerTileTreeHandler.d.ts.map +1 -0
- package/lib/esm/{tile → internal/tile}/LayerTileTreeHandler.js +3 -2
- package/lib/esm/internal/tile/LayerTileTreeHandler.js.map +1 -0
- package/lib/esm/{tile → internal/tile}/LayerTileTreeReferenceHandler.d.ts +7 -5
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -0
- package/lib/esm/{tile → internal/tile}/LayerTileTreeReferenceHandler.js +29 -4
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -0
- package/lib/esm/internal/tile/PrimaryTileTree.d.ts +9 -4
- package/lib/esm/internal/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.js +32 -10
- package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts +0 -2
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.js +2 -21
- package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/render/Pixel.d.ts +13 -2
- package/lib/esm/render/Pixel.d.ts.map +1 -1
- package/lib/esm/render/Pixel.js +20 -8
- package/lib/esm/render/Pixel.js.map +1 -1
- package/lib/esm/tile/ImdlReader.d.ts +3 -2
- package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
- package/lib/esm/tile/ImdlReader.js +1 -0
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/internal.d.ts +3 -2
- package/lib/esm/tile/internal.d.ts.map +1 -1
- package/lib/esm/tile/internal.js +3 -2
- package/lib/esm/tile/internal.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.d.ts +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js +3 -4
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js +2 -4
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tools/AccuDrawTool.d.ts +0 -12
- package/lib/esm/tools/AccuDrawTool.d.ts.map +1 -1
- package/lib/esm/tools/AccuDrawTool.js +3 -60
- package/lib/esm/tools/AccuDrawTool.js.map +1 -1
- package/lib/esm/tools/AccuDrawViewportUI.d.ts +0 -1
- package/lib/esm/tools/AccuDrawViewportUI.d.ts.map +1 -1
- package/lib/esm/tools/AccuDrawViewportUI.js +16 -20
- package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/esm/tools/ViewTool.d.ts +25 -16
- package/lib/esm/tools/ViewTool.d.ts.map +1 -1
- package/lib/esm/tools/ViewTool.js +29 -40
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/public/locales/en/CoreTools.json +0 -5
- package/lib/public/scripts/parse-imdl-worker.js +1 -1
- package/lib/public/sprites/SnapPerpendicularPoint.png +0 -0
- package/lib/public/sprites/SnapTangentPoint.png +0 -0
- package/lib/workers/webpack/parse-imdl-worker.js +1 -1
- package/package.json +16 -16
- package/lib/cjs/tile/LayerTileTreeHandler.d.ts.map +0 -1
- package/lib/cjs/tile/LayerTileTreeHandler.js.map +0 -1
- package/lib/cjs/tile/LayerTileTreeReferenceHandler.d.ts.map +0 -1
- package/lib/cjs/tile/LayerTileTreeReferenceHandler.js.map +0 -1
- package/lib/esm/tile/LayerTileTreeHandler.d.ts.map +0 -1
- package/lib/esm/tile/LayerTileTreeHandler.js.map +0 -1
- package/lib/esm/tile/LayerTileTreeReferenceHandler.d.ts.map +0 -1
- package/lib/esm/tile/LayerTileTreeReferenceHandler.js.map +0 -1
|
@@ -42,6 +42,8 @@ class Textures {
|
|
|
42
42
|
featureId;
|
|
43
43
|
depthAndOrder;
|
|
44
44
|
depthAndOrderHidden; // only used if AO and multisampling
|
|
45
|
+
contours;
|
|
46
|
+
contoursMsBuff;
|
|
45
47
|
hilite;
|
|
46
48
|
occlusion;
|
|
47
49
|
occlusionBlur;
|
|
@@ -59,6 +61,8 @@ class Textures {
|
|
|
59
61
|
&& undefined === this.color
|
|
60
62
|
&& undefined === this.featureId
|
|
61
63
|
&& undefined === this.depthAndOrder
|
|
64
|
+
&& undefined === this.contours
|
|
65
|
+
&& undefined === this.contoursMsBuff
|
|
62
66
|
&& undefined === this.depthAndOrderHidden
|
|
63
67
|
&& undefined === this.hilite
|
|
64
68
|
&& undefined === this.occlusion
|
|
@@ -78,6 +82,8 @@ class Textures {
|
|
|
78
82
|
this.color = dispose(this.color);
|
|
79
83
|
this.featureId = dispose(this.featureId);
|
|
80
84
|
this.depthAndOrder = dispose(this.depthAndOrder);
|
|
85
|
+
this.contours = dispose(this.contours);
|
|
86
|
+
this.contoursMsBuff = dispose(this.contoursMsBuff);
|
|
81
87
|
this.depthAndOrderHidden = dispose(this.depthAndOrderHidden);
|
|
82
88
|
this.hilite = dispose(this.hilite);
|
|
83
89
|
this.occlusion = dispose(this.occlusion);
|
|
@@ -97,6 +103,8 @@ class Textures {
|
|
|
97
103
|
collectTextureStatistics(this.color, stats);
|
|
98
104
|
collectTextureStatistics(this.featureId, stats);
|
|
99
105
|
collectTextureStatistics(this.depthAndOrder, stats);
|
|
106
|
+
collectTextureStatistics(this.contours, stats);
|
|
107
|
+
collectMsBufferStatistics(this.contoursMsBuff, stats);
|
|
100
108
|
collectTextureStatistics(this.depthAndOrderHidden, stats);
|
|
101
109
|
collectTextureStatistics(this.hilite, stats);
|
|
102
110
|
collectTextureStatistics(this.occlusion, stats);
|
|
@@ -135,11 +143,13 @@ class Textures {
|
|
|
135
143
|
this.color = TextureHandle.createForAttachment(width, height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);
|
|
136
144
|
this.featureId = TextureHandle.createForAttachment(width, height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);
|
|
137
145
|
this.depthAndOrder = TextureHandle.createForAttachment(width, height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);
|
|
146
|
+
this.contours = TextureHandle.createForAttachment(width, height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);
|
|
138
147
|
let rVal = undefined !== this.accumulation
|
|
139
148
|
&& undefined !== this.revealage
|
|
140
149
|
&& undefined !== this.color
|
|
141
150
|
&& undefined !== this.featureId
|
|
142
151
|
&& undefined !== this.depthAndOrder
|
|
152
|
+
&& undefined !== this.contours
|
|
143
153
|
&& undefined !== this.hilite;
|
|
144
154
|
if (rVal && numSamples > 1) {
|
|
145
155
|
rVal = this.enableMultiSampling(width, height, numSamples);
|
|
@@ -184,12 +194,14 @@ class Textures {
|
|
|
184
194
|
this.featureIdMsBuffHidden = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
|
|
185
195
|
this.depthAndOrderMsBuff = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
|
|
186
196
|
this.depthAndOrderMsBuffHidden = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
|
|
197
|
+
this.contoursMsBuff = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
|
|
187
198
|
this.hiliteMsBuff = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
|
|
188
199
|
return undefined !== this.colorMsBuff
|
|
189
200
|
&& undefined !== this.featureIdMsBuff
|
|
190
201
|
&& undefined !== this.featureIdMsBuffHidden
|
|
191
202
|
&& undefined !== this.depthAndOrderMsBuff
|
|
192
203
|
&& undefined !== this.depthAndOrderMsBuffHidden
|
|
204
|
+
&& undefined !== this.contoursMsBuff
|
|
193
205
|
&& undefined !== this.hiliteMsBuff;
|
|
194
206
|
}
|
|
195
207
|
disableMultiSampling() {
|
|
@@ -198,6 +210,7 @@ class Textures {
|
|
|
198
210
|
this.featureIdMsBuffHidden = dispose(this.featureIdMsBuffHidden);
|
|
199
211
|
this.depthAndOrderMsBuff = dispose(this.depthAndOrderMsBuff);
|
|
200
212
|
this.depthAndOrderMsBuffHidden = dispose(this.depthAndOrderMsBuffHidden);
|
|
213
|
+
this.contoursMsBuff = dispose(this.contoursMsBuff);
|
|
201
214
|
this.hiliteMsBuff = dispose(this.hiliteMsBuff);
|
|
202
215
|
return true;
|
|
203
216
|
}
|
|
@@ -207,6 +220,7 @@ class FrameBuffers {
|
|
|
207
220
|
opaqueColor;
|
|
208
221
|
opaqueAndCompositeColor;
|
|
209
222
|
depthAndOrder;
|
|
223
|
+
contours;
|
|
210
224
|
hilite;
|
|
211
225
|
hiliteUsingStencil;
|
|
212
226
|
stencilSet;
|
|
@@ -231,9 +245,10 @@ class FrameBuffers {
|
|
|
231
245
|
if (!this.initPotentialMSFbos(textures, depth, depthMS))
|
|
232
246
|
return false;
|
|
233
247
|
this.depthAndOrder = FrameBuffer.create([textures.depthAndOrder], depth);
|
|
248
|
+
this.contours = FrameBuffer.create([textures.contours], depth);
|
|
234
249
|
this.hilite = FrameBuffer.create([textures.hilite], depth);
|
|
235
250
|
this.hiliteUsingStencil = FrameBuffer.create([textures.hilite], depth);
|
|
236
|
-
if (!this.depthAndOrder || !this.hilite || !this.hiliteUsingStencil)
|
|
251
|
+
if (!this.depthAndOrder || !this.contours || !this.hilite || !this.hiliteUsingStencil)
|
|
237
252
|
return false;
|
|
238
253
|
assert(undefined === this.opaqueAll);
|
|
239
254
|
if (!this.initPotentialMSMRTFbos(textures, depth, depthMS))
|
|
@@ -270,17 +285,28 @@ class FrameBuffers {
|
|
|
270
285
|
}
|
|
271
286
|
initPotentialMSMRTFbos(textures, depth, depthMs) {
|
|
272
287
|
const boundColor = System.instance.frameBufferStack.currentColorBuffer;
|
|
273
|
-
assert(undefined !== boundColor &&
|
|
274
|
-
|
|
288
|
+
assert(undefined !== boundColor &&
|
|
289
|
+
undefined !== textures.color &&
|
|
290
|
+
undefined !== textures.featureId &&
|
|
291
|
+
undefined !== textures.depthAndOrder &&
|
|
292
|
+
undefined !== textures.contours &&
|
|
293
|
+
undefined !== textures.accumulation &&
|
|
294
|
+
undefined !== textures.revealage);
|
|
295
|
+
const colorAndPick = [boundColor, textures.featureId, textures.depthAndOrder, textures.contours];
|
|
275
296
|
if (undefined === depthMs) {
|
|
276
297
|
this.opaqueAll = FrameBuffer.create(colorAndPick, depth);
|
|
277
298
|
colorAndPick[0] = textures.color;
|
|
278
299
|
this.opaqueAndCompositeAll = FrameBuffer.create(colorAndPick, depth);
|
|
279
300
|
}
|
|
280
301
|
else {
|
|
281
|
-
assert(undefined !== textures.colorMsBuff &&
|
|
282
|
-
|
|
283
|
-
|
|
302
|
+
assert(undefined !== textures.colorMsBuff &&
|
|
303
|
+
undefined !== textures.featureIdMsBuff &&
|
|
304
|
+
undefined !== textures.featureIdMsBuffHidden &&
|
|
305
|
+
undefined !== textures.contoursMsBuff &&
|
|
306
|
+
undefined !== textures.depthAndOrderMsBuff &&
|
|
307
|
+
undefined !== textures.depthAndOrderMsBuffHidden);
|
|
308
|
+
const colorAndPickMsBuffs = [textures.colorMsBuff, textures.featureIdMsBuff, textures.depthAndOrderMsBuff, textures.contoursMsBuff];
|
|
309
|
+
const colorAndPickFilters = [GL.MultiSampling.Filter.Linear, GL.MultiSampling.Filter.Nearest, GL.MultiSampling.Filter.Nearest, GL.MultiSampling.Filter.Nearest];
|
|
284
310
|
this.opaqueAll = FrameBuffer.create(colorAndPick, depth, colorAndPickMsBuffs, colorAndPickFilters, depthMs);
|
|
285
311
|
colorAndPick[0] = textures.color;
|
|
286
312
|
this.opaqueAndCompositeAll = FrameBuffer.create(colorAndPick, depth, colorAndPickMsBuffs, colorAndPickFilters, depthMs);
|
|
@@ -389,7 +415,7 @@ class FrameBuffers {
|
|
|
389
415
|
return this.initPotentialMSFbos(textures, depth, undefined);
|
|
390
416
|
}
|
|
391
417
|
get isDisposed() {
|
|
392
|
-
return undefined === this.opaqueColor && undefined === this.opaqueAndCompositeColor && undefined === this.depthAndOrder
|
|
418
|
+
return undefined === this.opaqueColor && undefined === this.opaqueAndCompositeColor && undefined === this.depthAndOrder && undefined === this.contours
|
|
393
419
|
&& undefined === this.hilite && undefined === this.hiliteUsingStencil && undefined === this.occlusion
|
|
394
420
|
&& undefined === this.occlusionBlur && undefined === this.stencilSet && undefined === this.altZOnly
|
|
395
421
|
&& undefined === this.volClassCreateBlend && undefined === this.volClassCreateBlendAltZ && undefined === this.opaqueAll
|
|
@@ -402,6 +428,7 @@ class FrameBuffers {
|
|
|
402
428
|
this.opaqueColor = dispose(this.opaqueColor);
|
|
403
429
|
this.opaqueAndCompositeColor = dispose(this.opaqueAndCompositeColor);
|
|
404
430
|
this.depthAndOrder = dispose(this.depthAndOrder);
|
|
431
|
+
this.contours = dispose(this.contours);
|
|
405
432
|
this.hilite = dispose(this.hilite);
|
|
406
433
|
this.hiliteUsingStencil = dispose(this.hiliteUsingStencil);
|
|
407
434
|
this.occlusion = dispose(this.occlusion);
|
|
@@ -518,6 +545,7 @@ class PixelBuffer {
|
|
|
518
545
|
_selector;
|
|
519
546
|
_featureId;
|
|
520
547
|
_depthAndOrder;
|
|
548
|
+
_contours;
|
|
521
549
|
_batchState;
|
|
522
550
|
_scratchModelFeature = ModelFeature.create();
|
|
523
551
|
get _numPixels() { return this._rect.width * this._rect.height; }
|
|
@@ -574,11 +602,12 @@ class PixelBuffer {
|
|
|
574
602
|
depth = Math.max(0.0, depth);
|
|
575
603
|
return depth;
|
|
576
604
|
}
|
|
577
|
-
decodeRenderOrderRgba(depthAndOrder) {
|
|
578
|
-
|
|
605
|
+
decodeRenderOrderRgba(depthAndOrder) { return this.decodeUint8(depthAndOrder, 16); }
|
|
606
|
+
decodeUint8(rgba32, basis) {
|
|
607
|
+
this._scratchUint32Array[0] = rgba32;
|
|
579
608
|
const encByte = this._scratchUint8Array[0];
|
|
580
609
|
const enc = encByte / 255.0;
|
|
581
|
-
const dec = Math.floor(
|
|
610
|
+
const dec = Math.floor(basis * enc + 0.5);
|
|
582
611
|
return dec;
|
|
583
612
|
}
|
|
584
613
|
_invalidPixelData = new Pixel.Data();
|
|
@@ -630,6 +659,28 @@ class PixelBuffer {
|
|
|
630
659
|
}
|
|
631
660
|
}
|
|
632
661
|
}
|
|
662
|
+
let contour;
|
|
663
|
+
if (this._contours) {
|
|
664
|
+
const contour32 = this.getPixel32(this._contours.data, index);
|
|
665
|
+
if (contour32) { // undefined means out of bounds; zero means not a contour.
|
|
666
|
+
const groupIndexAndType = this.decodeUint8(contour32, 32);
|
|
667
|
+
const groupIndex = groupIndexAndType & ~(8 | 16);
|
|
668
|
+
const group = this._contours.display.groups[groupIndex];
|
|
669
|
+
if (group) {
|
|
670
|
+
const elevationFraction = this.decodeDepthRgba(contour32);
|
|
671
|
+
let elevation = elevationFraction * (this._contours.zHigh - this._contours.zLow) + this._contours.zLow;
|
|
672
|
+
// The shader rounds to the nearest contour elevation using single-precision arithmetic.
|
|
673
|
+
// Re-round here using double-precision to get closer.
|
|
674
|
+
const interval = group.contourDef.minorInterval;
|
|
675
|
+
elevation = (elevation >= 0 ? Math.floor((elevation + interval / 2) / interval) : Math.ceil((elevation - interval / 2) / interval)) * interval;
|
|
676
|
+
contour = {
|
|
677
|
+
group,
|
|
678
|
+
elevation,
|
|
679
|
+
isMajor: groupIndexAndType > 15,
|
|
680
|
+
};
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
}
|
|
633
684
|
let featureTable, iModel, transformToIModel, tileId, viewAttachmentId, inSectionDrawingAttachment;
|
|
634
685
|
if (undefined !== batchInfo) {
|
|
635
686
|
featureTable = batchInfo.featureTable;
|
|
@@ -650,6 +701,7 @@ class PixelBuffer {
|
|
|
650
701
|
tileId,
|
|
651
702
|
viewAttachmentId,
|
|
652
703
|
inSectionDrawingAttachment,
|
|
704
|
+
contour,
|
|
653
705
|
});
|
|
654
706
|
}
|
|
655
707
|
constructor(rect, selector, compositor) {
|
|
@@ -670,6 +722,10 @@ class PixelBuffer {
|
|
|
670
722
|
else
|
|
671
723
|
this._selector &= ~Pixel.Selector.Feature;
|
|
672
724
|
}
|
|
725
|
+
// Note: readContours is a no-op unless contours are actually being drawn.
|
|
726
|
+
if (Pixel.Selector.None !== (selector & Pixel.Selector.Contours)) {
|
|
727
|
+
this._contours = compositor.readContours(rect);
|
|
728
|
+
}
|
|
673
729
|
}
|
|
674
730
|
get isEmpty() { return Pixel.Selector.None === this._selector; }
|
|
675
731
|
static create(rect, selector, compositor) {
|
|
@@ -1353,7 +1409,26 @@ class Compositor extends SceneCompositor {
|
|
|
1353
1409
|
readPixels(rect, selector) {
|
|
1354
1410
|
return PixelBuffer.create(rect, selector, this);
|
|
1355
1411
|
}
|
|
1356
|
-
readDepthAndOrder(rect) {
|
|
1412
|
+
readDepthAndOrder(rect) {
|
|
1413
|
+
return this.readFrameBuffer(rect, this._fbos.depthAndOrder);
|
|
1414
|
+
}
|
|
1415
|
+
readContours(rect) {
|
|
1416
|
+
// Are we actually drawing any contours? If not, don't bother reading an array of all zeroes off the GPU.
|
|
1417
|
+
const contours = this.target.plan.contours;
|
|
1418
|
+
if (!contours || !contours.displayContours || contours.groups.length === 0) {
|
|
1419
|
+
return undefined;
|
|
1420
|
+
}
|
|
1421
|
+
const info = this.readFrameBuffer(rect, this._fbos.contours);
|
|
1422
|
+
if (!info) {
|
|
1423
|
+
return undefined;
|
|
1424
|
+
}
|
|
1425
|
+
return {
|
|
1426
|
+
data: new Uint32Array(info.buffer),
|
|
1427
|
+
display: contours,
|
|
1428
|
+
zLow: this.target.uniforms.frustum.worldFrustumZRange[0],
|
|
1429
|
+
zHigh: this.target.uniforms.frustum.worldFrustumZRange[1],
|
|
1430
|
+
};
|
|
1431
|
+
}
|
|
1357
1432
|
readFeatureIds(rect) {
|
|
1358
1433
|
const tex = this._textures.featureId;
|
|
1359
1434
|
if (undefined === tex)
|