@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,13 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
1
|
+
import * as mercator from "../mercator";
|
|
2
|
+
import * as quadTree from "../quadTree/quadTree";
|
|
3
|
+
import {EPSG4326} from "../proj/EPSG4326";
|
|
4
|
+
import {Extent} from "../Extent";
|
|
5
|
+
import {Layer} from "../layer/Layer";
|
|
6
|
+
import {Node} from "../quadTree/Node";
|
|
7
|
+
import {Planet} from "../scene/Planet";
|
|
8
|
+
import {Segment, TILEGROUP_NORTH, TILEGROUP_SOUTH} from "./Segment";
|
|
9
|
+
import {LonLat} from "../LonLat";
|
|
10
|
+
import {Vec3} from "../math/Vec3";
|
|
11
|
+
import {Entity} from "../entity/Entity";
|
|
12
|
+
import {PlanetCamera} from "../camera/PlanetCamera";
|
|
13
|
+
import {WebGLTextureExt} from "../webgl/Handler";
|
|
11
14
|
|
|
12
15
|
const MAX_POLE_ZOOM = 7;
|
|
13
16
|
export const POLE_PIECE_SIZE = (90.0 - mercator.MAX_LAT) / Math.pow(2, MAX_POLE_ZOOM);
|
|
@@ -19,50 +22,38 @@ let _tempHigh = new Vec3(),
|
|
|
19
22
|
* Planet segment Web Mercator tile class that stored and rendered with quad tree.
|
|
20
23
|
* @class
|
|
21
24
|
* @extends {Segment}
|
|
22
|
-
* @param {quadNode.Node} node - Quad tree segment node.
|
|
23
|
-
* @param {Planet} planet - Scene planet.
|
|
24
|
-
* @param {Number} tileZoom - Segment tile zoom index.
|
|
25
|
-
* @param {Extent} extent - Segment WGS84 extent.
|
|
26
25
|
*/
|
|
27
26
|
class SegmentLonLat extends Segment {
|
|
28
|
-
|
|
29
|
-
* @param {quadTree.Node} node - Segment node.
|
|
30
|
-
* @param {Planet} planet - Current planet scene.
|
|
31
|
-
* @param {number} tileZoom - Zoom index.
|
|
32
|
-
* @param {Extent} extent - Segment extent.
|
|
33
|
-
*/
|
|
34
|
-
constructor(node, planet, tileZoom, extent) {
|
|
27
|
+
constructor(node: Node, planet: Planet, tileZoom: number, extent: Extent) {
|
|
35
28
|
super(node, planet, tileZoom, extent);
|
|
36
29
|
|
|
37
30
|
this._projection = EPSG4326;
|
|
38
31
|
|
|
32
|
+
this._extentLonLat = this._extent;
|
|
33
|
+
|
|
39
34
|
this._extentMerc = new Extent(
|
|
40
35
|
extent.southWest.forwardMercatorEPS01(),
|
|
41
36
|
extent.northEast.forwardMercatorEPS01()
|
|
42
37
|
);
|
|
43
38
|
|
|
44
|
-
|
|
45
|
-
this._isNorth = true;
|
|
46
|
-
} else {
|
|
47
|
-
this._isNorth = false;
|
|
48
|
-
}
|
|
39
|
+
this._isNorth = this._extent.northEast.lat > 0;
|
|
49
40
|
|
|
50
41
|
this.isPole = true;
|
|
51
42
|
}
|
|
52
43
|
|
|
53
|
-
_setExtentLonLat() {
|
|
44
|
+
public override _setExtentLonLat() {
|
|
54
45
|
this._extentLonLat = this._extent;
|
|
55
46
|
}
|
|
56
47
|
|
|
57
|
-
projectNative(coords) {
|
|
48
|
+
public override projectNative(coords: LonLat): LonLat {
|
|
58
49
|
return coords;
|
|
59
50
|
}
|
|
60
51
|
|
|
61
|
-
getInsideLonLat(obj) {
|
|
52
|
+
public override getInsideLonLat(obj: Entity | PlanetCamera): LonLat {
|
|
62
53
|
return obj._lonLat;
|
|
63
54
|
}
|
|
64
55
|
|
|
65
|
-
_getMaxZoom() {
|
|
56
|
+
protected _getMaxZoom() {
|
|
66
57
|
let maxPoleZoom = 0;
|
|
67
58
|
if (this._isNorth) {
|
|
68
59
|
//north pole limits
|
|
@@ -76,17 +67,17 @@ class SegmentLonLat extends Segment {
|
|
|
76
67
|
return maxPoleZoom;
|
|
77
68
|
}
|
|
78
69
|
|
|
79
|
-
checkZoom() {
|
|
70
|
+
public override checkZoom() {
|
|
80
71
|
return super.checkZoom() && this.tileZoom <= this._getMaxZoom();
|
|
81
72
|
}
|
|
82
73
|
|
|
83
|
-
_assignTileIndexes() {
|
|
74
|
+
protected override _assignTileIndexes() {
|
|
84
75
|
this._assignTileXIndexes(this._extent);
|
|
85
76
|
this._assignTileYIndexes(this._extent);
|
|
86
77
|
this.tileIndex = Layer.getTileIndex(this.tileX, this.tileY, this.tileZoom);
|
|
87
78
|
}
|
|
88
79
|
|
|
89
|
-
_assignTileXIndexes(extent) {
|
|
80
|
+
protected _assignTileXIndexes(extent: Extent) {
|
|
90
81
|
this.tileX = Math.round(
|
|
91
82
|
Math.abs(-180.0 - extent.southWest.lon) / (extent.northEast.lon - extent.southWest.lon)
|
|
92
83
|
);
|
|
@@ -96,8 +87,8 @@ class SegmentLonLat extends Segment {
|
|
|
96
87
|
this.tileXW = (p2 + this.tileX - 1) % p2;
|
|
97
88
|
}
|
|
98
89
|
|
|
99
|
-
_assignTileYIndexes(extent) {
|
|
100
|
-
|
|
90
|
+
protected _assignTileYIndexes(extent: Extent) {
|
|
91
|
+
const lat = extent.northEast.lat;
|
|
101
92
|
if (lat > 0) {
|
|
102
93
|
this._tileGroup = TILEGROUP_NORTH;
|
|
103
94
|
this.tileY = Math.round((90.0 - lat) / (extent.northEast.lat - extent.southWest.lat));
|
|
@@ -112,25 +103,27 @@ class SegmentLonLat extends Segment {
|
|
|
112
103
|
}
|
|
113
104
|
|
|
114
105
|
|
|
115
|
-
_createPlainVertices() {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
106
|
+
protected override _createPlainVertices() {
|
|
107
|
+
const gridSize = this.planet.terrain!.gridSizeByZoom[this.tileZoom];
|
|
108
|
+
|
|
109
|
+
const e = this._extent;
|
|
110
|
+
const fgs = this.planet.terrain!.plainGridSize;
|
|
111
|
+
const lonSize = e.getWidth();
|
|
112
|
+
const latSize = e.getHeight();
|
|
113
|
+
const llStep = lonSize / Math.max(fgs, gridSize);
|
|
114
|
+
const ltStep = latSize / gridSize;
|
|
115
|
+
const esw_lon = e.southWest.lon;
|
|
116
|
+
const ene_lat = e.northEast.lat;
|
|
117
|
+
const dg = Math.max(fgs / gridSize, 1);
|
|
118
|
+
const gs = Math.max(fgs, gridSize) + 1;
|
|
119
|
+
const r2 = this.planet.ellipsoid._invRadii2;
|
|
120
|
+
|
|
121
|
+
let ind = 0,
|
|
130
122
|
nmInd = 0;
|
|
123
|
+
|
|
131
124
|
const gsgs = gs * gs;
|
|
132
125
|
|
|
133
|
-
|
|
126
|
+
const gridSize3 = (gridSize + 1) * (gridSize + 1) * 3;
|
|
134
127
|
|
|
135
128
|
this.plainNormals = new Float32Array(gridSize3);
|
|
136
129
|
this.plainVertices = new Float64Array(gridSize3);
|
|
@@ -149,7 +142,7 @@ class SegmentLonLat extends Segment {
|
|
|
149
142
|
zmin = 549755748352.0,
|
|
150
143
|
zmax = -549755748352.0;
|
|
151
144
|
|
|
152
|
-
|
|
145
|
+
let verts = this.plainVertices,
|
|
153
146
|
vertsHigh = this.plainVerticesHigh,
|
|
154
147
|
vertsLow = this.plainVerticesLow,
|
|
155
148
|
norms = this.plainNormals,
|
|
@@ -159,17 +152,17 @@ class SegmentLonLat extends Segment {
|
|
|
159
152
|
nmNorms = this.normalMapNormals;
|
|
160
153
|
|
|
161
154
|
for (let k = 0; k < gsgs; k++) {
|
|
162
|
-
|
|
155
|
+
let j = k % gs,
|
|
163
156
|
i = ~~(k / gs);
|
|
164
157
|
|
|
165
|
-
|
|
158
|
+
const v = this.planet.ellipsoid.lonLatToCartesian(
|
|
166
159
|
new LonLat(esw_lon + j * llStep, ene_lat - i * ltStep)
|
|
167
160
|
);
|
|
168
|
-
|
|
161
|
+
let nx = v.x * r2.x,
|
|
169
162
|
ny = v.y * r2.y,
|
|
170
163
|
nz = v.z * r2.z;
|
|
171
|
-
|
|
172
|
-
|
|
164
|
+
let l = 1.0 / Math.sqrt(nx * nx + ny * ny + nz * nz);
|
|
165
|
+
let nxl = nx * l,
|
|
173
166
|
nyl = ny * l,
|
|
174
167
|
nzl = nz * l;
|
|
175
168
|
|
|
@@ -219,10 +212,6 @@ class SegmentLonLat extends Segment {
|
|
|
219
212
|
this.terrainVerticesHigh = vertsHigh;
|
|
220
213
|
this.terrainVerticesLow = vertsLow;
|
|
221
214
|
|
|
222
|
-
//store raw normals
|
|
223
|
-
this.normalMapNormalsRaw = new Float32Array(nmNorms.length);
|
|
224
|
-
this.normalMapNormalsRaw.set(nmNorms);
|
|
225
|
-
|
|
226
215
|
let x = (xmax - xmin) * 0.5,
|
|
227
216
|
y = (ymax - ymin) * 0.5,
|
|
228
217
|
z = (zmax - zmin) * 0.5;
|
|
@@ -232,15 +221,18 @@ class SegmentLonLat extends Segment {
|
|
|
232
221
|
this.plainReady = true;
|
|
233
222
|
}
|
|
234
223
|
|
|
235
|
-
_assignGlobalTextureCoordinates() {
|
|
236
|
-
|
|
224
|
+
protected override _assignGlobalTextureCoordinates() {
|
|
225
|
+
const e = this._extent;
|
|
237
226
|
this._globalTextureCoordinates[0] = (e.southWest.lon + 180.0) / 360.0;
|
|
238
227
|
this._globalTextureCoordinates[1] = (90 - e.northEast.lat) / 180.0;
|
|
239
228
|
this._globalTextureCoordinates[2] = (e.northEast.lon + 180.0) / 360.0;
|
|
240
229
|
this._globalTextureCoordinates[3] = (90 - e.southWest.lat) / 180.0;
|
|
241
230
|
}
|
|
242
231
|
|
|
243
|
-
|
|
232
|
+
/**
|
|
233
|
+
* @todo: replace to the strategy
|
|
234
|
+
*/
|
|
235
|
+
public override _collectVisibleNodes() {
|
|
244
236
|
if (this._isNorth) {
|
|
245
237
|
this.planet._visibleNodesNorth[this.node.nodeId] = this.node;
|
|
246
238
|
} else {
|
|
@@ -248,36 +240,42 @@ class SegmentLonLat extends Segment {
|
|
|
248
240
|
}
|
|
249
241
|
}
|
|
250
242
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
243
|
+
/**
|
|
244
|
+
* @param layer
|
|
245
|
+
* @protected
|
|
246
|
+
*
|
|
247
|
+
* @todo simplify layer._extentMerc in layer.getNativeExtent(this)
|
|
248
|
+
*
|
|
249
|
+
*/
|
|
250
|
+
protected override _getLayerExtentOffset(layer: Layer): [number, number, number, number] {
|
|
251
|
+
const v0s = layer._extent;
|
|
252
|
+
const v0t = this._extent;
|
|
253
|
+
const sSize_x = v0s.northEast.lon - v0s.southWest.lon;
|
|
254
|
+
const sSize_y = v0s.northEast.lat - v0s.southWest.lat;
|
|
255
|
+
const dV0s_x = (v0t.southWest.lon - v0s.southWest.lon) / sSize_x;
|
|
256
|
+
const dV0s_y = (v0s.northEast.lat - v0t.northEast.lat) / sSize_y;
|
|
257
|
+
const dSize_x = (v0t.northEast.lon - v0t.southWest.lon) / sSize_x;
|
|
258
|
+
const dSize_y = (v0t.northEast.lat - v0t.southWest.lat) / sSize_y;
|
|
260
259
|
return [dV0s_x, dV0s_y, dSize_x, dSize_y];
|
|
261
260
|
}
|
|
262
261
|
|
|
263
|
-
layerOverlap(layer) {
|
|
262
|
+
public override layerOverlap(layer: Layer): boolean {
|
|
264
263
|
return this._extent.overlaps(layer._extent);
|
|
265
264
|
}
|
|
266
265
|
|
|
267
|
-
getDefaultTexture() {
|
|
266
|
+
public override getDefaultTexture(): WebGLTextureExt | null {
|
|
268
267
|
return this._isNorth ? this.planet.solidTextureOne : this.planet.solidTextureTwo;
|
|
269
268
|
}
|
|
270
269
|
|
|
271
|
-
getExtentLonLat() {
|
|
270
|
+
public override getExtentLonLat(): Extent {
|
|
272
271
|
return this._extent;
|
|
273
272
|
}
|
|
274
273
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
var vn;
|
|
274
|
+
/**
|
|
275
|
+
* @todo: replace to the strategy
|
|
276
|
+
*/
|
|
277
|
+
public override getNodeState(): number {
|
|
278
|
+
let vn;
|
|
281
279
|
if (this._isNorth) {
|
|
282
280
|
vn = this.planet._visibleNodesNorth[this.node.nodeId];
|
|
283
281
|
} else {
|
|
@@ -285,10 +283,6 @@ class SegmentLonLat extends Segment {
|
|
|
285
283
|
}
|
|
286
284
|
return (vn && vn.state) || quadTree.NOTRENDERING;
|
|
287
285
|
}
|
|
288
|
-
|
|
289
|
-
_freeCache() {
|
|
290
|
-
//empty for a time
|
|
291
|
-
}
|
|
292
286
|
}
|
|
293
287
|
|
|
294
|
-
export {
|
|
288
|
+
export {SegmentLonLat};
|
|
@@ -1,34 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import {Extent} from "../Extent";
|
|
2
|
+
import {Node} from "../quadTree/Node";
|
|
3
|
+
import {Planet} from "../scene/Planet";
|
|
4
|
+
import {SegmentLonLat} from "./SegmentLonLat";
|
|
5
|
+
import {TILEGROUP_COMMON} from "./Segment";
|
|
5
6
|
|
|
6
7
|
export class SegmentLonLatWgs84 extends SegmentLonLat {
|
|
7
|
-
constructor(node, planet, tileZoom, extent) {
|
|
8
|
+
constructor(node: Node, planet: Planet, tileZoom: number, extent: Extent) {
|
|
8
9
|
super(node, planet, tileZoom, extent);
|
|
9
10
|
this.isPole = false;
|
|
10
11
|
this._tileGroup = TILEGROUP_COMMON;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
_getMaxZoom() {
|
|
14
|
+
protected override _getMaxZoom(): number {
|
|
14
15
|
return 150;
|
|
15
|
-
// let lat = 0;
|
|
16
|
-
// if (this._isNorth) {
|
|
17
|
-
// lat = this._extent.northEast.lat;
|
|
18
|
-
// } else {
|
|
19
|
-
// lat = Math.abs(this._extent.southWest.lat);
|
|
20
|
-
// }
|
|
21
|
-
// let Yz = Math.floor((90 - lat) / POLE_PIECE_SIZE);
|
|
22
|
-
// return Math.floor(Yz / 16) + 7;
|
|
23
16
|
}
|
|
24
17
|
|
|
25
|
-
_assignTileYIndexes(extent) {
|
|
18
|
+
protected override _assignTileYIndexes(extent: Extent) {
|
|
26
19
|
this.tileY = Math.round((90.0 - extent.northEast.lat) / (extent.northEast.lat - extent.southWest.lat));
|
|
27
20
|
this.tileYN = this.tileY - 1;
|
|
28
21
|
this.tileYS = this.tileY + 1;
|
|
29
22
|
}
|
|
30
23
|
|
|
31
|
-
_assignTileXIndexes(extent) {
|
|
24
|
+
protected override _assignTileXIndexes(extent: Extent) {
|
|
32
25
|
this.tileX = Math.round(
|
|
33
26
|
Math.abs(-180.0 - extent.southWest.lon) / (extent.northEast.lon - extent.southWest.lon)
|
|
34
27
|
);
|
|
@@ -1,24 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
import {Layer} from "../layer/Layer";
|
|
2
|
+
import {Segment} from "./Segment";
|
|
3
|
+
import {Material} from "../layer/Material";
|
|
2
4
|
|
|
3
5
|
class Slice {
|
|
4
|
-
|
|
6
|
+
public segment: Segment;
|
|
7
|
+
public layers: Layer[];
|
|
8
|
+
public tileOffsetArr: Float32Array;
|
|
9
|
+
public layerOpacityArr: Float32Array;
|
|
10
|
+
|
|
11
|
+
constructor(segment: Segment) {
|
|
5
12
|
this.segment = segment;
|
|
6
13
|
this.layers = [];
|
|
7
14
|
this.tileOffsetArr = new Float32Array(segment.planet.SLICE_SIZE_4);
|
|
8
15
|
this.layerOpacityArr = new Float32Array(segment.planet.SLICE_SIZE);
|
|
9
|
-
this.init();
|
|
10
16
|
}
|
|
11
17
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
clear() {
|
|
18
|
+
public clear() {
|
|
19
|
+
// @ts-ignore
|
|
15
20
|
this.layers = null;
|
|
21
|
+
// @ts-ignore
|
|
16
22
|
this.tileOffsetArr = null;
|
|
23
|
+
// @ts-ignore
|
|
17
24
|
this.layerOpacityArr = null;
|
|
18
|
-
//this.visibleExtentOffsetArr = null;
|
|
19
25
|
}
|
|
20
26
|
|
|
21
|
-
append(layer, material) {
|
|
27
|
+
public append(layer: Layer, material: Material) {
|
|
22
28
|
let n = this.layers.length;
|
|
23
29
|
|
|
24
30
|
this.layers.push(layer);
|
|
@@ -42,4 +48,4 @@ class Slice {
|
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
|
|
45
|
-
export {
|
|
51
|
+
export {Slice}
|
|
@@ -2,25 +2,31 @@
|
|
|
2
2
|
* @module og/segment/SegmentHelper
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import {N, W, S, E} from '../quadTree/quadTree';
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
type IndexTypeArray = Uint32Array;
|
|
8
|
+
type IndexesTable = [IndexTypeArray[][], IndexTypeArray[][], IndexTypeArray[][], IndexTypeArray[][]];
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
|
|
11
|
+
function NewIndexesTypedArray(arr: number[]): IndexTypeArray {
|
|
10
12
|
return new Uint32Array(arr);
|
|
11
13
|
}
|
|
12
14
|
|
|
13
|
-
function
|
|
15
|
+
function NewIndexesTypedArrayEmpty(size: number): IndexTypeArray {
|
|
16
|
+
return new Uint32Array(size);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function createCenterBodyIndexes(size: number): IndexTypeArray {
|
|
14
20
|
|
|
15
21
|
let indexes = [];
|
|
16
22
|
|
|
17
|
-
|
|
23
|
+
let i0 = 1,
|
|
18
24
|
j0 = 1;
|
|
19
25
|
|
|
20
|
-
|
|
26
|
+
let i1 = 1,
|
|
21
27
|
j1 = 1;
|
|
22
28
|
|
|
23
|
-
|
|
29
|
+
let ind1 = 0, ind2 = 0, nr = 0;
|
|
24
30
|
for (let i = i0; i < size - 1 - i1; i++) {
|
|
25
31
|
for (let j = j0; j < size - j1; j++) {
|
|
26
32
|
ind1 = i * size + j;
|
|
@@ -35,16 +41,16 @@ function createCenterBodyIndexes(size) {
|
|
|
35
41
|
return NewIndexesTypedArray(indexes);
|
|
36
42
|
}
|
|
37
43
|
|
|
38
|
-
function createWestNeighborSkirt(size, deltaGr) {
|
|
44
|
+
function createWestNeighborSkirt(size: number, deltaGr: number): IndexTypeArray {
|
|
39
45
|
let indexes = [];
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
const grCount = (size - 1) / deltaGr;
|
|
47
|
+
const b = size * size - size;
|
|
48
|
+
let k = 0;
|
|
43
49
|
for (let i = 0; i < size - 2; i++) {
|
|
44
50
|
if (i % grCount === 0) {
|
|
45
51
|
k = i;
|
|
46
52
|
}
|
|
47
|
-
|
|
53
|
+
let rind = b - size * i - size + 1,
|
|
48
54
|
lind = b - size * k;
|
|
49
55
|
indexes.push(lind, rind);
|
|
50
56
|
}
|
|
@@ -57,15 +63,15 @@ function createWestNeighborSkirt(size, deltaGr) {
|
|
|
57
63
|
return NewIndexesTypedArray(indexes);
|
|
58
64
|
}
|
|
59
65
|
|
|
60
|
-
function createNorthNeighborSkirt(size, deltaGr) {
|
|
66
|
+
function createNorthNeighborSkirt(size: number, deltaGr: number): IndexTypeArray {
|
|
61
67
|
let indexes = [];
|
|
62
|
-
|
|
63
|
-
|
|
68
|
+
const grCount = (size - 1) / deltaGr;
|
|
69
|
+
let k = 0;
|
|
64
70
|
for (let i = 0; i < size - 2; i++) {
|
|
65
71
|
if (i % grCount === 0) {
|
|
66
72
|
k = i;
|
|
67
73
|
}
|
|
68
|
-
|
|
74
|
+
let rind = size + i + 1,
|
|
69
75
|
lind = k;
|
|
70
76
|
indexes.push(lind, rind);
|
|
71
77
|
}
|
|
@@ -78,15 +84,15 @@ function createNorthNeighborSkirt(size, deltaGr) {
|
|
|
78
84
|
return NewIndexesTypedArray(indexes);
|
|
79
85
|
}
|
|
80
86
|
|
|
81
|
-
function createEastNeighborSkirt(size, deltaGr) {
|
|
87
|
+
function createEastNeighborSkirt(size: number, deltaGr: number): IndexTypeArray {
|
|
82
88
|
let indexes = [];
|
|
83
|
-
|
|
84
|
-
|
|
89
|
+
const grCount = (size - 1) / deltaGr;
|
|
90
|
+
let k = 0;
|
|
85
91
|
for (let i = 0; i < size - 2; i++) {
|
|
86
92
|
if (i % grCount === 0) {
|
|
87
93
|
k = i;
|
|
88
94
|
}
|
|
89
|
-
|
|
95
|
+
let rind = size * (i + 1) + size - 2,
|
|
90
96
|
lind = size + size * k - 1;
|
|
91
97
|
indexes.push(lind, rind);
|
|
92
98
|
}
|
|
@@ -99,17 +105,17 @@ function createEastNeighborSkirt(size, deltaGr) {
|
|
|
99
105
|
return NewIndexesTypedArray(indexes);
|
|
100
106
|
}
|
|
101
107
|
|
|
102
|
-
function createSouthNeighborSkirt(size, deltaGr) {
|
|
108
|
+
function createSouthNeighborSkirt(size: number, deltaGr: number): IndexTypeArray {
|
|
103
109
|
let indexes = [];
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
110
|
+
const grCount = (size - 1) / deltaGr;
|
|
111
|
+
let k = 0;
|
|
112
|
+
const rb = size * (size - 1) - 2;
|
|
113
|
+
const lb = size * size - 1;
|
|
108
114
|
for (let i = 0; i < size - 2; i++) {
|
|
109
115
|
if (i % grCount === 0) {
|
|
110
116
|
k = i;
|
|
111
117
|
}
|
|
112
|
-
|
|
118
|
+
let rind = rb - i,
|
|
113
119
|
lind = lb - k;
|
|
114
120
|
indexes.push(lind, rind);
|
|
115
121
|
}
|
|
@@ -122,16 +128,11 @@ function createSouthNeighborSkirt(size, deltaGr) {
|
|
|
122
128
|
return NewIndexesTypedArray(indexes);
|
|
123
129
|
}
|
|
124
130
|
|
|
125
|
-
function initIndexesBodySkirts(pow) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
table[N] = [];
|
|
129
|
-
table[W] = [];
|
|
130
|
-
table[S] = [];
|
|
131
|
-
table[E] = [];
|
|
131
|
+
function initIndexesBodySkirts(pow: number): IndexesTable {
|
|
132
|
+
let table: IndexesTable = [[], [], [], []];
|
|
132
133
|
|
|
133
134
|
for (let i = 0; i <= pow; i++) {
|
|
134
|
-
|
|
135
|
+
let d = Math.pow(2, i),
|
|
135
136
|
d1 = d + 1;
|
|
136
137
|
|
|
137
138
|
table[N][i] = [];
|
|
@@ -140,7 +141,7 @@ function initIndexesBodySkirts(pow) {
|
|
|
140
141
|
table[E][i] = [];
|
|
141
142
|
|
|
142
143
|
for (let j = 0; j <= pow; j++) {
|
|
143
|
-
|
|
144
|
+
let dd = Math.pow(2, j);
|
|
144
145
|
table[W][i][j] = createWestNeighborSkirt(d1, dd);
|
|
145
146
|
table[N][i][j] = createNorthNeighborSkirt(d1, dd);
|
|
146
147
|
table[E][i][j] = createEastNeighborSkirt(d1, dd);
|
|
@@ -151,17 +152,17 @@ function initIndexesBodySkirts(pow) {
|
|
|
151
152
|
return table;
|
|
152
153
|
}
|
|
153
154
|
|
|
154
|
-
function initIndexBodiesTable(pow) {
|
|
155
|
-
|
|
155
|
+
function initIndexBodiesTable(pow: number): IndexTypeArray[] {
|
|
156
|
+
let table = [];
|
|
156
157
|
for (let i = 0; i <= pow; i++) {
|
|
157
|
-
|
|
158
|
+
const d = Math.pow(2, i);
|
|
158
159
|
table[i] = createCenterBodyIndexes(d + 1);
|
|
159
160
|
}
|
|
160
161
|
return table;
|
|
161
162
|
}
|
|
162
163
|
|
|
163
|
-
function createTextureCoords(size) {
|
|
164
|
-
|
|
164
|
+
function createTextureCoords(size: number): Uint16Array {
|
|
165
|
+
let texCoords = new Uint16Array((size + 1) * (size + 1) * 2);
|
|
165
166
|
let k = 0;
|
|
166
167
|
for (let i = 0; i <= size; i++) {
|
|
167
168
|
for (let j = 0; j <= size; j++) {
|
|
@@ -173,25 +174,32 @@ function createTextureCoords(size) {
|
|
|
173
174
|
}
|
|
174
175
|
|
|
175
176
|
class SegmentHelper {
|
|
176
|
-
|
|
177
|
+
|
|
178
|
+
protected _maxGridSize: number;
|
|
179
|
+
public centerIndexesTable: IndexTypeArray[];
|
|
180
|
+
public skirtsIndexesTable: IndexesTable;
|
|
181
|
+
|
|
182
|
+
constructor(maxGridSize: number = 0) {
|
|
177
183
|
this._maxGridSize = maxGridSize;
|
|
184
|
+
this.centerIndexesTable = initIndexBodiesTable(this._maxGridSize)
|
|
185
|
+
this.skirtsIndexesTable = initIndexesBodySkirts(this._maxGridSize);
|
|
178
186
|
}
|
|
179
187
|
|
|
180
|
-
get maxGridSize() {
|
|
188
|
+
public get maxGridSize(): number {
|
|
181
189
|
return this._maxGridSize;
|
|
182
190
|
}
|
|
183
191
|
|
|
184
|
-
init() {
|
|
192
|
+
public init() {
|
|
185
193
|
this.centerIndexesTable = initIndexBodiesTable(this._maxGridSize);
|
|
186
194
|
this.skirtsIndexesTable = initIndexesBodySkirts(this._maxGridSize);
|
|
187
195
|
}
|
|
188
196
|
|
|
189
|
-
setMaxGridSize(gridSize) {
|
|
197
|
+
public setMaxGridSize(gridSize: number) {
|
|
190
198
|
this._maxGridSize = gridSize;
|
|
191
199
|
this.init();
|
|
192
200
|
}
|
|
193
201
|
|
|
194
|
-
createSegmentIndexes(size, sidesSizes) {
|
|
202
|
+
public createSegmentIndexes(size: number, sidesSizes: [number, number, number, number]) {
|
|
195
203
|
if (size) {
|
|
196
204
|
let c = this.centerIndexesTable[size],
|
|
197
205
|
w = this.skirtsIndexesTable[W][size][sidesSizes[W]],
|
|
@@ -199,7 +207,7 @@ class SegmentHelper {
|
|
|
199
207
|
e = this.skirtsIndexesTable[E][size][sidesSizes[E]],
|
|
200
208
|
s = this.skirtsIndexesTable[S][size][sidesSizes[S]];
|
|
201
209
|
|
|
202
|
-
let indexes =
|
|
210
|
+
let indexes = NewIndexesTypedArrayEmpty(c.length + w.length + n.length + e.length + s.length);
|
|
203
211
|
|
|
204
212
|
indexes.set(c, 0);
|
|
205
213
|
indexes.set(w, c.length);
|
|
@@ -213,10 +221,10 @@ class SegmentHelper {
|
|
|
213
221
|
}
|
|
214
222
|
}
|
|
215
223
|
|
|
216
|
-
initTextureCoordsTable(pow) {
|
|
217
|
-
|
|
224
|
+
public initTextureCoordsTable(pow: number): Uint16Array[] {
|
|
225
|
+
let table = [];
|
|
218
226
|
for (let i = 0; i <= pow; i++) {
|
|
219
|
-
|
|
227
|
+
const d = Math.pow(2, i);
|
|
220
228
|
table[i] = createTextureCoords(d);
|
|
221
229
|
}
|
|
222
230
|
return table;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { Program } from '../webgl/Program.js';
|
|
4
|
-
import { UTILS } from './utils.js';
|
|
1
|
+
import { Program } from '../webgl/Program';
|
|
2
|
+
import { UTILS } from './utils';
|
|
5
3
|
|
|
6
4
|
export const COMMON =
|
|
7
5
|
`
|
|
@@ -93,7 +91,7 @@ export const COMMON =
|
|
|
93
91
|
return exp(-(rayleighScatteringCoefficient * opticalDepth.x + mieExtinctionCoefficient * opticalDepth.y + ozoneAbsorptionCoefficient * opticalDepth.z));
|
|
94
92
|
}`;
|
|
95
93
|
|
|
96
|
-
export function transmittance() {
|
|
94
|
+
export function transmittance(): Program {
|
|
97
95
|
return new Program("transmittance", {
|
|
98
96
|
uniforms: {
|
|
99
97
|
iResolution: "vec2"
|
|
@@ -129,7 +127,7 @@ export function transmittance() {
|
|
|
129
127
|
});
|
|
130
128
|
}
|
|
131
129
|
|
|
132
|
-
export function scattering() {
|
|
130
|
+
export function scattering(): Program {
|
|
133
131
|
return new Program("scattering", {
|
|
134
132
|
uniforms: {
|
|
135
133
|
iResolution: "vec2",
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { Program } from '../webgl/Program.js';
|
|
1
|
+
import {Program} from '../webgl/Program';
|
|
4
2
|
|
|
5
3
|
const PROJECT = `vec2 project(vec4 p) {
|
|
6
4
|
return (0.5 * p.xyz / p.w + 0.5).xy * viewport;
|
|
@@ -12,7 +10,7 @@ const ROTATE2D =
|
|
|
12
10
|
sin(angle), cos(angle));
|
|
13
11
|
}`;
|
|
14
12
|
|
|
15
|
-
export function billboardPicking() {
|
|
13
|
+
export function billboardPicking(): Program {
|
|
16
14
|
return new Program("billboardPicking", {
|
|
17
15
|
uniforms: {
|
|
18
16
|
viewport: "vec2",
|
|
@@ -113,7 +111,7 @@ export function billboardPicking() {
|
|
|
113
111
|
});
|
|
114
112
|
}
|
|
115
113
|
|
|
116
|
-
export function billboard_screen() {
|
|
114
|
+
export function billboard_screen(): Program {
|
|
117
115
|
return new Program("billboard", {
|
|
118
116
|
uniforms: {
|
|
119
117
|
viewport: "vec2",
|