@openglobus/og 0.18.0 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/lib/@openglobus/og.esm.js +2 -0
- package/lib/@openglobus/og.esm.js.map +1 -0
- package/lib/@openglobus/og.umd.js +2 -0
- package/lib/@openglobus/og.umd.js.map +1 -0
- package/lib/js/Clock.d.ts +106 -0
- package/{src/Clock.ts → lib/js/Clock.js} +31 -126
- package/lib/js/Deferred.d.ts +6 -0
- package/lib/js/Deferred.js +13 -0
- package/lib/js/Events.d.ts +90 -0
- package/{src/Events.ts → lib/js/Events.js} +29 -84
- package/lib/js/Extent.d.ts +145 -0
- package/{src/Extent.ts → lib/js/Extent.js} +74 -120
- package/lib/js/Globe.d.ts +132 -0
- package/{src/Globe.ts → lib/js/Globe.js} +61 -159
- package/lib/js/ImageCanvas.d.ts +128 -0
- package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
- package/lib/js/Lock.d.ts +15 -0
- package/{src/Lock.ts → lib/js/Lock.js} +7 -21
- package/lib/js/LonLat.d.ts +128 -0
- package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
- package/lib/js/Object3d.d.ts +49 -0
- package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
- package/lib/js/Popup.d.ts +46 -0
- package/{src/Popup.ts → lib/js/Popup.js} +42 -110
- package/lib/js/QueueArray.d.ts +16 -0
- package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
- package/lib/js/Rectangle.d.ts +76 -0
- package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
- package/lib/js/Stack.d.ts +20 -0
- package/{src/Stack.ts → lib/js/Stack.js} +13 -29
- package/lib/js/astro/astro.d.ts +39 -0
- package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
- package/lib/js/astro/earth.d.ts +8 -0
- package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
- package/lib/js/astro/jd.d.ts +234 -0
- package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
- package/lib/js/astro/orbit.d.ts +5 -0
- package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
- package/lib/js/astro/rotation.d.ts +2 -0
- package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
- package/lib/js/bv/Box.d.ts +32 -0
- package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
- package/lib/js/bv/Sphere.d.ts +37 -0
- package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
- package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
- package/lib/js/bv/index.js +3 -0
- package/lib/js/camera/Camera.d.ts +314 -0
- package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
- package/lib/js/camera/Frustum.d.ts +139 -0
- package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
- package/lib/js/camera/PlanetCamera.d.ts +234 -0
- package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
- package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
- package/lib/js/camera/index.js +3 -0
- package/lib/js/cons.d.ts +40 -0
- package/{src/cons.ts → lib/js/cons.js} +10 -22
- package/lib/js/control/Atmosphere.d.ts +16 -0
- package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
- package/lib/js/control/CompassButton.d.ts +16 -0
- package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
- package/lib/js/control/Control.d.ts +100 -0
- package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
- package/lib/js/control/DebugInfo.d.ts +25 -0
- package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
- package/lib/js/control/DrawingSwitcher.d.ts +13 -0
- package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
- package/lib/js/control/EarthCoordinates.d.ts +41 -0
- package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
- package/lib/js/control/EarthNavigation.d.ts +50 -0
- package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
- package/lib/js/control/GeoImageDragControl.d.ts +22 -0
- package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
- package/lib/js/control/KeyboardNavigation.d.ts +28 -0
- package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
- package/lib/js/control/LayerAnimation.d.ts +71 -0
- package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
- package/lib/js/control/LayerSwitcher.d.ts +21 -0
- package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
- package/lib/js/control/Lighting.d.ts +49 -0
- package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
- package/lib/js/control/MouseNavigation.d.ts +62 -0
- package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
- package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
- package/lib/js/control/MouseWheelZoomControl.js +181 -0
- package/lib/js/control/RulerSwitcher.d.ts +17 -0
- package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
- package/lib/js/control/ScaleControl.d.ts +24 -0
- package/lib/js/control/ScaleControl.js +91 -0
- package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
- package/lib/js/control/SegmentBoundVisualization.js +37 -0
- package/lib/js/control/ShowFps.d.ts +9 -0
- package/lib/js/control/ShowFps.js +20 -0
- package/lib/js/control/SimpleNavigation.d.ts +25 -0
- package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
- package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
- package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
- package/lib/js/control/Sun.d.ts +33 -0
- package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
- package/lib/js/control/ToggleWireframe.d.ts +14 -0
- package/lib/js/control/ToggleWireframe.js +28 -0
- package/lib/js/control/TouchNavigation.d.ts +52 -0
- package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
- package/lib/js/control/ZoomControl.d.ts +27 -0
- package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
- package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
- package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
- package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
- package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
- package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
- package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
- package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
- package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
- package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
- package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
- package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
- package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
- package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
- package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
- package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
- package/lib/js/control/index.js +28 -0
- package/lib/js/control/ruler/Ruler.d.ts +13 -0
- package/lib/js/control/ruler/Ruler.js +23 -0
- package/lib/js/control/ruler/RulerScene.d.ts +88 -0
- package/lib/js/control/ruler/RulerScene.js +324 -0
- package/lib/js/control/selection/Selection.d.ts +55 -0
- package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
- package/lib/js/control/selection/SelectionScene.d.ts +44 -0
- package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
- package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
- package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
- package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
- package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
- package/lib/js/control/timeline/TimelineView.d.ts +85 -0
- package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
- package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
- package/lib/js/control/timeline/timelineUtils.js +112 -0
- package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
- package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
- package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
- package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
- package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
- package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
- package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
- package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +82 -267
- package/lib/js/ellipsoid/index.d.ts +3 -0
- package/lib/js/ellipsoid/index.js +3 -0
- package/lib/js/ellipsoid/wgs84.d.ts +6 -0
- package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
- package/lib/js/entity/BaseBillboard.d.ts +222 -0
- package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
- package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
- package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
- package/lib/js/entity/Billboard.d.ts +113 -0
- package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
- package/lib/js/entity/BillboardHandler.d.ts +15 -0
- package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
- package/lib/js/entity/Entity.d.ts +354 -0
- package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +101 -373
- package/lib/js/entity/EntityCollection.d.ts +364 -0
- package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +51 -353
- package/lib/js/entity/GeoObject.d.ts +138 -0
- package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
- package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
- package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
- package/lib/js/entity/Geometry.d.ts +111 -0
- package/lib/js/entity/Geometry.js +283 -0
- package/lib/js/entity/GeometryHandler.d.ts +84 -0
- package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
- package/lib/js/entity/Label.d.ts +207 -0
- package/{src/entity/Label.ts → lib/js/entity/Label.js} +62 -164
- package/lib/js/entity/LabelHandler.d.ts +65 -0
- package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
- package/lib/js/entity/LabelWorker.d.ts +15 -0
- package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
- package/lib/js/entity/PointCloud.d.ts +179 -0
- package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
- package/lib/js/entity/PointCloudHandler.d.ts +42 -0
- package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
- package/lib/js/entity/Polyline.d.ts +337 -0
- package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
- package/lib/js/entity/PolylineHandler.d.ts +22 -0
- package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
- package/lib/js/entity/Ray.d.ts +133 -0
- package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
- package/lib/js/entity/RayHandler.d.ts +70 -0
- package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
- package/lib/js/entity/Strip.d.ts +127 -0
- package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
- package/lib/js/entity/StripHandler.d.ts +42 -0
- package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
- package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
- package/lib/js/entity/index.js +11 -0
- package/lib/js/index.d.ts +33 -0
- package/lib/js/index.js +33 -0
- package/lib/js/input/KeyboardHandler.d.ts +33 -0
- package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
- package/lib/js/input/MouseHandler.d.ts +16 -0
- package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
- package/lib/js/input/TouchHandler.d.ts +11 -0
- package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
- package/lib/js/input/input.d.ts +3 -0
- package/{src/input/input.ts → lib/js/input/input.js} +1 -1
- package/lib/js/layer/BaseGeoImage.d.ts +145 -0
- package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
- package/lib/js/layer/CanvasTiles.d.ts +103 -0
- package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
- package/lib/js/layer/GeoImage.d.ts +61 -0
- package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
- package/lib/js/layer/GeoTexture2d.d.ts +17 -0
- package/lib/js/layer/GeoTexture2d.js +37 -0
- package/lib/js/layer/GeoVideo.d.ts +68 -0
- package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
- package/lib/js/layer/KML.d.ts +72 -0
- package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
- package/lib/js/layer/Layer.d.ts +401 -0
- package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
- package/lib/js/layer/Material.d.ts +34 -0
- package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
- package/lib/js/layer/Vector.d.ts +244 -0
- package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +147 -418
- package/lib/js/layer/WMS.d.ts +75 -0
- package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
- package/lib/js/layer/XYZ.d.ts +149 -0
- package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
- package/lib/js/layer/index.d.ts +11 -0
- package/lib/js/layer/index.js +11 -0
- package/lib/js/light/LightSource.d.ts +174 -0
- package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
- package/lib/js/math/Line2.d.ts +11 -0
- package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
- package/lib/js/math/Line3.d.ts +28 -0
- package/lib/js/math/Line3.js +85 -0
- package/lib/js/math/Mat3.d.ts +77 -0
- package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
- package/lib/js/math/Mat4.d.ts +195 -0
- package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
- package/lib/js/math/Plane.d.ts +20 -0
- package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
- package/lib/js/math/Quat.d.ts +373 -0
- package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
- package/lib/js/math/Ray.d.ts +76 -0
- package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
- package/lib/js/math/Vec2.d.ts +310 -0
- package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
- package/lib/js/math/Vec3.d.ts +472 -0
- package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
- package/lib/js/math/Vec4.d.ts +163 -0
- package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
- package/lib/js/math/coder.d.ts +51 -0
- package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
- package/lib/js/math/index.d.ts +11 -0
- package/lib/js/math/index.js +11 -0
- package/lib/js/math.d.ts +266 -0
- package/{src/math.ts → lib/js/math.js} +37 -85
- package/lib/js/mercator.d.ts +92 -0
- package/{src/mercator.ts → lib/js/mercator.js} +13 -37
- package/lib/js/proj/EPSG3857.d.ts +9 -0
- package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
- package/lib/js/proj/EPSG4326.d.ts +9 -0
- package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
- package/lib/js/proj/Proj.d.ts +43 -0
- package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
- package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
- package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
- package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/Node.d.ts +61 -0
- package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
- package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
- package/lib/js/quadTree/index.d.ts +12 -0
- package/lib/js/quadTree/index.js +12 -0
- package/lib/js/quadTree/quadTree.d.ts +40 -0
- package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
- package/lib/js/renderer/Renderer.d.ts +311 -0
- package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +169 -611
- package/lib/js/renderer/RendererEvents.d.ts +237 -0
- package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +134 -471
- package/lib/js/scene/Axes.d.ts +12 -0
- package/lib/js/scene/Axes.js +59 -0
- package/lib/js/scene/BaseNode.d.ts +61 -0
- package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
- package/lib/js/scene/Planet.d.ts +623 -0
- package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +251 -935
- package/lib/js/scene/RenderNode.d.ts +150 -0
- package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
- package/lib/js/scene/SkyBox.d.ts +13 -0
- package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
- package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
- package/lib/js/scene/index.js +5 -0
- package/lib/js/segment/Segment.d.ts +278 -0
- package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
- package/lib/js/segment/SegmentLonLat.d.ts +48 -0
- package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
- package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
- package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
- package/lib/js/segment/Slice.d.ts +13 -0
- package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
- package/lib/js/segment/segmentHelper.d.ts +18 -0
- package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
- package/lib/js/shaders/atmos.d.ts +4 -0
- package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
- package/lib/js/shaders/billboard.d.ts +3 -0
- package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
- package/lib/js/shaders/bloom.d.ts +2 -0
- package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
- package/lib/js/shaders/blur.d.ts +3 -0
- package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
- package/lib/js/shaders/depth.d.ts +2 -0
- package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
- package/lib/js/shaders/drawnode.d.ts +8 -0
- package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
- package/lib/js/shaders/geoObject.d.ts +3 -0
- package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
- package/lib/js/shaders/label.d.ts +4 -0
- package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
- package/lib/js/shaders/lumFilter.d.ts +2 -0
- package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
- package/lib/js/shaders/pickingMask.d.ts +2 -0
- package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
- package/lib/js/shaders/pointCloud.d.ts +2 -0
- package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
- package/lib/js/shaders/polyline.d.ts +3 -0
- package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
- package/lib/js/shaders/ray.d.ts +2 -0
- package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
- package/lib/js/shaders/screenFrame.d.ts +2 -0
- package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
- package/lib/js/shaders/skybox.d.ts +2 -0
- package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
- package/lib/js/shaders/toneMapping.d.ts +2 -0
- package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
- package/lib/js/shaders/utils.d.ts +1 -0
- package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
- package/lib/js/terrain/BilTerrain.d.ts +18 -0
- package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
- package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
- package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
- package/lib/js/terrain/Geoid.d.ts +33 -0
- package/lib/js/terrain/Geoid.js +191 -0
- package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
- package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +82 -239
- package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
- package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
- package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
- package/lib/js/terrain/index.js +5 -0
- package/lib/js/ui/Button.d.ts +32 -0
- package/lib/js/ui/Button.js +78 -0
- package/lib/js/ui/ButtonGroup.d.ts +16 -0
- package/lib/js/ui/ButtonGroup.js +41 -0
- package/lib/js/ui/Dialog.d.ts +55 -0
- package/lib/js/ui/Dialog.js +173 -0
- package/lib/js/ui/Slider.d.ts +38 -0
- package/lib/js/ui/Slider.js +129 -0
- package/lib/js/ui/ToggleButton.d.ts +20 -0
- package/lib/js/ui/ToggleButton.js +42 -0
- package/lib/js/ui/View.d.ts +37 -0
- package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
- package/lib/js/ui/icons.d.ts +1 -0
- package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
- package/lib/js/utils/BaseWorker.d.ts +14 -0
- package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
- package/lib/js/utils/FontAtlas.d.ts +82 -0
- package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +45 -181
- package/lib/js/utils/GeoImageCreator.d.ts +34 -0
- package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
- package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
- package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
- package/lib/js/utils/Loader.d.ts +63 -0
- package/lib/js/utils/Loader.js +156 -0
- package/lib/js/utils/NormalMapCreator.d.ts +52 -0
- package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
- package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
- package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
- package/lib/js/utils/TerrainWorker.d.ts +28 -0
- package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
- package/lib/js/utils/TextureAtlas.d.ts +113 -0
- package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
- package/lib/js/utils/VectorTileCreator.d.ts +18 -0
- package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
- package/lib/js/utils/colorTable.d.ts +3 -0
- package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
- package/lib/js/utils/earcut.d.ts +7 -0
- package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
- package/lib/js/utils/objParser.d.ts +24 -0
- package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
- package/lib/js/utils/shared.d.ts +267 -0
- package/{src/utils/shared.ts → lib/js/utils/shared.js} +184 -341
- package/lib/js/utils/units.d.ts +16 -0
- package/lib/js/utils/units.js +61 -0
- package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
- package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
- package/lib/js/webgl/Framebuffer.d.ts +69 -0
- package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
- package/lib/js/webgl/Handler.d.ts +473 -0
- package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
- package/lib/js/webgl/Multisample.d.ts +27 -0
- package/lib/js/webgl/Multisample.js +77 -0
- package/lib/js/webgl/Program.d.ts +159 -0
- package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
- package/lib/js/webgl/ProgramController.d.ts +86 -0
- package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
- package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
- package/lib/js/webgl/index.js +6 -0
- package/lib/js/webgl/types.d.ts +9 -0
- package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
- package/lib/js/webgl/variableHandlers.d.ts +22 -0
- package/lib/js/webgl/variableHandlers.js +78 -0
- package/package.json +23 -34
- package/dist/@openglobus/og.esm.js +0 -2
- package/dist/@openglobus/og.esm.js.map +0 -1
- package/dist/@openglobus/og.umd.js +0 -2
- package/dist/@openglobus/og.umd.js.map +0 -1
- package/src/Deferred.ts +0 -17
- package/src/control/MouseWheelZoomControl.ts +0 -269
- package/src/control/ScaleControl.ts +0 -131
- package/src/control/SegmentBoundVisualization.ts +0 -50
- package/src/control/ShowFps.ts +0 -28
- package/src/control/ToggleWireframe.ts +0 -35
- package/src/control/ruler/Ruler.ts +0 -35
- package/src/control/ruler/RulerScene.ts +0 -437
- package/src/control/timeline/timelineUtils.ts +0 -133
- package/src/ellipsoid/index.ts +0 -4
- package/src/entity/Geometry.ts +0 -486
- package/src/index.ts +0 -173
- package/src/layer/GeoTexture2d.ts +0 -56
- package/src/layer/index.ts +0 -12
- package/src/math/Line3.ts +0 -162
- package/src/math/index.ts +0 -26
- package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
- package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
- package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
- package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
- package/src/quadTree/index.ts +0 -14
- package/src/scene/Axes.ts +0 -78
- package/src/segment/SegmentLonLatWgs84.ts +0 -33
- package/src/terrain/Geoid.ts +0 -273
- package/src/ui/Button.ts +0 -121
- package/src/ui/ButtonGroup.ts +0 -63
- package/src/ui/Dialog.ts +0 -244
- package/src/ui/Slider.ts +0 -188
- package/src/ui/ToggleButton.ts +0 -68
- package/src/utils/Loader.ts +0 -247
- package/src/utils/units.ts +0 -78
- package/src/webgl/Multisample.ts +0 -153
- package/src/webgl/variableHandlers.ts +0 -114
- /package/{dist → lib}/@openglobus/og.css +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
- /package/{dist → lib}/@openglobus/res/night.png +0 -0
- /package/{dist → lib}/@openglobus/res/spec.png +0 -0
|
@@ -1,87 +1,24 @@
|
|
|
1
|
-
import {Deferred} from '../Deferred';
|
|
2
|
-
import {Rectangle} from '../Rectangle';
|
|
3
|
-
import {TextureAtlas, TextureAtlasNode} from './TextureAtlas';
|
|
4
|
-
import {Handler} from "../webgl/Handler";
|
|
5
|
-
import {HTMLImageElementExt} from "./ImagesCacheManager";
|
|
6
|
-
|
|
1
|
+
import { Deferred } from '../Deferred';
|
|
2
|
+
import { Rectangle } from '../Rectangle';
|
|
3
|
+
import { TextureAtlas, TextureAtlasNode } from './TextureAtlas';
|
|
7
4
|
//@todo: get the value from shader module
|
|
8
5
|
const MAX_SIZE = 11;
|
|
9
|
-
|
|
10
|
-
interface IChar {
|
|
11
|
-
id: number;
|
|
12
|
-
char: string;
|
|
13
|
-
width: number;
|
|
14
|
-
height: number;
|
|
15
|
-
x: number;
|
|
16
|
-
y: number;
|
|
17
|
-
chnl: number;
|
|
18
|
-
index: number;
|
|
19
|
-
page: number;
|
|
20
|
-
xadvance: number;
|
|
21
|
-
xoffset: number;
|
|
22
|
-
yoffset: number;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
interface IKerning {
|
|
26
|
-
first: number;
|
|
27
|
-
second: number;
|
|
28
|
-
amount: number;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface IFontParams {
|
|
32
|
-
common: {
|
|
33
|
-
scaleH: number;
|
|
34
|
-
scaleW: number;
|
|
35
|
-
};
|
|
36
|
-
info: {
|
|
37
|
-
size: number;
|
|
38
|
-
};
|
|
39
|
-
distanceField: {
|
|
40
|
-
distanceRange: number;
|
|
41
|
-
}
|
|
42
|
-
chars: IChar[];
|
|
43
|
-
kernings: IKerning[];
|
|
44
|
-
pages: string[];
|
|
45
|
-
}
|
|
46
|
-
|
|
47
6
|
class FontTextureAtlas extends TextureAtlas {
|
|
48
|
-
|
|
49
|
-
public height: number;
|
|
50
|
-
public gliphSize: number;
|
|
51
|
-
public distanceRange: number;
|
|
52
|
-
public override nodes: Map<number, FontTextureAtlasNode>;
|
|
53
|
-
public kernings: Record<number, Record<number, number>>;
|
|
54
|
-
|
|
55
|
-
constructor(width?: number, height?: number) {
|
|
7
|
+
constructor(width, height) {
|
|
56
8
|
super(width, height);
|
|
57
9
|
this.width = 0;
|
|
58
10
|
this.height = 0;
|
|
59
11
|
this.gliphSize = 0;
|
|
60
12
|
this.distanceRange = 0;
|
|
61
|
-
this.nodes = new Map
|
|
13
|
+
this.nodes = new Map();
|
|
62
14
|
this.kernings = {};
|
|
63
15
|
}
|
|
64
|
-
|
|
65
|
-
public override get(key: number): FontTextureAtlasNode | undefined {
|
|
16
|
+
get(key) {
|
|
66
17
|
return this.nodes.get(key);
|
|
67
18
|
}
|
|
68
19
|
}
|
|
69
|
-
|
|
70
|
-
interface IMetrics extends IChar {
|
|
71
|
-
nChar: string;
|
|
72
|
-
nCode: number;
|
|
73
|
-
nWidth: number;
|
|
74
|
-
nHeight: number
|
|
75
|
-
nAdvance: number;
|
|
76
|
-
nXOffset: number;
|
|
77
|
-
nYOffset: number;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
20
|
class FontTextureAtlasNode extends TextureAtlasNode {
|
|
81
|
-
|
|
82
|
-
public emptySize: number;
|
|
83
|
-
|
|
84
|
-
constructor(rect: Rectangle, texCoords: number[]) {
|
|
21
|
+
constructor(rect, texCoords) {
|
|
85
22
|
super(rect, texCoords);
|
|
86
23
|
this.emptySize = 1;
|
|
87
24
|
this.metrics = {
|
|
@@ -97,7 +34,6 @@ class FontTextureAtlasNode extends TextureAtlasNode {
|
|
|
97
34
|
xadvance: 0,
|
|
98
35
|
xoffset: 0,
|
|
99
36
|
yoffset: 0,
|
|
100
|
-
|
|
101
37
|
nChar: "",
|
|
102
38
|
nCode: 0,
|
|
103
39
|
nWidth: 0,
|
|
@@ -105,22 +41,11 @@ class FontTextureAtlasNode extends TextureAtlasNode {
|
|
|
105
41
|
nAdvance: 0,
|
|
106
42
|
nXOffset: 0,
|
|
107
43
|
nYOffset: 0
|
|
108
|
-
}
|
|
44
|
+
};
|
|
109
45
|
}
|
|
110
46
|
}
|
|
111
|
-
|
|
112
47
|
class FontAtlas {
|
|
113
|
-
|
|
114
|
-
public samplerArr: Uint32Array;
|
|
115
|
-
public sdfParamsArr: Float32Array;
|
|
116
|
-
public catalogSrc: string;
|
|
117
|
-
|
|
118
|
-
protected atlasIndexes: Record<string, number>;
|
|
119
|
-
protected atlasIndexesDeferred: Record<string, Deferred<number>>;
|
|
120
|
-
protected tokenImageSize: number;
|
|
121
|
-
protected _handler: Handler | null;
|
|
122
|
-
|
|
123
|
-
constructor(catalogSrc?: string) {
|
|
48
|
+
constructor(catalogSrc) {
|
|
124
49
|
this.atlasesArr = [];
|
|
125
50
|
this.atlasIndexes = {};
|
|
126
51
|
this.atlasIndexesDeferred = {};
|
|
@@ -130,84 +55,58 @@ class FontAtlas {
|
|
|
130
55
|
this._handler = null;
|
|
131
56
|
this.catalogSrc = catalogSrc || "./";
|
|
132
57
|
}
|
|
133
|
-
|
|
134
|
-
public assignHandler(handler: Handler) {
|
|
58
|
+
assignHandler(handler) {
|
|
135
59
|
this._handler = handler;
|
|
136
60
|
}
|
|
137
|
-
|
|
138
|
-
public getFontIndex(face: string): Promise<number> {
|
|
61
|
+
getFontIndex(face) {
|
|
139
62
|
let fullName = this.getFullIndex(face);
|
|
140
|
-
|
|
141
63
|
// Try to load font from the directory
|
|
142
64
|
if (!this.atlasIndexes[fullName]) {
|
|
143
65
|
this.loadFont(fullName, this.catalogSrc, `${fullName}.json`);
|
|
144
66
|
}
|
|
145
|
-
|
|
146
67
|
if (!this.atlasIndexesDeferred[fullName]) {
|
|
147
|
-
this.atlasIndexesDeferred[fullName] = new Deferred
|
|
68
|
+
this.atlasIndexesDeferred[fullName] = new Deferred();
|
|
148
69
|
}
|
|
149
70
|
return this.atlasIndexesDeferred[fullName].promise;
|
|
150
71
|
}
|
|
151
|
-
|
|
152
|
-
public getFullIndex(face: string): string {
|
|
72
|
+
getFullIndex(face) {
|
|
153
73
|
return face.trim().toLowerCase();
|
|
154
74
|
}
|
|
155
|
-
|
|
156
|
-
protected _applyFontDataToAtlas(atlas: FontTextureAtlas, data: IFontParams, index: number = 0) {
|
|
75
|
+
_applyFontDataToAtlas(atlas, data, index = 0) {
|
|
157
76
|
let chars = data.chars;
|
|
158
|
-
|
|
159
77
|
atlas.height = data.common.scaleH;
|
|
160
78
|
atlas.width = data.common.scaleW;
|
|
161
79
|
atlas.gliphSize = data.info.size;
|
|
162
80
|
atlas.distanceRange = data.distanceField.distanceRange;
|
|
163
|
-
|
|
164
|
-
let w = atlas.width,
|
|
165
|
-
h = atlas.height,
|
|
166
|
-
s = atlas.gliphSize;
|
|
167
|
-
|
|
81
|
+
let w = atlas.width, h = atlas.height, s = atlas.gliphSize;
|
|
168
82
|
this.sdfParamsArr[index * 4] = w;
|
|
169
83
|
this.sdfParamsArr[index * 4 + 1] = h;
|
|
170
84
|
this.sdfParamsArr[index * 4 + 2] = s;
|
|
171
85
|
this.sdfParamsArr[index * 4 + 3] = atlas.distanceRange;
|
|
172
|
-
|
|
173
|
-
let idToChar: Record<number, string> = {};
|
|
174
|
-
|
|
86
|
+
let idToChar = {};
|
|
175
87
|
for (let i = 0; i < chars.length; i++) {
|
|
176
88
|
let ci = chars[i];
|
|
177
89
|
let ti = ci.char;
|
|
178
|
-
|
|
179
90
|
idToChar[ci.id] = ti;
|
|
180
|
-
|
|
181
91
|
let r = new Rectangle(ci.x, ci.y, ci.x + ci.width, ci.y + ci.height);
|
|
182
|
-
|
|
183
92
|
let tc = new Array(12);
|
|
184
|
-
|
|
185
93
|
tc[0] = r.left / w;
|
|
186
94
|
tc[1] = r.top / h;
|
|
187
|
-
|
|
188
95
|
tc[2] = r.left / w;
|
|
189
96
|
tc[3] = r.bottom / h;
|
|
190
|
-
|
|
191
97
|
tc[4] = r.right / w;
|
|
192
98
|
tc[5] = r.bottom / h;
|
|
193
|
-
|
|
194
99
|
tc[6] = r.right / w;
|
|
195
100
|
tc[7] = r.bottom / h;
|
|
196
|
-
|
|
197
101
|
tc[8] = r.right / w;
|
|
198
102
|
tc[9] = r.top / h;
|
|
199
|
-
|
|
200
103
|
tc[10] = r.left / w;
|
|
201
104
|
tc[11] = r.top / h;
|
|
202
|
-
|
|
203
105
|
let taNode = new FontTextureAtlasNode(r, tc);
|
|
204
106
|
let ciNorm = ci.char.normalize('NFKC');
|
|
205
107
|
let ciCode = ciNorm.charCodeAt(0);
|
|
206
|
-
|
|
207
108
|
//taNode.metrics = ci;
|
|
208
|
-
|
|
209
109
|
let m = taNode.metrics;
|
|
210
|
-
|
|
211
110
|
m.id = ci.id;
|
|
212
111
|
m.char = ci.char;
|
|
213
112
|
m.width = ci.width;
|
|
@@ -220,7 +119,6 @@ class FontAtlas {
|
|
|
220
119
|
m.xadvance = ci.xadvance;
|
|
221
120
|
m.xoffset = ci.xoffset;
|
|
222
121
|
m.yoffset = ci.yoffset;
|
|
223
|
-
|
|
224
122
|
m.nChar = ciNorm;
|
|
225
123
|
m.nCode = ciCode;
|
|
226
124
|
m.nWidth = taNode.metrics.width / s;
|
|
@@ -228,65 +126,45 @@ class FontAtlas {
|
|
|
228
126
|
m.nAdvance = taNode.metrics.xadvance / s;
|
|
229
127
|
m.nXOffset = taNode.metrics.xoffset / s;
|
|
230
128
|
m.nYOffset = 1.0 - taNode.metrics.yoffset / s;
|
|
231
|
-
|
|
232
129
|
taNode.emptySize = 1;
|
|
233
|
-
|
|
234
130
|
atlas.nodes.set(ciNorm.charCodeAt(0), taNode);
|
|
235
131
|
}
|
|
236
|
-
|
|
237
132
|
atlas.kernings = {};
|
|
238
|
-
|
|
239
133
|
for (let i = 0; i < data.kernings.length; i++) {
|
|
240
134
|
let ki = data.kernings[i];
|
|
241
|
-
|
|
242
|
-
let first = ki.first,
|
|
243
|
-
second = ki.second;
|
|
244
|
-
|
|
135
|
+
let first = ki.first, second = ki.second;
|
|
245
136
|
//let charFirst = idToChar[first],
|
|
246
137
|
// charSecond = idToChar[second];
|
|
247
|
-
|
|
248
138
|
// if (!atlas.kernings[charFirst]) {
|
|
249
139
|
// atlas.kernings[charFirst] = {};
|
|
250
140
|
// }
|
|
251
141
|
//
|
|
252
142
|
// atlas.kernings[charFirst][charSecond] = ki.amount / s;
|
|
253
|
-
|
|
254
143
|
if (!atlas.kernings[first]) {
|
|
255
144
|
atlas.kernings[first] = {};
|
|
256
145
|
}
|
|
257
|
-
|
|
258
146
|
atlas.kernings[first][second] = ki.amount / s;
|
|
259
147
|
}
|
|
260
148
|
}
|
|
261
|
-
|
|
262
|
-
public initFont(faceName: string, dataJson: IFontParams, imageBase64: string) {
|
|
149
|
+
initFont(faceName, dataJson, imageBase64) {
|
|
263
150
|
let index = this.atlasesArr.length;
|
|
264
151
|
let fullName = this.getFullIndex(faceName);
|
|
265
|
-
|
|
266
152
|
this.atlasIndexes[fullName] = index;
|
|
267
|
-
|
|
268
153
|
let def = this.atlasIndexesDeferred[fullName];
|
|
269
154
|
if (!def) {
|
|
270
|
-
def = this.atlasIndexesDeferred[fullName] = new Deferred
|
|
155
|
+
def = this.atlasIndexesDeferred[fullName] = new Deferred();
|
|
271
156
|
}
|
|
272
|
-
|
|
273
157
|
this.samplerArr[this.atlasesArr.length] = index;
|
|
274
|
-
|
|
275
158
|
// TODO: FontTextureAtlas();
|
|
276
159
|
let atlas = new FontTextureAtlas();
|
|
277
|
-
|
|
278
160
|
atlas.height = 0;
|
|
279
161
|
atlas.width = 0;
|
|
280
162
|
atlas.gliphSize = 0;
|
|
281
163
|
atlas.distanceRange = 0;
|
|
282
164
|
atlas.kernings = {};
|
|
283
|
-
|
|
284
|
-
atlas.assignHandler(this._handler!);
|
|
285
|
-
|
|
165
|
+
atlas.assignHandler(this._handler);
|
|
286
166
|
this.atlasesArr[index] = atlas;
|
|
287
|
-
|
|
288
167
|
this._applyFontDataToAtlas(atlas, dataJson, index);
|
|
289
|
-
|
|
290
168
|
let img = new Image();
|
|
291
169
|
img.onload = () => {
|
|
292
170
|
this._createTexture(atlas, img);
|
|
@@ -294,63 +172,49 @@ class FontAtlas {
|
|
|
294
172
|
};
|
|
295
173
|
img.src = imageBase64;
|
|
296
174
|
}
|
|
297
|
-
|
|
298
|
-
protected _createTexture(atlas: FontTextureAtlas, img: HTMLImageElementExt) {
|
|
175
|
+
_createTexture(atlas, img) {
|
|
299
176
|
atlas.createTexture(img);
|
|
300
177
|
}
|
|
301
|
-
|
|
302
|
-
public loadFont(faceName: string, srcDir: string, atlasUrl: string) {
|
|
303
|
-
|
|
178
|
+
loadFont(faceName, srcDir, atlasUrl) {
|
|
304
179
|
let index = this.atlasesArr.length;
|
|
305
180
|
let fullName = this.getFullIndex(faceName);
|
|
306
|
-
|
|
307
181
|
this.atlasIndexes[fullName] = index;
|
|
308
|
-
|
|
309
182
|
let def = this.atlasIndexesDeferred[fullName];
|
|
310
183
|
if (!def) {
|
|
311
|
-
def = this.atlasIndexesDeferred[fullName] = new Deferred
|
|
184
|
+
def = this.atlasIndexesDeferred[fullName] = new Deferred();
|
|
312
185
|
}
|
|
313
|
-
|
|
314
186
|
this.samplerArr[this.atlasesArr.length] = index;
|
|
315
|
-
|
|
316
187
|
// TODO: FontTextureAtlas();
|
|
317
188
|
let atlas = new FontTextureAtlas();
|
|
318
|
-
|
|
319
189
|
atlas.height = 0;
|
|
320
190
|
atlas.width = 0;
|
|
321
191
|
atlas.gliphSize = 0;
|
|
322
192
|
atlas.distanceRange = 0;
|
|
323
193
|
atlas.kernings = {};
|
|
324
|
-
|
|
325
|
-
atlas.assignHandler(this._handler!);
|
|
194
|
+
atlas.assignHandler(this._handler);
|
|
326
195
|
this.atlasesArr[index] = atlas;
|
|
327
|
-
|
|
328
196
|
fetch(`${srcDir}/${atlasUrl}`)
|
|
329
|
-
.then((response
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
.then((data
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
img.src = `${srcDir}/${data.pages[0]}`;
|
|
347
|
-
img.crossOrigin = "Anonymous";
|
|
348
|
-
})
|
|
197
|
+
.then((response) => {
|
|
198
|
+
if (!response.ok) {
|
|
199
|
+
throw Error(`Unable to load "${srcDir}/${atlasUrl}"`);
|
|
200
|
+
}
|
|
201
|
+
//return response.json(response);
|
|
202
|
+
return response.json();
|
|
203
|
+
})
|
|
204
|
+
.then((data) => {
|
|
205
|
+
this._applyFontDataToAtlas(atlas, data, index);
|
|
206
|
+
let img = new Image();
|
|
207
|
+
img.onload = () => {
|
|
208
|
+
this._createTexture(atlas, img);
|
|
209
|
+
def.resolve(index);
|
|
210
|
+
};
|
|
211
|
+
img.src = `${srcDir}/${data.pages[0]}`;
|
|
212
|
+
img.crossOrigin = "Anonymous";
|
|
213
|
+
})
|
|
349
214
|
.catch(err => {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
215
|
+
def.reject();
|
|
216
|
+
return { 'status': "error", 'msg': err.toString() };
|
|
217
|
+
});
|
|
353
218
|
}
|
|
354
219
|
}
|
|
355
|
-
|
|
356
|
-
export {FontAtlas};
|
|
220
|
+
export { FontAtlas };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BaseGeoImage } from "../layer/BaseGeoImage";
|
|
2
|
+
import { Framebuffer } from '../webgl/Framebuffer';
|
|
3
|
+
import { LonLat } from '../LonLat';
|
|
4
|
+
import { Planet } from "../scene/Planet";
|
|
5
|
+
import { WebGLBufferExt, WebGLTextureExt } from "../webgl/Handler";
|
|
6
|
+
export declare class GeoImageCreator {
|
|
7
|
+
MAX_FRAMES: number;
|
|
8
|
+
protected _gridSize: number;
|
|
9
|
+
protected _planet: Planet;
|
|
10
|
+
_framebuffer: Framebuffer | null;
|
|
11
|
+
protected _framebufferMercProj: Framebuffer | null;
|
|
12
|
+
_texCoordsBuffer: WebGLBufferExt | null;
|
|
13
|
+
_indexBuffer: WebGLBufferExt | null;
|
|
14
|
+
protected _currentFrame: number;
|
|
15
|
+
protected _queue: BaseGeoImage[];
|
|
16
|
+
protected _animate: BaseGeoImage[];
|
|
17
|
+
protected _quadTexCoordsBuffer: WebGLBufferExt | null;
|
|
18
|
+
protected _quadVertexBuffer: WebGLTextureExt | null;
|
|
19
|
+
constructor(planet: Planet, maxFrames?: number);
|
|
20
|
+
init(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Creates geoImage corners coordinates grid buffer.
|
|
23
|
+
* @public
|
|
24
|
+
* @param{Array.<LonLat>} c - GeoImage corners coordinates.
|
|
25
|
+
* @param{boolean} [toMerc=false] - Transform to web mercator.
|
|
26
|
+
* @return{WebGLBuffer} Grid coordinates buffer.
|
|
27
|
+
*/
|
|
28
|
+
createGridBuffer(c: LonLat[], toMerc?: boolean): [WebGLBufferExt, WebGLBufferExt];
|
|
29
|
+
frame(): void;
|
|
30
|
+
add(geoImage: BaseGeoImage): void;
|
|
31
|
+
remove(geoImage: BaseGeoImage): void;
|
|
32
|
+
protected _initBuffers(): void;
|
|
33
|
+
protected _initShaders(): void;
|
|
34
|
+
}
|
|
@@ -1,29 +1,10 @@
|
|
|
1
1
|
import * as utils from '../utils/shared';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {Planet} from "../scene/Planet";
|
|
7
|
-
import {doubleToTwoFloats2} from "../math/coder";
|
|
8
|
-
import {WebGLBufferExt, WebGLTextureExt} from "../webgl/Handler";
|
|
9
|
-
|
|
2
|
+
import { Framebuffer } from '../webgl/Framebuffer';
|
|
3
|
+
import { LonLat } from '../LonLat';
|
|
4
|
+
import { Program } from '../webgl/Program';
|
|
5
|
+
import { doubleToTwoFloats2 } from "../math/coder";
|
|
10
6
|
export class GeoImageCreator {
|
|
11
|
-
|
|
12
|
-
public MAX_FRAMES: number;
|
|
13
|
-
|
|
14
|
-
protected _gridSize: number;
|
|
15
|
-
protected _planet: Planet;
|
|
16
|
-
public _framebuffer: Framebuffer | null;
|
|
17
|
-
protected _framebufferMercProj: Framebuffer | null;
|
|
18
|
-
public _texCoordsBuffer: WebGLBufferExt | null;
|
|
19
|
-
public _indexBuffer: WebGLBufferExt | null;
|
|
20
|
-
protected _currentFrame: number;
|
|
21
|
-
protected _queue: BaseGeoImage[];
|
|
22
|
-
protected _animate: BaseGeoImage[];
|
|
23
|
-
protected _quadTexCoordsBuffer: WebGLBufferExt | null;
|
|
24
|
-
protected _quadVertexBuffer: WebGLTextureExt | null;
|
|
25
|
-
|
|
26
|
-
constructor(planet: Planet, maxFrames: number = 5) {
|
|
7
|
+
constructor(planet, maxFrames = 5) {
|
|
27
8
|
this.MAX_FRAMES = maxFrames;
|
|
28
9
|
this._gridSize = 64;
|
|
29
10
|
this._planet = planet;
|
|
@@ -37,12 +18,10 @@ export class GeoImageCreator {
|
|
|
37
18
|
this._quadTexCoordsBuffer = null;
|
|
38
19
|
this._quadVertexBuffer = null;
|
|
39
20
|
}
|
|
40
|
-
|
|
41
|
-
public init() {
|
|
21
|
+
init() {
|
|
42
22
|
this._initShaders();
|
|
43
23
|
this._initBuffers();
|
|
44
24
|
}
|
|
45
|
-
|
|
46
25
|
/**
|
|
47
26
|
* Creates geoImage corners coordinates grid buffer.
|
|
48
27
|
* @public
|
|
@@ -50,101 +29,77 @@ export class GeoImageCreator {
|
|
|
50
29
|
* @param{boolean} [toMerc=false] - Transform to web mercator.
|
|
51
30
|
* @return{WebGLBuffer} Grid coordinates buffer.
|
|
52
31
|
*/
|
|
53
|
-
|
|
32
|
+
createGridBuffer(c, toMerc = false) {
|
|
54
33
|
let gs = this._gridSize;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
v01 = new LonLat((c[1].lon - c[0].lon) / gs, (c[1].lat - c[0].lat) / gs),
|
|
59
|
-
v32 = new LonLat((c[2].lon - c[3].lon) / gs, (c[2].lat - c[3].lat) / gs);
|
|
60
|
-
|
|
61
|
-
const size = (gs + 1) * (gs + 1) * 2,
|
|
62
|
-
halfSize = size / 2;
|
|
63
|
-
|
|
64
|
-
let gridHigh = new Float32Array(size),
|
|
65
|
-
gridLow = new Float32Array(size);
|
|
66
|
-
|
|
34
|
+
let v03 = new LonLat((c[3].lon - c[0].lon) / gs, (c[3].lat - c[0].lat) / gs), v12 = new LonLat((c[2].lon - c[1].lon) / gs, (c[2].lat - c[1].lat) / gs), v01 = new LonLat((c[1].lon - c[0].lon) / gs, (c[1].lat - c[0].lat) / gs), v32 = new LonLat((c[2].lon - c[3].lon) / gs, (c[2].lat - c[3].lat) / gs);
|
|
35
|
+
const size = (gs + 1) * (gs + 1) * 2, halfSize = size / 2;
|
|
36
|
+
let gridHigh = new Float32Array(size), gridLow = new Float32Array(size);
|
|
67
37
|
let lonLatArr = new Array(halfSize);
|
|
68
|
-
|
|
69
|
-
let kh = 0,
|
|
70
|
-
kl = 0,
|
|
71
|
-
k = 0;
|
|
72
|
-
|
|
38
|
+
let kh = 0, kl = 0, k = 0;
|
|
73
39
|
let tempArr = new Float32Array(2);
|
|
74
|
-
|
|
75
40
|
for (let i = 0; i <= gs; i++) {
|
|
76
|
-
|
|
77
|
-
let P03i = new LonLat(c[0].lon + i * v03.lon, c[0].lat + i * v03.lat),
|
|
78
|
-
P12i = new LonLat(c[1].lon + i * v12.lon, c[1].lat + i * v12.lat);
|
|
79
|
-
|
|
41
|
+
let P03i = new LonLat(c[0].lon + i * v03.lon, c[0].lat + i * v03.lat), P12i = new LonLat(c[1].lon + i * v12.lon, c[1].lat + i * v12.lat);
|
|
80
42
|
for (let j = 0; j <= gs; j++) {
|
|
81
|
-
let P01j = new LonLat(c[0].lon + j * v01.lon, c[0].lat + j * v01.lat),
|
|
82
|
-
|
|
83
|
-
let xx = utils.getLinesIntersectionLonLat(P03i, P12i, P01j, P32j)!;
|
|
43
|
+
let P01j = new LonLat(c[0].lon + j * v01.lon, c[0].lat + j * v01.lat), P32j = new LonLat(c[3].lon + j * v32.lon, c[3].lat + j * v32.lat);
|
|
44
|
+
let xx = utils.getLinesIntersectionLonLat(P03i, P12i, P01j, P32j);
|
|
84
45
|
doubleToTwoFloats2(xx.lon, tempArr);
|
|
85
46
|
gridHigh[kh++] = tempArr[0];
|
|
86
47
|
gridLow[kl++] = tempArr[1];
|
|
87
48
|
doubleToTwoFloats2(xx.lat, tempArr);
|
|
88
49
|
gridHigh[kh++] = tempArr[0];
|
|
89
50
|
gridLow[kl++] = tempArr[1];
|
|
90
|
-
|
|
91
51
|
lonLatArr[k++] = xx;
|
|
92
52
|
}
|
|
93
53
|
}
|
|
94
|
-
|
|
95
54
|
if (toMerc) {
|
|
96
55
|
for (let i = 0; i < halfSize; i++) {
|
|
97
56
|
let c = lonLatArr[i].forwardMercator();
|
|
98
57
|
doubleToTwoFloats2(c.lon, tempArr);
|
|
99
58
|
gridHigh[i * 2] = tempArr[0];
|
|
100
59
|
gridLow[i * 2] = tempArr[1];
|
|
101
|
-
|
|
102
60
|
doubleToTwoFloats2(c.lat, tempArr);
|
|
103
61
|
gridHigh[i * 2 + 1] = tempArr[0];
|
|
104
62
|
gridLow[i * 2 + 1] = tempArr[1];
|
|
105
63
|
}
|
|
106
64
|
}
|
|
107
|
-
|
|
108
65
|
return [
|
|
109
|
-
this._planet.renderer
|
|
110
|
-
this._planet.renderer
|
|
66
|
+
this._planet.renderer.handler.createArrayBuffer(gridHigh, 2, halfSize),
|
|
67
|
+
this._planet.renderer.handler.createArrayBuffer(gridLow, 2, halfSize)
|
|
111
68
|
];
|
|
112
69
|
}
|
|
113
|
-
|
|
114
|
-
public frame() {
|
|
70
|
+
frame() {
|
|
115
71
|
let i = this.MAX_FRAMES;
|
|
116
72
|
while (i-- && this._queue.length) {
|
|
117
|
-
const q = this._queue.shift()
|
|
73
|
+
const q = this._queue.shift();
|
|
118
74
|
q._isRendering = false;
|
|
119
75
|
q.rendering();
|
|
120
76
|
q.events.dispatch(q.events.loadend);
|
|
121
77
|
}
|
|
122
|
-
|
|
123
78
|
i = this._animate.length;
|
|
124
79
|
while (i--) {
|
|
125
80
|
this._animate[i].rendering();
|
|
126
81
|
}
|
|
127
82
|
}
|
|
128
|
-
|
|
129
|
-
public add(geoImage: BaseGeoImage) {
|
|
83
|
+
add(geoImage) {
|
|
130
84
|
if (!geoImage._isRendering) {
|
|
131
85
|
geoImage._isRendering = true;
|
|
132
86
|
if (geoImage._animate) {
|
|
133
87
|
this._animate.push(geoImage);
|
|
134
|
-
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
135
90
|
this._queue.push(geoImage);
|
|
136
91
|
}
|
|
137
92
|
}
|
|
138
93
|
}
|
|
139
|
-
|
|
140
|
-
public remove(geoImage: BaseGeoImage) {
|
|
94
|
+
remove(geoImage) {
|
|
141
95
|
if (geoImage._isRendering) {
|
|
142
96
|
geoImage._creationProceeding = false;
|
|
143
97
|
geoImage._isRendering = false;
|
|
144
|
-
let arr
|
|
98
|
+
let arr;
|
|
145
99
|
if (geoImage._animate) {
|
|
146
100
|
arr = this._animate;
|
|
147
|
-
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
148
103
|
arr = this._queue;
|
|
149
104
|
}
|
|
150
105
|
for (let i = 0; i < arr.length; i++) {
|
|
@@ -155,30 +110,20 @@ export class GeoImageCreator {
|
|
|
155
110
|
}
|
|
156
111
|
}
|
|
157
112
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
let h = this._planet.renderer!.handler!;
|
|
162
|
-
|
|
163
|
-
this._framebuffer = new Framebuffer(h, {width: 2, height: 2, useDepth: false});
|
|
113
|
+
_initBuffers() {
|
|
114
|
+
let h = this._planet.renderer.handler;
|
|
115
|
+
this._framebuffer = new Framebuffer(h, { width: 2, height: 2, useDepth: false });
|
|
164
116
|
this._framebuffer.init();
|
|
165
|
-
|
|
166
|
-
this._framebufferMercProj = new Framebuffer(h, {width: 2, height: 2, useDepth: false});
|
|
117
|
+
this._framebufferMercProj = new Framebuffer(h, { width: 2, height: 2, useDepth: false });
|
|
167
118
|
this._framebufferMercProj.init();
|
|
168
|
-
|
|
169
119
|
let gs = Math.log2(this._gridSize);
|
|
170
|
-
|
|
171
120
|
this._texCoordsBuffer = this._planet._textureCoordsBufferCache[gs];
|
|
172
|
-
|
|
173
121
|
this._indexBuffer = this._planet._indexesCache[gs][gs][gs][gs][gs].buffer;
|
|
174
|
-
|
|
175
122
|
this._quadTexCoordsBuffer = h.createArrayBuffer(new Float32Array([0, 1, 1, 1, 0, 0, 1, 0]), 2, 4);
|
|
176
123
|
this._quadVertexBuffer = h.createArrayBuffer(new Float32Array([-1, 1, 1, 1, -1, -1, 1, -1]), 2, 4);
|
|
177
124
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
this._planet.renderer!.handler.addProgram(new Program("geoImageTransform", {
|
|
125
|
+
_initShaders() {
|
|
126
|
+
this._planet.renderer.handler.addProgram(new Program("geoImageTransform", {
|
|
182
127
|
uniforms: {
|
|
183
128
|
sourceTexture: "sampler2d",
|
|
184
129
|
extentParamsHigh: "vec4",
|
|
@@ -190,8 +135,7 @@ export class GeoImageCreator {
|
|
|
190
135
|
cornersLow: "vec2",
|
|
191
136
|
texCoords: "vec2"
|
|
192
137
|
},
|
|
193
|
-
vertexShader:
|
|
194
|
-
`attribute vec2 cornersHigh;
|
|
138
|
+
vertexShader: `attribute vec2 cornersHigh;
|
|
195
139
|
attribute vec2 cornersLow;
|
|
196
140
|
attribute vec2 texCoords;
|
|
197
141
|
uniform vec4 extentParamsHigh;
|
|
@@ -203,8 +147,7 @@ export class GeoImageCreator {
|
|
|
203
147
|
vec2 lowDiff = cornersLow - extentParamsLow.xy;
|
|
204
148
|
gl_Position = vec4((-1.0 + (highDiff + lowDiff) * extentParamsHigh.zw) * vec2(1.0, -1.0), 0.0, 1.0);
|
|
205
149
|
}`,
|
|
206
|
-
fragmentShader:
|
|
207
|
-
`precision highp float;
|
|
150
|
+
fragmentShader: `precision highp float;
|
|
208
151
|
uniform sampler2D sourceTexture;
|
|
209
152
|
uniform bool isFullExtent;
|
|
210
153
|
varying vec2 v_texCoords;
|
|
@@ -217,4 +160,4 @@ export class GeoImageCreator {
|
|
|
217
160
|
}`
|
|
218
161
|
}));
|
|
219
162
|
}
|
|
220
|
-
}
|
|
163
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { QueueArray } from '../QueueArray';
|
|
2
|
+
export type HTMLImageElementExt = HTMLImageElement & {
|
|
3
|
+
__nodeIndex?: number;
|
|
4
|
+
atlasWidth?: number;
|
|
5
|
+
atlasHeight?: number;
|
|
6
|
+
};
|
|
7
|
+
export type ImagesCacheManagerCallback = (image: HTMLImageElementExt) => void;
|
|
8
|
+
interface IImagesCacheRequest {
|
|
9
|
+
"src": string;
|
|
10
|
+
"success": ImagesCacheManagerCallback;
|
|
11
|
+
}
|
|
12
|
+
declare class ImagesCacheManager {
|
|
13
|
+
imagesCache: Record<string, HTMLImageElementExt>;
|
|
14
|
+
protected _counter: number;
|
|
15
|
+
protected _pendingsQueue: QueueArray<IImagesCacheRequest>;
|
|
16
|
+
protected _imageIndexCounter: number;
|
|
17
|
+
constructor();
|
|
18
|
+
load(src: string, success: ImagesCacheManagerCallback): void;
|
|
19
|
+
protected _exec(req: IImagesCacheRequest): void;
|
|
20
|
+
protected _dequeueRequest(): void;
|
|
21
|
+
}
|
|
22
|
+
export { ImagesCacheManager };
|