@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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Layer } from "../layer/Layer";
|
|
2
|
+
import { Node } from "../quadTree/Node";
|
|
3
|
+
import { Planet } from "../scene/Planet";
|
|
4
|
+
import { Proj } from "../proj/Proj";
|
|
5
|
+
export declare class QuadTreeStrategy {
|
|
6
|
+
name: string;
|
|
7
|
+
projection: Proj;
|
|
8
|
+
protected _planet: Planet;
|
|
9
|
+
/**
|
|
10
|
+
* grid tree list.
|
|
11
|
+
* @protected
|
|
12
|
+
* @type {Node[]}
|
|
13
|
+
*/
|
|
14
|
+
protected _quadTreeList: Node[];
|
|
15
|
+
constructor(planet: Planet, name?: string, proj?: Proj);
|
|
16
|
+
destroyBranches(): void;
|
|
17
|
+
clearLayerMaterial(layer: Layer): void;
|
|
18
|
+
get planet(): Planet;
|
|
19
|
+
init(): void;
|
|
20
|
+
preRender(): void;
|
|
21
|
+
preLoad(): void;
|
|
22
|
+
collectRenderNodes(): void;
|
|
23
|
+
clear(): void;
|
|
24
|
+
get quadTreeList(): Node[];
|
|
25
|
+
}
|
|
@@ -1,38 +1,20 @@
|
|
|
1
|
-
import {EPSG3857} from "../proj/EPSG3857";
|
|
2
|
-
import {Layer} from "../layer/Layer";
|
|
3
|
-
import {Node} from "../quadTree/Node";
|
|
4
|
-
import {Planet} from "../scene/Planet";
|
|
5
|
-
import {Proj} from "../proj/Proj";
|
|
6
|
-
|
|
1
|
+
import { EPSG3857 } from "../proj/EPSG3857";
|
|
7
2
|
export class QuadTreeStrategy {
|
|
8
|
-
|
|
9
|
-
public projection: Proj;
|
|
10
|
-
protected _planet: Planet;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* grid tree list.
|
|
14
|
-
* @protected
|
|
15
|
-
* @type {Node[]}
|
|
16
|
-
*/
|
|
17
|
-
protected _quadTreeList: Node[];
|
|
18
|
-
|
|
19
|
-
constructor(planet: Planet, name: string = "", proj: Proj = EPSG3857) {
|
|
3
|
+
constructor(planet, name = "", proj = EPSG3857) {
|
|
20
4
|
this.name = name;
|
|
21
5
|
this.projection = proj;
|
|
22
6
|
this._planet = planet;
|
|
23
7
|
this._quadTreeList = [];
|
|
24
8
|
}
|
|
25
|
-
|
|
26
|
-
public destroyBranches() {
|
|
9
|
+
destroyBranches() {
|
|
27
10
|
for (let i = 0, len = this._quadTreeList.length; i < len; i++) {
|
|
28
11
|
this._quadTreeList[i].destroyBranches();
|
|
29
12
|
}
|
|
30
13
|
}
|
|
31
|
-
|
|
32
|
-
public clearLayerMaterial(layer: Layer) {
|
|
14
|
+
clearLayerMaterial(layer) {
|
|
33
15
|
let lid = layer.__id;
|
|
34
16
|
for (let i = 0, len = this._quadTreeList.length; i < len; i++) {
|
|
35
|
-
this._quadTreeList[i].traverseTree(function (node
|
|
17
|
+
this._quadTreeList[i].traverseTree(function (node) {
|
|
36
18
|
let mats = node.segment.materials;
|
|
37
19
|
if (mats[lid]) {
|
|
38
20
|
mats[lid].clear();
|
|
@@ -43,37 +25,27 @@ export class QuadTreeStrategy {
|
|
|
43
25
|
});
|
|
44
26
|
}
|
|
45
27
|
}
|
|
46
|
-
|
|
47
|
-
public get planet() {
|
|
28
|
+
get planet() {
|
|
48
29
|
return this._planet;
|
|
49
30
|
}
|
|
50
|
-
|
|
51
|
-
public init() {
|
|
52
|
-
|
|
31
|
+
init() {
|
|
53
32
|
}
|
|
54
|
-
|
|
55
|
-
public preRender() {
|
|
33
|
+
preRender() {
|
|
56
34
|
for (let i = 0; i < this._quadTreeList.length; i++) {
|
|
57
|
-
|
|
58
35
|
let quadTree = this._quadTreeList[i];
|
|
59
36
|
quadTree.createChildrenNodes();
|
|
60
37
|
quadTree.segment.createPlainSegment();
|
|
61
|
-
|
|
62
38
|
for (let j = 0; j < quadTree.nodes.length; j++) {
|
|
63
39
|
quadTree.nodes[j].segment.createPlainSegment();
|
|
64
40
|
}
|
|
65
41
|
}
|
|
66
42
|
}
|
|
67
|
-
|
|
68
|
-
public preLoad() {
|
|
69
|
-
|
|
43
|
+
preLoad() {
|
|
70
44
|
for (let i = 0; i < this._quadTreeList.length; i++) {
|
|
71
|
-
|
|
72
45
|
let quadTree = this._quadTreeList[i];
|
|
73
46
|
quadTree.segment.passReady = true;
|
|
74
47
|
quadTree.renderNode(1);
|
|
75
48
|
this._planet.normalMapCreator.drawSingle(quadTree.segment);
|
|
76
|
-
|
|
77
49
|
for (let j = 0; j < quadTree.nodes.length; j++) {
|
|
78
50
|
quadTree.nodes[j].segment.passReady = true;
|
|
79
51
|
quadTree.nodes[j].renderNode(1);
|
|
@@ -81,20 +53,17 @@ export class QuadTreeStrategy {
|
|
|
81
53
|
}
|
|
82
54
|
}
|
|
83
55
|
}
|
|
84
|
-
|
|
85
|
-
public collectRenderNodes() {
|
|
56
|
+
collectRenderNodes() {
|
|
86
57
|
for (let i = 0; i < this._quadTreeList.length; i++) {
|
|
87
58
|
this._quadTreeList[i].renderTree(this._planet.camera, 0, null);
|
|
88
59
|
}
|
|
89
60
|
}
|
|
90
|
-
|
|
91
|
-
public clear() {
|
|
61
|
+
clear() {
|
|
92
62
|
for (let i = 0; i < this._quadTreeList.length; i++) {
|
|
93
63
|
this._quadTreeList[i].clearTree();
|
|
94
64
|
}
|
|
95
65
|
}
|
|
96
|
-
|
|
97
|
-
public get quadTreeList(): Node[] {
|
|
66
|
+
get quadTreeList() {
|
|
98
67
|
return this._quadTreeList;
|
|
99
68
|
}
|
|
100
|
-
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as quadTree from "../quadTree/quadTree";
|
|
2
|
+
import { Extent } from "../Extent";
|
|
3
|
+
import { EPSG4326 } from "../proj/EPSG4326";
|
|
4
|
+
import { Node } from "../quadTree/Node";
|
|
5
|
+
import { SegmentLonLatWgs84 } from "../segment/SegmentLonLatWgs84";
|
|
6
|
+
import { QuadTreeStrategy } from "./QuadTreeStrategy";
|
|
7
|
+
export class Wgs84QuadTreeStrategy extends QuadTreeStrategy {
|
|
8
|
+
constructor(planet) {
|
|
9
|
+
super(planet, "wgs84", EPSG4326);
|
|
10
|
+
}
|
|
11
|
+
init() {
|
|
12
|
+
let wgs84QuadTree = new Node(SegmentLonLatWgs84, this.planet, quadTree.NW, null, 0, 0, Extent.createFromArray([-180, -90, 180, 90]));
|
|
13
|
+
this._quadTreeList.push(wgs84QuadTree);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EarthQuadTreeStrategy } from "./EarthQuadTreeStrategy";
|
|
2
|
+
import { MarsQuadTreeStrategy } from "./MarsQuadTreeStrategy";
|
|
3
|
+
import { EPSG4326QuadTreeStrategy } from "./EPSG4326QuadTreeStrategy";
|
|
4
|
+
import { QuadTreeStrategy } from "./QuadTreeStrategy";
|
|
5
|
+
import { Wgs84QuadTreeStrategy } from "./Wgs84QuadTreeStrategy";
|
|
6
|
+
declare const quadTreeStrategyType: {
|
|
7
|
+
epsg4326: typeof EPSG4326QuadTreeStrategy;
|
|
8
|
+
earth: typeof EarthQuadTreeStrategy;
|
|
9
|
+
mars: typeof MarsQuadTreeStrategy;
|
|
10
|
+
wgs84: typeof Wgs84QuadTreeStrategy;
|
|
11
|
+
};
|
|
12
|
+
export { quadTreeStrategyType, QuadTreeStrategy, Wgs84QuadTreeStrategy, MarsQuadTreeStrategy, EarthQuadTreeStrategy };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EarthQuadTreeStrategy } from "./EarthQuadTreeStrategy";
|
|
2
|
+
import { MarsQuadTreeStrategy } from "./MarsQuadTreeStrategy";
|
|
3
|
+
import { EPSG4326QuadTreeStrategy } from "./EPSG4326QuadTreeStrategy";
|
|
4
|
+
import { QuadTreeStrategy } from "./QuadTreeStrategy";
|
|
5
|
+
import { Wgs84QuadTreeStrategy } from "./Wgs84QuadTreeStrategy";
|
|
6
|
+
const quadTreeStrategyType = {
|
|
7
|
+
epsg4326: EPSG4326QuadTreeStrategy,
|
|
8
|
+
earth: EarthQuadTreeStrategy,
|
|
9
|
+
mars: MarsQuadTreeStrategy,
|
|
10
|
+
wgs84: Wgs84QuadTreeStrategy
|
|
11
|
+
};
|
|
12
|
+
export { quadTreeStrategyType, QuadTreeStrategy, Wgs84QuadTreeStrategy, MarsQuadTreeStrategy, EarthQuadTreeStrategy };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const VISIBLE_DISTANCE = 3570;
|
|
2
|
+
export declare const MAX_RENDERED_NODES = 1000;
|
|
3
|
+
export declare const NW = 0;
|
|
4
|
+
export declare const NE = 1;
|
|
5
|
+
export declare const SW = 2;
|
|
6
|
+
export declare const SE = 3;
|
|
7
|
+
export declare const N = 0;
|
|
8
|
+
export declare const E = 1;
|
|
9
|
+
export declare const S = 2;
|
|
10
|
+
export declare const W = 3;
|
|
11
|
+
export declare const NOTRENDERING = 0;
|
|
12
|
+
export declare const RENDERING = 1;
|
|
13
|
+
export declare const WALKTHROUGH = 2;
|
|
14
|
+
/**
|
|
15
|
+
* World opposite side table.
|
|
16
|
+
*/
|
|
17
|
+
export declare const OPSIDE: number[];
|
|
18
|
+
/**
|
|
19
|
+
* First index is {N,E,S,W} and second is {NW,NE,SW,SE}
|
|
20
|
+
*/
|
|
21
|
+
export declare const NEIGHBOUR: number[][];
|
|
22
|
+
/**
|
|
23
|
+
* Neighbor's oposite part. For example oposite side
|
|
24
|
+
* on the east neighbor side is: [S][SE] = NE
|
|
25
|
+
*/
|
|
26
|
+
export declare const OPPART: number[][];
|
|
27
|
+
/**
|
|
28
|
+
* Neighbos's opside array order. For example NW node
|
|
29
|
+
* by E side array index is 0, SE node by S side is 1.
|
|
30
|
+
*/
|
|
31
|
+
export declare const NOPSORD: number[][];
|
|
32
|
+
/**
|
|
33
|
+
* First index is {NW,NE,SW,SE}, another one is {N,E,S,W}
|
|
34
|
+
*/
|
|
35
|
+
export declare const COMSIDE: boolean[][];
|
|
36
|
+
/**
|
|
37
|
+
* Gets segment part left to right or up to downo ffset against neighbour side.
|
|
38
|
+
* Where 0 - no offset 1 - half segment size offset.
|
|
39
|
+
*/
|
|
40
|
+
export declare const PARTOFFSET: number[][];
|
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
export const VISIBLE_DISTANCE = 3570.0;
|
|
2
2
|
export const MAX_RENDERED_NODES = 1000;
|
|
3
|
-
|
|
4
3
|
export const NW = 0;
|
|
5
4
|
export const NE = 1;
|
|
6
5
|
export const SW = 2;
|
|
7
6
|
export const SE = 3;
|
|
8
|
-
|
|
9
7
|
export const N = 0;
|
|
10
8
|
export const E = 1;
|
|
11
9
|
export const S = 2;
|
|
12
10
|
export const W = 3;
|
|
13
|
-
|
|
14
11
|
export const NOTRENDERING = 0;
|
|
15
12
|
export const RENDERING = 1;
|
|
16
13
|
export const WALKTHROUGH = 2;
|
|
17
|
-
|
|
18
14
|
/**
|
|
19
15
|
* World opposite side table.
|
|
20
16
|
*/
|
|
21
17
|
export const OPSIDE = [S, W, N, E];
|
|
22
|
-
|
|
23
18
|
/**
|
|
24
19
|
* First index is {N,E,S,W} and second is {NW,NE,SW,SE}
|
|
25
20
|
*/
|
|
@@ -29,7 +24,6 @@ export const NEIGHBOUR = [
|
|
|
29
24
|
[SW, SE, -1, -1],
|
|
30
25
|
[-1, NW, -1, SW]
|
|
31
26
|
];
|
|
32
|
-
|
|
33
27
|
/**
|
|
34
28
|
* Neighbor's oposite part. For example oposite side
|
|
35
29
|
* on the east neighbor side is: [S][SE] = NE
|
|
@@ -40,7 +34,6 @@ export const OPPART = [
|
|
|
40
34
|
[SW, SE, NW, NE],
|
|
41
35
|
[NE, NW, SE, SW]
|
|
42
36
|
];
|
|
43
|
-
|
|
44
37
|
/**
|
|
45
38
|
* Neighbos's opside array order. For example NW node
|
|
46
39
|
* by E side array index is 0, SE node by S side is 1.
|
|
@@ -51,7 +44,6 @@ export const NOPSORD = [
|
|
|
51
44
|
[0, 1, 0, 1],
|
|
52
45
|
[0, 0, 1, 1]
|
|
53
46
|
];
|
|
54
|
-
|
|
55
47
|
/**
|
|
56
48
|
* First index is {NW,NE,SW,SE}, another one is {N,E,S,W}
|
|
57
49
|
*/
|
|
@@ -61,7 +53,6 @@ export const COMSIDE = [
|
|
|
61
53
|
[false, false, true, true],
|
|
62
54
|
[false, true, true, false]
|
|
63
55
|
];
|
|
64
|
-
|
|
65
56
|
/**
|
|
66
57
|
* Gets segment part left to right or up to downo ffset against neighbour side.
|
|
67
58
|
* Where 0 - no offset 1 - half segment size offset.
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
import { Camera } from "../camera/Camera";
|
|
2
|
+
import { Control } from "../control/Control";
|
|
3
|
+
import { RendererEventsHandler } from "./RendererEvents";
|
|
4
|
+
import { EntityCollection } from "../entity/EntityCollection";
|
|
5
|
+
import { Framebuffer, Multisample } from "../webgl/index";
|
|
6
|
+
import { FontAtlas } from "../utils/FontAtlas";
|
|
7
|
+
import { Handler, WebGLBufferExt } from "../webgl/Handler";
|
|
8
|
+
import { LabelWorker } from "../entity/LabelWorker";
|
|
9
|
+
import { RenderNode } from "../scene/RenderNode";
|
|
10
|
+
import { TextureAtlas } from "../utils/TextureAtlas";
|
|
11
|
+
import { Vec2 } from "../math/Vec2";
|
|
12
|
+
import { NumberArray3, Vec3 } from "../math/Vec3";
|
|
13
|
+
import { Vec4 } from "../math/Vec4";
|
|
14
|
+
interface IRendererParams {
|
|
15
|
+
controls?: Control[];
|
|
16
|
+
msaa?: number;
|
|
17
|
+
autoActivate?: boolean;
|
|
18
|
+
fontsSrc?: string;
|
|
19
|
+
}
|
|
20
|
+
interface IPickingObject {
|
|
21
|
+
_pickingColor?: Vec3;
|
|
22
|
+
_pickingColorU?: Float32Array;
|
|
23
|
+
}
|
|
24
|
+
interface IFrameCallbackHandler {
|
|
25
|
+
id: number;
|
|
26
|
+
callback: Function;
|
|
27
|
+
sender: any;
|
|
28
|
+
}
|
|
29
|
+
export interface HTMLDivElementExt extends HTMLDivElement {
|
|
30
|
+
attributions?: HTMLElement;
|
|
31
|
+
}
|
|
32
|
+
declare class Renderer {
|
|
33
|
+
/**
|
|
34
|
+
* Div element with WebGL canvas. Assigned in Globe class.
|
|
35
|
+
* @public
|
|
36
|
+
* @type {HTMLElement | null}
|
|
37
|
+
*/
|
|
38
|
+
div: HTMLDivElementExt | null;
|
|
39
|
+
/**
|
|
40
|
+
* WebGL handler context.
|
|
41
|
+
* @public
|
|
42
|
+
* @type {Handler}
|
|
43
|
+
*/
|
|
44
|
+
handler: Handler;
|
|
45
|
+
exposure: number;
|
|
46
|
+
gamma: number;
|
|
47
|
+
whitepoint: number;
|
|
48
|
+
brightThreshold: number;
|
|
49
|
+
/**
|
|
50
|
+
* Render nodes drawing queue.
|
|
51
|
+
* @public
|
|
52
|
+
* @type {Array.<RenderNode>}
|
|
53
|
+
*/
|
|
54
|
+
_renderNodesArr: RenderNode[];
|
|
55
|
+
/**
|
|
56
|
+
* Render nodes store for the comfortable access by the node name.
|
|
57
|
+
* @public
|
|
58
|
+
* @type {Object.<RenderNode>}
|
|
59
|
+
*/
|
|
60
|
+
renderNodes: Record<string, RenderNode>;
|
|
61
|
+
/**
|
|
62
|
+
* Current active camera.
|
|
63
|
+
* @public
|
|
64
|
+
* @type {Camera}
|
|
65
|
+
*/
|
|
66
|
+
activeCamera: Camera | null;
|
|
67
|
+
/**
|
|
68
|
+
* Renderer events. Represents interface for setting events like mousemove, draw, keypress etc.
|
|
69
|
+
* @public
|
|
70
|
+
* @type {RendererEvents}
|
|
71
|
+
*/
|
|
72
|
+
events: RendererEventsHandler;
|
|
73
|
+
/**
|
|
74
|
+
* Controls array.
|
|
75
|
+
* @public
|
|
76
|
+
* @type {Object}
|
|
77
|
+
*/
|
|
78
|
+
controls: Record<string, Control>;
|
|
79
|
+
/**
|
|
80
|
+
* Provides exchange between controls.
|
|
81
|
+
* @public
|
|
82
|
+
* @type {any}
|
|
83
|
+
*/
|
|
84
|
+
controlsBag: any;
|
|
85
|
+
/**
|
|
86
|
+
* Hash table for drawing objects.
|
|
87
|
+
* @public
|
|
88
|
+
* @type {Map<string, any>}
|
|
89
|
+
*/
|
|
90
|
+
colorObjects: Map<string, any>;
|
|
91
|
+
/**
|
|
92
|
+
* Color picking objects rendering queue.
|
|
93
|
+
* @type {Function[]}
|
|
94
|
+
*/
|
|
95
|
+
protected _pickingCallbacks: IFrameCallbackHandler[];
|
|
96
|
+
/**
|
|
97
|
+
* Picking objects(labels and billboards) framebuffer.
|
|
98
|
+
* @public
|
|
99
|
+
* @type {Framebuffer}
|
|
100
|
+
*/
|
|
101
|
+
pickingFramebuffer: Framebuffer | null;
|
|
102
|
+
protected _tempPickingPix_: Uint8Array;
|
|
103
|
+
/**
|
|
104
|
+
* @public
|
|
105
|
+
* @type {Framebuffer}
|
|
106
|
+
*/
|
|
107
|
+
distanceFramebuffer: Framebuffer | null;
|
|
108
|
+
/**
|
|
109
|
+
* @type {Function[]}
|
|
110
|
+
*/
|
|
111
|
+
protected _distanceCallbacks: IFrameCallbackHandler[];
|
|
112
|
+
protected _tempDistancePix_: Uint8Array;
|
|
113
|
+
/**
|
|
114
|
+
* Depth objects rendering queue.
|
|
115
|
+
* @type {Function[]}
|
|
116
|
+
*/
|
|
117
|
+
protected _depthCallbacks: IFrameCallbackHandler[];
|
|
118
|
+
depthFramebuffer: Framebuffer | null;
|
|
119
|
+
protected _msaa: number;
|
|
120
|
+
protected _internalFormat: string;
|
|
121
|
+
protected _format: string;
|
|
122
|
+
protected _type: string;
|
|
123
|
+
sceneFramebuffer: Framebuffer | Multisample | null;
|
|
124
|
+
protected blitFramebuffer: Framebuffer | null;
|
|
125
|
+
protected toneMappingFramebuffer: Framebuffer | null;
|
|
126
|
+
protected _initialized: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Texture atlas for the billboards images. One atlas per node.
|
|
129
|
+
* @public
|
|
130
|
+
* @type {TextureAtlas}
|
|
131
|
+
*/
|
|
132
|
+
billboardsTextureAtlas: TextureAtlas;
|
|
133
|
+
/**
|
|
134
|
+
* Texture atlas for the billboards images. One atlas per node.
|
|
135
|
+
* @public
|
|
136
|
+
* @type {TextureAtlas}
|
|
137
|
+
*/
|
|
138
|
+
geoObjectsTextureAtlas: TextureAtlas;
|
|
139
|
+
/**
|
|
140
|
+
* Texture font atlas for the font families and styles. One atlas per node.
|
|
141
|
+
* @public
|
|
142
|
+
* @type {FontAtlas}
|
|
143
|
+
*/
|
|
144
|
+
fontAtlas: FontAtlas;
|
|
145
|
+
protected _entityCollections: EntityCollection[];
|
|
146
|
+
protected _currentOutput: string;
|
|
147
|
+
protected _fnScreenFrame: Function | null;
|
|
148
|
+
labelWorker: LabelWorker;
|
|
149
|
+
__useDistanceFramebuffer__: boolean;
|
|
150
|
+
screenDepthFramebuffer: Framebuffer | null;
|
|
151
|
+
screenFramePositionBuffer: WebGLBufferExt | null;
|
|
152
|
+
screenTexture: Record<string, WebGLTexture>;
|
|
153
|
+
outputTexture: WebGLTexture | null;
|
|
154
|
+
protected _pickingMaskCoordinatesBuffer: WebGLBufferExt | null;
|
|
155
|
+
protected _skipDistanceFrame: boolean;
|
|
156
|
+
protected _distancePixelBuffer: WebGLBuffer | null;
|
|
157
|
+
protected _skipPickingFrame: boolean;
|
|
158
|
+
protected _pickingPixelBuffer: WebGLBuffer | null;
|
|
159
|
+
protected _readDistanceBuffer: () => void;
|
|
160
|
+
protected _readPickingBuffer: () => void;
|
|
161
|
+
constructor(handler: Handler, params?: IRendererParams);
|
|
162
|
+
enableBlendOneSrcAlpha(): void;
|
|
163
|
+
enableBlendDefault(): void;
|
|
164
|
+
/**
|
|
165
|
+
* Sets renderer events activity.
|
|
166
|
+
* @param {Boolean} activity - Events activity.
|
|
167
|
+
*/
|
|
168
|
+
setEventsActivity(activity: boolean): void;
|
|
169
|
+
addDepthCallback(sender: any, callback: Function): number;
|
|
170
|
+
removeDepthCallback(id: number): void;
|
|
171
|
+
addDistanceCallback(sender: any, callback: Function): number;
|
|
172
|
+
removeDistanceCallback(id: number): void;
|
|
173
|
+
/**
|
|
174
|
+
* Adds picking rendering callback function.
|
|
175
|
+
* @param {object} sender - Callback context.
|
|
176
|
+
* @param {Function} callback - Rendering callback.
|
|
177
|
+
* @returns {Number} Handler id
|
|
178
|
+
*/
|
|
179
|
+
addPickingCallback(sender: any, callback: Function): number;
|
|
180
|
+
/**
|
|
181
|
+
* Removes picking rendering callback function.
|
|
182
|
+
* @param {Number} id - Handler id to remove.
|
|
183
|
+
*/
|
|
184
|
+
removePickingCallback(id: number): void;
|
|
185
|
+
getPickingObject<T>(r: number, g: number, b: number): T;
|
|
186
|
+
getPickingObjectArr<T>(arr: NumberArray3 | Uint8Array): T;
|
|
187
|
+
getPickingObject3v<T>(vec: Vec3 | Vec4): T;
|
|
188
|
+
/**
|
|
189
|
+
* Assign picking color to the object.
|
|
190
|
+
* @public
|
|
191
|
+
* @param {Object} obj - Object that presume to be picked.
|
|
192
|
+
*/
|
|
193
|
+
assignPickingColor<T>(obj: T & IPickingObject): void;
|
|
194
|
+
/**
|
|
195
|
+
* Removes picking color from object.
|
|
196
|
+
* @public
|
|
197
|
+
* @param {Object} obj - Object to remove picking color.
|
|
198
|
+
*/
|
|
199
|
+
clearPickingColor<T>(obj: T & IPickingObject): void;
|
|
200
|
+
/**
|
|
201
|
+
* Get the client width.
|
|
202
|
+
* @public
|
|
203
|
+
* @returns {number} -
|
|
204
|
+
*/
|
|
205
|
+
getWidth(): number;
|
|
206
|
+
/**
|
|
207
|
+
* Get the client height.
|
|
208
|
+
* @public
|
|
209
|
+
* @returns {number} -
|
|
210
|
+
*/
|
|
211
|
+
getHeight(): number;
|
|
212
|
+
/**
|
|
213
|
+
* Get center of the canvas
|
|
214
|
+
* @public
|
|
215
|
+
* @returns {Vec2} -
|
|
216
|
+
*/
|
|
217
|
+
getCenter(): Vec2;
|
|
218
|
+
/**
|
|
219
|
+
* Get center of the screen viewport
|
|
220
|
+
* @public
|
|
221
|
+
* @returns {Vec2} -
|
|
222
|
+
*/
|
|
223
|
+
getClientCenter(): Vec2;
|
|
224
|
+
/**
|
|
225
|
+
* Add the given control to the renderer.
|
|
226
|
+
* @param {Control} control - Control.
|
|
227
|
+
*/
|
|
228
|
+
addControl(control: Control): void;
|
|
229
|
+
/**
|
|
230
|
+
* Add the given controls array to the planet node.
|
|
231
|
+
* @param {Array.<Control>} cArr - Control array.
|
|
232
|
+
*/
|
|
233
|
+
addControls(cArr: Control[]): void;
|
|
234
|
+
/**
|
|
235
|
+
* Remove control from the renderer.
|
|
236
|
+
* @param {Control} control - Control.
|
|
237
|
+
*/
|
|
238
|
+
removeControl(control: Control): void;
|
|
239
|
+
isInitialized(): boolean;
|
|
240
|
+
/**
|
|
241
|
+
* Renderer initialization.
|
|
242
|
+
* @public
|
|
243
|
+
*/
|
|
244
|
+
initialize(): void;
|
|
245
|
+
_initReadPixelsBuffers(): void;
|
|
246
|
+
_initializeControls(): void;
|
|
247
|
+
resize(): void;
|
|
248
|
+
setCurrentScreen(screenName: string): void;
|
|
249
|
+
_resizeStart(): void;
|
|
250
|
+
_resizeEnd(): void;
|
|
251
|
+
removeNode(renderNode: RenderNode): void;
|
|
252
|
+
/**
|
|
253
|
+
* Adds render node to the renderer.
|
|
254
|
+
* @public
|
|
255
|
+
* @param {RenderNode} renderNode - Render node.
|
|
256
|
+
*/
|
|
257
|
+
addNode(renderNode: RenderNode): void;
|
|
258
|
+
protected _initializeRenderNodes(): void;
|
|
259
|
+
/**
|
|
260
|
+
* Adds render node to the renderer before specific node.
|
|
261
|
+
* @public
|
|
262
|
+
* @param {RenderNode} renderNode - Render node.
|
|
263
|
+
* @param {RenderNode} renderNodeBefore - Insert before the renderNodeBefore node.
|
|
264
|
+
*/
|
|
265
|
+
addNodeBefore(renderNode: RenderNode, renderNodeBefore: RenderNode): void;
|
|
266
|
+
/**
|
|
267
|
+
* Adds render nodes array to the renderer.
|
|
268
|
+
* @public
|
|
269
|
+
* @param {Array.<RenderNode>} nodesArr - Render nodes array.
|
|
270
|
+
*/
|
|
271
|
+
addNodes(nodesArr: RenderNode[]): void;
|
|
272
|
+
getMaxMSAA(internalFormat: string): any;
|
|
273
|
+
getMSAA(): number;
|
|
274
|
+
/**
|
|
275
|
+
* TODO: replace with cache friendly linked list by BillboardHandler, LabelHandler etc.
|
|
276
|
+
*/
|
|
277
|
+
enqueueEntityCollectionsToDraw(ecArr: EntityCollection[]): void;
|
|
278
|
+
/**
|
|
279
|
+
* Draws opaque items entity collections.
|
|
280
|
+
* @protected
|
|
281
|
+
*/
|
|
282
|
+
protected _drawOpaqueEntityCollections(): void;
|
|
283
|
+
/**
|
|
284
|
+
* Draws transparent items entity collections.
|
|
285
|
+
* @protected
|
|
286
|
+
*/
|
|
287
|
+
protected _drawTransparentEntityCollections(): void;
|
|
288
|
+
protected _clearEntityCollectionQueue(): void;
|
|
289
|
+
/**
|
|
290
|
+
* Draw nodes.
|
|
291
|
+
* @public
|
|
292
|
+
*/
|
|
293
|
+
draw(): void;
|
|
294
|
+
protected _screenFrameMSAA(): void;
|
|
295
|
+
protected _screenFrameNoMSAA(): void;
|
|
296
|
+
/**
|
|
297
|
+
* Draw picking objects framebuffer.
|
|
298
|
+
* @private
|
|
299
|
+
*/
|
|
300
|
+
protected _drawPickingBuffer(): void;
|
|
301
|
+
/**
|
|
302
|
+
* Draw picking objects framebuffer.
|
|
303
|
+
* @protected
|
|
304
|
+
*/
|
|
305
|
+
protected _drawDistanceBuffer(): void;
|
|
306
|
+
protected _drawDepthBuffer(): void;
|
|
307
|
+
protected _readPickingBuffer_webgl1: () => void;
|
|
308
|
+
protected _readPickingBuffer_webgl2: () => void;
|
|
309
|
+
protected _readDistanceBuffer_webgl1: () => void;
|
|
310
|
+
protected _readDistanceBuffer_webgl2: () => void;
|
|
311
|
+
readPickingColor(x: number, y: number, outColor: NumberArray3 | Uint8Array): void;
|
|
312
|
+
readDistanceColor(x: number, y: number, outColor: NumberArray3 | Uint8Array): void;
|
|
313
|
+
/**
|
|
314
|
+
* Function starts renderer
|
|
315
|
+
* @public
|
|
316
|
+
*/
|
|
317
|
+
start(): void;
|
|
318
|
+
destroy(): void;
|
|
319
|
+
}
|
|
320
|
+
export { Renderer };
|