@openglobus/og 0.13.7 → 0.13.10

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.
Files changed (106) hide show
  1. package/README.md +1 -1
  2. package/css/og.css +388 -129
  3. package/dist/@openglobus/og.css +1 -1
  4. package/dist/@openglobus/og.esm.js +2 -2
  5. package/dist/@openglobus/og.esm.js.map +1 -1
  6. package/dist/@openglobus/og.umd.js +2 -2
  7. package/dist/@openglobus/og.umd.js.map +1 -1
  8. package/package.json +20 -19
  9. package/src/og/Globe.js +15 -16
  10. package/src/og/Object3d.js +417 -0
  11. package/src/og/arial.js +1705 -1703
  12. package/src/og/camera/Camera.js +640 -640
  13. package/src/og/control/EarthCoordinates.js +1 -1
  14. package/src/og/control/GeoImageDragControl.js +102 -75
  15. package/src/og/control/LayerAnimation.js +383 -0
  16. package/src/og/control/LayerSwitcher.js +506 -159
  17. package/src/og/control/Lighting.js +27 -27
  18. package/src/og/control/MouseNavigation.js +460 -460
  19. package/src/og/control/RulerSwitcher.js +69 -0
  20. package/src/og/control/Sun.js +170 -170
  21. package/src/og/control/UIhelpers.js +146 -0
  22. package/src/og/control/ZoomControl.js +0 -2
  23. package/src/og/control/index.js +5 -1
  24. package/src/og/control/ruler/Ruler.js +43 -0
  25. package/src/og/control/ruler/RulerScene.js +374 -0
  26. package/src/og/control/visibleExtent/Segment.js +3 -5
  27. package/src/og/ellipsoid/Ellipsoid.js +19 -0
  28. package/src/og/ellipsoid/wgs84.js +1 -1
  29. package/src/og/entity/Entity.js +1 -1
  30. package/src/og/entity/GeoObject.js +1 -1
  31. package/src/og/entity/LabelHandler.js +6 -2
  32. package/src/og/entity/LabelWorker.js +38 -53
  33. package/src/og/layer/BaseGeoImage.js +347 -312
  34. package/src/og/layer/CanvasTiles.js +312 -290
  35. package/src/og/layer/GeoImage.js +222 -214
  36. package/src/og/layer/GeoVideo.js +291 -291
  37. package/src/og/layer/Layer.js +94 -70
  38. package/src/og/layer/Material.js +109 -109
  39. package/src/og/layer/Vector.js +81 -14
  40. package/src/og/layer/XYZ.js +23 -11
  41. package/src/og/light/LightSource.js +364 -363
  42. package/src/og/math/Vec3.js +1 -1
  43. package/src/og/math.js +6 -6
  44. package/src/og/quadTree/Node.js +8 -6
  45. package/src/og/renderer/Renderer.js +2 -3
  46. package/src/og/res/images.js +0 -2
  47. package/src/og/scene/Planet.js +106 -44
  48. package/src/og/segment/Segment.js +34 -64
  49. package/src/og/segment/Slice.js +1 -1
  50. package/src/og/shaders/drawnode.js +1 -1
  51. package/src/og/shaders/label.js +30 -42
  52. package/src/og/terrain/GlobusTerrain.js +31 -20
  53. package/src/og/terrain/MapboxTerrain.js +1 -1
  54. package/src/og/utils/BaseWorker.js +46 -0
  55. package/src/og/utils/FontAtlas.js +1 -2
  56. package/src/og/utils/GeoImageCreator.js +164 -161
  57. package/src/og/utils/Loader.js +187 -153
  58. package/src/og/utils/NormalMapCreator.js +403 -412
  59. package/src/og/utils/PlainSegmentWorker.js +29 -55
  60. package/src/og/utils/TerrainWorker.js +572 -589
  61. package/src/og/utils/VectorTileCreator.js +1 -1
  62. package/src/og/utils/functionComposition.js +13 -0
  63. package/src/og/webgl/Handler.js +42 -41
  64. package/src/og/webgl/ProgramController.js +143 -143
  65. package/types/Object3d.d.ts +22 -0
  66. package/types/arial.d.ts +1 -0
  67. package/types/camera/PlanetCamera.d.ts +4 -0
  68. package/types/control/GeoImageDragControl.d.ts +2 -0
  69. package/types/control/LayerAnimation.d.ts +73 -0
  70. package/types/control/LayerSwitcher.d.ts +55 -11
  71. package/types/control/MouseNavigation.d.ts +1 -0
  72. package/types/control/MouseWheelZoomControl.d.ts +1 -0
  73. package/types/control/Sun.d.ts +2 -1
  74. package/types/control/TouchNavigation.d.ts +1 -0
  75. package/types/control/UIhelpers.d.ts +13 -0
  76. package/types/control/index.d.ts +3 -1
  77. package/types/control/ruler/Ruler.d.ts +13 -0
  78. package/types/control/ruler/RulerScene.d.ts +48 -0
  79. package/types/ellipsoid/Ellipsoid.d.ts +8 -0
  80. package/types/entity/LabelHandler.d.ts +2 -0
  81. package/types/entity/LabelWorker.d.ts +5 -7
  82. package/types/layer/BaseGeoImage.d.ts +9 -1
  83. package/types/layer/CanvasTiles.d.ts +5 -1
  84. package/types/layer/GeoImage.d.ts +1 -0
  85. package/types/layer/GeoTexture2d.d.ts +1 -0
  86. package/types/layer/Layer.d.ts +28 -32
  87. package/types/layer/Vector.d.ts +9 -0
  88. package/types/layer/WMS.d.ts +1 -0
  89. package/types/layer/XYZ.d.ts +8 -5
  90. package/types/math.d.ts +2 -2
  91. package/types/quadTree/EntityCollectionNode.d.ts +7 -0
  92. package/types/quadTree/Node.d.ts +1 -2
  93. package/types/renderer/Renderer.d.ts +1 -1
  94. package/types/renderer/RendererEvents.d.ts +16 -0
  95. package/types/res/images.d.ts +0 -1
  96. package/types/scene/Planet.d.ts +21 -6
  97. package/types/segment/SegmentLonLat.d.ts +2 -0
  98. package/types/terrain/BilTerrain.d.ts +6 -0
  99. package/types/terrain/GlobusTerrain.d.ts +7 -0
  100. package/types/terrain/MapboxTerrain.d.ts +8 -0
  101. package/types/utils/BaseWorker.d.ts +14 -0
  102. package/types/utils/Loader.d.ts +4 -1
  103. package/types/utils/PlainSegmentWorker.d.ts +4 -6
  104. package/types/utils/TerrainWorker.d.ts +4 -6
  105. package/types/utils/functionComposition.d.ts +5 -0
  106. package/types/webgl/Handler.d.ts +4 -1
