@openglobus/og 0.18.0 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/lib/@openglobus/og.esm.js +2 -0
- package/lib/@openglobus/og.esm.js.map +1 -0
- package/lib/@openglobus/og.umd.js +2 -0
- package/lib/@openglobus/og.umd.js.map +1 -0
- package/lib/js/Clock.d.ts +106 -0
- package/{src/Clock.ts → lib/js/Clock.js} +31 -126
- package/lib/js/Deferred.d.ts +6 -0
- package/lib/js/Deferred.js +13 -0
- package/lib/js/Events.d.ts +90 -0
- package/{src/Events.ts → lib/js/Events.js} +29 -84
- package/lib/js/Extent.d.ts +145 -0
- package/{src/Extent.ts → lib/js/Extent.js} +74 -120
- package/lib/js/Globe.d.ts +132 -0
- package/{src/Globe.ts → lib/js/Globe.js} +61 -159
- package/lib/js/ImageCanvas.d.ts +128 -0
- package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
- package/lib/js/Lock.d.ts +15 -0
- package/{src/Lock.ts → lib/js/Lock.js} +7 -21
- package/lib/js/LonLat.d.ts +128 -0
- package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
- package/lib/js/Object3d.d.ts +49 -0
- package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
- package/lib/js/Popup.d.ts +46 -0
- package/{src/Popup.ts → lib/js/Popup.js} +42 -110
- package/lib/js/QueueArray.d.ts +16 -0
- package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
- package/lib/js/Rectangle.d.ts +76 -0
- package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
- package/lib/js/Stack.d.ts +20 -0
- package/{src/Stack.ts → lib/js/Stack.js} +13 -29
- package/lib/js/astro/astro.d.ts +39 -0
- package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
- package/lib/js/astro/earth.d.ts +8 -0
- package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
- package/lib/js/astro/jd.d.ts +234 -0
- package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
- package/lib/js/astro/orbit.d.ts +5 -0
- package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
- package/lib/js/astro/rotation.d.ts +2 -0
- package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
- package/lib/js/bv/Box.d.ts +32 -0
- package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
- package/lib/js/bv/Sphere.d.ts +37 -0
- package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
- package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
- package/lib/js/bv/index.js +3 -0
- package/lib/js/camera/Camera.d.ts +314 -0
- package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
- package/lib/js/camera/Frustum.d.ts +139 -0
- package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
- package/lib/js/camera/PlanetCamera.d.ts +234 -0
- package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
- package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
- package/lib/js/camera/index.js +3 -0
- package/lib/js/cons.d.ts +40 -0
- package/{src/cons.ts → lib/js/cons.js} +10 -22
- package/lib/js/control/Atmosphere.d.ts +16 -0
- package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
- package/lib/js/control/CompassButton.d.ts +16 -0
- package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
- package/lib/js/control/Control.d.ts +100 -0
- package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
- package/lib/js/control/DebugInfo.d.ts +25 -0
- package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
- package/lib/js/control/DrawingSwitcher.d.ts +13 -0
- package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
- package/lib/js/control/EarthCoordinates.d.ts +41 -0
- package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
- package/lib/js/control/EarthNavigation.d.ts +50 -0
- package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
- package/lib/js/control/GeoImageDragControl.d.ts +22 -0
- package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
- package/lib/js/control/KeyboardNavigation.d.ts +28 -0
- package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
- package/lib/js/control/LayerAnimation.d.ts +71 -0
- package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
- package/lib/js/control/LayerSwitcher.d.ts +21 -0
- package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
- package/lib/js/control/Lighting.d.ts +49 -0
- package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
- package/lib/js/control/MouseNavigation.d.ts +62 -0
- package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
- package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
- package/lib/js/control/MouseWheelZoomControl.js +181 -0
- package/lib/js/control/RulerSwitcher.d.ts +17 -0
- package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
- package/lib/js/control/ScaleControl.d.ts +24 -0
- package/lib/js/control/ScaleControl.js +91 -0
- package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
- package/lib/js/control/SegmentBoundVisualization.js +37 -0
- package/lib/js/control/ShowFps.d.ts +9 -0
- package/lib/js/control/ShowFps.js +20 -0
- package/lib/js/control/SimpleNavigation.d.ts +25 -0
- package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
- package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
- package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
- package/lib/js/control/Sun.d.ts +33 -0
- package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
- package/lib/js/control/ToggleWireframe.d.ts +14 -0
- package/lib/js/control/ToggleWireframe.js +28 -0
- package/lib/js/control/TouchNavigation.d.ts +52 -0
- package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
- package/lib/js/control/ZoomControl.d.ts +27 -0
- package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
- package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
- package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
- package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
- package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
- package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
- package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
- package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
- package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
- package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
- package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
- package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
- package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
- package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
- package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
- package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
- package/lib/js/control/index.js +28 -0
- package/lib/js/control/ruler/Ruler.d.ts +13 -0
- package/lib/js/control/ruler/Ruler.js +23 -0
- package/lib/js/control/ruler/RulerScene.d.ts +88 -0
- package/lib/js/control/ruler/RulerScene.js +324 -0
- package/lib/js/control/selection/Selection.d.ts +55 -0
- package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
- package/lib/js/control/selection/SelectionScene.d.ts +44 -0
- package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
- package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
- package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
- package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
- package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
- package/lib/js/control/timeline/TimelineView.d.ts +85 -0
- package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
- package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
- package/lib/js/control/timeline/timelineUtils.js +112 -0
- package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
- package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
- package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
- package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
- package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
- package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
- package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
- package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +82 -267
- package/lib/js/ellipsoid/index.d.ts +3 -0
- package/lib/js/ellipsoid/index.js +3 -0
- package/lib/js/ellipsoid/wgs84.d.ts +6 -0
- package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
- package/lib/js/entity/BaseBillboard.d.ts +222 -0
- package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
- package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
- package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
- package/lib/js/entity/Billboard.d.ts +113 -0
- package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
- package/lib/js/entity/BillboardHandler.d.ts +15 -0
- package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
- package/lib/js/entity/Entity.d.ts +354 -0
- package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +101 -373
- package/lib/js/entity/EntityCollection.d.ts +364 -0
- package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +51 -353
- package/lib/js/entity/GeoObject.d.ts +138 -0
- package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
- package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
- package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
- package/lib/js/entity/Geometry.d.ts +111 -0
- package/lib/js/entity/Geometry.js +283 -0
- package/lib/js/entity/GeometryHandler.d.ts +84 -0
- package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
- package/lib/js/entity/Label.d.ts +207 -0
- package/{src/entity/Label.ts → lib/js/entity/Label.js} +62 -164
- package/lib/js/entity/LabelHandler.d.ts +65 -0
- package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
- package/lib/js/entity/LabelWorker.d.ts +15 -0
- package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
- package/lib/js/entity/PointCloud.d.ts +179 -0
- package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
- package/lib/js/entity/PointCloudHandler.d.ts +42 -0
- package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
- package/lib/js/entity/Polyline.d.ts +337 -0
- package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
- package/lib/js/entity/PolylineHandler.d.ts +22 -0
- package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
- package/lib/js/entity/Ray.d.ts +133 -0
- package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
- package/lib/js/entity/RayHandler.d.ts +70 -0
- package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
- package/lib/js/entity/Strip.d.ts +127 -0
- package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
- package/lib/js/entity/StripHandler.d.ts +42 -0
- package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
- package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
- package/lib/js/entity/index.js +11 -0
- package/lib/js/index.d.ts +33 -0
- package/lib/js/index.js +33 -0
- package/lib/js/input/KeyboardHandler.d.ts +33 -0
- package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
- package/lib/js/input/MouseHandler.d.ts +16 -0
- package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
- package/lib/js/input/TouchHandler.d.ts +11 -0
- package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
- package/lib/js/input/input.d.ts +3 -0
- package/{src/input/input.ts → lib/js/input/input.js} +1 -1
- package/lib/js/layer/BaseGeoImage.d.ts +145 -0
- package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
- package/lib/js/layer/CanvasTiles.d.ts +103 -0
- package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
- package/lib/js/layer/GeoImage.d.ts +61 -0
- package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
- package/lib/js/layer/GeoTexture2d.d.ts +17 -0
- package/lib/js/layer/GeoTexture2d.js +37 -0
- package/lib/js/layer/GeoVideo.d.ts +68 -0
- package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
- package/lib/js/layer/KML.d.ts +72 -0
- package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
- package/lib/js/layer/Layer.d.ts +401 -0
- package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
- package/lib/js/layer/Material.d.ts +34 -0
- package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
- package/lib/js/layer/Vector.d.ts +244 -0
- package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +147 -418
- package/lib/js/layer/WMS.d.ts +75 -0
- package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
- package/lib/js/layer/XYZ.d.ts +149 -0
- package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
- package/lib/js/layer/index.d.ts +11 -0
- package/lib/js/layer/index.js +11 -0
- package/lib/js/light/LightSource.d.ts +174 -0
- package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
- package/lib/js/math/Line2.d.ts +11 -0
- package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
- package/lib/js/math/Line3.d.ts +28 -0
- package/lib/js/math/Line3.js +85 -0
- package/lib/js/math/Mat3.d.ts +77 -0
- package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
- package/lib/js/math/Mat4.d.ts +195 -0
- package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
- package/lib/js/math/Plane.d.ts +20 -0
- package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
- package/lib/js/math/Quat.d.ts +373 -0
- package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
- package/lib/js/math/Ray.d.ts +76 -0
- package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
- package/lib/js/math/Vec2.d.ts +310 -0
- package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
- package/lib/js/math/Vec3.d.ts +472 -0
- package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
- package/lib/js/math/Vec4.d.ts +163 -0
- package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
- package/lib/js/math/coder.d.ts +51 -0
- package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
- package/lib/js/math/index.d.ts +11 -0
- package/lib/js/math/index.js +11 -0
- package/lib/js/math.d.ts +266 -0
- package/{src/math.ts → lib/js/math.js} +37 -85
- package/lib/js/mercator.d.ts +92 -0
- package/{src/mercator.ts → lib/js/mercator.js} +13 -37
- package/lib/js/proj/EPSG3857.d.ts +9 -0
- package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
- package/lib/js/proj/EPSG4326.d.ts +9 -0
- package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
- package/lib/js/proj/Proj.d.ts +43 -0
- package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
- package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
- package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
- package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/Node.d.ts +61 -0
- package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
- package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
- package/lib/js/quadTree/index.d.ts +12 -0
- package/lib/js/quadTree/index.js +12 -0
- package/lib/js/quadTree/quadTree.d.ts +40 -0
- package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
- package/lib/js/renderer/Renderer.d.ts +311 -0
- package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +169 -611
- package/lib/js/renderer/RendererEvents.d.ts +237 -0
- package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +134 -471
- package/lib/js/scene/Axes.d.ts +12 -0
- package/lib/js/scene/Axes.js +59 -0
- package/lib/js/scene/BaseNode.d.ts +61 -0
- package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
- package/lib/js/scene/Planet.d.ts +623 -0
- package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +251 -935
- package/lib/js/scene/RenderNode.d.ts +150 -0
- package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
- package/lib/js/scene/SkyBox.d.ts +13 -0
- package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
- package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
- package/lib/js/scene/index.js +5 -0
- package/lib/js/segment/Segment.d.ts +278 -0
- package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
- package/lib/js/segment/SegmentLonLat.d.ts +48 -0
- package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
- package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
- package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
- package/lib/js/segment/Slice.d.ts +13 -0
- package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
- package/lib/js/segment/segmentHelper.d.ts +18 -0
- package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
- package/lib/js/shaders/atmos.d.ts +4 -0
- package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
- package/lib/js/shaders/billboard.d.ts +3 -0
- package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
- package/lib/js/shaders/bloom.d.ts +2 -0
- package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
- package/lib/js/shaders/blur.d.ts +3 -0
- package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
- package/lib/js/shaders/depth.d.ts +2 -0
- package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
- package/lib/js/shaders/drawnode.d.ts +8 -0
- package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
- package/lib/js/shaders/geoObject.d.ts +3 -0
- package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
- package/lib/js/shaders/label.d.ts +4 -0
- package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
- package/lib/js/shaders/lumFilter.d.ts +2 -0
- package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
- package/lib/js/shaders/pickingMask.d.ts +2 -0
- package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
- package/lib/js/shaders/pointCloud.d.ts +2 -0
- package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
- package/lib/js/shaders/polyline.d.ts +3 -0
- package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
- package/lib/js/shaders/ray.d.ts +2 -0
- package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
- package/lib/js/shaders/screenFrame.d.ts +2 -0
- package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
- package/lib/js/shaders/skybox.d.ts +2 -0
- package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
- package/lib/js/shaders/toneMapping.d.ts +2 -0
- package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
- package/lib/js/shaders/utils.d.ts +1 -0
- package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
- package/lib/js/terrain/BilTerrain.d.ts +18 -0
- package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
- package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
- package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
- package/lib/js/terrain/Geoid.d.ts +33 -0
- package/lib/js/terrain/Geoid.js +191 -0
- package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
- package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +82 -239
- package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
- package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
- package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
- package/lib/js/terrain/index.js +5 -0
- package/lib/js/ui/Button.d.ts +32 -0
- package/lib/js/ui/Button.js +78 -0
- package/lib/js/ui/ButtonGroup.d.ts +16 -0
- package/lib/js/ui/ButtonGroup.js +41 -0
- package/lib/js/ui/Dialog.d.ts +55 -0
- package/lib/js/ui/Dialog.js +173 -0
- package/lib/js/ui/Slider.d.ts +38 -0
- package/lib/js/ui/Slider.js +129 -0
- package/lib/js/ui/ToggleButton.d.ts +20 -0
- package/lib/js/ui/ToggleButton.js +42 -0
- package/lib/js/ui/View.d.ts +37 -0
- package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
- package/lib/js/ui/icons.d.ts +1 -0
- package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
- package/lib/js/utils/BaseWorker.d.ts +14 -0
- package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
- package/lib/js/utils/FontAtlas.d.ts +82 -0
- package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +45 -181
- package/lib/js/utils/GeoImageCreator.d.ts +34 -0
- package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
- package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
- package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
- package/lib/js/utils/Loader.d.ts +63 -0
- package/lib/js/utils/Loader.js +156 -0
- package/lib/js/utils/NormalMapCreator.d.ts +52 -0
- package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
- package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
- package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
- package/lib/js/utils/TerrainWorker.d.ts +28 -0
- package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
- package/lib/js/utils/TextureAtlas.d.ts +113 -0
- package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
- package/lib/js/utils/VectorTileCreator.d.ts +18 -0
- package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
- package/lib/js/utils/colorTable.d.ts +3 -0
- package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
- package/lib/js/utils/earcut.d.ts +7 -0
- package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
- package/lib/js/utils/objParser.d.ts +24 -0
- package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
- package/lib/js/utils/shared.d.ts +267 -0
- package/{src/utils/shared.ts → lib/js/utils/shared.js} +184 -341
- package/lib/js/utils/units.d.ts +16 -0
- package/lib/js/utils/units.js +61 -0
- package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
- package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
- package/lib/js/webgl/Framebuffer.d.ts +69 -0
- package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
- package/lib/js/webgl/Handler.d.ts +473 -0
- package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
- package/lib/js/webgl/Multisample.d.ts +27 -0
- package/lib/js/webgl/Multisample.js +77 -0
- package/lib/js/webgl/Program.d.ts +159 -0
- package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
- package/lib/js/webgl/ProgramController.d.ts +86 -0
- package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
- package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
- package/lib/js/webgl/index.js +6 -0
- package/lib/js/webgl/types.d.ts +9 -0
- package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
- package/lib/js/webgl/variableHandlers.d.ts +22 -0
- package/lib/js/webgl/variableHandlers.js +78 -0
- package/package.json +23 -34
- package/dist/@openglobus/og.esm.js +0 -2
- package/dist/@openglobus/og.esm.js.map +0 -1
- package/dist/@openglobus/og.umd.js +0 -2
- package/dist/@openglobus/og.umd.js.map +0 -1
- package/src/Deferred.ts +0 -17
- package/src/control/MouseWheelZoomControl.ts +0 -269
- package/src/control/ScaleControl.ts +0 -131
- package/src/control/SegmentBoundVisualization.ts +0 -50
- package/src/control/ShowFps.ts +0 -28
- package/src/control/ToggleWireframe.ts +0 -35
- package/src/control/ruler/Ruler.ts +0 -35
- package/src/control/ruler/RulerScene.ts +0 -437
- package/src/control/timeline/timelineUtils.ts +0 -133
- package/src/ellipsoid/index.ts +0 -4
- package/src/entity/Geometry.ts +0 -486
- package/src/index.ts +0 -173
- package/src/layer/GeoTexture2d.ts +0 -56
- package/src/layer/index.ts +0 -12
- package/src/math/Line3.ts +0 -162
- package/src/math/index.ts +0 -26
- package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
- package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
- package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
- package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
- package/src/quadTree/index.ts +0 -14
- package/src/scene/Axes.ts +0 -78
- package/src/segment/SegmentLonLatWgs84.ts +0 -33
- package/src/terrain/Geoid.ts +0 -273
- package/src/ui/Button.ts +0 -121
- package/src/ui/ButtonGroup.ts +0 -63
- package/src/ui/Dialog.ts +0 -244
- package/src/ui/Slider.ts +0 -188
- package/src/ui/ToggleButton.ts +0 -68
- package/src/utils/Loader.ts +0 -247
- package/src/utils/units.ts +0 -78
- package/src/webgl/Multisample.ts +0 -153
- package/src/webgl/variableHandlers.ts +0 -114
- /package/{dist → lib}/@openglobus/og.css +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
- /package/{dist → lib}/@openglobus/res/night.png +0 -0
- /package/{dist → lib}/@openglobus/res/spec.png +0 -0
|
@@ -1,142 +1,117 @@
|
|
|
1
|
-
import {binarySearch} from "../utils/shared";
|
|
2
|
-
|
|
3
|
-
export type JulianDate = number;
|
|
4
|
-
|
|
1
|
+
import { binarySearch } from "../utils/shared";
|
|
5
2
|
/**
|
|
6
3
|
* Seconds in millisecond.
|
|
7
4
|
* @const
|
|
8
5
|
*/
|
|
9
6
|
export const SECONDS_PER_MILLISECOND = 0.001;
|
|
10
|
-
|
|
11
7
|
/**
|
|
12
8
|
* Milliseconds in second.
|
|
13
9
|
* @const
|
|
14
10
|
*/
|
|
15
11
|
export const MILLISECONDS_PER_SECOND = 1000.0;
|
|
16
|
-
|
|
17
12
|
/**
|
|
18
13
|
* Seconds in minute.
|
|
19
14
|
* @const
|
|
20
15
|
*/
|
|
21
16
|
export const SECONDS_PER_MINUTE = 60.0;
|
|
22
|
-
|
|
23
17
|
/**
|
|
24
18
|
* One by seconds in minute.
|
|
25
19
|
* @const
|
|
26
20
|
*/
|
|
27
21
|
export const ONE_BY_SECONDS_PER_MINUTE = 1.0 / SECONDS_PER_MINUTE;
|
|
28
|
-
|
|
29
22
|
/**
|
|
30
23
|
* Minutes in hour.
|
|
31
24
|
* @const
|
|
32
25
|
*/
|
|
33
26
|
export const MINUTES_PER_HOUR = 60.0;
|
|
34
|
-
|
|
35
27
|
/**
|
|
36
28
|
* Hours in day.
|
|
37
29
|
* @const
|
|
38
30
|
*/
|
|
39
31
|
export const HOURS_PER_DAY = 24.0;
|
|
40
|
-
|
|
41
32
|
/**
|
|
42
33
|
* One by hours in day.
|
|
43
34
|
* @const
|
|
44
35
|
*/
|
|
45
36
|
export const ONE_BY_HOURS_PER_DAY = 1.0 / HOURS_PER_DAY;
|
|
46
|
-
|
|
47
37
|
/**
|
|
48
38
|
* Seconds in hour.
|
|
49
39
|
* @const
|
|
50
40
|
*/
|
|
51
41
|
export const SECONDS_PER_HOUR = 3600.0;
|
|
52
|
-
|
|
53
42
|
/**
|
|
54
43
|
* One by seconds in hour.
|
|
55
44
|
* @const
|
|
56
45
|
*/
|
|
57
46
|
export const ONE_BY_SECONDS_PER_HOUR = 1.0 / SECONDS_PER_HOUR;
|
|
58
|
-
|
|
59
47
|
/**
|
|
60
48
|
* Seconds in 12 hours.
|
|
61
49
|
* @const
|
|
62
50
|
*/
|
|
63
51
|
export const SECONDS_PER_12_HOURS = 12.0 * SECONDS_PER_HOUR;
|
|
64
|
-
|
|
65
52
|
/**
|
|
66
53
|
* Minutes in day.
|
|
67
54
|
* @const
|
|
68
55
|
*/
|
|
69
56
|
export const MINUTES_PER_DAY = 1440.0;
|
|
70
|
-
|
|
71
57
|
/**
|
|
72
58
|
* One by minutes in day.
|
|
73
59
|
* @const
|
|
74
60
|
*/
|
|
75
61
|
export const ONE_BY_MINUTES_PER_DAY = 1.0 / MINUTES_PER_DAY;
|
|
76
|
-
|
|
77
62
|
/**
|
|
78
63
|
* Seconds in day.
|
|
79
64
|
* @const
|
|
80
65
|
*/
|
|
81
66
|
export const SECONDS_PER_DAY = 86400.0;
|
|
82
|
-
|
|
83
67
|
/**
|
|
84
68
|
* Milliseconds in day.
|
|
85
69
|
* @const
|
|
86
70
|
*/
|
|
87
71
|
export const MILLISECONDS_PER_DAY = 86400000.0;
|
|
88
|
-
|
|
89
72
|
/**
|
|
90
73
|
* One by milliseconds in day.
|
|
91
74
|
* @const
|
|
92
75
|
*/
|
|
93
76
|
export const ONE_BY_MILLISECONDS_PER_DAY = 1.0 / MILLISECONDS_PER_DAY;
|
|
94
|
-
|
|
95
77
|
/**
|
|
96
78
|
* One by seconds in day.
|
|
97
79
|
* @const
|
|
98
80
|
*/
|
|
99
81
|
export const ONE_BY_SECONDS_PER_DAY = 1.0 / SECONDS_PER_DAY;
|
|
100
|
-
|
|
101
82
|
/**
|
|
102
83
|
* Days in julian century.
|
|
103
84
|
* @const
|
|
104
85
|
*/
|
|
105
86
|
export const DAYS_PER_JULIAN_CENTURY = 36525.0;
|
|
106
|
-
|
|
107
87
|
/**
|
|
108
88
|
* Days in julian year.
|
|
109
89
|
* @const
|
|
110
90
|
*/
|
|
111
91
|
export const DAYS_PER_JULIAN_YEAR = 365.25;
|
|
112
|
-
|
|
113
92
|
/**
|
|
114
93
|
* Seconds in picoseconds.
|
|
115
94
|
* @const
|
|
116
95
|
*/
|
|
117
96
|
export const PICOSECOND = 0.000000001;
|
|
118
|
-
|
|
119
97
|
/**
|
|
120
98
|
* Modified julian date difference.
|
|
121
99
|
* @const
|
|
122
100
|
*/
|
|
123
101
|
export const MODIFIED_JULIAN_DATE_DIFFERENCE = 2400000.5;
|
|
124
|
-
|
|
125
102
|
/**
|
|
126
103
|
* Julian date of 2000 year. Epoch.
|
|
127
104
|
* @const
|
|
128
105
|
*/
|
|
129
106
|
export const J2000 = 2451545.0;
|
|
130
|
-
|
|
131
107
|
/**
|
|
132
108
|
* Returns julian days from Epoch.
|
|
133
109
|
* @param {JulianDate} jd - Julian date.
|
|
134
110
|
* @returns {number} Days from epoch
|
|
135
111
|
*/
|
|
136
|
-
export function T(jd
|
|
112
|
+
export function T(jd) {
|
|
137
113
|
return (jd - J2000) / DAYS_PER_JULIAN_CENTURY;
|
|
138
114
|
}
|
|
139
|
-
|
|
140
115
|
/**
|
|
141
116
|
* Gets the date's julian day.
|
|
142
117
|
* @param {number} year - Year.
|
|
@@ -144,142 +119,113 @@ export function T(jd: JulianDate): number {
|
|
|
144
119
|
* @param {number} day - Day.
|
|
145
120
|
* @returns {number} Day number
|
|
146
121
|
*/
|
|
147
|
-
export function getDayNumber(year
|
|
122
|
+
export function getDayNumber(year, month, day) {
|
|
148
123
|
let a = ((month - 14) / 12) | 0;
|
|
149
124
|
let b = year + 4800 + a;
|
|
150
|
-
return (
|
|
151
|
-
(((1461 * b) / 4) | 0) +
|
|
125
|
+
return ((((1461 * b) / 4) | 0) +
|
|
152
126
|
(((367 * (month - 2 - 12 * a)) / 12) | 0) -
|
|
153
127
|
(((3 * (((b + 100) / 100) | 0)) / 4) | 0) +
|
|
154
128
|
day -
|
|
155
|
-
32075
|
|
156
|
-
);
|
|
129
|
+
32075);
|
|
157
130
|
}
|
|
158
|
-
|
|
159
131
|
/**
|
|
160
132
|
* Converts javascript date to the universal(UTC) julian date.
|
|
161
133
|
* @param {Date} date - Date.
|
|
162
134
|
* @returns {JulianDate} UTC julian date
|
|
163
135
|
*/
|
|
164
|
-
export function DateToUTC(date
|
|
136
|
+
export function DateToUTC(date) {
|
|
165
137
|
let dayNumber = getDayNumber(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate());
|
|
166
|
-
|
|
167
138
|
let hour = date.getUTCHours() - 12;
|
|
168
139
|
if (hour < 0) {
|
|
169
140
|
hour += 24;
|
|
170
141
|
}
|
|
171
|
-
|
|
172
|
-
let secondsOfDay =
|
|
173
|
-
date.getUTCSeconds() +
|
|
142
|
+
let secondsOfDay = date.getUTCSeconds() +
|
|
174
143
|
hour * SECONDS_PER_HOUR +
|
|
175
144
|
date.getUTCMinutes() * SECONDS_PER_MINUTE +
|
|
176
145
|
date.getUTCMilliseconds() * SECONDS_PER_MILLISECOND;
|
|
177
|
-
|
|
178
146
|
if (secondsOfDay >= SECONDS_PER_12_HOURS) {
|
|
179
147
|
dayNumber--;
|
|
180
148
|
}
|
|
181
|
-
|
|
182
149
|
let extraDays = (secondsOfDay * ONE_BY_SECONDS_PER_DAY) | 0;
|
|
183
150
|
dayNumber += extraDays;
|
|
184
151
|
secondsOfDay -= SECONDS_PER_DAY * extraDays;
|
|
185
|
-
|
|
186
152
|
if (secondsOfDay < 0) {
|
|
187
153
|
dayNumber--;
|
|
188
154
|
secondsOfDay += SECONDS_PER_DAY;
|
|
189
155
|
}
|
|
190
|
-
|
|
191
156
|
return dayNumber + secondsOfDay * ONE_BY_SECONDS_PER_DAY;
|
|
192
157
|
}
|
|
193
|
-
|
|
194
158
|
/**
|
|
195
159
|
* Converts javascript date to the atomic(TAI) julian date.
|
|
196
160
|
* @param {Date} date - Date.
|
|
197
161
|
* @returns {JulianDate} TAI julian date
|
|
198
162
|
*/
|
|
199
|
-
export function DateToTAI(date
|
|
163
|
+
export function DateToTAI(date) {
|
|
200
164
|
return UTCtoTAI(DateToUTC(date));
|
|
201
165
|
}
|
|
202
|
-
|
|
203
166
|
/**
|
|
204
167
|
* Converts coordinated universal(UTC) julian date to atomic(TAI) julian date.
|
|
205
168
|
* @param {JulianDate} jd - UTC julian date.
|
|
206
169
|
* @returns {JulianDate} TAI julian date
|
|
207
170
|
*/
|
|
208
|
-
export function UTCtoTAI(jd
|
|
171
|
+
export function UTCtoTAI(jd) {
|
|
209
172
|
let leapSeconds = leapSecondsTable;
|
|
210
|
-
|
|
211
|
-
let index = binarySearch(leapSeconds, jd, function (a: number, b: LeapSeconds) {
|
|
173
|
+
let index = binarySearch(leapSeconds, jd, function (a, b) {
|
|
212
174
|
return a - b.jd;
|
|
213
175
|
});
|
|
214
|
-
|
|
215
176
|
if (index < 0) {
|
|
216
177
|
index = ~index;
|
|
217
178
|
}
|
|
218
|
-
|
|
219
179
|
if (index >= leapSeconds.length) {
|
|
220
180
|
index = leapSeconds.length - 1;
|
|
221
181
|
}
|
|
222
|
-
|
|
223
182
|
let offset = leapSeconds[index].leapSeconds;
|
|
224
|
-
|
|
225
183
|
if (index !== 0) {
|
|
226
184
|
if ((leapSeconds[index].jd - jd) * SECONDS_PER_DAY > offset) {
|
|
227
185
|
offset = leapSeconds[index - 1].leapSeconds;
|
|
228
186
|
}
|
|
229
187
|
}
|
|
230
|
-
|
|
231
188
|
return jd + offset * ONE_BY_SECONDS_PER_DAY;
|
|
232
189
|
}
|
|
233
|
-
|
|
234
190
|
/**
|
|
235
191
|
* Converts atomic julian date(TAI) to the coordinated universal(UTC) julian date.
|
|
236
192
|
* @param {JulianDate} tai - TAI julian date.
|
|
237
193
|
* @returns {JulianDate | undefined} UTC julian date
|
|
238
194
|
*/
|
|
239
|
-
export function TAItoUTC(tai
|
|
195
|
+
export function TAItoUTC(tai) {
|
|
240
196
|
let leapSeconds = leapSecondsTable;
|
|
241
|
-
let index = binarySearch(leapSeconds, tai, function (a
|
|
197
|
+
let index = binarySearch(leapSeconds, tai, function (a, b) {
|
|
242
198
|
return a - b.jd;
|
|
243
199
|
});
|
|
244
|
-
|
|
245
200
|
if (index < 0) {
|
|
246
201
|
index = ~index;
|
|
247
202
|
}
|
|
248
|
-
|
|
249
203
|
if (index >= leapSeconds.length) {
|
|
250
204
|
return tai - leapSeconds[index - 1].leapSeconds * ONE_BY_SECONDS_PER_DAY;
|
|
251
205
|
}
|
|
252
|
-
|
|
253
206
|
if (index === 0) {
|
|
254
207
|
return tai - leapSeconds[0].leapSeconds * ONE_BY_SECONDS_PER_DAY;
|
|
255
208
|
}
|
|
256
|
-
|
|
257
209
|
let diff = (leapSeconds[index].jd - tai) * SECONDS_PER_DAY;
|
|
258
|
-
|
|
259
210
|
if (diff === 0) {
|
|
260
211
|
return tai - leapSeconds[index].leapSeconds * ONE_BY_SECONDS_PER_DAY;
|
|
261
212
|
}
|
|
262
|
-
|
|
263
213
|
if (diff <= 1.0) {
|
|
264
214
|
return;
|
|
265
215
|
}
|
|
266
|
-
|
|
267
216
|
return tai - leapSeconds[index - 1].leapSeconds * ONE_BY_SECONDS_PER_DAY;
|
|
268
217
|
}
|
|
269
|
-
|
|
270
218
|
/**
|
|
271
219
|
* Converts UTC julian date to the javascript date object.
|
|
272
220
|
* @param {JulianDate} utc - UTC julian date.
|
|
273
221
|
* @returns {Date} JavaScript Date object
|
|
274
222
|
*/
|
|
275
|
-
export function UTCtoDate(utc
|
|
223
|
+
export function UTCtoDate(utc) {
|
|
276
224
|
let julianDayNumber = utc | 0;
|
|
277
225
|
let secondsOfDay = (utc - julianDayNumber) * SECONDS_PER_DAY;
|
|
278
|
-
|
|
279
226
|
if (secondsOfDay >= SECONDS_PER_12_HOURS) {
|
|
280
227
|
julianDayNumber++;
|
|
281
228
|
}
|
|
282
|
-
|
|
283
229
|
let L = (julianDayNumber + 68569) | 0;
|
|
284
230
|
let N = ((4 * L) / 146097) | 0;
|
|
285
231
|
L = (L - (((146097 * N + 3) / 4) | 0)) | 0;
|
|
@@ -290,206 +236,181 @@ export function UTCtoDate(utc: JulianDate): Date {
|
|
|
290
236
|
L = (J / 11) | 0;
|
|
291
237
|
let month = (J + 2 - 12 * L) | 0;
|
|
292
238
|
let year = (100 * (N - 49) + I + L) | 0;
|
|
293
|
-
|
|
294
239
|
let hour = (secondsOfDay * ONE_BY_SECONDS_PER_HOUR) | 0;
|
|
295
240
|
let remainingSeconds = secondsOfDay - hour * SECONDS_PER_HOUR;
|
|
296
241
|
let minute = (remainingSeconds * ONE_BY_SECONDS_PER_MINUTE) | 0;
|
|
297
242
|
remainingSeconds = remainingSeconds - minute * SECONDS_PER_MINUTE;
|
|
298
243
|
let second = remainingSeconds | 0;
|
|
299
244
|
let millisecond = ((remainingSeconds - second) * MILLISECONDS_PER_SECOND) | 0;
|
|
300
|
-
|
|
301
245
|
hour += 12;
|
|
302
246
|
if (hour > 23) {
|
|
303
247
|
hour -= 24;
|
|
304
248
|
}
|
|
305
|
-
|
|
306
249
|
return new Date(Date.UTC(year, month - 1, day, hour, minute, second, millisecond));
|
|
307
250
|
}
|
|
308
|
-
|
|
309
251
|
/**
|
|
310
252
|
* Converts TAI julian date to the javascript date object.
|
|
311
253
|
* @param {JulianDate} tai - TAI julian date.
|
|
312
254
|
* @returns {Date} JavaScript Date object
|
|
313
255
|
*/
|
|
314
|
-
export function TAItoDate(tai
|
|
256
|
+
export function TAItoDate(tai) {
|
|
315
257
|
let utc = TAItoUTC(tai);
|
|
316
258
|
if (!utc) {
|
|
317
|
-
utc = TAItoUTC(addSeconds(tai, -1))
|
|
259
|
+
utc = TAItoUTC(addSeconds(tai, -1));
|
|
318
260
|
console.trace(`TAItoDate - can't convert ${tai.toString()} to utc.`);
|
|
319
261
|
}
|
|
320
|
-
|
|
321
262
|
return UTCtoDate(utc);
|
|
322
263
|
}
|
|
323
|
-
|
|
324
264
|
/**
|
|
325
265
|
* Adds milliseconds to the julian date.
|
|
326
266
|
* @param {JulianDate} jd - Julian date.
|
|
327
267
|
* @param {number} milliseconds - Milliseconds to add.
|
|
328
268
|
* @returns {JulianDate} Julian date
|
|
329
269
|
*/
|
|
330
|
-
export function addMilliseconds(jd
|
|
270
|
+
export function addMilliseconds(jd, milliseconds) {
|
|
331
271
|
return jd + milliseconds * ONE_BY_MILLISECONDS_PER_DAY;
|
|
332
272
|
}
|
|
333
|
-
|
|
334
273
|
/**
|
|
335
274
|
* Adds seconds to the julian date.
|
|
336
275
|
* @param {JulianDate} jd - Julian date.
|
|
337
276
|
* @param {number} seconds - Seconds to add.
|
|
338
277
|
* @returns {JulianDate} Julian date
|
|
339
278
|
*/
|
|
340
|
-
export function addSeconds(jd
|
|
279
|
+
export function addSeconds(jd, seconds) {
|
|
341
280
|
return jd + seconds * ONE_BY_SECONDS_PER_DAY;
|
|
342
281
|
}
|
|
343
|
-
|
|
344
282
|
/**
|
|
345
283
|
* Adds hours to the julian date.
|
|
346
284
|
* @param {JulianDate} jd - Julian date.
|
|
347
285
|
* @param {number} hours - Hours to add.
|
|
348
286
|
* @returns {JulianDate} Julian date
|
|
349
287
|
*/
|
|
350
|
-
export function addHours(jd
|
|
288
|
+
export function addHours(jd, hours) {
|
|
351
289
|
return jd + hours * ONE_BY_HOURS_PER_DAY;
|
|
352
290
|
}
|
|
353
|
-
|
|
354
291
|
/**
|
|
355
292
|
* Adds minutes to the julian date.
|
|
356
293
|
* @param {JulianDate} jd - Julian date.
|
|
357
294
|
* @param {number} minutes - Minutes to add.
|
|
358
295
|
* @returns {JulianDate} Julian date
|
|
359
296
|
*/
|
|
360
|
-
export function addMinutes(jd
|
|
297
|
+
export function addMinutes(jd, minutes) {
|
|
361
298
|
return jd + minutes * MINUTES_PER_DAY;
|
|
362
299
|
}
|
|
363
|
-
|
|
364
300
|
/**
|
|
365
301
|
* Adds days to the julian date.
|
|
366
302
|
* @param {JulianDate} jd - Julian date.
|
|
367
303
|
* @param {number} days - Days to add.
|
|
368
304
|
* @returns {JulianDate} Julian date
|
|
369
305
|
*/
|
|
370
|
-
export function addDays(jd
|
|
306
|
+
export function addDays(jd, days) {
|
|
371
307
|
return jd + days;
|
|
372
308
|
}
|
|
373
|
-
|
|
374
309
|
/**
|
|
375
310
|
* Gets milliseconds of a julian date.
|
|
376
311
|
* @param {JulianDate} jd - julian date.
|
|
377
312
|
* @returns {number} Milliseconds
|
|
378
313
|
*/
|
|
379
|
-
export function getMilliseconds(jd
|
|
314
|
+
export function getMilliseconds(jd) {
|
|
380
315
|
let s = jd - (jd | 0);
|
|
381
316
|
s *= SECONDS_PER_DAY;
|
|
382
317
|
return ((s - (s | 0)) * MILLISECONDS_PER_SECOND) | 0;
|
|
383
318
|
}
|
|
384
|
-
|
|
385
319
|
/**
|
|
386
320
|
* Gets seconds of a julian date.
|
|
387
321
|
* @param {JulianDate} jd - julian date.
|
|
388
322
|
* @returns {number} Seconds
|
|
389
323
|
*/
|
|
390
|
-
export function getSeconds(jd
|
|
324
|
+
export function getSeconds(jd) {
|
|
391
325
|
let s = jd - (jd | 0);
|
|
392
326
|
return s * SECONDS_PER_DAY;
|
|
393
327
|
}
|
|
394
|
-
|
|
395
328
|
/**
|
|
396
329
|
* Gets hours of a julian date.
|
|
397
330
|
* @param {JulianDate} jd - julian date.
|
|
398
331
|
* @returns {number} Hours
|
|
399
332
|
*/
|
|
400
|
-
export function getHours(jd
|
|
333
|
+
export function getHours(jd) {
|
|
401
334
|
let julianDayNumber = jd | 0;
|
|
402
335
|
let secondsOfDay = (jd - julianDayNumber) * SECONDS_PER_DAY;
|
|
403
|
-
|
|
404
336
|
let hour = (secondsOfDay * ONE_BY_SECONDS_PER_HOUR) | 0;
|
|
405
337
|
let remainingSeconds = secondsOfDay - hour * SECONDS_PER_HOUR;
|
|
406
338
|
let minute = (remainingSeconds * ONE_BY_SECONDS_PER_MINUTE) | 0;
|
|
407
339
|
remainingSeconds = remainingSeconds - minute * SECONDS_PER_MINUTE;
|
|
408
340
|
let second = remainingSeconds | 0;
|
|
409
341
|
let millisecond = ((remainingSeconds - second) * MILLISECONDS_PER_SECOND) | 0;
|
|
410
|
-
|
|
411
342
|
hour += 12 + minute / 60 + second / 3600 + millisecond / 1000;
|
|
412
343
|
if (hour > 23) {
|
|
413
344
|
hour -= 24;
|
|
414
345
|
}
|
|
415
|
-
|
|
416
346
|
return hour;
|
|
417
347
|
}
|
|
418
|
-
|
|
419
348
|
/**
|
|
420
349
|
* Gets minutes of a julian date.
|
|
421
350
|
* @param {JulianDate} jd - julian date.
|
|
422
351
|
* @returns {number} Minutes
|
|
423
352
|
*/
|
|
424
|
-
export function getMinutes(jd
|
|
353
|
+
export function getMinutes(jd) {
|
|
425
354
|
let s = jd - (jd | 0);
|
|
426
355
|
return (s * MINUTES_PER_DAY) | 0;
|
|
427
356
|
}
|
|
428
|
-
|
|
429
357
|
/**
|
|
430
358
|
* Gets days of a julian date.
|
|
431
359
|
* @param {JulianDate} jd - julian date.
|
|
432
360
|
* @returns {number} Days
|
|
433
361
|
*/
|
|
434
|
-
export function getDays(jd
|
|
362
|
+
export function getDays(jd) {
|
|
435
363
|
return jd | 0;
|
|
436
364
|
}
|
|
437
|
-
|
|
438
365
|
/**
|
|
439
366
|
* Returns days in seconds.
|
|
440
367
|
* @param {number} s - Seconds.
|
|
441
368
|
* @returns {number} Days
|
|
442
369
|
*/
|
|
443
|
-
export function secondsToDays(s
|
|
370
|
+
export function secondsToDays(s) {
|
|
444
371
|
return s * ONE_BY_SECONDS_PER_DAY;
|
|
445
372
|
}
|
|
446
|
-
|
|
447
373
|
/**
|
|
448
374
|
* Returns seconds in days.
|
|
449
375
|
* @param {number} d - Days.
|
|
450
376
|
* @returns {number} Seconds
|
|
451
377
|
*/
|
|
452
|
-
export function daysToSeconds(d
|
|
378
|
+
export function daysToSeconds(d) {
|
|
453
379
|
return d * SECONDS_PER_DAY;
|
|
454
380
|
}
|
|
455
|
-
|
|
456
|
-
type LeapSeconds = { jd: JulianDate, leapSeconds: number };
|
|
457
|
-
|
|
458
|
-
function __ls(jd: JulianDate, leapSeconds: number): LeapSeconds {
|
|
381
|
+
function __ls(jd, leapSeconds) {
|
|
459
382
|
return {
|
|
460
383
|
jd: jd,
|
|
461
384
|
leapSeconds: leapSeconds
|
|
462
385
|
};
|
|
463
386
|
}
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
__ls(
|
|
467
|
-
__ls(
|
|
468
|
-
__ls(
|
|
469
|
-
__ls(
|
|
470
|
-
__ls(
|
|
471
|
-
__ls(
|
|
472
|
-
__ls(
|
|
473
|
-
__ls(
|
|
474
|
-
__ls(
|
|
475
|
-
__ls(
|
|
476
|
-
__ls(
|
|
477
|
-
__ls(
|
|
478
|
-
__ls(
|
|
479
|
-
__ls(
|
|
480
|
-
__ls(
|
|
481
|
-
__ls(
|
|
482
|
-
__ls(
|
|
483
|
-
__ls(
|
|
484
|
-
__ls(
|
|
485
|
-
__ls(
|
|
486
|
-
__ls(
|
|
487
|
-
__ls(
|
|
488
|
-
__ls(
|
|
489
|
-
__ls(
|
|
490
|
-
__ls(
|
|
491
|
-
__ls(2456109.5, 35.0), // 2012-07-01T00:00:00.000Z
|
|
387
|
+
const leapSecondsTable = [
|
|
388
|
+
__ls(2441317.5, 10.0),
|
|
389
|
+
__ls(2441499.5, 11.0),
|
|
390
|
+
__ls(2441683.5, 12.0),
|
|
391
|
+
__ls(2442048.5, 13.0),
|
|
392
|
+
__ls(2442413.5, 14.0),
|
|
393
|
+
__ls(2442778.5, 15.0),
|
|
394
|
+
__ls(2443144.5, 16.0),
|
|
395
|
+
__ls(2443509.5, 17.0),
|
|
396
|
+
__ls(2443874.5, 18.0),
|
|
397
|
+
__ls(2444239.5, 19.0),
|
|
398
|
+
__ls(2444786.5, 20.0),
|
|
399
|
+
__ls(2445151.5, 21.0),
|
|
400
|
+
__ls(2445516.5, 22.0),
|
|
401
|
+
__ls(2446247.5, 23.0),
|
|
402
|
+
__ls(2447161.5, 24.0),
|
|
403
|
+
__ls(2447892.5, 25.0),
|
|
404
|
+
__ls(2448257.5, 26.0),
|
|
405
|
+
__ls(2448804.5, 27.0),
|
|
406
|
+
__ls(2449169.5, 28.0),
|
|
407
|
+
__ls(2449534.5, 29.0),
|
|
408
|
+
__ls(2450083.5, 30.0),
|
|
409
|
+
__ls(2450630.5, 31.0),
|
|
410
|
+
__ls(2451179.5, 32.0),
|
|
411
|
+
__ls(2453736.5, 33.0),
|
|
412
|
+
__ls(2454832.5, 34.0),
|
|
413
|
+
__ls(2456109.5, 35.0),
|
|
492
414
|
__ls(2457204.5, 36.0) // 2015-07-01T00:00:00.000Z
|
|
493
415
|
];
|
|
494
|
-
|
|
495
416
|
export const J2000TAI = UTCtoTAI(J2000);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Mat3 } from "../math/Mat3";
|
|
2
|
+
export declare function getEccentricAnomaly(M: number, ecc: number): number;
|
|
3
|
+
export declare function getEllipticalEccentricAnomaly(meanAnomaly: number, eccentricity: number): number;
|
|
4
|
+
export declare function getTrueAnomaly(eccentricAnomaly: number, eccentricity: number): number;
|
|
5
|
+
export declare function getPerifocalToCartesianMatrix(argumentOfPeriapsis: number, inclination: number, rightAscension: number): Mat3;
|
|
@@ -1,53 +1,52 @@
|
|
|
1
1
|
import * as math from "../math";
|
|
2
|
-
import {Mat3} from "../math/Mat3";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export function getEccentricAnomaly(M: number, ecc: number): number {
|
|
7
|
-
if (ecc == 0.0) {
|
|
2
|
+
import { Mat3 } from "../math/Mat3";
|
|
3
|
+
export function getEccentricAnomaly(M, ecc) {
|
|
4
|
+
if (ecc === 0.0) {
|
|
8
5
|
// Circular orbit
|
|
9
6
|
return M;
|
|
10
|
-
}
|
|
7
|
+
}
|
|
8
|
+
else if (ecc < 0.2) {
|
|
11
9
|
// Low eccentricity, so use the standard iteration technique
|
|
12
10
|
return math.solve_iteration_fixed(solveKeplerFunc1(ecc, M), M, 5);
|
|
13
|
-
}
|
|
11
|
+
}
|
|
12
|
+
else if (ecc < 0.9) {
|
|
14
13
|
// Higher eccentricity elliptical orbit; use a more complex but
|
|
15
14
|
// much faster converging iteration.
|
|
16
15
|
return math.solve_iteration_fixed(solveKeplerFunc2(ecc, M), M, 6);
|
|
17
|
-
}
|
|
16
|
+
}
|
|
17
|
+
else if (ecc < 1.0) {
|
|
18
18
|
// Extremely stable Laguerre-Conway method for solving Kepler's
|
|
19
19
|
// equation. Only use this for high-eccentricity orbits, as it
|
|
20
20
|
// requires more calculation.
|
|
21
21
|
let E = M + 0.85 * ecc * Math.sign(Math.sin(M));
|
|
22
22
|
return math.solve_iteration_fixed(solveKeplerLaguerreConway(ecc, M), E, 8);
|
|
23
|
-
}
|
|
23
|
+
}
|
|
24
|
+
else if (ecc === 1.0) {
|
|
24
25
|
// TODO: Parabolic orbit
|
|
25
26
|
return M;
|
|
26
|
-
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
27
29
|
// Laguerre-Conway method for hyperbolic (ecc > 1) orbits.
|
|
28
30
|
let E = Math.log((2 * M) / ecc + 1.85);
|
|
29
31
|
return math.solve_iteration_fixed(solveKeplerLaguerreConwayHyp(ecc, M), E, 30);
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
|
-
|
|
33
34
|
// Standard iteration for solving Kepler's Equation
|
|
34
|
-
function solveKeplerFunc1(ecc
|
|
35
|
-
return function (x
|
|
35
|
+
function solveKeplerFunc1(ecc, M) {
|
|
36
|
+
return function (x) {
|
|
36
37
|
return M + ecc * Math.sin(x);
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
|
-
|
|
40
40
|
// Faster converging iteration for Kepler's Equation; more efficient
|
|
41
41
|
// than above for orbits with eccentricities greater than 0.3. This
|
|
42
42
|
// is from Jean Meeus's _Astronomical Algorithms_ (2nd ed), p. 199
|
|
43
|
-
function solveKeplerFunc2(ecc
|
|
44
|
-
return function (x
|
|
43
|
+
function solveKeplerFunc2(ecc, M) {
|
|
44
|
+
return function (x) {
|
|
45
45
|
return x + (M + ecc * Math.sin(x) - x) / (1 - ecc * Math.cos(x));
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
function
|
|
50
|
-
return function (x: number) {
|
|
48
|
+
function solveKeplerLaguerreConway(ecc, M) {
|
|
49
|
+
return function (x) {
|
|
51
50
|
const s = ecc * Math.sin(x);
|
|
52
51
|
const c = ecc * Math.cos(x);
|
|
53
52
|
const f = x - s - M;
|
|
@@ -56,9 +55,8 @@ function solveKeplerLaguerreConway(ecc: number, M: number): Func {
|
|
|
56
55
|
return x;
|
|
57
56
|
};
|
|
58
57
|
}
|
|
59
|
-
|
|
60
|
-
function
|
|
61
|
-
return function (x: number) {
|
|
58
|
+
function solveKeplerLaguerreConwayHyp(ecc, M) {
|
|
59
|
+
return function (x) {
|
|
62
60
|
const s = ecc * Math.sinh(x);
|
|
63
61
|
const c = ecc * Math.cosh(x);
|
|
64
62
|
const f = s - x - M;
|
|
@@ -67,8 +65,7 @@ function solveKeplerLaguerreConwayHyp(ecc: number, M: number): Func {
|
|
|
67
65
|
return x;
|
|
68
66
|
};
|
|
69
67
|
}
|
|
70
|
-
|
|
71
|
-
export function getEllipticalEccentricAnomaly(meanAnomaly: number, eccentricity: number): number {
|
|
68
|
+
export function getEllipticalEccentricAnomaly(meanAnomaly, eccentricity) {
|
|
72
69
|
const tol = 0.00000001745;
|
|
73
70
|
let iterations = 20;
|
|
74
71
|
let e = meanAnomaly - 2.0 * Math.PI * ((meanAnomaly / (2.0 * Math.PI)) | 0);
|
|
@@ -81,29 +78,19 @@ export function getEllipticalEccentricAnomaly(meanAnomaly: number, eccentricity:
|
|
|
81
78
|
}
|
|
82
79
|
return e;
|
|
83
80
|
}
|
|
84
|
-
|
|
85
|
-
export function getTrueAnomaly(eccentricAnomaly: number, eccentricity: number): number {
|
|
81
|
+
export function getTrueAnomaly(eccentricAnomaly, eccentricity) {
|
|
86
82
|
const revs = Math.floor(eccentricAnomaly / math.TWO_PI);
|
|
87
83
|
eccentricAnomaly -= revs * math.TWO_PI;
|
|
88
|
-
let trueAnomaly = Math.atan2(
|
|
89
|
-
Math.sin(eccentricAnomaly) * Math.sqrt(1 - eccentricity * eccentricity),
|
|
90
|
-
Math.cos(eccentricAnomaly) - eccentricity
|
|
91
|
-
);
|
|
84
|
+
let trueAnomaly = Math.atan2(Math.sin(eccentricAnomaly) * Math.sqrt(1 - eccentricity * eccentricity), Math.cos(eccentricAnomaly) - eccentricity);
|
|
92
85
|
trueAnomaly = math.zeroTwoPI(trueAnomaly);
|
|
93
86
|
if (eccentricAnomaly < 0) {
|
|
94
87
|
trueAnomaly -= math.TWO_PI;
|
|
95
88
|
}
|
|
96
89
|
return trueAnomaly + revs * math.TWO_PI;
|
|
97
90
|
}
|
|
98
|
-
|
|
99
|
-
export function getPerifocalToCartesianMatrix(argumentOfPeriapsis: number, inclination: number, rightAscension: number): Mat3 {
|
|
91
|
+
export function getPerifocalToCartesianMatrix(argumentOfPeriapsis, inclination, rightAscension) {
|
|
100
92
|
let res = new Mat3();
|
|
101
|
-
let cosap = Math.cos(argumentOfPeriapsis),
|
|
102
|
-
sinap = Math.sin(argumentOfPeriapsis),
|
|
103
|
-
cosi = Math.cos(inclination),
|
|
104
|
-
sini = Math.sin(inclination),
|
|
105
|
-
cosraan = Math.cos(rightAscension),
|
|
106
|
-
sinraan = Math.sin(rightAscension);
|
|
93
|
+
let cosap = Math.cos(argumentOfPeriapsis), sinap = Math.sin(argumentOfPeriapsis), cosi = Math.cos(inclination), sini = Math.sin(inclination), cosraan = Math.cos(rightAscension), sinraan = Math.sin(rightAscension);
|
|
107
94
|
res._m[0] = cosraan * cosap - sinraan * sinap * cosi;
|
|
108
95
|
res._m[1] = sinraan * cosap + cosraan * sinap * cosi;
|
|
109
96
|
res._m[2] = sinap * sini;
|