@openglobus/og 0.11.7 → 0.12.3
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/css/og.css +5 -2
- package/dist/@openglobus/og.css +1 -0
- package/dist/@openglobus/og.esm.js +21 -0
- package/dist/@openglobus/og.esm.js.map +1 -0
- package/dist/@openglobus/og.umd.js +21 -0
- package/dist/@openglobus/og.umd.js.map +1 -0
- package/package.json +11 -11
- package/src/og/Globe.js +18 -6
- package/src/og/camera/Camera.js +70 -79
- package/src/og/camera/PlanetCamera.js +25 -30
- package/src/og/control/DebugInfo.js +2 -2
- package/src/og/control/EarthNavigation.js +26 -17
- package/src/og/control/Lighting.js +52 -73
- package/src/og/control/MouseNavigation.js +30 -29
- package/src/og/control/MouseWheelZoomControl.js +257 -0
- package/src/og/control/Sun.js +3 -3
- package/src/og/control/index.js +2 -0
- package/src/og/control/visibleExtent/Segment.js +1862 -0
- package/src/og/control/visibleExtent/VisibleExtent.js +80 -0
- package/src/og/control/visibleExtent/drawnode.js +751 -0
- package/src/og/entity/BaseBillboard.js +9 -9
- package/src/og/entity/Entity.js +742 -742
- package/src/og/entity/GeoObjectHandler.js +138 -134
- package/src/og/entity/Label.js +7 -7
- package/src/og/entity/LabelHandler.js +2 -1
- package/src/og/layer/CanvasTiles.js +8 -12
- package/src/og/layer/GeoImage.js +2 -10
- package/src/og/layer/GeoTexture2d.js +2 -10
- package/src/og/layer/GeoVideo.js +2 -10
- package/src/og/layer/KML.js +19 -12
- package/src/og/layer/Layer.js +4 -23
- package/src/og/layer/WMS.js +0 -2
- package/src/og/layer/XYZ.js +31 -33
- package/src/og/math/Vec3.js +18 -2
- package/src/og/quadTree/Node.js +48 -93
- package/src/og/quadTree/quadTree.js +1 -1
- package/src/og/renderer/Renderer.js +69 -96
- package/src/og/renderer/RendererEvents.js +3 -1
- package/src/og/scene/Planet.js +171 -173
- package/src/og/segment/Segment.js +99 -268
- package/src/og/segment/Slice.js +45 -0
- package/src/og/shaders/drawnode.js +171 -350
- package/src/og/shaders/geoObject.js +15 -6
- package/src/og/terrain/EmptyTerrain.js +3 -2
- package/src/og/terrain/GlobusTerrain.js +2 -0
- package/src/og/utils/GeoImageCreator.js +5 -1
- package/src/og/utils/Loader.js +1 -1
- package/src/og/utils/PlainSegmentWorker.js +0 -13
- package/src/og/webgl/Handler.js +14 -10
- package/types/Clock.d.ts +94 -0
- package/types/Deferred.d.ts +6 -0
- package/types/Events.d.ts +77 -0
- package/types/Extent.d.ts +166 -0
- package/types/Globe.d.ts +85 -0
- package/types/ImageCanvas.d.ts +123 -0
- package/types/Lock.d.ts +12 -0
- package/types/LonLat.d.ts +108 -0
- package/types/Popup.d.ts +42 -0
- package/types/QueueArray.d.ts +19 -0
- package/types/Rectangle.d.ts +80 -0
- package/types/Stack.d.ts +19 -0
- package/types/ajax.d.ts +24 -0
- package/types/arial.d.ts +48 -0
- package/types/astro/astro.d.ts +38 -0
- package/types/astro/earth.d.ts +7 -0
- package/types/astro/jd.d.ts +254 -0
- package/types/bv/Box.d.ts +30 -0
- package/types/bv/Sphere.d.ts +38 -0
- package/types/bv/index.d.ts +3 -0
- package/types/camera/Camera.d.ts +312 -0
- package/types/camera/Frustum.d.ts +133 -0
- package/types/camera/PlanetCamera.d.ts +219 -0
- package/types/camera/index.d.ts +3 -0
- package/types/cons.d.ts +40 -0
- package/types/control/CompassButton.d.ts +17 -0
- package/types/control/Control.d.ts +104 -0
- package/types/control/DebugInfo.d.ts +15 -0
- package/types/control/EarthCoordinates.d.ts +47 -0
- package/types/control/EarthNavigation.d.ts +43 -0
- package/types/control/GeoImageDragControl.d.ts +6 -0
- package/types/control/KeyboardNavigation.d.ts +21 -0
- package/types/control/LayerSwitcher.d.ts +21 -0
- package/types/control/Lighting.d.ts +16 -0
- package/types/control/MouseNavigation.d.ts +48 -0
- package/types/control/MouseWheelZoomControl.d.ts +45 -0
- package/types/control/ScaleControl.d.ts +22 -0
- package/types/control/ShowFps.d.ts +11 -0
- package/types/control/SimpleNavigation.d.ts +25 -0
- package/types/control/Sun.d.ts +50 -0
- package/types/control/ToggleWireframe.d.ts +12 -0
- package/types/control/TouchNavigation.d.ts +48 -0
- package/types/control/ZoomControl.d.ts +27 -0
- package/types/control/index.d.ts +18 -0
- package/types/ellipsoid/Ellipsoid.d.ts +146 -0
- package/types/ellipsoid/index.d.ts +3 -0
- package/types/ellipsoid/wgs84.d.ts +6 -0
- package/types/entity/BaseBillboard.d.ts +215 -0
- package/types/entity/Billboard.d.ts +94 -0
- package/types/entity/BillboardHandler.d.ts +79 -0
- package/types/entity/Entity.d.ts +348 -0
- package/types/entity/EntityCollection.d.ts +317 -0
- package/types/entity/GeoObject.d.ts +111 -0
- package/types/entity/GeoObjectHandler.d.ts +81 -0
- package/types/entity/Geometry.d.ts +74 -0
- package/types/entity/GeometryHandler.d.ts +76 -0
- package/types/entity/Label.d.ts +189 -0
- package/types/entity/LabelHandler.d.ts +31 -0
- package/types/entity/LabelWorker.d.ts +11 -0
- package/types/entity/PointCloud.d.ts +174 -0
- package/types/entity/PointCloudHandler.d.ts +38 -0
- package/types/entity/Polyline.d.ts +306 -0
- package/types/entity/PolylineHandler.d.ts +18 -0
- package/types/entity/Ray.d.ts +124 -0
- package/types/entity/RayHandler.d.ts +67 -0
- package/types/entity/ShapeHandler.d.ts +22 -0
- package/types/entity/Strip.d.ts +119 -0
- package/types/entity/StripHandler.d.ts +38 -0
- package/types/entity/index.d.ts +8 -0
- package/types/index.core.d.ts +65 -0
- package/types/index.d.ts +45 -0
- package/types/index.webgl.d.ts +7 -0
- package/types/input/KeyboardHandler.d.ts +10 -0
- package/types/input/MouseHandler.d.ts +5 -0
- package/types/input/TouchHandler.d.ts +5 -0
- package/types/input/input.d.ts +34 -0
- package/types/layer/BaseGeoImage.d.ts +94 -0
- package/types/layer/CanvasTiles.d.ts +67 -0
- package/types/layer/GeoImage.d.ts +52 -0
- package/types/layer/GeoTexture2d.d.ts +8 -0
- package/types/layer/GeoVideo.d.ts +55 -0
- package/types/layer/KML.d.ts +68 -0
- package/types/layer/Layer.d.ts +310 -0
- package/types/layer/Material.d.ts +45 -0
- package/types/layer/Vector.d.ts +208 -0
- package/types/layer/WMS.d.ts +61 -0
- package/types/layer/XYZ.d.ts +119 -0
- package/types/layer/index.d.ts +10 -0
- package/types/light/LightSource.d.ts +178 -0
- package/types/math/Line2.d.ts +11 -0
- package/types/math/Line3.d.ts +10 -0
- package/types/math/Mat3.d.ts +65 -0
- package/types/math/Mat4.d.ts +176 -0
- package/types/math/Plane.d.ts +18 -0
- package/types/math/Quat.d.ts +379 -0
- package/types/math/Ray.d.ts +82 -0
- package/types/math/Vec2.d.ts +309 -0
- package/types/math/Vec3.d.ts +467 -0
- package/types/math/Vec4.d.ts +162 -0
- package/types/math/coder.d.ts +43 -0
- package/types/math/index.d.ts +11 -0
- package/types/math.d.ts +261 -0
- package/types/mercator.d.ts +92 -0
- package/types/proj/EPSG3857.d.ts +6 -0
- package/types/proj/EPSG4326.d.ts +6 -0
- package/types/proj/Proj.d.ts +42 -0
- package/types/quadTree/EntityCollectionNode.d.ts +34 -0
- package/types/quadTree/Node.d.ts +60 -0
- package/types/quadTree/quadTree.d.ts +40 -0
- package/types/renderer/Renderer.d.ts +290 -0
- package/types/renderer/RendererEvents.d.ts +237 -0
- package/types/res/images.d.ts +3 -0
- package/types/scene/Axes.d.ts +11 -0
- package/types/scene/BaseNode.d.ts +60 -0
- package/types/scene/Planet.d.ts +576 -0
- package/types/scene/RenderNode.d.ts +142 -0
- package/types/scene/SkyBox.d.ts +10 -0
- package/types/scene/index.d.ts +4 -0
- package/types/segment/Segment.d.ts +275 -0
- package/types/segment/SegmentLonLat.d.ts +17 -0
- package/types/segment/Slice.d.ts +10 -0
- package/types/segment/segmentHelper.d.ts +13 -0
- package/types/shaders/billboard.d.ts +3 -0
- package/types/shaders/depth.d.ts +2 -0
- package/types/shaders/drawnode.d.ts +7 -0
- package/types/shaders/geoObject.d.ts +3 -0
- package/types/shaders/label.d.ts +4 -0
- package/types/shaders/pointCloud.d.ts +2 -0
- package/types/shaders/polyline.d.ts +3 -0
- package/types/shaders/ray.d.ts +2 -0
- package/types/shaders/screenFrame.d.ts +2 -0
- package/types/shaders/shape.d.ts +4 -0
- package/types/shaders/skybox.d.ts +2 -0
- package/types/shaders/toneMapping.d.ts +2 -0
- package/types/shapes/BaseShape.d.ts +250 -0
- package/types/shapes/Sphere.d.ts +41 -0
- package/types/terrain/BilTerrain.d.ts +7 -0
- package/types/terrain/EmptyTerrain.d.ts +73 -0
- package/types/terrain/Geoid.d.ts +26 -0
- package/types/terrain/GlobusTerrain.d.ts +116 -0
- package/types/terrain/MapboxTerrain.d.ts +7 -0
- package/types/terrain/index.d.ts +5 -0
- package/types/utils/FontAtlas.d.ts +15 -0
- package/types/utils/GeoImageCreator.d.ts +30 -0
- package/types/utils/ImagesCacheManager.d.ts +10 -0
- package/types/utils/Loader.d.ts +25 -0
- package/types/utils/NormalMapCreator.d.ts +39 -0
- package/types/utils/PlainSegmentWorker.d.ts +10 -0
- package/types/utils/TerrainWorker.d.ts +9 -0
- package/types/utils/TextureAtlas.d.ts +111 -0
- package/types/utils/VectorTileCreator.d.ts +16 -0
- package/types/utils/colorTable.d.ts +143 -0
- package/types/utils/earcut.d.ts +6 -0
- package/types/utils/shared.d.ts +231 -0
- package/types/webgl/Framebuffer.d.ts +135 -0
- package/types/webgl/Handler.d.ts +417 -0
- package/types/webgl/Multisample.d.ts +89 -0
- package/types/webgl/Program.d.ts +161 -0
- package/types/webgl/ProgramController.d.ts +89 -0
- package/types/webgl/callbacks.d.ts +1 -0
- package/types/webgl/index.d.ts +6 -0
- package/types/webgl/types.d.ts +2 -0
|
@@ -30,7 +30,8 @@ export const geo_object = () =>
|
|
|
30
30
|
aDirection: { type: "vec3", divisor: 1 },
|
|
31
31
|
aPitchRoll: { type: "vec2", divisor: 1 },
|
|
32
32
|
aColor: { type: "vec4", divisor: 1 },
|
|
33
|
-
aScale: { type: "float", divisor: 1 }
|
|
33
|
+
aScale: { type: "float", divisor: 1 },
|
|
34
|
+
aDispose: { type: "float", divisor: 1 }
|
|
34
35
|
},
|
|
35
36
|
vertexShader: `precision highp float;
|
|
36
37
|
|
|
@@ -42,6 +43,7 @@ export const geo_object = () =>
|
|
|
42
43
|
attribute vec2 aPitchRoll;
|
|
43
44
|
attribute vec4 aColor;
|
|
44
45
|
attribute float aScale;
|
|
46
|
+
attribute float aDispose;
|
|
45
47
|
|
|
46
48
|
uniform vec3 uScaleByDistance;
|
|
47
49
|
uniform mat4 projectionMatrix;
|
|
@@ -54,11 +56,13 @@ export const geo_object = () =>
|
|
|
54
56
|
varying vec3 vNormal;
|
|
55
57
|
varying vec4 vPosition;
|
|
56
58
|
varying vec4 vColor;
|
|
59
|
+
varying float vDispose;
|
|
57
60
|
|
|
58
61
|
const float RADIANS = 3.141592653589793 / 180.0;
|
|
59
62
|
|
|
60
63
|
void main(void) {
|
|
61
64
|
|
|
65
|
+
vDispose = aDispose;
|
|
62
66
|
vColor = aColor;
|
|
63
67
|
float roll = aPitchRoll.y * RADIANS;
|
|
64
68
|
mat3 rotZ = mat3(
|
|
@@ -91,7 +95,7 @@ export const geo_object = () =>
|
|
|
91
95
|
|
|
92
96
|
vPosition = viewMatrixRTE * vec4(highDiff + lowDiff, 1.0);
|
|
93
97
|
|
|
94
|
-
gl_Position = projectionMatrix * vPosition;
|
|
98
|
+
gl_Position = mix(vec4(0.0, 0.0, 0.0, 0.0), projectionMatrix * vPosition, aDispose);
|
|
95
99
|
}`,
|
|
96
100
|
fragmentShader: `precision highp float;
|
|
97
101
|
|
|
@@ -135,7 +139,7 @@ export const geo_object_picking = () =>
|
|
|
135
139
|
|
|
136
140
|
eyePositionHigh: "vec3",
|
|
137
141
|
eyePositionLow: "vec3",
|
|
138
|
-
pickingScale: "float"
|
|
142
|
+
pickingScale: "float"
|
|
139
143
|
|
|
140
144
|
},
|
|
141
145
|
attributes: {
|
|
@@ -145,7 +149,8 @@ export const geo_object_picking = () =>
|
|
|
145
149
|
aDirection: { type: "vec3", divisor: 1 },
|
|
146
150
|
aPitchRoll: { type: "vec2", divisor: 1 },
|
|
147
151
|
aPickingColor: { type: "vec3", divisor: 1 },
|
|
148
|
-
aScale: { type: "float", divisor: 1 }
|
|
152
|
+
aScale: { type: "float", divisor: 1 },
|
|
153
|
+
aDispose: { type: "float", divisor: 1 }
|
|
149
154
|
},
|
|
150
155
|
vertexShader: `precision highp float;
|
|
151
156
|
|
|
@@ -156,6 +161,7 @@ export const geo_object_picking = () =>
|
|
|
156
161
|
attribute vec2 aPitchRoll;
|
|
157
162
|
attribute vec3 aPickingColor;
|
|
158
163
|
attribute float aScale;
|
|
164
|
+
attribute float aDispose;
|
|
159
165
|
|
|
160
166
|
uniform vec3 uScaleByDistance;
|
|
161
167
|
uniform mat4 projectionMatrix;
|
|
@@ -165,12 +171,14 @@ export const geo_object_picking = () =>
|
|
|
165
171
|
uniform vec3 eyePositionHigh;
|
|
166
172
|
uniform vec3 eyePositionLow;
|
|
167
173
|
|
|
174
|
+
varying float vDispose;
|
|
168
175
|
varying vec3 vColor;
|
|
169
176
|
|
|
170
177
|
const float RADIANS = 3.141592653589793 / 180.0;
|
|
171
178
|
|
|
172
179
|
void main(void) {
|
|
173
180
|
|
|
181
|
+
vDispose = aDispose;
|
|
174
182
|
vColor = aPickingColor;
|
|
175
183
|
float roll = aPitchRoll.y * RADIANS;
|
|
176
184
|
mat3 rotZ = mat3(
|
|
@@ -200,12 +208,13 @@ export const geo_object_picking = () =>
|
|
|
200
208
|
mat4 viewMatrixRTE = viewMatrix;
|
|
201
209
|
viewMatrixRTE[3] = vec4(0.0, 0.0, 0.0, 1.0);
|
|
202
210
|
|
|
203
|
-
gl_Position = projectionMatrix *viewMatrixRTE * vec4(highDiff + lowDiff, 1.0);
|
|
211
|
+
gl_Position = mix(vec4(0.0, 0.0, 0.0, 0.0), projectionMatrix *viewMatrixRTE * vec4(highDiff + lowDiff, 1.0), aDispose);
|
|
204
212
|
}`,
|
|
205
213
|
fragmentShader:
|
|
206
214
|
`precision highp float;
|
|
207
215
|
varying vec3 vColor;
|
|
216
|
+
varying float vDispose;
|
|
208
217
|
void main () {
|
|
209
|
-
gl_FragColor = vec4(vColor,
|
|
218
|
+
gl_FragColor = vec4(vColor, vDispose);
|
|
210
219
|
}`
|
|
211
220
|
});
|
|
@@ -14,7 +14,9 @@ class EmptyTerrain {
|
|
|
14
14
|
constructor(options = {}) {
|
|
15
15
|
this.equalizeVertices = false;
|
|
16
16
|
|
|
17
|
-
this.equalizeNormals = false;
|
|
17
|
+
this.equalizeNormals = false;
|
|
18
|
+
|
|
19
|
+
this.isEmpty = true;
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
22
|
* Provider name is "empty"
|
|
@@ -106,7 +108,6 @@ class EmptyTerrain {
|
|
|
106
108
|
|
|
107
109
|
set geoid(geoid) {
|
|
108
110
|
this._geoid = geoid;
|
|
109
|
-
//...this._planet
|
|
110
111
|
}
|
|
111
112
|
|
|
112
113
|
get geoid() {
|
|
@@ -151,7 +151,11 @@ export class GeoImageCreator {
|
|
|
151
151
|
`precision highp float;
|
|
152
152
|
uniform sampler2D sourceTexture;
|
|
153
153
|
varying vec2 v_texCoords;
|
|
154
|
-
void main () {
|
|
154
|
+
void main () {
|
|
155
|
+
if(v_texCoords.x <= 0.001 || v_texCoords.x >= 0.999 ||
|
|
156
|
+
v_texCoords.y <= 0.001 || v_texCoords.y >= 0.999) {
|
|
157
|
+
discard;
|
|
158
|
+
}
|
|
155
159
|
gl_FragColor = texture2D(sourceTexture, v_texCoords);
|
|
156
160
|
}`
|
|
157
161
|
}));
|
package/src/og/utils/Loader.js
CHANGED
|
@@ -222,19 +222,6 @@ const _programm = `
|
|
|
222
222
|
res.x = nc * Math.sin(lonrad);
|
|
223
223
|
res.y = (N * (1.0 - E2) + h) * slt;
|
|
224
224
|
res.z = nc * Math.cos(lonrad);
|
|
225
|
-
|
|
226
|
-
//let cosLat = Math.cos(lat * RADIANS)
|
|
227
|
-
//let sinLat = Math.sin(lat * RADIANS)
|
|
228
|
-
|
|
229
|
-
//let cosLong = Math.cos(lon * RADIANS)
|
|
230
|
-
//let sinLong = Math.sin(lon * RADIANS)
|
|
231
|
-
|
|
232
|
-
//let c = 1.0 / Math.sqrt(cosLat * cosLat + (1 - f) * (1 - f) * sinLat * sinLat)
|
|
233
|
-
//s = (1 - f) * (1 - f) * c
|
|
234
|
-
|
|
235
|
-
//x = (R*c + altitude) * cosLat * cosLong
|
|
236
|
-
//y = (R*c + altitude) * cosLat * sinLong
|
|
237
|
-
//z = (R*s + altitude) * sinLat
|
|
238
225
|
};
|
|
239
226
|
|
|
240
227
|
var lonLatToCartesianInverse = function (lon, lat, heightFactor, res){
|
package/src/og/webgl/Handler.js
CHANGED
|
@@ -646,13 +646,17 @@ class Handler {
|
|
|
646
646
|
this.initializeExtension(this._params.extensions[i], true);
|
|
647
647
|
}
|
|
648
648
|
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
649
|
+
if (this.gl.type === "webgl") {
|
|
650
|
+
this.createTexture_n = this.createTexture_n_webgl1.bind(this);
|
|
651
|
+
this.createTexture_l = this.createTexture_l_webgl1.bind(this);
|
|
652
|
+
this.createTexture_mm = this.createTexture_mm_webgl1.bind(this);
|
|
653
|
+
this.createTexture_a = this.createTexture_a_webgl1.bind(this);
|
|
654
|
+
} else {
|
|
655
|
+
this.createTexture_n = this.createTexture_n_webgl2.bind(this);
|
|
656
|
+
this.createTexture_l = this.createTexture_l_webgl2.bind(this);
|
|
657
|
+
this.createTexture_mm = this.createTexture_mm_webgl2.bind(this);
|
|
658
|
+
this.createTexture_a = this.createTexture_a_webgl2.bind(this);
|
|
659
|
+
}
|
|
656
660
|
|
|
657
661
|
this.createTexture["NEAREST"] = this.createTexture_n;
|
|
658
662
|
this.createTexture["LINEAR"] = this.createTexture_l;
|
|
@@ -919,7 +923,7 @@ class Handler {
|
|
|
919
923
|
/** Canvas resize checking */
|
|
920
924
|
let canvas = this.canvas;
|
|
921
925
|
|
|
922
|
-
if (canvas.clientWidth * this._params.pixelRatio !== canvas.width || canvas.clientHeight * this._params.pixelRatio !== canvas.height) {
|
|
926
|
+
if (Math.floor(canvas.clientWidth * this._params.pixelRatio) !== canvas.width || Math.floor(canvas.clientHeight * this._params.pixelRatio) !== canvas.height) {
|
|
923
927
|
this.setSize(canvas.clientWidth, canvas.clientHeight);
|
|
924
928
|
}
|
|
925
929
|
|
|
@@ -979,7 +983,7 @@ class Handler {
|
|
|
979
983
|
if (params && params.color) {
|
|
980
984
|
imgCnv = new ImageCanvas(2, 2);
|
|
981
985
|
imgCnv.fillColor(params.color);
|
|
982
|
-
texture = this.createTexture_n_webgl2(imgCnv._canvas
|
|
986
|
+
texture = this.createTexture_n_webgl2(imgCnv._canvas);
|
|
983
987
|
texture.default = true;
|
|
984
988
|
success(texture);
|
|
985
989
|
} else if (params && params.url) {
|
|
@@ -994,7 +998,7 @@ class Handler {
|
|
|
994
998
|
} else {
|
|
995
999
|
imgCnv = new ImageCanvas(2, 2);
|
|
996
1000
|
imgCnv.fillColor("#C5C5C5");
|
|
997
|
-
texture = this.createTexture_n_webgl2(imgCnv._canvas
|
|
1001
|
+
texture = this.createTexture_n_webgl2(imgCnv._canvas);
|
|
998
1002
|
texture.default = true;
|
|
999
1003
|
success(texture);
|
|
1000
1004
|
}
|
package/types/Clock.d.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Class represents application timer that stores custom current julian datetime, and time speed multiplier.
|
|
3
|
+
* @class
|
|
4
|
+
* @param {Object} [params] - Clock parameters:
|
|
5
|
+
* @param {number} [params.startDate=0.0] - Julian start date.
|
|
6
|
+
* @param {number} [params.endDate=0.0] - Julian end date.
|
|
7
|
+
* @param {number} [params.currentDate] - Julian current date. Default: current date.
|
|
8
|
+
* @param {number} [params.multiplier=1.0] - Time speed multiolier.
|
|
9
|
+
*/
|
|
10
|
+
export class Clock {
|
|
11
|
+
static set _staticCounter(arg: any);
|
|
12
|
+
static get _staticCounter(): any;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param {Object} [params] - Clock parameters:
|
|
16
|
+
*/
|
|
17
|
+
constructor(params?: any);
|
|
18
|
+
_id: number;
|
|
19
|
+
/**
|
|
20
|
+
* Clock name.
|
|
21
|
+
* @public
|
|
22
|
+
* @type {string}
|
|
23
|
+
*/
|
|
24
|
+
public name: string;
|
|
25
|
+
/**
|
|
26
|
+
* Clock events.
|
|
27
|
+
* @public
|
|
28
|
+
* @type {Events}
|
|
29
|
+
*/
|
|
30
|
+
public events: Events;
|
|
31
|
+
/**
|
|
32
|
+
* Start julian date clock loop.
|
|
33
|
+
* @public
|
|
34
|
+
* @type {number}
|
|
35
|
+
*/
|
|
36
|
+
public startDate: number;
|
|
37
|
+
/**
|
|
38
|
+
* End julian date clock loop.
|
|
39
|
+
* @public
|
|
40
|
+
* @type {number}
|
|
41
|
+
*/
|
|
42
|
+
public endDate: number;
|
|
43
|
+
/**
|
|
44
|
+
* Current julian datetime.
|
|
45
|
+
* @public
|
|
46
|
+
* @type {number}
|
|
47
|
+
*/
|
|
48
|
+
public currentDate: number;
|
|
49
|
+
/**
|
|
50
|
+
* Timer speed multiplier.
|
|
51
|
+
* @public
|
|
52
|
+
* @type {number}
|
|
53
|
+
*/
|
|
54
|
+
public multiplier: number;
|
|
55
|
+
/**
|
|
56
|
+
* Animation frame delta time.
|
|
57
|
+
* @public
|
|
58
|
+
* @readonly
|
|
59
|
+
* @type {number}
|
|
60
|
+
*/
|
|
61
|
+
public readonly deltaTicks: number;
|
|
62
|
+
/**
|
|
63
|
+
* Timer activity.
|
|
64
|
+
* @public
|
|
65
|
+
* @type {boolean}
|
|
66
|
+
*/
|
|
67
|
+
public active: boolean;
|
|
68
|
+
_intervalDelay: number;
|
|
69
|
+
_intervalStart: number;
|
|
70
|
+
_intervalCallback: any;
|
|
71
|
+
clearInterval(): void;
|
|
72
|
+
setInterval(delay: any, callback: any): void;
|
|
73
|
+
/**
|
|
74
|
+
* Sets current clock datetime.
|
|
75
|
+
* @public
|
|
76
|
+
* @param {Object} date - JavaScript Date object.
|
|
77
|
+
*/
|
|
78
|
+
public setDate(date: any): void;
|
|
79
|
+
/**
|
|
80
|
+
* Returns current application date.
|
|
81
|
+
* @public
|
|
82
|
+
* @returns {Date} - Current date.
|
|
83
|
+
*/
|
|
84
|
+
public getDate(): Date;
|
|
85
|
+
reset(): void;
|
|
86
|
+
_tick(dt: any): void;
|
|
87
|
+
/**
|
|
88
|
+
* @public
|
|
89
|
+
* @param {Clock} clock - Clock instance to compare.
|
|
90
|
+
* @returns {boolean} - Returns true if a clock is the same instance.
|
|
91
|
+
*/
|
|
92
|
+
public equal(clock: Clock): boolean;
|
|
93
|
+
}
|
|
94
|
+
import { Events } from "./Events.js";
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base events class to handle custom events.
|
|
3
|
+
* @class
|
|
4
|
+
*/
|
|
5
|
+
export class Events {
|
|
6
|
+
static set _staticCounter(arg: any);
|
|
7
|
+
static get _staticCounter(): any;
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param {Array.<string>} [eventNames] - Event names that could be dispatched.
|
|
11
|
+
* @param {*} [sender]
|
|
12
|
+
*/
|
|
13
|
+
constructor(eventNames?: Array<string>, sender?: any);
|
|
14
|
+
/**
|
|
15
|
+
* Registered event names.
|
|
16
|
+
* @protected
|
|
17
|
+
* @type {Array.<string>}
|
|
18
|
+
*/
|
|
19
|
+
protected _eventNames: Array<string>;
|
|
20
|
+
_sender: any;
|
|
21
|
+
/**
|
|
22
|
+
* Stop propagation flag
|
|
23
|
+
* @protected
|
|
24
|
+
* @type {boolean}
|
|
25
|
+
*/
|
|
26
|
+
protected _stopPropagation: boolean;
|
|
27
|
+
_stampCache: {};
|
|
28
|
+
__id: number;
|
|
29
|
+
bindSender(sender: any): void;
|
|
30
|
+
/**
|
|
31
|
+
* Function that creates event object properties that would be dispatched.
|
|
32
|
+
* @public
|
|
33
|
+
* @param {Array.<string>} eventNames - Specified event names list.
|
|
34
|
+
*/
|
|
35
|
+
public registerNames(eventNames: Array<string>): void;
|
|
36
|
+
_getStamp(name: any, id: any, ogid: any): string;
|
|
37
|
+
/**
|
|
38
|
+
* Returns true if event callback has stamped.
|
|
39
|
+
* @protected
|
|
40
|
+
* @param {Object} name - Event identifier.
|
|
41
|
+
* @param {Object} obj - Event callback.
|
|
42
|
+
* @return {boolean} -
|
|
43
|
+
*/
|
|
44
|
+
protected _stamp(name: any, obj: any): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Attach listener.
|
|
47
|
+
* @public
|
|
48
|
+
* @param {string} name - Event name to listen.
|
|
49
|
+
* @param {eventCallback} callback - Event callback function.
|
|
50
|
+
* @param {Object} sender - Event callback function owner.
|
|
51
|
+
*/
|
|
52
|
+
public on(name: string, callback: eventCallback, sender: any, priority?: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* Stop listening event name with specified callback function.
|
|
55
|
+
* @public
|
|
56
|
+
* @param {string} name - Event name.
|
|
57
|
+
* @param {eventCallback} callback - Attached event callback.
|
|
58
|
+
*/
|
|
59
|
+
public off(name: string, callback: eventCallback): void;
|
|
60
|
+
/**
|
|
61
|
+
* Dispatch event.
|
|
62
|
+
* @public
|
|
63
|
+
* @param {Object} event - Event instance property that created by event name.
|
|
64
|
+
* @param {Object} [obj] - Event object.
|
|
65
|
+
*/
|
|
66
|
+
public dispatch(event: any, ...args: any[]): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Brakes events propagation.
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
71
|
+
public stopPropagation(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Removes all events.
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
public clear(): void;
|
|
77
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents geographical coordinates extent.
|
|
3
|
+
* @class
|
|
4
|
+
* @param {LonLat} [sw] - South West extent corner coordiantes.
|
|
5
|
+
* @param {LonLat} [ne] - North East extent corner coordiantes.
|
|
6
|
+
*/
|
|
7
|
+
export class Extent {
|
|
8
|
+
/**
|
|
9
|
+
* Whole mercator extent.
|
|
10
|
+
* @const
|
|
11
|
+
*/
|
|
12
|
+
static get FULL_MERC(): Extent;
|
|
13
|
+
/**
|
|
14
|
+
* Degrees extent from north mercator limit to north pole.
|
|
15
|
+
* @const
|
|
16
|
+
*/
|
|
17
|
+
static get NORTH_POLE_DEG(): Extent;
|
|
18
|
+
/**
|
|
19
|
+
* Degrees extent from south pole to south mercator limit.
|
|
20
|
+
* @const
|
|
21
|
+
*/
|
|
22
|
+
static get SOUTH_POLE_DEG(): Extent;
|
|
23
|
+
/**
|
|
24
|
+
* Creates extent instance from values in array.
|
|
25
|
+
* @static
|
|
26
|
+
* @param {Array.<number>} arr - South west and north east longitude and latidudes packed in array. (exactly 4 entries)
|
|
27
|
+
* @return {Extent} Extent object.
|
|
28
|
+
*/
|
|
29
|
+
static createFromArray(arr: Array<number>): Extent;
|
|
30
|
+
/**
|
|
31
|
+
* Creates bound extent instance by coordinate array.
|
|
32
|
+
* @static
|
|
33
|
+
* @param {Array.<LonLat>} arr - Coordinate array.
|
|
34
|
+
* @return {Extent} Extent object.
|
|
35
|
+
*/
|
|
36
|
+
static createByCoordinates(arr: Array<LonLat>): Extent;
|
|
37
|
+
/**
|
|
38
|
+
* Creates bound extent instance by coordinate array.
|
|
39
|
+
* @static
|
|
40
|
+
* @param {Array.<Array<number>>} arr - Coordinate array. (exactly 2 entries)
|
|
41
|
+
* @return {Extent} Extent object.
|
|
42
|
+
*/
|
|
43
|
+
static createByCoordinatesArr(arr: Array<Array<number>>): Extent;
|
|
44
|
+
/**
|
|
45
|
+
* Creates extent by meractor grid tile coordinates.
|
|
46
|
+
* @static
|
|
47
|
+
* @param {number} x -
|
|
48
|
+
* @param {number} y -
|
|
49
|
+
* @param {number} z -
|
|
50
|
+
* @param {number} width -
|
|
51
|
+
* @param {number} height -
|
|
52
|
+
* @returns {Extent} -
|
|
53
|
+
*/
|
|
54
|
+
static fromTile(x: number, y: number, z: number, width: number, height: number): Extent;
|
|
55
|
+
/**
|
|
56
|
+
* @param {LonLat} [sw] - South West extent corner coordiantes.
|
|
57
|
+
* @param {LonLat} [ne] - North East extent corner coordiantes.
|
|
58
|
+
*/
|
|
59
|
+
constructor(sw?: LonLat, ne?: LonLat);
|
|
60
|
+
/**
|
|
61
|
+
* @public
|
|
62
|
+
*/
|
|
63
|
+
public southWest: LonLat;
|
|
64
|
+
/**
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
public northEast: LonLat;
|
|
68
|
+
/**
|
|
69
|
+
* Sets current bounding extent object by coordinate array.
|
|
70
|
+
* @public
|
|
71
|
+
* @param {Array.<LonLat>} arr - Coordinate array.
|
|
72
|
+
* @return {Extent} Current extent.
|
|
73
|
+
*/
|
|
74
|
+
public setByCoordinates(arr: Array<LonLat>): Extent;
|
|
75
|
+
/**
|
|
76
|
+
* Determines if point inside extent.
|
|
77
|
+
* @public
|
|
78
|
+
* @param {LonLat} lonlat - Coordinate point.
|
|
79
|
+
* @return {boolean} Returns true if point inside extent.
|
|
80
|
+
*/
|
|
81
|
+
public isInside(lonlat: LonLat): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Returns true if two extent overlap each other.
|
|
84
|
+
* @public
|
|
85
|
+
* @param {Extent} e - Another extent.
|
|
86
|
+
* @return {boolean} -
|
|
87
|
+
*/
|
|
88
|
+
public overlaps(e: Extent): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Gets extent width.
|
|
91
|
+
* @public
|
|
92
|
+
* @return {number} Extent width.
|
|
93
|
+
*/
|
|
94
|
+
public getWidth(): number;
|
|
95
|
+
/**
|
|
96
|
+
* Gets extent height.
|
|
97
|
+
* @public
|
|
98
|
+
* @return {number} Extent height.
|
|
99
|
+
*/
|
|
100
|
+
public getHeight(): number;
|
|
101
|
+
/**
|
|
102
|
+
* Creates clone instance of the current extent.
|
|
103
|
+
* @public
|
|
104
|
+
* @return {Extent} Extent clone.
|
|
105
|
+
*/
|
|
106
|
+
public clone(): Extent;
|
|
107
|
+
/**
|
|
108
|
+
* Gets the center coordinate of the extent.
|
|
109
|
+
* @public
|
|
110
|
+
* @return {number} Center coordinate.
|
|
111
|
+
*/
|
|
112
|
+
public getCenter(): number;
|
|
113
|
+
/**
|
|
114
|
+
* @public
|
|
115
|
+
*/
|
|
116
|
+
public getNorthWest(): LonLat;
|
|
117
|
+
/**
|
|
118
|
+
* @public
|
|
119
|
+
*/
|
|
120
|
+
public getNorthEast(): LonLat;
|
|
121
|
+
getSouthWest(): LonLat;
|
|
122
|
+
/**
|
|
123
|
+
* @public
|
|
124
|
+
*/
|
|
125
|
+
public getSouthEast(): LonLat;
|
|
126
|
+
/**
|
|
127
|
+
* @public
|
|
128
|
+
*/
|
|
129
|
+
public getNorth(): number;
|
|
130
|
+
getEast(): number;
|
|
131
|
+
/**
|
|
132
|
+
* @public
|
|
133
|
+
*/
|
|
134
|
+
public getWest(): number;
|
|
135
|
+
/**
|
|
136
|
+
* @public
|
|
137
|
+
*/
|
|
138
|
+
public getSouth(): number;
|
|
139
|
+
/**
|
|
140
|
+
* Returns extents are equals.
|
|
141
|
+
* @param {Extent} extent - Extent.
|
|
142
|
+
* @returns {boolean} -
|
|
143
|
+
*/
|
|
144
|
+
equals(extent: Extent): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Converts extent coordinates to mercator projection coordinates.
|
|
147
|
+
* @public
|
|
148
|
+
* @return {Extent} New instance of the current extent.
|
|
149
|
+
*/
|
|
150
|
+
public forwardMercator(): Extent;
|
|
151
|
+
/**
|
|
152
|
+
* Converts extent coordinates from mercator projection to degrees.
|
|
153
|
+
* @public
|
|
154
|
+
* @return {Extent} New instance of the current extent.
|
|
155
|
+
*/
|
|
156
|
+
public inverseMercator(): Extent;
|
|
157
|
+
/**
|
|
158
|
+
* Gets cartesian bounding bounds of the current ellipsoid.
|
|
159
|
+
* @public
|
|
160
|
+
* @param {Ellipsoid} ellipsoid - Ellipsoid.
|
|
161
|
+
* @return {Array.<number>} Cartesian 3d coordinate array. (exactly 6 entries)
|
|
162
|
+
*/
|
|
163
|
+
public getCartesianBounds(ellipsoid: Ellipsoid): Array<number>;
|
|
164
|
+
toString(): string;
|
|
165
|
+
}
|
|
166
|
+
import { LonLat } from "./LonLat.js";
|
package/types/Globe.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a WebGL context with globe.
|
|
3
|
+
* @class
|
|
4
|
+
*
|
|
5
|
+
* @example <caption>Basic initialization</caption>
|
|
6
|
+
* globus = new og.Globe({
|
|
7
|
+
* 'atmosphere': false,
|
|
8
|
+
* 'target': 'globus',
|
|
9
|
+
* 'name': 'Earth',
|
|
10
|
+
* 'controls': [
|
|
11
|
+
* new og.control.MouseNavigation({ autoActivate: true }),
|
|
12
|
+
* new og.control.KeyboardNavigation({ autoActivate: true }),
|
|
13
|
+
* new og.control.EarthCoordinates({ autoActivate: true, center: false }),
|
|
14
|
+
* new og.control.LayerSwitcher({ autoActivate: true }),
|
|
15
|
+
* new og.control.ZoomControl({ autoActivate: true }),
|
|
16
|
+
* new og.control.TouchNavigation({ autoActivate: true }),
|
|
17
|
+
* new og.control.Sun({ autoActivate: true })
|
|
18
|
+
* ],
|
|
19
|
+
* 'terrain': new og.terrain.GlobusTerrain(),
|
|
20
|
+
* 'layers': [
|
|
21
|
+
* new og.layer.XYZ("OpenStreetMap", { isBaseLayer: true, url: "http://b.tile.openstreetmap.org/{z}/{x}/{y}.png", visibility: true, attribution: 'Data @ <a href="http://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="http://www.openstreetmap.org/copyright">ODbL</a>' })
|
|
22
|
+
* ],
|
|
23
|
+
* 'autoActivate': true
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* @param {object} options - Options:
|
|
27
|
+
* @param {string} options.target - HTML element id where planet canvas have to be created.
|
|
28
|
+
* @param {RenderNode} [options.skybox] - Render skybox. null - default.
|
|
29
|
+
* @param {string} [options.name] - Planet name. Default is unic identifier.
|
|
30
|
+
* @param {Terrain} [options.terrain] - Terrain provider. Default no terrain - og.terrain.EmptyTerrain.
|
|
31
|
+
* @param {Array.<control.Control>} [options.controls] - Renderer controls array.
|
|
32
|
+
* @param {Array.<Layer>} [options.layers] - Planet layers.
|
|
33
|
+
* @param {Extent} [options.viewExtent] - Viewable starting extent.
|
|
34
|
+
* @param {boolean} [options.autoActivate] - Globe rendering auto activation flag. True is default.
|
|
35
|
+
* @param {DOMElement} [options.attributionContainer] - Container for attribution list.
|
|
36
|
+
* @param {Number} [options.maxGridSize] = Maximal segment grid size. 128 is default
|
|
37
|
+
* @param {boolean} [options.useSpecularTexture] - use specular water mask
|
|
38
|
+
* @param {boolean} [options.useNightTexture] - show night cities
|
|
39
|
+
* @param {Number} [options.maxAltitude=15000000.0] - Maximal camera altitude above terrain
|
|
40
|
+
* @param {Number} [options.minAltitude=1.0] - Minimal camera altitude above terrain
|
|
41
|
+
* @param {Number} [options.maxEqualZoomAltitude=15000000.0] - Maximal altitude since segments on the screen bacame the same zoom level
|
|
42
|
+
* @param {Number} [options.minEqualZoomAltitude=10000.0] - Minimal altitude since segments on the screen bacame the same zoom level
|
|
43
|
+
* @param {Number} [options.minEqualZoomCameraSlope=0.8] - Minimal camera slope above te globe where segments on the screen bacame the same zoom level
|
|
44
|
+
* @param {Number} [options.loadingBatchSize=12] -
|
|
45
|
+
*/
|
|
46
|
+
export class Globe {
|
|
47
|
+
static set _staticCounter(arg: any);
|
|
48
|
+
static get _staticCounter(): any;
|
|
49
|
+
/**
|
|
50
|
+
* @param {*} options
|
|
51
|
+
*/
|
|
52
|
+
constructor(options: any);
|
|
53
|
+
_canvas: HTMLCanvasElement;
|
|
54
|
+
div: any;
|
|
55
|
+
/**
|
|
56
|
+
* Interface for the renderer context(events, input states, renderer nodes etc.)
|
|
57
|
+
* @public
|
|
58
|
+
* @type {Renderer}
|
|
59
|
+
*/
|
|
60
|
+
public renderer: Renderer;
|
|
61
|
+
/**
|
|
62
|
+
* Planet node name. Access with this.renderer.<name>
|
|
63
|
+
* @private
|
|
64
|
+
* @type {String}
|
|
65
|
+
*/
|
|
66
|
+
private _planetName;
|
|
67
|
+
planet: Planet;
|
|
68
|
+
sun: any;
|
|
69
|
+
_opacityCounter: number;
|
|
70
|
+
_fadeHandler: any;
|
|
71
|
+
_stopHandler: any;
|
|
72
|
+
/**
|
|
73
|
+
* Starts screen brightness fading in effect by the duration time.
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
public fadeIn(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Starts screen brightness fading out effect by the duration time.
|
|
79
|
+
* @public
|
|
80
|
+
* @param {number} duration - Fadeout duration time.
|
|
81
|
+
*/
|
|
82
|
+
public fadeOut(): void;
|
|
83
|
+
}
|
|
84
|
+
import { Renderer } from "./renderer/Renderer.js";
|
|
85
|
+
import { Planet } from "./scene/Planet.js";
|