@openglobus/og 0.13.5 → 0.13.8
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 +66 -25
- package/dist/@openglobus/og.css +1 -1
- package/dist/@openglobus/og.esm.js +2 -2
- package/dist/@openglobus/og.esm.js.map +1 -1
- package/dist/@openglobus/og.umd.js +2 -2
- package/dist/@openglobus/og.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/og/Events.js +188 -188
- package/src/og/Extent.js +1 -9
- package/src/og/Globe.js +1 -0
- package/src/og/Object3d.js +384 -0
- package/src/og/arial.js +1705 -1703
- package/src/og/camera/Camera.js +640 -640
- package/src/og/control/DebugInfo.js +15 -4
- package/src/og/control/EarthCoordinates.js +151 -160
- package/src/og/control/KeyboardNavigation.js +48 -2
- package/src/og/control/LayerAnimation.js +115 -0
- package/src/og/control/MouseNavigation.js +460 -460
- package/src/og/control/Sun.js +170 -170
- package/src/og/control/TouchNavigation.js +13 -13
- package/src/og/control/ZoomControl.js +1 -3
- package/src/og/control/index.js +3 -1
- package/src/og/control/ruler/Ruler.js +43 -0
- package/src/og/control/ruler/RulerScene.js +370 -0
- package/src/og/control/visibleExtent/Segment.js +1 -4
- package/src/og/ellipsoid/Ellipsoid.js +20 -1
- package/src/og/entity/Entity.js +1 -1
- package/src/og/entity/GeoObject.js +1 -1
- package/src/og/entity/LabelHandler.js +3 -2
- package/src/og/input/input.js +7 -1
- package/src/og/layer/CanvasTiles.js +8 -8
- package/src/og/layer/KML.js +181 -12
- package/src/og/layer/Layer.js +27 -42
- package/src/og/layer/Vector.js +80 -14
- package/src/og/layer/XYZ.js +8 -2
- package/src/og/math/Vec3.js +1 -1
- package/src/og/math.js +4 -4
- package/src/og/quadTree/Node.js +2 -1
- package/src/og/renderer/Renderer.js +1 -2
- package/src/og/renderer/RendererEvents.js +17 -3
- package/src/og/res/images.js +0 -2
- package/src/og/scene/Planet.js +92 -32
- package/src/og/segment/Segment.js +1 -8
- package/src/og/shaders/label.js +30 -42
- package/src/og/terrain/EmptyTerrain.js +164 -146
- package/src/og/terrain/Geoid.js +246 -241
- package/src/og/terrain/GlobusTerrain.js +23 -24
- package/src/og/terrain/MapboxTerrain.js +292 -294
- package/src/og/utils/FontAtlas.js +1 -2
- package/src/og/utils/Loader.js +160 -112
- package/src/og/utils/PlainSegmentWorker.js +38 -26
- package/src/og/utils/VectorTileCreator.js +1 -1
- package/src/og/utils/units.js +78 -0
- package/src/og/webgl/ProgramController.js +143 -143
- package/types/Object3d.d.ts +21 -0
- package/types/arial.d.ts +1 -0
- package/types/control/EarthCoordinates.d.ts +27 -30
- package/types/control/KeyboardNavigation.d.ts +3 -0
- package/types/control/Sun.d.ts +1 -1
- package/types/control/index.d.ts +2 -1
- package/types/control/ruler/Ruler.d.ts +13 -0
- package/types/control/ruler/RulerScene.d.ts +48 -0
- package/types/ellipsoid/Ellipsoid.d.ts +8 -0
- package/types/input/input.d.ts +6 -0
- package/types/layer/KML.d.ts +26 -1
- package/types/layer/Layer.d.ts +23 -31
- package/types/layer/Vector.d.ts +2 -0
- package/types/layer/XYZ.d.ts +1 -0
- package/types/math.d.ts +1 -1
- package/types/renderer/RendererEvents.d.ts +2 -0
- package/types/res/images.d.ts +0 -1
- package/types/scene/Planet.d.ts +12 -3
- package/types/terrain/EmptyTerrain.d.ts +4 -1
- package/types/terrain/Geoid.d.ts +1 -10
- package/types/terrain/GlobusTerrain.d.ts +0 -2
- package/types/terrain/MapboxTerrain.d.ts +1 -1
- package/types/utils/Loader.d.ts +4 -0
- package/types/utils/units.d.ts +20 -0
|
@@ -1,47 +1,44 @@
|
|
|
1
|
-
export function earthCoordinates(options: any): EarthCoordinates;
|
|
2
1
|
/**
|
|
3
2
|
* Control displays mouse or screen center Earth coordinates.
|
|
4
3
|
* @class
|
|
5
|
-
* @extends {Control}
|
|
4
|
+
* @extends {og.control.Control}
|
|
6
5
|
* @param {Object} [options] - Options:
|
|
7
6
|
* @param {Boolean} [options.center] - Earth coordiantes by screen center otherwise mouse pointer. False is default.
|
|
8
7
|
* @param {Boolean} [options.type] - Coordinates shown: 0 - is decimal degrees, 1 - degrees, 2 - mercator geodetic coordinates.
|
|
9
8
|
*/
|
|
10
|
-
export class EarthCoordinates
|
|
9
|
+
export class EarthCoordinates {
|
|
10
|
+
constructor(options: any);
|
|
11
11
|
/**
|
|
12
12
|
* Display type.
|
|
13
13
|
* @private
|
|
14
14
|
* @type {Boolean}
|
|
15
15
|
*/
|
|
16
|
-
private
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* @private
|
|
20
|
-
* @function
|
|
21
|
-
*/
|
|
22
|
-
private _converter;
|
|
23
|
-
/**
|
|
24
|
-
* Display dom element.
|
|
25
|
-
* @private
|
|
26
|
-
* @type {Object}
|
|
27
|
-
*/
|
|
28
|
-
private _display;
|
|
29
|
-
_center: any;
|
|
30
|
-
_centerDiv: HTMLDivElement;
|
|
16
|
+
private _type;
|
|
17
|
+
_TYPE_FUNC: ((ll: any) => void)[];
|
|
18
|
+
_showFn: any;
|
|
31
19
|
/**
|
|
32
20
|
* Current position.
|
|
33
21
|
* @public
|
|
34
|
-
* @type {Vec3}
|
|
35
|
-
*/
|
|
36
|
-
public position: Vec3;
|
|
37
|
-
/**
|
|
38
|
-
* Sets coordinates capturing type.
|
|
39
|
-
* @public
|
|
40
|
-
* @param {Boolean} center - True - capture screen center, false - mouse pointer.
|
|
22
|
+
* @type {og.Vec3}
|
|
41
23
|
*/
|
|
42
|
-
public
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
24
|
+
public _lonLat: og.Vec3;
|
|
25
|
+
_latSideEl: Element;
|
|
26
|
+
_lonSideEl: Element;
|
|
27
|
+
_latValEl: Element;
|
|
28
|
+
_lonValEl: Element;
|
|
29
|
+
_heightEl: Element;
|
|
30
|
+
_altUnitVal: any;
|
|
31
|
+
_heightModeVal: any;
|
|
32
|
+
_altUnit: any;
|
|
33
|
+
_heightMode: any;
|
|
34
|
+
_centerMode: any;
|
|
35
|
+
_SHOW_DECIMAL(ll: any): void;
|
|
36
|
+
_SHOW_DEGREE(ll: any): void;
|
|
37
|
+
_createCenterEl(): HTMLDivElement;
|
|
38
|
+
_updateUnits(): void;
|
|
39
|
+
_refreshCoordinates(): void;
|
|
40
|
+
oninit(): void;
|
|
41
|
+
_el: HTMLDivElement;
|
|
42
|
+
_grabCoordinates(px: any): void;
|
|
43
|
+
_showHeight(): Promise<void>;
|
|
46
44
|
}
|
|
47
|
-
import { Control } from "./Control.js";
|
|
@@ -13,8 +13,11 @@ export class KeyboardNavigation extends Control {
|
|
|
13
13
|
onCameraStrifeRight(event: any): void;
|
|
14
14
|
onCameraLookUp(event: any): void;
|
|
15
15
|
onCameraLookDown(event: any): void;
|
|
16
|
+
onCameraLookLeft(event: any): void;
|
|
17
|
+
onCameraLookRight(event: any): void;
|
|
16
18
|
onCameraTurnLeft(event: any): void;
|
|
17
19
|
onCameraTurnRight(event: any): void;
|
|
20
|
+
onCameraRollNorth(event: any): void;
|
|
18
21
|
onCameraRollLeft(event: any): void;
|
|
19
22
|
onCameraRollRight(event: any): void;
|
|
20
23
|
}
|
package/types/control/Sun.d.ts
CHANGED
package/types/control/index.d.ts
CHANGED
|
@@ -15,4 +15,5 @@ import { Sun } from "./Sun.js";
|
|
|
15
15
|
import { ZoomControl } from "./ZoomControl.js";
|
|
16
16
|
import { MouseWheelZoomControl } from "./MouseWheelZoomControl.js";
|
|
17
17
|
import { Lighting } from "./Lighting.js";
|
|
18
|
-
|
|
18
|
+
import { Ruler } from "./ruler/Ruler.js";
|
|
19
|
+
export { Control, CompassButton, DebugInfo, EarthNavigation, EarthCoordinates, GeoImageDragControl, KeyboardNavigation, LayerSwitcher, MouseNavigation, ToggleWireframe, TouchNavigation, SimpleNavigation, ShowFps, Sun, ZoomControl, MouseWheelZoomControl, Lighting, Ruler };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Activate ruler
|
|
3
|
+
* @class
|
|
4
|
+
* @extends {Control}
|
|
5
|
+
* @param {Object} [options] - Control options.
|
|
6
|
+
*/
|
|
7
|
+
export class Ruler extends Control {
|
|
8
|
+
constructor(options?: {});
|
|
9
|
+
_rulerScene: RulerScene;
|
|
10
|
+
set ignoreTerrain(arg: any);
|
|
11
|
+
}
|
|
12
|
+
import { Control } from "../Control.js";
|
|
13
|
+
import { RulerScene } from "./RulerScene.js";
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export class RulerScene extends RenderNode {
|
|
2
|
+
constructor(options?: {});
|
|
3
|
+
_ignoreTerrain: any;
|
|
4
|
+
_planet: any;
|
|
5
|
+
_startLonLat: any;
|
|
6
|
+
_preventClick: boolean;
|
|
7
|
+
_stopDrawing: boolean;
|
|
8
|
+
_pickedCorner: any;
|
|
9
|
+
_startPos: any;
|
|
10
|
+
_startClick: Vec2;
|
|
11
|
+
_heading: number;
|
|
12
|
+
_propsLabel: Entity;
|
|
13
|
+
_trackEntity: Entity;
|
|
14
|
+
_cornerEntity: Entity[];
|
|
15
|
+
_trackLayer: Vector;
|
|
16
|
+
_cornersLayer: Vector;
|
|
17
|
+
set ignoreTerrain(arg: any);
|
|
18
|
+
bindPlanet(planet: any): void;
|
|
19
|
+
init(): void;
|
|
20
|
+
_activate(): void;
|
|
21
|
+
_onLclick_: any;
|
|
22
|
+
_onMouseMove_: any;
|
|
23
|
+
_onLdblclick_: any;
|
|
24
|
+
_onCornerEnter_: any;
|
|
25
|
+
_onCornerLeave_: any;
|
|
26
|
+
_onCornerLdown_: any;
|
|
27
|
+
_onCornerLup_: any;
|
|
28
|
+
_deactivate(): void;
|
|
29
|
+
_onCornerLdown(e: any): void;
|
|
30
|
+
_anchorLonLat: LonLat;
|
|
31
|
+
_onCornerLup(e: any): void;
|
|
32
|
+
_onCornerEnter(e: any): void;
|
|
33
|
+
_onCornerLeave(e: any): void;
|
|
34
|
+
_onLdblclick(): void;
|
|
35
|
+
_onLclick(e: any): void;
|
|
36
|
+
_timeout: any;
|
|
37
|
+
_drawLine(startLonLat: any, endLonLat: any, startPos: any): void;
|
|
38
|
+
_onMouseMove(e: any): void;
|
|
39
|
+
clear(): void;
|
|
40
|
+
getScale(cart: any): number;
|
|
41
|
+
frame(): void;
|
|
42
|
+
get ellipsoid(): any;
|
|
43
|
+
}
|
|
44
|
+
import { RenderNode } from "../../scene/RenderNode.js";
|
|
45
|
+
import { Vec2 } from "../../math/Vec2.js";
|
|
46
|
+
import { Entity } from "../../entity/Entity.js";
|
|
47
|
+
import { Vector } from "../../layer/Vector.js";
|
|
48
|
+
import { LonLat } from "../../LonLat.js";
|
|
@@ -67,6 +67,14 @@ export class Ellipsoid {
|
|
|
67
67
|
_radii2: Vec3;
|
|
68
68
|
_invRadii: Vec3;
|
|
69
69
|
_invRadii2: Vec3;
|
|
70
|
+
/**
|
|
71
|
+
* Returns the distance travelling from ‘this’ point to destination point along a rhumb line.
|
|
72
|
+
*
|
|
73
|
+
* @param {LonLat} start coordinates.
|
|
74
|
+
* @param {LonLat} end coordinates
|
|
75
|
+
* @returns {number} Distance in m between this point and destination point (same units as radius).
|
|
76
|
+
*/
|
|
77
|
+
rhumbDistanceTo(startLonLat: any, endLonLat: any): number;
|
|
70
78
|
/**
|
|
71
79
|
* Gets ellipsoid equatorial size.
|
|
72
80
|
* @public
|
package/types/input/input.d.ts
CHANGED
|
@@ -3,11 +3,14 @@ export namespace input {
|
|
|
3
3
|
const KEY_ALT: number;
|
|
4
4
|
const KEY_SHIFT: number;
|
|
5
5
|
const KEY_SPACE: number;
|
|
6
|
+
const KEY_PGUP: number;
|
|
7
|
+
const KEY_PGDN: number;
|
|
6
8
|
const KEY_LEFT: number;
|
|
7
9
|
const KEY_UP: number;
|
|
8
10
|
const KEY_RIGHT: number;
|
|
9
11
|
const KEY_DOWN: number;
|
|
10
12
|
const KEY_PRINTSCREEN: number;
|
|
13
|
+
const KEY_EQUALS: number;
|
|
11
14
|
const KEY_A: number;
|
|
12
15
|
const KEY_C: number;
|
|
13
16
|
const KEY_D: number;
|
|
@@ -17,6 +20,7 @@ export namespace input {
|
|
|
17
20
|
const KEY_I: number;
|
|
18
21
|
const KEY_K: number;
|
|
19
22
|
const KEY_L: number;
|
|
23
|
+
const KEY_N: number;
|
|
20
24
|
const KEY_O: number;
|
|
21
25
|
const KEY_P: number;
|
|
22
26
|
const KEY_Q: number;
|
|
@@ -26,7 +30,9 @@ export namespace input {
|
|
|
26
30
|
const KEY_W: number;
|
|
27
31
|
const KEY_X: number;
|
|
28
32
|
const KEY_Z: number;
|
|
33
|
+
const KEY_PLUS: number;
|
|
29
34
|
const KEY_F1: number;
|
|
35
|
+
const KEY_MINUS: number;
|
|
30
36
|
const KEY_APOSTROPHE: number;
|
|
31
37
|
const MB_LEFT: number;
|
|
32
38
|
const MB_RIGHT: number;
|
package/types/layer/KML.d.ts
CHANGED
|
@@ -13,6 +13,31 @@ export class KML extends Vector {
|
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
15
15
|
public _extractCoordonatesFromKml(xmlDoc: any): any[];
|
|
16
|
+
/**
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
private _AGBRtoRGBA;
|
|
20
|
+
/**
|
|
21
|
+
* @private
|
|
22
|
+
returns array of longitude, latitude, altitude (altitude optional)
|
|
23
|
+
*/
|
|
24
|
+
private _parseKMLcoordinates;
|
|
25
|
+
/**
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
private _kmlPlacemarkToEntity;
|
|
29
|
+
_extractStyle(placemark: any): {
|
|
30
|
+
iconHeading: number;
|
|
31
|
+
iconURL: any;
|
|
32
|
+
iconColor: string;
|
|
33
|
+
lineWidth: number;
|
|
34
|
+
lineColor: string;
|
|
35
|
+
};
|
|
36
|
+
_parseKML(xml: any, extent: any, entities?: any): any;
|
|
37
|
+
_convertKMLintoEntities(xml: any): {
|
|
38
|
+
entities: any;
|
|
39
|
+
extent: Extent;
|
|
40
|
+
};
|
|
16
41
|
/**
|
|
17
42
|
* Creates billboards or polylines from array of lonlat.
|
|
18
43
|
* @public
|
|
@@ -63,6 +88,6 @@ export class KML extends Vector {
|
|
|
63
88
|
}>;
|
|
64
89
|
}
|
|
65
90
|
import { Vector } from "./Vector.js";
|
|
91
|
+
import { Extent } from "../Extent.js";
|
|
66
92
|
import { Entity } from "../entity/Entity.js";
|
|
67
93
|
import { Billboard } from "../entity/Billboard.js";
|
|
68
|
-
import { Extent } from "../Extent.js";
|
package/types/layer/Layer.d.ts
CHANGED
|
@@ -19,29 +19,29 @@ export const FADING_FACTOR: 0.29;
|
|
|
19
19
|
* @fires og.Layer#visibilitychange
|
|
20
20
|
* @fires og.Layer#add
|
|
21
21
|
* @fires og.Layer#remove
|
|
22
|
-
* @fires og.layer.
|
|
23
|
-
* @fires og.layer.
|
|
24
|
-
* @fires og.layer.
|
|
25
|
-
* @fires og.layer.
|
|
26
|
-
* @fires og.layer.
|
|
27
|
-
* @fires og.layer.
|
|
28
|
-
* @fires og.layer.
|
|
29
|
-
* @fires og.layer.
|
|
30
|
-
* @fires og.layer.
|
|
31
|
-
* @fires og.layer.
|
|
32
|
-
* @fires og.layer.
|
|
33
|
-
* @fires og.layer.
|
|
34
|
-
* @fires og.layer.
|
|
35
|
-
* @fires og.layer.
|
|
36
|
-
* @fires og.layer.
|
|
37
|
-
* @fires og.layer.
|
|
38
|
-
* @fires og.layer.
|
|
39
|
-
* @fires og.layer.
|
|
40
|
-
* @fires og.layer.
|
|
41
|
-
* @fires og.layer.
|
|
42
|
-
* @fires og.layer.
|
|
43
|
-
* @fires og.layer.
|
|
44
|
-
* @fires og.layer.
|
|
22
|
+
* @fires og.layer.Layer#mousemove
|
|
23
|
+
* @fires og.layer.Layer#mouseenter
|
|
24
|
+
* @fires og.layer.Layer#mouseleave
|
|
25
|
+
* @fires og.layer.Layer#lclick
|
|
26
|
+
* @fires og.layer.Layer#rclick
|
|
27
|
+
* @fires og.layer.Layer#mclick
|
|
28
|
+
* @fires og.layer.Layer#ldblclick
|
|
29
|
+
* @fires og.layer.Layer#rdblclick
|
|
30
|
+
* @fires og.layer.Layer#mdblclick
|
|
31
|
+
* @fires og.layer.Layer#lup
|
|
32
|
+
* @fires og.layer.Layer#rup
|
|
33
|
+
* @fires og.layer.Layer#mup
|
|
34
|
+
* @fires og.layer.Layer#ldown
|
|
35
|
+
* @fires og.layer.Layer#rdown
|
|
36
|
+
* @fires og.layer.Layer#mdown
|
|
37
|
+
* @fires og.layer.Layer#lhold
|
|
38
|
+
* @fires og.layer.Layer#rhold
|
|
39
|
+
* @fires og.layer.Layer#mhold
|
|
40
|
+
* @fires og.layer.Layer#mousewheel
|
|
41
|
+
* @fires og.layer.Layer#touchmove
|
|
42
|
+
* @fires og.layer.Layer#touchstart
|
|
43
|
+
* @fires og.layer.Layer#touchend
|
|
44
|
+
* @fires og.layer.Layer#doubletouch
|
|
45
45
|
*/
|
|
46
46
|
export class Layer {
|
|
47
47
|
static getTMS(x: any, y: any, z: any): {
|
|
@@ -52,14 +52,6 @@ export class Layer {
|
|
|
52
52
|
static getTileIndex(...arr: any[]): string;
|
|
53
53
|
static set __layersCounter(arg: any);
|
|
54
54
|
static get __layersCounter(): any;
|
|
55
|
-
static set __requestsCounter(arg: any);
|
|
56
|
-
static get __requestsCounter(): any;
|
|
57
|
-
/**
|
|
58
|
-
* Maximum loading queries at one time.
|
|
59
|
-
* @const
|
|
60
|
-
* @type {number}
|
|
61
|
-
*/
|
|
62
|
-
static get MAX_REQUESTS(): number;
|
|
63
55
|
constructor(name: any, options?: {});
|
|
64
56
|
/**
|
|
65
57
|
* Layer user name.
|
package/types/layer/Vector.d.ts
CHANGED
|
@@ -76,6 +76,7 @@ export class Vector extends Layer {
|
|
|
76
76
|
private _entities;
|
|
77
77
|
_stripEntityCollection: EntityCollection;
|
|
78
78
|
_polylineEntityCollection: EntityCollection;
|
|
79
|
+
_geoObjectEntityCollection: EntityCollection;
|
|
79
80
|
_geometryHandler: GeometryHandler;
|
|
80
81
|
_entityCollectionsTree: EntityCollectionNode;
|
|
81
82
|
_entityCollectionsTreeNorth: EntityCollectionNodeWGS84;
|
|
@@ -171,6 +172,7 @@ export class Vector extends Layer {
|
|
|
171
172
|
_bindEventsDefault(entityCollection: any): void;
|
|
172
173
|
_collectStripCollectionPASS(outArr: any): void;
|
|
173
174
|
_collectPolylineCollectionPASS(outArr: any): void;
|
|
175
|
+
_collectGeoObjectCollectionPASS(outArr: any): void;
|
|
174
176
|
collectVisibleCollections(outArr: any): void;
|
|
175
177
|
_secondPASS: any[];
|
|
176
178
|
_queueDeferredNode(node: any): void;
|
package/types/layer/XYZ.d.ts
CHANGED
package/types/math.d.ts
CHANGED
|
@@ -91,7 +91,7 @@ export function mod(m: number, n: number): number;
|
|
|
91
91
|
*/
|
|
92
92
|
export function zeroTwoPI(a: number): number;
|
|
93
93
|
/**
|
|
94
|
-
* Returns 0.0 if x is smaller
|
|
94
|
+
* Returns 0.0 if x is smaller than edge and otherwise 1.0.
|
|
95
95
|
* @function
|
|
96
96
|
* @param {number} edge -
|
|
97
97
|
* @param {number} x - Value to edge.
|
|
@@ -134,6 +134,8 @@ export class RendererEvents extends Events {
|
|
|
134
134
|
prev_x: number;
|
|
135
135
|
/** Previous touch Y coordinate. */
|
|
136
136
|
prev_y: number;
|
|
137
|
+
/** Screen touch position world direction. */
|
|
138
|
+
direction: Vec3;
|
|
137
139
|
/** JavaScript touching system event message. */
|
|
138
140
|
sys: any;
|
|
139
141
|
/** Current touched(picking) object. */
|