@openglobus/og 0.17.2 → 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} +246 -182
- 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 -256
- 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} +776 -592
- 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 -172
- 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 -195
- 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 -1170
- 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 -17
- 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 -241
- 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 -594
- 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,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @module og/math
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
"use strict";
|
|
1
|
+
import {Vec3} from "./math/Vec3";
|
|
6
2
|
|
|
7
3
|
/** @const */
|
|
8
4
|
export const TWO_PI = 2.0 * Math.PI;
|
|
@@ -81,7 +77,7 @@ export const EPS20 = 1e-20;
|
|
|
81
77
|
* log(64, 2)
|
|
82
78
|
* //returns 6
|
|
83
79
|
*/
|
|
84
|
-
export function log(n, base) {
|
|
80
|
+
export function log(n: number, base: number): number {
|
|
85
81
|
return Math.log(n) / Math.log(base);
|
|
86
82
|
}
|
|
87
83
|
|
|
@@ -96,7 +92,7 @@ export function log(n, base) {
|
|
|
96
92
|
* clamp(12, 1, 5)
|
|
97
93
|
* //returns 5
|
|
98
94
|
*/
|
|
99
|
-
export function clamp(number, min, max) {
|
|
95
|
+
export function clamp(number: number, min: number, max: number): number {
|
|
100
96
|
return Math.max(min, Math.min(number, max));
|
|
101
97
|
}
|
|
102
98
|
|
|
@@ -106,7 +102,7 @@ export function clamp(number, min, max) {
|
|
|
106
102
|
* @param {number} degrees - Degree value.
|
|
107
103
|
* @returns {number} -
|
|
108
104
|
*/
|
|
109
|
-
export function DEG2RAD(degrees) {
|
|
105
|
+
export function DEG2RAD(degrees: number): number {
|
|
110
106
|
return degrees * RADIANS;
|
|
111
107
|
}
|
|
112
108
|
|
|
@@ -116,7 +112,7 @@ export function DEG2RAD(degrees) {
|
|
|
116
112
|
* @param {number} angle - Degree value.
|
|
117
113
|
* @returns {number} -
|
|
118
114
|
*/
|
|
119
|
-
export function RAD2DEG(angle) {
|
|
115
|
+
export function RAD2DEG(angle: number): number {
|
|
120
116
|
return angle * DEGREES;
|
|
121
117
|
}
|
|
122
118
|
|
|
@@ -126,7 +122,7 @@ export function RAD2DEG(angle) {
|
|
|
126
122
|
* @param {number} x - Input value.
|
|
127
123
|
* @returns {boolean} -
|
|
128
124
|
*/
|
|
129
|
-
export function isPowerOfTwo(x) {
|
|
125
|
+
export function isPowerOfTwo(x: number): boolean {
|
|
130
126
|
return (x & (x - 1)) === 0;
|
|
131
127
|
}
|
|
132
128
|
|
|
@@ -134,9 +130,10 @@ export function isPowerOfTwo(x) {
|
|
|
134
130
|
* Returns next value that is power of two.
|
|
135
131
|
* @function
|
|
136
132
|
* @param {number} x - Input value.
|
|
133
|
+
* @param {number} [maxValue=4096] - Maximal value.
|
|
137
134
|
* @returns {number} -
|
|
138
135
|
*/
|
|
139
|
-
export function nextHighestPowerOfTwo(x, maxValue = 4096) {
|
|
136
|
+
export function nextHighestPowerOfTwo(x: number, maxValue: number = 4096): number {
|
|
140
137
|
--x;
|
|
141
138
|
for (let i = 1; i < 32; i <<= 1) {
|
|
142
139
|
x = x | (x >> i);
|
|
@@ -151,7 +148,7 @@ export function nextHighestPowerOfTwo(x, maxValue = 4096) {
|
|
|
151
148
|
* @param {number} max - Maximal bound.
|
|
152
149
|
* @returns {number} -
|
|
153
150
|
*/
|
|
154
|
-
export function randomi(min = 0, max = 1) {
|
|
151
|
+
export function randomi(min: number = 0, max: number = 1): number {
|
|
155
152
|
return Math.floor(Math.random() * (max - min)) + min;
|
|
156
153
|
}
|
|
157
154
|
|
|
@@ -162,7 +159,7 @@ export function randomi(min = 0, max = 1) {
|
|
|
162
159
|
* @param {number} [max=1] - Maximal bound.
|
|
163
160
|
* @returns {number} -
|
|
164
161
|
*/
|
|
165
|
-
export function random(min = 0, max = 1) {
|
|
162
|
+
export function random(min: number = 0, max: number = 1): number {
|
|
166
163
|
return Math.random() * (max - min) + min;
|
|
167
164
|
}
|
|
168
165
|
|
|
@@ -175,7 +172,7 @@ export function random(min = 0, max = 1) {
|
|
|
175
172
|
* @param {boolean} [p] - Positive flag. False - default.
|
|
176
173
|
* @returns {number} -
|
|
177
174
|
**/
|
|
178
|
-
export function degToDec(d, m, s, p) {
|
|
175
|
+
export function degToDec(d: number, m: number, s: number, p: number): number {
|
|
179
176
|
if (p) {
|
|
180
177
|
return d + m / 60.0 + s / 3600.0;
|
|
181
178
|
} else {
|
|
@@ -190,7 +187,7 @@ export function degToDec(d, m, s, p) {
|
|
|
190
187
|
* @param {number} n - The divisor.
|
|
191
188
|
* @returns {number} The remainder.
|
|
192
189
|
*/
|
|
193
|
-
export function mod(m, n) {
|
|
190
|
+
export function mod(m: number, n: number): number {
|
|
194
191
|
return ((m % n) + n) % n;
|
|
195
192
|
}
|
|
196
193
|
|
|
@@ -200,7 +197,7 @@ export function mod(m, n) {
|
|
|
200
197
|
* @param {number} a - Angle in radians
|
|
201
198
|
* @returns {number} -
|
|
202
199
|
*/
|
|
203
|
-
export function zeroTwoPI(a) {
|
|
200
|
+
export function zeroTwoPI(a: number): number {
|
|
204
201
|
const res = mod(a, TWO_PI);
|
|
205
202
|
if (Math.abs(res) < EPS14 && Math.abs(a) > EPS14) {
|
|
206
203
|
return TWO_PI;
|
|
@@ -215,17 +212,17 @@ export function zeroTwoPI(a) {
|
|
|
215
212
|
* @param {number} x - Value to edge.
|
|
216
213
|
* @returns {number} -
|
|
217
214
|
*/
|
|
218
|
-
export function step(edge, x) {
|
|
215
|
+
export function step(edge: number, x: number): number {
|
|
219
216
|
return x < edge ? 0.0 : 1.0;
|
|
220
217
|
}
|
|
221
218
|
|
|
222
219
|
/**
|
|
223
|
-
* The
|
|
220
|
+
* The frac function returns the fractional part of x, i.e. x minus floor(x).
|
|
224
221
|
* @function
|
|
225
222
|
* @param {number} x - Input value.
|
|
226
223
|
* @returns {number} -
|
|
227
224
|
*/
|
|
228
|
-
export function frac(x) {
|
|
225
|
+
export function frac(x: number): number {
|
|
229
226
|
const mx = Math.abs(x)
|
|
230
227
|
return mx - Math.floor(mx);
|
|
231
228
|
}
|
|
@@ -236,7 +233,7 @@ export function frac(x) {
|
|
|
236
233
|
* @param {number} x - Input value.
|
|
237
234
|
* @returns {number} -
|
|
238
235
|
*/
|
|
239
|
-
export function log2(x) {
|
|
236
|
+
export function log2(x: number): number {
|
|
240
237
|
return Math.log(x) / LOG2;
|
|
241
238
|
}
|
|
242
239
|
|
|
@@ -246,7 +243,7 @@ export function log2(x) {
|
|
|
246
243
|
* @param {number} n - Power value.
|
|
247
244
|
* @returns {number} -
|
|
248
245
|
*/
|
|
249
|
-
export function exp2(n) {
|
|
246
|
+
export function exp2(n: number): number {
|
|
250
247
|
return Math.pow(2, n);
|
|
251
248
|
}
|
|
252
249
|
|
|
@@ -256,7 +253,7 @@ export function exp2(n) {
|
|
|
256
253
|
* @param {number} n - Integer power value.
|
|
257
254
|
* @returns {number} -
|
|
258
255
|
*/
|
|
259
|
-
export function pow2i(n) {
|
|
256
|
+
export function pow2i(n: number): number {
|
|
260
257
|
return 2 << (n - 1);
|
|
261
258
|
}
|
|
262
259
|
|
|
@@ -267,7 +264,7 @@ export function pow2i(n) {
|
|
|
267
264
|
* @param {number} h0 - Start value.
|
|
268
265
|
* @returns {number} -
|
|
269
266
|
*/
|
|
270
|
-
export function slice(t, h1, h0) {
|
|
267
|
+
export function slice(t: number, h1: number, h0: number): number {
|
|
271
268
|
return t * (h1 - h0);
|
|
272
269
|
}
|
|
273
270
|
|
|
@@ -279,19 +276,19 @@ export function slice(t, h1, h0) {
|
|
|
279
276
|
* @param {number} h0 - Start value.
|
|
280
277
|
* @returns {number} -
|
|
281
278
|
*/
|
|
282
|
-
export function lerp(t, h1, h0) {
|
|
279
|
+
export function lerp(t: number, h1: number, h0: number): number {
|
|
283
280
|
return h0 + t * (h1 - h0);
|
|
284
281
|
}
|
|
285
282
|
|
|
286
|
-
export function cube(f) {
|
|
283
|
+
export function cube(f: number): number {
|
|
287
284
|
return f * f * f;
|
|
288
285
|
}
|
|
289
286
|
|
|
290
|
-
export function square(f) {
|
|
287
|
+
export function square(f: number): number {
|
|
291
288
|
return f * f;
|
|
292
289
|
}
|
|
293
290
|
|
|
294
|
-
export function bezier1v(t, p0, p1, p2, p3) {
|
|
291
|
+
export function bezier1v(t: number, p0: number, p1: number, p2: number, p3: number): number {
|
|
295
292
|
return (
|
|
296
293
|
cube(1 - t) * p0 + 3 * square(1 - t) * t * p1 + 3 * (1 - t) * square(t) * p2 + cube(t) * p3
|
|
297
294
|
);
|
|
@@ -307,15 +304,15 @@ export function bezier1v(t, p0, p1, p2, p3) {
|
|
|
307
304
|
* @param {Vec3} p3 - Fourth control point.
|
|
308
305
|
* @returns {Vec3} -
|
|
309
306
|
*/
|
|
310
|
-
export function bezier3v(t, p0, p1, p2, p3) {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
307
|
+
export function bezier3v(t: number, p0: Vec3, p1: Vec3, p2: Vec3, p3: Vec3): Vec3 {
|
|
308
|
+
|
|
309
|
+
let u = 1 - t;
|
|
310
|
+
let tt = t * t;
|
|
311
|
+
let uu = u * u;
|
|
312
|
+
let uuu = uu * u;
|
|
313
|
+
let ttt = tt * t;
|
|
314
|
+
|
|
315
|
+
return p0.scaleTo(uuu)
|
|
319
316
|
.addA(p1.scaleTo(3 * uu * t))
|
|
320
317
|
.addA(p2.scaleTo(3 * u * tt))
|
|
321
318
|
.addA(p3.scaleTo(ttt));
|
|
@@ -327,7 +324,7 @@ export function bezier3v(t, p0, p1, p2, p3) {
|
|
|
327
324
|
* @param {number} x - Input angle.
|
|
328
325
|
* @returns {number} -
|
|
329
326
|
*/
|
|
330
|
-
export function rev(x) {
|
|
327
|
+
export function rev(x: number): number {
|
|
331
328
|
return x - Math.floor(x / 360.0) * 360.0;
|
|
332
329
|
}
|
|
333
330
|
|
|
@@ -337,7 +334,7 @@ export function rev(x) {
|
|
|
337
334
|
* @param {number} lon - Longitude.
|
|
338
335
|
* @returns {number} -
|
|
339
336
|
*/
|
|
340
|
-
export function norm_lon(lon) {
|
|
337
|
+
export function norm_lon(lon: number): number {
|
|
341
338
|
return lon > 180 ? ((lon + 180) % 360) - 180 : lon < -180 ? ((lon - 180) % 360) + 180 : lon;
|
|
342
339
|
}
|
|
343
340
|
|
|
@@ -347,21 +344,21 @@ export function norm_lon(lon) {
|
|
|
347
344
|
* @param {number} a - Angle in radians.
|
|
348
345
|
* @returns {number} -
|
|
349
346
|
*/
|
|
350
|
-
export function negativePItoPI(a) {
|
|
347
|
+
export function negativePItoPI(a: number): number {
|
|
351
348
|
return zeroTwoPI(a + Math.PI) - Math.PI;
|
|
352
349
|
}
|
|
353
350
|
|
|
354
351
|
/**
|
|
355
352
|
* Solve using iteration method and a fixed number of steps.
|
|
356
353
|
* @function
|
|
357
|
-
* @param {
|
|
354
|
+
* @param {Function} f - Equation. Used in Euler's equation(see og.orbit) solving.
|
|
358
355
|
* @param {number} x0 - First approximation.
|
|
359
356
|
* @param {number} maxIter - Maximum iterations.
|
|
360
357
|
* @returns {number} -
|
|
361
358
|
*/
|
|
362
|
-
export function solve_iteration_fixed(f, x0, maxIter) {
|
|
363
|
-
|
|
364
|
-
|
|
359
|
+
export function solve_iteration_fixed(f: (x: number) => number, x0: number, maxIter: number): number {
|
|
360
|
+
let x = 0;
|
|
361
|
+
let x2 = x0;
|
|
365
362
|
for (let i = 0; i < maxIter; i++) {
|
|
366
363
|
x = x2;
|
|
367
364
|
x2 = f(x);
|
|
@@ -373,15 +370,15 @@ export function solve_iteration_fixed(f, x0, maxIter) {
|
|
|
373
370
|
* Solve using iteration; terminate when error is below err or the maximum
|
|
374
371
|
* number of iterations is reached. Used in Euler's equation(see og.orbit) solving.
|
|
375
372
|
* @function
|
|
376
|
-
* @param {
|
|
373
|
+
* @param {(x: number) => number} f - Equation.
|
|
377
374
|
* @param {number} x0 - First approximation.
|
|
378
375
|
* @param {number} err - Maximal accepted error value.
|
|
379
376
|
* @param {number} maxIter - Maximum iterations.
|
|
380
377
|
* @returns {number} -
|
|
381
378
|
*/
|
|
382
|
-
export function solve_iteration(f, x0, err, maxIter = 50) {
|
|
383
|
-
|
|
384
|
-
|
|
379
|
+
export function solve_iteration(f: (x: number) => number, x0: number, err: number, maxIter: number = 50): number {
|
|
380
|
+
let x = 0;
|
|
381
|
+
let x2 = x0;
|
|
385
382
|
for (let i = 0; i < maxIter; i++) {
|
|
386
383
|
x = x2;
|
|
387
384
|
x2 = f(x);
|
|
@@ -404,7 +401,7 @@ export function solve_iteration(f, x0, err, maxIter = 50) {
|
|
|
404
401
|
* @param b - Second bearing angle
|
|
405
402
|
* @returns {number}
|
|
406
403
|
*/
|
|
407
|
-
function getAngleDirection(a, b) {
|
|
404
|
+
function getAngleDirection(a: number, b: number): number {
|
|
408
405
|
let a_y = Math.cos(a),
|
|
409
406
|
a_x = Math.sin(a),
|
|
410
407
|
b_y = Math.cos(b),
|
|
@@ -423,7 +420,7 @@ function getAngleDirection(a, b) {
|
|
|
423
420
|
* @param {number} b - Second azimuth angle
|
|
424
421
|
* @returns {number}
|
|
425
422
|
*/
|
|
426
|
-
export function getAngleBetweenAzimuths(a, b) {
|
|
423
|
+
export function getAngleBetweenAzimuths(a: number, b: number): number {
|
|
427
424
|
a = zeroTwoPI(a);
|
|
428
425
|
b = zeroTwoPI(b);
|
|
429
426
|
return ((((a - b) % 360) + 360 + 180) % 360) - 180;
|
|
@@ -1,149 +1,143 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export const
|
|
20
|
-
|
|
21
|
-
export const
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*
|
|
38
|
-
* @
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
*
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
*
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
*
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
*
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
*
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
*
|
|
140
|
-
* @
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Min mercator latitude.
|
|
146
|
-
* @const
|
|
147
|
-
* @type {number}
|
|
148
|
-
*/
|
|
149
|
-
export const MIN_LAT = -MAX_LAT;
|
|
1
|
+
import { Extent } from "./Extent";
|
|
2
|
+
import { LonLat } from './LonLat';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Mercator size.
|
|
6
|
+
* @const
|
|
7
|
+
* @type {number}
|
|
8
|
+
*/
|
|
9
|
+
export const POLE = 20037508.34;
|
|
10
|
+
|
|
11
|
+
export const POLE2 = POLE * 2.0;
|
|
12
|
+
|
|
13
|
+
export const PI_BY_POLE = Math.PI / POLE;
|
|
14
|
+
|
|
15
|
+
export const POLE_BY_PI = POLE / Math.PI;
|
|
16
|
+
|
|
17
|
+
const HALF_PI = Math.PI * 0.5;
|
|
18
|
+
|
|
19
|
+
export const POLE_BY_180 = POLE / 180.0;
|
|
20
|
+
|
|
21
|
+
export const INV_POLE_BY_180 = 180.0 / POLE;
|
|
22
|
+
|
|
23
|
+
const PI_BY_360 = Math.PI / 360.0;
|
|
24
|
+
|
|
25
|
+
const PI_BY_180 = Math.PI / 180.0;
|
|
26
|
+
|
|
27
|
+
const INV_PI_BY_180 = 180.0 / Math.PI;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Double mercator size.
|
|
31
|
+
* @const
|
|
32
|
+
* @type {number}
|
|
33
|
+
*/
|
|
34
|
+
export const POLE_DOUBLE = 2.0 * POLE;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* One by mercator double size.
|
|
38
|
+
* @const
|
|
39
|
+
* @type {number}
|
|
40
|
+
*/
|
|
41
|
+
export const ONE_BY_POLE_DOUBLE = 1.0 / POLE_DOUBLE;
|
|
42
|
+
|
|
43
|
+
export function forward(lonLat: LonLat): LonLat {
|
|
44
|
+
return new LonLat(lonLat.lon * POLE / 180.0, Math.log(Math.tan((90.0 + lonLat.lat) * PI_BY_360)) * POLE_BY_PI, lonLat.height);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Converts degrees longitude to mercator coordinate.
|
|
49
|
+
* @function
|
|
50
|
+
* @param {number} lon - Degrees geodetic longitude.
|
|
51
|
+
* @returns {number} -
|
|
52
|
+
*/
|
|
53
|
+
export function forward_lon(lon: number): number {
|
|
54
|
+
return lon * POLE / 180.0;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Converts degrees latitude to mercator coordinate.
|
|
59
|
+
* @function
|
|
60
|
+
* @param {number} lat - Degrees geodetic latitude.
|
|
61
|
+
* @returns {number} -
|
|
62
|
+
*/
|
|
63
|
+
export function forward_lat(lat: number): number {
|
|
64
|
+
return Math.log(Math.tan((90.0 + lat) * PI_BY_360)) * POLE_BY_PI;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Converts mercator longitude to degrees coordinate.
|
|
69
|
+
* @function
|
|
70
|
+
* @param {number} lon - Mercator longitude.
|
|
71
|
+
* @returns {number} -
|
|
72
|
+
*/
|
|
73
|
+
export function inverse_lon(lon: number): number {
|
|
74
|
+
return 180 * lon / POLE;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Converts mercator latitude to degrees coordinate.
|
|
79
|
+
* @function
|
|
80
|
+
* @param {number} lon - Mercator latitude.
|
|
81
|
+
* @returns {number} -
|
|
82
|
+
*/
|
|
83
|
+
export function inverse_lat(lat: number): number {
|
|
84
|
+
return INV_PI_BY_180 * (2.0 * Math.atan(Math.exp(lat * PI_BY_POLE)) - HALF_PI);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Returns mercator map tile grid horizontal coordinate index by geodetic
|
|
89
|
+
* longitude and zoom level. Where top left corner of the grid is 0 coordinate index.
|
|
90
|
+
* @function
|
|
91
|
+
* @param {number} lon - Geodetic degrees longitude.
|
|
92
|
+
* @param {number} zoom - Zoom level.
|
|
93
|
+
* @returns {number}
|
|
94
|
+
*/
|
|
95
|
+
export function getTileX(lon: number, zoom: number): number {
|
|
96
|
+
return Math.floor((lon + 180) / 360.0 * Math.pow(2, zoom));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Returns mercator map tile grid vertical coordinate index by geodetic
|
|
101
|
+
* latitude and zoom level. Where top left corner of the grid is 0 coordinate index.
|
|
102
|
+
* @function
|
|
103
|
+
* @param {number} lat - Geodetic degrees latitude.
|
|
104
|
+
* @param {number} zoom - Zoom level.
|
|
105
|
+
* @returns {number}
|
|
106
|
+
*/
|
|
107
|
+
export function getTileY(lat: number, zoom: number): number {
|
|
108
|
+
return Math.floor((1.0 - Math.log(Math.tan(lat * PI_BY_180) + 1.0 / Math.cos(lat * PI_BY_180)) / Math.PI) * 0.5 * Math.pow(2, zoom));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Converts geodetic coordinate array to mercator coordinate array.
|
|
113
|
+
* @function
|
|
114
|
+
* @param {Array.<LonLat>} lonLatArr - LonLat array to convert.
|
|
115
|
+
* @returns {Array.<LonLat>}
|
|
116
|
+
*/
|
|
117
|
+
export function forwardArray(lonlatArr: LonLat[]): LonLat[] {
|
|
118
|
+
let res: LonLat[] = [];
|
|
119
|
+
for (let i = 0; i < lonlatArr.length; i++) {
|
|
120
|
+
res.push(lonlatArr[i].forwardMercator());
|
|
121
|
+
}
|
|
122
|
+
return res;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export function getTileExtent(x: number, y: number, z: number): Extent {
|
|
126
|
+
let size = POLE2 / Math.pow(2, z),
|
|
127
|
+
sw = new LonLat(-POLE + x * size, POLE - y * size - size);
|
|
128
|
+
return new Extent(sw, new LonLat(sw.lon + size, sw.lat + size));
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Max mercator latitude.
|
|
133
|
+
* @const
|
|
134
|
+
* @type {number}
|
|
135
|
+
*/
|
|
136
|
+
export const MAX_LAT = inverse_lat(POLE);
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Min mercator latitude.
|
|
140
|
+
* @const
|
|
141
|
+
* @type {number}
|
|
142
|
+
*/
|
|
143
|
+
export const MIN_LAT = -MAX_LAT;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module og/proj/EPSG4326
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
export const EPSG4326 = new Proj({ code: "epsg:4326", units: Units.DEGREES });
|
|
1
|
+
/**
|
|
2
|
+
* @module og/proj/EPSG4326
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Proj, Units } from "./Proj";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* EPSG:4326 projection object.
|
|
9
|
+
* @type {Proj}
|
|
10
|
+
*/
|
|
11
|
+
export const EPSG4326 = new Proj({ code: "epsg:4326", units: Units.DEGREES });
|