@openglobus/og 0.17.2 → 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} +246 -182
- 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 -256
- 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} +776 -592
- 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 -172
- 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 -195
- 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 -1170
- 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 -17
- 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 -241
- 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 -594
- 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,27 +1,91 @@
|
|
|
1
|
-
|
|
1
|
+
import * as mercator from "../mercator";
|
|
2
|
+
import {doubleToTwoFloats2} from "../math/coder";
|
|
3
|
+
import {Extent} from "../Extent";
|
|
4
|
+
import {EventCallback, EventsHandler} from "../Events";
|
|
5
|
+
import {Layer, LayerEventsList, ILayerParams} from "./Layer";
|
|
6
|
+
import {LonLat} from "../LonLat";
|
|
7
|
+
import {Material} from "./Material";
|
|
8
|
+
import {NumberArray2} from "../math/Vec2";
|
|
9
|
+
import {NumberArray4} from "../math/Vec4";
|
|
10
|
+
import {Planet} from "../scene/Planet";
|
|
11
|
+
import {WebGLBufferExt, WebGLTextureExt} from "../webgl/Handler";
|
|
12
|
+
|
|
13
|
+
export interface IBaseGeoImageParams extends ILayerParams {
|
|
14
|
+
fullExtent?: boolean;
|
|
15
|
+
corners?: NumberArray2[];
|
|
16
|
+
}
|
|
2
17
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { Layer } from "./Layer.js";
|
|
7
|
-
import { doubleToTwoFloats2 } from "../math/coder.js";
|
|
18
|
+
type BaseGeoImageEventsList = [
|
|
19
|
+
"loadend"
|
|
20
|
+
];
|
|
8
21
|
|
|
9
|
-
const
|
|
22
|
+
const BASEGEOIMAGE_EVENTS: BaseGeoImageEventsList = [
|
|
10
23
|
/**
|
|
11
24
|
* Triggered when image data is loaded
|
|
12
|
-
* @event
|
|
25
|
+
* @event EventsHandler<BaseGeoImageEventsList>#loadend
|
|
13
26
|
*/
|
|
14
27
|
"loadend"
|
|
15
28
|
];
|
|
16
29
|
|
|
30
|
+
export type BaseGeoImageEventsType = EventsHandler<BaseGeoImageEventsList> & EventsHandler<LayerEventsList>;
|
|
31
|
+
|
|
17
32
|
/**
|
|
18
|
-
* BaseGeoImage layer represents square imagery layer that
|
|
33
|
+
* BaseGeoImage layer represents square imagery layer that
|
|
34
|
+
* could be a static image, or animated video or webgl buffer
|
|
35
|
+
* object displayed on the globe.
|
|
19
36
|
* @class
|
|
20
37
|
* @extends {Layer}
|
|
21
38
|
*/
|
|
22
39
|
class BaseGeoImage extends Layer {
|
|
23
|
-
|
|
24
|
-
|
|
40
|
+
|
|
41
|
+
public override events: BaseGeoImageEventsType;
|
|
42
|
+
|
|
43
|
+
protected _projType: number;
|
|
44
|
+
|
|
45
|
+
protected _frameWidth: number;
|
|
46
|
+
protected _frameHeight: number;
|
|
47
|
+
|
|
48
|
+
protected _sourceReady: boolean;
|
|
49
|
+
protected _sourceTexture: WebGLTextureExt | null;
|
|
50
|
+
protected _materialTexture: WebGLTextureExt | null;
|
|
51
|
+
|
|
52
|
+
protected _gridBufferLow: WebGLBufferExt | null;
|
|
53
|
+
protected _gridBufferHigh: WebGLBufferExt | null;
|
|
54
|
+
|
|
55
|
+
protected _extentWgs84ParamsHigh: Float32Array;
|
|
56
|
+
protected _extentWgs84ParamsLow: Float32Array;
|
|
57
|
+
|
|
58
|
+
protected _extentMercParamsHigh: Float32Array;
|
|
59
|
+
protected _extentMercParamsLow: Float32Array;
|
|
60
|
+
|
|
61
|
+
protected _refreshFrame: boolean;
|
|
62
|
+
protected _frameCreated: boolean;
|
|
63
|
+
protected _sourceCreated: boolean;
|
|
64
|
+
|
|
65
|
+
public _animate: boolean;
|
|
66
|
+
protected _ready: boolean;
|
|
67
|
+
public _creationProceeding: boolean;
|
|
68
|
+
public _isRendering: boolean;
|
|
69
|
+
|
|
70
|
+
protected _extentWgs84: Extent;
|
|
71
|
+
protected _cornersWgs84: LonLat[];
|
|
72
|
+
protected _cornersMerc: LonLat[];
|
|
73
|
+
|
|
74
|
+
protected _isFullExtent: number;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* rendering function pointer
|
|
78
|
+
* @type {Function}
|
|
79
|
+
*/
|
|
80
|
+
public rendering: Function;
|
|
81
|
+
|
|
82
|
+
protected _onLoadend_: EventCallback | null;
|
|
83
|
+
|
|
84
|
+
constructor(name: string | null, options: IBaseGeoImageParams = {}) {
|
|
85
|
+
super(name, options);
|
|
86
|
+
|
|
87
|
+
// @ts-ignore
|
|
88
|
+
this.events = this.events.registerNames(BASEGEOIMAGE_EVENTS);
|
|
25
89
|
|
|
26
90
|
this._projType = 0;
|
|
27
91
|
|
|
@@ -32,12 +96,12 @@ class BaseGeoImage extends Layer {
|
|
|
32
96
|
this._sourceTexture = null;
|
|
33
97
|
this._materialTexture = null;
|
|
34
98
|
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
99
|
+
this._gridBufferLow = null;
|
|
100
|
+
this._gridBufferHigh = null;
|
|
101
|
+
|
|
37
102
|
this._extentWgs84ParamsHigh = new Float32Array(4);
|
|
38
103
|
this._extentWgs84ParamsLow = new Float32Array(4);
|
|
39
104
|
|
|
40
|
-
this._extentMercParams = null;
|
|
41
105
|
this._extentMercParamsHigh = new Float32Array(4);
|
|
42
106
|
this._extentMercParamsLow = new Float32Array(4);
|
|
43
107
|
|
|
@@ -51,41 +115,44 @@ class BaseGeoImage extends Layer {
|
|
|
51
115
|
this._isRendering = false;
|
|
52
116
|
|
|
53
117
|
this._extentWgs84 = new Extent();
|
|
54
|
-
this._cornersWgs84 =
|
|
118
|
+
this._cornersWgs84 = [];
|
|
119
|
+
this._cornersMerc = [];
|
|
55
120
|
|
|
56
|
-
this._isFullExtent = options.fullExtent
|
|
121
|
+
this._isFullExtent = options.fullExtent ? 1 : 0;
|
|
57
122
|
|
|
58
123
|
/**
|
|
59
124
|
* rendering function pointer
|
|
60
125
|
*/
|
|
61
|
-
this.rendering =
|
|
126
|
+
this.rendering = this._renderingProjType0.bind(this);
|
|
127
|
+
|
|
128
|
+
this._onLoadend_ = null;
|
|
62
129
|
|
|
63
130
|
options.corners && this.setCorners(options.corners);
|
|
64
131
|
}
|
|
65
132
|
|
|
66
|
-
get isIdle() {
|
|
133
|
+
public override get isIdle(): boolean {
|
|
67
134
|
return super.isIdle && this._ready;
|
|
68
135
|
}
|
|
69
136
|
|
|
70
|
-
addTo(planet) {
|
|
137
|
+
public override addTo(planet: Planet) {
|
|
71
138
|
this._onLoadend_ = this._onLoadend.bind(this);
|
|
72
139
|
this.events.on("loadend", this._onLoadend_, this);
|
|
73
140
|
return super.addTo(planet);
|
|
74
141
|
}
|
|
75
142
|
|
|
76
|
-
_onLoadend() {
|
|
143
|
+
protected _onLoadend() {
|
|
77
144
|
if (this._planet) {
|
|
78
145
|
this._planet.events.dispatch(this._planet.events.layerloadend, this);
|
|
79
146
|
}
|
|
80
147
|
}
|
|
81
148
|
|
|
82
|
-
remove() {
|
|
149
|
+
public override remove() {
|
|
83
150
|
this.events.off("loadend", this._onLoadend_);
|
|
84
151
|
this._onLoadend_ = null;
|
|
85
152
|
return super.remove();
|
|
86
153
|
}
|
|
87
154
|
|
|
88
|
-
get instanceName() {
|
|
155
|
+
public override get instanceName(): string {
|
|
89
156
|
return "BaseGeoImage";
|
|
90
157
|
}
|
|
91
158
|
|
|
@@ -94,8 +161,8 @@ class BaseGeoImage extends Layer {
|
|
|
94
161
|
* @public
|
|
95
162
|
* @return {Array.<LonLat>} - (exactly 4 entries)
|
|
96
163
|
*/
|
|
97
|
-
getCornersLonLat() {
|
|
98
|
-
|
|
164
|
+
public getCornersLonLat(): LonLat[] {
|
|
165
|
+
let c = this._cornersWgs84;
|
|
99
166
|
return [
|
|
100
167
|
new LonLat(c[0].lon, c[0].lat),
|
|
101
168
|
new LonLat(c[1].lon, c[1].lat),
|
|
@@ -109,8 +176,8 @@ class BaseGeoImage extends Layer {
|
|
|
109
176
|
* @public
|
|
110
177
|
* @return {Array.<Array<number>>} - (exactly 3 entries)
|
|
111
178
|
*/
|
|
112
|
-
getCorners() {
|
|
113
|
-
|
|
179
|
+
public getCorners(): NumberArray2[] {
|
|
180
|
+
let c = this._cornersWgs84;
|
|
114
181
|
return [
|
|
115
182
|
[c[0].lon, c[0].lat],
|
|
116
183
|
[c[1].lon, c[1].lat],
|
|
@@ -126,7 +193,7 @@ class BaseGeoImage extends Layer {
|
|
|
126
193
|
* coincedents to the left top image corner, secont to the right top image corner, third to the right bottom
|
|
127
194
|
* and fourth - left bottom image corner.
|
|
128
195
|
*/
|
|
129
|
-
setCorners(corners) {
|
|
196
|
+
public setCorners(corners: NumberArray2[]) {
|
|
130
197
|
this.setCornersLonLat(LonLat.join(corners));
|
|
131
198
|
}
|
|
132
199
|
|
|
@@ -137,14 +204,14 @@ class BaseGeoImage extends Layer {
|
|
|
137
204
|
* coincedents to the left top image corner, secont to the right top image corner, third to the right bottom
|
|
138
205
|
* and fourth - left bottom image corner. (exactly 4 entries)
|
|
139
206
|
*/
|
|
140
|
-
setCornersLonLat(corners) {
|
|
207
|
+
public setCornersLonLat(corners: LonLat[]) {
|
|
141
208
|
this._refreshFrame = true;
|
|
142
209
|
this._cornersWgs84 = [
|
|
143
210
|
corners[0].clone(),
|
|
144
211
|
corners[1].clone(),
|
|
145
212
|
corners[2].clone(),
|
|
146
213
|
corners[3].clone()
|
|
147
|
-
]
|
|
214
|
+
];
|
|
148
215
|
|
|
149
216
|
for (let i = 0; i < this._cornersWgs84.length; i++) {
|
|
150
217
|
if (this._cornersWgs84[i].lat >= 89.9) {
|
|
@@ -156,7 +223,7 @@ class BaseGeoImage extends Layer {
|
|
|
156
223
|
}
|
|
157
224
|
this._extent.setByCoordinates(this._cornersWgs84);
|
|
158
225
|
|
|
159
|
-
|
|
226
|
+
let me = this._extent;
|
|
160
227
|
if (me.southWest.lat > mercator.MAX_LAT || me.northEast.lat < mercator.MIN_LAT) {
|
|
161
228
|
this._projType = 0;
|
|
162
229
|
this.rendering = this._renderingProjType0;
|
|
@@ -166,7 +233,7 @@ class BaseGeoImage extends Layer {
|
|
|
166
233
|
}
|
|
167
234
|
|
|
168
235
|
if (this._ready && !this._creationProceeding) {
|
|
169
|
-
this._planet
|
|
236
|
+
this._planet!._geoImageCreator.add(this);
|
|
170
237
|
}
|
|
171
238
|
}
|
|
172
239
|
|
|
@@ -174,7 +241,7 @@ class BaseGeoImage extends Layer {
|
|
|
174
241
|
* Creates geoImage frame.
|
|
175
242
|
* @protected
|
|
176
243
|
*/
|
|
177
|
-
_createFrame() {
|
|
244
|
+
protected _createFrame() {
|
|
178
245
|
this._extentWgs84 = this._extent.clone();
|
|
179
246
|
|
|
180
247
|
this._cornersMerc = [
|
|
@@ -220,17 +287,14 @@ class BaseGeoImage extends Layer {
|
|
|
220
287
|
|
|
221
288
|
// creates material frame textures
|
|
222
289
|
if (this._planet) {
|
|
223
|
-
|
|
224
|
-
h = p.renderer
|
|
225
|
-
gl = h.gl
|
|
290
|
+
let p = this._planet,
|
|
291
|
+
h = p.renderer!.handler,
|
|
292
|
+
gl = h.gl!;
|
|
226
293
|
|
|
227
|
-
gl.deleteTexture(this._materialTexture);
|
|
294
|
+
gl.deleteTexture(this._materialTexture as WebGLTexture);
|
|
228
295
|
this._materialTexture = h.createEmptyTexture_l(this._frameWidth, this._frameHeight);
|
|
229
296
|
|
|
230
|
-
let gridBufferArr = this._planet._geoImageCreator.createGridBuffer(
|
|
231
|
-
this._cornersWgs84,
|
|
232
|
-
this._projType
|
|
233
|
-
);
|
|
297
|
+
let gridBufferArr = this._planet._geoImageCreator.createGridBuffer(this._cornersWgs84, this._projType === 1);
|
|
234
298
|
|
|
235
299
|
this._gridBufferHigh = gridBufferArr[0];
|
|
236
300
|
this._gridBufferLow = gridBufferArr[1];
|
|
@@ -240,10 +304,11 @@ class BaseGeoImage extends Layer {
|
|
|
240
304
|
}
|
|
241
305
|
|
|
242
306
|
/**
|
|
243
|
-
* @
|
|
307
|
+
* @public
|
|
308
|
+
* @override
|
|
244
309
|
* @param {Material} material - GeoImage material.
|
|
245
310
|
*/
|
|
246
|
-
abortMaterialLoading(material) {
|
|
311
|
+
public override abortMaterialLoading(material: Material) {
|
|
247
312
|
this._creationProceeding = false;
|
|
248
313
|
material.isLoading = false;
|
|
249
314
|
material.isReady = false;
|
|
@@ -251,19 +316,21 @@ class BaseGeoImage extends Layer {
|
|
|
251
316
|
|
|
252
317
|
/**
|
|
253
318
|
* Clear layer material.
|
|
254
|
-
* @
|
|
319
|
+
* @public
|
|
320
|
+
* @override
|
|
255
321
|
*/
|
|
256
|
-
clear() {
|
|
322
|
+
public override clear() {
|
|
257
323
|
let p = this._planet;
|
|
258
324
|
|
|
259
325
|
if (p) {
|
|
260
|
-
let gl = p.renderer
|
|
326
|
+
let gl = p.renderer!.handler.gl;
|
|
261
327
|
this._creationProceeding && p._geoImageCreator.remove(this);
|
|
262
328
|
p._clearLayerMaterial(this);
|
|
263
329
|
|
|
264
330
|
if (gl) {
|
|
265
|
-
gl.deleteBuffer(this.
|
|
266
|
-
gl.
|
|
331
|
+
gl.deleteBuffer(this._gridBufferHigh as WebGLBuffer);
|
|
332
|
+
gl.deleteBuffer(this._gridBufferLow as WebGLBuffer);
|
|
333
|
+
gl.deleteTexture(this._sourceTexture as WebGLTexture);
|
|
267
334
|
this._materialTexture && !this._materialTexture.default && gl.deleteTexture(this._materialTexture);
|
|
268
335
|
}
|
|
269
336
|
}
|
|
@@ -271,7 +338,8 @@ class BaseGeoImage extends Layer {
|
|
|
271
338
|
this._sourceTexture = null;
|
|
272
339
|
this._materialTexture = null;
|
|
273
340
|
|
|
274
|
-
this.
|
|
341
|
+
this._gridBufferHigh = null;
|
|
342
|
+
this._gridBufferLow = null;
|
|
275
343
|
|
|
276
344
|
this._refreshFrame = true;
|
|
277
345
|
this._sourceCreated = false;
|
|
@@ -283,47 +351,46 @@ class BaseGeoImage extends Layer {
|
|
|
283
351
|
/**
|
|
284
352
|
* Sets layer visibility.
|
|
285
353
|
* @public
|
|
286
|
-
* @
|
|
354
|
+
* @override
|
|
287
355
|
* @param {boolean} visibility - GeoImage visibility.
|
|
288
356
|
*/
|
|
289
|
-
setVisibility(visibility) {
|
|
357
|
+
public override setVisibility(visibility: boolean) {
|
|
290
358
|
if (visibility !== this._visibility) {
|
|
291
359
|
super.setVisibility(visibility);
|
|
292
360
|
|
|
293
361
|
// remove from creator
|
|
294
|
-
if (
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
362
|
+
if (this._planet && this._sourceReady) {
|
|
363
|
+
if (visibility) {
|
|
364
|
+
this._planet._geoImageCreator.add(this);
|
|
365
|
+
} else {
|
|
366
|
+
this._planet._geoImageCreator.remove(this);
|
|
367
|
+
}
|
|
298
368
|
}
|
|
299
369
|
}
|
|
300
370
|
}
|
|
301
371
|
|
|
302
372
|
/**
|
|
303
|
-
* @
|
|
304
|
-
* @protected
|
|
373
|
+
* @public
|
|
305
374
|
* @param {Material} material - GeoImage material.
|
|
306
375
|
*/
|
|
307
|
-
clearMaterial(material) {
|
|
308
|
-
material.image = null;
|
|
376
|
+
public override clearMaterial(material: Material) {
|
|
309
377
|
material.texture = null;
|
|
310
378
|
material.isLoading = false;
|
|
311
379
|
material.isReady = false;
|
|
312
380
|
}
|
|
313
381
|
|
|
314
382
|
/**
|
|
315
|
-
* @
|
|
316
|
-
* @
|
|
317
|
-
* @
|
|
318
|
-
* @returns {Array<number> } -
|
|
383
|
+
* @public
|
|
384
|
+
* @override
|
|
385
|
+
* @returns {Array<number>} -
|
|
319
386
|
*/
|
|
320
|
-
applyMaterial(material) {
|
|
321
|
-
|
|
387
|
+
public override applyMaterial(material: Material): NumberArray4 {
|
|
388
|
+
let segment = material.segment;
|
|
322
389
|
|
|
323
390
|
if (this._ready) {
|
|
324
391
|
material.applyTexture(this._materialTexture);
|
|
325
392
|
} else {
|
|
326
|
-
material.texture = this._planet
|
|
393
|
+
material.texture = this._planet!.transparentTexture;
|
|
327
394
|
!this._creationProceeding && this.loadMaterial(material);
|
|
328
395
|
}
|
|
329
396
|
|
|
@@ -336,12 +403,13 @@ class BaseGeoImage extends Layer {
|
|
|
336
403
|
v0t = segment.getExtentMerc();
|
|
337
404
|
}
|
|
338
405
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
406
|
+
let sSize_x = v0s.northEast.lon - v0s.southWest.lon;
|
|
407
|
+
let sSize_y = v0s.northEast.lat - v0s.southWest.lat;
|
|
408
|
+
let dV0s_x = (v0t.southWest.lon - v0s.southWest.lon) / sSize_x;
|
|
409
|
+
let dV0s_y = (v0s.northEast.lat - v0t.northEast.lat) / sSize_y;
|
|
410
|
+
let dSize_x = (v0t.northEast.lon - v0t.southWest.lon) / sSize_x;
|
|
411
|
+
let dSize_y = (v0t.northEast.lat - v0t.southWest.lat) / sSize_y;
|
|
412
|
+
|
|
345
413
|
return [dV0s_x, dV0s_y, dSize_x, dSize_y];
|
|
346
414
|
}
|
|
347
415
|
|
|
@@ -350,7 +418,7 @@ class BaseGeoImage extends Layer {
|
|
|
350
418
|
* @public
|
|
351
419
|
* @returns {Number} Frame width.
|
|
352
420
|
*/
|
|
353
|
-
get getFrameWidth() {
|
|
421
|
+
public get getFrameWidth(): number {
|
|
354
422
|
return this._frameWidth;
|
|
355
423
|
}
|
|
356
424
|
|
|
@@ -359,63 +427,62 @@ class BaseGeoImage extends Layer {
|
|
|
359
427
|
* @public
|
|
360
428
|
* @returns {Number} Frame height.
|
|
361
429
|
*/
|
|
362
|
-
get getFrameHeight() {
|
|
430
|
+
public get getFrameHeight(): number {
|
|
363
431
|
return this._frameHeight;
|
|
364
432
|
}
|
|
365
433
|
|
|
366
434
|
/**
|
|
367
435
|
* Method depends on GeoImage instance
|
|
368
|
-
* @
|
|
369
|
-
* @private
|
|
436
|
+
* @protected
|
|
370
437
|
*/
|
|
371
|
-
_createSourceTexture() {
|
|
438
|
+
protected _createSourceTexture() {
|
|
372
439
|
//empty
|
|
373
440
|
}
|
|
374
441
|
|
|
375
|
-
_renderingProjType1() {
|
|
376
|
-
let p = this._planet
|
|
377
|
-
h = p.renderer
|
|
378
|
-
gl = h.gl
|
|
442
|
+
public _renderingProjType1() {
|
|
443
|
+
let p = this._planet!,
|
|
444
|
+
h = p.renderer!.handler,
|
|
445
|
+
gl = h.gl!,
|
|
379
446
|
creator = p._geoImageCreator;
|
|
380
447
|
|
|
381
448
|
this._refreshFrame && this._createFrame();
|
|
382
449
|
this._createSourceTexture();
|
|
383
450
|
|
|
384
|
-
let f = creator._framebuffer
|
|
451
|
+
let f = creator._framebuffer!;
|
|
385
452
|
f.setSize(this._frameWidth, this._frameHeight);
|
|
386
453
|
f.activate();
|
|
387
454
|
|
|
388
455
|
h.programs.geoImageTransform.activate();
|
|
389
|
-
|
|
390
|
-
|
|
456
|
+
let sh = h.programs.geoImageTransform._program;
|
|
457
|
+
let sha = sh.attributes,
|
|
391
458
|
shu = sh.uniforms;
|
|
392
459
|
|
|
393
460
|
gl.disable(gl.CULL_FACE);
|
|
394
461
|
|
|
395
|
-
f.bindOutputTexture(this._materialTexture);
|
|
462
|
+
f.bindOutputTexture(this._materialTexture as WebGLTexture);
|
|
396
463
|
gl.clearColor(0.0, 0.0, 0.0, 0.0);
|
|
397
464
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
398
465
|
|
|
399
466
|
gl.uniform1i(shu.isFullExtent, this._isFullExtent);
|
|
400
467
|
|
|
401
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, creator._texCoordsBuffer);
|
|
468
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, creator._texCoordsBuffer as WebGLBuffer);
|
|
402
469
|
|
|
403
470
|
gl.vertexAttribPointer(sha.texCoords, 2, gl.UNSIGNED_SHORT, true, 0, 0);
|
|
404
471
|
|
|
405
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferHigh);
|
|
406
|
-
gl.vertexAttribPointer(sha.cornersHigh, this._gridBufferHigh
|
|
472
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferHigh as WebGLBuffer);
|
|
473
|
+
gl.vertexAttribPointer(sha.cornersHigh, this._gridBufferHigh!.itemSize, gl.FLOAT, false, 0, 0);
|
|
407
474
|
|
|
408
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferLow);
|
|
409
|
-
gl.vertexAttribPointer(sha.cornersLow, this._gridBufferLow
|
|
475
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferLow as WebGLBuffer);
|
|
476
|
+
gl.vertexAttribPointer(sha.cornersLow, this._gridBufferLow!.itemSize, gl.FLOAT, false, 0, 0);
|
|
410
477
|
|
|
411
478
|
gl.uniform4fv(shu.extentParamsHigh, this._extentMercParamsHigh);
|
|
412
479
|
gl.uniform4fv(shu.extentParamsLow, this._extentMercParamsLow);
|
|
413
480
|
|
|
414
481
|
gl.activeTexture(gl.TEXTURE0);
|
|
415
|
-
gl.bindTexture(gl.TEXTURE_2D, this._sourceTexture);
|
|
482
|
+
gl.bindTexture(gl.TEXTURE_2D, this._sourceTexture as WebGLTexture);
|
|
416
483
|
gl.uniform1i(shu.sourceTexture, 0);
|
|
417
|
-
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, creator._indexBuffer);
|
|
418
|
-
gl.drawElements(gl.TRIANGLE_STRIP, creator._indexBuffer
|
|
484
|
+
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, creator._indexBuffer as WebGLBuffer);
|
|
485
|
+
gl.drawElements(gl.TRIANGLE_STRIP, creator._indexBuffer!.numItems, gl.UNSIGNED_INT, 0);
|
|
419
486
|
f.deactivate();
|
|
420
487
|
|
|
421
488
|
gl.enable(gl.CULL_FACE);
|
|
@@ -425,16 +492,16 @@ class BaseGeoImage extends Layer {
|
|
|
425
492
|
this._creationProceeding = false;
|
|
426
493
|
}
|
|
427
494
|
|
|
428
|
-
_renderingProjType0() {
|
|
429
|
-
let p = this._planet
|
|
430
|
-
h = p.renderer
|
|
431
|
-
gl = h.gl
|
|
495
|
+
protected _renderingProjType0() {
|
|
496
|
+
let p = this._planet!,
|
|
497
|
+
h = p.renderer!.handler,
|
|
498
|
+
gl = h.gl!,
|
|
432
499
|
creator = p._geoImageCreator;
|
|
433
500
|
|
|
434
501
|
this._refreshFrame && this._createFrame();
|
|
435
502
|
this._createSourceTexture();
|
|
436
503
|
|
|
437
|
-
let f = creator._framebuffer
|
|
504
|
+
let f = creator._framebuffer!;
|
|
438
505
|
f.setSize(this._frameWidth, this._frameHeight);
|
|
439
506
|
f.activate();
|
|
440
507
|
|
|
@@ -445,28 +512,28 @@ class BaseGeoImage extends Layer {
|
|
|
445
512
|
|
|
446
513
|
gl.disable(gl.CULL_FACE);
|
|
447
514
|
|
|
448
|
-
f.bindOutputTexture(this._materialTexture);
|
|
515
|
+
f.bindOutputTexture(this._materialTexture as WebGLTexture);
|
|
449
516
|
gl.clearColor(0.0, 0.0, 0.0, 0.0);
|
|
450
517
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
451
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, creator._texCoordsBuffer);
|
|
518
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, creator._texCoordsBuffer as WebGLBuffer);
|
|
452
519
|
|
|
453
520
|
gl.vertexAttribPointer(sha.texCoords, 2, gl.UNSIGNED_SHORT, true, 0, 0);
|
|
454
521
|
|
|
455
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferHigh);
|
|
456
|
-
gl.vertexAttribPointer(sha.cornersHigh, this._gridBufferHigh
|
|
522
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferHigh as WebGLBuffer);
|
|
523
|
+
gl.vertexAttribPointer(sha.cornersHigh, this._gridBufferHigh!.itemSize, gl.FLOAT, false, 0, 0);
|
|
457
524
|
|
|
458
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferLow);
|
|
459
|
-
gl.vertexAttribPointer(sha.cornersLow, this._gridBufferLow
|
|
525
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, this._gridBufferLow as WebGLBuffer);
|
|
526
|
+
gl.vertexAttribPointer(sha.cornersLow, this._gridBufferLow!.itemSize, gl.FLOAT, false, 0, 0);
|
|
460
527
|
|
|
461
528
|
gl.uniform4fv(shu.extentParamsHigh, this._extentWgs84ParamsHigh);
|
|
462
529
|
gl.uniform4fv(shu.extentParamsLow, this._extentWgs84ParamsLow);
|
|
463
530
|
|
|
464
531
|
gl.activeTexture(gl.TEXTURE0);
|
|
465
|
-
gl.bindTexture(gl.TEXTURE_2D, this._sourceTexture);
|
|
532
|
+
gl.bindTexture(gl.TEXTURE_2D, this._sourceTexture as WebGLTexture);
|
|
466
533
|
gl.uniform1i(shu.sourceTexture, 0);
|
|
467
534
|
|
|
468
|
-
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, creator._indexBuffer);
|
|
469
|
-
gl.drawElements(gl.TRIANGLE_STRIP, creator._indexBuffer
|
|
535
|
+
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, creator._indexBuffer as WebGLBuffer);
|
|
536
|
+
gl.drawElements(gl.TRIANGLE_STRIP, creator._indexBuffer!.numItems, gl.UNSIGNED_INT, 0);
|
|
470
537
|
f.deactivate();
|
|
471
538
|
|
|
472
539
|
gl.enable(gl.CULL_FACE);
|
|
@@ -477,4 +544,4 @@ class BaseGeoImage extends Layer {
|
|
|
477
544
|
}
|
|
478
545
|
}
|
|
479
546
|
|
|
480
|
-
export {
|
|
547
|
+
export {BaseGeoImage};
|