@@ -203,6 +203,10 @@ export class PlanetCamera extends Camera {
203
203
  * @param {number} angle - Rotation angle.
204
204
  */
205
205
  public rotateDown(angle: number): void;
206
+ rotateVertical(angle: any, center: any, minSlope?: number): void;
207
+ _u: any;
208
+ _r: any;
209
+ _b: any;
206
210
  /**
207
211
  * Prepare camera to the frame. Used in render node frame function.
208
212
  * @public
@@ -1,6 +1,8 @@
1
1
  export class GeoImageDragControl extends Control {
2
+ constructor(options?: {});
2
3
  _cornerIndex: number;
3
4
  _catchCorner: boolean;
5
+ createDraggerButton(): void;
4
6
  _bindLayer(layer: any): void;
5
7
  }
6
8
  import { Control } from "./Control.js";
@@ -0,0 +1,73 @@
1
+ export function layerAnimation(options: any): any;
2
+ /**
3
+ *
4
+ * @class
5
+ * @extends {Control}
6
+ * @param {Object} [options] - Control options.
7
+ */
8
+ export class LayerAnimation extends Control {
9
+ constructor(options?: {});
10
+ events: Events;
11
+ _layersArr: any[];
12
+ _currentIndex: number;
13
+ _playInterval: any;
14
+ _playIntervalHandler: number;
15
+ _playIndex: number;
16
+ _frameSize: any;
17
+ repeat: any;
18
+ skipTimeout: any;
19
+ _timeoutStart: number;
20
+ _onViewchange(): void;
21
+ _getFramesNum(): number;
22
+ _setFrame(frameIndex: any): void;
23
+ _getFrameIndex(layerIndex: any): number;
24
+ _appendFrameToPlanet(frameIndex: any): void;
25
+ _removeFrameFromPlanet(frameIndex: any): void;
26
+ _onLayerLoadend_: any;
27
+ _onViewchange_: any;
28
+ _onVisibityChange_: any;
29
+ _onVisibityChange(isVisible: any): void;
30
+ clear(): void;
31
+ _currVisibleIndex: number;
32
+ _initLayers(): void;
33
+ setLayers(layers: any): void;
34
+ appendLayer(layer: any): void;
35
+ /**
36
+ * warning: Use XYZ.isIdle in requesAnimationFrame(after setVisibility)
37
+ * @returns {boolean} Returns truw if current layer is idle
38
+ */
39
+ get isIdle(): boolean;
40
+ set playInterval(arg: any);
41
+ get playInterval(): any;
42
+ get isPlaying(): boolean;
43
+ get layers(): any[];
44
+ _checkEnd(): void;
45
+ play(): void;
46
+ stop(): void;
47
+ pause(): void;
48
+ _clearInterval(): void;
49
+ /**
50
+ * Waiting for the current index layer loadend and make it non transparent,
51
+ * and make prev layer transparent, also check previous frame index to cleanup.
52
+ * @param {Layer} layer
53
+ * @private
54
+ */
55
+ private _onLayerLoadend;
56
+ /**
57
+ * Function sets layer index visible.
58
+ * @param {number} index
59
+ * @param {boolean} [stopPropagation]
60
+ */
61
+ setCurrentIndex(index: number, stopPropagation?: boolean): void;
62
+ /**
63
+ * Function sets layer index visible. If the layer is idle (all visible tiles loaded), sets opacity to one,
64
+ * otherwise to ZERO it means that when all visible tiles will be loaded the opacity becomes ONE. So, previous
65
+ * layer remains non transparent (opacity = 1) till current layer is loading.
66
+ * @param {number} index
67
+ * @param {boolean} [forceVisibility]
68
+ * @param {boolean} [stopPropagation]
69
+ */
70
+ _setCurrentIndexAsync(index: number, forceVisibility?: boolean, stopPropagation?: boolean): void;
71
+ }
72
+ import { Control } from "./Control.js";
73
+ import { Events } from "../Events.js";
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Simple(OpenLayers like)layer switcher, includes base layers, overlays, geo images etc. groups.
2
+ * Advanced :) layer switcher, includes base layers, overlays, geo images etc. groups.
3
+ * Double click for zoom, drag-and-drop to change zIndex
3
4
  * @class
