@openglobus/og 0.17.1 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -46
- package/dist/@openglobus/og.esm.js +1 -20
- package/dist/@openglobus/og.esm.js.map +1 -1
- package/dist/@openglobus/og.umd.js +1 -20
- package/dist/@openglobus/og.umd.js.map +1 -1
- package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
- package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
- package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/arial.json +4321 -0
- package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
- package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
- package/dist/@openglobus/res/night-4326.png +0 -0
- package/dist/@openglobus/res/night.png +0 -0
- package/dist/@openglobus/res/spec.png +0 -0
- package/package.json +25 -23
- package/src/{og/Clock.js → Clock.ts} +100 -78
- package/src/Deferred.ts +17 -0
- package/src/Events.ts +200 -0
- package/src/{og/Extent.js → Extent.ts} +324 -352
- package/src/Globe.ts +363 -0
- package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
- package/src/Lock.ts +41 -0
- package/src/{og/LonLat.js → LonLat.ts} +50 -47
- package/src/{og/Object3d.js → Object3d.ts} +89 -55
- package/src/Popup.ts +228 -0
- package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
- package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
- package/src/Stack.ts +58 -0
- package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
- package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
- package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
- package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
- package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
- package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
- package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
- package/src/bv/index.ts +4 -0
- package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
- package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
- package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +248 -185
- package/src/camera/index.ts +4 -0
- package/src/{og/cons.js → cons.ts} +14 -18
- package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
- package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
- package/src/{og/control/Control.js → control/Control.ts} +76 -70
- package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
- package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
- package/src/control/EarthCoordinates.ts +222 -0
- package/src/control/EarthNavigation.ts +293 -0
- package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
- package/src/control/KeyboardNavigation.ts +168 -0
- package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
- package/src/control/LayerSwitcher.ts +76 -0
- package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
- package/src/control/MouseNavigation.ts +468 -0
- package/src/control/MouseWheelZoomControl.ts +269 -0
- package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
- package/src/control/ScaleControl.ts +131 -0
- package/src/control/SegmentBoundVisualization.ts +50 -0
- package/src/control/ShowFps.ts +28 -0
- package/src/control/SimpleNavigation.ts +118 -0
- package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
- package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
- package/src/control/ToggleWireframe.ts +35 -0
- package/src/control/TouchNavigation.ts +368 -0
- package/src/control/ZoomControl.ts +111 -0
- package/src/control/drawing/DrawingControl.ts +45 -0
- package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
- package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
- package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
- package/src/control/heightRuler/HeightRuler.ts +16 -0
- package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
- package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
- package/src/control/index.ts +45 -0
- package/src/control/ruler/Ruler.ts +35 -0
- package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
- package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
- package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
- package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
- package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
- package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
- package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
- package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
- package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
- package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
- package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
- package/src/ellipsoid/index.ts +4 -0
- package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
- package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
- package/src/entity/BaseBillboardHandler.ts +772 -0
- package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
- package/src/entity/BillboardHandler.ts +135 -0
- package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
- package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
- package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
- package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
- package/src/entity/Geometry.ts +486 -0
- package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
- package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
- package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
- package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
- package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
- package/src/entity/PointCloudHandler.ts +125 -0
- package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
- package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
- package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
- package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
- package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
- package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
- package/src/entity/index.ts +12 -0
- package/src/index.ts +173 -0
- package/src/input/KeyboardHandler.ts +196 -0
- package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
- package/src/input/TouchHandler.ts +54 -0
- package/src/{og/input/input.js → input/input.ts} +1 -3
- package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
- package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
- package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
- package/src/layer/GeoTexture2d.ts +56 -0
- package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
- package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
- package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
- package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
- package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
- package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
- package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
- package/src/layer/index.ts +12 -0
- package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
- package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
- package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
- package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
- package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
- package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
- package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
- package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
- package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
- package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
- package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
- package/src/{og/math/coder.js → math/coder.ts} +30 -27
- package/src/math/index.ts +26 -0
- package/src/{og/math.js → math.ts} +46 -49
- package/src/{og/mercator.js → mercator.ts} +143 -149
- package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
- package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
- package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
- package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
- package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
- package/src/quadTree/EntityCollectionNode.ts +395 -0
- package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
- package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
- package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
- package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
- package/src/quadTree/index.ts +14 -0
- package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
- package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
- package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -270
- package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
- package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
- package/src/{og/scene/Planet.js → scene/Planet.ts} +777 -595
- package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
- package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
- package/src/scene/index.ts +6 -0
- package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
- package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
- package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
- package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
- package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
- package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
- package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
- package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
- package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
- package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
- package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
- package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
- package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
- package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
- package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
- package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
- package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
- package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
- package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
- package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
- package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
- package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
- package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
- package/src/terrain/EmptyTerrain.ts +230 -0
- package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
- package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
- package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
- package/src/terrain/index.ts +6 -0
- package/src/ui/Button.ts +121 -0
- package/src/ui/ButtonGroup.ts +63 -0
- package/src/ui/Dialog.ts +244 -0
- package/src/ui/Slider.ts +188 -0
- package/src/ui/ToggleButton.ts +68 -0
- package/src/{og/ui/View.js → ui/View.ts} +66 -59
- package/src/utils/BaseWorker.ts +60 -0
- package/src/utils/FontAtlas.ts +356 -0
- package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
- package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
- package/src/utils/Loader.ts +247 -0
- package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
- package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
- package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
- package/src/utils/TextureAtlas.ts +322 -0
- package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
- package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
- package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
- package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
- package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
- package/src/utils/units.ts +78 -0
- package/src/webgl/BaseFramebuffer.ts +125 -0
- package/src/webgl/Framebuffer.ts +206 -0
- package/src/webgl/Handler.ts +1414 -0
- package/src/webgl/Multisample.ts +153 -0
- package/src/webgl/Program.ts +451 -0
- package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
- package/src/webgl/index.ts +13 -0
- package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
- package/src/webgl/variableHandlers.ts +114 -0
- package/src/og/Deferred.js +0 -11
- package/src/og/Events.js +0 -185
- package/src/og/Globe.js +0 -342
- package/src/og/Lock.js +0 -44
- package/src/og/Popup.js +0 -187
- package/src/og/Stack.js +0 -49
- package/src/og/bv/index.js +0 -4
- package/src/og/camera/index.js +0 -4
- package/src/og/control/EarthCoordinates.js +0 -214
- package/src/og/control/EarthNavigation.js +0 -258
- package/src/og/control/KeyboardNavigation.js +0 -149
- package/src/og/control/LayerSwitcher.js +0 -424
- package/src/og/control/MouseNavigation.js +0 -436
- package/src/og/control/MouseWheelZoomControl.js +0 -253
- package/src/og/control/ScaleControl.js +0 -119
- package/src/og/control/SegmentBoundVisualization.js +0 -54
- package/src/og/control/ShowFps.js +0 -40
- package/src/og/control/SimpleNavigation.js +0 -123
- package/src/og/control/ToggleWireframe.js +0 -35
- package/src/og/control/TouchNavigation.js +0 -350
- package/src/og/control/ZoomControl.js +0 -115
- package/src/og/control/drawing/DrawingControl.js +0 -51
- package/src/og/control/heightRuler/HeightRuler.js +0 -12
- package/src/og/control/index.js +0 -56
- package/src/og/control/ruler/Ruler.js +0 -39
- package/src/og/ellipsoid/index.js +0 -4
- package/src/og/entity/BillboardHandler.js +0 -883
- package/src/og/entity/Geometry.js +0 -320
- package/src/og/entity/PointCloudHandler.js +0 -122
- package/src/og/entity/index.js +0 -9
- package/src/og/index.js +0 -112
- package/src/og/input/KeyboardHandler.js +0 -128
- package/src/og/input/TouchHandler.js +0 -59
- package/src/og/layer/GeoTexture2d.js +0 -50
- package/src/og/layer/index.js +0 -11
- package/src/og/math/index.js +0 -23
- package/src/og/quadTree/EntityCollectionNode.js +0 -391
- package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
- package/src/og/quadTree/index.js +0 -14
- package/src/og/res/images.js +0 -8
- package/src/og/scene/index.js +0 -5
- package/src/og/terrain/EmptyTerrain.js +0 -174
- package/src/og/terrain/index.js +0 -6
- package/src/og/ui/Button.js +0 -107
- package/src/og/ui/ButtonGroup.js +0 -57
- package/src/og/ui/Dialog.js +0 -239
- package/src/og/ui/Slider.js +0 -170
- package/src/og/ui/ToggleButton.js +0 -51
- package/src/og/ui/UIhelpers.js +0 -155
- package/src/og/utils/BaseWorker.js +0 -46
- package/src/og/utils/FontAtlas.js +0 -218
- package/src/og/utils/Loader.js +0 -188
- package/src/og/utils/TextureAtlas.js +0 -291
- package/src/og/utils/functionComposition.js +0 -13
- package/src/og/utils/units.js +0 -78
- package/src/og/webgl/Framebuffer.js +0 -311
- package/src/og/webgl/Handler.js +0 -1168
- package/src/og/webgl/Multisample.js +0 -275
- package/src/og/webgl/Program.js +0 -407
- package/src/og/webgl/callbacks.js +0 -98
- package/src/og/webgl/index.js +0 -13
- package/src/og.jsdoc +0 -3
- package/types/Clock.d.ts +0 -99
- package/types/Deferred.d.ts +0 -6
- package/types/Events.d.ts +0 -78
- package/types/Extent.d.ts +0 -166
- package/types/Globe.d.ts +0 -108
- package/types/ImageCanvas.d.ts +0 -128
- package/types/Lock.d.ts +0 -12
- package/types/LonLat.d.ts +0 -127
- package/types/Object3d.d.ts +0 -35
- package/types/Popup.d.ts +0 -29
- package/types/QueueArray.d.ts +0 -19
- package/types/Rectangle.d.ts +0 -80
- package/types/Stack.d.ts +0 -19
- package/types/arial.d.ts +0 -49
- package/types/astro/astro.d.ts +0 -38
- package/types/astro/earth.d.ts +0 -7
- package/types/astro/jd.d.ts +0 -254
- package/types/bv/Box.d.ts +0 -30
- package/types/bv/Sphere.d.ts +0 -38
- package/types/bv/index.d.ts +0 -3
- package/types/camera/Camera.d.ts +0 -314
- package/types/camera/Frustum.d.ts +0 -133
- package/types/camera/PlanetCamera.d.ts +0 -219
- package/types/camera/index.d.ts +0 -3
- package/types/cons.d.ts +0 -40
- package/types/control/Atmosphere.d.ts +0 -15
- package/types/control/CompassButton.d.ts +0 -16
- package/types/control/Control.d.ts +0 -104
- package/types/control/DebugInfo.d.ts +0 -19
- package/types/control/DrawingSwitcher.d.ts +0 -13
- package/types/control/EarthCoordinates.d.ts +0 -44
- package/types/control/EarthNavigation.d.ts +0 -43
- package/types/control/GeoImageDragControl.d.ts +0 -14
- package/types/control/KeyboardNavigation.d.ts +0 -24
- package/types/control/LayerAnimation.d.ts +0 -73
- package/types/control/LayerSwitcher.d.ts +0 -64
- package/types/control/Lighting.d.ts +0 -41
- package/types/control/MouseNavigation.d.ts +0 -49
- package/types/control/MouseWheelZoomControl.d.ts +0 -46
- package/types/control/ScaleControl.d.ts +0 -23
- package/types/control/ShowFps.d.ts +0 -11
- package/types/control/SimpleNavigation.d.ts +0 -26
- package/types/control/SimpleSkyBackground.d.ts +0 -15
- package/types/control/Sun.d.ts +0 -53
- package/types/control/ToggleWireframe.d.ts +0 -12
- package/types/control/TouchNavigation.d.ts +0 -54
- package/types/control/ZoomControl.d.ts +0 -26
- package/types/control/drawing/DrawingControl.d.ts +0 -14
- package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
- package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
- package/types/control/heightRuler/HeightRuler.d.ts +0 -6
- package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
- package/types/control/index.d.ts +0 -27
- package/types/control/ruler/Ruler.d.ts +0 -13
- package/types/control/ruler/RulerScene.d.ts +0 -51
- package/types/control/selection/Selection.d.ts +0 -49
- package/types/control/selection/SelectionScene.d.ts +0 -32
- package/types/control/timeline/TimelineControl.d.ts +0 -10
- package/types/control/timeline/TimelineModel.d.ts +0 -33
- package/types/control/timeline/TimelineView.d.ts +0 -57
- package/types/control/timeline/timelineUtils.d.ts +0 -9
- package/types/ellipsoid/Ellipsoid.d.ts +0 -170
- package/types/ellipsoid/index.d.ts +0 -3
- package/types/ellipsoid/wgs84.d.ts +0 -6
- package/types/entity/BaseBillboard.d.ts +0 -215
- package/types/entity/Billboard.d.ts +0 -94
- package/types/entity/BillboardHandler.d.ts +0 -75
- package/types/entity/Entity.d.ts +0 -340
- package/types/entity/EntityCollection.d.ts +0 -303
- package/types/entity/GeoObject.d.ts +0 -117
- package/types/entity/GeoObjectHandler.d.ts +0 -41
- package/types/entity/Geometry.d.ts +0 -79
- package/types/entity/GeometryHandler.d.ts +0 -76
- package/types/entity/Label.d.ts +0 -190
- package/types/entity/LabelHandler.d.ts +0 -31
- package/types/entity/LabelWorker.d.ts +0 -9
- package/types/entity/PointCloud.d.ts +0 -174
- package/types/entity/PointCloudHandler.d.ts +0 -38
- package/types/entity/Polyline.d.ts +0 -307
- package/types/entity/PolylineHandler.d.ts +0 -18
- package/types/entity/Ray.d.ts +0 -122
- package/types/entity/RayHandler.d.ts +0 -63
- package/types/entity/Strip.d.ts +0 -119
- package/types/entity/StripHandler.d.ts +0 -38
- package/types/entity/index.d.ts +0 -8
- package/types/index.d.ts +0 -53
- package/types/input/KeyboardHandler.d.ts +0 -10
- package/types/input/MouseHandler.d.ts +0 -5
- package/types/input/TouchHandler.d.ts +0 -5
- package/types/input/input.d.ts +0 -42
- package/types/layer/BaseGeoImage.d.ts +0 -116
- package/types/layer/CanvasTiles.d.ts +0 -73
- package/types/layer/GeoImage.d.ts +0 -51
- package/types/layer/GeoTexture2d.d.ts +0 -7
- package/types/layer/GeoVideo.d.ts +0 -47
- package/types/layer/KML.d.ts +0 -93
- package/types/layer/Layer.d.ts +0 -320
- package/types/layer/Material.d.ts +0 -45
- package/types/layer/Vector.d.ts +0 -211
- package/types/layer/WMS.d.ts +0 -66
- package/types/layer/XYZ.d.ts +0 -122
- package/types/layer/index.d.ts +0 -10
- package/types/light/LightSource.d.ts +0 -178
- package/types/math/Line2.d.ts +0 -11
- package/types/math/Line3.d.ts +0 -10
- package/types/math/Mat3.d.ts +0 -65
- package/types/math/Mat4.d.ts +0 -176
- package/types/math/Plane.d.ts +0 -18
- package/types/math/Quat.d.ts +0 -379
- package/types/math/Ray.d.ts +0 -82
- package/types/math/Vec2.d.ts +0 -309
- package/types/math/Vec3.d.ts +0 -472
- package/types/math/Vec4.d.ts +0 -161
- package/types/math/coder.d.ts +0 -43
- package/types/math/index.d.ts +0 -11
- package/types/math.d.ts +0 -268
- package/types/mercator.d.ts +0 -92
- package/types/proj/EPSG3857.d.ts +0 -6
- package/types/proj/EPSG4326.d.ts +0 -6
- package/types/proj/Proj.d.ts +0 -42
- package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/EntityCollectionNode.d.ts +0 -41
- package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/Node.d.ts +0 -58
- package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
- package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/index.d.ts +0 -12
- package/types/quadTree/quadTree.d.ts +0 -40
- package/types/renderer/Renderer.d.ts +0 -291
- package/types/renderer/RendererEvents.d.ts +0 -255
- package/types/res/images.d.ts +0 -2
- package/types/scene/Axes.d.ts +0 -10
- package/types/scene/BaseNode.d.ts +0 -60
- package/types/scene/Planet.d.ts +0 -595
- package/types/scene/RenderNode.d.ts +0 -152
- package/types/scene/SkyBox.d.ts +0 -9
- package/types/scene/index.d.ts +0 -4
- package/types/segment/Segment.d.ts +0 -273
- package/types/segment/SegmentLonLat.d.ts +0 -22
- package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
- package/types/segment/Slice.d.ts +0 -10
- package/types/segment/segmentHelper.d.ts +0 -13
- package/types/shaders/atmos.d.ts +0 -4
- package/types/shaders/billboard.d.ts +0 -3
- package/types/shaders/depth.d.ts +0 -2
- package/types/shaders/drawnode.d.ts +0 -8
- package/types/shaders/geoObject.d.ts +0 -3
- package/types/shaders/label.d.ts +0 -4
- package/types/shaders/pickingMask.d.ts +0 -2
- package/types/shaders/pointCloud.d.ts +0 -2
- package/types/shaders/polyline.d.ts +0 -3
- package/types/shaders/ray.d.ts +0 -2
- package/types/shaders/screenFrame.d.ts +0 -2
- package/types/shaders/skybox.d.ts +0 -2
- package/types/shaders/toneMapping.d.ts +0 -2
- package/types/shaders/utils.d.ts +0 -1
- package/types/terrain/BilTerrain.d.ts +0 -14
- package/types/terrain/EmptyTerrain.d.ts +0 -87
- package/types/terrain/Geoid.d.ts +0 -17
- package/types/terrain/GlobusTerrain.d.ts +0 -122
- package/types/terrain/MapboxTerrain.d.ts +0 -14
- package/types/terrain/index.d.ts +0 -5
- package/types/ui/Button.d.ts +0 -21
- package/types/ui/ButtonGroup.d.ts +0 -12
- package/types/ui/Dialog.d.ts +0 -41
- package/types/ui/Slider.d.ts +0 -33
- package/types/ui/ToggleButton.d.ts +0 -10
- package/types/ui/UIhelpers.d.ts +0 -13
- package/types/ui/View.d.ts +0 -33
- package/types/ui/icons.d.ts +0 -1
- package/types/utils/BaseWorker.d.ts +0 -14
- package/types/utils/FontAtlas.d.ts +0 -16
- package/types/utils/GeoImageCreator.d.ts +0 -30
- package/types/utils/ImagesCacheManager.d.ts +0 -10
- package/types/utils/Loader.d.ts +0 -31
- package/types/utils/NormalMapCreator.d.ts +0 -39
- package/types/utils/PlainSegmentWorker.d.ts +0 -8
- package/types/utils/TerrainWorker.d.ts +0 -7
- package/types/utils/TextureAtlas.d.ts +0 -113
- package/types/utils/VectorTileCreator.d.ts +0 -14
- package/types/utils/colorTable.d.ts +0 -143
- package/types/utils/earcut.d.ts +0 -6
- package/types/utils/functionComposition.d.ts +0 -5
- package/types/utils/objParser.d.ts +0 -8
- package/types/utils/shared.d.ts +0 -241
- package/types/utils/units.d.ts +0 -20
- package/types/webgl/Framebuffer.d.ts +0 -134
- package/types/webgl/Handler.d.ts +0 -403
- package/types/webgl/Multisample.d.ts +0 -91
- package/types/webgl/Program.d.ts +0 -163
- package/types/webgl/ProgramController.d.ts +0 -89
- package/types/webgl/callbacks.d.ts +0 -1
- package/types/webgl/index.d.ts +0 -6
- package/types/webgl/types.d.ts +0 -2
- /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
- /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
1
|
+
import * as mercator from "../mercator";
|
|
2
|
+
import {Extent} from "../Extent";
|
|
3
|
+
import {LonLat} from "../LonLat";
|
|
4
|
+
import {Segment} from "../segment/Segment";
|
|
5
|
+
import {XYZ, IXYZParams} from "./XYZ";
|
|
6
|
+
|
|
7
|
+
interface IWMSParams extends IXYZParams {
|
|
8
|
+
extra?: any;
|
|
9
|
+
layers: string;
|
|
10
|
+
imageWidth?: number;
|
|
11
|
+
imageHeight?: number;
|
|
12
|
+
version?: string;
|
|
13
|
+
}
|
|
7
14
|
|
|
8
15
|
/**
|
|
9
16
|
* Used to display WMS services as tile layers on the globe.
|
|
10
17
|
* @class
|
|
11
18
|
* @extends {XYZ}
|
|
12
|
-
* //TODO: WMS version, format, and custom srs cpecification.
|
|
13
19
|
* @param {string} name - Layer name.
|
|
14
20
|
* @param {Object} options - Options:
|
|
15
21
|
* @param {number} [options.opacity=1.0] - Layer opacity.
|
|
@@ -23,7 +29,7 @@ import { XYZ } from "./XYZ.js";
|
|
|
23
29
|
* @param {number} [options.height=256] - Tile height.
|
|
24
30
|
* @param {string} options.layers - WMS layers string.
|
|
25
31
|
* @param {string} [options.version="1.1.1"] - WMS version.
|
|
26
|
-
* @param {Object} extra - Extra parameters (by WMS
|
|
32
|
+
* @param {Object} extra - Extra parameters (by WMS reference or by WMS service vendors) to pass to WMS service.
|
|
27
33
|
* @example:
|
|
28
34
|
* new og.layer.WMS("USA States", {
|
|
29
35
|
* isBaseLayer: false,
|
|
@@ -35,30 +41,47 @@ import { XYZ } from "./XYZ.js";
|
|
|
35
41
|
* version: "1.1.1",
|
|
36
42
|
* visibility: false }, {
|
|
37
43
|
* transparent: true,
|
|
38
|
-
* sld: "style.sld"}
|
|
44
|
+
* sld: "style.sld"}
|
|
39
45
|
* );
|
|
40
|
-
*
|
|
41
|
-
* @fires og.layer.XYZ#load
|
|
42
|
-
* @fires og.layer.XYZ#loadend
|
|
43
46
|
*/
|
|
44
47
|
class WMS extends XYZ {
|
|
45
48
|
|
|
49
|
+
protected _extra: string;
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
/**
|
|
52
|
+
* WMS layers string.
|
|
53
|
+
* @public
|
|
54
|
+
* @type {string}
|
|
55
|
+
*/
|
|
56
|
+
public layers: string;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* WMS tile width.
|
|
60
|
+
* @public
|
|
61
|
+
* @type {number}
|
|
62
|
+
*/
|
|
63
|
+
public imageWidth: number;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* WMS tile height.
|
|
67
|
+
* @public
|
|
68
|
+
* @type {number}
|
|
69
|
+
*/
|
|
70
|
+
public imageHeight: number;
|
|
49
71
|
|
|
50
|
-
|
|
72
|
+
protected _getBbox: (extent: Extent) => string;
|
|
51
73
|
|
|
74
|
+
protected _version: string;
|
|
75
|
+
|
|
76
|
+
constructor(name: string | null, options: IWMSParams) {
|
|
77
|
+
super(name, options);
|
|
78
|
+
|
|
79
|
+
this._extra = new URLSearchParams(options.extra).toString();
|
|
52
80
|
|
|
53
81
|
if (!options.extent) {
|
|
54
82
|
this.setExtent(new Extent(new LonLat(-180.0, -90), new LonLat(180.0, 90)));
|
|
55
83
|
}
|
|
56
84
|
|
|
57
|
-
/**
|
|
58
|
-
* WMS layers string.
|
|
59
|
-
* @public
|
|
60
|
-
* @type {string}
|
|
61
|
-
*/
|
|
62
85
|
this.layers = options.layers;
|
|
63
86
|
|
|
64
87
|
/**
|
|
@@ -77,59 +100,43 @@ class WMS extends XYZ {
|
|
|
77
100
|
|
|
78
101
|
this._getBbox = WMS.get_bbox_v1_1_1;
|
|
79
102
|
|
|
103
|
+
this._version = "";
|
|
104
|
+
|
|
80
105
|
this.setVersion(options.version);
|
|
81
106
|
}
|
|
82
107
|
|
|
83
108
|
static createRequestUrl(
|
|
84
|
-
url,
|
|
85
|
-
layers,
|
|
86
|
-
format = "image/png",
|
|
87
|
-
version = "1.1.1",
|
|
88
|
-
request = "GetMap",
|
|
89
|
-
srs,
|
|
90
|
-
bbox,
|
|
91
|
-
width = 256,
|
|
92
|
-
height = 256,
|
|
93
|
-
extra
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return `${url}/?LAYERS=${layers}&FORMAT=${format}&SERVICE=WMS&VERSION=${version}&REQUEST=${request}&SRS=${srs}&BBOX=${bbox}&WIDTH=${width}&HEIGHT=${height}` +
|
|
97
|
-
(extra ? `&${extra}` : "");
|
|
109
|
+
url: string,
|
|
110
|
+
layers: string,
|
|
111
|
+
format: string = "image/png",
|
|
112
|
+
version: string = "1.1.1",
|
|
113
|
+
request: string = "GetMap",
|
|
114
|
+
srs: string,
|
|
115
|
+
bbox: string,
|
|
116
|
+
width: number = 256,
|
|
117
|
+
height: number = 256,
|
|
118
|
+
extra?: string
|
|
119
|
+
): string {
|
|
120
|
+
return `${url}/?LAYERS=${layers}&FORMAT=${format}&SERVICE=WMS&VERSION=${version}&REQUEST=${request}&SRS=${srs}&BBOX=${bbox}&WIDTH=${width}&HEIGHT=${height}` + (extra ? `&${extra}` : "");
|
|
98
121
|
}
|
|
99
122
|
|
|
100
|
-
static get_bbox_v1_1_1(extent) {
|
|
101
|
-
return (
|
|
102
|
-
extent.getWest() +
|
|
103
|
-
"," +
|
|
104
|
-
extent.getSouth() +
|
|
105
|
-
"," +
|
|
106
|
-
extent.getEast() +
|
|
107
|
-
"," +
|
|
108
|
-
extent.getNorth()
|
|
109
|
-
);
|
|
123
|
+
static get_bbox_v1_1_1(extent: Extent): string {
|
|
124
|
+
return `${extent.getWest()},${extent.getSouth()},${extent.getEast()},${extent.getNorth()}`;
|
|
110
125
|
}
|
|
111
126
|
|
|
112
|
-
static get_bbox_v1_3_0(extent) {
|
|
113
|
-
return (
|
|
114
|
-
extent.getSouth() +
|
|
115
|
-
"," +
|
|
116
|
-
extent.getWest() +
|
|
117
|
-
"," +
|
|
118
|
-
extent.getNorth() +
|
|
119
|
-
"," +
|
|
120
|
-
extent.getEast()
|
|
121
|
-
);
|
|
127
|
+
static get_bbox_v1_3_0(extent: Extent): string {
|
|
128
|
+
return `${extent.getSouth()},${extent.getWest()},${extent.getNorth()},${extent.getEast()}`;
|
|
122
129
|
}
|
|
123
130
|
|
|
124
|
-
_checkSegment(segment) {
|
|
131
|
+
public override _checkSegment(segment: Segment) {
|
|
125
132
|
return true;
|
|
126
133
|
}
|
|
127
134
|
|
|
128
|
-
get instanceName() {
|
|
135
|
+
public override get instanceName(): string {
|
|
129
136
|
return "WMS";
|
|
130
137
|
}
|
|
131
138
|
|
|
132
|
-
_createUrl(segment) {
|
|
139
|
+
protected override _createUrl(segment: Segment): string {
|
|
133
140
|
return WMS.createRequestUrl(
|
|
134
141
|
this.url,
|
|
135
142
|
this.layers,
|
|
@@ -144,7 +151,7 @@ class WMS extends XYZ {
|
|
|
144
151
|
);
|
|
145
152
|
}
|
|
146
153
|
|
|
147
|
-
setVersion(version) {
|
|
154
|
+
public setVersion(version?: string) {
|
|
148
155
|
if (version) {
|
|
149
156
|
this._version = version;
|
|
150
157
|
} else {
|
|
@@ -158,25 +165,30 @@ class WMS extends XYZ {
|
|
|
158
165
|
}
|
|
159
166
|
}
|
|
160
167
|
|
|
161
|
-
_correctFullExtent() {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
168
|
+
public override _correctFullExtent() {
|
|
169
|
+
const e = this._extent;
|
|
170
|
+
const em = this._extentMerc;
|
|
171
|
+
|
|
172
|
+
const ENLARGE_MERCATOR_LON = mercator.POLE + 50000;
|
|
173
|
+
const ENLARGE_MERCATOR_LAT = mercator.POLE + 50000;
|
|
174
|
+
|
|
166
175
|
if (e.northEast.lat === 90.0) {
|
|
167
176
|
em.northEast.lat = ENLARGE_MERCATOR_LAT;
|
|
168
177
|
}
|
|
178
|
+
|
|
169
179
|
if (e.northEast.lon === 180.0) {
|
|
170
180
|
em.northEast.lon = ENLARGE_MERCATOR_LON;
|
|
171
181
|
}
|
|
182
|
+
|
|
172
183
|
if (e.southWest.lat === -90.0) {
|
|
173
184
|
em.southWest.lat = -ENLARGE_MERCATOR_LAT;
|
|
174
185
|
}
|
|
186
|
+
|
|
175
187
|
if (e.southWest.lon === -180.0) {
|
|
176
188
|
em.southWest.lon = -ENLARGE_MERCATOR_LON;
|
|
177
189
|
}
|
|
178
190
|
}
|
|
179
191
|
}
|
|
180
192
|
|
|
181
|
-
export {
|
|
193
|
+
export {WMS};
|
|
182
194
|
|
|
@@ -1,16 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
import * as mercator from "../mercator";
|
|
2
|
+
import {Layer, ILayerParams, LayerEventsList} from "./Layer";
|
|
3
|
+
import {RENDERING} from "../quadTree/quadTree";
|
|
4
|
+
import {Segment} from "../segment/Segment";
|
|
5
|
+
import {stringTemplate} from "../utils/shared";
|
|
6
|
+
import {EventsHandler} from "../Events";
|
|
7
|
+
import {Material} from "./Material";
|
|
8
|
+
import {NumberArray4} from "../math/Vec4";
|
|
9
|
+
import {IResponse} from "../utils/Loader";
|
|
10
|
+
|
|
11
|
+
export interface IXYZParams extends ILayerParams {
|
|
12
|
+
url?: string;
|
|
13
|
+
subdomains?: string[];
|
|
14
|
+
minNativeZoom?: number;
|
|
15
|
+
maxNativeZoom?: number;
|
|
16
|
+
urlRewrite?: Function;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type XYZEventsList = [
|
|
20
|
+
"load",
|
|
21
|
+
"loadend"
|
|
22
|
+
];
|
|
2
23
|
|
|
3
|
-
|
|
4
|
-
import { RENDERING } from "../quadTree/quadTree.js";
|
|
5
|
-
import { stringTemplate } from "../utils/shared.js";
|
|
6
|
-
import { Layer } from "./Layer.js";
|
|
24
|
+
type XYZEventsType = EventsHandler<XYZEventsList> & EventsHandler<LayerEventsList>;
|
|
7
25
|
|
|
8
26
|
/**
|
|
9
27
|
* Represents an imagery tiles source provider.
|
|
10
28
|
* @class
|
|
11
29
|
* @extends {Layer}
|
|
12
30
|
* @param {string} name - Layer name.
|
|
13
|
-
* @param {
|
|
31
|
+
* @param {IXYZParams} options:
|
|
14
32
|
* @param {number} [options.opacity=1.0] - Layer opacity.
|
|
15
33
|
* @param {Array.<string>} [options.subdomains=['a','b','c']] - Subdomains of the tile service.
|
|
16
34
|
* @param {number} [options.minZoom=0] - Minimal visibility zoom level.
|
|
@@ -22,10 +40,11 @@ import { Layer } from "./Layer.js";
|
|
|
22
40
|
* @param {boolean} [options.visibility=true] - Layer visibility.
|
|
23
41
|
* @param {string} [options.crossOrigin=true] - If true, all tiles will have their crossOrigin attribute set to ''.
|
|
24
42
|
* @param {string} options.url - Tile url source template(see example below).
|
|
25
|
-
* @param {string} options.textureFilter - texture gl filter. NEAREST, LINEAR, MIPMAP,
|
|
26
|
-
* @param {
|
|
27
|
-
*
|
|
28
|
-
* @fires
|
|
43
|
+
* @param {string} options.textureFilter - texture gl filter. NEAREST, LINEAR, MIPMAP, ANISOTROPIC.
|
|
44
|
+
* @param {Function} options.urlRewrite - Url rewrite function.
|
|
45
|
+
*
|
|
46
|
+
* @fires EventsHandler<XYZEventsList>#load
|
|
47
|
+
* @fires EventsHandler<XYZEventsList>#loadend
|
|
29
48
|
*
|
|
30
49
|
* @example <caption>Creates OpenStreetMap base tile layer</caption>
|
|
31
50
|
* new og.layer.XYZ("OpenStreetMap", {
|
|
@@ -36,63 +55,78 @@ import { Layer } from "./Layer.js";
|
|
|
36
55
|
* });
|
|
37
56
|
*/
|
|
38
57
|
class XYZ extends Layer {
|
|
58
|
+
|
|
59
|
+
public override events: XYZEventsType;
|
|
60
|
+
|
|
39
61
|
/**
|
|
40
|
-
*
|
|
41
|
-
* @
|
|
62
|
+
* Tile url source template.
|
|
63
|
+
* @public
|
|
64
|
+
* @type {string}
|
|
65
|
+
*/
|
|
66
|
+
public url: string;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @protected
|
|
70
|
+
*/
|
|
71
|
+
protected _s: string[];
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Minimal native zoom level when tiles are available.
|
|
75
|
+
* @public
|
|
76
|
+
* @type {number}
|
|
42
77
|
*/
|
|
43
|
-
|
|
78
|
+
public minNativeZoom: number;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Maximal native zoom level when tiles are available.
|
|
82
|
+
* @public
|
|
83
|
+
* @type {number}
|
|
84
|
+
*/
|
|
85
|
+
public maxNativeZoom: number;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Rewrites imagery tile url query.
|
|
89
|
+
* @private
|
|
90
|
+
* @callback og.layer.XYZ~_urlRewriteCallback
|
|
91
|
+
* @param {Segment} segment - Segment to load.
|
|
92
|
+
* @param {string} url - Created url.
|
|
93
|
+
* @returns {string} - Url query string.
|
|
94
|
+
*/
|
|
95
|
+
protected _urlRewriteCallback: Function | null;
|
|
96
|
+
|
|
97
|
+
protected _requestsPeerSubdomains: number;
|
|
98
|
+
|
|
99
|
+
protected _requestCount: number;
|
|
100
|
+
|
|
101
|
+
constructor(name: string | null, options: IXYZParams = {}) {
|
|
44
102
|
super(name, options);
|
|
45
103
|
|
|
46
|
-
|
|
104
|
+
//@ts-ignore
|
|
105
|
+
this.events = this.events.registerNames(XYZ_EVENTS);
|
|
47
106
|
|
|
48
|
-
/**
|
|
49
|
-
* Tile url source template.
|
|
50
|
-
* @public
|
|
51
|
-
* @type {string}
|
|
52
|
-
*/
|
|
53
107
|
this.url = options.url || "";
|
|
54
108
|
|
|
55
|
-
/**
|
|
56
|
-
* @protected
|
|
57
|
-
*/
|
|
58
109
|
this._s = options.subdomains || ["a", "b", "c"];
|
|
59
110
|
|
|
60
|
-
/**
|
|
61
|
-
* Minimal native zoom level when tiles are available.
|
|
62
|
-
* @public
|
|
63
|
-
* @type {number}
|
|
64
|
-
*/
|
|
65
111
|
this.minNativeZoom = options.minNativeZoom || 0;
|
|
66
112
|
|
|
67
|
-
/**
|
|
68
|
-
* Maximal native zoom level when tiles are available.
|
|
69
|
-
* @public
|
|
70
|
-
* @type {number}
|
|
71
|
-
*/
|
|
72
113
|
this.maxNativeZoom = options.maxNativeZoom || 19;
|
|
73
114
|
|
|
74
|
-
/**
|
|
75
|
-
* Rewrites imagery tile url query.
|
|
76
|
-
* @private
|
|
77
|
-
* @callback og.layer.XYZ~_urlRewriteCallback
|
|
78
|
-
* @param {Segment} segment - Segment to load.
|
|
79
|
-
* @param {string} url - Created url.
|
|
80
|
-
* @returns {string} - Url query string.
|
|
81
|
-
*/
|
|
82
115
|
this._urlRewriteCallback = options.urlRewrite || null;
|
|
83
116
|
|
|
84
|
-
this.
|
|
117
|
+
this._requestsPeerSubdomains = 4;
|
|
118
|
+
|
|
85
119
|
this._requestCount = 0;
|
|
86
120
|
}
|
|
87
121
|
|
|
88
122
|
/**
|
|
89
|
-
* @warning Use XYZ.isIdle in
|
|
123
|
+
* @warning Use XYZ.isIdle in requestAnimationFrame(after setVisibility)
|
|
90
124
|
*/
|
|
91
|
-
get isIdle() {
|
|
92
|
-
return super.isIdle && this._planet
|
|
125
|
+
public override get isIdle(): boolean {
|
|
126
|
+
return super.isIdle && this._planet!._tileLoader.getRequestCounter(this) === 0;
|
|
93
127
|
}
|
|
94
128
|
|
|
95
|
-
get instanceName() {
|
|
129
|
+
public override get instanceName(): string {
|
|
96
130
|
return "XYZ";
|
|
97
131
|
}
|
|
98
132
|
|
|
@@ -100,7 +134,7 @@ class XYZ extends Layer {
|
|
|
100
134
|
* Abort loading tiles.
|
|
101
135
|
* @public
|
|
102
136
|
*/
|
|
103
|
-
abortLoading() {
|
|
137
|
+
public override abortLoading() {
|
|
104
138
|
if (this._planet) {
|
|
105
139
|
this._planet._tileLoader.abort(this);
|
|
106
140
|
}
|
|
@@ -111,7 +145,7 @@ class XYZ extends Layer {
|
|
|
111
145
|
* @public
|
|
112
146
|
* @param {boolean} visibility - Layer visibility.
|
|
113
147
|
*/
|
|
114
|
-
setVisibility(visibility) {
|
|
148
|
+
public override setVisibility(visibility: boolean) {
|
|
115
149
|
if (visibility !== this._visibility) {
|
|
116
150
|
super.setVisibility(visibility);
|
|
117
151
|
if (!visibility) {
|
|
@@ -120,9 +154,10 @@ class XYZ extends Layer {
|
|
|
120
154
|
}
|
|
121
155
|
}
|
|
122
156
|
|
|
123
|
-
remove() {
|
|
157
|
+
public override remove(): this {
|
|
124
158
|
this.abortLoading();
|
|
125
159
|
super.remove();
|
|
160
|
+
return this;
|
|
126
161
|
}
|
|
127
162
|
|
|
128
163
|
/**
|
|
@@ -131,14 +166,14 @@ class XYZ extends Layer {
|
|
|
131
166
|
* @param {string} url - Url template.
|
|
132
167
|
* @example
|
|
133
168
|
* http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
|
|
134
|
-
* where {z}, {x} and {y} - replaces by current tile values, {s} - random
|
|
169
|
+
* where {z}, {x} and {y} - replaces by current tile values, {s} - random domain.
|
|
135
170
|
*/
|
|
136
|
-
setUrl(url) {
|
|
171
|
+
public setUrl(url: string) {
|
|
137
172
|
this.url = url;
|
|
138
173
|
}
|
|
139
174
|
|
|
140
|
-
_checkSegment(segment) {
|
|
141
|
-
return segment._projection.id === this._planet
|
|
175
|
+
public _checkSegment(segment: Segment) {
|
|
176
|
+
return segment._projection.id === this._planet!.quadTreeStrategy.projection.id;// EPSG4326.id;// EPSG3857.id;
|
|
142
177
|
}
|
|
143
178
|
|
|
144
179
|
/**
|
|
@@ -146,8 +181,9 @@ class XYZ extends Layer {
|
|
|
146
181
|
* @public
|
|
147
182
|
* @virtual
|
|
148
183
|
* @param {Material} material - Loads current material.
|
|
184
|
+
* @param {boolean} [forceLoading=false] -
|
|
149
185
|
*/
|
|
150
|
-
loadMaterial(material, forceLoading) {
|
|
186
|
+
public override loadMaterial(material: Material, forceLoading: boolean = false) {
|
|
151
187
|
|
|
152
188
|
let seg = material.segment;
|
|
153
189
|
|
|
@@ -158,26 +194,24 @@ class XYZ extends Layer {
|
|
|
158
194
|
}
|
|
159
195
|
|
|
160
196
|
// Q: Maybe we should change "<2" to material.segment.tileZoom < (material.layer.minZoom + 1)
|
|
161
|
-
if (this._planet
|
|
197
|
+
if (this._planet!.layerLock.isFree() || material.segment.tileZoom < 2) {
|
|
162
198
|
material.isReady = false;
|
|
163
199
|
material.isLoading = true;
|
|
164
200
|
|
|
165
201
|
if (this._checkSegment(seg)) {
|
|
166
202
|
material.loadingAttempts++;
|
|
167
203
|
|
|
168
|
-
this._planet
|
|
169
|
-
{
|
|
204
|
+
this._planet!._tileLoader.load({
|
|
170
205
|
sender: this,
|
|
171
206
|
src: this._getHTTPRequestString(material.segment),
|
|
172
207
|
type: "imageBitmap",
|
|
173
|
-
filter: () =>
|
|
174
|
-
(seg.initialized && seg.node.getState() === RENDERING) || forceLoading,
|
|
208
|
+
filter: () => (seg.initialized && seg.node.getState() === RENDERING) || forceLoading,
|
|
175
209
|
options: {}
|
|
176
210
|
},
|
|
177
|
-
(response) => {
|
|
211
|
+
(response: IResponse) => {
|
|
178
212
|
if (response.status === "ready") {
|
|
179
213
|
if (material.isLoading) {
|
|
180
|
-
let e = this.events.load
|
|
214
|
+
let e = this.events.load!;
|
|
181
215
|
if (e.handlers.length) {
|
|
182
216
|
this.events.dispatch(e, material);
|
|
183
217
|
}
|
|
@@ -191,8 +225,8 @@ class XYZ extends Layer {
|
|
|
191
225
|
material.textureNotExists();
|
|
192
226
|
}
|
|
193
227
|
}
|
|
194
|
-
}
|
|
195
|
-
this.
|
|
228
|
+
}
|
|
229
|
+
//,this.__id
|
|
196
230
|
);
|
|
197
231
|
} else {
|
|
198
232
|
material.textureNotExists();
|
|
@@ -205,9 +239,9 @@ class XYZ extends Layer {
|
|
|
205
239
|
* @protected
|
|
206
240
|
* @virtual
|
|
207
241
|
* @param {Segment} segment - Creates specific url for current segment.
|
|
208
|
-
* @returns {
|
|
242
|
+
* @returns {string} - Returns url string.
|
|
209
243
|
*/
|
|
210
|
-
_createUrl(segment) {
|
|
244
|
+
protected _createUrl(segment: Segment): string {
|
|
211
245
|
return stringTemplate(this.url, {
|
|
212
246
|
s: this._getSubdomain(),
|
|
213
247
|
x: segment.tileX.toString(),
|
|
@@ -216,10 +250,9 @@ class XYZ extends Layer {
|
|
|
216
250
|
});
|
|
217
251
|
}
|
|
218
252
|
|
|
219
|
-
_getSubdomain() {
|
|
253
|
+
protected _getSubdomain(): string {
|
|
220
254
|
this._requestCount++;
|
|
221
|
-
return this._s[Math.floor(this._requestCount % (this.
|
|
222
|
-
|
|
255
|
+
return this._s[Math.floor(this._requestCount % (this._requestsPeerSubdomains * this._s.length) / this._requestsPeerSubdomains)];
|
|
223
256
|
}
|
|
224
257
|
|
|
225
258
|
/**
|
|
@@ -228,22 +261,20 @@ class XYZ extends Layer {
|
|
|
228
261
|
* @param {Segment} segment - Segment that loads image data.
|
|
229
262
|
* @returns {string} - Url string.
|
|
230
263
|
*/
|
|
231
|
-
_getHTTPRequestString(segment) {
|
|
232
|
-
return this._urlRewriteCallback
|
|
233
|
-
? this._urlRewriteCallback(segment, this.url)
|
|
234
|
-
: this._createUrl(segment);
|
|
264
|
+
protected _getHTTPRequestString(segment: Segment) {
|
|
265
|
+
return this._urlRewriteCallback ? this._urlRewriteCallback(segment, this.url) : this._createUrl(segment);
|
|
235
266
|
}
|
|
236
267
|
|
|
237
268
|
/**
|
|
238
|
-
* Sets url rewrite callback, used for custom url rewriting for every tile
|
|
269
|
+
* Sets url rewrite callback, used for custom url rewriting for every tile loading.
|
|
239
270
|
* @public
|
|
240
|
-
* @param {
|
|
271
|
+
* @param {Function} ur - The callback that returns tile custom created url.
|
|
241
272
|
*/
|
|
242
|
-
setUrlRewriteCallback(ur) {
|
|
273
|
+
public setUrlRewriteCallback(ur: Function) {
|
|
243
274
|
this._urlRewriteCallback = ur;
|
|
244
275
|
}
|
|
245
276
|
|
|
246
|
-
applyMaterial(material, forceLoading) {
|
|
277
|
+
public override applyMaterial(material: Material, forceLoading: boolean = false): NumberArray4 {
|
|
247
278
|
if (material.isReady) {
|
|
248
279
|
return material.texOffset;
|
|
249
280
|
} else if (material.segment.tileZoom < this.minNativeZoom) {
|
|
@@ -254,7 +285,7 @@ class XYZ extends Layer {
|
|
|
254
285
|
pn = segment.node,
|
|
255
286
|
notEmpty = false;
|
|
256
287
|
|
|
257
|
-
let mId = this.
|
|
288
|
+
let mId = this.__id;
|
|
258
289
|
let psegm = material;
|
|
259
290
|
while (pn.parentNode) {
|
|
260
291
|
pn = pn.parentNode;
|
|
@@ -266,21 +297,21 @@ class XYZ extends Layer {
|
|
|
266
297
|
}
|
|
267
298
|
|
|
268
299
|
if (segment.passReady) {
|
|
269
|
-
let maxNativeZoom = material.layer.maxNativeZoom;
|
|
300
|
+
let maxNativeZoom = (material.layer as XYZ).maxNativeZoom;
|
|
270
301
|
if (pn.segment.tileZoom === maxNativeZoom) {
|
|
271
302
|
material.textureNotExists();
|
|
272
303
|
} else if (material.segment.tileZoom <= maxNativeZoom) {
|
|
273
304
|
!material.isLoading && !material.isReady && this.loadMaterial(material, forceLoading);
|
|
274
305
|
} else {
|
|
275
306
|
let pn = segment.node;
|
|
276
|
-
while (pn.segment.tileZoom > material.layer.maxNativeZoom) {
|
|
277
|
-
pn = pn.parentNode
|
|
307
|
+
while (pn.segment.tileZoom > (material.layer as XYZ).maxNativeZoom) {
|
|
308
|
+
pn = pn.parentNode!;
|
|
278
309
|
}
|
|
279
|
-
let pnm = pn.segment.materials[material.layer.
|
|
310
|
+
let pnm = pn.segment.materials[material.layer.__id];
|
|
280
311
|
if (pnm) {
|
|
281
312
|
!pnm.isLoading && !pnm.isReady && this.loadMaterial(pnm, true);
|
|
282
313
|
} else {
|
|
283
|
-
pnm = pn.segment.materials[material.layer.
|
|
314
|
+
pnm = pn.segment.materials[material.layer.__id] = material.layer.createMaterial(
|
|
284
315
|
pn.segment
|
|
285
316
|
);
|
|
286
317
|
this.loadMaterial(pnm, true);
|
|
@@ -309,16 +340,10 @@ class XYZ extends Layer {
|
|
|
309
340
|
return material.texOffset;
|
|
310
341
|
}
|
|
311
342
|
|
|
312
|
-
clearMaterial(material) {
|
|
343
|
+
public override clearMaterial(material: Material) {
|
|
313
344
|
if (material.isReady && material.textureExists) {
|
|
314
|
-
!material.texture
|
|
315
|
-
material.segment.handler.gl.deleteTexture(material.texture);
|
|
345
|
+
!material.texture!.default && material.segment.handler.gl!.deleteTexture(material.texture!);
|
|
316
346
|
material.texture = null;
|
|
317
|
-
|
|
318
|
-
if (material.image) {
|
|
319
|
-
material.image.src = "";
|
|
320
|
-
material.image = null;
|
|
321
|
-
}
|
|
322
347
|
}
|
|
323
348
|
|
|
324
349
|
material.isReady = false;
|
|
@@ -329,11 +354,11 @@ class XYZ extends Layer {
|
|
|
329
354
|
/**
|
|
330
355
|
* @protected
|
|
331
356
|
*/
|
|
332
|
-
_correctFullExtent() {
|
|
333
|
-
|
|
357
|
+
protected override _correctFullExtent() {
|
|
358
|
+
let e = this._extent,
|
|
334
359
|
em = this._extentMerc;
|
|
335
|
-
|
|
336
|
-
|
|
360
|
+
let ENLARGE_MERCATOR_LON = mercator.POLE + 50000;
|
|
361
|
+
let ENLARGE_MERCATOR_LAT = mercator.POLE + 50000;
|
|
337
362
|
if (e.northEast.lat === 90.0) {
|
|
338
363
|
em.northEast.lat = ENLARGE_MERCATOR_LAT;
|
|
339
364
|
}
|
|
@@ -357,18 +382,18 @@ class XYZ extends Layer {
|
|
|
357
382
|
}
|
|
358
383
|
}
|
|
359
384
|
|
|
360
|
-
const
|
|
385
|
+
const XYZ_EVENTS: XYZEventsList = [
|
|
361
386
|
/**
|
|
362
|
-
* Triggered when current tile image has loaded before
|
|
363
|
-
* @event
|
|
387
|
+
* Triggered when current tile image has loaded before rendering.
|
|
388
|
+
* @event #load
|
|
364
389
|
*/
|
|
365
390
|
"load",
|
|
366
391
|
|
|
367
392
|
/**
|
|
368
393
|
* Triggered when all tiles have loaded or loading has stopped.
|
|
369
|
-
* @event
|
|
394
|
+
* @event #loadend
|
|
370
395
|
*/
|
|
371
396
|
"loadend"
|
|
372
397
|
];
|
|
373
398
|
|
|
374
|
-
export {
|
|
399
|
+
export {XYZ};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {CanvasTiles} from './CanvasTiles';
|
|
2
|
+
import {GeoImage} from './GeoImage';
|
|
3
|
+
import {GeoTexture2d} from './GeoTexture2d';
|
|
4
|
+
import {GeoVideo} from './GeoVideo';
|
|
5
|
+
import {KML} from './KML';
|
|
6
|
+
import {Layer} from './Layer';
|
|
7
|
+
import {Vector} from './Vector';
|
|
8
|
+
import {WMS} from './WMS';
|
|
9
|
+
import {XYZ} from './XYZ';
|
|
10
|
+
import {Material} from './Material';
|
|
11
|
+
|
|
12
|
+
export {CanvasTiles, GeoImage, GeoTexture2d, GeoVideo, KML, Layer, Vector, WMS, XYZ, Material};
|