ol 7.3.0 → 7.3.1-dev
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/Collection.d.ts +2 -2
- package/Collection.d.ts.map +1 -1
- package/DataTile.d.ts +1 -1
- package/DataTile.d.ts.map +1 -1
- package/DataTile.js +2 -1
- package/Feature.d.ts +1 -1
- package/Feature.d.ts.map +1 -1
- package/Geolocation.d.ts +2 -2
- package/Geolocation.d.ts.map +1 -1
- package/Image.d.ts +1 -1
- package/Image.d.ts.map +1 -1
- package/ImageBase.d.ts +1 -1
- package/ImageBase.d.ts.map +1 -1
- package/ImageCanvas.d.ts +1 -1
- package/ImageCanvas.d.ts.map +1 -1
- package/ImageTile.d.ts +1 -1
- package/ImageTile.d.ts.map +1 -1
- package/Map.d.ts +7 -7
- package/Map.d.ts.map +1 -1
- package/Map.js +2 -1
- package/MapBrowserEvent.d.ts +1 -1
- package/MapBrowserEvent.d.ts.map +1 -1
- package/MapBrowserEventHandler.d.ts +1 -1
- package/MapBrowserEventHandler.d.ts.map +1 -1
- package/MapEvent.d.ts +1 -1
- package/MapEvent.d.ts.map +1 -1
- package/Object.d.ts +2 -2
- package/Object.d.ts.map +1 -1
- package/Observable.d.ts +1 -1
- package/Observable.d.ts.map +1 -1
- package/Overlay.d.ts +1 -1
- package/Overlay.d.ts.map +1 -1
- package/Tile.d.ts +1 -1
- package/Tile.d.ts.map +1 -1
- package/TileCache.d.ts +1 -1
- package/TileCache.d.ts.map +1 -1
- package/TileQueue.d.ts +1 -1
- package/TileQueue.d.ts.map +1 -1
- package/VectorRenderTile.d.ts +1 -1
- package/VectorRenderTile.d.ts.map +1 -1
- package/VectorTile.d.ts +1 -1
- package/VectorTile.d.ts.map +1 -1
- package/View.d.ts +10 -6
- package/View.d.ts.map +1 -1
- package/View.js +9 -6
- package/array.d.ts.map +1 -1
- package/array.js +38 -20
- package/control/Attribution.d.ts +1 -1
- package/control/Attribution.d.ts.map +1 -1
- package/control/Control.d.ts +1 -1
- package/control/Control.d.ts.map +1 -1
- package/control/FullScreen.d.ts +1 -1
- package/control/FullScreen.d.ts.map +1 -1
- package/control/MousePosition.d.ts +1 -1
- package/control/MousePosition.d.ts.map +1 -1
- package/control/OverviewMap.d.ts +3 -3
- package/control/OverviewMap.d.ts.map +1 -1
- package/control/Rotate.d.ts +1 -1
- package/control/Rotate.d.ts.map +1 -1
- package/control/ScaleLine.d.ts +1 -1
- package/control/ScaleLine.d.ts.map +1 -1
- package/control/Zoom.d.ts +1 -1
- package/control/Zoom.d.ts.map +1 -1
- package/control/ZoomSlider.d.ts +1 -1
- package/control/ZoomSlider.d.ts.map +1 -1
- package/control/ZoomToExtent.d.ts +1 -1
- package/control/ZoomToExtent.d.ts.map +1 -1
- package/control/defaults.d.ts +1 -1
- package/control/defaults.d.ts.map +1 -1
- package/dist/ol.js +2 -2
- package/dist/ol.js.map +1 -1
- package/events/Key.d.ts +8 -0
- package/events/Key.d.ts.map +1 -0
- package/events/Key.js +14 -0
- package/events/Target.d.ts +1 -1
- package/events/Target.d.ts.map +1 -1
- package/events/condition.d.ts +2 -2
- package/events/condition.d.ts.map +1 -1
- package/extent.d.ts.map +1 -1
- package/extent.js +7 -2
- package/format/EsriJSON.d.ts +1 -1
- package/format/EsriJSON.d.ts.map +1 -1
- package/format/GML.d.ts +1 -1
- package/format/GML.d.ts.map +1 -1
- package/format/GML2.d.ts +1 -1
- package/format/GML2.d.ts.map +1 -1
- package/format/GML3.d.ts +5 -5
- package/format/GML3.d.ts.map +1 -1
- package/format/GML32.d.ts +1 -1
- package/format/GML32.d.ts.map +1 -1
- package/format/GMLBase.d.ts +9 -9
- package/format/GMLBase.d.ts.map +1 -1
- package/format/GPX.d.ts +2 -2
- package/format/GPX.d.ts.map +1 -1
- package/format/GeoJSON.d.ts +1 -1
- package/format/GeoJSON.d.ts.map +1 -1
- package/format/IGC.d.ts +1 -1
- package/format/IGC.d.ts.map +1 -1
- package/format/IIIFInfo.d.ts +8 -8
- package/format/IIIFInfo.d.ts.map +1 -1
- package/format/IIIFInfo.js +10 -9
- package/format/JSONFeature.d.ts +1 -1
- package/format/JSONFeature.d.ts.map +1 -1
- package/format/JSONFeature.js +2 -1
- package/format/KML.d.ts +121 -5
- package/format/KML.d.ts.map +1 -1
- package/format/KML.js +105 -7
- package/format/MVT.d.ts +2 -2
- package/format/MVT.d.ts.map +1 -1
- package/format/OSMXML.d.ts +1 -1
- package/format/OSMXML.d.ts.map +1 -1
- package/format/OSMXML.js +11 -4
- package/format/OWS.d.ts +1 -1
- package/format/OWS.d.ts.map +1 -1
- package/format/Polyline.d.ts +2 -2
- package/format/Polyline.d.ts.map +1 -1
- package/format/TextFeature.d.ts +1 -1
- package/format/TextFeature.d.ts.map +1 -1
- package/format/TopoJSON.d.ts +1 -1
- package/format/TopoJSON.d.ts.map +1 -1
- package/format/WFS.d.ts +2 -2
- package/format/WFS.d.ts.map +1 -1
- package/format/WFS.js +8 -4
- package/format/WKB.d.ts +1 -1
- package/format/WKB.d.ts.map +1 -1
- package/format/WKB.js +6 -4
- package/format/WKT.d.ts +1 -1
- package/format/WKT.d.ts.map +1 -1
- package/format/WMSCapabilities.d.ts +1 -1
- package/format/WMSCapabilities.d.ts.map +1 -1
- package/format/WMSGetFeatureInfo.d.ts +1 -1
- package/format/WMSGetFeatureInfo.d.ts.map +1 -1
- package/format/WMTSCapabilities.d.ts +1 -1
- package/format/WMTSCapabilities.d.ts.map +1 -1
- package/format/XML.d.ts.map +1 -1
- package/format/XML.js +4 -2
- package/format/XMLFeature.d.ts +1 -1
- package/format/XMLFeature.d.ts.map +1 -1
- package/format/XMLFeature.js +16 -8
- package/format/filter/And.d.ts +1 -1
- package/format/filter/And.d.ts.map +1 -1
- package/format/filter/Bbox.d.ts +1 -1
- package/format/filter/Bbox.d.ts.map +1 -1
- package/format/filter/Comparison.d.ts +1 -1
- package/format/filter/Comparison.d.ts.map +1 -1
- package/format/filter/ComparisonBinary.d.ts +1 -1
- package/format/filter/ComparisonBinary.d.ts.map +1 -1
- package/format/filter/Contains.d.ts +1 -1
- package/format/filter/Contains.d.ts.map +1 -1
- package/format/filter/DWithin.d.ts +1 -1
- package/format/filter/DWithin.d.ts.map +1 -1
- package/format/filter/Disjoint.d.ts +1 -1
- package/format/filter/Disjoint.d.ts.map +1 -1
- package/format/filter/During.d.ts +1 -1
- package/format/filter/During.d.ts.map +1 -1
- package/format/filter/EqualTo.d.ts +1 -1
- package/format/filter/EqualTo.d.ts.map +1 -1
- package/format/filter/GreaterThan.d.ts +1 -1
- package/format/filter/GreaterThan.d.ts.map +1 -1
- package/format/filter/GreaterThanOrEqualTo.d.ts +1 -1
- package/format/filter/GreaterThanOrEqualTo.d.ts.map +1 -1
- package/format/filter/Intersects.d.ts +1 -1
- package/format/filter/Intersects.d.ts.map +1 -1
- package/format/filter/IsBetween.d.ts +1 -1
- package/format/filter/IsBetween.d.ts.map +1 -1
- package/format/filter/IsLike.d.ts +1 -1
- package/format/filter/IsLike.d.ts.map +1 -1
- package/format/filter/IsNull.d.ts +1 -1
- package/format/filter/IsNull.d.ts.map +1 -1
- package/format/filter/LessThan.d.ts +1 -1
- package/format/filter/LessThan.d.ts.map +1 -1
- package/format/filter/LessThanOrEqualTo.d.ts +1 -1
- package/format/filter/LessThanOrEqualTo.d.ts.map +1 -1
- package/format/filter/LogicalNary.d.ts +1 -1
- package/format/filter/LogicalNary.d.ts.map +1 -1
- package/format/filter/Not.d.ts +1 -1
- package/format/filter/Not.d.ts.map +1 -1
- package/format/filter/NotEqualTo.d.ts +1 -1
- package/format/filter/NotEqualTo.d.ts.map +1 -1
- package/format/filter/Or.d.ts +2 -2
- package/format/filter/Or.d.ts.map +1 -1
- package/format/filter/Or.js +1 -1
- package/format/filter/ResourceId.d.ts +1 -1
- package/format/filter/ResourceId.d.ts.map +1 -1
- package/format/filter/Spatial.d.ts +1 -1
- package/format/filter/Spatial.d.ts.map +1 -1
- package/format/filter/Within.d.ts +1 -1
- package/format/filter/Within.d.ts.map +1 -1
- package/format/filter.d.ts +20 -20
- package/format/filter.d.ts.map +1 -1
- package/geom/Circle.d.ts +1 -1
- package/geom/Circle.d.ts.map +1 -1
- package/geom/Circle.js +1 -17
- package/geom/Geometry.d.ts +1 -1
- package/geom/Geometry.d.ts.map +1 -1
- package/geom/GeometryCollection.d.ts +1 -1
- package/geom/GeometryCollection.d.ts.map +1 -1
- package/geom/LineString.d.ts +1 -1
- package/geom/LineString.d.ts.map +1 -1
- package/geom/LinearRing.d.ts +1 -1
- package/geom/LinearRing.d.ts.map +1 -1
- package/geom/MultiLineString.d.ts +2 -2
- package/geom/MultiLineString.d.ts.map +1 -1
- package/geom/MultiPoint.d.ts +2 -2
- package/geom/MultiPoint.d.ts.map +1 -1
- package/geom/MultiPolygon.d.ts +3 -3
- package/geom/MultiPolygon.d.ts.map +1 -1
- package/geom/Point.d.ts +1 -1
- package/geom/Point.d.ts.map +1 -1
- package/geom/Polygon.d.ts +3 -3
- package/geom/Polygon.d.ts.map +1 -1
- package/geom/SimpleGeometry.d.ts +1 -1
- package/geom/SimpleGeometry.d.ts.map +1 -1
- package/geom/flat/interpolate.d.ts.map +1 -1
- package/geom/flat/interpolate.js +4 -2
- package/geom/flat/orient.d.ts +1 -1
- package/geom/flat/orient.js +1 -1
- package/interaction/DblClickDragZoom.d.ts +110 -0
- package/interaction/DblClickDragZoom.d.ts.map +1 -0
- package/interaction/DblClickDragZoom.js +251 -0
- package/interaction/DoubleClickZoom.d.ts +1 -1
- package/interaction/DoubleClickZoom.d.ts.map +1 -1
- package/interaction/DragAndDrop.d.ts +2 -2
- package/interaction/DragAndDrop.d.ts.map +1 -1
- package/interaction/DragBox.d.ts +2 -2
- package/interaction/DragBox.d.ts.map +1 -1
- package/interaction/DragPan.d.ts +1 -1
- package/interaction/DragPan.d.ts.map +1 -1
- package/interaction/DragRotate.d.ts +1 -1
- package/interaction/DragRotate.d.ts.map +1 -1
- package/interaction/DragRotateAndZoom.d.ts +1 -1
- package/interaction/DragRotateAndZoom.d.ts.map +1 -1
- package/interaction/DragZoom.d.ts +1 -1
- package/interaction/DragZoom.d.ts.map +1 -1
- package/interaction/Draw.d.ts +6 -6
- package/interaction/Draw.d.ts.map +1 -1
- package/interaction/Extent.d.ts +2 -2
- package/interaction/Extent.d.ts.map +1 -1
- package/interaction/Extent.js +2 -1
- package/interaction/Interaction.d.ts +1 -1
- package/interaction/Interaction.d.ts.map +1 -1
- package/interaction/KeyboardPan.d.ts +1 -1
- package/interaction/KeyboardPan.d.ts.map +1 -1
- package/interaction/KeyboardPan.js +9 -9
- package/interaction/KeyboardZoom.d.ts +1 -1
- package/interaction/KeyboardZoom.d.ts.map +1 -1
- package/interaction/Link.d.ts +1 -1
- package/interaction/Link.d.ts.map +1 -1
- package/interaction/Modify.d.ts +6 -6
- package/interaction/Modify.d.ts.map +1 -1
- package/interaction/Modify.js +6 -1
- package/interaction/MouseWheelZoom.d.ts +1 -1
- package/interaction/MouseWheelZoom.d.ts.map +1 -1
- package/interaction/PinchRotate.d.ts +1 -1
- package/interaction/PinchRotate.d.ts.map +1 -1
- package/interaction/PinchZoom.d.ts +1 -1
- package/interaction/PinchZoom.d.ts.map +1 -1
- package/interaction/Pointer.d.ts +1 -1
- package/interaction/Pointer.d.ts.map +1 -1
- package/interaction/Select.d.ts +5 -5
- package/interaction/Select.d.ts.map +1 -1
- package/interaction/Snap.d.ts +1 -1
- package/interaction/Snap.d.ts.map +1 -1
- package/interaction/Snap.js +10 -4
- package/interaction/Translate.d.ts +4 -4
- package/interaction/Translate.d.ts.map +1 -1
- package/interaction/Translate.js +18 -3
- package/interaction/defaults.d.ts +1 -1
- package/interaction/defaults.d.ts.map +1 -1
- package/interaction.d.ts +1 -0
- package/interaction.js +1 -0
- package/layer/Base.d.ts +4 -3
- package/layer/Base.d.ts.map +1 -1
- package/layer/Base.js +3 -2
- package/layer/BaseImage.d.ts +1 -1
- package/layer/BaseImage.d.ts.map +1 -1
- package/layer/BaseTile.d.ts +1 -1
- package/layer/BaseTile.d.ts.map +1 -1
- package/layer/BaseVector.d.ts +10 -4
- package/layer/BaseVector.d.ts.map +1 -1
- package/layer/BaseVector.js +9 -3
- package/layer/Graticule.d.ts +6 -6
- package/layer/Graticule.d.ts.map +1 -1
- package/layer/Group.d.ts +4 -4
- package/layer/Group.d.ts.map +1 -1
- package/layer/Heatmap.d.ts +2 -2
- package/layer/Heatmap.d.ts.map +1 -1
- package/layer/Image.d.ts +2 -2
- package/layer/Image.d.ts.map +1 -1
- package/layer/Layer.d.ts +14 -11
- package/layer/Layer.d.ts.map +1 -1
- package/layer/Layer.js +28 -8
- package/layer/MapboxVector.d.ts +1 -1
- package/layer/MapboxVector.d.ts.map +1 -1
- package/layer/Tile.d.ts +2 -2
- package/layer/Tile.d.ts.map +1 -1
- package/layer/Vector.d.ts +2 -2
- package/layer/Vector.d.ts.map +1 -1
- package/layer/VectorImage.d.ts +2 -2
- package/layer/VectorImage.d.ts.map +1 -1
- package/layer/VectorTile.d.ts +2 -2
- package/layer/VectorTile.d.ts.map +1 -1
- package/layer/WebGLPoints.d.ts +4 -4
- package/layer/WebGLPoints.d.ts.map +1 -1
- package/layer/WebGLPoints.js +13 -4
- package/layer/WebGLTile.d.ts +9 -2
- package/layer/WebGLTile.d.ts.map +1 -1
- package/layer/WebGLTile.js +6 -6
- package/package.json +2 -2
- package/proj/proj4.d.ts +2 -2
- package/proj/proj4.d.ts.map +1 -1
- package/proj/proj4.js +1 -1
- package/proj.d.ts +9 -9
- package/proj.d.ts.map +1 -1
- package/proj.js +9 -8
- package/render/Box.d.ts +1 -1
- package/render/Box.d.ts.map +1 -1
- package/render/Event.d.ts +1 -1
- package/render/Event.d.ts.map +1 -1
- package/render/Feature.d.ts +7 -7
- package/render/Feature.d.ts.map +1 -1
- package/render/canvas/Builder.d.ts +1 -1
- package/render/canvas/Builder.d.ts.map +1 -1
- package/render/canvas/ImageBuilder.d.ts +1 -1
- package/render/canvas/ImageBuilder.d.ts.map +1 -1
- package/render/canvas/Immediate.d.ts +1 -1
- package/render/canvas/Immediate.d.ts.map +1 -1
- package/render/canvas/Immediate.js +9 -1
- package/render/canvas/LineStringBuilder.d.ts +1 -1
- package/render/canvas/LineStringBuilder.d.ts.map +1 -1
- package/render/canvas/PolygonBuilder.d.ts +1 -1
- package/render/canvas/PolygonBuilder.d.ts.map +1 -1
- package/render/canvas/TextBuilder.d.ts +1 -1
- package/render/canvas/TextBuilder.d.ts.map +1 -1
- package/render/canvas.d.ts +1 -1
- package/render/canvas.d.ts.map +1 -1
- package/render/webgl/MixedGeometryBatch.d.ts +37 -131
- package/render/webgl/MixedGeometryBatch.d.ts.map +1 -1
- package/render/webgl/MixedGeometryBatch.js +230 -147
- package/render/webgl/VectorStyleRenderer.d.ts +256 -0
- package/render/webgl/VectorStyleRenderer.d.ts.map +1 -0
- package/render/webgl/VectorStyleRenderer.js +440 -0
- package/render/webgl/constants.d.ts +1 -1
- package/render/webgl/constants.js +1 -1
- package/render/webgl/renderinstructions.d.ts +36 -0
- package/render/webgl/renderinstructions.d.ts.map +1 -0
- package/render/webgl/renderinstructions.js +241 -0
- package/render/webgl/utils.d.ts +4 -4
- package/render/webgl/utils.d.ts.map +1 -1
- package/render/webgl/utils.js +9 -9
- package/render.d.ts +1 -1
- package/render.d.ts.map +1 -1
- package/renderer/Composite.d.ts +1 -1
- package/renderer/Composite.d.ts.map +1 -1
- package/renderer/Layer.d.ts +1 -1
- package/renderer/Layer.d.ts.map +1 -1
- package/renderer/Map.d.ts +1 -1
- package/renderer/Map.d.ts.map +1 -1
- package/renderer/canvas/ImageLayer.d.ts +1 -1
- package/renderer/canvas/ImageLayer.d.ts.map +1 -1
- package/renderer/canvas/Layer.d.ts +1 -1
- package/renderer/canvas/Layer.d.ts.map +1 -1
- package/renderer/canvas/TileLayer.d.ts +1 -1
- package/renderer/canvas/TileLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorImageLayer.d.ts +1 -1
- package/renderer/canvas/VectorImageLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorLayer.d.ts +3 -3
- package/renderer/canvas/VectorLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorTileLayer.d.ts +2 -2
- package/renderer/canvas/VectorTileLayer.d.ts.map +1 -1
- package/renderer/webgl/Layer.d.ts +2 -2
- package/renderer/webgl/Layer.d.ts.map +1 -1
- package/renderer/webgl/PointsLayer.d.ts +3 -3
- package/renderer/webgl/PointsLayer.d.ts.map +1 -1
- package/renderer/webgl/PointsLayer.js +5 -8
- package/renderer/webgl/TileLayer.d.ts +32 -99
- package/renderer/webgl/TileLayer.d.ts.map +1 -1
- package/renderer/webgl/TileLayer.js +103 -644
- package/renderer/webgl/TileLayerBase.d.ts +194 -0
- package/renderer/webgl/TileLayerBase.d.ts.map +1 -0
- package/renderer/webgl/TileLayerBase.js +750 -0
- package/renderer/webgl/VectorLayer.d.ts +59 -60
- package/renderer/webgl/VectorLayer.d.ts.map +1 -1
- package/renderer/webgl/VectorLayer.js +118 -156
- package/renderer/webgl/VectorTileLayer.d.ts +87 -0
- package/renderer/webgl/VectorTileLayer.d.ts.map +1 -0
- package/renderer/webgl/VectorTileLayer.js +201 -0
- package/reproj/DataTile.d.ts +1 -1
- package/reproj/DataTile.d.ts.map +1 -1
- package/reproj/Image.d.ts +1 -1
- package/reproj/Image.d.ts.map +1 -1
- package/reproj/Image.js +22 -8
- package/reproj/Tile.d.ts +1 -1
- package/reproj/Tile.d.ts.map +1 -1
- package/reproj/Triangulation.js +2 -2
- package/source/BingMaps.d.ts +1 -1
- package/source/BingMaps.d.ts.map +1 -1
- package/source/CartoDB.d.ts +1 -1
- package/source/CartoDB.d.ts.map +1 -1
- package/source/Cluster.d.ts +3 -3
- package/source/Cluster.d.ts.map +1 -1
- package/source/DataTile.d.ts +4 -4
- package/source/DataTile.d.ts.map +1 -1
- package/source/DataTile.js +1 -1
- package/source/GeoTIFF.d.ts +1 -1
- package/source/GeoTIFF.d.ts.map +1 -1
- package/source/IIIF.d.ts +1 -1
- package/source/IIIF.d.ts.map +1 -1
- package/source/Image.d.ts +2 -2
- package/source/Image.d.ts.map +1 -1
- package/source/ImageArcGISRest.d.ts +1 -1
- package/source/ImageArcGISRest.d.ts.map +1 -1
- package/source/ImageCanvas.d.ts +1 -1
- package/source/ImageCanvas.d.ts.map +1 -1
- package/source/ImageMapGuide.d.ts +1 -1
- package/source/ImageMapGuide.d.ts.map +1 -1
- package/source/ImageStatic.d.ts +1 -1
- package/source/ImageStatic.d.ts.map +1 -1
- package/source/ImageWMS.d.ts +1 -1
- package/source/ImageWMS.d.ts.map +1 -1
- package/source/OGCMapTile.d.ts +1 -1
- package/source/OGCMapTile.d.ts.map +1 -1
- package/source/OGCVectorTile.d.ts +1 -1
- package/source/OGCVectorTile.d.ts.map +1 -1
- package/source/OSM.d.ts +1 -1
- package/source/OSM.d.ts.map +1 -1
- package/source/Raster.d.ts +3 -3
- package/source/Raster.d.ts.map +1 -1
- package/source/Source.d.ts +5 -5
- package/source/Source.d.ts.map +1 -1
- package/source/Source.js +2 -2
- package/source/Stamen.d.ts +1 -1
- package/source/Stamen.d.ts.map +1 -1
- package/source/Tile.d.ts +2 -2
- package/source/Tile.d.ts.map +1 -1
- package/source/TileArcGISRest.d.ts +1 -1
- package/source/TileArcGISRest.d.ts.map +1 -1
- package/source/TileDebug.d.ts +1 -1
- package/source/TileDebug.d.ts.map +1 -1
- package/source/TileImage.d.ts +4 -4
- package/source/TileImage.d.ts.map +1 -1
- package/source/TileJSON.d.ts +1 -1
- package/source/TileJSON.d.ts.map +1 -1
- package/source/TileWMS.d.ts +1 -1
- package/source/TileWMS.d.ts.map +1 -1
- package/source/UTFGrid.d.ts +2 -2
- package/source/UTFGrid.d.ts.map +1 -1
- package/source/UrlTile.d.ts +1 -1
- package/source/UrlTile.d.ts.map +1 -1
- package/source/Vector.d.ts +3 -3
- package/source/Vector.d.ts.map +1 -1
- package/source/Vector.js +6 -3
- package/source/VectorTile.d.ts +4 -4
- package/source/VectorTile.d.ts.map +1 -1
- package/source/WMTS.d.ts +1 -1
- package/source/WMTS.d.ts.map +1 -1
- package/source/XYZ.d.ts +1 -1
- package/source/XYZ.d.ts.map +1 -1
- package/source/Zoomify.d.ts +2 -2
- package/source/Zoomify.d.ts.map +1 -1
- package/structs/LRUCache.d.ts.map +1 -1
- package/structs/LRUCache.js +2 -1
- package/style/Circle.d.ts +1 -1
- package/style/Circle.d.ts.map +1 -1
- package/style/Icon.d.ts +4 -78
- package/style/Icon.d.ts.map +1 -1
- package/style/Icon.js +89 -86
- package/style/IconImage.d.ts +1 -1
- package/style/IconImage.d.ts.map +1 -1
- package/style/RegularShape.d.ts +1 -1
- package/style/RegularShape.d.ts.map +1 -1
- package/style/RegularShape.js +1 -1
- package/style/Style.d.ts +2 -2
- package/style/Style.d.ts.map +1 -1
- package/style/Text.d.ts +5 -5
- package/style/Text.d.ts.map +1 -1
- package/style/Text.js +2 -2
- package/style/expressions.d.ts +42 -17
- package/style/expressions.d.ts.map +1 -1
- package/style/expressions.js +258 -118
- package/style/flat.d.ts +14 -0
- package/style/flat.d.ts.map +1 -1
- package/style/flat.js +6 -0
- package/style/literal.d.ts +204 -3
- package/style/literal.d.ts.map +1 -1
- package/style/literal.js +106 -3
- package/tilegrid/TileGrid.d.ts +1 -9
- package/tilegrid/TileGrid.d.ts.map +1 -1
- package/tilegrid/TileGrid.js +0 -18
- package/tilegrid/WMTS.d.ts +1 -1
- package/tilegrid/WMTS.d.ts.map +1 -1
- package/tilegrid.d.ts +1 -1
- package/tilegrid.d.ts.map +1 -1
- package/util.d.ts.map +1 -1
- package/util.js +1 -1
- package/webgl/BaseTileRepresentation.d.ts +72 -0
- package/webgl/BaseTileRepresentation.d.ts.map +1 -0
- package/webgl/BaseTileRepresentation.js +108 -0
- package/webgl/Buffer.d.ts +9 -6
- package/webgl/Buffer.d.ts.map +1 -1
- package/webgl/Buffer.js +6 -0
- package/webgl/Helper.d.ts +19 -12
- package/webgl/Helper.d.ts.map +1 -1
- package/webgl/Helper.js +79 -71
- package/webgl/ShaderBuilder.d.ts +75 -65
- package/webgl/ShaderBuilder.d.ts.map +1 -1
- package/webgl/ShaderBuilder.js +382 -241
- package/webgl/TileGeometry.d.ts +29 -0
- package/webgl/TileGeometry.d.ts.map +1 -0
- package/webgl/TileGeometry.js +73 -0
- package/webgl/TileTexture.d.ts +8 -51
- package/webgl/TileTexture.d.ts.map +1 -1
- package/webgl/TileTexture.js +11 -62
- package/webgl/styleparser.d.ts +61 -0
- package/webgl/styleparser.d.ts.map +1 -0
- package/webgl/styleparser.js +406 -0
- package/worker/webgl.js +1 -1
- package/events/KeyCode.d.ts +0 -8
- package/events/KeyCode.d.ts.map +0 -1
- package/events/KeyCode.js +0 -14
- package/render/webgl/BatchRenderer.d.ts +0 -92
- package/render/webgl/BatchRenderer.d.ts.map +0 -1
- package/render/webgl/BatchRenderer.js +0 -200
- package/render/webgl/LineStringBatchRenderer.d.ts +0 -27
- package/render/webgl/LineStringBatchRenderer.d.ts.map +0 -1
- package/render/webgl/LineStringBatchRenderer.js +0 -114
- package/render/webgl/PointBatchRenderer.d.ts +0 -26
- package/render/webgl/PointBatchRenderer.d.ts.map +0 -1
- package/render/webgl/PointBatchRenderer.js +0 -95
- package/render/webgl/PolygonBatchRenderer.d.ts +0 -25
- package/render/webgl/PolygonBatchRenderer.d.ts.map +0 -1
- package/render/webgl/PolygonBatchRenderer.js +0 -115
- package/renderer/webgl/shaders.d.ts +0 -43
- package/renderer/webgl/shaders.d.ts.map +0 -1
- package/renderer/webgl/shaders.js +0 -198
|
@@ -1,56 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module ol/renderer/webgl/TileLayer
|
|
3
3
|
*/
|
|
4
|
-
import LRUCache from '../../structs/LRUCache.js';
|
|
5
4
|
import ReprojDataTile from '../../reproj/DataTile.js';
|
|
6
5
|
import ReprojTile from '../../reproj/Tile.js';
|
|
7
|
-
import TileRange from '../../TileRange.js';
|
|
8
6
|
import TileState from '../../TileState.js';
|
|
9
7
|
import TileTexture from '../../webgl/TileTexture.js';
|
|
10
8
|
import WebGLArrayBuffer from '../../webgl/Buffer.js';
|
|
11
|
-
import
|
|
9
|
+
import WebGLBaseTileLayerRenderer, {
|
|
10
|
+
Uniforms as BaseUniforms,
|
|
11
|
+
getCacheKey,
|
|
12
|
+
} from './TileLayerBase.js';
|
|
12
13
|
import {AttributeType} from '../../webgl/Helper.js';
|
|
13
14
|
import {ELEMENT_ARRAY_BUFFER, STATIC_DRAW} from '../../webgl.js';
|
|
14
|
-
import {
|
|
15
|
-
apply as applyTransform,
|
|
16
|
-
create as createTransform,
|
|
17
|
-
reset as resetTransform,
|
|
18
|
-
rotate as rotateTransform,
|
|
19
|
-
scale as scaleTransform,
|
|
20
|
-
translate as translateTransform,
|
|
21
|
-
} from '../../transform.js';
|
|
22
|
-
import {ascending} from '../../array.js';
|
|
15
|
+
import {apply as applyTransform} from '../../transform.js';
|
|
23
16
|
import {
|
|
24
17
|
boundingExtent,
|
|
25
18
|
containsCoordinate,
|
|
26
19
|
getIntersection,
|
|
27
|
-
isEmpty,
|
|
28
20
|
} from '../../extent.js';
|
|
29
|
-
import {
|
|
30
|
-
create as createMat4,
|
|
31
|
-
fromTransform as mat4FromTransform,
|
|
32
|
-
} from '../../vec/mat4.js';
|
|
33
|
-
import {
|
|
34
|
-
createOrUpdate as createTileCoord,
|
|
35
|
-
getKey as getTileCoordKey,
|
|
36
|
-
} from '../../tilecoord.js';
|
|
37
21
|
import {fromUserExtent} from '../../proj.js';
|
|
38
|
-
import {
|
|
22
|
+
import {fromTransform as mat4FromTransform} from '../../vec/mat4.js';
|
|
39
23
|
import {toSize} from '../../size.js';
|
|
40
24
|
|
|
41
25
|
export const Uniforms = {
|
|
26
|
+
...BaseUniforms,
|
|
42
27
|
TILE_TEXTURE_ARRAY: 'u_tileTextures',
|
|
43
|
-
TILE_TRANSFORM: 'u_tileTransform',
|
|
44
|
-
TRANSITION_ALPHA: 'u_transitionAlpha',
|
|
45
|
-
DEPTH: 'u_depth',
|
|
46
28
|
TEXTURE_PIXEL_WIDTH: 'u_texturePixelWidth',
|
|
47
29
|
TEXTURE_PIXEL_HEIGHT: 'u_texturePixelHeight',
|
|
48
30
|
TEXTURE_RESOLUTION: 'u_textureResolution', // map units per texture pixel
|
|
49
31
|
TEXTURE_ORIGIN_X: 'u_textureOriginX', // map x coordinate of left edge of texture
|
|
50
32
|
TEXTURE_ORIGIN_Y: 'u_textureOriginY', // map y coordinate of top edge of texture
|
|
51
|
-
RENDER_EXTENT: 'u_renderExtent', // intersection of layer, source, and view extent
|
|
52
|
-
RESOLUTION: 'u_resolution',
|
|
53
|
-
ZOOM: 'u_zoom',
|
|
54
33
|
};
|
|
55
34
|
|
|
56
35
|
export const Attributes = {
|
|
@@ -68,65 +47,6 @@ const attributeDescriptions = [
|
|
|
68
47
|
},
|
|
69
48
|
];
|
|
70
49
|
|
|
71
|
-
/**
|
|
72
|
-
* @type {Object<string, boolean>}
|
|
73
|
-
*/
|
|
74
|
-
const empty = {};
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Transform a zoom level into a depth value ranging from -1 to 1.
|
|
78
|
-
* @param {number} z A zoom level.
|
|
79
|
-
* @return {number} A depth value.
|
|
80
|
-
*/
|
|
81
|
-
function depthForZ(z) {
|
|
82
|
-
return 2 * (1 - 1 / (z + 1)) - 1;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Add a tile texture to the lookup.
|
|
87
|
-
* @param {Object<number, Array<import("../../webgl/TileTexture.js").default>>} tileTexturesByZ Lookup of
|
|
88
|
-
* tile textures by zoom level.
|
|
89
|
-
* @param {import("../../webgl/TileTexture.js").default} tileTexture A tile texture.
|
|
90
|
-
* @param {number} z The zoom level.
|
|
91
|
-
*/
|
|
92
|
-
function addTileTextureToLookup(tileTexturesByZ, tileTexture, z) {
|
|
93
|
-
if (!(z in tileTexturesByZ)) {
|
|
94
|
-
tileTexturesByZ[z] = [];
|
|
95
|
-
}
|
|
96
|
-
tileTexturesByZ[z].push(tileTexture);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* @param {import("../../Map.js").FrameState} frameState Frame state.
|
|
101
|
-
* @param {import("../../extent.js").Extent} extent The frame extent.
|
|
102
|
-
* @return {import("../../extent.js").Extent} Frame extent intersected with layer extents.
|
|
103
|
-
*/
|
|
104
|
-
function getRenderExtent(frameState, extent) {
|
|
105
|
-
const layerState = frameState.layerStatesArray[frameState.layerIndex];
|
|
106
|
-
if (layerState.extent) {
|
|
107
|
-
extent = getIntersection(
|
|
108
|
-
extent,
|
|
109
|
-
fromUserExtent(layerState.extent, frameState.viewState.projection)
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
const source = /** @type {import("../../source/Tile.js").default} */ (
|
|
113
|
-
layerState.layer.getRenderSource()
|
|
114
|
-
);
|
|
115
|
-
if (!source.getWrapX()) {
|
|
116
|
-
const gridExtent = source
|
|
117
|
-
.getTileGridForProjection(frameState.viewState.projection)
|
|
118
|
-
.getExtent();
|
|
119
|
-
if (gridExtent) {
|
|
120
|
-
extent = getIntersection(extent, gridExtent);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return extent;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function getCacheKey(source, tileCoord) {
|
|
127
|
-
return `${source.getKey()},${getTileCoordKey(tileCoord)}`;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
50
|
/**
|
|
131
51
|
* @typedef {Object} Options
|
|
132
52
|
* @property {string} vertexShader Vertex shader source.
|
|
@@ -140,59 +60,26 @@ function getCacheKey(source, tileCoord) {
|
|
|
140
60
|
/**
|
|
141
61
|
* @typedef {import("../../layer/WebGLTile.js").default} LayerType
|
|
142
62
|
*/
|
|
63
|
+
/**
|
|
64
|
+
* @typedef {import("../../webgl/TileTexture.js").TileType} TileTextureType
|
|
65
|
+
*/
|
|
66
|
+
/**
|
|
67
|
+
* @typedef {import("../../webgl/TileTexture.js").default} TileTextureRepresentation
|
|
68
|
+
*/
|
|
143
69
|
|
|
144
70
|
/**
|
|
145
71
|
* @classdesc
|
|
146
72
|
* WebGL renderer for tile layers.
|
|
147
|
-
* @extends {
|
|
73
|
+
* @extends {WebGLBaseTileLayerRenderer<LayerType, TileTextureType, TileTextureRepresentation>}
|
|
148
74
|
* @api
|
|
149
75
|
*/
|
|
150
|
-
class WebGLTileLayerRenderer extends
|
|
76
|
+
class WebGLTileLayerRenderer extends WebGLBaseTileLayerRenderer {
|
|
151
77
|
/**
|
|
152
78
|
* @param {LayerType} tileLayer Tile layer.
|
|
153
79
|
* @param {Options} options Options.
|
|
154
80
|
*/
|
|
155
81
|
constructor(tileLayer, options) {
|
|
156
|
-
super(tileLayer,
|
|
157
|
-
uniforms: options.uniforms,
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* The last call to `renderFrame` was completed with all tiles loaded
|
|
162
|
-
* @type {boolean}
|
|
163
|
-
*/
|
|
164
|
-
this.renderComplete = false;
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* This transform converts texture coordinates to screen coordinates.
|
|
168
|
-
* @type {import("../../transform.js").Transform}
|
|
169
|
-
* @private
|
|
170
|
-
*/
|
|
171
|
-
this.tileTransform_ = createTransform();
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* @type {Array<number>}
|
|
175
|
-
* @private
|
|
176
|
-
*/
|
|
177
|
-
this.tempMat4_ = createMat4();
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* @type {import("../../TileRange.js").default}
|
|
181
|
-
* @private
|
|
182
|
-
*/
|
|
183
|
-
this.tempTileRange_ = new TileRange(0, 0, 0, 0);
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* @type {import("../../tilecoord.js").TileCoord}
|
|
187
|
-
* @private
|
|
188
|
-
*/
|
|
189
|
-
this.tempTileCoord_ = createTileCoord(0, 0, 0);
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* @type {import("../../size.js").Size}
|
|
193
|
-
* @private
|
|
194
|
-
*/
|
|
195
|
-
this.tempSize_ = [0, 0];
|
|
82
|
+
super(tileLayer, options);
|
|
196
83
|
|
|
197
84
|
/**
|
|
198
85
|
* @type {WebGLProgram}
|
|
@@ -230,43 +117,21 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
230
117
|
this.indices_ = new WebGLArrayBuffer(ELEMENT_ARRAY_BUFFER, STATIC_DRAW);
|
|
231
118
|
this.indices_.fromArray([0, 1, 3, 1, 2, 3]);
|
|
232
119
|
|
|
233
|
-
const cacheSize = options.cacheSize !== undefined ? options.cacheSize : 512;
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* @type {import("../../structs/LRUCache.js").default<import("../../webgl/TileTexture.js").default>}
|
|
237
|
-
* @private
|
|
238
|
-
*/
|
|
239
|
-
this.tileTextureCache_ = new LRUCache(cacheSize);
|
|
240
|
-
|
|
241
120
|
/**
|
|
242
121
|
* @type {Array<import("../../webgl/PaletteTexture.js").default>}
|
|
243
122
|
* @private
|
|
244
123
|
*/
|
|
245
124
|
this.paletteTextures_ = options.paletteTextures || [];
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* @private
|
|
249
|
-
* @type {import("../../Map.js").FrameState|null}
|
|
250
|
-
*/
|
|
251
|
-
this.frameState_ = null;
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* @private
|
|
255
|
-
* @type {import("../../proj/Projection.js").default}
|
|
256
|
-
*/
|
|
257
|
-
this.projection_ = undefined;
|
|
258
125
|
}
|
|
259
126
|
|
|
260
127
|
/**
|
|
261
128
|
* @param {Options} options Options.
|
|
262
129
|
*/
|
|
263
130
|
reset(options) {
|
|
264
|
-
super.reset(
|
|
265
|
-
|
|
266
|
-
});
|
|
131
|
+
super.reset(options);
|
|
132
|
+
|
|
267
133
|
this.vertexShader_ = options.vertexShader;
|
|
268
134
|
this.fragmentShader_ = options.fragmentShader;
|
|
269
|
-
this.paletteTextures_ = options.paletteTextures || [];
|
|
270
135
|
|
|
271
136
|
if (this.helper) {
|
|
272
137
|
this.program_ = this.helper.getProgram(
|
|
@@ -281,456 +146,113 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
281
146
|
this.fragmentShader_,
|
|
282
147
|
this.vertexShader_
|
|
283
148
|
);
|
|
284
|
-
|
|
285
149
|
this.helper.flushBufferData(this.indices_);
|
|
286
150
|
}
|
|
287
151
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
* @return {boolean} Tile is drawable.
|
|
291
|
-
* @private
|
|
292
|
-
*/
|
|
293
|
-
isDrawableTile_(tile) {
|
|
294
|
-
const tileLayer = this.getLayer();
|
|
295
|
-
const tileState = tile.getState();
|
|
296
|
-
const useInterimTilesOnError = tileLayer.getUseInterimTilesOnError();
|
|
297
|
-
return (
|
|
298
|
-
tileState == TileState.LOADED ||
|
|
299
|
-
tileState == TileState.EMPTY ||
|
|
300
|
-
(tileState == TileState.ERROR && !useInterimTilesOnError)
|
|
301
|
-
);
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
/**
|
|
305
|
-
* Determine whether renderFrame should be called.
|
|
306
|
-
* @param {import("../../Map.js").FrameState} frameState Frame state.
|
|
307
|
-
* @return {boolean} Layer is ready to be rendered.
|
|
308
|
-
*/
|
|
309
|
-
prepareFrameInternal(frameState) {
|
|
310
|
-
if (!this.projection_) {
|
|
311
|
-
this.projection_ = frameState.viewState.projection;
|
|
312
|
-
} else if (frameState.viewState.projection !== this.projection_) {
|
|
313
|
-
this.clearCache();
|
|
314
|
-
this.projection_ = frameState.viewState.projection;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
const layer = this.getLayer();
|
|
318
|
-
const source = layer.getRenderSource();
|
|
319
|
-
if (!source) {
|
|
320
|
-
return false;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
if (isEmpty(getRenderExtent(frameState, frameState.extent))) {
|
|
324
|
-
return false;
|
|
325
|
-
}
|
|
326
|
-
return source.getState() === 'ready';
|
|
152
|
+
createTileRepresentation(options) {
|
|
153
|
+
return new TileTexture(options);
|
|
327
154
|
}
|
|
328
155
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
* @param {number} initialZ The zoom level.
|
|
333
|
-
* @param {Object<number, Array<TileTexture>>} tileTexturesByZ The zoom level.
|
|
334
|
-
* @param {number} preload Number of additional levels to load.
|
|
335
|
-
*/
|
|
336
|
-
enqueueTiles(frameState, extent, initialZ, tileTexturesByZ, preload) {
|
|
337
|
-
const viewState = frameState.viewState;
|
|
338
|
-
const tileLayer = this.getLayer();
|
|
339
|
-
const tileSource = tileLayer.getRenderSource();
|
|
340
|
-
const tileGrid = tileSource.getTileGridForProjection(viewState.projection);
|
|
341
|
-
const gutter = tileSource.getGutterForProjection(viewState.projection);
|
|
342
|
-
|
|
343
|
-
const tileSourceKey = getUid(tileSource);
|
|
344
|
-
if (!(tileSourceKey in frameState.wantedTiles)) {
|
|
345
|
-
frameState.wantedTiles[tileSourceKey] = {};
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
const wantedTiles = frameState.wantedTiles[tileSourceKey];
|
|
349
|
-
const tileTextureCache = this.tileTextureCache_;
|
|
350
|
-
|
|
351
|
-
const map = tileLayer.getMapInternal();
|
|
352
|
-
const minZ = Math.max(
|
|
353
|
-
initialZ - preload,
|
|
354
|
-
tileGrid.getMinZoom(),
|
|
355
|
-
tileGrid.getZForResolution(
|
|
356
|
-
Math.min(
|
|
357
|
-
tileLayer.getMaxResolution(),
|
|
358
|
-
map
|
|
359
|
-
? map
|
|
360
|
-
.getView()
|
|
361
|
-
.getResolutionForZoom(Math.max(tileLayer.getMinZoom(), 0))
|
|
362
|
-
: tileGrid.getResolution(0)
|
|
363
|
-
),
|
|
364
|
-
tileSource.zDirection
|
|
365
|
-
)
|
|
366
|
-
);
|
|
367
|
-
for (let z = initialZ; z >= minZ; --z) {
|
|
368
|
-
const tileRange = tileGrid.getTileRangeForExtentAndZ(
|
|
369
|
-
extent,
|
|
370
|
-
z,
|
|
371
|
-
this.tempTileRange_
|
|
372
|
-
);
|
|
373
|
-
|
|
374
|
-
const tileResolution = tileGrid.getResolution(z);
|
|
375
|
-
|
|
376
|
-
for (let x = tileRange.minX; x <= tileRange.maxX; ++x) {
|
|
377
|
-
for (let y = tileRange.minY; y <= tileRange.maxY; ++y) {
|
|
378
|
-
const tileCoord = createTileCoord(z, x, y, this.tempTileCoord_);
|
|
379
|
-
const cacheKey = getCacheKey(tileSource, tileCoord);
|
|
380
|
-
|
|
381
|
-
/** @type {TileTexture} */
|
|
382
|
-
let tileTexture;
|
|
383
|
-
|
|
384
|
-
/** @type {import("../../webgl/TileTexture").TileType} */
|
|
385
|
-
let tile;
|
|
386
|
-
|
|
387
|
-
if (tileTextureCache.containsKey(cacheKey)) {
|
|
388
|
-
tileTexture = tileTextureCache.get(cacheKey);
|
|
389
|
-
tile = tileTexture.tile;
|
|
390
|
-
}
|
|
391
|
-
if (!tileTexture || tileTexture.tile.key !== tileSource.getKey()) {
|
|
392
|
-
tile = tileSource.getTile(
|
|
393
|
-
z,
|
|
394
|
-
x,
|
|
395
|
-
y,
|
|
396
|
-
frameState.pixelRatio,
|
|
397
|
-
viewState.projection
|
|
398
|
-
);
|
|
399
|
-
if (!tileTexture) {
|
|
400
|
-
tileTexture = new TileTexture({
|
|
401
|
-
tile: tile,
|
|
402
|
-
grid: tileGrid,
|
|
403
|
-
helper: this.helper,
|
|
404
|
-
gutter: gutter,
|
|
405
|
-
});
|
|
406
|
-
tileTextureCache.set(cacheKey, tileTexture);
|
|
407
|
-
} else {
|
|
408
|
-
if (this.isDrawableTile_(tile)) {
|
|
409
|
-
tileTexture.setTile(tile);
|
|
410
|
-
} else {
|
|
411
|
-
const interimTile =
|
|
412
|
-
/** @type {import("../../webgl/TileTexture").TileType} */ (
|
|
413
|
-
tile.getInterimTile()
|
|
414
|
-
);
|
|
415
|
-
tileTexture.setTile(interimTile);
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
addTileTextureToLookup(tileTexturesByZ, tileTexture, z);
|
|
421
|
-
|
|
422
|
-
const tileQueueKey = tile.getKey();
|
|
423
|
-
wantedTiles[tileQueueKey] = true;
|
|
424
|
-
|
|
425
|
-
if (tile.getState() === TileState.IDLE) {
|
|
426
|
-
if (!frameState.tileQueue.isKeyQueued(tileQueueKey)) {
|
|
427
|
-
frameState.tileQueue.enqueue([
|
|
428
|
-
tile,
|
|
429
|
-
tileSourceKey,
|
|
430
|
-
tileGrid.getTileCoordCenter(tileCoord),
|
|
431
|
-
tileResolution,
|
|
432
|
-
]);
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
}
|
|
156
|
+
beforeTilesRender(frameState, tilesWithAlpha) {
|
|
157
|
+
super.beforeTilesRender(frameState, tilesWithAlpha);
|
|
158
|
+
this.helper.useProgram(this.program_, frameState);
|
|
438
159
|
}
|
|
439
160
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
161
|
+
renderTile(
|
|
162
|
+
tileTexture,
|
|
163
|
+
tileTransform,
|
|
164
|
+
frameState,
|
|
165
|
+
renderExtent,
|
|
166
|
+
tileResolution,
|
|
167
|
+
tileSize,
|
|
168
|
+
tileOrigin,
|
|
169
|
+
tileExtent,
|
|
170
|
+
depth,
|
|
171
|
+
gutter,
|
|
172
|
+
alpha
|
|
173
|
+
) {
|
|
448
174
|
const gl = this.helper.getGL();
|
|
449
|
-
this.
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
);
|
|
461
|
-
|
|
462
|
-
/**
|
|
463
|
-
* @type {Object<number, Array<import("../../webgl/TileTexture.js").default>>}
|
|
464
|
-
*/
|
|
465
|
-
const tileTexturesByZ = {};
|
|
466
|
-
|
|
467
|
-
const preload = tileLayer.getPreload();
|
|
468
|
-
if (frameState.nextExtent) {
|
|
469
|
-
const targetZ = tileGrid.getZForResolution(
|
|
470
|
-
viewState.nextResolution,
|
|
471
|
-
tileSource.zDirection
|
|
472
|
-
);
|
|
473
|
-
const nextExtent = getRenderExtent(frameState, frameState.nextExtent);
|
|
474
|
-
this.enqueueTiles(
|
|
475
|
-
frameState,
|
|
476
|
-
nextExtent,
|
|
477
|
-
targetZ,
|
|
478
|
-
tileTexturesByZ,
|
|
479
|
-
preload
|
|
175
|
+
this.helper.bindBuffer(tileTexture.coords);
|
|
176
|
+
this.helper.bindBuffer(this.indices_);
|
|
177
|
+
this.helper.enableAttributes(attributeDescriptions);
|
|
178
|
+
|
|
179
|
+
let textureSlot = 0;
|
|
180
|
+
while (textureSlot < tileTexture.textures.length) {
|
|
181
|
+
const uniformName = `${Uniforms.TILE_TEXTURE_ARRAY}[${textureSlot}]`;
|
|
182
|
+
this.helper.bindTexture(
|
|
183
|
+
tileTexture.textures[textureSlot],
|
|
184
|
+
textureSlot,
|
|
185
|
+
uniformName
|
|
480
186
|
);
|
|
187
|
+
++textureSlot;
|
|
481
188
|
}
|
|
482
189
|
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
);
|
|
493
|
-
}, 0);
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
/**
|
|
497
|
-
* A lookup of alpha values for tiles at the target rendering resolution
|
|
498
|
-
* for tiles that are in transition. If a tile coord key is absent from
|
|
499
|
-
* this lookup, the tile should be rendered at alpha 1.
|
|
500
|
-
* @type {Object<string, number>}
|
|
501
|
-
*/
|
|
502
|
-
const alphaLookup = {};
|
|
503
|
-
|
|
504
|
-
const uid = getUid(this);
|
|
505
|
-
const time = frameState.time;
|
|
506
|
-
let blend = false;
|
|
507
|
-
|
|
508
|
-
// look for cached tiles to use if a target tile is not ready
|
|
509
|
-
const tileTextures = tileTexturesByZ[z];
|
|
510
|
-
for (let i = 0, ii = tileTextures.length; i < ii; ++i) {
|
|
511
|
-
const tileTexture = tileTextures[i];
|
|
512
|
-
const tile = tileTexture.tile;
|
|
513
|
-
if (
|
|
514
|
-
(tile instanceof ReprojTile || tile instanceof ReprojDataTile) &&
|
|
515
|
-
tile.getState() === TileState.EMPTY
|
|
516
|
-
) {
|
|
517
|
-
continue;
|
|
518
|
-
}
|
|
519
|
-
const tileCoord = tile.tileCoord;
|
|
520
|
-
|
|
521
|
-
if (tileTexture.loaded) {
|
|
522
|
-
const alpha = tile.getAlpha(uid, time);
|
|
523
|
-
if (alpha === 1) {
|
|
524
|
-
// no need to look for alt tiles
|
|
525
|
-
tile.endTransition(uid);
|
|
526
|
-
continue;
|
|
527
|
-
}
|
|
528
|
-
blend = true;
|
|
529
|
-
const tileCoordKey = getTileCoordKey(tileCoord);
|
|
530
|
-
alphaLookup[tileCoordKey] = alpha;
|
|
531
|
-
}
|
|
532
|
-
this.renderComplete = false;
|
|
533
|
-
|
|
534
|
-
// first look for child tiles (at z + 1)
|
|
535
|
-
const coveredByChildren = this.findAltTiles_(
|
|
536
|
-
tileGrid,
|
|
537
|
-
tileCoord,
|
|
538
|
-
z + 1,
|
|
539
|
-
tileTexturesByZ
|
|
540
|
-
);
|
|
541
|
-
|
|
542
|
-
if (coveredByChildren) {
|
|
543
|
-
continue;
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
// next look for parent tiles
|
|
547
|
-
const minZoom = tileGrid.getMinZoom();
|
|
548
|
-
for (let parentZ = z - 1; parentZ >= minZoom; --parentZ) {
|
|
549
|
-
const coveredByParent = this.findAltTiles_(
|
|
550
|
-
tileGrid,
|
|
551
|
-
tileCoord,
|
|
552
|
-
parentZ,
|
|
553
|
-
tileTexturesByZ
|
|
554
|
-
);
|
|
555
|
-
|
|
556
|
-
if (coveredByParent) {
|
|
557
|
-
break;
|
|
558
|
-
}
|
|
559
|
-
}
|
|
190
|
+
for (
|
|
191
|
+
let paletteIndex = 0;
|
|
192
|
+
paletteIndex < this.paletteTextures_.length;
|
|
193
|
+
++paletteIndex
|
|
194
|
+
) {
|
|
195
|
+
const paletteTexture = this.paletteTextures_[paletteIndex];
|
|
196
|
+
const texture = paletteTexture.getTexture(gl);
|
|
197
|
+
this.helper.bindTexture(texture, textureSlot, paletteTexture.name);
|
|
198
|
+
++textureSlot;
|
|
560
199
|
}
|
|
561
200
|
|
|
562
|
-
|
|
563
|
-
this.helper.prepareDraw(frameState, !blend);
|
|
564
|
-
|
|
565
|
-
const zs = Object.keys(tileTexturesByZ).map(Number).sort(ascending);
|
|
566
|
-
|
|
567
|
-
const centerX = viewState.center[0];
|
|
568
|
-
const centerY = viewState.center[1];
|
|
569
|
-
|
|
570
|
-
for (let j = 0, jj = zs.length; j < jj; ++j) {
|
|
571
|
-
const tileZ = zs[j];
|
|
572
|
-
const tileResolution = tileGrid.getResolution(tileZ);
|
|
573
|
-
const tileSize = toSize(tileGrid.getTileSize(tileZ), this.tempSize_);
|
|
574
|
-
const tileOrigin = tileGrid.getOrigin(tileZ);
|
|
575
|
-
|
|
576
|
-
const tileWidthWithGutter = tileSize[0] + 2 * gutter;
|
|
577
|
-
const tileHeightWithGutter = tileSize[1] + 2 * gutter;
|
|
578
|
-
const aspectRatio = tileWidthWithGutter / tileHeightWithGutter;
|
|
579
|
-
|
|
580
|
-
const centerI =
|
|
581
|
-
(centerX - tileOrigin[0]) / (tileSize[0] * tileResolution);
|
|
582
|
-
const centerJ =
|
|
583
|
-
(tileOrigin[1] - centerY) / (tileSize[1] * tileResolution);
|
|
584
|
-
|
|
585
|
-
const tileScale = viewState.resolution / tileResolution;
|
|
586
|
-
|
|
587
|
-
const depth = depthForZ(tileZ);
|
|
588
|
-
const tileTextures = tileTexturesByZ[tileZ];
|
|
589
|
-
for (let i = 0, ii = tileTextures.length; i < ii; ++i) {
|
|
590
|
-
const tileTexture = tileTextures[i];
|
|
591
|
-
if (!tileTexture.loaded) {
|
|
592
|
-
continue;
|
|
593
|
-
}
|
|
594
|
-
const tile = tileTexture.tile;
|
|
595
|
-
const tileCoord = tile.tileCoord;
|
|
596
|
-
const tileCoordKey = getTileCoordKey(tileCoord);
|
|
597
|
-
|
|
598
|
-
const tileCenterI = tileCoord[1];
|
|
599
|
-
const tileCenterJ = tileCoord[2];
|
|
600
|
-
|
|
601
|
-
resetTransform(this.tileTransform_);
|
|
602
|
-
scaleTransform(
|
|
603
|
-
this.tileTransform_,
|
|
604
|
-
2 / ((frameState.size[0] * tileScale) / tileWidthWithGutter),
|
|
605
|
-
-2 / ((frameState.size[1] * tileScale) / tileWidthWithGutter)
|
|
606
|
-
);
|
|
607
|
-
rotateTransform(this.tileTransform_, viewState.rotation);
|
|
608
|
-
scaleTransform(this.tileTransform_, 1, 1 / aspectRatio);
|
|
609
|
-
translateTransform(
|
|
610
|
-
this.tileTransform_,
|
|
611
|
-
(tileSize[0] * (tileCenterI - centerI) - gutter) /
|
|
612
|
-
tileWidthWithGutter,
|
|
613
|
-
(tileSize[1] * (tileCenterJ - centerJ) - gutter) /
|
|
614
|
-
tileHeightWithGutter
|
|
615
|
-
);
|
|
616
|
-
|
|
617
|
-
this.helper.setUniformMatrixValue(
|
|
618
|
-
Uniforms.TILE_TRANSFORM,
|
|
619
|
-
mat4FromTransform(this.tempMat4_, this.tileTransform_)
|
|
620
|
-
);
|
|
621
|
-
|
|
622
|
-
this.helper.bindBuffer(tileTexture.coords);
|
|
623
|
-
this.helper.bindBuffer(this.indices_);
|
|
624
|
-
this.helper.enableAttributes(attributeDescriptions);
|
|
625
|
-
|
|
626
|
-
let textureSlot = 0;
|
|
627
|
-
while (textureSlot < tileTexture.textures.length) {
|
|
628
|
-
const textureProperty = 'TEXTURE' + textureSlot;
|
|
629
|
-
const uniformName = `${Uniforms.TILE_TEXTURE_ARRAY}[${textureSlot}]`;
|
|
630
|
-
gl.activeTexture(gl[textureProperty]);
|
|
631
|
-
gl.bindTexture(gl.TEXTURE_2D, tileTexture.textures[textureSlot]);
|
|
632
|
-
gl.uniform1i(
|
|
633
|
-
this.helper.getUniformLocation(uniformName),
|
|
634
|
-
textureSlot
|
|
635
|
-
);
|
|
636
|
-
++textureSlot;
|
|
637
|
-
}
|
|
638
|
-
|
|
639
|
-
for (
|
|
640
|
-
let paletteIndex = 0;
|
|
641
|
-
paletteIndex < this.paletteTextures_.length;
|
|
642
|
-
++paletteIndex
|
|
643
|
-
) {
|
|
644
|
-
const paletteTexture = this.paletteTextures_[paletteIndex];
|
|
645
|
-
gl.activeTexture(gl['TEXTURE' + textureSlot]);
|
|
646
|
-
const texture = paletteTexture.getTexture(gl);
|
|
647
|
-
gl.bindTexture(gl.TEXTURE_2D, texture);
|
|
648
|
-
gl.uniform1i(
|
|
649
|
-
this.helper.getUniformLocation(paletteTexture.name),
|
|
650
|
-
textureSlot
|
|
651
|
-
);
|
|
652
|
-
++textureSlot;
|
|
653
|
-
}
|
|
201
|
+
const viewState = frameState.viewState;
|
|
654
202
|
|
|
655
|
-
|
|
656
|
-
|
|
203
|
+
const tileWidthWithGutter = tileSize[0] + 2 * gutter;
|
|
204
|
+
const tileHeightWithGutter = tileSize[1] + 2 * gutter;
|
|
657
205
|
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
}
|
|
206
|
+
const tile = tileTexture.tile;
|
|
207
|
+
const tileCoord = tile.tileCoord;
|
|
661
208
|
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
this.helper.setUniformFloatValue(
|
|
665
|
-
Uniforms.TEXTURE_PIXEL_WIDTH,
|
|
666
|
-
tileWidthWithGutter
|
|
667
|
-
);
|
|
668
|
-
this.helper.setUniformFloatValue(
|
|
669
|
-
Uniforms.TEXTURE_PIXEL_HEIGHT,
|
|
670
|
-
tileHeightWithGutter
|
|
671
|
-
);
|
|
672
|
-
this.helper.setUniformFloatValue(
|
|
673
|
-
Uniforms.TEXTURE_RESOLUTION,
|
|
674
|
-
tileResolution
|
|
675
|
-
);
|
|
676
|
-
this.helper.setUniformFloatValue(
|
|
677
|
-
Uniforms.TEXTURE_ORIGIN_X,
|
|
678
|
-
tileOrigin[0] +
|
|
679
|
-
tileCenterI * tileSize[0] * tileResolution -
|
|
680
|
-
gutter * tileResolution
|
|
681
|
-
);
|
|
682
|
-
this.helper.setUniformFloatValue(
|
|
683
|
-
Uniforms.TEXTURE_ORIGIN_Y,
|
|
684
|
-
tileOrigin[1] -
|
|
685
|
-
tileCenterJ * tileSize[1] * tileResolution +
|
|
686
|
-
gutter * tileResolution
|
|
687
|
-
);
|
|
688
|
-
let gutterExtent = extent;
|
|
689
|
-
if (gutter > 0) {
|
|
690
|
-
gutterExtent = tileGrid.getTileCoordExtent(tileCoord);
|
|
691
|
-
getIntersection(gutterExtent, extent, gutterExtent);
|
|
692
|
-
}
|
|
693
|
-
this.helper.setUniformFloatVec4(Uniforms.RENDER_EXTENT, gutterExtent);
|
|
694
|
-
this.helper.setUniformFloatValue(
|
|
695
|
-
Uniforms.RESOLUTION,
|
|
696
|
-
viewState.resolution
|
|
697
|
-
);
|
|
698
|
-
this.helper.setUniformFloatValue(Uniforms.ZOOM, viewState.zoom);
|
|
699
|
-
|
|
700
|
-
this.helper.drawElements(0, this.indices_.getSize());
|
|
701
|
-
}
|
|
702
|
-
}
|
|
209
|
+
const tileCenterI = tileCoord[1];
|
|
210
|
+
const tileCenterJ = tileCoord[2];
|
|
703
211
|
|
|
704
|
-
this.helper.
|
|
705
|
-
|
|
706
|
-
this.
|
|
707
|
-
this.dispatchPostComposeEvent
|
|
212
|
+
this.helper.setUniformMatrixValue(
|
|
213
|
+
Uniforms.TILE_TRANSFORM,
|
|
214
|
+
mat4FromTransform(this.tempMat4, tileTransform)
|
|
708
215
|
);
|
|
709
216
|
|
|
710
|
-
|
|
217
|
+
this.helper.setUniformFloatValue(Uniforms.TRANSITION_ALPHA, alpha);
|
|
218
|
+
this.helper.setUniformFloatValue(Uniforms.DEPTH, depth);
|
|
711
219
|
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
220
|
+
let gutterExtent = renderExtent;
|
|
221
|
+
if (gutter > 0) {
|
|
222
|
+
gutterExtent = tileExtent;
|
|
223
|
+
getIntersection(gutterExtent, renderExtent, gutterExtent);
|
|
716
224
|
}
|
|
225
|
+
this.helper.setUniformFloatVec4(Uniforms.RENDER_EXTENT, gutterExtent);
|
|
717
226
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
* Here we unconditionally expire the source cache since the renderer maintains
|
|
721
|
-
* its own cache.
|
|
722
|
-
* @param {import("../../Map.js").default} map Map.
|
|
723
|
-
* @param {import("../../Map.js").FrameState} frameState Frame state.
|
|
724
|
-
*/
|
|
725
|
-
const postRenderFunction = function (map, frameState) {
|
|
726
|
-
tileSource.updateCacheSize(0.1, frameState.viewState.projection);
|
|
727
|
-
tileSource.expireCache(frameState.viewState.projection, empty);
|
|
728
|
-
};
|
|
227
|
+
this.helper.setUniformFloatValue(Uniforms.RESOLUTION, viewState.resolution);
|
|
228
|
+
this.helper.setUniformFloatValue(Uniforms.ZOOM, viewState.zoom);
|
|
729
229
|
|
|
730
|
-
|
|
230
|
+
this.helper.setUniformFloatValue(
|
|
231
|
+
Uniforms.TEXTURE_PIXEL_WIDTH,
|
|
232
|
+
tileWidthWithGutter
|
|
233
|
+
);
|
|
234
|
+
this.helper.setUniformFloatValue(
|
|
235
|
+
Uniforms.TEXTURE_PIXEL_HEIGHT,
|
|
236
|
+
tileHeightWithGutter
|
|
237
|
+
);
|
|
238
|
+
this.helper.setUniformFloatValue(
|
|
239
|
+
Uniforms.TEXTURE_RESOLUTION,
|
|
240
|
+
tileResolution
|
|
241
|
+
);
|
|
242
|
+
this.helper.setUniformFloatValue(
|
|
243
|
+
Uniforms.TEXTURE_ORIGIN_X,
|
|
244
|
+
tileOrigin[0] +
|
|
245
|
+
tileCenterI * tileSize[0] * tileResolution -
|
|
246
|
+
gutter * tileResolution
|
|
247
|
+
);
|
|
248
|
+
this.helper.setUniformFloatValue(
|
|
249
|
+
Uniforms.TEXTURE_ORIGIN_Y,
|
|
250
|
+
tileOrigin[1] -
|
|
251
|
+
tileCenterJ * tileSize[1] * tileResolution +
|
|
252
|
+
gutter * tileResolution
|
|
253
|
+
);
|
|
731
254
|
|
|
732
|
-
this.
|
|
733
|
-
return canvas;
|
|
255
|
+
this.helper.drawElements(0, this.indices_.getSize());
|
|
734
256
|
}
|
|
735
257
|
|
|
736
258
|
/**
|
|
@@ -743,7 +265,7 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
743
265
|
return null;
|
|
744
266
|
}
|
|
745
267
|
|
|
746
|
-
const frameState = this.
|
|
268
|
+
const frameState = this.frameState;
|
|
747
269
|
if (!frameState) {
|
|
748
270
|
return null;
|
|
749
271
|
}
|
|
@@ -790,7 +312,7 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
790
312
|
return null;
|
|
791
313
|
}
|
|
792
314
|
|
|
793
|
-
const tileTextureCache = this.
|
|
315
|
+
const tileTextureCache = this.tileRepresentationCache;
|
|
794
316
|
for (
|
|
795
317
|
let z = tileGrid.getZForResolution(viewState.resolution);
|
|
796
318
|
z >= tileGrid.getMinZoom();
|
|
@@ -829,64 +351,6 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
829
351
|
return null;
|
|
830
352
|
}
|
|
831
353
|
|
|
832
|
-
/**
|
|
833
|
-
* Look for tiles covering the provided tile coordinate at an alternate
|
|
834
|
-
* zoom level. Loaded tiles will be added to the provided tile texture lookup.
|
|
835
|
-
* @param {import("../../tilegrid/TileGrid.js").default} tileGrid The tile grid.
|
|
836
|
-
* @param {import("../../tilecoord.js").TileCoord} tileCoord The target tile coordinate.
|
|
837
|
-
* @param {number} altZ The alternate zoom level.
|
|
838
|
-
* @param {Object<number, Array<import("../../webgl/TileTexture.js").default>>} tileTexturesByZ Lookup of
|
|
839
|
-
* tile textures by zoom level.
|
|
840
|
-
* @return {boolean} The tile coordinate is covered by loaded tiles at the alternate zoom level.
|
|
841
|
-
* @private
|
|
842
|
-
*/
|
|
843
|
-
findAltTiles_(tileGrid, tileCoord, altZ, tileTexturesByZ) {
|
|
844
|
-
const tileRange = tileGrid.getTileRangeForTileCoordAndZ(
|
|
845
|
-
tileCoord,
|
|
846
|
-
altZ,
|
|
847
|
-
this.tempTileRange_
|
|
848
|
-
);
|
|
849
|
-
|
|
850
|
-
if (!tileRange) {
|
|
851
|
-
return false;
|
|
852
|
-
}
|
|
853
|
-
|
|
854
|
-
let covered = true;
|
|
855
|
-
const tileTextureCache = this.tileTextureCache_;
|
|
856
|
-
const source = this.getLayer().getRenderSource();
|
|
857
|
-
for (let x = tileRange.minX; x <= tileRange.maxX; ++x) {
|
|
858
|
-
for (let y = tileRange.minY; y <= tileRange.maxY; ++y) {
|
|
859
|
-
const cacheKey = getCacheKey(source, [altZ, x, y]);
|
|
860
|
-
let loaded = false;
|
|
861
|
-
if (tileTextureCache.containsKey(cacheKey)) {
|
|
862
|
-
const tileTexture = tileTextureCache.get(cacheKey);
|
|
863
|
-
if (tileTexture.loaded) {
|
|
864
|
-
addTileTextureToLookup(tileTexturesByZ, tileTexture, altZ);
|
|
865
|
-
loaded = true;
|
|
866
|
-
}
|
|
867
|
-
}
|
|
868
|
-
if (!loaded) {
|
|
869
|
-
covered = false;
|
|
870
|
-
}
|
|
871
|
-
}
|
|
872
|
-
}
|
|
873
|
-
return covered;
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
clearCache() {
|
|
877
|
-
const tileTextureCache = this.tileTextureCache_;
|
|
878
|
-
tileTextureCache.forEach((tileTexture) => tileTexture.dispose());
|
|
879
|
-
tileTextureCache.clear();
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
removeHelper() {
|
|
883
|
-
if (this.helper) {
|
|
884
|
-
this.clearCache();
|
|
885
|
-
}
|
|
886
|
-
|
|
887
|
-
super.removeHelper();
|
|
888
|
-
}
|
|
889
|
-
|
|
890
354
|
/**
|
|
891
355
|
* Clean up.
|
|
892
356
|
*/
|
|
@@ -896,15 +360,10 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
896
360
|
const gl = helper.getGL();
|
|
897
361
|
gl.deleteProgram(this.program_);
|
|
898
362
|
delete this.program_;
|
|
899
|
-
|
|
900
363
|
helper.deleteBuffer(this.indices_);
|
|
901
364
|
}
|
|
902
|
-
|
|
903
365
|
super.disposeInternal();
|
|
904
|
-
|
|
905
366
|
delete this.indices_;
|
|
906
|
-
delete this.tileTextureCache_;
|
|
907
|
-
delete this.frameState_;
|
|
908
367
|
}
|
|
909
368
|
}
|
|
910
369
|
|