@openglobus/og 0.19.4 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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} +5 -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 +8 -1
- package/lib/js/Object3d.js +12 -2
- 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/visibleExtent/drawnode.js +1 -1
- package/lib/js/entity/GeoObject.d.ts +12 -3
- package/lib/js/entity/GeoObject.js +34 -2
- package/lib/js/entity/GeoObjectHandler.d.ts +5 -0
- package/lib/js/entity/GeoObjectHandler.js +47 -0
- 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/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 +4 -5
- 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/shared.d.ts +1 -8
- package/lib/js/utils/shared.js +17 -8
- package/package.json +2 -1
- package/lib/js/terrain/MapboxTerrain.js +0 -305
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { Vec3 } from "./math/Vec3";
|
|
2
|
+
/** @const */
|
|
3
|
+
export declare const TWO_PI: number;
|
|
4
|
+
/** @const */
|
|
5
|
+
export declare const PI_TWO: number;
|
|
6
|
+
export declare const X = 0;
|
|
7
|
+
export declare const Y = 1;
|
|
8
|
+
export declare const Z = 2;
|
|
9
|
+
export declare const W = 3;
|
|
10
|
+
export declare const MAX_FLOAT: number;
|
|
11
|
+
/** @const */
|
|
12
|
+
export declare const LOG2: number;
|
|
13
|
+
/** @const */
|
|
14
|
+
export declare const MAX32 = 2147483647;
|
|
15
|
+
/** @const */
|
|
16
|
+
export declare const MAX = 549755748352;
|
|
17
|
+
/** @const */
|
|
18
|
+
export declare const MIN: number;
|
|
19
|
+
/** @const */
|
|
20
|
+
export declare const RADIANS: number;
|
|
21
|
+
/** @const */
|
|
22
|
+
export declare const DEGREES: number;
|
|
23
|
+
/** @const */
|
|
24
|
+
export declare const DEGREES_DOUBLE: number;
|
|
25
|
+
/** @const */
|
|
26
|
+
export declare const RADIANS_HALF: number;
|
|
27
|
+
/** @const */
|
|
28
|
+
export declare const ARCSECONDS_TO_RADIANS = 0.00000484813681109536;
|
|
29
|
+
/** @const */
|
|
30
|
+
export declare const RADIANS_TO_HOURS = 3.819718634205488;
|
|
31
|
+
/** @const */
|
|
32
|
+
export declare const HOURS_TO_RADIANS = 0.26179938779914946;
|
|
33
|
+
/** @const */
|
|
34
|
+
export declare const HOURS_TO_DEGREES = 15;
|
|
35
|
+
/** @const */
|
|
36
|
+
export declare const DEGREES_TO_HOURS: number;
|
|
37
|
+
/** @const */
|
|
38
|
+
export declare const SQRT_HALF: number;
|
|
39
|
+
export declare const EPS1 = 0.1;
|
|
40
|
+
export declare const EPS2 = 0.01;
|
|
41
|
+
export declare const EPS3 = 0.001;
|
|
42
|
+
export declare const EPS4 = 0.0001;
|
|
43
|
+
export declare const EPS5 = 0.00001;
|
|
44
|
+
export declare const EPS6 = 0.000001;
|
|
45
|
+
export declare const EPS7 = 1e-7;
|
|
46
|
+
export declare const EPS8 = 1e-8;
|
|
47
|
+
export declare const EPS9 = 1e-9;
|
|
48
|
+
export declare const EPS10 = 1e-10;
|
|
49
|
+
export declare const EPS11 = 1e-11;
|
|
50
|
+
export declare const EPS12 = 1e-12;
|
|
51
|
+
export declare const EPS13 = 1e-13;
|
|
52
|
+
export declare const EPS14 = 1e-14;
|
|
53
|
+
export declare const EPS15 = 1e-15;
|
|
54
|
+
export declare const EPS16 = 1e-16;
|
|
55
|
+
export declare const EPS17 = 1e-17;
|
|
56
|
+
export declare const EPS18 = 1e-18;
|
|
57
|
+
export declare const EPS19 = 1e-19;
|
|
58
|
+
export declare const EPS20 = 1e-20;
|
|
59
|
+
/**
|
|
60
|
+
* The log function returns the power to which the base value has to be raised to produce n.
|
|
61
|
+
* @function
|
|
62
|
+
* @param {number} n - Produce value.
|
|
63
|
+
* @param {number} base - Base value.
|
|
64
|
+
* @returns {number} -
|
|
65
|
+
* @example
|
|
66
|
+
* log(64, 2)
|
|
67
|
+
* //returns 6
|
|
68
|
+
*/
|
|
69
|
+
export declare function log(n: number, base: number): number;
|
|
70
|
+
/**
|
|
71
|
+
* Clamp the number.
|
|
72
|
+
* @function
|
|
73
|
+
* @param {number} number - Input number.
|
|
74
|
+
* @param {number} min - Minimal edge.
|
|
75
|
+
* @param {number} max - Maximal edge.
|
|
76
|
+
* @returns {number} -
|
|
77
|
+
* @example
|
|
78
|
+
* clamp(12, 1, 5)
|
|
79
|
+
* //returns 5
|
|
80
|
+
*/
|
|
81
|
+
export declare function clamp(number: number, min: number, max: number): number;
|
|
82
|
+
/**
|
|
83
|
+
* Converts degrees value to radians.
|
|
84
|
+
* @function
|
|
85
|
+
* @param {number} degrees - Degree value.
|
|
86
|
+
* @returns {number} -
|
|
87
|
+
*/
|
|
88
|
+
export declare function DEG2RAD(degrees: number): number;
|
|
89
|
+
/**
|
|
90
|
+
* Converts radians value to degrees.
|
|
91
|
+
* @function
|
|
92
|
+
* @param {number} angle - Degree value.
|
|
93
|
+
* @returns {number} -
|
|
94
|
+
*/
|
|
95
|
+
export declare function RAD2DEG(angle: number): number;
|
|
96
|
+
/**
|
|
97
|
+
* Check the number is a power of two.
|
|
98
|
+
* @function
|
|
99
|
+
* @param {number} x - Input value.
|
|
100
|
+
* @returns {boolean} -
|
|
101
|
+
*/
|
|
102
|
+
export declare function isPowerOfTwo(x: number): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Returns next value that is power of two.
|
|
105
|
+
* @function
|
|
106
|
+
* @param {number} x - Input value.
|
|
107
|
+
* @param {number} [maxValue=4096] - Maximal value.
|
|
108
|
+
* @returns {number} -
|
|
109
|
+
*/
|
|
110
|
+
export declare function nextHighestPowerOfTwo(x: number, maxValue?: number): number;
|
|
111
|
+
/**
|
|
112
|
+
* Returns random integer number within the bounds.
|
|
113
|
+
* @function
|
|
114
|
+
* @param {number} min - Minimal bound.
|
|
115
|
+
* @param {number} max - Maximal bound.
|
|
116
|
+
* @returns {number} -
|
|
117
|
+
*/
|
|
118
|
+
export declare function randomi(min?: number, max?: number): number;
|
|
119
|
+
/**
|
|
120
|
+
* Returns random number within the bounds.
|
|
121
|
+
* @function
|
|
122
|
+
* @param {number} [min=0] - Minimal bound.
|
|
123
|
+
* @param {number} [max=1] - Maximal bound.
|
|
124
|
+
* @returns {number} -
|
|
125
|
+
*/
|
|
126
|
+
export declare function random(min?: number, max?: number): number;
|
|
127
|
+
/**
|
|
128
|
+
* Converts degrees value to decimal.
|
|
129
|
+
* @function
|
|
130
|
+
* @param {number} d - Degrees.
|
|
131
|
+
* @param {number} m - Minutes.
|
|
132
|
+
* @param {number} s - Seconds.
|
|
133
|
+
* @param {boolean} [p] - Positive flag. False - default.
|
|
134
|
+
* @returns {number} -
|
|
135
|
+
**/
|
|
136
|
+
export declare function degToDec(d: number, m: number, s: number, p: number): number;
|
|
137
|
+
/**
|
|
138
|
+
* The modulo operation that also works for negative dividends.
|
|
139
|
+
* @function
|
|
140
|
+
* @param {number} m - The dividend.
|
|
141
|
+
* @param {number} n - The divisor.
|
|
142
|
+
* @returns {number} The remainder.
|
|
143
|
+
*/
|
|
144
|
+
export declare function mod(m: number, n: number): number;
|
|
145
|
+
/**
|
|
146
|
+
* Returns an angle in the range 0 <= angle <= 2Pi which is equivalent to the provided angle.
|
|
147
|
+
* @function
|
|
148
|
+
* @param {number} a - Angle in radians
|
|
149
|
+
* @returns {number} -
|
|
150
|
+
*/
|
|
151
|
+
export declare function zeroTwoPI(a: number): number;
|
|
152
|
+
/**
|
|
153
|
+
* Returns 0.0 if x is smaller than edge and otherwise 1.0.
|
|
154
|
+
* @function
|
|
155
|
+
* @param {number} edge -
|
|
156
|
+
* @param {number} x - Value to edge.
|
|
157
|
+
* @returns {number} -
|
|
158
|
+
*/
|
|
159
|
+
export declare function step(edge: number, x: number): number;
|
|
160
|
+
/**
|
|
161
|
+
* The frac function returns the fractional part of x, i.e. x minus floor(x).
|
|
162
|
+
* @function
|
|
163
|
+
* @param {number} x - Input value.
|
|
164
|
+
* @returns {number} -
|
|
165
|
+
*/
|
|
166
|
+
export declare function frac(x: number): number;
|
|
167
|
+
/**
|
|
168
|
+
* Returns Math.log(x) / Math.log(2)
|
|
169
|
+
* @function
|
|
170
|
+
* @param {number} x - Input value.
|
|
171
|
+
* @returns {number} -
|
|
172
|
+
*/
|
|
173
|
+
export declare function log2(x: number): number;
|
|
174
|
+
/**
|
|
175
|
+
* Returns two power of n.
|
|
176
|
+
* @function
|
|
177
|
+
* @param {number} n - Power value.
|
|
178
|
+
* @returns {number} -
|
|
179
|
+
*/
|
|
180
|
+
export declare function exp2(n: number): number;
|
|
181
|
+
/**
|
|
182
|
+
* Returns two power of integer n.
|
|
183
|
+
* @function
|
|
184
|
+
* @param {number} n - Integer power value.
|
|
185
|
+
* @returns {number} -
|
|
186
|
+
*/
|
|
187
|
+
export declare function pow2i(n: number): number;
|
|
188
|
+
/**
|
|
189
|
+
* Returns a slice of linear interpolation t * (h1 - h0)
|
|
190
|
+
* @param {number} t - A value that linearly interpolates between the h0 parameter and the h1 parameter.
|
|
191
|
+
* @param {number} h1 - End value.
|
|
192
|
+
* @param {number} h0 - Start value.
|
|
193
|
+
* @returns {number} -
|
|
194
|
+
*/
|
|
195
|
+
export declare function slice(t: number, h1: number, h0: number): number;
|
|
196
|
+
/**
|
|
197
|
+
* Performs a linear interpolation.
|
|
198
|
+
* @function
|
|
199
|
+
* @param {number} t - A value that linearly interpolates between the h0 parameter and the h1 parameter.
|
|
200
|
+
* @param {number} h1 - End value.
|
|
201
|
+
* @param {number} h0 - Start value.
|
|
202
|
+
* @returns {number} -
|
|
203
|
+
*/
|
|
204
|
+
export declare function lerp(t: number, h1: number, h0: number): number;
|
|
205
|
+
export declare function cube(f: number): number;
|
|
206
|
+
export declare function square(f: number): number;
|
|
207
|
+
export declare function bezier1v(t: number, p0: number, p1: number, p2: number, p3: number): number;
|
|
208
|
+
/**
|
|
209
|
+
* Performs a 3D bezier interpolation.
|
|
210
|
+
* @function
|
|
211
|
+
* @param {number} t - Interpolation value.
|
|
212
|
+
* @param {Vec3} p0 - First control point.
|
|
213
|
+
* @param {Vec3} p1 - Second control point.
|
|
214
|
+
* @param {Vec3} p2 - Third control point.
|
|
215
|
+
* @param {Vec3} p3 - Fourth control point.
|
|
216
|
+
* @returns {Vec3} -
|
|
217
|
+
*/
|
|
218
|
+
export declare function bezier3v(t: number, p0: Vec3, p1: Vec3, p2: Vec3, p3: Vec3): Vec3;
|
|
219
|
+
/**
|
|
220
|
+
* Clamp angle value within 360.
|
|
221
|
+
* @function
|
|
222
|
+
* @param {number} x - Input angle.
|
|
223
|
+
* @returns {number} -
|
|
224
|
+
*/
|
|
225
|
+
export declare function rev(x: number): number;
|
|
226
|
+
/**
|
|
227
|
+
* Clamp longitude within: -180 to +180 degrees.
|
|
228
|
+
* @function
|
|
229
|
+
* @param {number} lon - Longitude.
|
|
230
|
+
* @returns {number} -
|
|
231
|
+
*/
|
|
232
|
+
export declare function norm_lon(lon: number): number;
|
|
233
|
+
/**
|
|
234
|
+
* Returns an angle in the range -Pi <= angle <= Pi which is equivalent to the provided angle.
|
|
235
|
+
* @function
|
|
236
|
+
* @param {number} a - Angle in radians.
|
|
237
|
+
* @returns {number} -
|
|
238
|
+
*/
|
|
239
|
+
export declare function negativePItoPI(a: number): number;
|
|
240
|
+
/**
|
|
241
|
+
* Solve using iteration method and a fixed number of steps.
|
|
242
|
+
* @function
|
|
243
|
+
* @param {Function} f - Equation. Used in Euler's equation(see og.orbit) solving.
|
|
244
|
+
* @param {number} x0 - First approximation.
|
|
245
|
+
* @param {number} maxIter - Maximum iterations.
|
|
246
|
+
* @returns {number} -
|
|
247
|
+
*/
|
|
248
|
+
export declare function solve_iteration_fixed(f: (x: number) => number, x0: number, maxIter: number): number;
|
|
249
|
+
/**
|
|
250
|
+
* Solve using iteration; terminate when error is below err or the maximum
|
|
251
|
+
* number of iterations is reached. Used in Euler's equation(see og.orbit) solving.
|
|
252
|
+
* @function
|
|
253
|
+
* @param {(x: number) => number} f - Equation.
|
|
254
|
+
* @param {number} x0 - First approximation.
|
|
255
|
+
* @param {number} err - Maximal accepted error value.
|
|
256
|
+
* @param {number} maxIter - Maximum iterations.
|
|
257
|
+
* @returns {number} -
|
|
258
|
+
*/
|
|
259
|
+
export declare function solve_iteration(f: (x: number) => number, x0: number, err: number, maxIter?: number): number;
|
|
260
|
+
/**
|
|
261
|
+
* Returns angle between two azimuths
|
|
262
|
+
* @param {number} a - First azimuth angle
|
|
263
|
+
* @param {number} b - Second azimuth angle
|
|
264
|
+
* @returns {number}
|
|
265
|
+
*/
|
|
266
|
+
export declare function getAngleBetweenAzimuths(a: number, b: number): number;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Extent } from "./Extent";
|
|
2
|
+
import { LonLat } from './LonLat';
|
|
3
|
+
/**
|
|
4
|
+
* Mercator size.
|
|
5
|
+
* @const
|
|
6
|
+
* @type {number}
|
|
7
|
+
*/
|
|
8
|
+
export declare const POLE = 20037508.34;
|
|
9
|
+
export declare const POLE2: number;
|
|
10
|
+
export declare const PI_BY_POLE: number;
|
|
11
|
+
export declare const POLE_BY_PI: number;
|
|
12
|
+
export declare const POLE_BY_180: number;
|
|
13
|
+
export declare const INV_POLE_BY_180: number;
|
|
14
|
+
/**
|
|
15
|
+
* Double mercator size.
|
|
16
|
+
* @const
|
|
17
|
+
* @type {number}
|
|
18
|
+
*/
|
|
19
|
+
export declare const POLE_DOUBLE: number;
|
|
20
|
+
/**
|
|
21
|
+
* One by mercator double size.
|
|
22
|
+
* @const
|
|
23
|
+
* @type {number}
|
|
24
|
+
*/
|
|
25
|
+
export declare const ONE_BY_POLE_DOUBLE: number;
|
|
26
|
+
export declare function forward(lonLat: LonLat): LonLat;
|
|
27
|
+
/**
|
|
28
|
+
* Converts degrees longitude to mercator coordinate.
|
|
29
|
+
* @function
|
|
30
|
+
* @param {number} lon - Degrees geodetic longitude.
|
|
31
|
+
* @returns {number} -
|
|
32
|
+
*/
|
|
33
|
+
export declare function forward_lon(lon: number): number;
|
|
34
|
+
/**
|
|
35
|
+
* Converts degrees latitude to mercator coordinate.
|
|
36
|
+
* @function
|
|
37
|
+
* @param {number} lat - Degrees geodetic latitude.
|
|
38
|
+
* @returns {number} -
|
|
39
|
+
*/
|
|
40
|
+
export declare function forward_lat(lat: number): number;
|
|
41
|
+
/**
|
|
42
|
+
* Converts mercator longitude to degrees coordinate.
|
|
43
|
+
* @function
|
|
44
|
+
* @param {number} lon - Mercator longitude.
|
|
45
|
+
* @returns {number} -
|
|
46
|
+
*/
|
|
47
|
+
export declare function inverse_lon(lon: number): number;
|
|
48
|
+
/**
|
|
49
|
+
* Converts mercator latitude to degrees coordinate.
|
|
50
|
+
* @function
|
|
51
|
+
* @param {number} lon - Mercator latitude.
|
|
52
|
+
* @returns {number} -
|
|
53
|
+
*/
|
|
54
|
+
export declare function inverse_lat(lat: number): number;
|
|
55
|
+
/**
|
|
56
|
+
* Returns mercator map tile grid horizontal coordinate index by geodetic
|
|
57
|
+
* longitude and zoom level. Where top left corner of the grid is 0 coordinate index.
|
|
58
|
+
* @function
|
|
59
|
+
* @param {number} lon - Geodetic degrees longitude.
|
|
60
|
+
* @param {number} zoom - Zoom level.
|
|
61
|
+
* @returns {number}
|
|
62
|
+
*/
|
|
63
|
+
export declare function getTileX(lon: number, zoom: number): number;
|
|
64
|
+
/**
|
|
65
|
+
* Returns mercator map tile grid vertical coordinate index by geodetic
|
|
66
|
+
* latitude and zoom level. Where top left corner of the grid is 0 coordinate index.
|
|
67
|
+
* @function
|
|
68
|
+
* @param {number} lat - Geodetic degrees latitude.
|
|
69
|
+
* @param {number} zoom - Zoom level.
|
|
70
|
+
* @returns {number}
|
|
71
|
+
*/
|
|
72
|
+
export declare function getTileY(lat: number, zoom: number): number;
|
|
73
|
+
/**
|
|
74
|
+
* Converts geodetic coordinate array to mercator coordinate array.
|
|
75
|
+
* @function
|
|
76
|
+
* @param {Array.<LonLat>} lonLatArr - LonLat array to convert.
|
|
77
|
+
* @returns {Array.<LonLat>}
|
|
78
|
+
*/
|
|
79
|
+
export declare function forwardArray(lonlatArr: LonLat[]): LonLat[];
|
|
80
|
+
export declare function getTileExtent(x: number, y: number, z: number): Extent;
|
|
81
|
+
/**
|
|
82
|
+
* Max mercator latitude.
|
|
83
|
+
* @const
|
|
84
|
+
* @type {number}
|
|
85
|
+
*/
|
|
86
|
+
export declare const MAX_LAT: number;
|
|
87
|
+
/**
|
|
88
|
+
* Min mercator latitude.
|
|
89
|
+
* @const
|
|
90
|
+
* @type {number}
|
|
91
|
+
*/
|
|
92
|
+
export declare const MIN_LAT: number;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
interface IProjParams {
|
|
2
|
+
units: string;
|
|
3
|
+
code: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Projection units: 'degrees', 'ft', 'm' or 'km'.
|
|
7
|
+
* @enum {string}
|
|
8
|
+
* @api
|
|
9
|
+
*/
|
|
10
|
+
export declare const Units: {
|
|
11
|
+
DEGREES: string;
|
|
12
|
+
FEET: string;
|
|
13
|
+
METERS: string;
|
|
14
|
+
KILOMETERS: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Meters per unit lookup table.
|
|
18
|
+
* @const
|
|
19
|
+
* @type {Record<string, number>}
|
|
20
|
+
*/
|
|
21
|
+
export declare const METERS_PER_UNIT: Record<string, number>;
|
|
22
|
+
declare class Proj {
|
|
23
|
+
id: number;
|
|
24
|
+
/**
|
|
25
|
+
* @public
|
|
26
|
+
* @type {string}
|
|
27
|
+
*/
|
|
28
|
+
code: string;
|
|
29
|
+
/**
|
|
30
|
+
* @public
|
|
31
|
+
* @type {Units}
|
|
32
|
+
*/
|
|
33
|
+
units: string;
|
|
34
|
+
constructor(options: IProjParams);
|
|
35
|
+
/**
|
|
36
|
+
* Compare projections.
|
|
37
|
+
* @public
|
|
38
|
+
* @param {Proj} proj - Projection object.
|
|
39
|
+
* @returns {boolean}
|
|
40
|
+
*/
|
|
41
|
+
equal(proj: Proj): boolean;
|
|
42
|
+
}
|
|
43
|
+
export { Proj };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Planet } from "../scene/Planet";
|
|
2
|
+
import { QuadTreeStrategy } from "./QuadTreeStrategy";
|
|
3
|
+
import { LonLat } from "../LonLat";
|
|
4
|
+
export declare class EarthQuadTreeStrategy extends QuadTreeStrategy {
|
|
5
|
+
constructor(planet: Planet);
|
|
6
|
+
init(): void;
|
|
7
|
+
getTileXY(lonLat: LonLat, zoom: number): [number, number, number, number];
|
|
8
|
+
getLonLatTileOffset(lonLat: LonLat, x: number, y: number, z: number, gridSize: number): [number, number];
|
|
9
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { EntityCollection } from '../entity/EntityCollection';
|
|
2
|
+
import { Extent } from '../Extent';
|
|
3
|
+
import { LonLat } from '../LonLat';
|
|
4
|
+
import { Node } from "../quadTree/Node";
|
|
5
|
+
import { Planet } from "../scene/Planet";
|
|
6
|
+
import { Sphere } from '../bv/Sphere';
|
|
7
|
+
import { Segment } from "../segment/Segment";
|
|
8
|
+
import { Vector } from "../layer/Vector";
|
|
9
|
+
import { Entity } from "../entity/Entity";
|
|
10
|
+
type NodesDict = Record<number, Node>;
|
|
11
|
+
/**
|
|
12
|
+
* @todo: remove planet parameter. It's already available in the layer.
|
|
13
|
+
*/
|
|
14
|
+
declare class EntityCollectionNode {
|
|
15
|
+
layer: Vector;
|
|
16
|
+
parentNode: EntityCollectionNode | null;
|
|
17
|
+
childrenNodes: EntityCollectionNode[];
|
|
18
|
+
partId: number;
|
|
19
|
+
nodeId: number;
|
|
20
|
+
state: number | null;
|
|
21
|
+
extent: Extent;
|
|
22
|
+
count: number;
|
|
23
|
+
deferredEntities: Entity[];
|
|
24
|
+
entityCollection: EntityCollection | null;
|
|
25
|
+
zoom: number;
|
|
26
|
+
bsphere: Sphere;
|
|
27
|
+
_inTheQueue: boolean;
|
|
28
|
+
constructor(layer: Vector, partId: number, parent: EntityCollectionNode | null, extent: Extent, planet: Planet, zoom: number);
|
|
29
|
+
insertEntity(entity: Entity, rightNow?: boolean): void;
|
|
30
|
+
protected _addEntitiesToCollection(entities: Entity[], rightNow?: boolean): void;
|
|
31
|
+
protected _setExtentBounds(): void;
|
|
32
|
+
__setLonLat__(entity: Entity): LonLat;
|
|
33
|
+
buildTree(entities: Entity[], rightNow?: boolean): void;
|
|
34
|
+
isInside(entity: Entity): boolean;
|
|
35
|
+
createChildrenNodes(): void;
|
|
36
|
+
collectRenderCollectionsPASS1(visibleNodes: NodesDict, outArr: EntityCollection[]): void;
|
|
37
|
+
collectRenderCollectionsPASS2(visibleNodes: NodesDict, outArr: EntityCollection[], renderingNodeId: number): void;
|
|
38
|
+
applyCollection(): void;
|
|
39
|
+
traverseTree(callback: Function): void;
|
|
40
|
+
renderCollection(outArr: EntityCollection[], visibleNodes: NodesDict, renderingNodeId?: number): void;
|
|
41
|
+
alignEntityToTheGround(entity: Entity, segment: Segment): void;
|
|
42
|
+
isVisible(): boolean;
|
|
43
|
+
}
|
|
44
|
+
declare class EntityCollectionNodeWGS84 extends EntityCollectionNode {
|
|
45
|
+
isNorth: boolean;
|
|
46
|
+
constructor(layer: Vector, partId: number, parent: EntityCollectionNodeWGS84 | null, extent: Extent, planet: Planet, zoom: number);
|
|
47
|
+
createChildrenNodes(): void;
|
|
48
|
+
protected _setExtentBounds(): void;
|
|
49
|
+
__setLonLat__(entity: Entity): LonLat;
|
|
50
|
+
isVisible(): boolean;
|
|
51
|
+
isInside(entity: Entity): boolean;
|
|
52
|
+
renderCollection(outArr: EntityCollection[], visibleNodes: NodesDict, renderingNode: number): void;
|
|
53
|
+
}
|
|
54
|
+
export { EntityCollectionNode, EntityCollectionNodeWGS84 };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Planet } from "../scene/Planet";
|
|
2
|
+
import { QuadTreeStrategy } from "./QuadTreeStrategy";
|
|
3
|
+
import { LonLat } from "../LonLat";
|
|
4
|
+
export declare class MarsQuadTreeStrategy extends QuadTreeStrategy {
|
|
5
|
+
private _westExtent;
|
|
6
|
+
private _eastExtent;
|
|
7
|
+
constructor(planet: Planet);
|
|
8
|
+
init(): void;
|
|
9
|
+
getTileXY(lonLat: LonLat, zoom: number): [number, number, number, number];
|
|
10
|
+
getLonLatTileOffset(lonLat: LonLat, x: number, y: number, z: number, gridSize: number): [number, number];
|
|
11
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Extent } from "../Extent";
|
|
2
|
+
import { Planet } from "../scene/Planet";
|
|
3
|
+
import { Segment } from "../segment/Segment";
|
|
4
|
+
import { PlanetCamera } from "../camera/PlanetCamera";
|
|
5
|
+
/**
|
|
6
|
+
* Quad tree planet segment node.
|
|
7
|
+
* @constructor
|
|
8
|
+
* @param {Segment} segmentPrototype - Planet segment node constructor.
|
|
9
|
+
* @param {Planet} planet - Planet scene instance.
|
|
10
|
+
* @param {number} partId - NorthEast, SouthWest etc.
|
|
11
|
+
* @param {Node} parent - Parent of this node.
|
|
12
|
+
* @param {number} id - Tree node identifier (id * 4 + 1);
|
|
13
|
+
* @param {number} tileZoom - Deep index of the quad tree.
|
|
14
|
+
* @param {Extent} extent - Planet segment extent.
|
|
15
|
+
*/
|
|
16
|
+
declare class Node {
|
|
17
|
+
__id: number;
|
|
18
|
+
SegmentPrototype: typeof Segment;
|
|
19
|
+
planet: Planet;
|
|
20
|
+
parentNode: Node | null;
|
|
21
|
+
partId: number;
|
|
22
|
+
nodeId: number;
|
|
23
|
+
state: number | null;
|
|
24
|
+
prevState: number | null;
|
|
25
|
+
appliedTerrainNodeId: number;
|
|
26
|
+
sideSizeLog2: [number, number, number, number];
|
|
27
|
+
ready: boolean;
|
|
28
|
+
neighbors: [Node[], Node[], Node[], Node[]];
|
|
29
|
+
equalizedSideWithNodeId: number[];
|
|
30
|
+
nodes: [Node, Node, Node, Node] | [];
|
|
31
|
+
segment: Segment;
|
|
32
|
+
_cameraInside: boolean;
|
|
33
|
+
inFrustum: number;
|
|
34
|
+
_fadingNodes: Node[];
|
|
35
|
+
constructor(SegmentPrototype: typeof Segment, planet: Planet, partId: number, parent: Node | null, tileZoom: number, extent: Extent);
|
|
36
|
+
createChildrenNodes(): void;
|
|
37
|
+
createBounds(): void;
|
|
38
|
+
getState(): number | null;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the same deep existent neighbour node.
|
|
41
|
+
* @public
|
|
42
|
+
* @param {number} side - Neighbour side index e.g. og.quadTree.N, og.quadTree.W etc.
|
|
43
|
+
* @returns {Node} -
|
|
44
|
+
*/
|
|
45
|
+
getEqualNeighbor(side: number): Node | undefined;
|
|
46
|
+
traverseNodes(cam: PlanetCamera, maxZoom?: number | null, terrainReadySegment?: Segment | null, stopLoading?: boolean, zoomPassNode?: Node): void;
|
|
47
|
+
renderTree(cam: PlanetCamera, maxZoom?: number | null, terrainReadySegment?: Segment | null, stopLoading?: boolean, zoomPassNode?: Node): void;
|
|
48
|
+
renderNode(inFrustum: number, onlyTerrain?: boolean, terrainReadySegment?: Segment | null, stopLoading?: boolean): void;
|
|
49
|
+
childrenPrevStateEquals(state: number): boolean;
|
|
50
|
+
isFading(): boolean;
|
|
51
|
+
_collectFadingNodes(): void;
|
|
52
|
+
clearNeighbors(): void;
|
|
53
|
+
_refreshTransitionOpacity(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Picking up current node to render processing.
|
|
56
|
+
* @public
|
|
57
|
+
*/
|
|
58
|
+
addToRender(inFrustum: number): void;
|
|
59
|
+
applyNeighbor(node: Node, side: number): void;
|
|
60
|
+
/**
|
|
61
|
+
* Searching current node for its neighbours.
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
getRenderedNodesNeighbors(nodes: Node[]): void;
|
|
65
|
+
/**
|
|
66
|
+
* Checking if current node has a common side with input node and return side index N, E, S or W. Otherwise returns -1.
|
|
67
|
+
* @param {Node} node - Input node
|
|
68
|
+
* @returns {number} - Node side index
|
|
69
|
+
*/
|
|
70
|
+
getCommonSide(node: Node): number;
|
|
71
|
+
whileNormalMapCreating(): void;
|
|
72
|
+
whileTerrainLoading(terrainReadySegment?: Segment | null): void;
|
|
73
|
+
destroy(): void;
|
|
74
|
+
clearTree(): void;
|
|
75
|
+
clearBranches(): void;
|
|
76
|
+
destroyBranches(): void;
|
|
77
|
+
traverseTree(callback: Function): void;
|
|
78
|
+
getOffsetOppositeNeighbourSide(neighbourNode: Node, side: number): number;
|
|
79
|
+
}
|
|
80
|
+
export { Node };
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
import { LonLat } from "../LonLat";
|
|
6
|
+
export declare class QuadTreeStrategy {
|
|
7
|
+
name: string;
|
|
8
|
+
projection: Proj;
|
|
9
|
+
protected _planet: Planet;
|
|
10
|
+
/**
|
|
11
|
+
* grid tree list.
|
|
12
|
+
* @protected
|
|
13
|
+
* @type {Node[]}
|
|
14
|
+
*/
|
|
15
|
+
protected _quadTreeList: Node[];
|
|
16
|
+
constructor(planet: Planet, name?: string, proj?: Proj);
|
|
17
|
+
destroyBranches(): void;
|
|
18
|
+
clearLayerMaterial(layer: Layer): void;
|
|
19
|
+
get planet(): Planet;
|
|
20
|
+
init(): void;
|
|
21
|
+
preRender(): void;
|
|
22
|
+
preLoad(): void;
|
|
23
|
+
collectRenderNodes(): void;
|
|
24
|
+
clear(): void;
|
|
25
|
+
get quadTreeList(): Node[];
|
|
26
|
+
getTileXY(lonLat: LonLat, zoom: number): [number, number, number, number];
|
|
27
|
+
getLonLatTileOffset(lonLat: LonLat, x: number, y: number, z: number, gridSize: number): [number, number];
|
|
28
|
+
}
|
|
@@ -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,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[][];
|