@openglobus/og 0.18.0 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/lib/@openglobus/og.esm.js +2 -0
- package/lib/@openglobus/og.esm.js.map +1 -0
- package/lib/@openglobus/og.umd.js +2 -0
- package/lib/@openglobus/og.umd.js.map +1 -0
- package/lib/js/Clock.d.ts +106 -0
- package/{src/Clock.ts → lib/js/Clock.js} +31 -126
- package/lib/js/Deferred.d.ts +6 -0
- package/lib/js/Deferred.js +13 -0
- package/lib/js/Events.d.ts +90 -0
- package/{src/Events.ts → lib/js/Events.js} +29 -84
- package/lib/js/Extent.d.ts +145 -0
- package/{src/Extent.ts → lib/js/Extent.js} +74 -120
- package/lib/js/Globe.d.ts +132 -0
- package/{src/Globe.ts → lib/js/Globe.js} +61 -159
- package/lib/js/ImageCanvas.d.ts +128 -0
- package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
- package/lib/js/Lock.d.ts +15 -0
- package/{src/Lock.ts → lib/js/Lock.js} +7 -21
- package/lib/js/LonLat.d.ts +128 -0
- package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
- package/lib/js/Object3d.d.ts +49 -0
- package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
- package/lib/js/Popup.d.ts +46 -0
- package/{src/Popup.ts → lib/js/Popup.js} +42 -110
- package/lib/js/QueueArray.d.ts +16 -0
- package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
- package/lib/js/Rectangle.d.ts +76 -0
- package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
- package/lib/js/Stack.d.ts +20 -0
- package/{src/Stack.ts → lib/js/Stack.js} +13 -29
- package/lib/js/astro/astro.d.ts +39 -0
- package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
- package/lib/js/astro/earth.d.ts +8 -0
- package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
- package/lib/js/astro/jd.d.ts +234 -0
- package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
- package/lib/js/astro/orbit.d.ts +5 -0
- package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
- package/lib/js/astro/rotation.d.ts +2 -0
- package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
- package/lib/js/bv/Box.d.ts +32 -0
- package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
- package/lib/js/bv/Sphere.d.ts +37 -0
- package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
- package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
- package/lib/js/bv/index.js +3 -0
- package/lib/js/camera/Camera.d.ts +314 -0
- package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
- package/lib/js/camera/Frustum.d.ts +139 -0
- package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
- package/lib/js/camera/PlanetCamera.d.ts +234 -0
- package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
- package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
- package/lib/js/camera/index.js +3 -0
- package/lib/js/cons.d.ts +40 -0
- package/{src/cons.ts → lib/js/cons.js} +10 -22
- package/lib/js/control/Atmosphere.d.ts +16 -0
- package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
- package/lib/js/control/CompassButton.d.ts +16 -0
- package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
- package/lib/js/control/Control.d.ts +100 -0
- package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
- package/lib/js/control/DebugInfo.d.ts +25 -0
- package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
- package/lib/js/control/DrawingSwitcher.d.ts +13 -0
- package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
- package/lib/js/control/EarthCoordinates.d.ts +41 -0
- package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
- package/lib/js/control/EarthNavigation.d.ts +50 -0
- package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
- package/lib/js/control/GeoImageDragControl.d.ts +22 -0
- package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
- package/lib/js/control/KeyboardNavigation.d.ts +28 -0
- package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
- package/lib/js/control/LayerAnimation.d.ts +71 -0
- package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
- package/lib/js/control/LayerSwitcher.d.ts +21 -0
- package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
- package/lib/js/control/Lighting.d.ts +49 -0
- package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
- package/lib/js/control/MouseNavigation.d.ts +62 -0
- package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
- package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
- package/lib/js/control/MouseWheelZoomControl.js +181 -0
- package/lib/js/control/RulerSwitcher.d.ts +17 -0
- package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
- package/lib/js/control/ScaleControl.d.ts +24 -0
- package/lib/js/control/ScaleControl.js +91 -0
- package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
- package/lib/js/control/SegmentBoundVisualization.js +37 -0
- package/lib/js/control/ShowFps.d.ts +9 -0
- package/lib/js/control/ShowFps.js +20 -0
- package/lib/js/control/SimpleNavigation.d.ts +25 -0
- package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
- package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
- package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
- package/lib/js/control/Sun.d.ts +33 -0
- package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
- package/lib/js/control/ToggleWireframe.d.ts +14 -0
- package/lib/js/control/ToggleWireframe.js +28 -0
- package/lib/js/control/TouchNavigation.d.ts +52 -0
- package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
- package/lib/js/control/ZoomControl.d.ts +27 -0
- package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
- package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
- package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
- package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
- package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
- package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
- package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
- package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
- package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
- package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
- package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
- package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
- package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
- package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
- package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
- package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
- package/lib/js/control/index.js +28 -0
- package/lib/js/control/ruler/Ruler.d.ts +13 -0
- package/lib/js/control/ruler/Ruler.js +23 -0
- package/lib/js/control/ruler/RulerScene.d.ts +88 -0
- package/lib/js/control/ruler/RulerScene.js +324 -0
- package/lib/js/control/selection/Selection.d.ts +55 -0
- package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
- package/lib/js/control/selection/SelectionScene.d.ts +44 -0
- package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
- package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
- package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
- package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
- package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
- package/lib/js/control/timeline/TimelineView.d.ts +85 -0
- package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
- package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
- package/lib/js/control/timeline/timelineUtils.js +112 -0
- package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
- package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
- package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
- package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
- package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
- package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
- package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
- package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +85 -267
- package/lib/js/ellipsoid/index.d.ts +3 -0
- package/lib/js/ellipsoid/index.js +3 -0
- package/lib/js/ellipsoid/wgs84.d.ts +6 -0
- package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
- package/lib/js/entity/BaseBillboard.d.ts +222 -0
- package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
- package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
- package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
- package/lib/js/entity/Billboard.d.ts +113 -0
- package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
- package/lib/js/entity/BillboardHandler.d.ts +15 -0
- package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
- package/lib/js/entity/Entity.d.ts +354 -0
- package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +102 -374
- package/lib/js/entity/EntityCollection.d.ts +363 -0
- package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +57 -359
- package/lib/js/entity/GeoObject.d.ts +138 -0
- package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
- package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
- package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
- package/lib/js/entity/Geometry.d.ts +111 -0
- package/lib/js/entity/Geometry.js +283 -0
- package/lib/js/entity/GeometryHandler.d.ts +84 -0
- package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
- package/lib/js/entity/Label.d.ts +207 -0
- package/{src/entity/Label.ts → lib/js/entity/Label.js} +63 -165
- package/lib/js/entity/LabelHandler.d.ts +65 -0
- package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
- package/lib/js/entity/LabelWorker.d.ts +15 -0
- package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
- package/lib/js/entity/PointCloud.d.ts +179 -0
- package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
- package/lib/js/entity/PointCloudHandler.d.ts +42 -0
- package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
- package/lib/js/entity/Polyline.d.ts +337 -0
- package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
- package/lib/js/entity/PolylineHandler.d.ts +22 -0
- package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
- package/lib/js/entity/Ray.d.ts +133 -0
- package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
- package/lib/js/entity/RayHandler.d.ts +70 -0
- package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
- package/lib/js/entity/Strip.d.ts +127 -0
- package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
- package/lib/js/entity/StripHandler.d.ts +42 -0
- package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
- package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
- package/lib/js/entity/index.js +11 -0
- package/lib/js/index.d.ts +33 -0
- package/lib/js/index.js +33 -0
- package/lib/js/input/KeyboardHandler.d.ts +33 -0
- package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
- package/lib/js/input/MouseHandler.d.ts +16 -0
- package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
- package/lib/js/input/TouchHandler.d.ts +11 -0
- package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
- package/lib/js/input/input.d.ts +3 -0
- package/{src/input/input.ts → lib/js/input/input.js} +1 -1
- package/lib/js/layer/BaseGeoImage.d.ts +145 -0
- package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
- package/lib/js/layer/CanvasTiles.d.ts +103 -0
- package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
- package/lib/js/layer/GeoImage.d.ts +61 -0
- package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
- package/lib/js/layer/GeoTexture2d.d.ts +17 -0
- package/lib/js/layer/GeoTexture2d.js +37 -0
- package/lib/js/layer/GeoVideo.d.ts +68 -0
- package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
- package/lib/js/layer/KML.d.ts +72 -0
- package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
- package/lib/js/layer/Layer.d.ts +401 -0
- package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
- package/lib/js/layer/Material.d.ts +34 -0
- package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
- package/lib/js/layer/Vector.d.ts +243 -0
- package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +155 -426
- package/lib/js/layer/WMS.d.ts +75 -0
- package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
- package/lib/js/layer/XYZ.d.ts +149 -0
- package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
- package/lib/js/layer/index.d.ts +11 -0
- package/lib/js/layer/index.js +11 -0
- package/lib/js/light/LightSource.d.ts +174 -0
- package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
- package/lib/js/math/Line2.d.ts +11 -0
- package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
- package/lib/js/math/Line3.d.ts +28 -0
- package/lib/js/math/Line3.js +85 -0
- package/lib/js/math/Mat3.d.ts +77 -0
- package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
- package/lib/js/math/Mat4.d.ts +195 -0
- package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
- package/lib/js/math/Plane.d.ts +20 -0
- package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
- package/lib/js/math/Quat.d.ts +373 -0
- package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
- package/lib/js/math/Ray.d.ts +76 -0
- package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
- package/lib/js/math/Vec2.d.ts +310 -0
- package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
- package/lib/js/math/Vec3.d.ts +472 -0
- package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
- package/lib/js/math/Vec4.d.ts +163 -0
- package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
- package/lib/js/math/coder.d.ts +51 -0
- package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
- package/lib/js/math/index.d.ts +11 -0
- package/lib/js/math/index.js +11 -0
- package/lib/js/math.d.ts +266 -0
- package/{src/math.ts → lib/js/math.js} +37 -85
- package/lib/js/mercator.d.ts +92 -0
- package/{src/mercator.ts → lib/js/mercator.js} +13 -37
- package/lib/js/proj/EPSG3857.d.ts +9 -0
- package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
- package/lib/js/proj/EPSG4326.d.ts +9 -0
- package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
- package/lib/js/proj/Proj.d.ts +43 -0
- package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
- package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
- package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
- package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/Node.d.ts +61 -0
- package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
- package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
- package/lib/js/quadTree/index.d.ts +12 -0
- package/lib/js/quadTree/index.js +12 -0
- package/lib/js/quadTree/quadTree.d.ts +40 -0
- package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
- package/lib/js/renderer/Renderer.d.ts +320 -0
- package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +265 -622
- package/lib/js/renderer/RendererEvents.d.ts +239 -0
- package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +158 -472
- package/lib/js/scene/Axes.d.ts +12 -0
- package/lib/js/scene/Axes.js +59 -0
- package/lib/js/scene/BaseNode.d.ts +61 -0
- package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
- package/lib/js/scene/Planet.d.ts +623 -0
- package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +257 -937
- package/lib/js/scene/RenderNode.d.ts +150 -0
- package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
- package/lib/js/scene/SkyBox.d.ts +13 -0
- package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
- package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
- package/lib/js/scene/index.js +5 -0
- package/lib/js/segment/Segment.d.ts +278 -0
- package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
- package/lib/js/segment/SegmentLonLat.d.ts +48 -0
- package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
- package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
- package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
- package/lib/js/segment/Slice.d.ts +13 -0
- package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
- package/lib/js/segment/segmentHelper.d.ts +18 -0
- package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
- package/lib/js/shaders/atmos.d.ts +4 -0
- package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
- package/lib/js/shaders/billboard.d.ts +3 -0
- package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
- package/lib/js/shaders/bloom.d.ts +2 -0
- package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
- package/lib/js/shaders/blur.d.ts +3 -0
- package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
- package/lib/js/shaders/depth.d.ts +2 -0
- package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
- package/lib/js/shaders/drawnode.d.ts +8 -0
- package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
- package/lib/js/shaders/geoObject.d.ts +3 -0
- package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
- package/lib/js/shaders/label.d.ts +4 -0
- package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
- package/lib/js/shaders/lumFilter.d.ts +2 -0
- package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
- package/lib/js/shaders/pickingMask.d.ts +2 -0
- package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
- package/lib/js/shaders/pointCloud.d.ts +2 -0
- package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
- package/lib/js/shaders/polyline.d.ts +3 -0
- package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
- package/lib/js/shaders/ray.d.ts +2 -0
- package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
- package/lib/js/shaders/screenFrame.d.ts +2 -0
- package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
- package/lib/js/shaders/skybox.d.ts +2 -0
- package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
- package/lib/js/shaders/toneMapping.d.ts +2 -0
- package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
- package/lib/js/shaders/utils.d.ts +1 -0
- package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
- package/lib/js/terrain/BilTerrain.d.ts +18 -0
- package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
- package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
- package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
- package/lib/js/terrain/Geoid.d.ts +33 -0
- package/lib/js/terrain/Geoid.js +191 -0
- package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
- package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +84 -241
- package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
- package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
- package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
- package/lib/js/terrain/index.js +5 -0
- package/lib/js/ui/Button.d.ts +32 -0
- package/lib/js/ui/Button.js +78 -0
- package/lib/js/ui/ButtonGroup.d.ts +16 -0
- package/lib/js/ui/ButtonGroup.js +41 -0
- package/lib/js/ui/Dialog.d.ts +55 -0
- package/lib/js/ui/Dialog.js +173 -0
- package/lib/js/ui/Slider.d.ts +38 -0
- package/lib/js/ui/Slider.js +129 -0
- package/lib/js/ui/ToggleButton.d.ts +20 -0
- package/lib/js/ui/ToggleButton.js +42 -0
- package/lib/js/ui/View.d.ts +37 -0
- package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
- package/lib/js/ui/icons.d.ts +1 -0
- package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
- package/lib/js/utils/BaseWorker.d.ts +14 -0
- package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
- package/lib/js/utils/FontAtlas.d.ts +82 -0
- package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +46 -182
- package/lib/js/utils/GeoImageCreator.d.ts +34 -0
- package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
- package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
- package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
- package/lib/js/utils/Loader.d.ts +63 -0
- package/lib/js/utils/Loader.js +156 -0
- package/lib/js/utils/NormalMapCreator.d.ts +52 -0
- package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
- package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
- package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
- package/lib/js/utils/TerrainWorker.d.ts +28 -0
- package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
- package/lib/js/utils/TextureAtlas.d.ts +113 -0
- package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
- package/lib/js/utils/VectorTileCreator.d.ts +18 -0
- package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
- package/lib/js/utils/colorTable.d.ts +3 -0
- package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
- package/lib/js/utils/earcut.d.ts +7 -0
- package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
- package/lib/js/utils/objParser.d.ts +24 -0
- package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
- package/lib/js/utils/shared.d.ts +267 -0
- package/{src/utils/shared.ts → lib/js/utils/shared.js} +185 -342
- package/lib/js/utils/units.d.ts +16 -0
- package/lib/js/utils/units.js +61 -0
- package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
- package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
- package/lib/js/webgl/Framebuffer.d.ts +69 -0
- package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
- package/lib/js/webgl/Handler.d.ts +473 -0
- package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
- package/lib/js/webgl/Multisample.d.ts +27 -0
- package/lib/js/webgl/Multisample.js +77 -0
- package/lib/js/webgl/Program.d.ts +159 -0
- package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
- package/lib/js/webgl/ProgramController.d.ts +86 -0
- package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
- package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
- package/lib/js/webgl/index.js +6 -0
- package/lib/js/webgl/types.d.ts +9 -0
- package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
- package/lib/js/webgl/variableHandlers.d.ts +22 -0
- package/lib/js/webgl/variableHandlers.js +78 -0
- package/package.json +23 -34
- package/dist/@openglobus/og.esm.js +0 -2
- package/dist/@openglobus/og.esm.js.map +0 -1
- package/dist/@openglobus/og.umd.js +0 -2
- package/dist/@openglobus/og.umd.js.map +0 -1
- package/src/Deferred.ts +0 -17
- package/src/control/MouseWheelZoomControl.ts +0 -269
- package/src/control/ScaleControl.ts +0 -131
- package/src/control/SegmentBoundVisualization.ts +0 -50
- package/src/control/ShowFps.ts +0 -28
- package/src/control/ToggleWireframe.ts +0 -35
- package/src/control/ruler/Ruler.ts +0 -35
- package/src/control/ruler/RulerScene.ts +0 -437
- package/src/control/timeline/timelineUtils.ts +0 -133
- package/src/ellipsoid/index.ts +0 -4
- package/src/entity/Geometry.ts +0 -486
- package/src/index.ts +0 -173
- package/src/layer/GeoTexture2d.ts +0 -56
- package/src/layer/index.ts +0 -12
- package/src/math/Line3.ts +0 -162
- package/src/math/index.ts +0 -26
- package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
- package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
- package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
- package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
- package/src/quadTree/index.ts +0 -14
- package/src/scene/Axes.ts +0 -78
- package/src/segment/SegmentLonLatWgs84.ts +0 -33
- package/src/terrain/Geoid.ts +0 -273
- package/src/ui/Button.ts +0 -121
- package/src/ui/ButtonGroup.ts +0 -63
- package/src/ui/Dialog.ts +0 -244
- package/src/ui/Slider.ts +0 -188
- package/src/ui/ToggleButton.ts +0 -68
- package/src/utils/Loader.ts +0 -247
- package/src/utils/units.ts +0 -78
- package/src/webgl/Multisample.ts +0 -153
- package/src/webgl/variableHandlers.ts +0 -114
- /package/{dist → lib}/@openglobus/og.css +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
- /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
- /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
- /package/{dist → lib}/@openglobus/res/night.png +0 -0
- /package/{dist → lib}/@openglobus/res/spec.png +0 -0
|
@@ -1,40 +1,12 @@
|
|
|
1
1
|
// import { QueueArray } from '../QueueArray.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {NumberArray6} from "../bv/Sphere";
|
|
6
|
-
|
|
7
|
-
interface TerrainInfo {
|
|
8
|
-
segment: Segment;
|
|
9
|
-
elevations: Float32Array;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface ITerrainWorkerData {
|
|
13
|
-
id: number;
|
|
14
|
-
normalMapNormals: Float32Array | null;
|
|
15
|
-
normalMapVertices: Float64Array | null;
|
|
16
|
-
normalMapVerticesHigh: Float32Array | null;
|
|
17
|
-
normalMapVerticesLow: Float32Array | null;
|
|
18
|
-
terrainVertices: Float64Array | null;
|
|
19
|
-
terrainVerticesHigh: Float32Array | null;
|
|
20
|
-
terrainVerticesLow: Float32Array | null;
|
|
21
|
-
noDataVertices: Uint8Array | null;
|
|
22
|
-
bounds: NumberArray6;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
type MessageEventExt = MessageEvent & {
|
|
26
|
-
data: ITerrainWorkerData
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
class TerrainWorker extends BaseWorker<TerrainInfo> {
|
|
30
|
-
constructor(numWorkers: number = 2) {
|
|
2
|
+
import { BaseWorker } from "./BaseWorker";
|
|
3
|
+
class TerrainWorker extends BaseWorker {
|
|
4
|
+
constructor(numWorkers = 2) {
|
|
31
5
|
super(numWorkers, TERRAIN_PROGRAM);
|
|
32
6
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this._source.get(e.data.id)!.segment._terrainWorkerCallback(e.data);
|
|
7
|
+
_onMessage(e) {
|
|
8
|
+
this._source.get(e.data.id).segment._terrainWorkerCallback(e.data);
|
|
36
9
|
this._source.delete(e.data.id);
|
|
37
|
-
|
|
38
10
|
e.data.normalMapNormals = null;
|
|
39
11
|
e.data.normalMapVertices = null;
|
|
40
12
|
e.data.normalMapVerticesHigh = null;
|
|
@@ -43,18 +15,12 @@ class TerrainWorker extends BaseWorker<TerrainInfo> {
|
|
|
43
15
|
e.data.terrainVerticesHigh = null;
|
|
44
16
|
e.data.terrainVerticesLow = null;
|
|
45
17
|
}
|
|
46
|
-
|
|
47
|
-
public override make(info: TerrainInfo) {
|
|
18
|
+
make(info) {
|
|
48
19
|
if (info.segment.plainReady && info.segment.terrainIsLoading) {
|
|
49
|
-
|
|
50
20
|
if (this._workerQueue.length) {
|
|
51
|
-
|
|
52
|
-
const w = this._workerQueue.pop()!;
|
|
53
|
-
|
|
21
|
+
const w = this._workerQueue.pop();
|
|
54
22
|
this._source.set(this._sourceId, info);
|
|
55
|
-
|
|
56
23
|
let segment = info.segment;
|
|
57
|
-
|
|
58
24
|
w.postMessage({
|
|
59
25
|
'elevations': info.elevations,
|
|
60
26
|
'this_plainVertices': segment.plainVertices,
|
|
@@ -62,30 +28,28 @@ class TerrainWorker extends BaseWorker<TerrainInfo> {
|
|
|
62
28
|
'this_normalMapVertices': segment.normalMapVertices,
|
|
63
29
|
'this_normalMapNormals': segment.normalMapNormals,
|
|
64
30
|
'heightFactor': segment.planet._heightFactor,
|
|
65
|
-
'gridSize': segment.planet.terrain
|
|
66
|
-
'noDataValues': segment.planet.terrain
|
|
31
|
+
'gridSize': segment.planet.terrain.gridSizeByZoom[segment.tileZoom],
|
|
32
|
+
'noDataValues': segment.planet.terrain.noDataValues,
|
|
67
33
|
'id': this._sourceId
|
|
68
34
|
}, [
|
|
69
35
|
info.elevations.buffer,
|
|
70
|
-
segment.plainVertices
|
|
71
|
-
segment.plainNormals
|
|
72
|
-
segment.normalMapVertices
|
|
73
|
-
segment.normalMapNormals
|
|
36
|
+
segment.plainVertices.buffer,
|
|
37
|
+
segment.plainNormals.buffer,
|
|
38
|
+
segment.normalMapVertices.buffer,
|
|
39
|
+
segment.normalMapNormals.buffer
|
|
74
40
|
]);
|
|
75
|
-
|
|
76
41
|
this._sourceId++;
|
|
77
|
-
|
|
78
|
-
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
79
44
|
this._pendingQueue.push(info);
|
|
80
45
|
}
|
|
81
|
-
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
82
48
|
this.check();
|
|
83
49
|
}
|
|
84
50
|
}
|
|
85
51
|
}
|
|
86
|
-
|
|
87
|
-
const TERRAIN_PROGRAM =
|
|
88
|
-
`'use strict';
|
|
52
|
+
const TERRAIN_PROGRAM = `'use strict';
|
|
89
53
|
//
|
|
90
54
|
//Terrain worker
|
|
91
55
|
//
|
|
@@ -584,5 +548,4 @@ const TERRAIN_PROGRAM =
|
|
|
584
548
|
noDataVertices.buffer
|
|
585
549
|
]);
|
|
586
550
|
}`;
|
|
587
|
-
|
|
588
|
-
export {TerrainWorker};
|
|
551
|
+
export { TerrainWorker };
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { ImageCanvas } from "../ImageCanvas";
|
|
2
|
+
import { Rectangle } from "../Rectangle";
|
|
3
|
+
import { ImagesCacheManager, HTMLImageElementExt, ImagesCacheManagerCallback } from "./ImagesCacheManager";
|
|
4
|
+
import { Handler, WebGLTextureExt } from "../webgl/Handler";
|
|
5
|
+
/**
|
|
6
|
+
* Texture atlas stores images in one texture. Each image has its own
|
|
7
|
+
* atlas texture coordinates.
|
|
8
|
+
* @class
|
|
9
|
+
* @param {number} [width=1024] - Texture atlas width, if it hasn't 1024 default.
|
|
10
|
+
* @param {number} [height=1024] - Texture atlas height, if it hasn't 1024 default.
|
|
11
|
+
*/
|
|
12
|
+
declare class TextureAtlas {
|
|
13
|
+
/**
|
|
14
|
+
* Atlas nodes where input images store. It can be accessed by image.__nodeIndex.
|
|
15
|
+
* @public
|
|
16
|
+
* @type {Map<number, TextureAtlasNode>}
|
|
17
|
+
*/
|
|
18
|
+
nodes: Map<number, TextureAtlasNode>;
|
|
19
|
+
/**
|
|
20
|
+
* Created gl texture.
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
texture: WebGLTextureExt | null;
|
|
24
|
+
/**
|
|
25
|
+
* Atlas canvas.
|
|
26
|
+
* @public
|
|
27
|
+
* @type {ImageCanvas}
|
|
28
|
+
*/
|
|
29
|
+
canvas: ImageCanvas;
|
|
30
|
+
borderSize: number;
|
|
31
|
+
protected _handler: Handler | null;
|
|
32
|
+
protected _images: HTMLImageElementExt[];
|
|
33
|
+
protected _btree: TextureAtlasNode | null;
|
|
34
|
+
protected _imagesCacheManager: ImagesCacheManager;
|
|
35
|
+
constructor(width?: number, height?: number);
|
|
36
|
+
/**
|
|
37
|
+
* Returns atlas javascript image object.
|
|
38
|
+
* @public
|
|
39
|
+
* @returns {HTMLImageElement} -
|
|
40
|
+
*/
|
|
41
|
+
getImage(): HTMLImageElement;
|
|
42
|
+
/**
|
|
43
|
+
* Returns canvas object.
|
|
44
|
+
* @public
|
|
45
|
+
* @returns {HTMLCanvasElement} -
|
|
46
|
+
*/
|
|
47
|
+
getCanvas(): HTMLCanvasElement;
|
|
48
|
+
/**
|
|
49
|
+
* Clear atlas with black.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
clearCanvas(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Sets openglobus gl handler that creates gl texture.
|
|
55
|
+
* @public
|
|
56
|
+
* @param {Handler} handler - WebGL handler.
|
|
57
|
+
*/
|
|
58
|
+
assignHandler(handler: Handler): void;
|
|
59
|
+
/**
|
|
60
|
+
* Returns image diagonal size.
|
|
61
|
+
* @param {HTMLImageElementExt} image - Image object.
|
|
62
|
+
* @returns {number} -
|
|
63
|
+
*/
|
|
64
|
+
getDiagonal(image: HTMLImageElementExt): number;
|
|
65
|
+
/**
|
|
66
|
+
* Adds image to the atlas and returns created node with texture coordinates of the stored image.
|
|
67
|
+
* @public
|
|
68
|
+
* @param {HTMLImageElementExt} image - Input javascript image object.
|
|
69
|
+
* @param {boolean} [fastInsert] - If it's true atlas doesn't restore all images again
|
|
70
|
+
* and store image in the current atlas scheme.
|
|
71
|
+
* @returns {TextureAtlasNode | undefined} -
|
|
72
|
+
*/
|
|
73
|
+
addImage(image: HTMLImageElementExt, fastInsert?: boolean): TextureAtlasNode | undefined;
|
|
74
|
+
protected _completeNode(nodes: Map<number, TextureAtlasNode>, node?: TextureAtlasNode | null): void;
|
|
75
|
+
/**
|
|
76
|
+
* Main atlas making function.
|
|
77
|
+
* @protected
|
|
78
|
+
* @param {boolean} [fastInsert] - If it's true atlas doesn't restore all images again
|
|
79
|
+
* and store image in the current atlas scheme.
|
|
80
|
+
*/
|
|
81
|
+
protected _makeAtlas(fastInsert?: boolean): void;
|
|
82
|
+
get(key: number): TextureAtlasNode | undefined;
|
|
83
|
+
set(key: number, value: TextureAtlasNode): void;
|
|
84
|
+
/**
|
|
85
|
+
* Creates atlas gl texture.
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
createTexture(img?: HTMLImageElement | null, internalFormat?: number): void;
|
|
89
|
+
/**
|
|
90
|
+
* Asynchronous function that loads and creates image to the image cache, and call success callback when it's done.
|
|
91
|
+
* @public
|
|
92
|
+
* @param {string} src - Image object src string.
|
|
93
|
+
* @param {ImagesCacheManagerCallback} success - The callback that handles the image loads done.
|
|
94
|
+
*/
|
|
95
|
+
loadImage(src: string, success: ImagesCacheManagerCallback): void;
|
|
96
|
+
getImageTexCoordinates(img: HTMLImageElementExt): number[] | undefined;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Atlas binary tree node.
|
|
100
|
+
* @class
|
|
101
|
+
* @param {Rectangle} rect - Node image rectangle.
|
|
102
|
+
* @param {number[]} texCoords - Node image rectangle.
|
|
103
|
+
*/
|
|
104
|
+
declare class TextureAtlasNode {
|
|
105
|
+
childNodes: TextureAtlasNode[] | null;
|
|
106
|
+
image: HTMLImageElementExt | null;
|
|
107
|
+
rect: Rectangle;
|
|
108
|
+
texCoords: number[];
|
|
109
|
+
atlas: TextureAtlas | null;
|
|
110
|
+
constructor(rect?: Rectangle, texCoords?: number[]);
|
|
111
|
+
insert(img: HTMLImageElementExt): TextureAtlasNode | undefined;
|
|
112
|
+
}
|
|
113
|
+
export { TextureAtlas, TextureAtlasNode };
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {ImageCanvas} from "../ImageCanvas";
|
|
2
|
-
import {Rectangle} from "../Rectangle";
|
|
3
|
-
import {ImagesCacheManager
|
|
4
|
-
import {Handler, WebGLTextureExt} from "../webgl/Handler";
|
|
5
|
-
|
|
1
|
+
import { ImageCanvas } from "../ImageCanvas";
|
|
2
|
+
import { Rectangle } from "../Rectangle";
|
|
3
|
+
import { ImagesCacheManager } from "./ImagesCacheManager";
|
|
6
4
|
/**
|
|
7
5
|
* Texture atlas stores images in one texture. Each image has its own
|
|
8
6
|
* atlas texture coordinates.
|
|
@@ -11,101 +9,58 @@ import {Handler, WebGLTextureExt} from "../webgl/Handler";
|
|
|
11
9
|
* @param {number} [height=1024] - Texture atlas height, if it hasn't 1024 default.
|
|
12
10
|
*/
|
|
13
11
|
class TextureAtlas {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* @public
|
|
17
|
-
* @type {Map<number, TextureAtlasNode>}
|
|
18
|
-
*/
|
|
19
|
-
public nodes: Map<number, TextureAtlasNode>;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Created gl texture.
|
|
23
|
-
* @public
|
|
24
|
-
*/
|
|
25
|
-
public texture: WebGLTextureExt | null;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Atlas canvas.
|
|
29
|
-
* @public
|
|
30
|
-
* @type {ImageCanvas}
|
|
31
|
-
*/
|
|
32
|
-
public canvas: ImageCanvas;
|
|
33
|
-
|
|
34
|
-
public borderSize: number;
|
|
35
|
-
|
|
36
|
-
protected _handler: Handler | null;
|
|
37
|
-
protected _images: HTMLImageElementExt[];
|
|
38
|
-
protected _btree: TextureAtlasNode | null;
|
|
39
|
-
protected _imagesCacheManager: ImagesCacheManager;
|
|
40
|
-
|
|
41
|
-
constructor(width: number = 1024, height: number = 1024) {
|
|
42
|
-
|
|
43
|
-
this.nodes = new Map<number, TextureAtlasNode>();
|
|
44
|
-
|
|
12
|
+
constructor(width = 1024, height = 1024) {
|
|
13
|
+
this.nodes = new Map();
|
|
45
14
|
this.texture = null;
|
|
46
|
-
|
|
47
15
|
this.canvas = new ImageCanvas(width, height);
|
|
48
|
-
|
|
49
16
|
this.clearCanvas();
|
|
50
|
-
|
|
51
17
|
this._handler = null;
|
|
52
|
-
|
|
53
18
|
this._images = [];
|
|
54
|
-
|
|
55
19
|
this._btree = null;
|
|
56
|
-
|
|
57
20
|
this._imagesCacheManager = new ImagesCacheManager();
|
|
58
|
-
|
|
59
21
|
this.borderSize = 4;
|
|
60
22
|
}
|
|
61
|
-
|
|
62
23
|
/**
|
|
63
24
|
* Returns atlas javascript image object.
|
|
64
25
|
* @public
|
|
65
26
|
* @returns {HTMLImageElement} -
|
|
66
27
|
*/
|
|
67
|
-
|
|
28
|
+
getImage() {
|
|
68
29
|
return this.canvas.getImage();
|
|
69
30
|
}
|
|
70
|
-
|
|
71
31
|
/**
|
|
72
32
|
* Returns canvas object.
|
|
73
33
|
* @public
|
|
74
34
|
* @returns {HTMLCanvasElement} -
|
|
75
35
|
*/
|
|
76
|
-
|
|
36
|
+
getCanvas() {
|
|
77
37
|
return this.canvas.getCanvas();
|
|
78
38
|
}
|
|
79
|
-
|
|
80
39
|
/**
|
|
81
40
|
* Clear atlas with black.
|
|
82
41
|
* @public
|
|
83
42
|
*/
|
|
84
|
-
|
|
43
|
+
clearCanvas() {
|
|
85
44
|
this.canvas.fillEmpty();
|
|
86
45
|
}
|
|
87
|
-
|
|
88
46
|
/**
|
|
89
47
|
* Sets openglobus gl handler that creates gl texture.
|
|
90
48
|
* @public
|
|
91
49
|
* @param {Handler} handler - WebGL handler.
|
|
92
50
|
*/
|
|
93
|
-
|
|
51
|
+
assignHandler(handler) {
|
|
94
52
|
this._handler = handler;
|
|
95
53
|
this.createTexture();
|
|
96
54
|
}
|
|
97
|
-
|
|
98
55
|
/**
|
|
99
56
|
* Returns image diagonal size.
|
|
100
57
|
* @param {HTMLImageElementExt} image - Image object.
|
|
101
58
|
* @returns {number} -
|
|
102
59
|
*/
|
|
103
|
-
|
|
104
|
-
let w = image.atlasWidth || image.width,
|
|
105
|
-
h = image.atlasHeight || image.height;
|
|
60
|
+
getDiagonal(image) {
|
|
61
|
+
let w = image.atlasWidth || image.width, h = image.atlasHeight || image.height;
|
|
106
62
|
return Math.sqrt(w * w + h * h);
|
|
107
63
|
}
|
|
108
|
-
|
|
109
64
|
/**
|
|
110
65
|
* Adds image to the atlas and returns created node with texture coordinates of the stored image.
|
|
111
66
|
* @public
|
|
@@ -114,83 +69,60 @@ class TextureAtlas {
|
|
|
114
69
|
* and store image in the current atlas scheme.
|
|
115
70
|
* @returns {TextureAtlasNode | undefined} -
|
|
116
71
|
*/
|
|
117
|
-
|
|
72
|
+
addImage(image, fastInsert = false) {
|
|
118
73
|
if (!(image.width && image.height)) {
|
|
119
74
|
return;
|
|
120
75
|
}
|
|
121
|
-
|
|
122
76
|
this._images.push(image);
|
|
123
|
-
|
|
124
77
|
this._makeAtlas(fastInsert);
|
|
125
|
-
|
|
126
78
|
if (image.__nodeIndex != undefined) {
|
|
127
79
|
return this.get(image.__nodeIndex);
|
|
128
80
|
}
|
|
129
81
|
}
|
|
130
|
-
|
|
131
|
-
protected _completeNode(nodes: Map<number, TextureAtlasNode>, node?: TextureAtlasNode | null) {
|
|
82
|
+
_completeNode(nodes, node) {
|
|
132
83
|
if (node) {
|
|
133
|
-
|
|
134
|
-
let
|
|
135
|
-
h = this.canvas.getHeight();
|
|
136
|
-
|
|
137
|
-
let im = node.image!;
|
|
84
|
+
let w = this.canvas.getWidth(), h = this.canvas.getHeight();
|
|
85
|
+
let im = node.image;
|
|
138
86
|
let r = node.rect;
|
|
139
87
|
let bs = Math.round(this.borderSize * 0.5);
|
|
140
88
|
this.canvas.drawImage(im, r.left + bs, r.top + bs, im.atlasWidth || 0, im.atlasHeight || 0);
|
|
141
|
-
|
|
142
89
|
let tc = node.texCoords;
|
|
143
|
-
|
|
144
90
|
tc[0] = (r.left + bs) / w;
|
|
145
91
|
tc[1] = (r.top + bs) / h;
|
|
146
|
-
|
|
147
92
|
tc[2] = (r.left + bs) / w;
|
|
148
93
|
tc[3] = (r.bottom - bs) / h;
|
|
149
|
-
|
|
150
94
|
tc[4] = (r.right - bs) / w;
|
|
151
95
|
tc[5] = (r.bottom - bs) / h;
|
|
152
|
-
|
|
153
96
|
tc[6] = (r.right - bs) / w;
|
|
154
97
|
tc[7] = (r.bottom - bs) / h;
|
|
155
|
-
|
|
156
98
|
tc[8] = (r.right - bs) / w;
|
|
157
99
|
tc[9] = (r.top + bs) / h;
|
|
158
|
-
|
|
159
100
|
tc[10] = (r.left + bs) / w;
|
|
160
101
|
tc[11] = (r.top + bs) / h;
|
|
161
|
-
|
|
162
|
-
nodes.set(im.__nodeIndex!, node);
|
|
102
|
+
nodes.set(im.__nodeIndex, node);
|
|
163
103
|
}
|
|
164
104
|
}
|
|
165
|
-
|
|
166
105
|
/**
|
|
167
106
|
* Main atlas making function.
|
|
168
107
|
* @protected
|
|
169
108
|
* @param {boolean} [fastInsert] - If it's true atlas doesn't restore all images again
|
|
170
109
|
* and store image in the current atlas scheme.
|
|
171
110
|
*/
|
|
172
|
-
|
|
111
|
+
_makeAtlas(fastInsert = false) {
|
|
173
112
|
if (fastInsert && this._btree) {
|
|
174
113
|
let im = this._images[this._images.length - 1];
|
|
175
114
|
this._completeNode(this.nodes, this._btree.insert(im));
|
|
176
|
-
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
177
117
|
let im = this._images.slice(0);
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
(a.atlasWidth || a.width) - (b.atlasWidth || b.width) ||
|
|
182
|
-
(a.atlasHeight || a.height) - (b.atlasHeight || b.height)
|
|
183
|
-
);
|
|
118
|
+
im.sort(function (b, a) {
|
|
119
|
+
return ((a.atlasWidth || a.width) - (b.atlasWidth || b.width) ||
|
|
120
|
+
(a.atlasHeight || a.height) - (b.atlasHeight || b.height));
|
|
184
121
|
});
|
|
185
|
-
|
|
186
|
-
this._btree = new TextureAtlasNode(
|
|
187
|
-
new Rectangle(0, 0, this.canvas.getWidth(), this.canvas.getHeight())
|
|
188
|
-
);
|
|
122
|
+
this._btree = new TextureAtlasNode(new Rectangle(0, 0, this.canvas.getWidth(), this.canvas.getHeight()));
|
|
189
123
|
this._btree.atlas = this;
|
|
190
|
-
|
|
191
124
|
this.clearCanvas();
|
|
192
|
-
|
|
193
|
-
let newNodes = new Map<number, TextureAtlasNode>();
|
|
125
|
+
let newNodes = new Map();
|
|
194
126
|
for (let i = 0; i < im.length; i++) {
|
|
195
127
|
this._completeNode(newNodes, this._btree.insert(im[i]));
|
|
196
128
|
}
|
|
@@ -199,41 +131,36 @@ class TextureAtlas {
|
|
|
199
131
|
this.nodes = newNodes;
|
|
200
132
|
}
|
|
201
133
|
}
|
|
202
|
-
|
|
203
|
-
public get(key: number): TextureAtlasNode | undefined {
|
|
134
|
+
get(key) {
|
|
204
135
|
return this.nodes.get(key);
|
|
205
136
|
}
|
|
206
|
-
|
|
207
|
-
public set(key: number, value: TextureAtlasNode) {
|
|
137
|
+
set(key, value) {
|
|
208
138
|
this.nodes.set(key, value);
|
|
209
139
|
}
|
|
210
|
-
|
|
211
140
|
/**
|
|
212
141
|
* Creates atlas gl texture.
|
|
213
142
|
* @public
|
|
214
143
|
*/
|
|
215
|
-
|
|
144
|
+
createTexture(img, internalFormat) {
|
|
216
145
|
if (this._handler) {
|
|
217
|
-
this._handler.gl
|
|
146
|
+
this._handler.gl.deleteTexture(this.texture);
|
|
218
147
|
if (img) {
|
|
219
148
|
this.canvas.resize(img.width, img.height);
|
|
220
149
|
this.canvas.drawImage(img, 0, 0, img.width, img.height);
|
|
221
150
|
}
|
|
222
|
-
this.texture = this._handler.createTexture_l(this.canvas.getCanvas(), internalFormat)
|
|
151
|
+
this.texture = this._handler.createTexture_l(this.canvas.getCanvas(), internalFormat);
|
|
223
152
|
}
|
|
224
153
|
}
|
|
225
|
-
|
|
226
154
|
/**
|
|
227
155
|
* Asynchronous function that loads and creates image to the image cache, and call success callback when it's done.
|
|
228
156
|
* @public
|
|
229
157
|
* @param {string} src - Image object src string.
|
|
230
158
|
* @param {ImagesCacheManagerCallback} success - The callback that handles the image loads done.
|
|
231
159
|
*/
|
|
232
|
-
|
|
160
|
+
loadImage(src, success) {
|
|
233
161
|
this._imagesCacheManager.load(src, success);
|
|
234
162
|
}
|
|
235
|
-
|
|
236
|
-
public getImageTexCoordinates(img: HTMLImageElementExt): number[] | undefined {
|
|
163
|
+
getImageTexCoordinates(img) {
|
|
237
164
|
if (img.__nodeIndex != null) {
|
|
238
165
|
let n = this.get(img.__nodeIndex);
|
|
239
166
|
if (n) {
|
|
@@ -242,7 +169,6 @@ class TextureAtlas {
|
|
|
242
169
|
}
|
|
243
170
|
}
|
|
244
171
|
}
|
|
245
|
-
|
|
246
172
|
/**
|
|
247
173
|
* Atlas binary tree node.
|
|
248
174
|
* @class
|
|
@@ -250,73 +176,56 @@ class TextureAtlas {
|
|
|
250
176
|
* @param {number[]} texCoords - Node image rectangle.
|
|
251
177
|
*/
|
|
252
178
|
class TextureAtlasNode {
|
|
253
|
-
|
|
254
|
-
public image: HTMLImageElementExt | null;
|
|
255
|
-
public rect: Rectangle;
|
|
256
|
-
public texCoords: number[];
|
|
257
|
-
public atlas: TextureAtlas | null;
|
|
258
|
-
|
|
259
|
-
constructor(rect?: Rectangle, texCoords?: number[]) {
|
|
179
|
+
constructor(rect, texCoords) {
|
|
260
180
|
this.childNodes = null;
|
|
261
181
|
this.image = null;
|
|
262
182
|
this.rect = rect || new Rectangle();
|
|
263
183
|
this.texCoords = texCoords || [];
|
|
264
184
|
this.atlas = null;
|
|
265
185
|
}
|
|
266
|
-
|
|
267
|
-
public insert(img: HTMLImageElementExt): TextureAtlasNode | undefined {
|
|
186
|
+
insert(img) {
|
|
268
187
|
if (this.childNodes) {
|
|
269
188
|
let newNode = this.childNodes[0].insert(img);
|
|
270
|
-
|
|
271
189
|
if (newNode) {
|
|
272
190
|
return newNode;
|
|
273
191
|
}
|
|
274
|
-
|
|
275
192
|
return this.childNodes[1].insert(img);
|
|
276
|
-
}
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
277
195
|
if (this.image != null) {
|
|
278
196
|
return;
|
|
279
197
|
}
|
|
280
|
-
|
|
281
198
|
let rc = this.rect;
|
|
282
|
-
const w = (img.atlasWidth || img.width) + this.atlas
|
|
283
|
-
const h = (img.atlasHeight || img.height) + this.atlas
|
|
284
|
-
|
|
199
|
+
const w = (img.atlasWidth || img.width) + this.atlas.borderSize;
|
|
200
|
+
const h = (img.atlasHeight || img.height) + this.atlas.borderSize;
|
|
285
201
|
if (w > rc.getWidth() || h > rc.getHeight()) {
|
|
286
202
|
return;
|
|
287
203
|
}
|
|
288
|
-
|
|
289
204
|
if (rc.fit(w, h)) {
|
|
290
205
|
this.image = img;
|
|
291
206
|
return this;
|
|
292
207
|
}
|
|
293
|
-
|
|
294
208
|
this.childNodes = new Array(2);
|
|
295
209
|
this.childNodes[0] = new TextureAtlasNode();
|
|
296
210
|
this.childNodes[0].atlas = this.atlas;
|
|
297
211
|
this.childNodes[1] = new TextureAtlasNode();
|
|
298
212
|
this.childNodes[1].atlas = this.atlas;
|
|
299
|
-
|
|
300
213
|
const dw = rc.getWidth() - w;
|
|
301
214
|
const dh = rc.getHeight() - h;
|
|
302
|
-
|
|
303
215
|
if (dw > dh) {
|
|
304
216
|
// this.childNodes[0].rect = new Rectangle(rc.left, rc.top, rc.left + w, rc.bottom);
|
|
305
217
|
// this.childNodes[1].rect = new Rectangle(rc.left + w, rc.top, rc.right, rc.bottom);
|
|
306
218
|
this.childNodes[0].rect.set(rc.left, rc.top, rc.left + w, rc.bottom);
|
|
307
219
|
this.childNodes[1].rect.set(rc.left + w, rc.top, rc.right, rc.bottom);
|
|
308
|
-
|
|
309
|
-
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
310
222
|
// this.childNodes[0].rect = new Rectangle(rc.left, rc.top, rc.right, rc.top + h);
|
|
311
223
|
// this.childNodes[1].rect = new Rectangle(rc.left, rc.top + h, rc.right, rc.bottom);
|
|
312
224
|
this.childNodes[0].rect.set(rc.left, rc.top, rc.right, rc.top + h);
|
|
313
225
|
this.childNodes[1].rect.set(rc.left, rc.top + h, rc.right, rc.bottom);
|
|
314
|
-
|
|
315
226
|
}
|
|
316
|
-
|
|
317
227
|
return this.childNodes[0].insert(img);
|
|
318
228
|
}
|
|
319
229
|
}
|
|
320
230
|
}
|
|
321
|
-
|
|
322
|
-
export {TextureAtlas, TextureAtlasNode};
|
|
231
|
+
export { TextureAtlas, TextureAtlasNode };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Framebuffer } from '../webgl/Framebuffer';
|
|
2
|
+
import { Handler } from "../webgl/Handler";
|
|
3
|
+
import { Material } from "../layer/Material";
|
|
4
|
+
import { Planet } from "../scene/Planet";
|
|
5
|
+
export declare class VectorTileCreator {
|
|
6
|
+
protected _width: number;
|
|
7
|
+
protected _height: number;
|
|
8
|
+
protected _planet: Planet;
|
|
9
|
+
protected _framebuffer: Framebuffer | null;
|
|
10
|
+
protected _queue: Material[];
|
|
11
|
+
protected _handler: Handler | null;
|
|
12
|
+
constructor(planet: Planet, width?: number, height?: number);
|
|
13
|
+
init(): void;
|
|
14
|
+
frame(): void;
|
|
15
|
+
add(material: Material): void;
|
|
16
|
+
remove(material: Material): void;
|
|
17
|
+
get queueSize(): number;
|
|
18
|
+
}
|