@openglobus/og 0.19.3 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/css/og.css +18 -4
- package/lib/@openglobus/js/Clock.d.ts +106 -0
- package/lib/@openglobus/js/Deferred.d.ts +6 -0
- package/lib/@openglobus/js/Events.d.ts +90 -0
- package/lib/@openglobus/js/Extent.d.ts +145 -0
- package/lib/@openglobus/js/Globe.d.ts +134 -0
- package/lib/@openglobus/js/ImageCanvas.d.ts +128 -0
- package/lib/@openglobus/js/Lock.d.ts +15 -0
- package/lib/@openglobus/js/LonLat.d.ts +128 -0
- package/lib/@openglobus/js/Object3d.d.ts +64 -0
- package/lib/@openglobus/js/Popup.d.ts +46 -0
- package/lib/@openglobus/js/QueueArray.d.ts +16 -0
- package/lib/@openglobus/js/Rectangle.d.ts +76 -0
- package/lib/@openglobus/js/Stack.d.ts +20 -0
- package/lib/@openglobus/js/astro/astro.d.ts +39 -0
- package/lib/@openglobus/js/astro/earth.d.ts +8 -0
- package/lib/@openglobus/js/astro/jd.d.ts +234 -0
- package/lib/@openglobus/js/astro/orbit.d.ts +5 -0
- package/lib/@openglobus/js/astro/rotation.d.ts +2 -0
- package/lib/@openglobus/js/bv/Box.d.ts +32 -0
- package/lib/@openglobus/js/bv/Sphere.d.ts +37 -0
- package/lib/@openglobus/js/bv/index.d.ts +3 -0
- package/lib/@openglobus/js/camera/Camera.d.ts +314 -0
- package/lib/@openglobus/js/camera/Frustum.d.ts +139 -0
- package/lib/@openglobus/js/camera/PlanetCamera.d.ts +234 -0
- package/lib/@openglobus/js/camera/index.d.ts +3 -0
- package/lib/@openglobus/js/cons.d.ts +40 -0
- package/lib/@openglobus/js/control/Atmosphere.d.ts +16 -0
- package/lib/@openglobus/js/control/CompassButton.d.ts +16 -0
- package/lib/@openglobus/js/control/Control.d.ts +100 -0
- package/lib/@openglobus/js/control/DebugInfo.d.ts +25 -0
- package/lib/@openglobus/js/control/DrawingSwitcher.d.ts +13 -0
- package/lib/@openglobus/js/control/EarthCoordinates.d.ts +41 -0
- package/lib/@openglobus/js/control/EarthNavigation.d.ts +50 -0
- package/lib/@openglobus/js/control/GeoImageDragControl.d.ts +22 -0
- package/lib/@openglobus/js/control/KeyboardNavigation.d.ts +28 -0
- package/lib/@openglobus/js/control/LayerAnimation.d.ts +71 -0
- package/lib/@openglobus/js/control/LayerSwitcher.d.ts +36 -0
- package/lib/@openglobus/js/control/Lighting.d.ts +53 -0
- package/lib/@openglobus/js/control/MouseNavigation.d.ts +64 -0
- package/lib/@openglobus/js/control/MouseWheelZoomControl.d.ts +44 -0
- package/lib/@openglobus/js/control/RulerSwitcher.d.ts +17 -0
- package/lib/@openglobus/js/control/ScaleControl.d.ts +24 -0
- package/lib/@openglobus/js/control/SegmentBoundVisualization.d.ts +12 -0
- package/lib/@openglobus/js/control/ShowFps.d.ts +9 -0
- package/lib/@openglobus/js/control/SimpleNavigation.d.ts +25 -0
- package/lib/@openglobus/js/control/SimpleSkyBackground.d.ts +17 -0
- package/lib/@openglobus/js/control/Sun.d.ts +33 -0
- package/lib/@openglobus/js/control/ToggleWireframe.d.ts +14 -0
- package/lib/@openglobus/js/control/TouchNavigation.d.ts +52 -0
- package/lib/@openglobus/js/control/ZoomControl.d.ts +27 -0
- package/lib/@openglobus/js/control/drawing/DrawingControl.d.ts +12 -0
- package/lib/@openglobus/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
- package/lib/@openglobus/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfile.d.ts +77 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileButtonsView.d.ts +14 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileControl.d.ts +33 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileLegend.d.ts +20 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileScene.d.ts +80 -0
- package/lib/@openglobus/js/control/elevationProfile/ElevationProfileView.d.ts +63 -0
- package/lib/@openglobus/js/control/elevationProfile/PointListDialog.d.ts +12 -0
- package/lib/@openglobus/js/control/heightRuler/HeightRuler.d.ts +7 -0
- package/lib/@openglobus/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
- package/lib/@openglobus/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
- package/lib/@openglobus/js/control/index.d.ts +29 -0
- package/lib/@openglobus/js/control/ruler/Ruler.d.ts +13 -0
- package/lib/@openglobus/js/control/ruler/RulerScene.d.ts +88 -0
- package/lib/@openglobus/js/control/selection/Selection.d.ts +55 -0
- package/lib/@openglobus/js/control/selection/SelectionScene.d.ts +44 -0
- package/lib/@openglobus/js/control/timeline/TimelineControl.d.ts +18 -0
- package/lib/@openglobus/js/control/timeline/TimelineModel.d.ts +41 -0
- package/lib/@openglobus/js/control/timeline/TimelineView.d.ts +85 -0
- package/lib/@openglobus/js/control/timeline/timelineUtils.d.ts +12 -0
- package/lib/@openglobus/js/control/visibleExtent/drawnode.d.ts +7 -0
- package/lib/@openglobus/js/ellipsoid/Ellipsoid.d.ts +193 -0
- package/lib/@openglobus/js/ellipsoid/index.d.ts +3 -0
- package/lib/@openglobus/js/ellipsoid/wgs84.d.ts +6 -0
- package/lib/@openglobus/js/entity/BaseBillboard.d.ts +222 -0
- package/lib/@openglobus/js/entity/BaseBillboardHandler.d.ts +81 -0
- package/lib/@openglobus/js/entity/Billboard.d.ts +113 -0
- package/lib/@openglobus/js/entity/BillboardHandler.d.ts +15 -0
- package/lib/@openglobus/js/entity/Entity.d.ts +354 -0
- package/lib/@openglobus/js/entity/EntityCollection.d.ts +363 -0
- package/lib/@openglobus/js/entity/GeoObject.d.ts +152 -0
- package/lib/@openglobus/js/entity/GeoObjectHandler.d.ts +104 -0
- package/lib/@openglobus/js/entity/Geometry.d.ts +124 -0
- package/lib/@openglobus/js/entity/GeometryHandler.d.ts +84 -0
- package/lib/@openglobus/js/entity/Label.d.ts +214 -0
- package/lib/@openglobus/js/entity/LabelHandler.d.ts +65 -0
- package/lib/@openglobus/js/entity/LabelWorker.d.ts +15 -0
- package/lib/@openglobus/js/entity/PointCloud.d.ts +179 -0
- package/lib/@openglobus/js/entity/PointCloudHandler.d.ts +42 -0
- package/lib/@openglobus/js/entity/Polyline.d.ts +345 -0
- package/lib/@openglobus/js/entity/PolylineHandler.d.ts +22 -0
- package/lib/@openglobus/js/entity/Ray.d.ts +133 -0
- package/lib/@openglobus/js/entity/RayHandler.d.ts +70 -0
- package/lib/@openglobus/js/entity/Strip.d.ts +139 -0
- package/lib/@openglobus/js/entity/StripHandler.d.ts +42 -0
- package/lib/@openglobus/js/entity/index.d.ts +10 -0
- package/lib/@openglobus/js/index.d.ts +33 -0
- package/lib/@openglobus/js/input/KeyboardHandler.d.ts +33 -0
- package/lib/@openglobus/js/input/MouseHandler.d.ts +16 -0
- package/lib/@openglobus/js/input/TouchHandler.d.ts +11 -0
- package/lib/@openglobus/js/input/input.d.ts +3 -0
- package/lib/@openglobus/js/layer/BaseGeoImage.d.ts +145 -0
- package/lib/@openglobus/js/layer/Bing.d.ts +4 -0
- package/lib/@openglobus/js/layer/CanvasTiles.d.ts +103 -0
- package/lib/@openglobus/js/layer/GeoImage.d.ts +61 -0
- package/lib/@openglobus/js/layer/GeoTexture2d.d.ts +17 -0
- package/lib/@openglobus/js/layer/GeoVideo.d.ts +68 -0
- package/lib/@openglobus/js/layer/KML.d.ts +72 -0
- package/lib/@openglobus/js/layer/Layer.d.ts +415 -0
- package/lib/@openglobus/js/layer/Material.d.ts +34 -0
- package/lib/@openglobus/js/layer/OpenStreetMap.d.ts +4 -0
- package/lib/@openglobus/js/layer/Vector.d.ts +246 -0
- package/lib/@openglobus/js/layer/WMS.d.ts +75 -0
- package/lib/@openglobus/js/layer/XYZ.d.ts +148 -0
- package/lib/@openglobus/js/layer/index.d.ts +12 -0
- package/lib/@openglobus/js/light/LightSource.d.ts +174 -0
- package/lib/@openglobus/js/math/Line2.d.ts +11 -0
- package/lib/@openglobus/js/math/Line3.d.ts +28 -0
- package/lib/@openglobus/js/math/Mat3.d.ts +77 -0
- package/lib/@openglobus/js/math/Mat4.d.ts +195 -0
- package/lib/@openglobus/js/math/Plane.d.ts +20 -0
- package/lib/@openglobus/js/math/Quat.d.ts +373 -0
- package/lib/@openglobus/js/math/Ray.d.ts +76 -0
- package/lib/@openglobus/js/math/Vec2.d.ts +310 -0
- package/lib/@openglobus/js/math/Vec3.d.ts +472 -0
- package/lib/@openglobus/js/math/Vec4.d.ts +163 -0
- package/lib/@openglobus/js/math/coder.d.ts +51 -0
- package/lib/@openglobus/js/math/index.d.ts +11 -0
- package/lib/@openglobus/js/math.d.ts +266 -0
- package/lib/@openglobus/js/mercator.d.ts +92 -0
- package/lib/@openglobus/js/proj/EPSG3857.d.ts +9 -0
- package/lib/@openglobus/js/proj/EPSG4326.d.ts +9 -0
- package/lib/@openglobus/js/proj/Proj.d.ts +43 -0
- package/lib/@openglobus/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
- package/lib/@openglobus/js/quadTree/EarthQuadTreeStrategy.d.ts +9 -0
- package/lib/@openglobus/js/quadTree/EntityCollectionNode.d.ts +54 -0
- package/lib/@openglobus/js/quadTree/MarsQuadTreeStrategy.d.ts +11 -0
- package/lib/@openglobus/js/quadTree/Node.d.ts +80 -0
- package/lib/@openglobus/js/quadTree/QuadTreeStrategy.d.ts +28 -0
- package/lib/@openglobus/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
- package/lib/@openglobus/js/quadTree/index.d.ts +12 -0
- package/lib/@openglobus/js/quadTree/quadTree.d.ts +40 -0
- package/lib/@openglobus/js/renderer/Renderer.d.ts +319 -0
- package/lib/@openglobus/js/renderer/RendererEvents.d.ts +240 -0
- package/lib/@openglobus/js/scene/Axes.d.ts +12 -0
- package/lib/@openglobus/js/scene/BaseNode.d.ts +61 -0
- package/lib/@openglobus/js/scene/Planet.d.ts +652 -0
- package/lib/@openglobus/js/scene/RenderNode.d.ts +150 -0
- package/lib/@openglobus/js/scene/SkyBox.d.ts +13 -0
- package/lib/@openglobus/js/scene/index.d.ts +5 -0
- package/lib/@openglobus/js/segment/Segment.d.ts +288 -0
- package/lib/@openglobus/js/segment/SegmentLonLat.d.ts +44 -0
- package/lib/@openglobus/js/segment/SegmentLonLatWgs84.d.ts +10 -0
- package/lib/@openglobus/js/segment/Slice.d.ts +13 -0
- package/lib/@openglobus/js/segment/segmentHelper.d.ts +18 -0
- package/lib/@openglobus/js/shaders/atmos.d.ts +4 -0
- package/lib/@openglobus/js/shaders/billboard.d.ts +3 -0
- package/lib/@openglobus/js/shaders/bloom.d.ts +2 -0
- package/lib/@openglobus/js/shaders/blur.d.ts +3 -0
- package/lib/@openglobus/js/shaders/depth.d.ts +2 -0
- package/lib/@openglobus/js/shaders/drawnode.d.ts +8 -0
- package/lib/@openglobus/js/shaders/geoObject.d.ts +3 -0
- package/lib/@openglobus/js/shaders/label.d.ts +4 -0
- package/lib/@openglobus/js/shaders/lumFilter.d.ts +2 -0
- package/lib/@openglobus/js/shaders/pointCloud.d.ts +2 -0
- package/lib/@openglobus/js/shaders/polyline.d.ts +3 -0
- package/lib/@openglobus/js/shaders/ray.d.ts +2 -0
- package/lib/@openglobus/js/shaders/screenFrame.d.ts +2 -0
- package/lib/@openglobus/js/shaders/skybox.d.ts +2 -0
- package/lib/@openglobus/js/shaders/toneMapping.d.ts +2 -0
- package/lib/@openglobus/js/shaders/utils.d.ts +1 -0
- package/lib/@openglobus/js/terrain/BilTerrain.d.ts +18 -0
- package/lib/@openglobus/js/terrain/EmptyTerrain.d.ts +113 -0
- package/lib/@openglobus/js/terrain/Geoid.d.ts +33 -0
- package/lib/@openglobus/js/terrain/GlobusRgbTerrain.d.ts +6 -0
- package/lib/@openglobus/js/terrain/GlobusTerrain.d.ts +137 -0
- package/lib/{js/terrain/MapboxTerrain.d.ts → @openglobus/js/terrain/RgbTerrain.d.ts} +6 -5
- package/lib/@openglobus/js/terrain/index.d.ts +6 -0
- package/lib/@openglobus/js/ui/Button.d.ts +32 -0
- package/lib/@openglobus/js/ui/ButtonGroup.d.ts +16 -0
- package/lib/@openglobus/js/ui/Color.d.ts +22 -0
- package/lib/@openglobus/js/ui/Dialog.d.ts +55 -0
- package/lib/@openglobus/js/ui/Slider.d.ts +38 -0
- package/lib/@openglobus/js/ui/ToggleButton.d.ts +20 -0
- package/lib/@openglobus/js/ui/View.d.ts +37 -0
- package/lib/@openglobus/js/ui/icons.d.ts +1 -0
- package/lib/@openglobus/js/utils/BaseWorker.d.ts +14 -0
- package/lib/@openglobus/js/utils/FontAtlas.d.ts +82 -0
- package/lib/@openglobus/js/utils/GeoImageCreator.d.ts +34 -0
- package/lib/@openglobus/js/utils/ImagesCacheManager.d.ts +22 -0
- package/lib/@openglobus/js/utils/Loader.d.ts +63 -0
- package/lib/@openglobus/js/utils/NormalMapCreator.d.ts +52 -0
- package/lib/@openglobus/js/utils/PlainSegmentWorker.d.ts +24 -0
- package/lib/@openglobus/js/utils/TerrainWorker.d.ts +28 -0
- package/lib/@openglobus/js/utils/TextureAtlas.d.ts +113 -0
- package/lib/@openglobus/js/utils/VectorTileCreator.d.ts +18 -0
- package/lib/@openglobus/js/utils/colorTable.d.ts +3 -0
- package/lib/@openglobus/js/utils/earcut.d.ts +7 -0
- package/lib/@openglobus/js/utils/objParser.d.ts +24 -0
- package/lib/@openglobus/js/utils/shared.d.ts +263 -0
- package/lib/@openglobus/js/utils/units.d.ts +16 -0
- package/lib/@openglobus/js/webgl/BaseFramebuffer.d.ts +53 -0
- package/lib/@openglobus/js/webgl/Framebuffer.d.ts +69 -0
- package/lib/@openglobus/js/webgl/Handler.d.ts +473 -0
- package/lib/@openglobus/js/webgl/Multisample.d.ts +27 -0
- package/lib/@openglobus/js/webgl/Program.d.ts +159 -0
- package/lib/@openglobus/js/webgl/ProgramController.d.ts +86 -0
- package/lib/@openglobus/js/webgl/index.d.ts +6 -0
- package/lib/@openglobus/js/webgl/types.d.ts +9 -0
- package/lib/@openglobus/js/webgl/variableHandlers.d.ts +22 -0
- package/lib/@openglobus/og.css +1 -1
- package/lib/@openglobus/og.esm.js +1 -1
- package/lib/@openglobus/og.esm.js.map +1 -1
- package/lib/@openglobus/og.umd.js +1 -1
- package/lib/@openglobus/og.umd.js.map +1 -1
- package/lib/js/Extent.js +2 -2
- package/lib/js/Globe.d.ts +1 -1
- package/lib/js/Object3d.d.ts +16 -1
- package/lib/js/Object3d.js +66 -1
- package/lib/js/astro/jd.js +26 -26
- package/lib/js/camera/Frustum.d.ts +1 -1
- package/lib/js/camera/Frustum.js +3 -2
- package/lib/js/control/DebugInfo.js +19 -18
- package/lib/js/control/Lighting.d.ts +4 -0
- package/lib/js/control/Lighting.js +51 -12
- package/lib/js/control/SimpleSkyBackground.d.ts +2 -0
- package/lib/js/control/SimpleSkyBackground.js +13 -3
- package/lib/js/control/drawing/PolygonDrawingScene.js +2 -2
- package/lib/js/control/timeline/timelineUtils.js +32 -32
- package/lib/js/control/visibleExtent/drawnode.js +1 -1
- package/lib/js/entity/GeoObject.d.ts +20 -6
- package/lib/js/entity/GeoObject.js +44 -4
- package/lib/js/entity/GeoObjectHandler.d.ts +6 -1
- package/lib/js/entity/GeoObjectHandler.js +58 -6
- package/lib/js/entity/Geometry.d.ts +24 -11
- package/lib/js/entity/Geometry.js +17 -9
- package/lib/js/entity/GeometryHandler.js +5 -5
- package/lib/js/entity/Label.d.ts +7 -0
- package/lib/js/entity/Label.js +11 -0
- package/lib/js/entity/Polyline.d.ts +15 -7
- package/lib/js/entity/Polyline.js +54 -6
- package/lib/js/entity/Strip.d.ts +12 -0
- package/lib/js/entity/Strip.js +16 -0
- package/lib/js/entity/StripHandler.js +1 -1
- package/lib/js/entity/index.d.ts +10 -11
- package/lib/js/entity/index.js +10 -11
- package/lib/js/index.d.ts +5 -5
- package/lib/js/index.js +5 -5
- package/lib/js/layer/Bing.d.ts +4 -0
- package/lib/js/layer/Bing.js +40 -0
- package/lib/js/layer/GeoImage.d.ts +1 -1
- package/lib/js/layer/GeoVideo.d.ts +1 -1
- package/lib/js/layer/Layer.d.ts +1 -1
- package/lib/js/layer/Layer.js +2 -2
- package/lib/js/layer/OpenStreetMap.d.ts +4 -0
- package/lib/js/layer/OpenStreetMap.js +19 -0
- package/lib/js/layer/Vector.d.ts +3 -0
- package/lib/js/layer/Vector.js +3 -3
- package/lib/js/layer/index.d.ts +12 -11
- package/lib/js/layer/index.js +12 -11
- package/lib/js/math/Mat4.js +18 -17
- package/lib/js/mercator.js +2 -1
- package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +4 -5
- package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +3 -0
- package/lib/js/quadTree/EarthQuadTreeStrategy.js +40 -5
- package/lib/js/quadTree/EntityCollectionNode.d.ts +2 -2
- package/lib/js/quadTree/EntityCollectionNode.js +13 -14
- package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +5 -0
- package/lib/js/quadTree/MarsQuadTreeStrategy.js +31 -5
- package/lib/js/quadTree/Node.d.ts +2 -1
- package/lib/js/quadTree/Node.js +38 -28
- package/lib/js/quadTree/QuadTreeStrategy.d.ts +3 -0
- package/lib/js/quadTree/QuadTreeStrategy.js +17 -0
- package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +3 -3
- package/lib/js/renderer/Renderer.js +1 -0
- package/lib/js/scene/Axes.js +4 -4
- package/lib/js/scene/Planet.js +6 -4
- package/lib/js/segment/Segment.d.ts +12 -9
- package/lib/js/segment/Segment.js +47 -24
- package/lib/js/segment/SegmentLonLat.d.ts +1 -5
- package/lib/js/segment/SegmentLonLat.js +8 -100
- package/lib/js/segment/SegmentLonLatWgs84.js +5 -3
- package/lib/js/shaders/billboard.js +4 -4
- package/lib/js/shaders/drawnode.js +16 -19
- package/lib/js/shaders/geoObject.js +10 -11
- package/lib/js/shaders/ray.js +7 -3
- package/lib/js/terrain/BilTerrain.d.ts +1 -1
- package/lib/js/terrain/BilTerrain.js +7 -6
- package/lib/js/terrain/EmptyTerrain.d.ts +7 -0
- package/lib/js/terrain/EmptyTerrain.js +7 -0
- package/lib/js/terrain/GlobusRgbTerrain.d.ts +6 -0
- package/lib/js/terrain/GlobusRgbTerrain.js +25 -0
- package/lib/js/terrain/GlobusTerrain.d.ts +5 -5
- package/lib/js/terrain/GlobusTerrain.js +35 -30
- package/lib/js/terrain/RgbTerrain.d.ts +22 -0
- package/lib/js/terrain/RgbTerrain.js +415 -0
- package/lib/js/terrain/index.d.ts +3 -2
- package/lib/js/terrain/index.js +3 -2
- package/lib/js/ui/Color.d.ts +22 -0
- package/lib/js/ui/Color.js +58 -0
- package/lib/js/utils/GeoImageCreator.js +1 -1
- package/lib/js/utils/NormalMapCreator.js +1 -1
- package/lib/js/utils/VectorTileCreator.js +3 -3
- package/lib/js/utils/objParser.js +3 -3
- package/lib/js/utils/shared.d.ts +3 -9
- package/lib/js/utils/shared.js +24 -9
- package/package.json +26 -18
- package/lib/js/terrain/MapboxTerrain.js +0 -298
package/lib/js/Extent.js
CHANGED
|
@@ -74,8 +74,8 @@ export class Extent {
|
|
|
74
74
|
* @returns {Extent} -
|
|
75
75
|
*/
|
|
76
76
|
static fromTile(x, y, z, width = mercator.POLE_DOUBLE, height = mercator.POLE_DOUBLE) {
|
|
77
|
-
const H = Math.pow(2, z);
|
|
78
|
-
const W = Math.pow(2, z);
|
|
77
|
+
const H = 1 << z; //Math.pow(2, z);
|
|
78
|
+
const W = H; //Math.pow(2, z);
|
|
79
79
|
const lnSize = width / W;
|
|
80
80
|
const ltSize = height / H;
|
|
81
81
|
const left = -width * 0.5 + x * lnSize, top = height * 0.5 - y * ltSize, bottom = top - ltSize, right = left + lnSize;
|
package/lib/js/Globe.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { Sun } from "./control/Sun";
|
|
|
9
9
|
import { HTMLDivElementExt, Renderer } from "./renderer/Renderer";
|
|
10
10
|
import { RenderNode } from "./scene/RenderNode";
|
|
11
11
|
import { Extent } from "./Extent";
|
|
12
|
-
interface IGlobeParams {
|
|
12
|
+
export interface IGlobeParams {
|
|
13
13
|
attributionContainer?: HTMLElement;
|
|
14
14
|
target?: string | HTMLElement;
|
|
15
15
|
skybox?: RenderNode;
|
package/lib/js/Object3d.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypedArray } from './utils/shared';
|
|
2
|
-
import { NumberArray3 } from './math/Vec3';
|
|
2
|
+
import { NumberArray3, Vec3 } from './math/Vec3';
|
|
3
3
|
interface IObject3dParams {
|
|
4
4
|
name?: string;
|
|
5
5
|
vertices?: number[];
|
|
@@ -41,6 +41,21 @@ declare class Object3d {
|
|
|
41
41
|
static getNormals(vertices: number[]): number[];
|
|
42
42
|
static createSphere(lonBands?: number, latBands?: number, radius?: number, offsetX?: number, offsetY?: number, offsetZ?: number): Object3d;
|
|
43
43
|
static createDisc(radius?: number, height?: number, radialSegments?: number, isTop?: boolean, startIndex?: number, offsetX?: number, offsetY?: number, offsetZ?: number): Object3d;
|
|
44
|
+
/**
|
|
45
|
+
* Returns scale parameters for a frustum geoObject created with only Object3d.createFrustum();
|
|
46
|
+
* @param length
|
|
47
|
+
* @param horizontalAngle
|
|
48
|
+
* @param verticalAngle
|
|
49
|
+
*/
|
|
50
|
+
static getFrustumScaleByCameraAngles(length: number, horizontalAngle: number, verticalAngle: number): Vec3;
|
|
51
|
+
/**
|
|
52
|
+
* Returns scale parameters for a frustum geoObject created with only Object3d.createFrustum();
|
|
53
|
+
* @param length
|
|
54
|
+
* @param horizontalAngle
|
|
55
|
+
* @param aspectRatio
|
|
56
|
+
*/
|
|
57
|
+
static getFrustumScaleByCameraAspectRatio(length: number, horizontalAngle: number, aspectRatio: number): Vec3;
|
|
58
|
+
static createFrustum(length?: number, width?: number, height?: number, xOffset?: number, yOffset?: number, zOffset?: number): Object3d;
|
|
44
59
|
static createCylinder(radiusTop?: number, radiusBottom?: number, height?: number, radialSegments?: number, heightSegments?: number, isTop?: boolean, isBottom?: boolean, offsetX?: number, offsetY?: number, offsetZ?: number): Object3d;
|
|
45
60
|
static createCube(length?: number, height?: number, depth?: number, xOffset?: number, yOffset?: number, zOffset?: number): Object3d;
|
|
46
61
|
static createArrow(back?: number, height?: number, front?: number): Object3d;
|
package/lib/js/Object3d.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { htmlColorToFloat32Array } from './utils/shared';
|
|
2
2
|
import { Vec3 } from './math/Vec3';
|
|
3
|
-
import { MAX, MIN } from './math';
|
|
3
|
+
import { DEGREES_DOUBLE, MAX, MIN, RADIANS_HALF } from './math';
|
|
4
4
|
import { transformLeftToRightCoordinateSystem, objParser } from "./utils/objParser";
|
|
5
5
|
function getColor(color) {
|
|
6
6
|
if (color instanceof Array) {
|
|
@@ -219,6 +219,71 @@ class Object3d {
|
|
|
219
219
|
'vertices': vertices, 'normals': normals, 'indices': indices
|
|
220
220
|
});
|
|
221
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Returns scale parameters for a frustum geoObject created with only Object3d.createFrustum();
|
|
224
|
+
* @param length
|
|
225
|
+
* @param horizontalAngle
|
|
226
|
+
* @param verticalAngle
|
|
227
|
+
*/
|
|
228
|
+
static getFrustumScaleByCameraAngles(length, horizontalAngle, verticalAngle) {
|
|
229
|
+
return new Vec3(2.0 * length * Math.tan(RADIANS_HALF * horizontalAngle), 2.0 * length * Math.tan(RADIANS_HALF * verticalAngle), length);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Returns scale parameters for a frustum geoObject created with only Object3d.createFrustum();
|
|
233
|
+
* @param length
|
|
234
|
+
* @param horizontalAngle
|
|
235
|
+
* @param aspectRatio
|
|
236
|
+
*/
|
|
237
|
+
static getFrustumScaleByCameraAspectRatio(length, horizontalAngle, aspectRatio) {
|
|
238
|
+
let vAngle = DEGREES_DOUBLE * Math.atan(Math.tan(RADIANS_HALF * horizontalAngle) / aspectRatio);
|
|
239
|
+
return Object3d.getFrustumScaleByCameraAngles(length, horizontalAngle, vAngle);
|
|
240
|
+
}
|
|
241
|
+
static createFrustum(length = 1, width = 1, height = 1, xOffset = 0, yOffset = 0, zOffset = 0) {
|
|
242
|
+
width *= 0.5;
|
|
243
|
+
height *= 0.5;
|
|
244
|
+
return new Object3d({
|
|
245
|
+
vertices: [
|
|
246
|
+
//
|
|
247
|
+
//inside
|
|
248
|
+
//
|
|
249
|
+
//top
|
|
250
|
+
0 + xOffset, 0 + yOffset, 0 + zOffset,
|
|
251
|
+
-1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
|
|
252
|
+
1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
|
|
253
|
+
//bottop
|
|
254
|
+
0 + xOffset, 0 + yOffset, 0 + zOffset,
|
|
255
|
+
1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
|
|
256
|
+
-1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
|
|
257
|
+
//right
|
|
258
|
+
0 + xOffset, 0 + yOffset, 0 + zOffset,
|
|
259
|
+
1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
|
|
260
|
+
1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
|
|
261
|
+
//left
|
|
262
|
+
0 + xOffset, 0 + yOffset, 0 + zOffset,
|
|
263
|
+
-1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
|
|
264
|
+
-1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
|
|
265
|
+
//
|
|
266
|
+
// outside
|
|
267
|
+
//
|
|
268
|
+
//top
|
|
269
|
+
0 + xOffset, 0 + yOffset, 0 + zOffset,
|
|
270
|
+
1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
|
|
271
|
+
-1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
|
|
272
|
+
//bottop
|
|
273
|
+
0 + xOffset, 0 + yOffset, 0 + zOffset,
|
|
274
|
+
-1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
|
|
275
|
+
1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
|
|
276
|
+
//right
|
|
277
|
+
0 + xOffset, 0 + yOffset, 0 + zOffset,
|
|
278
|
+
1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset,
|
|
279
|
+
1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
|
|
280
|
+
//left
|
|
281
|
+
0 + xOffset, 0 + yOffset, 0 + zOffset,
|
|
282
|
+
-1 * width + xOffset, 1 * height + yOffset, -1 * length + zOffset,
|
|
283
|
+
-1 * width + xOffset, -1 * height + yOffset, -1 * length + zOffset
|
|
284
|
+
]
|
|
285
|
+
});
|
|
286
|
+
}
|
|
222
287
|
static createCylinder(radiusTop = 1.0, radiusBottom = 1.0, height = 1.0, radialSegments = 32, heightSegments = 1.0, isTop = true, isBottom = true, offsetX = 0, offsetY = 0, offsetZ = 0) {
|
|
223
288
|
let vertices = [], indices = [], normals = [];
|
|
224
289
|
let thetaStart = 0.0, thetaLength = Math.PI * 2;
|
package/lib/js/astro/jd.js
CHANGED
|
@@ -385,32 +385,32 @@ function __ls(jd, leapSeconds) {
|
|
|
385
385
|
};
|
|
386
386
|
}
|
|
387
387
|
const leapSecondsTable = [
|
|
388
|
-
__ls(2441317.5, 10.0),
|
|
389
|
-
__ls(2441499.5, 11.0),
|
|
390
|
-
__ls(2441683.5, 12.0),
|
|
391
|
-
__ls(2442048.5, 13.0),
|
|
392
|
-
__ls(2442413.5, 14.0),
|
|
393
|
-
__ls(2442778.5, 15.0),
|
|
394
|
-
__ls(2443144.5, 16.0),
|
|
395
|
-
__ls(2443509.5, 17.0),
|
|
396
|
-
__ls(2443874.5, 18.0),
|
|
397
|
-
__ls(2444239.5, 19.0),
|
|
398
|
-
__ls(2444786.5, 20.0),
|
|
399
|
-
__ls(2445151.5, 21.0),
|
|
400
|
-
__ls(2445516.5, 22.0),
|
|
401
|
-
__ls(2446247.5, 23.0),
|
|
402
|
-
__ls(2447161.5, 24.0),
|
|
403
|
-
__ls(2447892.5, 25.0),
|
|
404
|
-
__ls(2448257.5, 26.0),
|
|
405
|
-
__ls(2448804.5, 27.0),
|
|
406
|
-
__ls(2449169.5, 28.0),
|
|
407
|
-
__ls(2449534.5, 29.0),
|
|
408
|
-
__ls(2450083.5, 30.0),
|
|
409
|
-
__ls(2450630.5, 31.0),
|
|
410
|
-
__ls(2451179.5, 32.0),
|
|
411
|
-
__ls(2453736.5, 33.0),
|
|
412
|
-
__ls(2454832.5, 34.0),
|
|
413
|
-
__ls(2456109.5, 35.0),
|
|
388
|
+
__ls(2441317.5, 10.0), // 1972-01-01T00:00:00.000Z
|
|
389
|
+
__ls(2441499.5, 11.0), // 1972-07-01T00:00:00.000Z
|
|
390
|
+
__ls(2441683.5, 12.0), // 1973-01-01T00:00:00.000Z
|
|
391
|
+
__ls(2442048.5, 13.0), // 1974-01-01T00:00:00.000Z
|
|
392
|
+
__ls(2442413.5, 14.0), // 1975-01-01T00:00:00.000Z
|
|
393
|
+
__ls(2442778.5, 15.0), // 1976-01-01T00:00:00.000Z
|
|
394
|
+
__ls(2443144.5, 16.0), // 1977-01-01T00:00:00.000Z
|
|
395
|
+
__ls(2443509.5, 17.0), // 1978-01-01T00:00:00.000Z
|
|
396
|
+
__ls(2443874.5, 18.0), // 1979-01-01T00:00:00.000Z
|
|
397
|
+
__ls(2444239.5, 19.0), // 1980-01-01T00:00:00.000Z
|
|
398
|
+
__ls(2444786.5, 20.0), // 1981-07-01T00:00:00.000Z
|
|
399
|
+
__ls(2445151.5, 21.0), // 1982-07-01T00:00:00.000Z
|
|
400
|
+
__ls(2445516.5, 22.0), // 1983-01-01T00:00:00.000Z
|
|
401
|
+
__ls(2446247.5, 23.0), // 1985-07-01T00:00:00.000Z
|
|
402
|
+
__ls(2447161.5, 24.0), // 1988-01-01T00:00:00.000Z
|
|
403
|
+
__ls(2447892.5, 25.0), // 1990-01-01T00:00:00.000Z
|
|
404
|
+
__ls(2448257.5, 26.0), // 1991-01-01T00:00:00.000Z
|
|
405
|
+
__ls(2448804.5, 27.0), // 1992-07-01T00:00:00.000Z
|
|
406
|
+
__ls(2449169.5, 28.0), // 1993-07-01T00:00:00.000Z
|
|
407
|
+
__ls(2449534.5, 29.0), // 1994-07-01T00:00:00.000Z
|
|
408
|
+
__ls(2450083.5, 30.0), // 1996-01-01T00:00:00.000Z
|
|
409
|
+
__ls(2450630.5, 31.0), // 1997-07-01T00:00:00.000Z
|
|
410
|
+
__ls(2451179.5, 32.0), // 1999-01-01T00:00:00.000Z
|
|
411
|
+
__ls(2453736.5, 33.0), // 2006-01-01T00:00:00.000Z
|
|
412
|
+
__ls(2454832.5, 34.0), // 2009-01-01T00:00:00.000Z
|
|
413
|
+
__ls(2456109.5, 35.0), // 2012-07-01T00:00:00.000Z
|
|
414
414
|
__ls(2457204.5, 36.0) // 2015-07-01T00:00:00.000Z
|
|
415
415
|
];
|
|
416
416
|
export const J2000TAI = UTCtoTAI(J2000);
|
|
@@ -87,7 +87,7 @@ declare class Frustum {
|
|
|
87
87
|
* Sets up camera projection matrix.
|
|
88
88
|
* @public
|
|
89
89
|
* @param {number} angle - Camera's view angle.
|
|
90
|
-
* @param {number} aspect - Screen aspect
|
|
90
|
+
* @param {number} aspect - Screen aspect ratio.
|
|
91
91
|
* @param {number} near - Near camera distance.
|
|
92
92
|
* @param {number} far - Far camera distance.
|
|
93
93
|
*/
|
package/lib/js/camera/Frustum.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Mat4 } from "../math/Mat4";
|
|
2
|
+
import { RADIANS_HALF } from "../math";
|
|
2
3
|
function planeNormalize(plane) {
|
|
3
4
|
let t = 1.0 / Math.sqrt(plane[0] * plane[0] + plane[1] * plane[1] + plane[2] * plane[2]);
|
|
4
5
|
plane[0] *= t;
|
|
@@ -59,12 +60,12 @@ class Frustum {
|
|
|
59
60
|
* Sets up camera projection matrix.
|
|
60
61
|
* @public
|
|
61
62
|
* @param {number} angle - Camera's view angle.
|
|
62
|
-
* @param {number} aspect - Screen aspect
|
|
63
|
+
* @param {number} aspect - Screen aspect ratio.
|
|
63
64
|
* @param {number} near - Near camera distance.
|
|
64
65
|
* @param {number} far - Far camera distance.
|
|
65
66
|
*/
|
|
66
67
|
setProjectionMatrix(angle, aspect, near, far) {
|
|
67
|
-
this.top = near * Math.tan(
|
|
68
|
+
this.top = near * Math.tan(angle * RADIANS_HALF);
|
|
68
69
|
this.bottom = -this.top;
|
|
69
70
|
this.right = this.top * aspect;
|
|
70
71
|
this.left = -this.right;
|
|
@@ -96,27 +96,28 @@ export class DebugInfo extends Control {
|
|
|
96
96
|
ctx.strokeStyle = 'black';
|
|
97
97
|
ctx.stroke();
|
|
98
98
|
let size;
|
|
99
|
-
if (material.segment.isPole) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
99
|
+
// if (material.segment.isPole) {
|
|
100
|
+
// let ext = material.segment.getExtentLonLat();
|
|
101
|
+
//
|
|
102
|
+
// ctx.fillStyle = 'black';
|
|
103
|
+
// ctx.font = 'normal ' + 29 + 'px Verdana';
|
|
104
|
+
//
|
|
105
|
+
// ctx.textAlign = 'center';
|
|
106
|
+
// ctx.fillText(`${ext.northEast.lon.toFixed(3)} ${ext.northEast.lat.toFixed(3)}`, cnv.width / 2, cnv.height / 2 + 20);
|
|
107
|
+
// ctx.fillText(`${ext.southWest.lon.toFixed(3)} ${ext.southWest.lat.toFixed(3)}`, cnv.width / 2, cnv.height / 2 - 20);
|
|
108
|
+
// } else {
|
|
109
|
+
//Draw text
|
|
110
|
+
if (material.segment.tileZoom > 14) {
|
|
111
|
+
size = "26";
|
|
106
112
|
}
|
|
107
113
|
else {
|
|
108
|
-
|
|
109
|
-
if (material.segment.tileZoom > 14) {
|
|
110
|
-
size = "26";
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
size = "32";
|
|
114
|
-
}
|
|
115
|
-
ctx.fillStyle = 'black';
|
|
116
|
-
ctx.font = 'normal ' + size + 'px Verdana';
|
|
117
|
-
ctx.textAlign = 'center';
|
|
118
|
-
ctx.fillText(material.segment.tileX + "," + material.segment.tileY + "," + material.segment.tileZoom, cnv.width / 2, cnv.height / 2);
|
|
114
|
+
size = "32";
|
|
119
115
|
}
|
|
116
|
+
ctx.fillStyle = 'black';
|
|
117
|
+
ctx.font = 'normal ' + size + 'px Verdana';
|
|
118
|
+
ctx.textAlign = 'center';
|
|
119
|
+
ctx.fillText(material.segment.tileX + "," + material.segment.tileY + "," + material.segment.tileZoom, cnv.width / 2, cnv.height / 2);
|
|
120
|
+
//}
|
|
120
121
|
//Draw canvas tile
|
|
121
122
|
applyCanvas(cnv);
|
|
122
123
|
}
|
|
@@ -4,6 +4,7 @@ import { Layer } from "../layer/Layer";
|
|
|
4
4
|
import { Slider } from "../ui/Slider";
|
|
5
5
|
import { ToggleButton } from "../ui/ToggleButton";
|
|
6
6
|
import { View } from '../ui/View';
|
|
7
|
+
import { Color } from "../ui/Color";
|
|
7
8
|
interface ILightingParams extends IControlParams {
|
|
8
9
|
}
|
|
9
10
|
/**
|
|
@@ -16,6 +17,8 @@ export declare class Lighting extends Control {
|
|
|
16
17
|
protected _panel: View<null>;
|
|
17
18
|
protected _atmosphereMaxOpacity: Slider;
|
|
18
19
|
protected _atmosphereMinOpacity: Slider;
|
|
20
|
+
protected _simpleSkyBackgroundColorOne: Color;
|
|
21
|
+
protected _simpleSkyBackgroundColorTwo: Color;
|
|
19
22
|
protected _gamma: Slider;
|
|
20
23
|
protected _exposure: Slider;
|
|
21
24
|
protected _night: Slider;
|
|
@@ -38,6 +41,7 @@ export declare class Lighting extends Control {
|
|
|
38
41
|
$ambient: HTMLElement | null;
|
|
39
42
|
$specular: HTMLElement | null;
|
|
40
43
|
$atmosphereOpacity: HTMLElement | null;
|
|
44
|
+
$simpleSkyBackground: HTMLElement | null;
|
|
41
45
|
constructor(options?: ILightingParams);
|
|
42
46
|
bindLayer(layer: Layer): void;
|
|
43
47
|
oninit(): void;
|
|
@@ -3,6 +3,7 @@ import { Dialog } from '../ui/Dialog';
|
|
|
3
3
|
import { Slider } from "../ui/Slider";
|
|
4
4
|
import { ToggleButton } from "../ui/ToggleButton";
|
|
5
5
|
import { View } from '../ui/View';
|
|
6
|
+
import { Color } from "../ui/Color";
|
|
6
7
|
const SUN_STOP_SVG_ICON = `<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 70.41" style="enable-background:new 0 0 122.88 70.41" xml:space="preserve"><g><path d="M60.91,19.12c6.95,0,13.24,2.95,17.8,7.72c4.55,4.77,7.37,11.37,7.37,18.64c0,1.94-0.2,3.83-0.58,5.65h31.61 c2.1,0,2.62,1.16,2.62,2.59c0,1.43-0.52,2.59-2.62,2.59H7.09c-2.1,0-2.62-1.16-2.62-2.59c0-1.43,0.52-2.59,2.62-2.59h29.23 c-0.38-1.82-0.58-3.71-0.58-5.65c0-7.28,2.82-13.87,7.37-18.64C47.67,22.08,53.96,19.12,60.91,19.12L60.91,19.12L60.91,19.12z M63.4,70.41c-2.1,0-2.62-1.16-2.62-2.59s0.52-2.59,2.62-2.59h56.86c2.1,0,2.62,1.16,2.62,2.59s-0.52,2.59-2.62,2.59H63.4 L63.4,70.41z M2.62,70.41c-2.1,0-2.62-1.16-2.62-2.59s0.52-2.59,2.62-2.59h29.51c2.1,0,2.62,1.16,2.62,2.59s-0.52,2.59-2.62,2.59 H2.62L2.62,70.41z M38.39,9.46c-0.78-1.35-0.32-3.07,1.03-3.85c1.35-0.78,3.07-0.32,3.85,1.03l3.62,6.27 c0.78,1.35,0.32,3.07-1.03,3.85c-1.35,0.78-3.07,0.32-3.85-1.03L38.39,9.46L38.39,9.46L38.39,9.46z M58.67,2.83 c0-1.56,1.27-2.83,2.83-2.83c1.56,0,2.83,1.27,2.83,2.83v7.24c0,1.56-1.27,2.83-2.83,2.83c-1.56,0-2.83-1.26-2.83-2.83V2.83 L58.67,2.83L58.67,2.83z M79.56,7.23c0.77-1.35,2.49-1.81,3.84-1.04c1.35,0.77,1.81,2.49,1.04,3.84l-3.62,6.27 c-0.77,1.35-2.49,1.81-3.84,1.04c-1.35-0.77-1.81-2.49-1.04-3.84L79.56,7.23L79.56,7.23L79.56,7.23z M95.45,21.48 c1.35-0.78,3.07-0.32,3.85,1.03c0.78,1.35,0.32,3.07-1.03,3.85L92,29.98c-1.35,0.78-3.07,0.32-3.85-1.03 c-0.78-1.35-0.32-3.07,1.03-3.85L95.45,21.48L95.45,21.48L95.45,21.48z M102.08,41.76c1.56,0,2.83,1.27,2.83,2.83 c0,1.56-1.27,2.83-2.83,2.83h-7.24c-1.56,0-2.83-1.26-2.83-2.83s1.26-2.83,2.83-2.83H102.08L102.08,41.76L102.08,41.76z M19.74,46.25c-1.56,0-2.83-1.27-2.83-2.83c0-1.56,1.27-2.83,2.83-2.83h7.24c1.56,0,2.83,1.26,2.83,2.83s-1.27,2.83-2.83,2.83 H19.74L19.74,46.25L19.74,46.25z M24.14,25.35c-1.35-0.77-1.81-2.49-1.04-3.84c0.77-1.35,2.49-1.81,3.84-1.04l6.27,3.62 c1.35,0.77,1.81,2.49,1.04,3.84c-0.77,1.35-2.49,1.81-3.84,1.04L24.14,25.35L24.14,25.35L24.14,25.35z"/></g></svg>`;
|
|
7
8
|
const SUN_ACTIVE_SVG_ICON = `<?xml version="1.0"?>
|
|
8
9
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
@@ -36,6 +37,9 @@ const TEMPLATE = `<div class="og-lighing">
|
|
|
36
37
|
<div class="og-option og-atmosphere-opacity">
|
|
37
38
|
</div>
|
|
38
39
|
|
|
40
|
+
<div class="og-option og-simpleskybackground">
|
|
41
|
+
</div>
|
|
42
|
+
|
|
39
43
|
<div class="og-lighting-emptyline"></div>
|
|
40
44
|
|
|
41
45
|
<div class="og-option og-gamma"></div>
|
|
@@ -118,6 +122,7 @@ export class Lighting extends Control {
|
|
|
118
122
|
this.$ambient = null;
|
|
119
123
|
this.$specular = null;
|
|
120
124
|
this.$atmosphereOpacity = null;
|
|
125
|
+
this.$simpleSkyBackground = null;
|
|
121
126
|
this._atmosphereMaxOpacity = new Slider({
|
|
122
127
|
label: "Max.opacity",
|
|
123
128
|
max: 5
|
|
@@ -126,6 +131,12 @@ export class Lighting extends Control {
|
|
|
126
131
|
label: "Min.opacity",
|
|
127
132
|
max: 5
|
|
128
133
|
});
|
|
134
|
+
this._simpleSkyBackgroundColorOne = new Color({
|
|
135
|
+
label: "Color One"
|
|
136
|
+
});
|
|
137
|
+
this._simpleSkyBackgroundColorTwo = new Color({
|
|
138
|
+
label: "Color Two"
|
|
139
|
+
});
|
|
129
140
|
this._gamma = new Slider({
|
|
130
141
|
label: "Gamma",
|
|
131
142
|
max: 5
|
|
@@ -203,6 +214,7 @@ export class Lighting extends Control {
|
|
|
203
214
|
this._panel.appendTo(this._dialog.container);
|
|
204
215
|
if (this._panel.el) {
|
|
205
216
|
this.$atmosphereOpacity = this._panel.el.querySelector(".og-atmosphere-opacity");
|
|
217
|
+
this.$simpleSkyBackground = this._panel.el.querySelector(".og-simpleskybackground");
|
|
206
218
|
this.$gamma = this._panel.el.querySelector(".og-option.og-gamma");
|
|
207
219
|
this.$exposure = this._panel.el.querySelector(".og-option.og-exposure");
|
|
208
220
|
this.$opacity = this._panel.el.querySelector(".og-option.og-opacity");
|
|
@@ -266,21 +278,27 @@ export class Lighting extends Control {
|
|
|
266
278
|
atmosphereEnabledBtn.appendTo($suncontrol);
|
|
267
279
|
if (this.planet.atmosphereEnabled) {
|
|
268
280
|
this.$atmosphereOpacity.style.display = "block";
|
|
281
|
+
this.$simpleSkyBackground.style.display = "none";
|
|
269
282
|
}
|
|
270
283
|
else {
|
|
271
284
|
this.$atmosphereOpacity.style.display = "none";
|
|
285
|
+
this.$simpleSkyBackground.style.display = "flex";
|
|
272
286
|
}
|
|
273
287
|
atmosphereEnabledBtn.events.on("change", (isActive) => {
|
|
274
288
|
this.planet.atmosphereEnabled = isActive;
|
|
275
289
|
if (this.planet.atmosphereEnabled) {
|
|
276
290
|
this.$atmosphereOpacity.style.display = "block";
|
|
291
|
+
this.$simpleSkyBackground.style.display = "none";
|
|
277
292
|
}
|
|
278
293
|
else {
|
|
279
294
|
this.$atmosphereOpacity.style.display = "none";
|
|
295
|
+
this.$simpleSkyBackground.style.display = "flex";
|
|
280
296
|
}
|
|
281
297
|
});
|
|
282
298
|
this._atmosphereMaxOpacity.appendTo(this.$atmosphereOpacity);
|
|
283
299
|
this._atmosphereMinOpacity.appendTo(this.$atmosphereOpacity);
|
|
300
|
+
this._simpleSkyBackgroundColorOne.appendTo(this.$simpleSkyBackground);
|
|
301
|
+
this._simpleSkyBackgroundColorTwo.appendTo(this.$simpleSkyBackground);
|
|
284
302
|
this._gamma.appendTo(this.$gamma);
|
|
285
303
|
this._exposure.appendTo(this.$exposure);
|
|
286
304
|
this._night.appendTo(this.$night);
|
|
@@ -295,19 +313,23 @@ export class Lighting extends Control {
|
|
|
295
313
|
this._specular_g.appendTo(this.$specular);
|
|
296
314
|
this._specular_b.appendTo(this.$specular);
|
|
297
315
|
this._shininess.appendTo(this.$specular);
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
});
|
|
316
|
+
//
|
|
317
|
+
// Screen options
|
|
318
|
+
//
|
|
302
319
|
this._gamma.value = this.planet.renderer.gamma;
|
|
303
320
|
this._gamma.events.on("change", (val) => {
|
|
304
321
|
this.planet.renderer.gamma = val;
|
|
305
322
|
});
|
|
306
|
-
this.
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
323
|
+
this._exposure.value = this.planet.renderer.exposure;
|
|
324
|
+
this._exposure.events.on("change", (val) => {
|
|
325
|
+
this.planet.renderer.exposure = val;
|
|
326
|
+
});
|
|
327
|
+
//
|
|
328
|
+
// Atmosphere parameters
|
|
329
|
+
//
|
|
330
|
+
this._atmosphereMinOpacity.value = this.planet.atmosphereMinOpacity;
|
|
331
|
+
this._atmosphereMinOpacity.events.on("change", (val) => {
|
|
332
|
+
this.planet.atmosphereMinOpacity = val;
|
|
311
333
|
});
|
|
312
334
|
this._atmosphereMaxOpacity.value = this.planet.atmosphereMaxOpacity;
|
|
313
335
|
this._atmosphereMaxOpacity.events.on("change", (val) => {
|
|
@@ -315,9 +337,26 @@ export class Lighting extends Control {
|
|
|
315
337
|
let atmos = this.planet.renderer.controls.Atmosphere;
|
|
316
338
|
atmos.opacity = val;
|
|
317
339
|
});
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
340
|
+
//
|
|
341
|
+
// Simple Sky Background parameters
|
|
342
|
+
//
|
|
343
|
+
let simpleSkyBackgroundControl = this.planet.renderer.controls.SimpleSkyBackground;
|
|
344
|
+
this._simpleSkyBackgroundColorOne.value = simpleSkyBackgroundControl.colorOne;
|
|
345
|
+
this._simpleSkyBackgroundColorOne.events.on("input", (val) => {
|
|
346
|
+
simpleSkyBackgroundControl.colorOne = val;
|
|
347
|
+
});
|
|
348
|
+
this._simpleSkyBackgroundColorTwo.value = simpleSkyBackgroundControl.colorTwo;
|
|
349
|
+
this._simpleSkyBackgroundColorTwo.events.on("input", (val) => {
|
|
350
|
+
simpleSkyBackgroundControl.colorTwo = val;
|
|
351
|
+
});
|
|
352
|
+
//
|
|
353
|
+
// Planet options
|
|
354
|
+
//
|
|
355
|
+
this._panel.el.querySelector("#layers").addEventListener("change", (e) => {
|
|
356
|
+
const l = this.planet.getLayerByName(e.target.value);
|
|
357
|
+
if (l) {
|
|
358
|
+
this.bindLayer(l);
|
|
359
|
+
}
|
|
321
360
|
});
|
|
322
361
|
this._night.events.on("change", (val) => {
|
|
323
362
|
if (this._selectedLayer) {
|
|
@@ -5,6 +5,8 @@ export declare class SimpleSkyBackground extends Control {
|
|
|
5
5
|
protected _colorOne: Float32Array;
|
|
6
6
|
protected _colorTwo: Float32Array;
|
|
7
7
|
constructor(options?: ISimpleSkyBackgroundParams);
|
|
8
|
+
get colorOne(): string;
|
|
9
|
+
get colorTwo(): string;
|
|
8
10
|
set colorOne(htmlColor: string);
|
|
9
11
|
set colorTwo(htmlColor: string);
|
|
10
12
|
oninit(): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Control } from "./Control";
|
|
2
|
-
import { htmlColorToRgb } from "../utils/shared";
|
|
2
|
+
import { htmlColorToRgb, rgbToStringHTML } from "../utils/shared";
|
|
3
3
|
import { Program } from '../webgl/Program';
|
|
4
4
|
export class SimpleSkyBackground extends Control {
|
|
5
5
|
constructor(options = {}) {
|
|
@@ -7,8 +7,18 @@ export class SimpleSkyBackground extends Control {
|
|
|
7
7
|
name: "SimpleSkyBackground",
|
|
8
8
|
...options
|
|
9
9
|
});
|
|
10
|
-
this._colorOne = new Float32Array([
|
|
11
|
-
this._colorTwo = new Float32Array([
|
|
10
|
+
this._colorOne = new Float32Array([128 / 255, 223 / 255, 255 / 255]);
|
|
11
|
+
this._colorTwo = new Float32Array([10 / 255, 15 / 255, 56 / 255]);
|
|
12
|
+
}
|
|
13
|
+
get colorOne() {
|
|
14
|
+
let c = this._colorOne;
|
|
15
|
+
let arr = [Math.round(c[0] * 255), Math.round(c[1] * 255), Math.round(c[2] * 255)];
|
|
16
|
+
return rgbToStringHTML(arr);
|
|
17
|
+
}
|
|
18
|
+
get colorTwo() {
|
|
19
|
+
let c = this._colorTwo;
|
|
20
|
+
let arr = [Math.round(c[0] * 255), Math.round(c[1] * 255), Math.round(c[2] * 255)];
|
|
21
|
+
return rgbToStringHTML(arr);
|
|
12
22
|
}
|
|
13
23
|
set colorOne(htmlColor) {
|
|
14
24
|
let rgb = htmlColorToRgb(htmlColor);
|
|
@@ -39,7 +39,7 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
39
39
|
super(options.name);
|
|
40
40
|
this._cornerDblClick = false;
|
|
41
41
|
this._onChange = (e) => {
|
|
42
|
-
if (e.geometryType === "
|
|
42
|
+
if (e.geometryType === "POLYGON") {
|
|
43
43
|
let coords = this.getCoordinates();
|
|
44
44
|
let entity = new Entity({
|
|
45
45
|
'geometry': {
|
|
@@ -179,7 +179,7 @@ class PolygonDrawingScene extends RenderNode {
|
|
|
179
179
|
this._insertCornerIndex = -1;
|
|
180
180
|
}
|
|
181
181
|
get geometryType() {
|
|
182
|
-
return "
|
|
182
|
+
return "POLYGON";
|
|
183
183
|
}
|
|
184
184
|
getCoordinates() {
|
|
185
185
|
let corners = this._cornerLayer.getEntities();
|
|
@@ -55,38 +55,38 @@ export const SCALES = [
|
|
|
55
55
|
[10.0, 10],
|
|
56
56
|
[15.0, 15],
|
|
57
57
|
[30.0, 6],
|
|
58
|
-
[60.0, 12],
|
|
59
|
-
[120.0, 12],
|
|
60
|
-
[300.0, 5],
|
|
61
|
-
[600.0, 10],
|
|
62
|
-
[900.0, 15],
|
|
63
|
-
[1800.0, 6],
|
|
64
|
-
[3600.0, 12],
|
|
65
|
-
[7200.0, 10],
|
|
66
|
-
[14400.0, 4],
|
|
67
|
-
[21600.0, 6],
|
|
68
|
-
[43200.0, 12],
|
|
69
|
-
[86400.0, 24],
|
|
70
|
-
[172800.0, 2],
|
|
71
|
-
[345600.0, 4],
|
|
72
|
-
[604800.0, 7],
|
|
73
|
-
[1296000.0, 15],
|
|
74
|
-
[2592000.0, 5],
|
|
75
|
-
[5184000.0, 6],
|
|
76
|
-
[7776000.0, 9],
|
|
77
|
-
[15552000.0, 18],
|
|
78
|
-
[31536000.0, 12],
|
|
79
|
-
[63072000.0, 2],
|
|
80
|
-
[126144000.0, 4],
|
|
81
|
-
[157680000.0, 5],
|
|
82
|
-
[315360000.0, 10],
|
|
83
|
-
[630720000.0, 2],
|
|
84
|
-
[1261440000.0, 4],
|
|
85
|
-
[1576800000.0, 5],
|
|
86
|
-
[3153600000.0, 10],
|
|
87
|
-
[6307200000.0, 2],
|
|
88
|
-
[12614400000.0, 4],
|
|
89
|
-
[15768000000.0, 5],
|
|
58
|
+
[60.0, 12], // 1min
|
|
59
|
+
[120.0, 12], // 2min
|
|
60
|
+
[300.0, 5], // 5min
|
|
61
|
+
[600.0, 10], // 10min
|
|
62
|
+
[900.0, 15], // 15min
|
|
63
|
+
[1800.0, 6], // 30min
|
|
64
|
+
[3600.0, 12], // 1hr
|
|
65
|
+
[7200.0, 10], // 2hr
|
|
66
|
+
[14400.0, 4], // 4hr
|
|
67
|
+
[21600.0, 6], // 6hr
|
|
68
|
+
[43200.0, 12], // 12hr
|
|
69
|
+
[86400.0, 24], // 24hr
|
|
70
|
+
[172800.0, 2], // 2days
|
|
71
|
+
[345600.0, 4], // 4days
|
|
72
|
+
[604800.0, 7], // 7days
|
|
73
|
+
[1296000.0, 15], // 15days
|
|
74
|
+
[2592000.0, 5], // 30days
|
|
75
|
+
[5184000.0, 6], // 60days
|
|
76
|
+
[7776000.0, 9], // 90days
|
|
77
|
+
[15552000.0, 18], // 180days
|
|
78
|
+
[31536000.0, 12], // 365days
|
|
79
|
+
[63072000.0, 2], // 2years
|
|
80
|
+
[126144000.0, 4], // 4years
|
|
81
|
+
[157680000.0, 5], // 5years
|
|
82
|
+
[315360000.0, 10], // 10years
|
|
83
|
+
[630720000.0, 2], // 20years
|
|
84
|
+
[1261440000.0, 4], // 40years
|
|
85
|
+
[1576800000.0, 5], // 50years
|
|
86
|
+
[3153600000.0, 10], // 100years
|
|
87
|
+
[6307200000.0, 2], // 200years
|
|
88
|
+
[12614400000.0, 4], // 400years
|
|
89
|
+
[15768000000.0, 5], // 500years
|
|
90
90
|
[31536000000.0, 10], // 1000years
|
|
91
91
|
];
|
|
92
92
|
export function getScale(seconds) {
|
|
@@ -54,7 +54,7 @@ export function drawnode_screen_nl() {
|
|
|
54
54
|
mat4 viewMatrixRTE = viewMatrix;
|
|
55
55
|
viewMatrixRTE[3] = vec4(0.0, 0.0, 0.0, 1.0);
|
|
56
56
|
|
|
57
|
-
gl_Position = projectionMatrix * viewMatrixRTE * vec4(highDiff + lowDiff, 1.0);
|
|
57
|
+
gl_Position = projectionMatrix * viewMatrixRTE * vec4(highDiff * step(1.0, length(highDiff)) + lowDiff, 1.0);
|
|
58
58
|
}`,
|
|
59
59
|
fragmentShader: `precision highp float;
|
|
60
60
|
uniform vec4 tileOffsetArr[5];
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { Entity } from "./Entity";
|
|
2
2
|
import { Quat, Vec3, Vec4 } from "../math/index";
|
|
3
|
-
import { InstanceData } from "./GeoObjectHandler";
|
|
3
|
+
import { GeoObjectHandler, InstanceData } from "./GeoObjectHandler";
|
|
4
4
|
import { NumberArray3 } from "../math/Vec3";
|
|
5
5
|
import { NumberArray4 } from "../math/Vec4";
|
|
6
6
|
import { Object3d } from "../Object3d";
|
|
7
|
-
import { GeoObjectHandler } from "./GeoObjectHandler";
|
|
8
7
|
export interface IGeoObjectParams {
|
|
9
|
-
object3d
|
|
8
|
+
object3d?: Object3d;
|
|
9
|
+
objSrc?: string;
|
|
10
|
+
textureSrc?: string;
|
|
10
11
|
tag?: string;
|
|
11
12
|
position?: Vec3 | NumberArray3;
|
|
12
13
|
pitch?: number;
|
|
13
14
|
yaw?: number;
|
|
14
15
|
roll?: number;
|
|
15
|
-
scale?: number;
|
|
16
|
+
scale?: number | Vec3;
|
|
16
17
|
color?: Vec4 | NumberArray4 | string;
|
|
18
|
+
visibility?: boolean;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* @class
|
|
@@ -43,7 +45,7 @@ declare class GeoObject {
|
|
|
43
45
|
protected _pitch: number;
|
|
44
46
|
protected _yaw: number;
|
|
45
47
|
protected _roll: number;
|
|
46
|
-
protected _scale:
|
|
48
|
+
protected _scale: Vec3;
|
|
47
49
|
/**
|
|
48
50
|
* RGBA color.
|
|
49
51
|
* @public
|
|
@@ -58,6 +60,8 @@ declare class GeoObject {
|
|
|
58
60
|
protected _object3d: Object3d;
|
|
59
61
|
protected _visibility: boolean;
|
|
60
62
|
protected _qNorthFrame: Quat;
|
|
63
|
+
private _textureSrc?;
|
|
64
|
+
_objectSrc?: string;
|
|
61
65
|
constructor(options: IGeoObjectParams);
|
|
62
66
|
get tag(): string;
|
|
63
67
|
getPosition(): Vec3;
|
|
@@ -118,10 +122,20 @@ declare class GeoObject {
|
|
|
118
122
|
*/
|
|
119
123
|
setPosition3v(position: Vec3): void;
|
|
120
124
|
setYaw(yaw: number): void;
|
|
125
|
+
setObject(object: Object3d): void;
|
|
126
|
+
setObjectSrc(src: string): void;
|
|
127
|
+
setTextureSrc(src: string): void;
|
|
128
|
+
setColorHTML(color: string): void;
|
|
129
|
+
/**
|
|
130
|
+
*
|
|
131
|
+
* @param {number} pitch - Pitch in radians
|
|
132
|
+
*/
|
|
121
133
|
setPitch(pitch: number): void;
|
|
122
134
|
setRoll(roll: number): void;
|
|
135
|
+
setPitchYawRoll(pitch: number, yaw: number, roll: number): void;
|
|
123
136
|
setScale(scale: number): void;
|
|
124
|
-
|
|
137
|
+
setScale3v(scale: Vec3): void;
|
|
138
|
+
getScale(): Vec3;
|
|
125
139
|
/**
|
|
126
140
|
* Removes geo object from handler.
|
|
127
141
|
* @public
|