@openglobus/og 0.17.1 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -46
- package/dist/@openglobus/og.esm.js +1 -20
- package/dist/@openglobus/og.esm.js.map +1 -1
- package/dist/@openglobus/og.umd.js +1 -20
- package/dist/@openglobus/og.umd.js.map +1 -1
- package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
- package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
- package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
- package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
- package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
- package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
- package/dist/@openglobus/res/fonts/arial.json +4321 -0
- package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
- package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
- package/dist/@openglobus/res/night-4326.png +0 -0
- package/dist/@openglobus/res/night.png +0 -0
- package/dist/@openglobus/res/spec.png +0 -0
- package/package.json +25 -23
- package/src/{og/Clock.js → Clock.ts} +100 -78
- package/src/Deferred.ts +17 -0
- package/src/Events.ts +200 -0
- package/src/{og/Extent.js → Extent.ts} +324 -352
- package/src/Globe.ts +363 -0
- package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
- package/src/Lock.ts +41 -0
- package/src/{og/LonLat.js → LonLat.ts} +50 -47
- package/src/{og/Object3d.js → Object3d.ts} +89 -55
- package/src/Popup.ts +228 -0
- package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
- package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
- package/src/Stack.ts +58 -0
- package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
- package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
- package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
- package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
- package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
- package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
- package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
- package/src/bv/index.ts +4 -0
- package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
- package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
- package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +248 -185
- package/src/camera/index.ts +4 -0
- package/src/{og/cons.js → cons.ts} +14 -18
- package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
- package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
- package/src/{og/control/Control.js → control/Control.ts} +76 -70
- package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
- package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
- package/src/control/EarthCoordinates.ts +222 -0
- package/src/control/EarthNavigation.ts +293 -0
- package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
- package/src/control/KeyboardNavigation.ts +168 -0
- package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
- package/src/control/LayerSwitcher.ts +76 -0
- package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
- package/src/control/MouseNavigation.ts +468 -0
- package/src/control/MouseWheelZoomControl.ts +269 -0
- package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
- package/src/control/ScaleControl.ts +131 -0
- package/src/control/SegmentBoundVisualization.ts +50 -0
- package/src/control/ShowFps.ts +28 -0
- package/src/control/SimpleNavigation.ts +118 -0
- package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
- package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
- package/src/control/ToggleWireframe.ts +35 -0
- package/src/control/TouchNavigation.ts +368 -0
- package/src/control/ZoomControl.ts +111 -0
- package/src/control/drawing/DrawingControl.ts +45 -0
- package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
- package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
- package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
- package/src/control/heightRuler/HeightRuler.ts +16 -0
- package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
- package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
- package/src/control/index.ts +45 -0
- package/src/control/ruler/Ruler.ts +35 -0
- package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
- package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
- package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
- package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
- package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
- package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
- package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
- package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
- package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
- package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
- package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
- package/src/ellipsoid/index.ts +4 -0
- package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
- package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
- package/src/entity/BaseBillboardHandler.ts +772 -0
- package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
- package/src/entity/BillboardHandler.ts +135 -0
- package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
- package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
- package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
- package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
- package/src/entity/Geometry.ts +486 -0
- package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
- package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
- package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
- package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
- package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
- package/src/entity/PointCloudHandler.ts +125 -0
- package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
- package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
- package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
- package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
- package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
- package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
- package/src/entity/index.ts +12 -0
- package/src/index.ts +173 -0
- package/src/input/KeyboardHandler.ts +196 -0
- package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
- package/src/input/TouchHandler.ts +54 -0
- package/src/{og/input/input.js → input/input.ts} +1 -3
- package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
- package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
- package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
- package/src/layer/GeoTexture2d.ts +56 -0
- package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
- package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
- package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
- package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
- package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
- package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
- package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
- package/src/layer/index.ts +12 -0
- package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
- package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
- package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
- package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
- package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
- package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
- package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
- package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
- package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
- package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
- package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
- package/src/{og/math/coder.js → math/coder.ts} +30 -27
- package/src/math/index.ts +26 -0
- package/src/{og/math.js → math.ts} +46 -49
- package/src/{og/mercator.js → mercator.ts} +143 -149
- package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
- package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
- package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
- package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
- package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
- package/src/quadTree/EntityCollectionNode.ts +395 -0
- package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
- package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
- package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
- package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
- package/src/quadTree/index.ts +14 -0
- package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
- package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
- package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -270
- package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
- package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
- package/src/{og/scene/Planet.js → scene/Planet.ts} +777 -595
- package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
- package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
- package/src/scene/index.ts +6 -0
- package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
- package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
- package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
- package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
- package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
- package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
- package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
- package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
- package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
- package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
- package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
- package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
- package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
- package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
- package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
- package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
- package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
- package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
- package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
- package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
- package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
- package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
- package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
- package/src/terrain/EmptyTerrain.ts +230 -0
- package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
- package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
- package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
- package/src/terrain/index.ts +6 -0
- package/src/ui/Button.ts +121 -0
- package/src/ui/ButtonGroup.ts +63 -0
- package/src/ui/Dialog.ts +244 -0
- package/src/ui/Slider.ts +188 -0
- package/src/ui/ToggleButton.ts +68 -0
- package/src/{og/ui/View.js → ui/View.ts} +66 -59
- package/src/utils/BaseWorker.ts +60 -0
- package/src/utils/FontAtlas.ts +356 -0
- package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
- package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
- package/src/utils/Loader.ts +247 -0
- package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
- package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
- package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
- package/src/utils/TextureAtlas.ts +322 -0
- package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
- package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
- package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
- package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
- package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
- package/src/utils/units.ts +78 -0
- package/src/webgl/BaseFramebuffer.ts +125 -0
- package/src/webgl/Framebuffer.ts +206 -0
- package/src/webgl/Handler.ts +1414 -0
- package/src/webgl/Multisample.ts +153 -0
- package/src/webgl/Program.ts +451 -0
- package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
- package/src/webgl/index.ts +13 -0
- package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
- package/src/webgl/variableHandlers.ts +114 -0
- package/src/og/Deferred.js +0 -11
- package/src/og/Events.js +0 -185
- package/src/og/Globe.js +0 -342
- package/src/og/Lock.js +0 -44
- package/src/og/Popup.js +0 -187
- package/src/og/Stack.js +0 -49
- package/src/og/bv/index.js +0 -4
- package/src/og/camera/index.js +0 -4
- package/src/og/control/EarthCoordinates.js +0 -214
- package/src/og/control/EarthNavigation.js +0 -258
- package/src/og/control/KeyboardNavigation.js +0 -149
- package/src/og/control/LayerSwitcher.js +0 -424
- package/src/og/control/MouseNavigation.js +0 -436
- package/src/og/control/MouseWheelZoomControl.js +0 -253
- package/src/og/control/ScaleControl.js +0 -119
- package/src/og/control/SegmentBoundVisualization.js +0 -54
- package/src/og/control/ShowFps.js +0 -40
- package/src/og/control/SimpleNavigation.js +0 -123
- package/src/og/control/ToggleWireframe.js +0 -35
- package/src/og/control/TouchNavigation.js +0 -350
- package/src/og/control/ZoomControl.js +0 -115
- package/src/og/control/drawing/DrawingControl.js +0 -51
- package/src/og/control/heightRuler/HeightRuler.js +0 -12
- package/src/og/control/index.js +0 -56
- package/src/og/control/ruler/Ruler.js +0 -39
- package/src/og/ellipsoid/index.js +0 -4
- package/src/og/entity/BillboardHandler.js +0 -883
- package/src/og/entity/Geometry.js +0 -320
- package/src/og/entity/PointCloudHandler.js +0 -122
- package/src/og/entity/index.js +0 -9
- package/src/og/index.js +0 -112
- package/src/og/input/KeyboardHandler.js +0 -128
- package/src/og/input/TouchHandler.js +0 -59
- package/src/og/layer/GeoTexture2d.js +0 -50
- package/src/og/layer/index.js +0 -11
- package/src/og/math/index.js +0 -23
- package/src/og/quadTree/EntityCollectionNode.js +0 -391
- package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
- package/src/og/quadTree/index.js +0 -14
- package/src/og/res/images.js +0 -8
- package/src/og/scene/index.js +0 -5
- package/src/og/terrain/EmptyTerrain.js +0 -174
- package/src/og/terrain/index.js +0 -6
- package/src/og/ui/Button.js +0 -107
- package/src/og/ui/ButtonGroup.js +0 -57
- package/src/og/ui/Dialog.js +0 -239
- package/src/og/ui/Slider.js +0 -170
- package/src/og/ui/ToggleButton.js +0 -51
- package/src/og/ui/UIhelpers.js +0 -155
- package/src/og/utils/BaseWorker.js +0 -46
- package/src/og/utils/FontAtlas.js +0 -218
- package/src/og/utils/Loader.js +0 -188
- package/src/og/utils/TextureAtlas.js +0 -291
- package/src/og/utils/functionComposition.js +0 -13
- package/src/og/utils/units.js +0 -78
- package/src/og/webgl/Framebuffer.js +0 -311
- package/src/og/webgl/Handler.js +0 -1168
- package/src/og/webgl/Multisample.js +0 -275
- package/src/og/webgl/Program.js +0 -407
- package/src/og/webgl/callbacks.js +0 -98
- package/src/og/webgl/index.js +0 -13
- package/src/og.jsdoc +0 -3
- package/types/Clock.d.ts +0 -99
- package/types/Deferred.d.ts +0 -6
- package/types/Events.d.ts +0 -78
- package/types/Extent.d.ts +0 -166
- package/types/Globe.d.ts +0 -108
- package/types/ImageCanvas.d.ts +0 -128
- package/types/Lock.d.ts +0 -12
- package/types/LonLat.d.ts +0 -127
- package/types/Object3d.d.ts +0 -35
- package/types/Popup.d.ts +0 -29
- package/types/QueueArray.d.ts +0 -19
- package/types/Rectangle.d.ts +0 -80
- package/types/Stack.d.ts +0 -19
- package/types/arial.d.ts +0 -49
- package/types/astro/astro.d.ts +0 -38
- package/types/astro/earth.d.ts +0 -7
- package/types/astro/jd.d.ts +0 -254
- package/types/bv/Box.d.ts +0 -30
- package/types/bv/Sphere.d.ts +0 -38
- package/types/bv/index.d.ts +0 -3
- package/types/camera/Camera.d.ts +0 -314
- package/types/camera/Frustum.d.ts +0 -133
- package/types/camera/PlanetCamera.d.ts +0 -219
- package/types/camera/index.d.ts +0 -3
- package/types/cons.d.ts +0 -40
- package/types/control/Atmosphere.d.ts +0 -15
- package/types/control/CompassButton.d.ts +0 -16
- package/types/control/Control.d.ts +0 -104
- package/types/control/DebugInfo.d.ts +0 -19
- package/types/control/DrawingSwitcher.d.ts +0 -13
- package/types/control/EarthCoordinates.d.ts +0 -44
- package/types/control/EarthNavigation.d.ts +0 -43
- package/types/control/GeoImageDragControl.d.ts +0 -14
- package/types/control/KeyboardNavigation.d.ts +0 -24
- package/types/control/LayerAnimation.d.ts +0 -73
- package/types/control/LayerSwitcher.d.ts +0 -64
- package/types/control/Lighting.d.ts +0 -41
- package/types/control/MouseNavigation.d.ts +0 -49
- package/types/control/MouseWheelZoomControl.d.ts +0 -46
- package/types/control/ScaleControl.d.ts +0 -23
- package/types/control/ShowFps.d.ts +0 -11
- package/types/control/SimpleNavigation.d.ts +0 -26
- package/types/control/SimpleSkyBackground.d.ts +0 -15
- package/types/control/Sun.d.ts +0 -53
- package/types/control/ToggleWireframe.d.ts +0 -12
- package/types/control/TouchNavigation.d.ts +0 -54
- package/types/control/ZoomControl.d.ts +0 -26
- package/types/control/drawing/DrawingControl.d.ts +0 -14
- package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
- package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
- package/types/control/heightRuler/HeightRuler.d.ts +0 -6
- package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
- package/types/control/index.d.ts +0 -27
- package/types/control/ruler/Ruler.d.ts +0 -13
- package/types/control/ruler/RulerScene.d.ts +0 -51
- package/types/control/selection/Selection.d.ts +0 -49
- package/types/control/selection/SelectionScene.d.ts +0 -32
- package/types/control/timeline/TimelineControl.d.ts +0 -10
- package/types/control/timeline/TimelineModel.d.ts +0 -33
- package/types/control/timeline/TimelineView.d.ts +0 -57
- package/types/control/timeline/timelineUtils.d.ts +0 -9
- package/types/ellipsoid/Ellipsoid.d.ts +0 -170
- package/types/ellipsoid/index.d.ts +0 -3
- package/types/ellipsoid/wgs84.d.ts +0 -6
- package/types/entity/BaseBillboard.d.ts +0 -215
- package/types/entity/Billboard.d.ts +0 -94
- package/types/entity/BillboardHandler.d.ts +0 -75
- package/types/entity/Entity.d.ts +0 -340
- package/types/entity/EntityCollection.d.ts +0 -303
- package/types/entity/GeoObject.d.ts +0 -117
- package/types/entity/GeoObjectHandler.d.ts +0 -41
- package/types/entity/Geometry.d.ts +0 -79
- package/types/entity/GeometryHandler.d.ts +0 -76
- package/types/entity/Label.d.ts +0 -190
- package/types/entity/LabelHandler.d.ts +0 -31
- package/types/entity/LabelWorker.d.ts +0 -9
- package/types/entity/PointCloud.d.ts +0 -174
- package/types/entity/PointCloudHandler.d.ts +0 -38
- package/types/entity/Polyline.d.ts +0 -307
- package/types/entity/PolylineHandler.d.ts +0 -18
- package/types/entity/Ray.d.ts +0 -122
- package/types/entity/RayHandler.d.ts +0 -63
- package/types/entity/Strip.d.ts +0 -119
- package/types/entity/StripHandler.d.ts +0 -38
- package/types/entity/index.d.ts +0 -8
- package/types/index.d.ts +0 -53
- package/types/input/KeyboardHandler.d.ts +0 -10
- package/types/input/MouseHandler.d.ts +0 -5
- package/types/input/TouchHandler.d.ts +0 -5
- package/types/input/input.d.ts +0 -42
- package/types/layer/BaseGeoImage.d.ts +0 -116
- package/types/layer/CanvasTiles.d.ts +0 -73
- package/types/layer/GeoImage.d.ts +0 -51
- package/types/layer/GeoTexture2d.d.ts +0 -7
- package/types/layer/GeoVideo.d.ts +0 -47
- package/types/layer/KML.d.ts +0 -93
- package/types/layer/Layer.d.ts +0 -320
- package/types/layer/Material.d.ts +0 -45
- package/types/layer/Vector.d.ts +0 -211
- package/types/layer/WMS.d.ts +0 -66
- package/types/layer/XYZ.d.ts +0 -122
- package/types/layer/index.d.ts +0 -10
- package/types/light/LightSource.d.ts +0 -178
- package/types/math/Line2.d.ts +0 -11
- package/types/math/Line3.d.ts +0 -10
- package/types/math/Mat3.d.ts +0 -65
- package/types/math/Mat4.d.ts +0 -176
- package/types/math/Plane.d.ts +0 -18
- package/types/math/Quat.d.ts +0 -379
- package/types/math/Ray.d.ts +0 -82
- package/types/math/Vec2.d.ts +0 -309
- package/types/math/Vec3.d.ts +0 -472
- package/types/math/Vec4.d.ts +0 -161
- package/types/math/coder.d.ts +0 -43
- package/types/math/index.d.ts +0 -11
- package/types/math.d.ts +0 -268
- package/types/mercator.d.ts +0 -92
- package/types/proj/EPSG3857.d.ts +0 -6
- package/types/proj/EPSG4326.d.ts +0 -6
- package/types/proj/Proj.d.ts +0 -42
- package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/EntityCollectionNode.d.ts +0 -41
- package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/Node.d.ts +0 -58
- package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
- package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
- package/types/quadTree/index.d.ts +0 -12
- package/types/quadTree/quadTree.d.ts +0 -40
- package/types/renderer/Renderer.d.ts +0 -291
- package/types/renderer/RendererEvents.d.ts +0 -255
- package/types/res/images.d.ts +0 -2
- package/types/scene/Axes.d.ts +0 -10
- package/types/scene/BaseNode.d.ts +0 -60
- package/types/scene/Planet.d.ts +0 -595
- package/types/scene/RenderNode.d.ts +0 -152
- package/types/scene/SkyBox.d.ts +0 -9
- package/types/scene/index.d.ts +0 -4
- package/types/segment/Segment.d.ts +0 -273
- package/types/segment/SegmentLonLat.d.ts +0 -22
- package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
- package/types/segment/Slice.d.ts +0 -10
- package/types/segment/segmentHelper.d.ts +0 -13
- package/types/shaders/atmos.d.ts +0 -4
- package/types/shaders/billboard.d.ts +0 -3
- package/types/shaders/depth.d.ts +0 -2
- package/types/shaders/drawnode.d.ts +0 -8
- package/types/shaders/geoObject.d.ts +0 -3
- package/types/shaders/label.d.ts +0 -4
- package/types/shaders/pickingMask.d.ts +0 -2
- package/types/shaders/pointCloud.d.ts +0 -2
- package/types/shaders/polyline.d.ts +0 -3
- package/types/shaders/ray.d.ts +0 -2
- package/types/shaders/screenFrame.d.ts +0 -2
- package/types/shaders/skybox.d.ts +0 -2
- package/types/shaders/toneMapping.d.ts +0 -2
- package/types/shaders/utils.d.ts +0 -1
- package/types/terrain/BilTerrain.d.ts +0 -14
- package/types/terrain/EmptyTerrain.d.ts +0 -87
- package/types/terrain/Geoid.d.ts +0 -17
- package/types/terrain/GlobusTerrain.d.ts +0 -122
- package/types/terrain/MapboxTerrain.d.ts +0 -14
- package/types/terrain/index.d.ts +0 -5
- package/types/ui/Button.d.ts +0 -21
- package/types/ui/ButtonGroup.d.ts +0 -12
- package/types/ui/Dialog.d.ts +0 -41
- package/types/ui/Slider.d.ts +0 -33
- package/types/ui/ToggleButton.d.ts +0 -10
- package/types/ui/UIhelpers.d.ts +0 -13
- package/types/ui/View.d.ts +0 -33
- package/types/ui/icons.d.ts +0 -1
- package/types/utils/BaseWorker.d.ts +0 -14
- package/types/utils/FontAtlas.d.ts +0 -16
- package/types/utils/GeoImageCreator.d.ts +0 -30
- package/types/utils/ImagesCacheManager.d.ts +0 -10
- package/types/utils/Loader.d.ts +0 -31
- package/types/utils/NormalMapCreator.d.ts +0 -39
- package/types/utils/PlainSegmentWorker.d.ts +0 -8
- package/types/utils/TerrainWorker.d.ts +0 -7
- package/types/utils/TextureAtlas.d.ts +0 -113
- package/types/utils/VectorTileCreator.d.ts +0 -14
- package/types/utils/colorTable.d.ts +0 -143
- package/types/utils/earcut.d.ts +0 -6
- package/types/utils/functionComposition.d.ts +0 -5
- package/types/utils/objParser.d.ts +0 -8
- package/types/utils/shared.d.ts +0 -241
- package/types/utils/units.d.ts +0 -20
- package/types/webgl/Framebuffer.d.ts +0 -134
- package/types/webgl/Handler.d.ts +0 -403
- package/types/webgl/Multisample.d.ts +0 -91
- package/types/webgl/Program.d.ts +0 -163
- package/types/webgl/ProgramController.d.ts +0 -89
- package/types/webgl/callbacks.d.ts +0 -1
- package/types/webgl/index.d.ts +0 -6
- package/types/webgl/types.d.ts +0 -2
- /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
- /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
|
|
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
|
+
export interface IInverseResult {
|
|
7
|
+
distance: number;
|
|
8
|
+
initialAzimuth: number;
|
|
9
|
+
finalAzimuth: number;
|
|
10
|
+
}
|
|
2
11
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
12
|
+
export interface IDirectResult {
|
|
13
|
+
destination: LonLat;
|
|
14
|
+
finalAzimuth: number;
|
|
15
|
+
}
|
|
7
16
|
|
|
8
17
|
/**
|
|
9
18
|
* Class represents a plant ellipsoid.
|
|
@@ -12,11 +21,35 @@ import { Quat } from "../math/Quat.js";
|
|
|
12
21
|
* @param {number} polarSize - Polar ellipsoid size.
|
|
13
22
|
*/
|
|
14
23
|
class Ellipsoid {
|
|
24
|
+
|
|
15
25
|
/**
|
|
16
|
-
*
|
|
17
|
-
* @
|
|
26
|
+
* Equatorial size
|
|
27
|
+
* @type {number}
|
|
28
|
+
* @protected
|
|
18
29
|
*/
|
|
19
|
-
|
|
30
|
+
protected _a: number;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Polar size
|
|
34
|
+
* @type {number}
|
|
35
|
+
* @protected
|
|
36
|
+
*/
|
|
37
|
+
protected _b: number;
|
|
38
|
+
protected _flattening: number;
|
|
39
|
+
protected _f: number;
|
|
40
|
+
protected _a2: number;
|
|
41
|
+
protected _b2: number;
|
|
42
|
+
protected _e: number;
|
|
43
|
+
protected _e2: number;
|
|
44
|
+
protected _e22: number;
|
|
45
|
+
protected _k: number;
|
|
46
|
+
protected _k2: number;
|
|
47
|
+
protected _radii: Vec3;
|
|
48
|
+
protected _radii2: Vec3;
|
|
49
|
+
protected _invRadii: Vec3;
|
|
50
|
+
public _invRadii2: Vec3;
|
|
51
|
+
|
|
52
|
+
constructor(equatorialSize: number = 1, polarSize: number = 1) {
|
|
20
53
|
this._a = equatorialSize;
|
|
21
54
|
this._b = polarSize;
|
|
22
55
|
this._flattening = (equatorialSize - polarSize) / equatorialSize;
|
|
@@ -25,7 +58,7 @@ class Ellipsoid {
|
|
|
25
58
|
this._a2 = equatorialSize * equatorialSize;
|
|
26
59
|
this._b2 = polarSize * polarSize;
|
|
27
60
|
|
|
28
|
-
|
|
61
|
+
const qa2b2 = Math.sqrt(this._a2 - this._b2);
|
|
29
62
|
|
|
30
63
|
this._e = qa2b2 / equatorialSize;
|
|
31
64
|
this._e2 = this._e * this._e;
|
|
@@ -42,11 +75,11 @@ class Ellipsoid {
|
|
|
42
75
|
|
|
43
76
|
/**
|
|
44
77
|
* Returns the distance travelling from ‘this’ point to destination point along a rhumb line.
|
|
45
|
-
* @param {LonLat}
|
|
46
|
-
* @param {LonLat}
|
|
78
|
+
* @param {LonLat} startLonLat coordinates.
|
|
79
|
+
* @param {LonLat} endLonLat coordinates
|
|
47
80
|
* @returns {number} Distance in m between this point and destination point (same units as radius).
|
|
48
81
|
*/
|
|
49
|
-
rhumbDistanceTo(startLonLat, endLonLat) {
|
|
82
|
+
public rhumbDistanceTo(startLonLat: LonLat, endLonLat: LonLat): number {
|
|
50
83
|
const f1 = startLonLat.lat * RADIANS;
|
|
51
84
|
const f2 = endLonLat.lat * RADIANS;
|
|
52
85
|
const df = f2 - f1;
|
|
@@ -65,11 +98,9 @@ class Ellipsoid {
|
|
|
65
98
|
* @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
|
|
66
99
|
* @returns {LonLat} Intermediate point between points.
|
|
67
100
|
*/
|
|
68
|
-
getIntermediatePointOnGreatCircle(lonLat1, lonLat2, fraction) {
|
|
69
|
-
|
|
101
|
+
public getIntermediatePointOnGreatCircle(lonLat1: LonLat, lonLat2: LonLat, fraction: number): LonLat {
|
|
70
102
|
if (fraction == 0) return lonLat1.clone();
|
|
71
103
|
if (fraction == 1) return lonLat2.clone();
|
|
72
|
-
|
|
73
104
|
const inverse = this.inverse(lonLat1, lonLat2);
|
|
74
105
|
const dist = inverse.distance;
|
|
75
106
|
const azimuth = inverse.initialAzimuth;
|
|
@@ -82,17 +113,17 @@ class Ellipsoid {
|
|
|
82
113
|
* @param lonLat2
|
|
83
114
|
* @returns {number}
|
|
84
115
|
*/
|
|
85
|
-
static getBearing(lonLat1, lonLat2) {
|
|
86
|
-
|
|
116
|
+
static getBearing(lonLat1: LonLat, lonLat2: LonLat): number {
|
|
117
|
+
let f1 = lonLat1.lat * RADIANS,
|
|
87
118
|
l1 = lonLat1.lon * RADIANS;
|
|
88
|
-
|
|
119
|
+
let f2 = lonLat2.lat * RADIANS,
|
|
89
120
|
l2 = lonLat2.lon * RADIANS;
|
|
90
|
-
|
|
91
|
-
|
|
121
|
+
let y = Math.sin(l2 - l1) * Math.cos(f2);
|
|
122
|
+
let x = Math.cos(f1) * Math.sin(f2) - Math.sin(f1) * Math.cos(f2) * Math.cos(l2 - l1);
|
|
92
123
|
return Math.atan2(y, x) * DEGREES;
|
|
93
124
|
}
|
|
94
125
|
|
|
95
|
-
getFlattening() {
|
|
126
|
+
public getFlattening(): number {
|
|
96
127
|
return this._flattening;
|
|
97
128
|
}
|
|
98
129
|
|
|
@@ -101,26 +132,42 @@ class Ellipsoid {
|
|
|
101
132
|
* @public
|
|
102
133
|
* @returns {number} -
|
|
103
134
|
*/
|
|
104
|
-
getEquatorialSize() {
|
|
135
|
+
public getEquatorialSize(): number {
|
|
136
|
+
return this._a;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
public get equatorialSize(): number {
|
|
105
140
|
return this._a;
|
|
106
141
|
}
|
|
107
142
|
|
|
143
|
+
public get equatorialSizeSqr(): number {
|
|
144
|
+
return this._a2;
|
|
145
|
+
}
|
|
146
|
+
|
|
108
147
|
/**
|
|
109
148
|
* Gets ellipsoid polar size.
|
|
110
149
|
* @public
|
|
111
150
|
* @returns {number} -
|
|
112
151
|
*/
|
|
113
|
-
getPolarSize() {
|
|
152
|
+
public getPolarSize(): number {
|
|
114
153
|
return this._b;
|
|
115
154
|
}
|
|
116
155
|
|
|
156
|
+
public get polarSize(): number {
|
|
157
|
+
return this._b;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
public get polarSizeSqr(): number {
|
|
161
|
+
return this._b2;
|
|
162
|
+
}
|
|
163
|
+
|
|
117
164
|
/**
|
|
118
165
|
* Calculate cartesian coordinates by its ECEF geodetic coordinates.
|
|
119
166
|
* @public
|
|
120
167
|
* @param {LonLat} lonlat - Geodetic coordinates.
|
|
121
168
|
* @returns {Vec3} -
|
|
122
169
|
*/
|
|
123
|
-
lonLatToCartesian(lonlat) {
|
|
170
|
+
public lonLatToCartesian(lonlat: LonLat): Vec3 {
|
|
124
171
|
return this.geodeticToCartesian(lonlat.lon, lonlat.lat, lonlat.height);
|
|
125
172
|
}
|
|
126
173
|
|
|
@@ -131,7 +178,7 @@ class Ellipsoid {
|
|
|
131
178
|
* @param {Vec3} res - Output variable reference.
|
|
132
179
|
* @returns {Vec3} -
|
|
133
180
|
*/
|
|
134
|
-
lonLatToCartesianRes(lonlat, res) {
|
|
181
|
+
public lonLatToCartesianRes(lonlat: LonLat, res: Vec3): Vec3 {
|
|
135
182
|
return this.geodeticToCartesian(lonlat.lon, lonlat.lat, lonlat.height, res);
|
|
136
183
|
}
|
|
137
184
|
|
|
@@ -141,11 +188,10 @@ class Ellipsoid {
|
|
|
141
188
|
* @param {Number} lon - Longitude.
|
|
142
189
|
* @param {Number} lat - Latitude.
|
|
143
190
|
* @param {Number} height - Height.
|
|
191
|
+
* @param {Vec3} res - Output result variable.
|
|
144
192
|
* @returns {Vec3} -
|
|
145
193
|
*/
|
|
146
|
-
geodeticToCartesian(lon, lat, height = 0, res) {
|
|
147
|
-
res = res || new Vec3();
|
|
148
|
-
|
|
194
|
+
public geodeticToCartesian(lon: number, lat: number, height: number = 0, res: Vec3 = new Vec3()): Vec3 {
|
|
149
195
|
let latrad = RADIANS * lat,
|
|
150
196
|
lonrad = RADIANS * lon;
|
|
151
197
|
|
|
@@ -167,7 +213,7 @@ class Ellipsoid {
|
|
|
167
213
|
* @param {Vec3} p - Cartesian coordinates.
|
|
168
214
|
* @returns {LonLat} -
|
|
169
215
|
*/
|
|
170
|
-
projToSurface(p) {
|
|
216
|
+
public projToSurface(p: Vec3): Vec3 {
|
|
171
217
|
|
|
172
218
|
let pX = p.x || 0.0,
|
|
173
219
|
pY = p.y || 0.0,
|
|
@@ -226,7 +272,7 @@ class Ellipsoid {
|
|
|
226
272
|
* @param {Vec3} cart - Cartesian coordinates
|
|
227
273
|
* @returns {LonLat} - Geodetic coordinates
|
|
228
274
|
*/
|
|
229
|
-
cartesianToLonLat(cart) {
|
|
275
|
+
public cartesianToLonLat(cart: Vec3): LonLat {
|
|
230
276
|
return this.cartesianToLonLatRes(cart);
|
|
231
277
|
}
|
|
232
278
|
|
|
@@ -236,8 +282,7 @@ class Ellipsoid {
|
|
|
236
282
|
* @param {LonLat} res - Link geodetic coordinates variable
|
|
237
283
|
* @returns {LonLat} - Geodetic coordinates
|
|
238
284
|
*/
|
|
239
|
-
cartesianToLonLatRes(cart, res) {
|
|
240
|
-
res = res || new LonLat();
|
|
285
|
+
public cartesianToLonLatRes(cart: Vec3, res: LonLat = new LonLat()): LonLat {
|
|
241
286
|
let p = this.projToSurface(cart);
|
|
242
287
|
let n = this.getSurfaceNormal3v(p),
|
|
243
288
|
h = cart.sub(p);
|
|
@@ -255,7 +300,7 @@ class Ellipsoid {
|
|
|
255
300
|
* @param {Vec3} coord - Spatial coordinates.
|
|
256
301
|
* @return {Vec3} -
|
|
257
302
|
*/
|
|
258
|
-
getSurfaceNormal3v(coord) {
|
|
303
|
+
public getSurfaceNormal3v(coord: Vec3): Vec3 {
|
|
259
304
|
let r2 = this._invRadii2;
|
|
260
305
|
let nx = coord.x * r2.x,
|
|
261
306
|
ny = coord.y * r2.y,
|
|
@@ -264,7 +309,7 @@ class Ellipsoid {
|
|
|
264
309
|
return new Vec3(nx * l, ny * l, nz * l);
|
|
265
310
|
}
|
|
266
311
|
|
|
267
|
-
getGreatCircleDistance(lonLat1, lonLat2) {
|
|
312
|
+
public getGreatCircleDistance(lonLat1: LonLat, lonLat2: LonLat): number {
|
|
268
313
|
return this.inverse(lonLat1, lonLat2).distance;
|
|
269
314
|
}
|
|
270
315
|
|
|
@@ -277,11 +322,11 @@ class Ellipsoid {
|
|
|
277
322
|
* @param {number} dist - Distance to the destination point coordinates in meters
|
|
278
323
|
* @returns {LonLat} - Destination point coordinates
|
|
279
324
|
*/
|
|
280
|
-
getGreatCircleDestination(lonLat, azimuth, dist) {
|
|
325
|
+
public getGreatCircleDestination(lonLat: LonLat, azimuth: number, dist: number): LonLat {
|
|
281
326
|
return this.direct(lonLat, azimuth, dist).destination;
|
|
282
327
|
}
|
|
283
328
|
|
|
284
|
-
inverse(lonLat1, lonLat2) {
|
|
329
|
+
public inverse(lonLat1: LonLat, lonLat2: LonLat): IInverseResult {
|
|
285
330
|
|
|
286
331
|
let a = this._a, b = this._b, f = this._flattening;
|
|
287
332
|
|
|
@@ -346,9 +391,11 @@ class Ellipsoid {
|
|
|
346
391
|
* @param {number} dist - Distance to the destination point coordinates in meters
|
|
347
392
|
* @returns {LonLat} - Destination point coordinates
|
|
348
393
|
*/
|
|
349
|
-
direct(lonLat, azimuth, dist) {
|
|
394
|
+
public direct(lonLat: LonLat, azimuth: number, dist: number): IDirectResult {
|
|
395
|
+
|
|
350
396
|
let lon1 = lonLat.lon,
|
|
351
397
|
lat1 = lonLat.lat;
|
|
398
|
+
|
|
352
399
|
let a = this._a,
|
|
353
400
|
b = this._b,
|
|
354
401
|
f = this._flattening,
|
|
@@ -367,19 +414,26 @@ class Ellipsoid {
|
|
|
367
414
|
B = (uSq / 1024) * (256 + uSq * (-128 + uSq * (74 - 47 * uSq))),
|
|
368
415
|
sigma = s / (b * A),
|
|
369
416
|
sigmaP = 2 * Math.PI;
|
|
417
|
+
|
|
418
|
+
let cos2SigmaM = 0,
|
|
419
|
+
sinSigma = 0,
|
|
420
|
+
cosSigma = 0,
|
|
421
|
+
deltaSigma = 0;
|
|
422
|
+
|
|
370
423
|
while (Math.abs(sigma - sigmaP) > 1e-12) {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
424
|
+
cos2SigmaM = Math.cos(2 * sigma1 + sigma);
|
|
425
|
+
sinSigma = Math.sin(sigma);
|
|
426
|
+
cosSigma = Math.cos(sigma);
|
|
427
|
+
deltaSigma = B * sinSigma *
|
|
428
|
+
(cos2SigmaM + (B / 4) *
|
|
429
|
+
(
|
|
430
|
+
cosSigma * (-1 + 2 * cos2SigmaM * cos2SigmaM) -
|
|
431
|
+
(B / 6) * cos2SigmaM * (-3 + 4 * sinSigma * sinSigma) * (-3 + 4 * cos2SigmaM * cos2SigmaM)
|
|
432
|
+
));
|
|
380
433
|
sigmaP = sigma;
|
|
381
434
|
sigma = s / (b * A) + deltaSigma;
|
|
382
435
|
}
|
|
436
|
+
|
|
383
437
|
let tmp = sinU1 * sinSigma - cosU1 * cosSigma * cosAlpha1,
|
|
384
438
|
lat2 = Math.atan2(
|
|
385
439
|
sinU1 * cosSigma + cosU1 * sinSigma * cosAlpha1,
|
|
@@ -408,20 +462,20 @@ class Ellipsoid {
|
|
|
408
462
|
* @param {Vec3} direction - Ray direction.
|
|
409
463
|
* @returns {Vec3} -
|
|
410
464
|
*/
|
|
411
|
-
hitRay(origin, direction) {
|
|
412
|
-
|
|
413
|
-
|
|
465
|
+
public hitRay(origin: Vec3, direction: Vec3): Vec3 | undefined {
|
|
466
|
+
let q = this._invRadii.mul(origin);
|
|
467
|
+
let w = this._invRadii.mul(direction);
|
|
414
468
|
|
|
415
|
-
|
|
416
|
-
|
|
469
|
+
let q2 = q.dot(q);
|
|
470
|
+
let qw = q.dot(w);
|
|
417
471
|
|
|
418
|
-
|
|
472
|
+
let difference, w2, product, discriminant, temp;
|
|
419
473
|
|
|
420
474
|
if (q2 > 1.0) {
|
|
421
475
|
// Outside ellipsoid.
|
|
422
476
|
if (qw >= 0.0) {
|
|
423
477
|
// Looking outward or tangent (0 intersections).
|
|
424
|
-
return
|
|
478
|
+
return undefined;
|
|
425
479
|
}
|
|
426
480
|
|
|
427
481
|
// qw < 0.0.
|
|
@@ -434,7 +488,7 @@ class Ellipsoid {
|
|
|
434
488
|
|
|
435
489
|
if (eps > EPS15 && qw2 < product) {
|
|
436
490
|
// Imaginary roots (0 intersections).
|
|
437
|
-
return
|
|
491
|
+
return undefined;
|
|
438
492
|
} else if (qw2 > product) {
|
|
439
493
|
// Distinct roots (2 intersections).
|
|
440
494
|
discriminant = qw * qw - product;
|
|
@@ -470,7 +524,7 @@ class Ellipsoid {
|
|
|
470
524
|
}
|
|
471
525
|
}
|
|
472
526
|
|
|
473
|
-
getNorthFrameRotation(cartesian) {
|
|
527
|
+
public getNorthFrameRotation(cartesian: Vec3): Quat {
|
|
474
528
|
let n = this.getSurfaceNormal3v(cartesian);
|
|
475
529
|
let t = Vec3.proj_b_to_plane(Vec3.NORTH, n);
|
|
476
530
|
return Quat.getLookRotation(t, n);
|
|
@@ -483,7 +537,7 @@ class Ellipsoid {
|
|
|
483
537
|
* @param distance
|
|
484
538
|
* @returns {LonLat}
|
|
485
539
|
*/
|
|
486
|
-
getBearingDestination(lonLat1, bearing = 0.0, distance = 0) {
|
|
540
|
+
public getBearingDestination(lonLat1: LonLat, bearing: number = 0.0, distance: number = 0): LonLat {
|
|
487
541
|
bearing = bearing * RADIANS;
|
|
488
542
|
var nlon = ((lonLat1.lon + 540) % 360) - 180;
|
|
489
543
|
var f1 = lonLat1.lat * RADIANS,
|
|
@@ -510,7 +564,7 @@ class Ellipsoid {
|
|
|
510
564
|
* @param {number} fraction - Fraction between the two points (0 = source point, 1 = destination point).
|
|
511
565
|
* @returns {LonLat} Intermediate point between points.
|
|
512
566
|
*/
|
|
513
|
-
static getIntermediatePointOnGreatCircle(lonLat1, lonLat2, fraction) {
|
|
567
|
+
static getIntermediatePointOnGreatCircle(lonLat1: LonLat, lonLat2: LonLat, fraction: number): LonLat {
|
|
514
568
|
var f1 = lonLat1.lat * RADIANS,
|
|
515
569
|
l1 = lonLat1.lon * RADIANS;
|
|
516
570
|
var f2 = lonLat2.lat * RADIANS,
|
|
@@ -545,7 +599,7 @@ class Ellipsoid {
|
|
|
545
599
|
return new LonLat(((l3 * DEGREES + 540) % 360) - 180, f3 * DEGREES);
|
|
546
600
|
}
|
|
547
601
|
|
|
548
|
-
static getRhumbBearing(lonLat1, lonLat2) {
|
|
602
|
+
static getRhumbBearing(lonLat1: LonLat, lonLat2: LonLat): number {
|
|
549
603
|
var dLon = (lonLat2.lon - lonLat1.lon) * RADIANS;
|
|
550
604
|
var dPhi = Math.log(
|
|
551
605
|
Math.tan((lonLat2.lat * RADIANS) / 2 + Math.PI / 4) /
|
|
@@ -562,4 +616,4 @@ class Ellipsoid {
|
|
|
562
616
|
}
|
|
563
617
|
}
|
|
564
618
|
|
|
565
|
-
export {
|
|
619
|
+
export {Ellipsoid};
|