4
5
  * @extends {Control}
5
6
  * @param {Object} [options] - Control options.
@@ -7,15 +8,58 @@
7
8
  export class LayerSwitcher extends Control {
8
9
  static set numSwitches(arg: any);
9
10
  static get numSwitches(): any;
10
- dialog: HTMLDivElement;
11
- baseLayersDiv: HTMLDivElement;
12
- overlaysDiv: HTMLDivElement;
13
- onLayerAdded(layer: any): void;
14
- onLayerRemoved(layer: any): void;
15
- addSwitcher(type: any, obj: any, container: any, id?: string): void;
16
- createBaseLayersContainer(): void;
17
- createOverlaysContainer(): void;
18
- createDialog(): void;
19
- createSwitcher(): void;
11
+ constructor(options?: {});
12
+ switcherDependent: any;
13
+ expandedSections: any;
14
+ switcherInMenu: any;
15
+ docListener: any;
16
+ setupSwitcher(): void;
17
+ planetDataBasic(): {
18
+ collectTerrains: (planet: any) => any[];
19
+ collectLayers: (planet: any) => any;
20
+ pickBaseLayers: (layers: any) => any;
21
+ pickOverlays: (layers: any) => any;
22
+ classifyObject: (object: any) => "Terrain Providers" | "Overlays" | "BaseLayers";
23
+ sortByZIndex: (layers: any) => any;
24
+ serializeZIndices: (layers: any) => any;
25
+ normalizeOverlay: (overlay: any) => any;
26
+ };
27
+ planetDataReturn(planet: any): {
28
+ terrains: any[];
29
+ baseLayers: any;
30
+ overlays: any;
31
+ };
32
+ dialogSectionStructure(name: any, input: any, data: any): {
33
+ name: any;
34
+ input: any;
35
+ data: any;
36
+ };
37
+ recordsStructure(terrains: any, baseLayers: any, overlays: any): {
38
+ data: {
39
+ name: any;
40
+ input: any;
41
+ data: any;
42
+ }[];
43
+ };
44
+ getRecords(planet: any): {
45
+ data: {
46
+ name: any;
47
+ input: any;
48
+ data: any;
49
+ }[];
50
+ };
51
+ addNewLayer(layer: any): void;
52
+ removeLayer(layer: any): void;
53
+ getUserPrefs(): {
54
+ switcherDependency: any;
55
+ sectionsOpening: any;
56
+ btnInMenu: any;
57
+ };
58
+ buildBasicDOM(): {
59
+ $mainContainer: any;
60
+ whereClickHandler: (e: any) => void;
61
+ };
62
+ buildRecords(myData: any, $mainContainer: any, depth: any, createLastDropZone: any): void;
63
+ removeRecords(): void;
20
64
  }
