@openglobus/og 0.18.0 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/lib/@openglobus/og.esm.js +2 -0
- package/lib/@openglobus/og.esm.js.map +1 -0
- package/lib/@openglobus/og.umd.js +2 -0
- package/lib/@openglobus/og.umd.js.map +1 -0
- package/lib/js/Clock.d.ts +106 -0
- package/{src/Clock.ts → lib/js/Clock.js} +31 -126
- package/lib/js/Deferred.d.ts +6 -0
- package/lib/js/Deferred.js +13 -0
- package/lib/js/Events.d.ts +90 -0
- package/{src/Events.ts → lib/js/Events.js} +29 -84
- package/lib/js/Extent.d.ts +145 -0
- package/{src/Extent.ts → lib/js/Extent.js} +74 -120
- package/lib/js/Globe.d.ts +132 -0
- package/{src/Globe.ts → lib/js/Globe.js} +61 -159
- package/lib/js/ImageCanvas.d.ts +128 -0
- package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
- package/lib/js/Lock.d.ts +15 -0
- package/{src/Lock.ts → lib/js/Lock.js} +7 -21
- package/lib/js/LonLat.d.ts +128 -0
- package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
- package/lib/js/Object3d.d.ts +49 -0
- package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
- package/lib/js/Popup.d.ts +46 -0
- package/{src/Popup.ts → lib/js/Popup.js} +42 -110
- package/lib/js/QueueArray.d.ts +16 -0
- package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
- package/lib/js/Rectangle.d.ts +76 -0
- package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
- package/lib/js/Stack.d.ts +20 -0
- package/{src/Stack.ts → lib/js/Stack.js} +13 -29
- package/lib/js/astro/astro.d.ts +39 -0
- package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
- package/lib/js/astro/earth.d.ts +8 -0
- package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
- package/lib/js/astro/jd.d.ts +234 -0
- package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
- package/lib/js/astro/orbit.d.ts +5 -0
- package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
- package/lib/js/astro/rotation.d.ts +2 -0
- package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
- package/lib/js/bv/Box.d.ts +32 -0
- package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
- package/lib/js/bv/Sphere.d.ts +37 -0
- package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
- package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
- package/lib/js/bv/index.js +3 -0
- package/lib/js/camera/Camera.d.ts +314 -0
- package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
- package/lib/js/camera/Frustum.d.ts +139 -0
- package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
- package/lib/js/camera/PlanetCamera.d.ts +234 -0
- package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
- package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
- package/lib/js/camera/index.js +3 -0
- package/lib/js/cons.d.ts +40 -0
- package/{src/cons.ts → lib/js/cons.js} +10 -22
- package/lib/js/control/Atmosphere.d.ts +16 -0
- package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
- package/lib/js/control/CompassButton.d.ts +16 -0
- package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
- package/lib/js/control/Control.d.ts +100 -0
- package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
- package/lib/js/control/DebugInfo.d.ts +25 -0
- package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
- package/lib/js/control/DrawingSwitcher.d.ts +13 -0
- package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
- package/lib/js/control/EarthCoordinates.d.ts +41 -0
- package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
- package/lib/js/control/EarthNavigation.d.ts +50 -0
- package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
- package/lib/js/control/GeoImageDragControl.d.ts +22 -0
- package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
- package/lib/js/control/KeyboardNavigation.d.ts +28 -0
- package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
- package/lib/js/control/LayerAnimation.d.ts +71 -0
- package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
- package/lib/js/control/LayerSwitcher.d.ts +21 -0
- package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
- package/lib/js/control/Lighting.d.ts +49 -0
- package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
- package/lib/js/control/MouseNavigation.d.ts +62 -0
- package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
- package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
- package/lib/js/control/MouseWheelZoomControl.js +181 -0
- package/lib/js/control/RulerSwitcher.d.ts +17 -0
- package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
- package/lib/js/control/ScaleControl.d.ts +24 -0
- package/lib/js/control/ScaleControl.js +91 -0
- package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
- package/lib/js/control/SegmentBoundVisualization.js +37 -0
- package/lib/js/control/ShowFps.d.ts +9 -0
- package/lib/js/control/ShowFps.js +20 -0
- package/lib/js/control/SimpleNavigation.d.ts +25 -0
- package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
- package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
- package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
- package/lib/js/control/Sun.d.ts +33 -0
- package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
- package/lib/js/control/ToggleWireframe.d.ts +14 -0
- package/lib/js/control/ToggleWireframe.js +28 -0
- package/lib/js/control/TouchNavigation.d.ts +52 -0
- package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
- package/lib/js/control/ZoomControl.d.ts +27 -0
- package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
- package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
- package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
- package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
- package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
- package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
- package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
- package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
- package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
- package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
- package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
- package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
- package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
- package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
- package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
- package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
- package/lib/js/control/index.js +28 -0
- package/lib/js/control/ruler/Ruler.d.ts +13 -0
- package/lib/js/control/ruler/Ruler.js +23 -0
- package/lib/js/control/ruler/RulerScene.d.ts +88 -0
- package/lib/js/control/ruler/RulerScene.js +324 -0
- package/lib/js/control/selection/Selection.d.ts +55 -0
- package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
- package/lib/js/control/selection/SelectionScene.d.ts +44 -0
- package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
- package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
- package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
- package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
- package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
- package/lib/js/control/timeline/TimelineView.d.ts +85 -0
- package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
- package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
- package/lib/js/control/timeline/timelineUtils.js +112 -0
- package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
- package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
- package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
- package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
- package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
- package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
- package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
- package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +85 -267
- package/lib/js/ellipsoid/index.d.ts +3 -0
- package/lib/js/ellipsoid/index.js +3 -0
- package/lib/js/ellipsoid/wgs84.d.ts +6 -0
- package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
- package/lib/js/entity/BaseBillboard.d.ts +222 -0
- package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
- package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
- package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
- package/lib/js/entity/Billboard.d.ts +113 -0
- package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
- package/lib/js/entity/BillboardHandler.d.ts +15 -0
- package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
- package/lib/js/entity/Entity.d.ts +354 -0
- package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +102 -374
- package/lib/js/entity/EntityCollection.d.ts +363 -0
- package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +57 -359
- package/lib/js/entity/GeoObject.d.ts +138 -0
- package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
- package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
- package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
- package/lib/js/entity/Geometry.d.ts +111 -0
- package/lib/js/entity/Geometry.js +283 -0
- package/lib/js/entity/GeometryHandler.d.ts +84 -0
- package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
- package/lib/js/entity/Label.d.ts +207 -0
- package/{src/entity/Label.ts → lib/js/entity/Label.js} +63 -165
- package/lib/js/entity/LabelHandler.d.ts +65 -0
- package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
- package/lib/js/entity/LabelWorker.d.ts +15 -0
- package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
- package/lib/js/entity/PointCloud.d.ts +179 -0
- package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
- package/lib/js/entity/PointCloudHandler.d.ts +42 -0
- package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
- package/lib/js/entity/Polyline.d.ts +337 -0
- package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
- package/lib/js/entity/PolylineHandler.d.ts +22 -0
- package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
- package/lib/js/entity/Ray.d.ts +133 -0
- package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
- package/lib/js/entity/RayHandler.d.ts +70 -0
- package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
- package/lib/js/entity/Strip.d.ts +127 -0
- package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
- package/lib/js/entity/StripHandler.d.ts +42 -0
- package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
- package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
- package/lib/js/entity/index.js +11 -0
- package/lib/js/index.d.ts +33 -0
- package/lib/js/index.js +33 -0
- package/lib/js/input/KeyboardHandler.d.ts +33 -0
- package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
- package/lib/js/input/MouseHandler.d.ts +16 -0
- package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
- package/lib/js/input/TouchHandler.d.ts +11 -0
- package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
- package/lib/js/input/input.d.ts +3 -0
- package/{src/input/input.ts → lib/js/input/input.js} +1 -1
- package/lib/js/layer/BaseGeoImage.d.ts +145 -0
- package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
- package/lib/js/layer/CanvasTiles.d.ts +103 -0
- package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
- package/lib/js/layer/GeoImage.d.ts +61 -0
- package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
- package/lib/js/layer/GeoTexture2d.d.ts +17 -0
- package/lib/js/layer/GeoTexture2d.js +37 -0
- package/lib/js/layer/GeoVideo.d.ts +68 -0
- package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
- package/lib/js/layer/KML.d.ts +72 -0
- package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
- package/lib/js/layer/Layer.d.ts +401 -0
- package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
- package/lib/js/layer/Material.d.ts +34 -0
- package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
- package/lib/js/layer/Vector.d.ts +243 -0
- package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +155 -426
- package/lib/js/layer/WMS.d.ts +75 -0
- package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
- package/lib/js/layer/XYZ.d.ts +149 -0
- package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
- package/lib/js/layer/index.d.ts +11 -0
- package/lib/js/layer/index.js +11 -0
- package/lib/js/light/LightSource.d.ts +174 -0
- package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
- package/lib/js/math/Line2.d.ts +11 -0
- package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
- package/lib/js/math/Line3.d.ts +28 -0
- package/lib/js/math/Line3.js +85 -0
- package/lib/js/math/Mat3.d.ts +77 -0
- package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
- package/lib/js/math/Mat4.d.ts +195 -0
- package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
- package/lib/js/math/Plane.d.ts +20 -0
- package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
- package/lib/js/math/Quat.d.ts +373 -0
- package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
- package/lib/js/math/Ray.d.ts +76 -0
- package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
- package/lib/js/math/Vec2.d.ts +310 -0
- package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
- package/lib/js/math/Vec3.d.ts +472 -0
- package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
- package/lib/js/math/Vec4.d.ts +163 -0
- package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
- package/lib/js/math/coder.d.ts +51 -0
- package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
- package/lib/js/math/index.d.ts +11 -0
- package/lib/js/math/index.js +11 -0
- package/lib/js/math.d.ts +266 -0
- package/{src/math.ts → lib/js/math.js} +37 -85
- package/lib/js/mercator.d.ts +92 -0
- package/{src/mercator.ts → lib/js/mercator.js} +13 -37
- package/lib/js/proj/EPSG3857.d.ts +9 -0
- package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
- package/lib/js/proj/EPSG4326.d.ts +9 -0
- package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
- package/lib/js/proj/Proj.d.ts +43 -0
- package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
- package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
- package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
- package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/Node.d.ts +61 -0
- package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
- package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
- package/lib/js/quadTree/index.d.ts +12 -0
- package/lib/js/quadTree/index.js +12 -0
- package/lib/js/quadTree/quadTree.d.ts +40 -0
- package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
- package/lib/js/renderer/Renderer.d.ts +320 -0
- package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +265 -622
- package/lib/js/renderer/RendererEvents.d.ts +239 -0
- package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +158 -472
- package/lib/js/scene/Axes.d.ts +12 -0
- package/lib/js/scene/Axes.js +59 -0
- package/lib/js/scene/BaseNode.d.ts +61 -0
- package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
- package/lib/js/scene/Planet.d.ts +623 -0
- package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +257 -937
- package/lib/js/scene/RenderNode.d.ts +150 -0
- package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
- package/lib/js/scene/SkyBox.d.ts +13 -0
- package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
- package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
- package/lib/js/scene/index.js +5 -0
- package/lib/js/segment/Segment.d.ts +278 -0
- package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
- package/lib/js/segment/SegmentLonLat.d.ts +48 -0
- package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
- package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
- package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
- package/lib/js/segment/Slice.d.ts +13 -0
- package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
- package/lib/js/segment/segmentHelper.d.ts +18 -0
- package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
- package/lib/js/shaders/atmos.d.ts +4 -0
- package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
- package/lib/js/shaders/billboard.d.ts +3 -0
- package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
- package/lib/js/shaders/bloom.d.ts +2 -0
- package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
- package/lib/js/shaders/blur.d.ts +3 -0
- package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
- package/lib/js/shaders/depth.d.ts +2 -0
- package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
- package/lib/js/shaders/drawnode.d.ts +8 -0
- package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
- package/lib/js/shaders/geoObject.d.ts +3 -0
- package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
- package/lib/js/shaders/label.d.ts +4 -0
- package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
- package/lib/js/shaders/lumFilter.d.ts +2 -0
- package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
- package/lib/js/shaders/pickingMask.d.ts +2 -0
- package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
- package/lib/js/shaders/pointCloud.d.ts +2 -0
- package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
- package/lib/js/shaders/polyline.d.ts +3 -0
- package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
- package/lib/js/shaders/ray.d.ts +2 -0
- package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
- package/lib/js/shaders/screenFrame.d.ts +2 -0
- package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
- package/lib/js/shaders/skybox.d.ts +2 -0
- package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
- package/lib/js/shaders/toneMapping.d.ts +2 -0
- package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
- package/lib/js/shaders/utils.d.ts +1 -0
- package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
- package/lib/js/terrain/BilTerrain.d.ts +18 -0
- package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
- package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
- package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
- package/lib/js/terrain/Geoid.d.ts +33 -0
- package/lib/js/terrain/Geoid.js +191 -0
- package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
- package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +84 -241
- package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
- package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
- package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
- package/lib/js/terrain/index.js +5 -0
- package/lib/js/ui/Button.d.ts +32 -0
- package/lib/js/ui/Button.js +78 -0
- package/lib/js/ui/ButtonGroup.d.ts +16 -0
- package/lib/js/ui/ButtonGroup.js +41 -0
- package/lib/js/ui/Dialog.d.ts +55 -0
- package/lib/js/ui/Dialog.js +173 -0
- package/lib/js/ui/Slider.d.ts +38 -0
- package/lib/js/ui/Slider.js +129 -0
- package/lib/js/ui/ToggleButton.d.ts +20 -0
- package/lib/js/ui/ToggleButton.js +42 -0
- package/lib/js/ui/View.d.ts +37 -0
- package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
- package/lib/js/ui/icons.d.ts +1 -0
- package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
- package/lib/js/utils/BaseWorker.d.ts +14 -0
- package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
- package/lib/js/utils/FontAtlas.d.ts +82 -0
- package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +46 -182
- package/lib/js/utils/GeoImageCreator.d.ts +34 -0
- package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
- package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
- package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
- package/lib/js/utils/Loader.d.ts +63 -0
- package/lib/js/utils/Loader.js +156 -0
- package/lib/js/utils/NormalMapCreator.d.ts +52 -0
- package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
- package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
- package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
- package/lib/js/utils/TerrainWorker.d.ts +28 -0
- package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
- package/lib/js/utils/TextureAtlas.d.ts +113 -0
- package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
- package/lib/js/utils/VectorTileCreator.d.ts +18 -0
- package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
- package/lib/js/utils/colorTable.d.ts +3 -0
- package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
- package/lib/js/utils/earcut.d.ts +7 -0
- package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
- package/lib/js/utils/objParser.d.ts +24 -0
- package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
- package/lib/js/utils/shared.d.ts +267 -0
- package/{src/utils/shared.ts → lib/js/utils/shared.js} +185 -342
- package/lib/js/utils/units.d.ts +16 -0
- package/lib/js/utils/units.js +61 -0
- package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
- package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
- package/lib/js/webgl/Framebuffer.d.ts +69 -0
- package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
- package/lib/js/webgl/Handler.d.ts +473 -0
- package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
- package/lib/js/webgl/Multisample.d.ts +27 -0
- package/lib/js/webgl/Multisample.js +77 -0
- package/lib/js/webgl/Program.d.ts +159 -0
- package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
- package/lib/js/webgl/ProgramController.d.ts +86 -0
- package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
- package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
- package/lib/js/webgl/index.js +6 -0
- package/lib/js/webgl/types.d.ts +9 -0
- package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
- package/lib/js/webgl/variableHandlers.d.ts +22 -0
- package/lib/js/webgl/variableHandlers.js +78 -0
- package/package.json +23 -34
- package/dist/@openglobus/og.esm.js +0 -2
- package/dist/@openglobus/og.esm.js.map +0 -1
- package/dist/@openglobus/og.umd.js +0 -2
- package/dist/@openglobus/og.umd.js.map +0 -1
- package/src/Deferred.ts +0 -17
- package/src/control/MouseWheelZoomControl.ts +0 -269
- package/src/control/ScaleControl.ts +0 -131
- package/src/control/SegmentBoundVisualization.ts +0 -50
- package/src/control/ShowFps.ts +0 -28
- package/src/control/ToggleWireframe.ts +0 -35
- package/src/control/ruler/Ruler.ts +0 -35
- package/src/control/ruler/RulerScene.ts +0 -437
- package/src/control/timeline/timelineUtils.ts +0 -133
- package/src/ellipsoid/index.ts +0 -4
- package/src/entity/Geometry.ts +0 -486
- package/src/index.ts +0 -173
- package/src/layer/GeoTexture2d.ts +0 -56
- package/src/layer/index.ts +0 -12
- package/src/math/Line3.ts +0 -162
- package/src/math/index.ts +0 -26
- package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
- package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
- package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
- package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
- package/src/quadTree/index.ts +0 -14
- package/src/scene/Axes.ts +0 -78
- package/src/segment/SegmentLonLatWgs84.ts +0 -33
- package/src/terrain/Geoid.ts +0 -273
- package/src/ui/Button.ts +0 -121
- package/src/ui/ButtonGroup.ts +0 -63
- package/src/ui/Dialog.ts +0 -244
- package/src/ui/Slider.ts +0 -188
- package/src/ui/ToggleButton.ts +0 -68
- package/src/utils/Loader.ts +0 -247
- package/src/utils/units.ts +0 -78
- package/src/webgl/Multisample.ts +0 -153
- package/src/webgl/variableHandlers.ts +0 -114
- /package/{dist → lib}/@openglobus/og.css +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
- /package/{dist → lib}/@openglobus/res/night.png +0 -0
- /package/{dist → lib}/@openglobus/res/spec.png +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Program } from '../webgl/Program';
|
|
2
|
-
|
|
3
|
-
export function polyline_screen(): Program {
|
|
2
|
+
export function polyline_screen() {
|
|
4
3
|
return new Program("polyline_screen", {
|
|
5
4
|
uniforms: {
|
|
6
5
|
viewport: "vec2",
|
|
@@ -17,18 +16,13 @@ export function polyline_screen(): Program {
|
|
|
17
16
|
prevHigh: "vec3",
|
|
18
17
|
currentHigh: "vec3",
|
|
19
18
|
nextHigh: "vec3",
|
|
20
|
-
|
|
21
19
|
prevLow: "vec3",
|
|
22
20
|
currentLow: "vec3",
|
|
23
21
|
nextLow: "vec3",
|
|
24
|
-
|
|
25
22
|
order: "float",
|
|
26
|
-
|
|
27
23
|
color: "vec4"
|
|
28
24
|
},
|
|
29
|
-
|
|
30
|
-
vertexShader:
|
|
31
|
-
`precision highp float;
|
|
25
|
+
vertexShader: `precision highp float;
|
|
32
26
|
|
|
33
27
|
attribute vec3 prevHigh;
|
|
34
28
|
attribute vec3 currentHigh;
|
|
@@ -166,9 +160,7 @@ export function polyline_screen(): Program {
|
|
|
166
160
|
|
|
167
161
|
gl_Position = vec4((2.0 * m / viewport - 1.0) * dCurrent.w, dCurrent.z + depthOffset, dCurrent.w);
|
|
168
162
|
}`,
|
|
169
|
-
|
|
170
|
-
fragmentShader:
|
|
171
|
-
`precision highp float;
|
|
163
|
+
fragmentShader: `precision highp float;
|
|
172
164
|
uniform vec2 uFloatParams;
|
|
173
165
|
varying vec3 uCamPos;
|
|
174
166
|
varying vec4 vColor;
|
|
@@ -181,8 +173,7 @@ export function polyline_screen(): Program {
|
|
|
181
173
|
}`
|
|
182
174
|
});
|
|
183
175
|
}
|
|
184
|
-
|
|
185
|
-
export function polyline_picking(): Program {
|
|
176
|
+
export function polyline_picking() {
|
|
186
177
|
return new Program("polyline_picking", {
|
|
187
178
|
uniforms: {
|
|
188
179
|
viewport: "vec2",
|
|
@@ -199,16 +190,12 @@ export function polyline_picking(): Program {
|
|
|
199
190
|
prevHigh: "vec3",
|
|
200
191
|
currentHigh: "vec3",
|
|
201
192
|
nextHigh: "vec3",
|
|
202
|
-
|
|
203
193
|
prevLow: "vec3",
|
|
204
194
|
currentLow: "vec3",
|
|
205
195
|
nextLow: "vec3",
|
|
206
|
-
|
|
207
196
|
order: "float"
|
|
208
197
|
},
|
|
209
|
-
|
|
210
|
-
vertexShader:
|
|
211
|
-
`precision highp float;
|
|
198
|
+
vertexShader: `precision highp float;
|
|
212
199
|
|
|
213
200
|
attribute vec3 prevHigh;
|
|
214
201
|
attribute vec3 currentHigh;
|
|
@@ -343,9 +330,7 @@ export function polyline_picking(): Program {
|
|
|
343
330
|
}
|
|
344
331
|
gl_Position = vec4((2.0 * m / viewport - 1.0) * dCurrent.w, dCurrent.z + depthOffset, dCurrent.w);
|
|
345
332
|
}`,
|
|
346
|
-
|
|
347
|
-
fragmentShader:
|
|
348
|
-
`precision highp float;
|
|
333
|
+
fragmentShader: `precision highp float;
|
|
349
334
|
uniform vec2 uFloatParams;
|
|
350
335
|
varying vec3 uCamPos;
|
|
351
336
|
varying vec4 vColor;
|
|
@@ -357,4 +342,4 @@ export function polyline_picking(): Program {
|
|
|
357
342
|
gl_FragColor = vec4(vColor.rgb, a);
|
|
358
343
|
}`
|
|
359
344
|
});
|
|
360
|
-
}
|
|
345
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {Program} from '../webgl/Program';
|
|
2
|
-
|
|
3
|
-
export function rayScreen(): Program {
|
|
1
|
+
import { Program } from '../webgl/Program';
|
|
2
|
+
export function rayScreen() {
|
|
4
3
|
return new Program("rayScreen", {
|
|
5
4
|
uniforms: {
|
|
6
5
|
projectionMatrix: "mat4",
|
|
@@ -19,8 +18,7 @@ export function rayScreen(): Program {
|
|
|
19
18
|
a_thickness: "float",
|
|
20
19
|
a_rgba: "vec4"
|
|
21
20
|
},
|
|
22
|
-
vertexShader:
|
|
23
|
-
`precision highp float;
|
|
21
|
+
vertexShader: `precision highp float;
|
|
24
22
|
|
|
25
23
|
attribute vec4 a_rgba;
|
|
26
24
|
attribute vec3 a_startPosHigh;
|
|
@@ -69,8 +67,7 @@ export function rayScreen(): Program {
|
|
|
69
67
|
|
|
70
68
|
gl_Position = projectionMatrix * viewMatrixRTE * vec4(highDiff + vert, 1.0);
|
|
71
69
|
}`,
|
|
72
|
-
fragmentShader:
|
|
73
|
-
`precision highp float;
|
|
70
|
+
fragmentShader: `precision highp float;
|
|
74
71
|
varying vec4 v_rgba;
|
|
75
72
|
void main () {
|
|
76
73
|
gl_FragColor = v_rgba;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {Program} from '../webgl/Program';
|
|
2
|
-
|
|
3
|
-
export function screenFrame(): Program {
|
|
1
|
+
import { Program } from '../webgl/Program';
|
|
2
|
+
export function screenFrame() {
|
|
4
3
|
return new Program("screenFrame", {
|
|
5
4
|
uniforms: {
|
|
6
5
|
texture: "sampler2d"
|
|
@@ -8,16 +7,14 @@ export function screenFrame(): Program {
|
|
|
8
7
|
attributes: {
|
|
9
8
|
corners: "vec3"
|
|
10
9
|
},
|
|
11
|
-
vertexShader:
|
|
12
|
-
`attribute vec2 corners;
|
|
10
|
+
vertexShader: `attribute vec2 corners;
|
|
13
11
|
|
|
14
12
|
varying vec2 tc;
|
|
15
13
|
void main(void) {
|
|
16
14
|
gl_Position = vec4(corners, 0.0, 1.0);
|
|
17
15
|
tc = corners * 0.5 + 0.5;
|
|
18
16
|
}`,
|
|
19
|
-
fragmentShader:
|
|
20
|
-
`precision highp float;
|
|
17
|
+
fragmentShader: `precision highp float;
|
|
21
18
|
uniform sampler2D texture;
|
|
22
19
|
|
|
23
20
|
varying vec2 tc;
|
|
@@ -26,4 +23,4 @@ export function screenFrame(): Program {
|
|
|
26
23
|
gl_FragColor = texture2D( texture, tc );
|
|
27
24
|
}`
|
|
28
25
|
});
|
|
29
|
-
}
|
|
26
|
+
}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import {Program} from '../webgl/Program';
|
|
2
|
-
import {types} from '../webgl/types';
|
|
3
|
-
|
|
4
|
-
export function skybox(): Program {
|
|
1
|
+
import { Program } from '../webgl/Program';
|
|
2
|
+
import { types } from '../webgl/types';
|
|
3
|
+
export function skybox() {
|
|
5
4
|
return new Program("skybox", {
|
|
6
5
|
uniforms: {
|
|
7
|
-
projectionViewMatrix: {type: types.MAT4},
|
|
8
|
-
uSampler: {type: types.SAMPLERCUBE},
|
|
9
|
-
pos: {type: types.VEC3}
|
|
6
|
+
projectionViewMatrix: { type: types.MAT4 },
|
|
7
|
+
uSampler: { type: types.SAMPLERCUBE },
|
|
8
|
+
pos: { type: types.VEC3 }
|
|
10
9
|
},
|
|
11
10
|
attributes: {
|
|
12
|
-
aVertexPosition: {type: types.VEC3, enableArray: true}
|
|
11
|
+
aVertexPosition: { type: types.VEC3, enableArray: true }
|
|
13
12
|
},
|
|
14
|
-
vertexShader:
|
|
15
|
-
`attribute vec3 aVertexPosition;
|
|
13
|
+
vertexShader: `attribute vec3 aVertexPosition;
|
|
16
14
|
uniform mat4 projectionViewMatrix;
|
|
17
15
|
uniform vec3 pos;
|
|
18
16
|
varying vec3 vTextureCoord;
|
|
@@ -20,12 +18,11 @@ export function skybox(): Program {
|
|
|
20
18
|
vTextureCoord = aVertexPosition;
|
|
21
19
|
gl_Position = projectionViewMatrix * vec4(aVertexPosition + pos, 1.0);
|
|
22
20
|
}`,
|
|
23
|
-
fragmentShader:
|
|
24
|
-
`precision lowp float;
|
|
21
|
+
fragmentShader: `precision lowp float;
|
|
25
22
|
varying vec3 vTextureCoord;
|
|
26
23
|
uniform samplerCube uSampler;
|
|
27
24
|
void main(void) {
|
|
28
25
|
gl_FragColor = textureCube(uSampler, vTextureCoord);
|
|
29
26
|
}`
|
|
30
27
|
});
|
|
31
|
-
}
|
|
28
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {Program} from '../webgl/Program';
|
|
2
|
-
|
|
3
|
-
export function toneMapping(): Program {
|
|
1
|
+
import { Program } from '../webgl/Program';
|
|
2
|
+
export function toneMapping() {
|
|
4
3
|
return new Program("toneMapping", {
|
|
5
4
|
uniforms: {
|
|
6
5
|
hdrBuffer: "sampler2d",
|
|
@@ -11,8 +10,7 @@ export function toneMapping(): Program {
|
|
|
11
10
|
attributes: {
|
|
12
11
|
corners: "vec3"
|
|
13
12
|
},
|
|
14
|
-
vertexShader:
|
|
15
|
-
`#version 300 es
|
|
13
|
+
vertexShader: `#version 300 es
|
|
16
14
|
|
|
17
15
|
in vec2 corners;
|
|
18
16
|
|
|
@@ -22,8 +20,7 @@ export function toneMapping(): Program {
|
|
|
22
20
|
gl_Position = vec4(corners, 0.0, 1.0);
|
|
23
21
|
tc = corners * 0.5 + 0.5;
|
|
24
22
|
}`,
|
|
25
|
-
fragmentShader:
|
|
26
|
-
`#version 300 es
|
|
23
|
+
fragmentShader: `#version 300 es
|
|
27
24
|
|
|
28
25
|
precision highp float;
|
|
29
26
|
|
|
@@ -85,4 +82,4 @@ export function toneMapping(): Program {
|
|
|
85
82
|
fragColor = vec4(mapped, hdrColor.a);
|
|
86
83
|
}`
|
|
87
84
|
});
|
|
88
|
-
}
|
|
85
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const UTILS = "\n float getLerpValue(in float min, in float max, in float between)\n {\n return (clamp(between, min, max) - min) / (max - min);\n }\n \n vec3 aces(vec3 color) \n {\n float a = 2.51;\n float b = 0.03;\n float c = 2.43;\n float d = 0.59;\n float e = 0.14;\n return clamp((color * (a * color + b)) / (color * (c * color + d ) + e), 0.0, 1.0);\n }\n \n bool intersectSphere(vec3 rayOrigin, vec3 rayDirection, float radius, inout float t1, inout float t2) \n {\n float b = dot(rayDirection, rayOrigin);\n float c = dot(rayOrigin, rayOrigin) - radius * radius;\n float d = b * b - c;\n if (d < 0.0) {\n return false;\n }\n t1 = -b - sqrt(d);\n t2 = -b + sqrt(d);\n return true;\n }\n \n bool intersectSphere(vec3 rayOrigin, vec3 rayDirection, float radius, inout float t) \n {\n float b = dot(rayDirection, rayOrigin);\n float c = dot(rayOrigin, rayOrigin) - radius * radius;\n float d = b * b - c;\n if (d < 0.0) {\n return false;\n }\n t = -b - sqrt(d);\n return true;\n }\n \n bool intersectEllipsoid( in vec3 ro, in vec3 rd, in vec3 ra, inout float t )\n {\n vec3 ocn = ro/ra;\n vec3 rdn = rd/ra;\n float a = dot( rdn, rdn );\n float b = dot( ocn, rdn );\n float c = dot( ocn, ocn );\n float h = b*b - a*(c-1.0);\n \n if (h < 0.0) \n { \n return false; \n }\n \n t = (-b-sqrt(h))/a;\n \n return true;\n }\n \n bool intersectEllipsoid( in vec3 ro, in vec3 rd, in vec3 ra, inout float t1, inout float t2)\n {\n vec3 ocn = ro/ra;\n vec3 rdn = rd/ra;\n float a = dot( rdn, rdn );\n float b = dot( ocn, rdn );\n float c = dot( ocn, ocn );\n float h = b*b - a*(c-1.0);\n \n if (h < 0.0) \n { \n return false; \n }\n \n h = sqrt(h);\n t1 = (-b-h)/a;\n t2 = (-b+h)/a;\n \n return true;\n }\n \n vec3 normalEllipsoid( in vec3 pos, in vec3 ra )\n {\n return normalize( pos/(ra*ra) );\n }\n";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { GlobusTerrain, IGlobusTerrainParams } from "./GlobusTerrain";
|
|
2
|
+
import { Segment } from "../segment/Segment";
|
|
3
|
+
import { Extent } from "../Extent";
|
|
4
|
+
import { TypedArray } from "../utils/shared";
|
|
5
|
+
interface IBilTerrainParams extends IGlobusTerrainParams {
|
|
6
|
+
layers?: string;
|
|
7
|
+
imageSize?: number;
|
|
8
|
+
}
|
|
9
|
+
declare class BilTerrain extends GlobusTerrain {
|
|
10
|
+
protected _format: string;
|
|
11
|
+
protected _layers: string;
|
|
12
|
+
protected _imageSize: number;
|
|
13
|
+
constructor(options?: IBilTerrainParams);
|
|
14
|
+
isBlur(segment: Segment): boolean;
|
|
15
|
+
protected _createUrl(segment: Segment): string;
|
|
16
|
+
protected _createHeights(data: number[], tileIndex: string, tileX: number, tileY: number, tileZoom: number, extent: Extent, preventChildren: boolean): TypedArray | number[];
|
|
17
|
+
}
|
|
18
|
+
export { BilTerrain };
|
|
@@ -1,75 +1,33 @@
|
|
|
1
|
-
import {getTileExtent} from "../mercator";
|
|
2
|
-
import {GlobusTerrain
|
|
3
|
-
import {Layer} from "../layer/Layer";
|
|
4
|
-
import {WMS} from "../layer/WMS";
|
|
5
|
-
import {isPowerOfTwo, nextHighestPowerOfTwo} from "../math";
|
|
6
|
-
import {Segment} from "../segment/Segment";
|
|
7
|
-
import {Extent} from "../Extent";
|
|
8
|
-
import {TypedArray} from "../utils/shared";
|
|
9
|
-
|
|
10
|
-
interface IBilTerrainParams extends IGlobusTerrainParams {
|
|
11
|
-
layers?: string;
|
|
12
|
-
imageSize?: number;
|
|
13
|
-
}
|
|
14
|
-
|
|
1
|
+
import { getTileExtent } from "../mercator";
|
|
2
|
+
import { GlobusTerrain } from "./GlobusTerrain";
|
|
3
|
+
import { Layer } from "../layer/Layer";
|
|
4
|
+
import { WMS } from "../layer/WMS";
|
|
5
|
+
import { isPowerOfTwo, nextHighestPowerOfTwo } from "../math";
|
|
15
6
|
class BilTerrain extends GlobusTerrain {
|
|
16
|
-
|
|
17
|
-
protected _format: string;
|
|
18
|
-
|
|
19
|
-
protected _layers: string;
|
|
20
|
-
|
|
21
|
-
protected _imageSize: number;
|
|
22
|
-
|
|
23
|
-
constructor(options: IBilTerrainParams = {}) {
|
|
7
|
+
constructor(options = {}) {
|
|
24
8
|
super("BilTerrain", options);
|
|
25
|
-
|
|
26
9
|
this.equalizeVertices = true;
|
|
27
|
-
|
|
28
10
|
this.equalizeNormals = true;
|
|
29
|
-
|
|
30
11
|
this.minZoom = options.minZoom || 2;
|
|
31
|
-
|
|
32
12
|
this.maxZoom = options.maxZoom || 14;
|
|
33
|
-
|
|
34
13
|
this.noDataValues = options.noDataValues || [-9999, 32767];
|
|
35
|
-
|
|
36
14
|
this.url = options.url || "";
|
|
37
|
-
|
|
38
15
|
this._format = "application/bil16";
|
|
39
|
-
|
|
40
16
|
this._layers = options.layers || "";
|
|
41
|
-
|
|
42
17
|
this._imageSize = options.imageSize || 256;
|
|
43
|
-
|
|
44
18
|
this.plainGridSize = options.plainGridSize != undefined
|
|
45
19
|
? options.plainGridSize
|
|
46
20
|
: isPowerOfTwo(this._imageSize) ? this._imageSize / 2 : nextHighestPowerOfTwo(this._imageSize) / 2;
|
|
47
|
-
|
|
48
21
|
this._dataType = "arrayBuffer";
|
|
49
22
|
}
|
|
50
|
-
|
|
51
|
-
public override isBlur(segment: Segment): boolean {
|
|
23
|
+
isBlur(segment) {
|
|
52
24
|
return segment.tileZoom >= 18;
|
|
53
25
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return WMS.createRequestUrl(
|
|
57
|
-
this.url,
|
|
58
|
-
this._layers,
|
|
59
|
-
this._format,
|
|
60
|
-
"1.1.1",
|
|
61
|
-
"GetMap",
|
|
62
|
-
segment._projection.code,
|
|
63
|
-
WMS.get_bbox_v1_1_1(segment.getExtent()),
|
|
64
|
-
this._imageSize,
|
|
65
|
-
this._imageSize
|
|
66
|
-
);
|
|
26
|
+
_createUrl(segment) {
|
|
27
|
+
return WMS.createRequestUrl(this.url, this._layers, this._format, "1.1.1", "GetMap", segment._projection.code, WMS.get_bbox_v1_1_1(segment.getExtent()), this._imageSize, this._imageSize);
|
|
67
28
|
}
|
|
68
|
-
|
|
69
|
-
protected override _createHeights(data: number[], tileIndex: string, tileX: number, tileY: number, tileZoom: number, extent: Extent, preventChildren: boolean): TypedArray | number[] {
|
|
70
|
-
|
|
29
|
+
_createHeights(data, tileIndex, tileX, tileY, tileZoom, extent, preventChildren) {
|
|
71
30
|
let bil16 = new Int16Array(data);
|
|
72
|
-
|
|
73
31
|
//
|
|
74
32
|
//Non-power of two images
|
|
75
33
|
//
|
|
@@ -79,36 +37,25 @@ class BilTerrain extends GlobusTerrain {
|
|
|
79
37
|
extractElevationTilesNonPowerOfTwo(bil16, outCurrenElevations);
|
|
80
38
|
return outCurrenElevations;
|
|
81
39
|
}
|
|
82
|
-
|
|
83
40
|
let elevationsSize = (this.plainGridSize + 1) * (this.plainGridSize + 1);
|
|
84
|
-
|
|
85
41
|
let d = 4;
|
|
86
|
-
|
|
87
42
|
let outChildrenElevations = new Array(d);
|
|
88
|
-
|
|
89
43
|
for (let i = 0; i < d; i++) {
|
|
90
44
|
outChildrenElevations[i] = [];
|
|
91
45
|
for (let j = 0; j < d; j++) {
|
|
92
46
|
outChildrenElevations[i][j] = new Float32Array(elevationsSize);
|
|
93
47
|
}
|
|
94
48
|
}
|
|
95
|
-
|
|
96
49
|
let outCurrenElevations = new Float32Array(elevationsSize);
|
|
97
|
-
|
|
98
50
|
extractElevationTiles(bil16, this.noDataValues, outCurrenElevations, outChildrenElevations);
|
|
99
|
-
|
|
100
51
|
this._elevationCache[tileIndex] = {
|
|
101
52
|
heights: outCurrenElevations,
|
|
102
53
|
extent: extent
|
|
103
54
|
};
|
|
104
|
-
|
|
105
55
|
let dd = this._imageSize / this.plainGridSize;
|
|
106
|
-
|
|
107
56
|
for (let i = 0; i < dd; i++) {
|
|
108
57
|
for (let j = 0; j < dd; j++) {
|
|
109
|
-
let x = tileX * 2 + j,
|
|
110
|
-
y = tileY * 2 + i,
|
|
111
|
-
z = tileZoom + 1;
|
|
58
|
+
let x = tileX * 2 + j, y = tileY * 2 + i, z = tileZoom + 1;
|
|
112
59
|
let tileIndex = Layer.getTileIndex(x, y, z);
|
|
113
60
|
this._elevationCache[tileIndex] = {
|
|
114
61
|
heights: outChildrenElevations[i][j],
|
|
@@ -116,134 +63,90 @@ class BilTerrain extends GlobusTerrain {
|
|
|
116
63
|
};
|
|
117
64
|
}
|
|
118
65
|
}
|
|
119
|
-
|
|
120
66
|
return outCurrenElevations;
|
|
121
67
|
}
|
|
122
68
|
}
|
|
123
|
-
|
|
124
|
-
function extractElevationTilesNonPowerOfTwo(data: number[] | TypedArray, outCurrenElevations: number[] | TypedArray) {
|
|
69
|
+
function extractElevationTilesNonPowerOfTwo(data, outCurrenElevations) {
|
|
125
70
|
for (let i = 0, len = outCurrenElevations.length; i < len; i++) {
|
|
126
71
|
outCurrenElevations[i] = data[i];
|
|
127
72
|
}
|
|
128
73
|
}
|
|
129
|
-
|
|
130
|
-
function extractElevationTiles(data: number[] | TypedArray, noDataValues: number[] | TypedArray, outCurrenElevations: number[] | TypedArray, outChildrenElevations: number[][][] | TypedArray[][]) {
|
|
74
|
+
function extractElevationTiles(data, noDataValues, outCurrenElevations, outChildrenElevations) {
|
|
131
75
|
let destSize = Math.sqrt(outCurrenElevations.length) - 1;
|
|
132
76
|
let destSizeOne = destSize + 1;
|
|
133
77
|
let sourceSize = Math.sqrt(data.length);
|
|
134
78
|
let dt = sourceSize / destSize;
|
|
135
|
-
|
|
136
|
-
let rightHeight = 0,
|
|
137
|
-
bottomHeight = 0;
|
|
138
|
-
|
|
79
|
+
let rightHeight = 0, bottomHeight = 0;
|
|
139
80
|
for (let k = 0, currIndex = 0, sourceDataLength = data.length; k < sourceDataLength; k++) {
|
|
140
81
|
let height = data[k];
|
|
141
|
-
|
|
142
|
-
let
|
|
143
|
-
|
|
144
|
-
isNoDataBottom = false;
|
|
145
|
-
|
|
146
|
-
let i = Math.floor(k / sourceSize),
|
|
147
|
-
j = k % sourceSize;
|
|
148
|
-
|
|
149
|
-
let tileX = Math.floor(j / destSize),
|
|
150
|
-
tileY = Math.floor(i / destSize);
|
|
151
|
-
|
|
82
|
+
let isNoDataCurrent = BilTerrain.checkNoDataValue(noDataValues, height), isNoDataRight = false, isNoDataBottom = false;
|
|
83
|
+
let i = Math.floor(k / sourceSize), j = k % sourceSize;
|
|
84
|
+
let tileX = Math.floor(j / destSize), tileY = Math.floor(i / destSize);
|
|
152
85
|
let destArr = outChildrenElevations[tileY][tileX];
|
|
153
|
-
|
|
154
|
-
let ii = i % destSize,
|
|
155
|
-
jj = j % destSize;
|
|
156
|
-
|
|
86
|
+
let ii = i % destSize, jj = j % destSize;
|
|
157
87
|
let destIndex = (ii + tileY) * destSizeOne + jj + tileX;
|
|
158
|
-
|
|
159
88
|
destArr[destIndex] = height;
|
|
160
|
-
|
|
161
89
|
if ((i + tileY) % dt === 0 && (j + tileX) % dt === 0) {
|
|
162
90
|
outCurrenElevations[currIndex++] = height;
|
|
163
91
|
}
|
|
164
|
-
|
|
165
92
|
if ((j + 1) % destSize === 0 && j !== sourceSize - 1) {
|
|
166
93
|
//current tile
|
|
167
94
|
rightHeight = data[k];
|
|
168
|
-
|
|
169
95
|
isNoDataRight = BilTerrain.checkNoDataValue(noDataValues, rightHeight);
|
|
170
|
-
|
|
171
96
|
let middleHeight = height;
|
|
172
97
|
if (!(isNoDataCurrent || isNoDataRight)) {
|
|
173
98
|
middleHeight = (height + rightHeight) * 0.5;
|
|
174
99
|
}
|
|
175
|
-
|
|
176
100
|
destIndex = (ii + tileY) * destSizeOne + jj + 1;
|
|
177
101
|
destArr[destIndex] = middleHeight;
|
|
178
|
-
|
|
179
102
|
if ((i + tileY) % dt === 0) {
|
|
180
103
|
outCurrenElevations[currIndex++] = middleHeight;
|
|
181
104
|
}
|
|
182
|
-
|
|
183
105
|
//next right tile
|
|
184
106
|
let rightindex = (ii + tileY) * destSizeOne + ((jj + 1) % destSize);
|
|
185
107
|
outChildrenElevations[tileY][tileX + 1][rightindex] = middleHeight;
|
|
186
108
|
}
|
|
187
|
-
|
|
188
109
|
if ((i + 1) % destSize === 0 && i !== sourceSize - 1) {
|
|
189
110
|
//current tile
|
|
190
111
|
bottomHeight = data[k + sourceSize];
|
|
191
|
-
|
|
192
112
|
isNoDataBottom = BilTerrain.checkNoDataValue(noDataValues, bottomHeight);
|
|
193
|
-
|
|
194
113
|
let middleHeight = height;
|
|
195
|
-
|
|
196
114
|
if (!(isNoDataCurrent || isNoDataBottom)) {
|
|
197
115
|
middleHeight = (height + bottomHeight) * 0.5;
|
|
198
116
|
}
|
|
199
|
-
|
|
200
117
|
destIndex = (ii + 1) * destSizeOne + jj + tileX;
|
|
201
118
|
destArr[destIndex] = middleHeight;
|
|
202
|
-
|
|
203
119
|
if ((j + tileX) % dt === 0) {
|
|
204
120
|
outCurrenElevations[currIndex++] = middleHeight;
|
|
205
121
|
}
|
|
206
|
-
|
|
207
122
|
//next bottom tile
|
|
208
123
|
let bottomindex = ((ii + 1) % destSize) * destSizeOne + jj + tileX;
|
|
209
124
|
outChildrenElevations[tileY + 1][tileX][bottomindex] = middleHeight;
|
|
210
125
|
}
|
|
211
|
-
|
|
212
|
-
if (
|
|
213
|
-
(j + 1) % destSize === 0 &&
|
|
126
|
+
if ((j + 1) % destSize === 0 &&
|
|
214
127
|
j !== sourceSize - 1 &&
|
|
215
128
|
(i + 1) % destSize === 0 &&
|
|
216
|
-
i !== sourceSize - 1
|
|
217
|
-
) {
|
|
129
|
+
i !== sourceSize - 1) {
|
|
218
130
|
//current tile
|
|
219
131
|
let rightBottomHeight = data[k + sourceSize + 1];
|
|
220
|
-
|
|
221
132
|
let isNoDataRightBottom = BilTerrain.checkNoDataValue(noDataValues, rightBottomHeight);
|
|
222
|
-
|
|
223
133
|
let middleHeight = height;
|
|
224
|
-
|
|
225
134
|
if (!(isNoDataCurrent || isNoDataRight || isNoDataBottom || isNoDataRightBottom)) {
|
|
226
135
|
middleHeight = (height + rightHeight + bottomHeight + rightBottomHeight) * 0.25;
|
|
227
136
|
}
|
|
228
|
-
|
|
229
137
|
destIndex = (ii + 1) * destSizeOne + (jj + 1);
|
|
230
138
|
destArr[destIndex] = middleHeight;
|
|
231
|
-
|
|
232
139
|
outCurrenElevations[currIndex++] = middleHeight;
|
|
233
|
-
|
|
234
140
|
//next right tile
|
|
235
141
|
let rightindex = (ii + 1) * destSizeOne;
|
|
236
142
|
outChildrenElevations[tileY][tileX + 1][rightindex] = middleHeight;
|
|
237
|
-
|
|
238
143
|
//next bottom tile
|
|
239
144
|
let bottomindex = destSize;
|
|
240
145
|
outChildrenElevations[tileY + 1][tileX][bottomindex] = middleHeight;
|
|
241
|
-
|
|
242
146
|
//next right bottom tile
|
|
243
147
|
let rightBottomindex = 0;
|
|
244
148
|
outChildrenElevations[tileY + 1][tileX + 1][rightBottomindex] = middleHeight;
|
|
245
149
|
}
|
|
246
150
|
}
|
|
247
151
|
}
|
|
248
|
-
|
|
249
|
-
export {BilTerrain};
|
|
152
|
+
export { BilTerrain };
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { TypedArray } from "../utils/shared";
|
|
2
|
+
import { Geoid } from "./Geoid";
|
|
3
|
+
import { LonLat } from "../LonLat";
|
|
4
|
+
import { Planet } from "../scene/Planet";
|
|
5
|
+
import { Segment } from "../segment/Segment";
|
|
6
|
+
export interface IEmptyTerrainParams {
|
|
7
|
+
equalizeVertices?: boolean;
|
|
8
|
+
name?: string;
|
|
9
|
+
minZoom?: number;
|
|
10
|
+
maxZoom?: number;
|
|
11
|
+
maxNativeZoom?: number;
|
|
12
|
+
geoidSrc?: string;
|
|
13
|
+
geoid?: Geoid;
|
|
14
|
+
gridSizeByZoom?: number[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Class represents terrain provider without elevation data.
|
|
18
|
+
* @param {IEmptyTerrainParams} [options] - Provider options:
|
|
19
|
+
* @param {string} [options.name="empty"] - Provider name.
|
|
20
|
+
* @param {boolean} [options.equalizeVertices] -
|
|
21
|
+
* @param {number} [options.minZoom=2] - Minimal visible zoom index when terrain handler works.
|
|
22
|
+
* @param {number} [options.minZoom=50] - Maximal visible zoom index when terrain handler works.
|
|
23
|
+
* @param {number} [options.maxNativeZoom=19] - Maximal available terrain zoom level.
|
|
24
|
+
* @param {Array.<number>} [options.gridSizeByZoom] - Array of segment triangulation grid sizes where array index agreed to the segment zoom index.
|
|
25
|
+
* @param {Array.<number>} [gridSizeByZoom] - Array of values, where each value corresponds to the size of a tile(or segment) on the globe. Each value must be power of two.
|
|
26
|
+
* @param {Geoid} [options.geoid] -
|
|
27
|
+
* @param {string} [options.geoidSrc] -
|
|
28
|
+
*/
|
|
29
|
+
declare class EmptyTerrain {
|
|
30
|
+
static __counter__: number;
|
|
31
|
+
/**
|
|
32
|
+
* Uniq identifier.
|
|
33
|
+
* @public
|
|
34
|
+
* @type {number}
|
|
35
|
+
*/
|
|
36
|
+
__id: number;
|
|
37
|
+
equalizeVertices: boolean;
|
|
38
|
+
equalizeNormals: boolean;
|
|
39
|
+
isEmpty: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Provider name is "empty"
|
|
42
|
+
* @public
|
|
43
|
+
* @type {string}
|
|
44
|
+
*/
|
|
45
|
+
name: string;
|
|
46
|
+
/**
|
|
47
|
+
* Minimal z-index value for segment elevation data handling.
|
|
48
|
+
* @public
|
|
49
|
+
* @type {number}
|
|
50
|
+
*/
|
|
51
|
+
minZoom: number;
|
|
52
|
+
/**
|
|
53
|
+
* Maximal z-index value for segment elevation data handling.
|
|
54
|
+
* @public
|
|
55
|
+
* @type {number}
|
|
56
|
+
*/
|
|
57
|
+
maxZoom: number;
|
|
58
|
+
noDataValues: number[];
|
|
59
|
+
/**
|
|
60
|
+
* Maximal existent available zoom
|
|
61
|
+
* @type {number}
|
|
62
|
+
*/
|
|
63
|
+
maxNativeZoom: number;
|
|
64
|
+
/**
|
|
65
|
+
* @public
|
|
66
|
+
* @type {Array.<number>}
|
|
67
|
+
*/
|
|
68
|
+
gridSizeByZoom: number[];
|
|
69
|
+
_maxNodeZoom: number;
|
|
70
|
+
/**
|
|
71
|
+
* Elevation grid size. Current is 2x2 is the smallest grid size.
|
|
72
|
+
* @public
|
|
73
|
+
* @type {number}
|
|
74
|
+
*/
|
|
75
|
+
plainGridSize: number;
|
|
76
|
+
/**
|
|
77
|
+
* Planet scene.
|
|
78
|
+
* @public
|
|
79
|
+
* @type {Planet}
|
|
80
|
+
*/
|
|
81
|
+
_planet: Planet | null;
|
|
82
|
+
_geoid: Geoid;
|
|
83
|
+
_isReady: boolean;
|
|
84
|
+
constructor(options?: IEmptyTerrainParams);
|
|
85
|
+
get isIdle(): boolean;
|
|
86
|
+
isEqual(obj: this): boolean;
|
|
87
|
+
static checkNoDataValue(noDataValues: number[] | TypedArray, value: number): boolean;
|
|
88
|
+
isBlur(segment?: Segment): boolean;
|
|
89
|
+
set maxNodeZoom(val: number);
|
|
90
|
+
get maxNodeZoom(): number;
|
|
91
|
+
set geoid(geoid: Geoid);
|
|
92
|
+
get geoid(): Geoid;
|
|
93
|
+
getGeoid(): Geoid;
|
|
94
|
+
/**
|
|
95
|
+
* Loads or creates segment elevation data.
|
|
96
|
+
* @public
|
|
97
|
+
* @param {Segment} segment - Segment to create elevation data.
|
|
98
|
+
*/
|
|
99
|
+
handleSegmentTerrain(segment: Segment): void;
|
|
100
|
+
isReady(): boolean;
|
|
101
|
+
abortLoading(): void;
|
|
102
|
+
clearCache(): void;
|
|
103
|
+
getHeightAsync(lonLat: LonLat, callback: (height: number) => void): boolean;
|
|
104
|
+
loadTerrain(segment: Segment, forceLoading?: boolean): void;
|
|
105
|
+
}
|
|
106
|
+
export { EmptyTerrain };
|