@openglobus/og 0.24.2 → 0.25.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/lib/{js/Globe.d.ts → Globe.d.ts} +16 -18
- package/lib/{js/Object3d.d.ts → Object3d.d.ts} +1 -1
- package/lib/{@openglobus/js/camera → camera}/Camera.d.ts +16 -22
- package/lib/{@openglobus/js/camera → camera}/Frustum.d.ts +1 -1
- package/lib/control/CameraFrameComposer.d.ts +35 -0
- package/lib/control/KeyboardNavigation.d.ts +32 -0
- package/lib/control/MouseWheelZoomControl.d.ts +1 -0
- package/lib/{js/control → control/atmosphere}/Atmosphere.d.ts +9 -6
- package/lib/{@openglobus/js/control → control/atmosphere}/AtmosphereConfig.d.ts +6 -6
- package/lib/{js/control → control}/index.d.ts +3 -1
- package/lib/control/object3dManager/Object3dCollection.d.ts +21 -0
- package/lib/control/object3dManager/Object3dCollectionView.d.ts +15 -0
- package/lib/control/object3dManager/Object3dItemView.d.ts +10 -0
- package/lib/control/object3dManager/Object3dManager.d.ts +28 -0
- package/lib/control/object3dManager/Object3dManagerDialog.d.ts +23 -0
- package/lib/{js/control → control}/visibleExtent/Segment.d.ts +3 -3
- package/lib/entity/LabelWorker.worker.d.ts +1 -0
- package/lib/{@openglobus/js/index.d.ts → index.d.ts} +1 -0
- package/lib/og.css +1 -0
- package/lib/og.es.js +1 -0
- package/lib/{@openglobus/js/renderer → renderer}/Renderer.d.ts +28 -28
- package/lib/{@openglobus/js/scene → scene}/Planet.d.ts +3 -3
- package/lib/{@openglobus/js/segment → segment}/Segment.d.ts +1 -1
- package/lib/{js/segment → segment}/segmentHelper.d.ts +1 -1
- package/lib/{@openglobus/js/shaders → shaders/atmos}/atmos.d.ts +7 -5
- package/lib/{@openglobus/js/shaders → shaders/billboard}/billboard.d.ts +1 -1
- package/lib/shaders/drawnode/drawnode.d.ts +8 -0
- package/lib/{@openglobus/js/shaders/geoObject.d.ts → shaders/geo_object/geo_object.d.ts} +1 -1
- package/lib/{@openglobus/js/shaders → shaders/label}/label.d.ts +1 -1
- package/lib/{@openglobus/js/shaders → shaders/polyline}/polyline.d.ts +1 -1
- package/lib/shaders/ray/ray.d.ts +2 -0
- package/lib/{@openglobus/js/shaders → shaders/tone_mapping}/toneMapping.d.ts +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/{@openglobus/js/ui → ui}/Dialog.d.ts +1 -1
- package/lib/{@openglobus/js/ui → ui}/View.d.ts +1 -0
- package/lib/{@openglobus/js/utils → utils}/BaseWorker.d.ts +2 -2
- package/lib/utils/PlainSegmentWorker.worker.d.ts +1 -0
- package/lib/utils/TerrainWorker.worker.d.ts +1 -0
- package/lib/{@openglobus/js/utils → utils}/objParser.d.ts +1 -1
- package/lib/{js/utils → utils}/shared.d.ts +16 -0
- package/lib/{js/webgl → webgl}/Framebuffer.d.ts +21 -5
- package/lib/{@openglobus/js/webgl → webgl}/Handler.d.ts +0 -1
- package/package.json +76 -68
- package/res/fonts/Ephesis-Regular.json +4648 -0
- package/res/fonts/Ephesis-Regular.ttf.cfg +1282 -0
- package/res/fonts/Ephesis-Regular.ttf.png +0 -0
- package/res/fonts/Karla-Bold.json +5252 -0
- package/res/fonts/Karla-Bold.ttf.cfg +920 -0
- package/res/fonts/Karla-Bold.ttf.png +0 -0
- package/res/fonts/Karla-Light.json +5252 -0
- package/res/fonts/Karla-Light.ttf.cfg +830 -0
- package/res/fonts/Karla-Light.ttf.png +0 -0
- package/res/fonts/Karla-Medium.json +5252 -0
- package/res/fonts/Karla-Medium.ttf.cfg +1196 -0
- package/res/fonts/Karla-Medium.ttf.png +0 -0
- package/res/fonts/NotoSansArabic-Regular.json +3332 -0
- package/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
- package/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- package/res/fonts/Roboto-Regular.json +37147 -0
- package/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
- package/res/fonts/Roboto-Regular.ttf.png +0 -0
- package/res/fonts/arial.js +4325 -0
- package/res/fonts/arial.json +4321 -0
- package/res/fonts/arial.ttf.cfg +1570 -0
- package/res/fonts/arial.ttf.png +0 -0
- package/res/night-4326.png +0 -0
- package/res/night.png +0 -0
- package/res/spec.png +0 -0
- package/css/og.css +0 -1342
- package/lib/@openglobus/js/Globe.d.ts +0 -145
- package/lib/@openglobus/js/Object3d.d.ts +0 -81
- package/lib/@openglobus/js/control/Atmosphere.d.ts +0 -40
- package/lib/@openglobus/js/control/KeyboardNavigation.d.ts +0 -28
- package/lib/@openglobus/js/control/index.d.ts +0 -30
- package/lib/@openglobus/js/segment/segmentHelper.d.ts +0 -18
- package/lib/@openglobus/js/shaders/bloom.d.ts +0 -2
- package/lib/@openglobus/js/shaders/blur.d.ts +0 -3
- package/lib/@openglobus/js/shaders/drawnode.d.ts +0 -10
- package/lib/@openglobus/js/shaders/lumFilter.d.ts +0 -2
- package/lib/@openglobus/js/shaders/ray.d.ts +0 -2
- package/lib/@openglobus/js/shaders/utils.d.ts +0 -1
- package/lib/@openglobus/js/utils/shared.d.ts +0 -287
- package/lib/@openglobus/js/webgl/Framebuffer.d.ts +0 -97
- package/lib/@openglobus/og.css +0 -1
- package/lib/@openglobus/og.esm.js +0 -2
- package/lib/@openglobus/og.esm.js.map +0 -1
- package/lib/@openglobus/og.umd.js +0 -2
- package/lib/@openglobus/og.umd.js.map +0 -1
- package/lib/js/Clock.d.ts +0 -106
- package/lib/js/Clock.js +0 -141
- package/lib/js/Deferred.d.ts +0 -6
- package/lib/js/Deferred.js +0 -13
- package/lib/js/Events.d.ts +0 -90
- package/lib/js/Events.js +0 -145
- package/lib/js/Extent.d.ts +0 -145
- package/lib/js/Extent.js +0 -278
- package/lib/js/Globe.js +0 -289
- package/lib/js/ImageCanvas.d.ts +0 -128
- package/lib/js/ImageCanvas.js +0 -203
- package/lib/js/Lock.d.ts +0 -15
- package/lib/js/Lock.js +0 -27
- package/lib/js/LonLat.d.ts +0 -128
- package/lib/js/LonLat.js +0 -192
- package/lib/js/Object3d.js +0 -508
- package/lib/js/Popup.d.ts +0 -49
- package/lib/js/Popup.js +0 -160
- package/lib/js/QueueArray.d.ts +0 -16
- package/lib/js/QueueArray.js +0 -63
- package/lib/js/Rectangle.d.ts +0 -76
- package/lib/js/Rectangle.js +0 -77
- package/lib/js/Stack.d.ts +0 -20
- package/lib/js/Stack.js +0 -42
- package/lib/js/astro/astro.d.ts +0 -39
- package/lib/js/astro/astro.js +0 -43
- package/lib/js/astro/earth.d.ts +0 -8
- package/lib/js/astro/earth.js +0 -75
- package/lib/js/astro/jd.d.ts +0 -234
- package/lib/js/astro/jd.js +0 -416
- package/lib/js/astro/orbit.d.ts +0 -5
- package/lib/js/astro/orbit.js +0 -104
- package/lib/js/astro/rotation.d.ts +0 -2
- package/lib/js/astro/rotation.js +0 -25
- package/lib/js/bv/Box.d.ts +0 -32
- package/lib/js/bv/Box.js +0 -53
- package/lib/js/bv/Sphere.d.ts +0 -37
- package/lib/js/bv/Sphere.js +0 -31
- package/lib/js/bv/index.d.ts +0 -3
- package/lib/js/bv/index.js +0 -3
- package/lib/js/camera/Camera.d.ts +0 -361
- package/lib/js/camera/Camera.js +0 -541
- package/lib/js/camera/Frustum.d.ts +0 -142
- package/lib/js/camera/Frustum.js +0 -246
- package/lib/js/camera/PlanetCamera.d.ts +0 -247
- package/lib/js/camera/PlanetCamera.js +0 -513
- package/lib/js/camera/index.d.ts +0 -3
- package/lib/js/camera/index.js +0 -3
- package/lib/js/cons.d.ts +0 -40
- package/lib/js/cons.js +0 -92
- package/lib/js/control/Atmosphere.js +0 -401
- package/lib/js/control/AtmosphereConfig.d.ts +0 -59
- package/lib/js/control/AtmosphereConfig.js +0 -348
- package/lib/js/control/CameraLock.d.ts +0 -38
- package/lib/js/control/CameraLock.js +0 -216
- package/lib/js/control/CompassButton.d.ts +0 -16
- package/lib/js/control/CompassButton.js +0 -118
- package/lib/js/control/Control.d.ts +0 -100
- package/lib/js/control/Control.js +0 -137
- package/lib/js/control/DebugInfo.d.ts +0 -25
- package/lib/js/control/DebugInfo.js +0 -318
- package/lib/js/control/DrawingSwitcher.d.ts +0 -13
- package/lib/js/control/DrawingSwitcher.js +0 -94
- package/lib/js/control/EarthCoordinates.d.ts +0 -41
- package/lib/js/control/EarthCoordinates.js +0 -161
- package/lib/js/control/GeoImageDragControl.d.ts +0 -22
- package/lib/js/control/GeoImageDragControl.js +0 -102
- package/lib/js/control/KeyboardNavigation.d.ts +0 -28
- package/lib/js/control/KeyboardNavigation.js +0 -143
- package/lib/js/control/LayerAnimation.d.ts +0 -71
- package/lib/js/control/LayerAnimation.js +0 -283
- package/lib/js/control/LayerSwitcher.d.ts +0 -38
- package/lib/js/control/LayerSwitcher.js +0 -151
- package/lib/js/control/Lighting.d.ts +0 -54
- package/lib/js/control/Lighting.js +0 -459
- package/lib/js/control/MouseNavigation.d.ts +0 -76
- package/lib/js/control/MouseNavigation.js +0 -414
- package/lib/js/control/MouseWheelZoomControl.d.ts +0 -0
- package/lib/js/control/MouseWheelZoomControl.js +0 -270
- package/lib/js/control/OldMouseNavigation.d.ts +0 -65
- package/lib/js/control/OldMouseNavigation.js +0 -368
- package/lib/js/control/RulerSwitcher.d.ts +0 -18
- package/lib/js/control/RulerSwitcher.js +0 -57
- package/lib/js/control/ScaleControl.d.ts +0 -25
- package/lib/js/control/ScaleControl.js +0 -97
- package/lib/js/control/SegmentBoundVisualization.d.ts +0 -13
- package/lib/js/control/SegmentBoundVisualization.js +0 -37
- package/lib/js/control/ShowFps.d.ts +0 -10
- package/lib/js/control/ShowFps.js +0 -20
- package/lib/js/control/SimpleNavigation.d.ts +0 -43
- package/lib/js/control/SimpleNavigation.js +0 -196
- package/lib/js/control/SimpleSkyBackground.d.ts +0 -18
- package/lib/js/control/SimpleSkyBackground.js +0 -187
- package/lib/js/control/Sun.d.ts +0 -34
- package/lib/js/control/Sun.js +0 -117
- package/lib/js/control/ToggleWireframe.d.ts +0 -15
- package/lib/js/control/ToggleWireframe.js +0 -28
- package/lib/js/control/TouchNavigation.d.ts +0 -53
- package/lib/js/control/TouchNavigation.js +0 -266
- package/lib/js/control/ZoomControl.d.ts +0 -28
- package/lib/js/control/ZoomControl.js +0 -86
- package/lib/js/control/drawing/DrawingControl.d.ts +0 -12
- package/lib/js/control/drawing/DrawingControl.js +0 -35
- package/lib/js/control/drawing/LineStringDrawingScene.d.ts +0 -15
- package/lib/js/control/drawing/LineStringDrawingScene.js +0 -139
- package/lib/js/control/drawing/PolygonDrawingScene.d.ts +0 -98
- package/lib/js/control/drawing/PolygonDrawingScene.js +0 -533
- package/lib/js/control/elevationProfile/ElevationProfile.d.ts +0 -77
- package/lib/js/control/elevationProfile/ElevationProfile.js +0 -248
- package/lib/js/control/elevationProfile/ElevationProfileButtonsView.d.ts +0 -15
- package/lib/js/control/elevationProfile/ElevationProfileButtonsView.js +0 -61
- package/lib/js/control/elevationProfile/ElevationProfileControl.d.ts +0 -33
- package/lib/js/control/elevationProfile/ElevationProfileControl.js +0 -151
- package/lib/js/control/elevationProfile/ElevationProfileLegend.d.ts +0 -20
- package/lib/js/control/elevationProfile/ElevationProfileLegend.js +0 -82
- package/lib/js/control/elevationProfile/ElevationProfileScene.d.ts +0 -80
- package/lib/js/control/elevationProfile/ElevationProfileScene.js +0 -542
- package/lib/js/control/elevationProfile/ElevationProfileView.d.ts +0 -65
- package/lib/js/control/elevationProfile/ElevationProfileView.js +0 -504
- package/lib/js/control/elevationProfile/PointListDialog.d.ts +0 -12
- package/lib/js/control/elevationProfile/PointListDialog.js +0 -57
- package/lib/js/control/geoObjectEditor/ArrowEntity.d.ts +0 -15
- package/lib/js/control/geoObjectEditor/ArrowEntity.js +0 -59
- package/lib/js/control/geoObjectEditor/AxisTrackEntity.d.ts +0 -9
- package/lib/js/control/geoObjectEditor/AxisTrackEntity.js +0 -93
- package/lib/js/control/geoObjectEditor/GeoObjectEditor.d.ts +0 -13
- package/lib/js/control/geoObjectEditor/GeoObjectEditor.js +0 -30
- package/lib/js/control/geoObjectEditor/GeoObjectEditorDialog.d.ts +0 -69
- package/lib/js/control/geoObjectEditor/GeoObjectEditorDialog.js +0 -488
- package/lib/js/control/geoObjectEditor/GeoObjectEditorScene.d.ts +0 -127
- package/lib/js/control/geoObjectEditor/GeoObjectEditorScene.js +0 -549
- package/lib/js/control/geoObjectEditor/MoveAxisEntity.d.ts +0 -17
- package/lib/js/control/geoObjectEditor/MoveAxisEntity.js +0 -107
- package/lib/js/control/geoObjectEditor/MovePlaneEntity.d.ts +0 -7
- package/lib/js/control/geoObjectEditor/MovePlaneEntity.js +0 -31
- package/lib/js/control/geoObjectEditor/RotateEntity.d.ts +0 -9
- package/lib/js/control/geoObjectEditor/RotateEntity.js +0 -105
- package/lib/js/control/geoObjectEditor/colors.d.ts +0 -8
- package/lib/js/control/geoObjectEditor/colors.js +0 -8
- package/lib/js/control/heightRuler/HeightRuler.d.ts +0 -7
- package/lib/js/control/heightRuler/HeightRuler.js +0 -11
- package/lib/js/control/heightRuler/HeightRulerScene.d.ts +0 -35
- package/lib/js/control/heightRuler/HeightRulerScene.js +0 -181
- package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +0 -6
- package/lib/js/control/heightRuler/HeightRulerSwitcher.js +0 -13
- package/lib/js/control/index.js +0 -30
- package/lib/js/control/ruler/Ruler.d.ts +0 -14
- package/lib/js/control/ruler/Ruler.js +0 -23
- package/lib/js/control/ruler/RulerScene.d.ts +0 -88
- package/lib/js/control/ruler/RulerScene.js +0 -324
- package/lib/js/control/selection/Selection.d.ts +0 -56
- package/lib/js/control/selection/Selection.js +0 -78
- package/lib/js/control/selection/SelectionScene.d.ts +0 -44
- package/lib/js/control/selection/SelectionScene.js +0 -272
- package/lib/js/control/timeline/TimelineControl.d.ts +0 -18
- package/lib/js/control/timeline/TimelineControl.js +0 -81
- package/lib/js/control/timeline/TimelineModel.d.ts +0 -41
- package/lib/js/control/timeline/TimelineModel.js +0 -104
- package/lib/js/control/timeline/TimelineView.d.ts +0 -86
- package/lib/js/control/timeline/TimelineView.js +0 -363
- package/lib/js/control/timeline/timelineUtils.d.ts +0 -12
- package/lib/js/control/timeline/timelineUtils.js +0 -112
- package/lib/js/control/visibleExtent/Segment.js +0 -1301
- package/lib/js/control/visibleExtent/VisibleExtent.js +0 -56
- package/lib/js/control/visibleExtent/drawnode.d.ts +0 -7
- package/lib/js/control/visibleExtent/drawnode.js +0 -718
- package/lib/js/ellipsoid/Ellipsoid.d.ts +0 -194
- package/lib/js/ellipsoid/Ellipsoid.js +0 -459
- package/lib/js/ellipsoid/index.d.ts +0 -4
- package/lib/js/ellipsoid/index.js +0 -4
- package/lib/js/ellipsoid/mars.d.ts +0 -6
- package/lib/js/ellipsoid/mars.js +0 -6
- package/lib/js/ellipsoid/moon.d.ts +0 -6
- package/lib/js/ellipsoid/moon.js +0 -6
- package/lib/js/ellipsoid/wgs84.d.ts +0 -6
- package/lib/js/ellipsoid/wgs84.js +0 -6
- package/lib/js/entity/BaseBillboard.d.ts +0 -225
- package/lib/js/entity/BaseBillboard.js +0 -284
- package/lib/js/entity/BaseBillboardHandler.d.ts +0 -81
- package/lib/js/entity/BaseBillboardHandler.js +0 -546
- package/lib/js/entity/Billboard.d.ts +0 -114
- package/lib/js/entity/Billboard.js +0 -127
- package/lib/js/entity/BillboardHandler.d.ts +0 -15
- package/lib/js/entity/BillboardHandler.js +0 -103
- package/lib/js/entity/Entity.d.ts +0 -630
- package/lib/js/entity/Entity.js +0 -957
- package/lib/js/entity/EntityCollection.d.ts +0 -368
- package/lib/js/entity/EntityCollection.js +0 -655
- package/lib/js/entity/GeoObject.d.ts +0 -257
- package/lib/js/entity/GeoObject.js +0 -318
- package/lib/js/entity/GeoObjectHandler.d.ts +0 -81
- package/lib/js/entity/GeoObjectHandler.js +0 -515
- package/lib/js/entity/Geometry.d.ts +0 -125
- package/lib/js/entity/Geometry.js +0 -291
- package/lib/js/entity/GeometryHandler.d.ts +0 -86
- package/lib/js/entity/GeometryHandler.js +0 -745
- package/lib/js/entity/InstanceData.d.ts +0 -76
- package/lib/js/entity/InstanceData.js +0 -347
- package/lib/js/entity/Label.d.ts +0 -230
- package/lib/js/entity/Label.js +0 -322
- package/lib/js/entity/LabelHandler.d.ts +0 -65
- package/lib/js/entity/LabelHandler.js +0 -696
- package/lib/js/entity/LabelWorker.d.ts +0 -15
- package/lib/js/entity/LabelWorker.js +0 -163
- package/lib/js/entity/PointCloud.d.ts +0 -179
- package/lib/js/entity/PointCloud.js +0 -327
- package/lib/js/entity/PointCloudHandler.d.ts +0 -42
- package/lib/js/entity/PointCloudHandler.js +0 -82
- package/lib/js/entity/Polyline.d.ts +0 -360
- package/lib/js/entity/Polyline.js +0 -1635
- package/lib/js/entity/PolylineHandler.d.ts +0 -29
- package/lib/js/entity/PolylineHandler.js +0 -103
- package/lib/js/entity/Ray.d.ts +0 -135
- package/lib/js/entity/Ray.js +0 -171
- package/lib/js/entity/RayHandler.d.ts +0 -70
- package/lib/js/entity/RayHandler.js +0 -496
- package/lib/js/entity/Strip.d.ts +0 -141
- package/lib/js/entity/Strip.js +0 -417
- package/lib/js/entity/StripHandler.d.ts +0 -42
- package/lib/js/entity/StripHandler.js +0 -110
- package/lib/js/entity/index.d.ts +0 -10
- package/lib/js/entity/index.js +0 -10
- package/lib/js/index.d.ts +0 -34
- package/lib/js/index.js +0 -34
- package/lib/js/input/KeyboardHandler.d.ts +0 -33
- package/lib/js/input/KeyboardHandler.js +0 -159
- package/lib/js/input/MouseHandler.d.ts +0 -17
- package/lib/js/input/MouseHandler.js +0 -92
- package/lib/js/input/TouchHandler.d.ts +0 -11
- package/lib/js/input/TouchHandler.js +0 -42
- package/lib/js/input/input.d.ts +0 -3
- package/lib/js/input/input.js +0 -47
- package/lib/js/layer/BaseGeoImage.d.ts +0 -146
- package/lib/js/layer/BaseGeoImage.js +0 -382
- package/lib/js/layer/Bing.d.ts +0 -5
- package/lib/js/layer/Bing.js +0 -41
- package/lib/js/layer/CanvasTiles.d.ts +0 -104
- package/lib/js/layer/CanvasTiles.js +0 -292
- package/lib/js/layer/GeoImage.d.ts +0 -62
- package/lib/js/layer/GeoImage.js +0 -133
- package/lib/js/layer/GeoTexture2d.d.ts +0 -18
- package/lib/js/layer/GeoTexture2d.js +0 -37
- package/lib/js/layer/GeoVideo.d.ts +0 -69
- package/lib/js/layer/GeoVideo.js +0 -157
- package/lib/js/layer/KML.d.ts +0 -74
- package/lib/js/layer/KML.js +0 -303
- package/lib/js/layer/Layer.d.ts +0 -416
- package/lib/js/layer/Layer.js +0 -734
- package/lib/js/layer/Material.d.ts +0 -34
- package/lib/js/layer/Material.js +0 -69
- package/lib/js/layer/OpenStreetMap.d.ts +0 -5
- package/lib/js/layer/OpenStreetMap.js +0 -19
- package/lib/js/layer/Vector.d.ts +0 -240
- package/lib/js/layer/Vector.js +0 -767
- package/lib/js/layer/WMS.d.ts +0 -76
- package/lib/js/layer/WMS.js +0 -112
- package/lib/js/layer/XYZ.d.ts +0 -149
- package/lib/js/layer/XYZ.js +0 -299
- package/lib/js/layer/index.d.ts +0 -12
- package/lib/js/layer/index.js +0 -12
- package/lib/js/light/LightSource.d.ts +0 -36
- package/lib/js/light/LightSource.js +0 -86
- package/lib/js/math/Line2.d.ts +0 -11
- package/lib/js/math/Line2.js +0 -21
- package/lib/js/math/Line3.d.ts +0 -28
- package/lib/js/math/Line3.js +0 -85
- package/lib/js/math/Mat3.d.ts +0 -77
- package/lib/js/math/Mat3.js +0 -139
- package/lib/js/math/Mat4.d.ts +0 -204
- package/lib/js/math/Mat4.js +0 -487
- package/lib/js/math/Plane.d.ts +0 -22
- package/lib/js/math/Plane.js +0 -118
- package/lib/js/math/Quat.d.ts +0 -393
- package/lib/js/math/Quat.js +0 -794
- package/lib/js/math/Ray.d.ts +0 -72
- package/lib/js/math/Ray.js +0 -211
- package/lib/js/math/Vec2.d.ts +0 -332
- package/lib/js/math/Vec2.js +0 -495
- package/lib/js/math/Vec3.d.ts +0 -488
- package/lib/js/math/Vec3.js +0 -828
- package/lib/js/math/Vec4.d.ts +0 -163
- package/lib/js/math/Vec4.js +0 -211
- package/lib/js/math/coder.d.ts +0 -53
- package/lib/js/math/coder.js +0 -101
- package/lib/js/math/index.d.ts +0 -14
- package/lib/js/math/index.js +0 -11
- package/lib/js/math.d.ts +0 -266
- package/lib/js/math.js +0 -379
- package/lib/js/mercator.d.ts +0 -92
- package/lib/js/mercator.js +0 -120
- package/lib/js/proj/EPSG3857.d.ts +0 -9
- package/lib/js/proj/EPSG3857.js +0 -9
- package/lib/js/proj/EPSG4326.d.ts +0 -9
- package/lib/js/proj/EPSG4326.js +0 -9
- package/lib/js/proj/Proj.d.ts +0 -43
- package/lib/js/proj/Proj.js +0 -38
- package/lib/js/proj/equi.d.ts +0 -9
- package/lib/js/proj/equi.js +0 -9
- package/lib/js/quadTree/EPSG4326/EPSG4326QuadTreeStrategy.d.ts +0 -6
- package/lib/js/quadTree/EPSG4326/EPSG4326QuadTreeStrategy.js +0 -16
- package/lib/js/quadTree/EntityCollectionNode.d.ts +0 -46
- package/lib/js/quadTree/EntityCollectionNode.js +0 -262
- package/lib/js/quadTree/EntityCollectionsTreeStrategy.d.ts +0 -25
- package/lib/js/quadTree/EntityCollectionsTreeStrategy.js +0 -49
- package/lib/js/quadTree/Node.d.ts +0 -80
- package/lib/js/quadTree/Node.js +0 -712
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +0 -39
- package/lib/js/quadTree/QuadTreeStrategy.js +0 -98
- package/lib/js/quadTree/earth/EarthEntityCollectionNodeLonLat.d.ts +0 -19
- package/lib/js/quadTree/earth/EarthEntityCollectionNodeLonLat.js +0 -74
- package/lib/js/quadTree/earth/EarthEntityCollectionsTreeStrategy.d.ts +0 -19
- package/lib/js/quadTree/earth/EarthEntityCollectionsTreeStrategy.js +0 -103
- package/lib/js/quadTree/earth/EarthQuadTreeStrategy.d.ts +0 -27
- package/lib/js/quadTree/earth/EarthQuadTreeStrategy.js +0 -77
- package/lib/js/quadTree/equi/EquiEntityCollectionNodeLonLat.d.ts +0 -18
- package/lib/js/quadTree/equi/EquiEntityCollectionNodeLonLat.js +0 -70
- package/lib/js/quadTree/equi/EquiEntityCollectionsTreeStrategy.d.ts +0 -17
- package/lib/js/quadTree/equi/EquiEntityCollectionsTreeStrategy.js +0 -75
- package/lib/js/quadTree/equi/EquiQuadTreeStrategy.d.ts +0 -19
- package/lib/js/quadTree/equi/EquiQuadTreeStrategy.js +0 -62
- package/lib/js/quadTree/index.d.ts +0 -12
- package/lib/js/quadTree/index.js +0 -12
- package/lib/js/quadTree/quadTree.d.ts +0 -40
- package/lib/js/quadTree/quadTree.js +0 -66
- package/lib/js/quadTree/wgs84/Wgs84QuadTreeStrategy.d.ts +0 -6
- package/lib/js/quadTree/wgs84/Wgs84QuadTreeStrategy.js +0 -15
- package/lib/js/renderer/Renderer.d.ts +0 -343
- package/lib/js/renderer/Renderer.js +0 -969
- package/lib/js/renderer/RendererEvents.d.ts +0 -245
- package/lib/js/renderer/RendererEvents.js +0 -870
- package/lib/js/scene/Axes.d.ts +0 -12
- package/lib/js/scene/Axes.js +0 -59
- package/lib/js/scene/BaseNode.d.ts +0 -61
- package/lib/js/scene/BaseNode.js +0 -69
- package/lib/js/scene/Planet.d.ts +0 -641
- package/lib/js/scene/Planet.js +0 -1617
- package/lib/js/scene/RenderNode.d.ts +0 -135
- package/lib/js/scene/RenderNode.js +0 -313
- package/lib/js/scene/SkyBox.d.ts +0 -13
- package/lib/js/scene/SkyBox.js +0 -87
- package/lib/js/scene/index.d.ts +0 -5
- package/lib/js/scene/index.js +0 -5
- package/lib/js/segment/Segment.d.ts +0 -289
- package/lib/js/segment/Segment.js +0 -1212
- package/lib/js/segment/SegmentLonLat.d.ts +0 -40
- package/lib/js/segment/SegmentLonLat.js +0 -111
- package/lib/js/segment/SegmentLonLatEqui.d.ts +0 -13
- package/lib/js/segment/SegmentLonLatEqui.js +0 -46
- package/lib/js/segment/Slice.d.ts +0 -13
- package/lib/js/segment/Slice.js +0 -33
- package/lib/js/segment/segmentHelper.js +0 -180
- package/lib/js/shaders/atmos.d.ts +0 -20
- package/lib/js/shaders/atmos.js +0 -326
- package/lib/js/shaders/billboard.d.ts +0 -3
- package/lib/js/shaders/billboard.js +0 -214
- package/lib/js/shaders/bloom.d.ts +0 -2
- package/lib/js/shaders/bloom.js +0 -32
- package/lib/js/shaders/blur.d.ts +0 -3
- package/lib/js/shaders/blur.js +0 -68
- package/lib/js/shaders/depth.d.ts +0 -2
- package/lib/js/shaders/depth.js +0 -40
- package/lib/js/shaders/drawnode.d.ts +0 -10
- package/lib/js/shaders/drawnode.js +0 -1008
- package/lib/js/shaders/geoObject.d.ts +0 -4
- package/lib/js/shaders/geoObject.js +0 -294
- package/lib/js/shaders/label.d.ts +0 -4
- package/lib/js/shaders/label.js +0 -589
- package/lib/js/shaders/lumFilter.d.ts +0 -2
- package/lib/js/shaders/lumFilter.js +0 -36
- package/lib/js/shaders/pointCloud.d.ts +0 -2
- package/lib/js/shaders/pointCloud.js +0 -32
- package/lib/js/shaders/polyline.d.ts +0 -3
- package/lib/js/shaders/polyline.js +0 -364
- package/lib/js/shaders/ray.d.ts +0 -2
- package/lib/js/shaders/ray.js +0 -80
- package/lib/js/shaders/screenFrame.d.ts +0 -2
- package/lib/js/shaders/screenFrame.js +0 -26
- package/lib/js/shaders/skybox.d.ts +0 -2
- package/lib/js/shaders/skybox.js +0 -28
- package/lib/js/shaders/toneMapping.d.ts +0 -2
- package/lib/js/shaders/toneMapping.js +0 -85
- package/lib/js/shaders/utils.d.ts +0 -1
- package/lib/js/shaders/utils.js +0 -97
- package/lib/js/terrain/BilTerrain.d.ts +0 -19
- package/lib/js/terrain/BilTerrain.js +0 -153
- package/lib/js/terrain/EmptyTerrain.d.ts +0 -113
- package/lib/js/terrain/EmptyTerrain.js +0 -113
- package/lib/js/terrain/Geoid.d.ts +0 -33
- package/lib/js/terrain/Geoid.js +0 -191
- package/lib/js/terrain/GlobusRgbTerrain.d.ts +0 -7
- package/lib/js/terrain/GlobusRgbTerrain.js +0 -25
- package/lib/js/terrain/GlobusTerrain.d.ts +0 -140
- package/lib/js/terrain/GlobusTerrain.js +0 -351
- package/lib/js/terrain/RgbTerrain.d.ts +0 -43
- package/lib/js/terrain/RgbTerrain.js +0 -428
- package/lib/js/terrain/index.d.ts +0 -6
- package/lib/js/terrain/index.js +0 -6
- package/lib/js/ui/Button.d.ts +0 -33
- package/lib/js/ui/Button.js +0 -78
- package/lib/js/ui/ButtonGroup.d.ts +0 -16
- package/lib/js/ui/ButtonGroup.js +0 -41
- package/lib/js/ui/Checkbox.d.ts +0 -32
- package/lib/js/ui/Checkbox.js +0 -110
- package/lib/js/ui/Color.d.ts +0 -23
- package/lib/js/ui/Color.js +0 -59
- package/lib/js/ui/Dialog.d.ts +0 -59
- package/lib/js/ui/Dialog.js +0 -193
- package/lib/js/ui/Input.d.ts +0 -33
- package/lib/js/ui/Input.js +0 -107
- package/lib/js/ui/Slider.d.ts +0 -39
- package/lib/js/ui/Slider.js +0 -129
- package/lib/js/ui/ToggleButton.d.ts +0 -21
- package/lib/js/ui/ToggleButton.js +0 -42
- package/lib/js/ui/View.d.ts +0 -39
- package/lib/js/ui/View.js +0 -157
- package/lib/js/ui/icons.d.ts +0 -1
- package/lib/js/ui/icons.js +0 -3
- package/lib/js/utils/BaseWorker.d.ts +0 -14
- package/lib/js/utils/BaseWorker.js +0 -47
- package/lib/js/utils/FontAtlas.d.ts +0 -82
- package/lib/js/utils/FontAtlas.js +0 -220
- package/lib/js/utils/GeoImageCreator.d.ts +0 -34
- package/lib/js/utils/GeoImageCreator.js +0 -163
- package/lib/js/utils/ImagesCacheManager.d.ts +0 -22
- package/lib/js/utils/ImagesCacheManager.js +0 -63
- package/lib/js/utils/Loader.d.ts +0 -63
- package/lib/js/utils/Loader.js +0 -156
- package/lib/js/utils/NormalMapCreator.d.ts +0 -53
- package/lib/js/utils/NormalMapCreator.js +0 -310
- package/lib/js/utils/PlainSegmentWorker.d.ts +0 -24
- package/lib/js/utils/PlainSegmentWorker.js +0 -385
- package/lib/js/utils/TerrainWorker.d.ts +0 -28
- package/lib/js/utils/TerrainWorker.js +0 -551
- package/lib/js/utils/TextureAtlas.d.ts +0 -115
- package/lib/js/utils/TextureAtlas.js +0 -231
- package/lib/js/utils/VectorTileCreator.d.ts +0 -18
- package/lib/js/utils/VectorTileCreator.js +0 -320
- package/lib/js/utils/colorTable.d.ts +0 -3
- package/lib/js/utils/colorTable.js +0 -143
- package/lib/js/utils/earcut.d.ts +0 -7
- package/lib/js/utils/earcut.js +0 -536
- package/lib/js/utils/objParser.d.ts +0 -56
- package/lib/js/utils/objParser.js +0 -293
- package/lib/js/utils/shared.js +0 -961
- package/lib/js/utils/units.d.ts +0 -16
- package/lib/js/utils/units.js +0 -61
- package/lib/js/webgl/BaseFramebuffer.d.ts +0 -52
- package/lib/js/webgl/BaseFramebuffer.js +0 -88
- package/lib/js/webgl/Framebuffer.js +0 -256
- package/lib/js/webgl/Handler.d.ts +0 -491
- package/lib/js/webgl/Handler.js +0 -1035
- package/lib/js/webgl/Multisample.d.ts +0 -28
- package/lib/js/webgl/Multisample.js +0 -77
- package/lib/js/webgl/Program.d.ts +0 -159
- package/lib/js/webgl/Program.js +0 -306
- package/lib/js/webgl/ProgramController.d.ts +0 -87
- package/lib/js/webgl/ProgramController.js +0 -110
- package/lib/js/webgl/index.d.ts +0 -6
- package/lib/js/webgl/index.js +0 -6
- package/lib/js/webgl/types.d.ts +0 -9
- package/lib/js/webgl/types.js +0 -26
- package/lib/js/webgl/variableHandlers.d.ts +0 -22
- package/lib/js/webgl/variableHandlers.js +0 -78
- /package/lib/{@openglobus/js/Clock.d.ts → Clock.d.ts} +0 -0
- /package/lib/{@openglobus/js/Deferred.d.ts → Deferred.d.ts} +0 -0
- /package/lib/{@openglobus/js/Events.d.ts → Events.d.ts} +0 -0
- /package/lib/{@openglobus/js/Extent.d.ts → Extent.d.ts} +0 -0
- /package/lib/{@openglobus/js/ImageCanvas.d.ts → ImageCanvas.d.ts} +0 -0
- /package/lib/{@openglobus/js/Lock.d.ts → Lock.d.ts} +0 -0
- /package/lib/{@openglobus/js/LonLat.d.ts → LonLat.d.ts} +0 -0
- /package/lib/{@openglobus/js/Popup.d.ts → Popup.d.ts} +0 -0
- /package/lib/{@openglobus/js/QueueArray.d.ts → QueueArray.d.ts} +0 -0
- /package/lib/{@openglobus/js/Rectangle.d.ts → Rectangle.d.ts} +0 -0
- /package/lib/{@openglobus/js/Stack.d.ts → Stack.d.ts} +0 -0
- /package/lib/{@openglobus/js/astro → astro}/astro.d.ts +0 -0
- /package/lib/{@openglobus/js/astro → astro}/earth.d.ts +0 -0
- /package/lib/{@openglobus/js/astro → astro}/jd.d.ts +0 -0
- /package/lib/{@openglobus/js/astro → astro}/orbit.d.ts +0 -0
- /package/lib/{@openglobus/js/astro → astro}/rotation.d.ts +0 -0
- /package/lib/{@openglobus/js/bv → bv}/Box.d.ts +0 -0
- /package/lib/{@openglobus/js/bv → bv}/Sphere.d.ts +0 -0
- /package/lib/{@openglobus/js/bv → bv}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/camera → camera}/PlanetCamera.d.ts +0 -0
- /package/lib/{@openglobus/js/camera → camera}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/cons.d.ts → cons.d.ts} +0 -0
- /package/lib/{@openglobus/js/control → control}/CameraLock.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/CompassButton.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/Control.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/DebugInfo.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/DrawingSwitcher.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/EarthCoordinates.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/GeoImageDragControl.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/LayerAnimation.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/LayerSwitcher.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/Lighting.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/MouseNavigation.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/OldMouseNavigation.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/RulerSwitcher.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/ScaleControl.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/SegmentBoundVisualization.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/ShowFps.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/SimpleNavigation.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/SimpleSkyBackground.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/Sun.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/ToggleWireframe.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/TouchNavigation.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/ZoomControl.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/drawing/DrawingControl.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/drawing/LineStringDrawingScene.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/drawing/PolygonDrawingScene.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/elevationProfile/ElevationProfile.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/elevationProfile/ElevationProfileButtonsView.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/elevationProfile/ElevationProfileControl.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/elevationProfile/ElevationProfileLegend.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/elevationProfile/ElevationProfileScene.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/elevationProfile/ElevationProfileView.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/elevationProfile/PointListDialog.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/geoObjectEditor/ArrowEntity.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/geoObjectEditor/AxisTrackEntity.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/geoObjectEditor/GeoObjectEditor.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/geoObjectEditor/GeoObjectEditorDialog.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/geoObjectEditor/GeoObjectEditorScene.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/geoObjectEditor/MoveAxisEntity.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/geoObjectEditor/MovePlaneEntity.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/geoObjectEditor/RotateEntity.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/geoObjectEditor/colors.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/heightRuler/HeightRuler.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/heightRuler/HeightRulerScene.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/heightRuler/HeightRulerSwitcher.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/ruler/Ruler.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/ruler/RulerScene.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/selection/Selection.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/selection/SelectionScene.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/timeline/TimelineControl.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/timeline/TimelineModel.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/timeline/TimelineView.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/timeline/timelineUtils.d.ts +0 -0
- /package/lib/{js/control → control}/visibleExtent/VisibleExtent.d.ts +0 -0
- /package/lib/{@openglobus/js/control → control}/visibleExtent/drawnode.d.ts +0 -0
- /package/lib/{@openglobus/js/ellipsoid → ellipsoid}/Ellipsoid.d.ts +0 -0
- /package/lib/{@openglobus/js/ellipsoid → ellipsoid}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/ellipsoid → ellipsoid}/mars.d.ts +0 -0
- /package/lib/{@openglobus/js/ellipsoid → ellipsoid}/moon.d.ts +0 -0
- /package/lib/{@openglobus/js/ellipsoid → ellipsoid}/wgs84.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/BaseBillboard.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/BaseBillboardHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/Billboard.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/BillboardHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/Entity.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/EntityCollection.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/GeoObject.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/GeoObjectHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/Geometry.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/GeometryHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/InstanceData.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/Label.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/LabelHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/LabelWorker.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/PointCloud.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/PointCloudHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/Polyline.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/PolylineHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/Ray.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/RayHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/Strip.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/StripHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/entity → entity}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/input → input}/KeyboardHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/input → input}/MouseHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/input → input}/TouchHandler.d.ts +0 -0
- /package/lib/{@openglobus/js/input → input}/input.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/BaseGeoImage.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/Bing.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/CanvasTiles.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/GeoImage.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/GeoTexture2d.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/GeoVideo.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/KML.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/Layer.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/Material.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/OpenStreetMap.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/Vector.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/WMS.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/XYZ.d.ts +0 -0
- /package/lib/{@openglobus/js/layer → layer}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/light → light}/LightSource.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Line2.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Line3.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Mat3.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Mat4.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Plane.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Quat.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Ray.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Vec2.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Vec3.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/Vec4.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/coder.d.ts +0 -0
- /package/lib/{@openglobus/js/math → math}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/math.d.ts → math.d.ts} +0 -0
- /package/lib/{@openglobus/js/mercator.d.ts → mercator.d.ts} +0 -0
- /package/lib/{@openglobus/js/proj → proj}/EPSG3857.d.ts +0 -0
- /package/lib/{@openglobus/js/proj → proj}/EPSG4326.d.ts +0 -0
- /package/lib/{@openglobus/js/proj → proj}/Proj.d.ts +0 -0
- /package/lib/{@openglobus/js/proj → proj}/equi.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/EPSG4326/EPSG4326QuadTreeStrategy.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/EntityCollectionNode.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/EntityCollectionsTreeStrategy.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/Node.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/QuadTreeStrategy.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/earth/EarthEntityCollectionNodeLonLat.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/earth/EarthEntityCollectionsTreeStrategy.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/earth/EarthQuadTreeStrategy.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/equi/EquiEntityCollectionNodeLonLat.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/equi/EquiEntityCollectionsTreeStrategy.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/equi/EquiQuadTreeStrategy.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/quadTree.d.ts +0 -0
- /package/lib/{@openglobus/js/quadTree → quadTree}/wgs84/Wgs84QuadTreeStrategy.d.ts +0 -0
- /package/lib/{@openglobus/js/renderer → renderer}/RendererEvents.d.ts +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Ephesis-Regular.json +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Ephesis-Regular.ttf.cfg +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Ephesis-Regular.ttf.png +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Karla-Bold.json +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Karla-Bold.ttf.cfg +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Karla-Bold.ttf.png +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Karla-Light.json +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Karla-Light.ttf.cfg +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Karla-Light.ttf.png +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Karla-Medium.json +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Karla-Medium.ttf.cfg +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Karla-Medium.ttf.png +0 -0
- /package/lib/{@openglobus/res → res}/fonts/NotoSansArabic-Regular.json +0 -0
- /package/lib/{@openglobus/res → res}/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
- /package/lib/{@openglobus/res → res}/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Roboto-Regular.json +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Roboto-Regular.ttf.cfg +0 -0
- /package/lib/{@openglobus/res → res}/fonts/Roboto-Regular.ttf.png +0 -0
- /package/lib/{@openglobus/res → res}/fonts/arial.js +0 -0
- /package/lib/{@openglobus/res → res}/fonts/arial.json +0 -0
- /package/lib/{@openglobus/res → res}/fonts/arial.ttf.cfg +0 -0
- /package/lib/{@openglobus/res → res}/fonts/arial.ttf.png +0 -0
- /package/lib/{@openglobus/res → res}/night-4326.png +0 -0
- /package/lib/{@openglobus/res → res}/night.png +0 -0
- /package/lib/{@openglobus/res → res}/spec.png +0 -0
- /package/lib/{@openglobus/js/scene → scene}/Axes.d.ts +0 -0
- /package/lib/{@openglobus/js/scene → scene}/BaseNode.d.ts +0 -0
- /package/lib/{@openglobus/js/scene → scene}/RenderNode.d.ts +0 -0
- /package/lib/{@openglobus/js/scene → scene}/SkyBox.d.ts +0 -0
- /package/lib/{@openglobus/js/scene → scene}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/segment → segment}/SegmentLonLat.d.ts +0 -0
- /package/lib/{@openglobus/js/segment → segment}/SegmentLonLatEqui.d.ts +0 -0
- /package/lib/{@openglobus/js/segment → segment}/Slice.d.ts +0 -0
- /package/lib/{@openglobus/js/shaders → shaders}/depth.d.ts +0 -0
- /package/lib/{@openglobus/js/shaders → shaders}/pointCloud.d.ts +0 -0
- /package/lib/{@openglobus/js/shaders → shaders}/screenFrame.d.ts +0 -0
- /package/lib/{@openglobus/js/shaders → shaders}/skybox.d.ts +0 -0
- /package/lib/{@openglobus/js/terrain → terrain}/BilTerrain.d.ts +0 -0
- /package/lib/{@openglobus/js/terrain → terrain}/EmptyTerrain.d.ts +0 -0
- /package/lib/{@openglobus/js/terrain → terrain}/Geoid.d.ts +0 -0
- /package/lib/{@openglobus/js/terrain → terrain}/GlobusRgbTerrain.d.ts +0 -0
- /package/lib/{@openglobus/js/terrain → terrain}/GlobusTerrain.d.ts +0 -0
- /package/lib/{@openglobus/js/terrain → terrain}/RgbTerrain.d.ts +0 -0
- /package/lib/{@openglobus/js/terrain → terrain}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/ui → ui}/Button.d.ts +0 -0
- /package/lib/{@openglobus/js/ui → ui}/ButtonGroup.d.ts +0 -0
- /package/lib/{@openglobus/js/ui → ui}/Checkbox.d.ts +0 -0
- /package/lib/{@openglobus/js/ui → ui}/Color.d.ts +0 -0
- /package/lib/{@openglobus/js/ui → ui}/Input.d.ts +0 -0
- /package/lib/{@openglobus/js/ui → ui}/Slider.d.ts +0 -0
- /package/lib/{@openglobus/js/ui → ui}/ToggleButton.d.ts +0 -0
- /package/lib/{@openglobus/js/ui → ui}/icons.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/FontAtlas.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/GeoImageCreator.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/ImagesCacheManager.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/Loader.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/NormalMapCreator.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/PlainSegmentWorker.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/TerrainWorker.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/TextureAtlas.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/VectorTileCreator.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/colorTable.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/earcut.d.ts +0 -0
- /package/lib/{@openglobus/js/utils → utils}/units.d.ts +0 -0
- /package/lib/{@openglobus/js/webgl → webgl}/BaseFramebuffer.d.ts +0 -0
- /package/lib/{@openglobus/js/webgl → webgl}/Multisample.d.ts +0 -0
- /package/lib/{@openglobus/js/webgl → webgl}/Program.d.ts +0 -0
- /package/lib/{@openglobus/js/webgl → webgl}/ProgramController.d.ts +0 -0
- /package/lib/{@openglobus/js/webgl → webgl}/index.d.ts +0 -0
- /package/lib/{@openglobus/js/webgl → webgl}/types.d.ts +0 -0
- /package/lib/{@openglobus/js/webgl → webgl}/variableHandlers.d.ts +0 -0
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { LonLat } from "../LonLat";
|
|
2
|
-
import { Quat } from "../math/Quat";
|
|
3
|
-
import { Vec3 } from "../math/Vec3";
|
|
4
|
-
export interface IInverseResult {
|
|
5
|
-
distance: number;
|
|
6
|
-
initialAzimuth: number;
|
|
7
|
-
finalAzimuth: number;
|
|
8
|
-
}
|
|
9
|
-
export interface IDirectResult {
|
|
10
|
-
destination: LonLat;
|
|
11
|
-
finalAzimuth: number;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Class represents a plant ellipsoid.
|
|
15
|
-
* @class
|
|
16
|
-
* @param {number} equatorialSize - Equatorial ellipsoid size.
|
|
17
|
-
* @param {number} polarSize - Polar ellipsoid size.
|
|
18
|
-
*/
|
|
19
|
-
declare class Ellipsoid {
|
|
20
|
-
/**
|
|
21
|
-
* Equatorial size
|
|
22
|
-
* @type {number}
|
|
23
|
-
* @protected
|
|
24
|
-
*/
|
|
25
|
-
protected _a: number;
|
|
26
|
-
/**
|
|
27
|
-
* Polar size
|
|
28
|
-
* @type {number}
|
|
29
|
-
* @protected
|
|
30
|
-
*/
|
|
31
|
-
protected _b: number;
|
|
32
|
-
protected _flattening: number;
|
|
33
|
-
protected _f: number;
|
|
34
|
-
protected _a2: number;
|
|
35
|
-
protected _b2: number;
|
|
36
|
-
protected _e: number;
|
|
37
|
-
protected _e2: number;
|
|
38
|
-
protected _e22: number;
|
|
39
|
-
protected _k: number;
|
|
40
|
-
protected _k2: number;
|
|
41
|
-
protected _radii: Vec3;
|
|
42
|
-
protected _radii2: Vec3;
|
|
43
|
-
protected _invRadii: Vec3;
|
|
44
|
-
_invRadii2: Vec3;
|
|
45
|
-
constructor(equatorialSize?: number, polarSize?: number);
|
|
46
|
-
/**
|
|
47
|
-
* Returns the distance travelling from ‘this’ point to destination point along a rhumb line.
|
|
48
|
-
* @param {LonLat} startLonLat coordinates.
|
|
49
|
-
* @param {LonLat} endLonLat coordinates
|
|
50
|
-
* @returns {number} Distance in m between this point and destination point (same units as radius).
|
|
51
|
-
*/
|
|
52
|
-
rhumbDistanceTo(startLonLat: LonLat, endLonLat: LonLat): number;
|
|
53
|
-
/**
|
|
54
|
-
* Returns the point at given fraction between two points on the great circle.
|
|
55
|
-
* @param {LonLat} lonLat1 - Longitude/Latitude of source point.
|
|
56
|
-
* @param {LonLat} lonLat2 - Longitude/Latitude of destination point.
|
|
57
|
-
* @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
|
|
58
|
-
* @returns {LonLat} Intermediate point between points.
|
|
59
|
-
*/
|
|
60
|
-
getIntermediatePointOnGreatCircle(lonLat1: LonLat, lonLat2: LonLat, fraction: number): LonLat;
|
|
61
|
-
/**
|
|
62
|
-
* REMOVE ASAP after
|
|
63
|
-
* @param lonLat1
|
|
64
|
-
* @param lonLat2
|
|
65
|
-
* @returns {number}
|
|
66
|
-
*/
|
|
67
|
-
static getBearing(lonLat1: LonLat, lonLat2: LonLat): number;
|
|
68
|
-
getFlattening(): number;
|
|
69
|
-
/**
|
|
70
|
-
* Gets ellipsoid equatorial size.
|
|
71
|
-
* @public
|
|
72
|
-
* @returns {number} -
|
|
73
|
-
*/
|
|
74
|
-
getEquatorialSize(): number;
|
|
75
|
-
get equatorialSize(): number;
|
|
76
|
-
get equatorialSizeSqr(): number;
|
|
77
|
-
/**
|
|
78
|
-
* Gets ellipsoid polar size.
|
|
79
|
-
* @public
|
|
80
|
-
* @returns {number} -
|
|
81
|
-
*/
|
|
82
|
-
getPolarSize(): number;
|
|
83
|
-
get polarSize(): number;
|
|
84
|
-
get polarSizeSqr(): number;
|
|
85
|
-
/**
|
|
86
|
-
* Calculate cartesian coordinates by its ECEF geodetic coordinates.
|
|
87
|
-
* @public
|
|
88
|
-
* @param {LonLat} lonlat - Geodetic coordinates.
|
|
89
|
-
* @returns {Vec3} -
|
|
90
|
-
*/
|
|
91
|
-
lonLatToCartesian(lonlat: LonLat): Vec3;
|
|
92
|
-
/**
|
|
93
|
-
* Calculate cartesian coordinates by its ECEF geodetic coordinates.
|
|
94
|
-
* @public
|
|
95
|
-
* @param {LonLat} lonlat - Geodetic coordinates.
|
|
96
|
-
* @param {Vec3} res - Output variable reference.
|
|
97
|
-
* @returns {Vec3} -
|
|
98
|
-
*/
|
|
99
|
-
lonLatToCartesianRes(lonlat: LonLat, res: Vec3): Vec3;
|
|
100
|
-
/**
|
|
101
|
-
* Gets cartesian ECEF 3d coordinates from geodetic coordinates.
|
|
102
|
-
* @public
|
|
103
|
-
* @param {Number} lon - Longitude.
|
|
104
|
-
* @param {Number} lat - Latitude.
|
|
105
|
-
* @param {Number} height - Height.
|
|
106
|
-
* @param {Vec3} res - Output result variable.
|
|
107
|
-
* @returns {Vec3} -
|
|
108
|
-
*/
|
|
109
|
-
geodeticToCartesian(lon: number, lat: number, height?: number, res?: Vec3): Vec3;
|
|
110
|
-
/**
|
|
111
|
-
* Gets Wgs84 geodetic coordinates from cartesian ECEF.
|
|
112
|
-
* @public
|
|
113
|
-
* @param {Vec3} p - Cartesian coordinates.
|
|
114
|
-
* @returns {LonLat} -
|
|
115
|
-
*/
|
|
116
|
-
projToSurface(p: Vec3): Vec3;
|
|
117
|
-
/**
|
|
118
|
-
* Converts 3d cartesian coordinates to geodetic
|
|
119
|
-
* @param {Vec3} cart - Cartesian coordinates
|
|
120
|
-
* @returns {LonLat} - Geodetic coordinates
|
|
121
|
-
*/
|
|
122
|
-
cartesianToLonLat(cart: Vec3): LonLat;
|
|
123
|
-
/**
|
|
124
|
-
* Converts 3d cartesian coordinates to geodetic
|
|
125
|
-
* @param {Vec3} cart - Cartesian coordinates
|
|
126
|
-
* @param {LonLat} res - Link geodetic coordinates variable
|
|
127
|
-
* @returns {LonLat} - Geodetic coordinates
|
|
128
|
-
*/
|
|
129
|
-
cartesianToLonLatRes(cart: Vec3, res?: LonLat): LonLat;
|
|
130
|
-
/**
|
|
131
|
-
* Gets ellipsoid surface normal.
|
|
132
|
-
* @public
|
|
133
|
-
* @param {Vec3} coord - Spatial coordinates.
|
|
134
|
-
* @return {Vec3} -
|
|
135
|
-
*/
|
|
136
|
-
getSurfaceNormal3v(coord: Vec3): Vec3;
|
|
137
|
-
getGreatCircleDistance(lonLat1: LonLat, lonLat2: LonLat): number;
|
|
138
|
-
/**
|
|
139
|
-
* Calculates the destination point given start point lat / lon, azimuth(deg) and distance (m).
|
|
140
|
-
* Source: http://movable-type.co.uk/scripts/latlong-vincenty-direct.html and optimized / cleaned up by Mathias Bynens <http://mathiasbynens.be/>
|
|
141
|
-
* Based on the Vincenty direct formula by T. Vincenty, “Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations”, Survey Review, vol XXII no 176, 1975 <http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf>
|
|
142
|
-
* @param {LonLat} lonLat - Origin coordinates
|
|
143
|
-
* @param {number} azimuth - View azimuth in degrees
|
|
144
|
-
* @param {number} dist - Distance to the destination point coordinates in meters
|
|
145
|
-
* @returns {LonLat} - Destination point coordinates
|
|
146
|
-
*/
|
|
147
|
-
getGreatCircleDestination(lonLat: LonLat, azimuth: number, dist: number): LonLat;
|
|
148
|
-
/**
|
|
149
|
-
* Returns inverse Geodesic solution for two points
|
|
150
|
-
* @param {LonLat} lonLat1 - start coordinates point
|
|
151
|
-
* @param {LonLat} lonLat2 - end coordinates point
|
|
152
|
-
* @returns {IInverseResult} - Contains distance, initialAzimuth, and finalAzimuth values
|
|
153
|
-
*/
|
|
154
|
-
inverse(lonLat1: LonLat, lonLat2: LonLat): IInverseResult;
|
|
155
|
-
/**
|
|
156
|
-
* Calculates the destination point given start point lat / lon, azimuth(deg) and distance (m).
|
|
157
|
-
* Source: http://movable-type.co.uk/scripts/latlong-vincenty-direct.html and optimized / cleaned up by Mathias Bynens <http://mathiasbynens.be/>
|
|
158
|
-
* Based on the Vincenty direct formula by T. Vincenty, “Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations”, Survey Review, vol XXII no 176, 1975 <http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf>
|
|
159
|
-
* @param {LonLat} lonLat - Origin coordinates
|
|
160
|
-
* @param {number} azimuth - View azimuth in degrees
|
|
161
|
-
* @param {number} dist - Distance to the destination point coordinates in meters
|
|
162
|
-
* @returns {{destination: LonLat, finalAzimuth: number}} - Destination point coordinates
|
|
163
|
-
*/
|
|
164
|
-
direct(lonLat: LonLat, azimuth: number, dist: number): IDirectResult;
|
|
165
|
-
/**
|
|
166
|
-
* Returns cartesian coordinates of the intersection of a ray and an ellipsoid.
|
|
167
|
-
* If the ray doesn't hit ellipsoid returns null.
|
|
168
|
-
* @public
|
|
169
|
-
* @param {Vec3} origin - Ray origin point.
|
|
170
|
-
* @param {Vec3} direction - Ray direction.
|
|
171
|
-
* @returns {Vec3} -
|
|
172
|
-
*/
|
|
173
|
-
hitRay(origin: Vec3, direction: Vec3): Vec3 | undefined;
|
|
174
|
-
getNorthFrameRotation(cartesian: Vec3): Quat;
|
|
175
|
-
/**
|
|
176
|
-
* @todo this is not precise function, needs to be replaced or removed
|
|
177
|
-
* @param lonLat1
|
|
178
|
-
* @param bearing
|
|
179
|
-
* @param distance
|
|
180
|
-
* @returns {LonLat}
|
|
181
|
-
*/
|
|
182
|
-
getBearingDestination(lonLat1: LonLat, bearing?: number, distance?: number): LonLat;
|
|
183
|
-
/**
|
|
184
|
-
* Returns the point at given fraction between two points on the great circle.
|
|
185
|
-
* @param {LonLat} lonLat1 - Longitude/Latitude of source point.
|
|
186
|
-
* @param {LonLat} lonLat2 - Longitude/Latitude of destination point.
|
|
187
|
-
* @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
|
|
188
|
-
* @returns {LonLat} Intermediate point between points.
|
|
189
|
-
*/
|
|
190
|
-
static getIntermediatePointOnGreatCircle(lonLat1: LonLat, lonLat2: LonLat, fraction: number): LonLat;
|
|
191
|
-
static getRhumbBearing(lonLat1: LonLat, lonLat2: LonLat): number;
|
|
192
|
-
getLonLatVisibilitySimple(eye: Vec3, lonLat: LonLat, forward?: Vec3): boolean;
|
|
193
|
-
}
|
|
194
|
-
export { Ellipsoid };
|
|
@@ -1,459 +0,0 @@
|
|
|
1
|
-
import { LonLat } from "../LonLat";
|
|
2
|
-
import { Quat } from "../math/Quat";
|
|
3
|
-
import { Vec3 } from "../math/Vec3";
|
|
4
|
-
import { DEGREES, EPS1, EPS12, EPS15, RADIANS, zeroTwoPI } from "../math";
|
|
5
|
-
/**
|
|
6
|
-
* Class represents a plant ellipsoid.
|
|
7
|
-
* @class
|
|
8
|
-
* @param {number} equatorialSize - Equatorial ellipsoid size.
|
|
9
|
-
* @param {number} polarSize - Polar ellipsoid size.
|
|
10
|
-
*/
|
|
11
|
-
class Ellipsoid {
|
|
12
|
-
constructor(equatorialSize = 1, polarSize = 1) {
|
|
13
|
-
this._a = equatorialSize;
|
|
14
|
-
this._b = polarSize;
|
|
15
|
-
this._flattening = (equatorialSize - polarSize) / equatorialSize;
|
|
16
|
-
this._f = 1 / this._flattening;
|
|
17
|
-
this._a2 = equatorialSize * equatorialSize;
|
|
18
|
-
this._b2 = polarSize * polarSize;
|
|
19
|
-
const qa2b2 = Math.sqrt(this._a2 - this._b2);
|
|
20
|
-
this._e = qa2b2 / equatorialSize;
|
|
21
|
-
this._e2 = this._e * this._e;
|
|
22
|
-
this._e22 = this._e2 * this._e2;
|
|
23
|
-
this._k = qa2b2 / polarSize;
|
|
24
|
-
this._k2 = this._k * this._k;
|
|
25
|
-
this._radii = new Vec3(equatorialSize, equatorialSize, polarSize);
|
|
26
|
-
this._radii2 = new Vec3(this._a2, this._a2, this._b2);
|
|
27
|
-
this._invRadii = new Vec3(1.0 / equatorialSize, 1.0 / equatorialSize, 1.0 / polarSize);
|
|
28
|
-
this._invRadii2 = new Vec3(1.0 / this._a2, 1.0 / this._a2, 1.0 / this._b2);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Returns the distance travelling from ‘this’ point to destination point along a rhumb line.
|
|
32
|
-
* @param {LonLat} startLonLat coordinates.
|
|
33
|
-
* @param {LonLat} endLonLat coordinates
|
|
34
|
-
* @returns {number} Distance in m between this point and destination point (same units as radius).
|
|
35
|
-
*/
|
|
36
|
-
rhumbDistanceTo(startLonLat, endLonLat) {
|
|
37
|
-
const f1 = startLonLat.lat * RADIANS;
|
|
38
|
-
const f2 = endLonLat.lat * RADIANS;
|
|
39
|
-
const df = f2 - f1;
|
|
40
|
-
let d = Math.abs(endLonLat.lon - startLonLat.lon) * RADIANS;
|
|
41
|
-
if (Math.abs(d) > Math.PI)
|
|
42
|
-
d = d > 0 ? -(2 * Math.PI - d) : (2 * Math.PI + d);
|
|
43
|
-
const dd = Math.log(Math.tan(f2 / 2 + Math.PI / 4) / Math.tan(f1 / 2 + Math.PI / 4));
|
|
44
|
-
const q = Math.abs(dd) > 10e-12 ? df / dd : Math.cos(f1);
|
|
45
|
-
const t = Math.sqrt(df * df + q * q * d * d); // angular distance in radians
|
|
46
|
-
return t * this._a;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Returns the point at given fraction between two points on the great circle.
|
|
50
|
-
* @param {LonLat} lonLat1 - Longitude/Latitude of source point.
|
|
51
|
-
* @param {LonLat} lonLat2 - Longitude/Latitude of destination point.
|
|
52
|
-
* @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
|
|
53
|
-
* @returns {LonLat} Intermediate point between points.
|
|
54
|
-
*/
|
|
55
|
-
getIntermediatePointOnGreatCircle(lonLat1, lonLat2, fraction) {
|
|
56
|
-
if (fraction == 0)
|
|
57
|
-
return lonLat1.clone();
|
|
58
|
-
if (fraction == 1)
|
|
59
|
-
return lonLat2.clone();
|
|
60
|
-
const inverse = this.inverse(lonLat1, lonLat2);
|
|
61
|
-
const dist = inverse.distance;
|
|
62
|
-
const azimuth = inverse.initialAzimuth;
|
|
63
|
-
return isNaN(azimuth) ? lonLat1 : this.getGreatCircleDestination(lonLat1, azimuth, dist * fraction);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* REMOVE ASAP after
|
|
67
|
-
* @param lonLat1
|
|
68
|
-
* @param lonLat2
|
|
69
|
-
* @returns {number}
|
|
70
|
-
*/
|
|
71
|
-
static getBearing(lonLat1, lonLat2) {
|
|
72
|
-
let f1 = lonLat1.lat * RADIANS, l1 = lonLat1.lon * RADIANS;
|
|
73
|
-
let f2 = lonLat2.lat * RADIANS, l2 = lonLat2.lon * RADIANS;
|
|
74
|
-
let y = Math.sin(l2 - l1) * Math.cos(f2);
|
|
75
|
-
let x = Math.cos(f1) * Math.sin(f2) - Math.sin(f1) * Math.cos(f2) * Math.cos(l2 - l1);
|
|
76
|
-
return Math.atan2(y, x) * DEGREES;
|
|
77
|
-
}
|
|
78
|
-
getFlattening() {
|
|
79
|
-
return this._flattening;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Gets ellipsoid equatorial size.
|
|
83
|
-
* @public
|
|
84
|
-
* @returns {number} -
|
|
85
|
-
*/
|
|
86
|
-
getEquatorialSize() {
|
|
87
|
-
return this._a;
|
|
88
|
-
}
|
|
89
|
-
get equatorialSize() {
|
|
90
|
-
return this._a;
|
|
91
|
-
}
|
|
92
|
-
get equatorialSizeSqr() {
|
|
93
|
-
return this._a2;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Gets ellipsoid polar size.
|
|
97
|
-
* @public
|
|
98
|
-
* @returns {number} -
|
|
99
|
-
*/
|
|
100
|
-
getPolarSize() {
|
|
101
|
-
return this._b;
|
|
102
|
-
}
|
|
103
|
-
get polarSize() {
|
|
104
|
-
return this._b;
|
|
105
|
-
}
|
|
106
|
-
get polarSizeSqr() {
|
|
107
|
-
return this._b2;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Calculate cartesian coordinates by its ECEF geodetic coordinates.
|
|
111
|
-
* @public
|
|
112
|
-
* @param {LonLat} lonlat - Geodetic coordinates.
|
|
113
|
-
* @returns {Vec3} -
|
|
114
|
-
*/
|
|
115
|
-
lonLatToCartesian(lonlat) {
|
|
116
|
-
return this.geodeticToCartesian(lonlat.lon, lonlat.lat, lonlat.height);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Calculate cartesian coordinates by its ECEF geodetic coordinates.
|
|
120
|
-
* @public
|
|
121
|
-
* @param {LonLat} lonlat - Geodetic coordinates.
|
|
122
|
-
* @param {Vec3} res - Output variable reference.
|
|
123
|
-
* @returns {Vec3} -
|
|
124
|
-
*/
|
|
125
|
-
lonLatToCartesianRes(lonlat, res) {
|
|
126
|
-
return this.geodeticToCartesian(lonlat.lon, lonlat.lat, lonlat.height, res);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Gets cartesian ECEF 3d coordinates from geodetic coordinates.
|
|
130
|
-
* @public
|
|
131
|
-
* @param {Number} lon - Longitude.
|
|
132
|
-
* @param {Number} lat - Latitude.
|
|
133
|
-
* @param {Number} height - Height.
|
|
134
|
-
* @param {Vec3} res - Output result variable.
|
|
135
|
-
* @returns {Vec3} -
|
|
136
|
-
*/
|
|
137
|
-
geodeticToCartesian(lon, lat, height = 0, res = new Vec3()) {
|
|
138
|
-
let latrad = RADIANS * lat, lonrad = RADIANS * lon;
|
|
139
|
-
let slt = Math.sin(latrad);
|
|
140
|
-
let N = this._a / Math.sqrt(1 - this._e2 * slt * slt);
|
|
141
|
-
let nc = (N + height) * Math.cos(latrad);
|
|
142
|
-
res.x = nc * Math.cos(lonrad);
|
|
143
|
-
res.y = nc * Math.sin(lonrad);
|
|
144
|
-
res.z = (N * (1 - this._e2) + height) * slt;
|
|
145
|
-
return res;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Gets Wgs84 geodetic coordinates from cartesian ECEF.
|
|
149
|
-
* @public
|
|
150
|
-
* @param {Vec3} p - Cartesian coordinates.
|
|
151
|
-
* @returns {LonLat} -
|
|
152
|
-
*/
|
|
153
|
-
projToSurface(p) {
|
|
154
|
-
let pX = p.x || 0.0, pY = p.y || 0.0, pZ = p.z || 0.0;
|
|
155
|
-
let length = Math.sqrt(pX * pX + pY * pY + pZ * pZ);
|
|
156
|
-
if (length === 0) {
|
|
157
|
-
return this.lonLatToCartesian(new LonLat());
|
|
158
|
-
}
|
|
159
|
-
let invRadii2X = this._invRadii2.x, invRadii2Y = this._invRadii2.y, invRadii2Z = this._invRadii2.z;
|
|
160
|
-
let x2 = pX * pX * invRadii2X, y2 = pY * pY * invRadii2Y, z2 = pZ * pZ * invRadii2Z;
|
|
161
|
-
let norm = x2 + y2 + z2;
|
|
162
|
-
let ratio = Math.sqrt(1.0 / norm);
|
|
163
|
-
let first = p.scaleTo(ratio);
|
|
164
|
-
if (norm < EPS1) {
|
|
165
|
-
return !Number.isFinite(ratio) ? new Vec3() : first;
|
|
166
|
-
}
|
|
167
|
-
let lambda = ((1.0 - ratio) * length) / first.mulA(this._invRadii2).length();
|
|
168
|
-
let m_X = 0.0, m_Y = 0.0, m_Z = 0.0;
|
|
169
|
-
do {
|
|
170
|
-
m_X = 1.0 / (1.0 + lambda * invRadii2X);
|
|
171
|
-
m_Y = 1.0 / (1.0 + lambda * invRadii2Y);
|
|
172
|
-
m_Z = 1.0 / (1.0 + lambda * invRadii2Z);
|
|
173
|
-
let m_X2 = m_X * m_X, m_Y2 = m_Y * m_Y, m_Z2 = m_Z * m_Z;
|
|
174
|
-
let func = x2 * m_X2 + y2 * m_Y2 + z2 * m_Z2 - 1.0;
|
|
175
|
-
if (Math.abs(func) < EPS12) {
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
let m_X3 = m_X2 * m_X, m_Y3 = m_Y2 * m_Y, m_Z3 = m_Z2 * m_Z;
|
|
179
|
-
lambda += 0.5 * func / (x2 * m_X3 * invRadii2X + y2 * m_Y3 * invRadii2Y + z2 * m_Z3 * invRadii2Z);
|
|
180
|
-
} while (true); // eslint-disable-line
|
|
181
|
-
return new Vec3(pX * m_X, pY * m_Y, pZ * m_Z);
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Converts 3d cartesian coordinates to geodetic
|
|
185
|
-
* @param {Vec3} cart - Cartesian coordinates
|
|
186
|
-
* @returns {LonLat} - Geodetic coordinates
|
|
187
|
-
*/
|
|
188
|
-
cartesianToLonLat(cart) {
|
|
189
|
-
return this.cartesianToLonLatRes(cart);
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Converts 3d cartesian coordinates to geodetic
|
|
193
|
-
* @param {Vec3} cart - Cartesian coordinates
|
|
194
|
-
* @param {LonLat} res - Link geodetic coordinates variable
|
|
195
|
-
* @returns {LonLat} - Geodetic coordinates
|
|
196
|
-
*/
|
|
197
|
-
cartesianToLonLatRes(cart, res = new LonLat()) {
|
|
198
|
-
let p = this.projToSurface(cart);
|
|
199
|
-
let n = this.getSurfaceNormal3v(p), h = cart.sub(p);
|
|
200
|
-
res.lon = Math.atan2(n.y, n.x) * DEGREES;
|
|
201
|
-
res.lat = Math.asin(n.z) * DEGREES;
|
|
202
|
-
res.height = Math.sign(h.dot(cart)) * h.length();
|
|
203
|
-
return res;
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Gets ellipsoid surface normal.
|
|
207
|
-
* @public
|
|
208
|
-
* @param {Vec3} coord - Spatial coordinates.
|
|
209
|
-
* @return {Vec3} -
|
|
210
|
-
*/
|
|
211
|
-
getSurfaceNormal3v(coord) {
|
|
212
|
-
let r2 = this._invRadii2;
|
|
213
|
-
let nx = coord.x * r2.x, ny = coord.y * r2.y, nz = coord.z * r2.z;
|
|
214
|
-
let l = 1.0 / Math.sqrt(nx * nx + ny * ny + nz * nz);
|
|
215
|
-
return new Vec3(nx * l, ny * l, nz * l);
|
|
216
|
-
}
|
|
217
|
-
getGreatCircleDistance(lonLat1, lonLat2) {
|
|
218
|
-
return this.inverse(lonLat1, lonLat2).distance;
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Calculates the destination point given start point lat / lon, azimuth(deg) and distance (m).
|
|
222
|
-
* Source: http://movable-type.co.uk/scripts/latlong-vincenty-direct.html and optimized / cleaned up by Mathias Bynens <http://mathiasbynens.be/>
|
|
223
|
-
* Based on the Vincenty direct formula by T. Vincenty, “Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations”, Survey Review, vol XXII no 176, 1975 <http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf>
|
|
224
|
-
* @param {LonLat} lonLat - Origin coordinates
|
|
225
|
-
* @param {number} azimuth - View azimuth in degrees
|
|
226
|
-
* @param {number} dist - Distance to the destination point coordinates in meters
|
|
227
|
-
* @returns {LonLat} - Destination point coordinates
|
|
228
|
-
*/
|
|
229
|
-
getGreatCircleDestination(lonLat, azimuth, dist) {
|
|
230
|
-
return this.direct(lonLat, azimuth, dist).destination;
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Returns inverse Geodesic solution for two points
|
|
234
|
-
* @param {LonLat} lonLat1 - start coordinates point
|
|
235
|
-
* @param {LonLat} lonLat2 - end coordinates point
|
|
236
|
-
* @returns {IInverseResult} - Contains distance, initialAzimuth, and finalAzimuth values
|
|
237
|
-
*/
|
|
238
|
-
inverse(lonLat1, lonLat2) {
|
|
239
|
-
let a = this._a, b = this._b, f = this._flattening;
|
|
240
|
-
const fi1 = lonLat1.lat * RADIANS, lambda1 = lonLat1.lon * RADIANS;
|
|
241
|
-
const fi2 = lonLat2.lat * RADIANS, lambda2 = lonLat2.lon * RADIANS;
|
|
242
|
-
const L = lambda2 - lambda1; // L = difference in longitude, U = reduced latitude, defined by tan U = (1-f)·tanφ.
|
|
243
|
-
const tanU1 = (1 - f) * Math.tan(fi1), cosU1 = 1 / Math.sqrt((1 + tanU1 * tanU1)), sinU1 = tanU1 * cosU1;
|
|
244
|
-
const tanU2 = (1 - f) * Math.tan(fi2), cosU2 = 1 / Math.sqrt((1 + tanU2 * tanU2)), sinU2 = tanU2 * cosU2;
|
|
245
|
-
const antipodal = Math.abs(L) > Math.PI / 2 || Math.abs(fi2 - fi1) > Math.PI / 2;
|
|
246
|
-
let lmb = L, sinLmb = null, cosLmb = null; // lmb - difference in longitude on an auxiliary sphere
|
|
247
|
-
let s = antipodal ? Math.PI : 0, sin_s = 0, cos_s = antipodal ? -1 : 1, sinSqs = null; // s - angular distance lonLat1 lonLat2 on the sphere
|
|
248
|
-
let cos2sm = 1; // sm - angular distance on the sphere from the equator to the midpoint of the line
|
|
249
|
-
let cosSqa = 1; // a - azimuth of the geodesic at the equator
|
|
250
|
-
let lmb_ = null, iterations = 0;
|
|
251
|
-
do {
|
|
252
|
-
sinLmb = Math.sin(lmb);
|
|
253
|
-
cosLmb = Math.cos(lmb);
|
|
254
|
-
sinSqs = (cosU2 * sinLmb) ** 2 + (cosU1 * sinU2 - sinU1 * cosU2 * cosLmb) ** 2;
|
|
255
|
-
if (Math.abs(sinSqs) < 1e-24)
|
|
256
|
-
break; // co-incident/antipodal points (σ < ≈0.006mm)
|
|
257
|
-
sin_s = Math.sqrt(sinSqs);
|
|
258
|
-
cos_s = sinU1 * sinU2 + cosU1 * cosU2 * cosLmb;
|
|
259
|
-
s = Math.atan2(sin_s, cos_s);
|
|
260
|
-
const sin_a = cosU1 * cosU2 * sinLmb / sin_s;
|
|
261
|
-
cosSqa = 1 - sin_a * sin_a;
|
|
262
|
-
cos2sm = (cosSqa != 0) ? (cos_s - 2 * sinU1 * sinU2 / cosSqa) : 0; // on equatorial line cos²α = 0 (§6)
|
|
263
|
-
const C = f / 16 * cosSqa * (4 + f * (4 - 3 * cosSqa));
|
|
264
|
-
lmb_ = lmb;
|
|
265
|
-
lmb = L + (1 - C) * f * sin_a * (s + C * sin_s * (cos2sm + C * cos_s * (-1 + 2 * cos2sm * cos2sm)));
|
|
266
|
-
} while (Math.abs(lmb - lmb_) > EPS12 && ++iterations < 1000);
|
|
267
|
-
const uSq = cosSqa * (a * a - b * b) / (b * b);
|
|
268
|
-
const A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * uSq)));
|
|
269
|
-
const B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq)));
|
|
270
|
-
const ds = B * sin_s * (cos2sm + B / 4 * (cos_s * (-1 + 2 * cos2sm * cos2sm) - B / 6 * cos2sm * (-3 + 4 * sin_s * sin_s) * (-3 + 4 * cos2sm * cos2sm)));
|
|
271
|
-
const dist = b * A * (s - ds); // s = length of the geodesic
|
|
272
|
-
// note special handling of exactly antipodal points where sin²σ = 0 (due to discontinuity
|
|
273
|
-
// atan2(0, 0) = 0 but atan2(ε, 0) = π/2 / 90°) - in which case bearing is always meridional,
|
|
274
|
-
// due north (or due south!)
|
|
275
|
-
// α = azimuths of the geodesic; α2 the direction P₁ P₂ produced
|
|
276
|
-
const a1 = Math.abs(sinSqs) < Number.EPSILON ? 0 : Math.atan2(cosU2 * sinLmb, cosU1 * sinU2 - sinU1 * cosU2 * cosLmb);
|
|
277
|
-
const a2 = Math.abs(sinSqs) < Number.EPSILON ? Math.PI : Math.atan2(cosU1 * sinLmb, -sinU1 * cosU2 + cosU1 * sinU2 * cosLmb);
|
|
278
|
-
return {
|
|
279
|
-
distance: dist,
|
|
280
|
-
initialAzimuth: Math.abs(dist) < Number.EPSILON ? NaN : zeroTwoPI(a1) * DEGREES,
|
|
281
|
-
finalAzimuth: Math.abs(dist) < Number.EPSILON ? NaN : zeroTwoPI(a2) * DEGREES
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Calculates the destination point given start point lat / lon, azimuth(deg) and distance (m).
|
|
286
|
-
* Source: http://movable-type.co.uk/scripts/latlong-vincenty-direct.html and optimized / cleaned up by Mathias Bynens <http://mathiasbynens.be/>
|
|
287
|
-
* Based on the Vincenty direct formula by T. Vincenty, “Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations”, Survey Review, vol XXII no 176, 1975 <http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf>
|
|
288
|
-
* @param {LonLat} lonLat - Origin coordinates
|
|
289
|
-
* @param {number} azimuth - View azimuth in degrees
|
|
290
|
-
* @param {number} dist - Distance to the destination point coordinates in meters
|
|
291
|
-
* @returns {{destination: LonLat, finalAzimuth: number}} - Destination point coordinates
|
|
292
|
-
*/
|
|
293
|
-
direct(lonLat, azimuth, dist) {
|
|
294
|
-
let lon1 = lonLat.lon, lat1 = lonLat.lat;
|
|
295
|
-
let a = this._a, b = this._b, f = this._flattening, s = dist, alpha1 = azimuth * RADIANS, sinAlpha1 = Math.sin(alpha1), cosAlpha1 = Math.cos(alpha1), tanU1 = (1 - f) * Math.tan(lat1 * RADIANS), cosU1 = 1 / Math.sqrt(1 + tanU1 * tanU1), sinU1 = tanU1 * cosU1, sigma1 = Math.atan2(tanU1, cosAlpha1), sinAlpha = cosU1 * sinAlpha1, cosSqAlpha = 1 - sinAlpha * sinAlpha, uSq = (cosSqAlpha * (a * a - b * b)) / (b * b), A = 1 + (uSq / 16384) * (4096 + uSq * (-768 + uSq * (320 - 175 * uSq))), B = (uSq / 1024) * (256 + uSq * (-128 + uSq * (74 - 47 * uSq))), sigma = s / (b * A), sigmaP = 2 * Math.PI;
|
|
296
|
-
let cos2SigmaM = 0, sinSigma = 0, cosSigma = 0, deltaSigma = 0;
|
|
297
|
-
while (Math.abs(sigma - sigmaP) > 1e-12) {
|
|
298
|
-
cos2SigmaM = Math.cos(2 * sigma1 + sigma);
|
|
299
|
-
sinSigma = Math.sin(sigma);
|
|
300
|
-
cosSigma = Math.cos(sigma);
|
|
301
|
-
deltaSigma = B * sinSigma *
|
|
302
|
-
(cos2SigmaM + (B / 4) *
|
|
303
|
-
(cosSigma * (-1 + 2 * cos2SigmaM * cos2SigmaM) -
|
|
304
|
-
(B / 6) * cos2SigmaM * (-3 + 4 * sinSigma * sinSigma) * (-3 + 4 * cos2SigmaM * cos2SigmaM)));
|
|
305
|
-
sigmaP = sigma;
|
|
306
|
-
sigma = s / (b * A) + deltaSigma;
|
|
307
|
-
}
|
|
308
|
-
let tmp = sinU1 * sinSigma - cosU1 * cosSigma * cosAlpha1, lat2 = Math.atan2(sinU1 * cosSigma + cosU1 * sinSigma * cosAlpha1, (1 - f) * Math.sqrt(sinAlpha * sinAlpha + tmp * tmp)), lambda = Math.atan2(sinSigma * sinAlpha1, cosU1 * cosSigma - sinU1 * sinSigma * cosAlpha1), C = (f / 16.0) * cosSqAlpha * (4.0 + f * (4.0 - 3.0 * cosSqAlpha)), L = lambda - (1.0 - C) * f * sinAlpha * (sigma + C * sinSigma * (cos2SigmaM + C * cosSigma * (-1.0 + 2.0 * cos2SigmaM * cos2SigmaM))), revAz = Math.atan2(sinAlpha, -tmp);
|
|
309
|
-
return {
|
|
310
|
-
destination: new LonLat(lon1 + L * DEGREES, lat2 * DEGREES),
|
|
311
|
-
finalAzimuth: revAz * DEGREES
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
/**
|
|
315
|
-
* Returns cartesian coordinates of the intersection of a ray and an ellipsoid.
|
|
316
|
-
* If the ray doesn't hit ellipsoid returns null.
|
|
317
|
-
* @public
|
|
318
|
-
* @param {Vec3} origin - Ray origin point.
|
|
319
|
-
* @param {Vec3} direction - Ray direction.
|
|
320
|
-
* @returns {Vec3} -
|
|
321
|
-
*/
|
|
322
|
-
hitRay(origin, direction) {
|
|
323
|
-
let q = this._invRadii.mul(origin);
|
|
324
|
-
let w = this._invRadii.mul(direction);
|
|
325
|
-
let q2 = q.dot(q);
|
|
326
|
-
let qw = q.dot(w);
|
|
327
|
-
let difference, w2, product, discriminant, temp;
|
|
328
|
-
if (q2 > 1.0) {
|
|
329
|
-
// Outside ellipsoid.
|
|
330
|
-
if (qw >= 0.0) {
|
|
331
|
-
// Looking outward or tangent (0 intersections).
|
|
332
|
-
return undefined;
|
|
333
|
-
}
|
|
334
|
-
// qw < 0.0.
|
|
335
|
-
var qw2 = qw * qw;
|
|
336
|
-
difference = q2 - 1.0; // Positively valued.
|
|
337
|
-
w2 = w.dot(w);
|
|
338
|
-
product = w2 * difference;
|
|
339
|
-
let eps = Math.abs(qw2 - product);
|
|
340
|
-
if (eps > EPS15 && qw2 < product) {
|
|
341
|
-
// Imaginary roots (0 intersections).
|
|
342
|
-
return undefined;
|
|
343
|
-
}
|
|
344
|
-
else if (qw2 > product) {
|
|
345
|
-
// Distinct roots (2 intersections).
|
|
346
|
-
discriminant = qw * qw - product;
|
|
347
|
-
temp = -qw + Math.sqrt(discriminant); // Avoid cancellation.
|
|
348
|
-
var root0 = temp / w2;
|
|
349
|
-
var root1 = difference / temp;
|
|
350
|
-
if (root0 < root1) {
|
|
351
|
-
return origin.add(direction.scaleTo(root0));
|
|
352
|
-
}
|
|
353
|
-
return origin.add(direction.scaleTo(root1));
|
|
354
|
-
}
|
|
355
|
-
else {
|
|
356
|
-
// qw2 == product. Repeated roots (2 intersections).
|
|
357
|
-
var root = Math.sqrt(difference / w2);
|
|
358
|
-
return origin.add(direction.scaleTo(root));
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
else if (q2 < 1.0) {
|
|
362
|
-
// Inside ellipsoid (2 intersections).
|
|
363
|
-
difference = q2 - 1.0; // Negatively valued.
|
|
364
|
-
w2 = w.dot(w);
|
|
365
|
-
product = w2 * difference; // Negatively valued.
|
|
366
|
-
discriminant = qw * qw - product;
|
|
367
|
-
temp = -qw + Math.sqrt(discriminant); // Positively valued.
|
|
368
|
-
return origin.add(direction.scaleTo(temp / w2));
|
|
369
|
-
}
|
|
370
|
-
else {
|
|
371
|
-
// q2 == 1.0. On ellipsoid.
|
|
372
|
-
if (qw < 0.0) {
|
|
373
|
-
// Looking inward.
|
|
374
|
-
w2 = w.dot(w);
|
|
375
|
-
return origin.add(direction.scaleTo(-qw / w2));
|
|
376
|
-
}
|
|
377
|
-
// qw >= 0.0. Looking outward or tangent.
|
|
378
|
-
// return undefined
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
getNorthFrameRotation(cartesian) {
|
|
382
|
-
let n = this.getSurfaceNormal3v(cartesian);
|
|
383
|
-
let t = Vec3.proj_b_to_plane(Vec3.NORTH, n);
|
|
384
|
-
return Quat.getLookRotation(t, n);
|
|
385
|
-
}
|
|
386
|
-
/**
|
|
387
|
-
* @todo this is not precise function, needs to be replaced or removed
|
|
388
|
-
* @param lonLat1
|
|
389
|
-
* @param bearing
|
|
390
|
-
* @param distance
|
|
391
|
-
* @returns {LonLat}
|
|
392
|
-
*/
|
|
393
|
-
getBearingDestination(lonLat1, bearing = 0.0, distance = 0) {
|
|
394
|
-
bearing = bearing * RADIANS;
|
|
395
|
-
var nlon = ((lonLat1.lon + 540) % 360) - 180;
|
|
396
|
-
var f1 = lonLat1.lat * RADIANS, l1 = nlon * RADIANS;
|
|
397
|
-
var dR = distance / this._a;
|
|
398
|
-
var f2 = Math.asin(Math.sin(f1) * Math.cos(dR) + Math.cos(f1) * Math.sin(dR) * Math.cos(bearing));
|
|
399
|
-
return new LonLat((l1 +
|
|
400
|
-
Math.atan2(Math.sin(bearing) * Math.sin(dR) * Math.cos(f1), Math.cos(dR) - Math.sin(f1) * Math.sin(f2))) *
|
|
401
|
-
DEGREES, f2 * DEGREES);
|
|
402
|
-
}
|
|
403
|
-
/**
|
|
404
|
-
* Returns the point at given fraction between two points on the great circle.
|
|
405
|
-
* @param {LonLat} lonLat1 - Longitude/Latitude of source point.
|
|
406
|
-
* @param {LonLat} lonLat2 - Longitude/Latitude of destination point.
|
|
407
|
-
* @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
|
|
408
|
-
* @returns {LonLat} Intermediate point between points.
|
|
409
|
-
*/
|
|
410
|
-
static getIntermediatePointOnGreatCircle(lonLat1, lonLat2, fraction) {
|
|
411
|
-
var f1 = lonLat1.lat * RADIANS, l1 = lonLat1.lon * RADIANS;
|
|
412
|
-
var f2 = lonLat2.lat * RADIANS, l2 = lonLat2.lon * RADIANS;
|
|
413
|
-
var sinf1 = Math.sin(f1), cosf1 = Math.cos(f1), sinl1 = Math.sin(l1), cosl1 = Math.cos(l1);
|
|
414
|
-
var sinf2 = Math.sin(f2), cosf2 = Math.cos(f2), sinl2 = Math.sin(l2), cosl2 = Math.cos(l2);
|
|
415
|
-
var df = f2 - f1, dl = l2 - l1;
|
|
416
|
-
var a = Math.sin(df / 2) * Math.sin(df / 2) +
|
|
417
|
-
Math.cos(f1) * Math.cos(f2) * Math.sin(dl / 2) * Math.sin(dl / 2);
|
|
418
|
-
var d = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
|
419
|
-
var A = Math.sin((1 - fraction) * d) / Math.sin(d);
|
|
420
|
-
var B = Math.sin(fraction * d) / Math.sin(d);
|
|
421
|
-
var x = A * cosf1 * cosl1 + B * cosf2 * cosl2;
|
|
422
|
-
var y = A * cosf1 * sinl1 + B * cosf2 * sinl2;
|
|
423
|
-
var z = A * sinf1 + B * sinf2;
|
|
424
|
-
var f3 = Math.atan2(z, Math.sqrt(x * x + y * y));
|
|
425
|
-
var l3 = Math.atan2(y, x);
|
|
426
|
-
return new LonLat(((l3 * DEGREES + 540) % 360) - 180, f3 * DEGREES);
|
|
427
|
-
}
|
|
428
|
-
static getRhumbBearing(lonLat1, lonLat2) {
|
|
429
|
-
var dLon = (lonLat2.lon - lonLat1.lon) * RADIANS;
|
|
430
|
-
var dPhi = Math.log(Math.tan((lonLat2.lat * RADIANS) / 2 + Math.PI / 4) /
|
|
431
|
-
Math.tan((lonLat1.lat * RADIANS) / 2 + Math.PI / 4));
|
|
432
|
-
if (Math.abs(dLon) > Math.PI) {
|
|
433
|
-
if (dLon > 0) {
|
|
434
|
-
dLon = (2 * Math.PI - dLon) * -1;
|
|
435
|
-
}
|
|
436
|
-
else {
|
|
437
|
-
dLon = 2 * Math.PI + dLon;
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
return (Math.atan2(dLon, dPhi) * DEGREES + 360) % 360;
|
|
441
|
-
}
|
|
442
|
-
getLonLatVisibilitySimple(eye, lonLat, forward) {
|
|
443
|
-
const cart = this.lonLatToCartesian(lonLat);
|
|
444
|
-
const height = lonLat.height;
|
|
445
|
-
const f = this.polarSize + height;
|
|
446
|
-
const g = Math.max(eye.length() - this.polarSize, 0);
|
|
447
|
-
const look = cart.sub(eye);
|
|
448
|
-
let maxVisibleDistance;
|
|
449
|
-
if (g > 0) {
|
|
450
|
-
maxVisibleDistance = Math.sqrt((f + g) ** 2 - f ** 2);
|
|
451
|
-
}
|
|
452
|
-
else {
|
|
453
|
-
maxVisibleDistance = f;
|
|
454
|
-
}
|
|
455
|
-
return maxVisibleDistance > look.length() &&
|
|
456
|
-
(!forward || forward.dot(look.normalize()) > 0.0);
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
export { Ellipsoid };
|