21
65
  import { Control } from "./Control.js";
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export class MouseNavigation extends Control {
8
8
  static getMovePointsFromPixelTerrain(cam: any, planet: any, stepsCount: any, delta: any, point: any, forward: any, dir: any): {}[];
9
+ _name: string;
9
10
  grabbedPoint: Vec3;
10
11
  _eye0: Vec3;
11
12
  pointOnEarth: Vec3;
@@ -6,6 +6,7 @@ export function mouseWheelZoomControl(options: any): MouseWheelZoomControl;
6
6
  * @params {Object} [options] - Control options.
7
7
  */
8
8
  export class MouseWheelZoomControl extends Control {
9
+ _name: string;
9
10
  grabbedPoint: Vec3;
10
11
  _eye0: Vec3;
11
12
  pointOnEarth: Vec3;
@@ -1,4 +1,4 @@
1
- export function sun(options: any): any;
1
+ export function sun(options: any): Sun;
2
2
  /**
3
3
  * Real Sun geocentric position control that place the Sun on the right place by the Earth.
4
4
  * @class
@@ -6,6 +6,7 @@ export function sun(options: any): any;
6
6
  * @param {Object} [options] - Control options.
7
7
  */
8
8
  export class Sun extends Control {
9
+ _name: string;
9
10
  /**
10
11
  * Earth planet node.
11
12
  * @public
@@ -5,6 +5,7 @@
5
5
  * @param {Object} [options] - Control options.
6
6
  */
7
7
  export class TouchNavigation extends Control {
8
+ _name: string;
8
9
  grabbedPoint: Vec3;
9
10
  inertia: number;
10
11
  grabbedSpheroid: Sphere;
@@ -0,0 +1,13 @@
1
+ export function elementFactory(type: any, attributes: any, ...children: any[]): any;
2
+ export function appendChildren(parent: any, childrenArray: any): void;
3
+ export function toggleText(elementText: any, textArray: any): any;
4
+ export function enableElmovement(el: any, planet: any): {
5
+ behaviour: (e: any) => void;
6
+ mouseMove: (e: any) => void;
7
+ };
8
+ export function getAllnodes(CSSclass: any): NodeListOf<any>;
9
+ export function nodesToArray(nodeList: any): any[];
10
+ export function setAllCSSclass(CSSclass: any, nodeArray: any): any;
11
+ export function allMenuBtnOFF(): void;
12
+ export function allDialogsHide(): void;
13
+ export function btnClickHandler(btn_id: any, dialog_id: any, dialog_selector: any, btn_icon_id: any): void;
@@ -15,4 +15,6 @@ 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
- export { Control, CompassButton, DebugInfo, EarthNavigation, EarthCoordinates, GeoImageDragControl, KeyboardNavigation, LayerSwitcher, MouseNavigation, ToggleWireframe, TouchNavigation, SimpleNavigation, ShowFps, Sun, ZoomControl, MouseWheelZoomControl, Lighting };
18
+ import { Ruler } from "./ruler/Ruler.js";
19
+ import { LayerAnimation } from "./LayerAnimation.js";
20
+ export { Control, CompassButton, DebugInfo, EarthNavigation, EarthCoordinates, GeoImageDragControl, KeyboardNavigation, LayerSwitcher, MouseNavigation, ToggleWireframe, TouchNavigation, SimpleNavigation, ShowFps, Sun, ZoomControl, MouseWheelZoomControl, Lighting, Ruler, LayerAnimation };
@@ -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
@@ -18,6 +18,7 @@ export class LabelHandler extends BillboardHandler {
18
18
  assignFontAtlas(label: any): void;
19
19
  workerCallback(data: any, label: any): void;
20
20
  setText(index: any, text: any, fontIndex: any, align: any, isRTL?: boolean): void;
21
+ setSizeArr(index: any, size: any): void;
21
22
  setOutlineColorArr(index: any, rgba: any): void;
22
23
  setOutlineArr(index: any, outline: any): void;
23
24
  setFontIndexArr(index: any, fontIndex: any): void;
@@ -25,5 +26,6 @@ export class LabelHandler extends BillboardHandler {
25
26
  createOutlineBuffer(): void;
26
27
  createOutlineColorBuffer(): void;
27
28
  setMaxLetters(c: any): void;
29
+ refreshTexCoordsArr(): any;
28
30
  }
29
31
  import { BillboardHandler } from "./BillboardHandler.js";
@@ -1,11 +1,9 @@
1
1
  export const LOCK_UPDATE: -2;
2
2
  export const LOCK_FREE: -1;
3
- export class LabelWorker {
3
+ export class LabelWorker extends BaseWorker {
4
4
  constructor(numWorkers?: number);
5
- _id: number;
6
- _source: {};
7
- _freeWorkerQueue: Worker[];
8
- _pendingQueue: any[];
9
- check(): void;
10
- make(handler: any, label: any): void;
5
+ _source: Map<any, any>;
6
+ _onMessage(e: any): void;
7
+ make(...args: any[]): void;
11
8
  }
9
+ import { BaseWorker } from "../utils/BaseWorker.js";
@@ -22,7 +22,15 @@ export class BaseGeoImage extends Layer {
22
22
  _isRendering: boolean;
23
23
  _extentWgs84: Extent;
24
24
  _cornersWgs84: number[] | LonLat[];
25
+ _isFullExtent: any;
26
+ /**
27
+ * rendering function pointer
28
+ */
25
29
  rendering: any;
30
+ get isIdle(): boolean;
31
+ addTo(planet: any): BaseGeoImage;
32
+ _onLoadend_: any;
33
+ _onLoadend(): void;
26
34
  /**
27
35
  * Gets corners coordinates.
28
36
  * @public
@@ -72,7 +80,7 @@ export class BaseGeoImage extends Layer {
72
80
  /**
73
81
  * @virtual
74
82
  * @protected
75
- * @param {Material} material - GeoImage material.
83
+ * @param {Material} material - GeoImage segment material.
76
84
  * @returns {Array<number> } -
77
85
  */
78
86
  protected applyMaterial(material: Material): Array<number>;
@@ -16,7 +16,7 @@
16
16
  * @fires og.layer.CanvasTiles#loadend
17
17
  */
18
18
  export class CanvasTiles extends Layer {
19
- constructor(name: any, options: any);
19
+ minNativeZoom: any;
20
20
  /**
21
21
  * Current creating tiles couter.
22
22
  * @protected
@@ -35,6 +35,10 @@ export class CanvasTiles extends Layer {
35
35
  * @public
36
36
  */
37
37
  public drawTile: layer.CanvasTiles;
38
+ addTo(planet: any): CanvasTiles;
39
+ _onLoadend_: any;
40
+ _onLoadend(): void;
41
+ get isIdle(): boolean;
38
42
  /**
39
43
  * Abort loading tiles.
40
44
  * @public
@@ -16,6 +16,7 @@ export class GeoImage extends BaseGeoImage {
16
16
  * @type {String}
17
17
  */
18
18
  private _src;
19
+ abortLoading(): void;
19
20
  /**
20
21
  * Sets image source url path.
21
22
  * @public
@@ -2,6 +2,7 @@ export class GeoTexture2d extends BaseGeoImage {
2
2
  loadMaterial(material: any): void;
3
3
  bindTexture(texture: any): void;
4
4
  setSize(width: any, height: any): void;
5
+ abortMaterialLoading(material: any): void;
5
6
  _renderingProjType1(): void;
6
7
  _renderingProjType0(): void;
7
8
  }
@@ -1,4 +1,3 @@
1
- export const FADING_FACTOR: 0.29;
2
1
  /**
3
2
  * @classdesc
4
3
  * Base class; normally only used for creating subclasses and not instantiated in apps.
@@ -12,6 +11,7 @@ export const FADING_FACTOR: 0.29;
12
11
  * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
13
12
  * @param {boolean} [options.isBaseLayer=false] - This is a base layer.
14
13
  * @param {boolean} [options.visibility=true] - Layer visibility.
14
+ * @param {boolean} [options.displayInLayerSwitcher=true] - Presence of layer in dialog window of LayerSwitcher control.
15
15
  * @param {boolean} [options.isSRGB=false] - Layer image webgl nternal format.
16
16
  * @param {Extent} [options.extent=[[-180.0, -90.0], [180.0, 90.0]]] - Visible extent.
17
17
  * @param {string} [options.textureFilter="anisotropic"] - Image texture filter. Available values: "nearest", "linear", "mipmap" and "anisotropic".
@@ -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.Vector#mousemove
23
- * @fires og.layer.Vector#mouseenter
24
- * @fires og.layer.Vector#mouseleave
25
- * @fires og.layer.Vector#lclick
26
- * @fires og.layer.Vector#rclick
27
- * @fires og.layer.Vector#mclick
28
- * @fires og.layer.Vector#ldblclick
29
- * @fires og.layer.Vector#rdblclick
30
- * @fires og.layer.Vector#mdblclick
31
- * @fires og.layer.Vector#lup
32
- * @fires og.layer.Vector#rup
33
- * @fires og.layer.Vector#mup
34
- * @fires og.layer.Vector#ldown
35
- * @fires og.layer.Vector#rdown
36
- * @fires og.layer.Vector#mdown
37
- * @fires og.layer.Vector#lhold
38
- * @fires og.layer.Vector#rhold
39
- * @fires og.layer.Vector#mhold
40
- * @fires og.layer.Vector#mousewheel
41
- * @fires og.layer.Vector#touchmove
42
- * @fires og.layer.Vector#touchstart
43
- * @fires og.layer.Vector#touchend
44
- * @fires og.layer.Vector#doubletouch
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.
@@ -67,6 +59,7 @@ export class Layer {
67
59
  * @type {string}
68
60
  */
69
61
  public name: string;
62
+ properties: any;
70
63
  _labelMaxLetters: any;
71
64
  displayInLayerSwitcher: any;
72
65
  _hasImageryTiles: boolean;
@@ -198,6 +191,7 @@ export class Layer {
198
191
  * @param {Planet} planet - Planet render node.
199
192
  */
200
193
  protected _assignPlanet(planet: Planet): void;
194
+ get isIdle(): any;
201
195
  /**
202
196
  * Assign picking color to the layer.
203
197
  * @protected
@@ -306,8 +300,10 @@ export class Layer {
306
300
  * @protected
307
301
  */
308
302
  protected _correctFullExtent(): void;
303
+ get screenOpacity(): number;
309
304
  _refreshFadingOpacity(): boolean;
310
305
  createMaterial(segment: any): Material;
306
+ redraw(): void;
311
307
  }
312
308
  import { Extent } from "../Extent.js";
313
309
  import { Vec3 } from "../math/Vec3.js";
@@ -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;
@@ -92,6 +93,13 @@ export class Vector extends Layer {
92
93
  * @type {Number}
93
94
  */
94
95
  public polygonOffsetUnits: number;
96
+ /**
97
+ * Adds layer to the planet.
98
+ * @public
99
+ * @param {Planet} planet - Planet scene object.
100
+ * @returns {layer.Vector} -
101
+ */
102
+ public addTo(planet: Planet): layer.Vector;
95
103
  /**
96
104
  * Returns stored entities.
97
105
  * @public
@@ -171,6 +179,7 @@ export class Vector extends Layer {
171
179
  _bindEventsDefault(entityCollection: any): void;
172
180
  _collectStripCollectionPASS(outArr: any): void;
173
181
  _collectPolylineCollectionPASS(outArr: any): void;
182
+ _collectGeoObjectCollectionPASS(outArr: any): void;
174
183
  collectVisibleCollections(outArr: any): void;
175
184
  _secondPASS: any[];
176
185
  _queueDeferredNode(node: any): void;
@@ -55,6 +55,7 @@ export class WMS extends XYZ {
55
55
  */
56
56
  public imageHeight: number;
57
57
  _getBbox: typeof WMS.get_bbox_v1_1_1;
58
+ _createUrl(segment: any): string;
58
59
  setVersion(version: any): void;
59
60
  _version: any;
60
61
  }
@@ -56,10 +56,6 @@ export class XYZ extends Layer {
56
56
  * @type {number}
57
57
  */
58
58
  public maxNativeZoom: number;
59
- /**
60
- * @protected
61
- */
62
- protected _crossOrigin: any;
63
59
  /**
64
60
  * Rewrites imagery tile url query.
65
61
  * @private
@@ -69,11 +65,18 @@ export class XYZ extends Layer {
69
65
  * @returns {string} - Url query string.
70
66
  */
71
67
  private _urlRewriteCallback;
68
+ _requestsPeerSubdomian: number;
69
+ _requestCount: number;
70
+ /**
71
+ * @warning Use XYZ.isIdle in requesAnimationFrame(after setVisibility)
72
+ */
73
+ get isIdle(): boolean;
72
74
  /**
73
75
  * Abort loading tiles.
74
76
  * @public
75
77
  */
76
78
  public abortLoading(): void;
79
+ remove(): void;
77
80
  /**
78
81
  * Sets imagery tiles url source template.
79
82
  * @public
@@ -113,7 +116,7 @@ export class XYZ extends Layer {
113
116
  * @param {layer.XYZ~_urlRewriteCallback} ur - The callback that returns tile custom created url.
114
117
  */
115
118
  public setUrlRewriteCallback(ur: any): void;
116
- applyMaterial(material: any): any;
119
+ applyMaterial(material: any, forceLoading: any): any;
117
120
  clearMaterial(material: any): void;
118
121
  }
119
122
  import { Layer } from "./Layer.js";
package/types/math.d.ts CHANGED
@@ -48,7 +48,7 @@ export function isPowerOfTwo(x: number): boolean;
48
48
  * @param {number} x - Input value.
49
49
  * @returns {number} -
50
50
  */
51
- export function nextHighestPowerOfTwo(x: number): number;
51
+ export function nextHighestPowerOfTwo(x: number, maxValue?: number): number;
52
52
  /**
53
53
  * Returns random integer number within the bounds.
54
54
  * @function
@@ -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 then edge and otherwise 1.0.
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.
@@ -30,5 +30,12 @@ export class EntityCollectionNode {
30
30
  }
31
31
  export class EntityCollectionNodeWGS84 extends EntityCollectionNode {
32
32
  isNorth: boolean;
33
+ /**
34
+ *
35
+ * @param {*} outArr
36
+ * @param {*} visibleNodes
37
+ * @param {*} renderingNode
38
+ */
39
+ renderCollection(outArr: any, visibleNodes: any, renderingNode: any): void;
33
40
  }
34
41
  import { Sphere } from "../bv/Sphere.js";
@@ -22,8 +22,7 @@ export class Node {
22
22
  sideSizeLog2: number[];
23
23
  ready: boolean;
24
24
  neighbors: any[][];
25
- equalizedNeighborId: number[];
26
- equalizedNeighborGridSize: number[];
25
+ equalizedSideWithNodeId: any[];
27
26
  nodes: any[];
28
27
  segment: any;
29
28
  _cameraInside: boolean;
@@ -216,7 +216,7 @@ export class Renderer {
216
216
  */
217
217
  public initialize(): void;
218
218
  screenDepthFramebuffer: Framebuffer;
219
- _fnScreenFrame: () => void;
219
+ _fnScreenFrame: (() => void) | (() => void);
220
220
  screenTexture: {
221
221
  screen: any;
222
222
  picking: any;