@openglobus/og 0.26.6 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- import { Planet } from "../../scene/Planet";
2
- import { QuadTreeStrategy } from "../QuadTreeStrategy";
1
+ import { QuadTreeStrategy, QuadTreeStrategyParams } from "../QuadTreeStrategy";
2
+ import { PlanetCamera } from "../../camera";
3
3
  export declare class EPSG4326QuadTreeStrategy extends QuadTreeStrategy {
4
- constructor(planet: Planet);
5
- init(): void;
4
+ constructor(params: QuadTreeStrategyParams);
5
+ init(camera: PlanetCamera): void;
6
6
  }
@@ -3,6 +3,7 @@ import { EntityCollectionNode } from "./EntityCollectionNode";
3
3
  import { Entity } from "../entity/Entity";
4
4
  import { EntityCollection } from "../entity/EntityCollection";
5
5
  import { QueueArray } from "../QueueArray";
6
+ import { QuadTreeStrategy } from "./QuadTreeStrategy";
6
7
  export declare class EntityCollectionsTreeStrategy {
7
8
  _layer: Vector;
8
9
  /**
@@ -14,7 +15,8 @@ export declare class EntityCollectionsTreeStrategy {
14
15
  protected _counter: number;
15
16
  protected _deferredEntitiesPendingQueue: QueueArray<EntityCollectionNode>;
16
17
  _renderingNodes: Record<number, boolean>;
17
- constructor(layer: Vector, nodeCapacity: number);
18
+ quadTreeStrategy: QuadTreeStrategy;
19
+ constructor(quadTreeStrategy: QuadTreeStrategy, layer: Vector, nodeCapacity: number);
18
20
  insertEntity(entity: Entity, rightNow?: boolean): void;
19
21
  setPickingEnabled(pickingEnabled: boolean): void;
20
22
  dispose(): void;
@@ -1,22 +1,22 @@
1
1
  import { Extent } from "../Extent";
2
- import { Planet } from "../scene/Planet";
3
2
  import { Segment } from "../segment/Segment";
3
+ import { QuadTreeStrategy } from "./QuadTreeStrategy";
4
4
  import { PlanetCamera } from "../camera/PlanetCamera";
5
5
  /**
6
6
  * Quad tree planet segment node.
7
7
  * @constructor
8
8
  * @param {Segment} segmentPrototype - Planet segment node constructor.
9
- * @param {Planet} planet - Planet scene instance.
9
+ * @param {QuadTreeStrategy} quadTreeStrategy - Quad tree strategy handler.
10
10
  * @param {number} partId - NorthEast, SouthWest etc.
11
11
  * @param {Node} parent - Parent of this node.
12
12
  * @param {number} id - Tree node identifier (id * 4 + 1);
13
13
  * @param {number} tileZoom - Deep index of the quad tree.
14
- * @param {Extent} extent - Planet segment extent.
14
+ * @param {Extent} extent - Segment extent.
15
15
  */
16
16
  declare class Node {
17
17
  __id: number;
18
18
  SegmentPrototype: typeof Segment;
19
- planet: Planet;
19
+ quadTreeStrategy: QuadTreeStrategy;
20
20
  parentNode: Node | null;
21
21
  partId: number;
22
22
  nodeId: number;
@@ -32,7 +32,7 @@ declare class Node {
32
32
  _cameraInside: boolean;
33
33
  inFrustum: number;
34
34
  _fadingNodes: Node[];
35
- constructor(SegmentPrototype: typeof Segment, planet: Planet, partId: number, parent: Node | null, tileZoom: number, extent: Extent);
35
+ constructor(SegmentPrototype: typeof Segment, quadTreeStrategy: QuadTreeStrategy, partId: number, parent: Node | null, tileZoom: number, extent: Extent);
36
36
  createChildNodes(): void;
37
37
  createBounds(): void;
38
38
  getState(): number | null;
@@ -4,11 +4,29 @@ import { Node } from "../quadTree/Node";
4
4
  import { Planet } from "../scene/Planet";
5
5
  import { Proj } from "../proj/Proj";
6
6
  import { LonLat } from "../LonLat";
7
+ import { Segment } from "../segment/Segment";
8
+ import { Extent } from "../Extent";
7
9
  import { EntityCollectionsTreeStrategy } from "./EntityCollectionsTreeStrategy";
10
+ import { PlanetCamera } from "../camera";
11
+ import { EventsHandler } from "../Events";
12
+ export type QuadTreeStrategyEventsList = [
13
+ "rendercompleted",
14
+ "terraincompleted"
15
+ ];
16
+ export interface QuadTreeStrategyParams {
17
+ planet: Planet;
18
+ name?: string;
19
+ proj?: Proj;
20
+ maxEqualZoomAltitude?: number;
21
+ minEqualZoomAltitude?: number;
22
+ minEqualZoomCameraSlope?: number;
23
+ transitionOpacityEnabled?: boolean;
24
+ }
8
25
  export declare class QuadTreeStrategy {
26
+ events: EventsHandler<QuadTreeStrategyEventsList>;
9
27
  name: string;
10
28
  projection: Proj;
11
- protected _planet: Planet;
29
+ readonly planet: Planet;
12
30
  /**
13
31
  * grid tree list.
14
32
  * @protected
@@ -21,16 +39,72 @@ export declare class QuadTreeStrategy {
21
39
  * @type {Node}
22
40
  */
23
41
  _visibleNodes: Record<number, Node>;
24
- constructor(planet: Planet, name?: string, proj?: Proj);
25
- createEntitiCollectionsTreeStrategy(layer: Vector, nodeCapacity: number): EntityCollectionsTreeStrategy;
42
+ /**
43
+ * Planet's segments collected for rendering frame.
44
+ * @public
45
+ * @type {Node}
46
+ */
47
+ _renderedNodes: Node[];
48
+ _renderedNodesInFrustum: Node[][];
49
+ _fadingNodes: Map<number, Node>;
50
+ _fadingNodesInFrustum: Node[][];
51
+ _fadingOpaqueSegments: Segment[];
52
+ /**
53
+ * Current visible minimal zoom index planet segment.
54
+ * @public
55
+ * @type {number}
56
+ */
57
+ minCurrZoom: number;
58
+ /**
59
+ * Current visible maximal zoom index planet segment.
60
+ * @public
61
+ * @type {number}
62
+ */
63
+ maxCurrZoom: number;
64
+ protected _transitionOpacityEnabled: boolean;
65
+ _viewExtent: Extent;
66
+ /**
67
+ * Level of details of visible segments.
68
+ * @protected
69
+ * @type {number}
70
+ */
71
+ protected _lodSize: number;
72
+ protected _curLodSize: number;
73
+ protected _minLodSize: number;
74
+ _maxLodSize: number;
75
+ maxEqualZoomAltitude: number;
76
+ minEqualZoomAltitude: number;
77
+ minEqualZoomCameraSlope: number;
78
+ _renderCompleted: boolean;
79
+ _renderCompletedActivated: boolean;
80
+ _terrainCompleted: boolean;
81
+ _terrainCompletedActivated: boolean;
82
+ protected _skipPreRender: boolean;
83
+ constructor(params: QuadTreeStrategyParams);
84
+ get lodSize(): number;
85
+ setLodSize(currentLodSize: number, minLodSize?: number, maxLodSize?: number): void;
86
+ createEntityCollectionsTreeStrategy(layer: Vector, nodeCapacity: number): EntityCollectionsTreeStrategy;
26
87
  destroyBranches(): void;
27
88
  clearLayerMaterial(layer: Layer): void;
28
- get planet(): Planet;
29
- init(): void;
89
+ get terrainReady(): boolean;
90
+ protected _checkRendercompleted(): void;
91
+ protected _initEvents(): void;
92
+ init(camera: PlanetCamera): void;
93
+ clearRenderedNodes(): void;
94
+ protected _clearRenderedNodeList(): void;
95
+ protected _clearRenderNodesInFrustum(): void;
96
+ protected _collectRenderedNodesMaxZoom(cam: PlanetCamera): void;
97
+ set transitionOpacityEnabled(isEnabled: boolean);
98
+ get transitionOpacityEnabled(): boolean;
99
+ /**
100
+ * Collects visible quad nodes.
101
+ * @protected
102
+ */
103
+ collectRenderNodes(cam: PlanetCamera): void;
30
104
  preRender(): void;
31
105
  preLoad(): void;
32
106
  protected _clearVisibleNodes(): void;
33
- collectRenderNodes(): void;
107
+ protected _collectRenderNodes(camera: PlanetCamera): void;
34
108
  clear(): void;
35
109
  get quadTreeList(): Node[];
36
110
  getTileXY(lonLat: LonLat, zoom: number): [number, number, number, number];
@@ -4,13 +4,14 @@ import { Vector } from "../../layer/Vector";
4
4
  import { Entity } from "../../entity/Entity";
5
5
  import { EntityCollection } from "../../entity/EntityCollection";
6
6
  import { EntityCollectionsTreeStrategy } from "../EntityCollectionsTreeStrategy";
7
+ import { QuadTreeStrategy } from "../QuadTreeStrategy";
7
8
  export declare class EarthEntityCollectionsTreeStrategy extends EntityCollectionsTreeStrategy {
8
9
  protected _entityCollectionsTree: EntityCollectionNode;
9
10
  protected _entityCollectionsTreeNorth: EarthEntityCollectionNodeLonLat;
10
11
  protected _entityCollectionsTreeSouth: EarthEntityCollectionNodeLonLat;
11
12
  _renderingNodesNorth: Record<number, boolean>;
12
13
  _renderingNodesSouth: Record<number, boolean>;
13
- constructor(layer: Vector, nodeCapacity: number);
14
+ constructor(quadTreeStrategy: QuadTreeStrategy, layer: Vector, nodeCapacity: number);
14
15
  insertEntity(entity: Entity, rightNow?: boolean): void;
15
16
  setPickingEnabled(pickingEnabled: boolean): void;
16
17
  dispose(): void;
@@ -1,9 +1,9 @@
1
1
  import { Node } from "../Node";
2
- import { Planet } from "../../scene/Planet";
3
- import { QuadTreeStrategy } from "../QuadTreeStrategy";
2
+ import { QuadTreeStrategy, QuadTreeStrategyParams } from "../QuadTreeStrategy";
4
3
  import { LonLat } from "../../LonLat";
5
4
  import { Vector } from "../../layer/Vector";
6
5
  import { EarthEntityCollectionsTreeStrategy } from "./EarthEntityCollectionsTreeStrategy";
6
+ import { PlanetCamera } from "../../camera";
7
7
  export declare class EarthQuadTreeStrategy extends QuadTreeStrategy {
8
8
  /**
9
9
  * Current visible north pole nodes tree nodes array.
@@ -17,11 +17,11 @@ export declare class EarthQuadTreeStrategy extends QuadTreeStrategy {
17
17
  * @type {Node}
18
18
  */
19
19
  _visibleNodesSouth: Record<number, Node>;
20
- constructor(planet: Planet);
20
+ constructor(params: QuadTreeStrategyParams);
21
21
  collectVisibleNode(node: Node): void;
22
22
  protected _clearVisibleNodes(): void;
23
- createEntitiCollectionsTreeStrategy(layer: Vector, nodeCapacity: number): EarthEntityCollectionsTreeStrategy;
24
- init(): void;
23
+ createEntityCollectionsTreeStrategy(layer: Vector, nodeCapacity: number): EarthEntityCollectionsTreeStrategy;
24
+ init(camera: PlanetCamera): void;
25
25
  getTileXY(lonLat: LonLat, zoom: number): [number, number, number, number];
26
26
  getLonLatTileOffset(lonLat: LonLat, x: number, y: number, z: number, gridSize: number): [number, number];
27
27
  }
@@ -3,12 +3,13 @@ import { Entity } from "../../entity/Entity";
3
3
  import { EntityCollection } from "../../entity/EntityCollection";
4
4
  import { EntityCollectionsTreeStrategy } from "../EntityCollectionsTreeStrategy";
5
5
  import { EquiEntityCollectionNodeLonLat } from "./EquiEntityCollectionNodeLonLat";
6
+ import { QuadTreeStrategy } from "../QuadTreeStrategy";
6
7
  export declare class EquiEntityCollectionsTreeStrategy extends EntityCollectionsTreeStrategy {
7
8
  protected _entityCollectionsTreeWest: EquiEntityCollectionNodeLonLat;
8
9
  protected _entityCollectionsTreeEast: EquiEntityCollectionNodeLonLat;
9
10
  _renderingNodesWest: Record<number, boolean>;
10
11
  _renderingNodesEast: Record<number, boolean>;
11
- constructor(layer: Vector, nodeCapacity: number);
12
+ constructor(quadTreeStrategy: QuadTreeStrategy, layer: Vector, nodeCapacity: number);
12
13
  insertEntity(entity: Entity, rightNow?: boolean): void;
13
14
  setPickingEnabled(pickingEnabled: boolean): void;
14
15
  dispose(): void;
@@ -1,19 +1,19 @@
1
1
  import { Node } from "../Node";
2
- import { Planet } from "../../scene/Planet";
3
- import { QuadTreeStrategy } from "../QuadTreeStrategy";
2
+ import { QuadTreeStrategy, QuadTreeStrategyParams } from "../QuadTreeStrategy";
4
3
  import { LonLat } from "../../LonLat";
5
4
  import { Vector } from "../../layer/Vector";
6
5
  import { EntityCollectionsTreeStrategy } from "../EntityCollectionsTreeStrategy";
6
+ import { PlanetCamera } from "../../camera";
7
7
  export declare class EquiQuadTreeStrategy extends QuadTreeStrategy {
8
- private _westExtent;
9
- private _eastExtent;
8
+ private readonly _westExtent;
9
+ private readonly _eastExtent;
10
10
  _visibleNodesWest: Record<number, Node>;
11
11
  _visibleNodesEast: Record<number, Node>;
12
- constructor(planet: Planet);
13
- init(): void;
12
+ constructor(params: QuadTreeStrategyParams);
13
+ init(camera: PlanetCamera): void;
14
14
  getTileXY(lonLat: LonLat, zoom: number): [number, number, number, number];
15
15
  getLonLatTileOffset(lonLat: LonLat, x: number, y: number, z: number, gridSize: number): [number, number];
16
- createEntitiCollectionsTreeStrategy(layer: Vector, nodeCapacity: number): EntityCollectionsTreeStrategy;
16
+ createEntityCollectionsTreeStrategy(layer: Vector, nodeCapacity: number): EntityCollectionsTreeStrategy;
17
17
  collectVisibleNode(node: Node): void;
18
18
  protected _clearVisibleNodes(): void;
19
19
  }
@@ -1,6 +1,6 @@
1
- import { Planet } from "../../scene/Planet";
2
- import { QuadTreeStrategy } from "../QuadTreeStrategy";
1
+ import { QuadTreeStrategy, QuadTreeStrategyParams } from "../QuadTreeStrategy";
2
+ import { PlanetCamera } from "../../camera";
3
3
  export declare class Wgs84QuadTreeStrategy extends QuadTreeStrategy {
4
- constructor(planet: Planet);
5
- init(): void;
4
+ constructor(params: QuadTreeStrategyParams);
5
+ init(camera: PlanetCamera): void;
6
6
  }
@@ -89,6 +89,7 @@ type IndexBufferCacheData = {
89
89
  */
90
90
  export declare class Planet extends RenderNode {
91
91
  events: EventsHandler<PlanetEventsList>;
92
+ _createdNodesCount: number;
92
93
  /**
93
94
  * @public
94
95
  * @type {Ellipsoid}
@@ -156,9 +157,6 @@ export declare class Planet extends RenderNode {
156
157
  * @type {PlanetCamera}
157
158
  */
158
159
  camera: PlanetCamera;
159
- maxEqualZoomAltitude: number;
160
- minEqualZoomAltitude: number;
161
- minEqualZoomCameraSlope: number;
162
160
  /**
163
161
  * Screen mouse pointer projected to planet cartesian position.
164
162
  * @public
@@ -168,31 +166,7 @@ export declare class Planet extends RenderNode {
168
166
  emptyTexture: WebGLTextureExt | null;
169
167
  transparentTexture: WebGLTextureExt | null;
170
168
  defaultTexture: WebGLTextureExt | null;
171
- /**
172
- * Current visible minimal zoom index planet segment.
173
- * @public
174
- * @type {number}
175
- */
176
- minCurrZoom: number;
177
- /**
178
- * Current visible maximal zoom index planet segment.
179
- * @public
180
- * @type {number}
181
- */
182
- maxCurrZoom: number;
183
- _viewExtent: Extent;
184
169
  protected _initialViewExtent: Extent | null;
185
- _createdNodesCount: number;
186
- /**
187
- * Planet's segments collected for rendering frame.
188
- * @public
189
- * @type {Node}
190
- */
191
- _renderedNodes: Node[];
192
- _renderedNodesInFrustum: Node[][];
193
- _fadingNodes: Map<number, Node>;
194
- _fadingNodesInFrustum: Node[][];
195
- protected _fadingOpaqueSegments: Segment[];
196
170
  /**
197
171
  * Layers activity lock.
198
172
  * @public
@@ -225,6 +199,7 @@ export declare class Planet extends RenderNode {
225
199
  * @type {Array.<Array.<number>>}
226
200
  */
227
201
  _textureCoordsBufferCache: WebGLBufferExt[];
202
+ quadTreeStrategyPrototype: typeof QuadTreeStrategy;
228
203
  quadTreeStrategy: QuadTreeStrategy;
229
204
  /**
230
205
  * Night glowing gl texture.
@@ -248,15 +223,6 @@ export declare class Planet extends RenderNode {
248
223
  SLICE_SIZE: number;
249
224
  SLICE_SIZE_4: number;
250
225
  SLICE_SIZE_3: number;
251
- /**
252
- * Level of details of visible segments.
253
- * @protected
254
- * @type {number}
255
- */
256
- protected _lodSize: number;
257
- protected _curLodSize: number;
258
- protected _minLodSize: number;
259
- _maxLodSize: number;
260
226
  _pickingColorArr: Float32Array;
261
227
  _samplerArr: Int32Array;
262
228
  _pickingMaskArr: Int32Array;
@@ -285,10 +251,6 @@ export declare class Planet extends RenderNode {
285
251
  _distBeforeMemClear: number;
286
252
  protected _prevCamEye: Vec3;
287
253
  protected _initialized: boolean;
288
- _renderCompleted: boolean;
289
- _renderCompletedActivated: boolean;
290
- _terrainCompleted: boolean;
291
- _terrainCompletedActivated: boolean;
292
254
  protected _collectRenderNodesIsActive: boolean;
293
255
  /**
294
256
  * Night texture brightness coefficient
@@ -301,11 +263,9 @@ export declare class Planet extends RenderNode {
301
263
  protected _atmosphereMaxMinOpacity: Float32Array;
302
264
  solidTextureOne: WebGLTextureExt | null;
303
265
  solidTextureTwo: WebGLTextureExt | null;
304
- protected _skipPreRender: boolean;
305
266
  protected _nightTextureSrc: string | null;
306
267
  protected _specularTextureSrc: string | null;
307
268
  transitionTime: number;
308
- protected _transitionOpacityEnabled: boolean;
309
269
  protected _atmosphere: Atmosphere;
310
270
  private _minDistanceBeforeMemClear;
311
271
  private _maxNodes;
@@ -329,13 +289,6 @@ export declare class Planet extends RenderNode {
329
289
  set shininess(v: number);
330
290
  get normalMapCreator(): NormalMapCreator;
331
291
  get layers(): Layer[];
332
- /**
333
- * @todo: remove after tests
334
- * Get the collection of layers associated with this planet.
335
- * @return {Array.<Layer>} Layers array.
336
- * @public
337
- */
338
- getLayers(): Layer[];
339
292
  get sun(): Sun | undefined;
340
293
  get sunPos(): Vec3;
341
294
  /**
@@ -343,8 +296,6 @@ export declare class Planet extends RenderNode {
343
296
  * @param {Control} control - Control.
344
297
  */
345
298
  addControl(control: Control): void;
346
- get lodSize(): number;
347
- setLodSize(currentLodSize: number, minLodSize?: number, maxLodSize?: number): void;
348
299
  /**
349
300
  * Add the given controls array to the renderer of the planet.
350
301
  * @param {Array.<Control>} cArr - Control array.
@@ -417,8 +368,6 @@ export declare class Planet extends RenderNode {
417
368
  init(): void;
418
369
  initLayers(): void;
419
370
  protected _clearIndexesCache(): void;
420
- protected _preRender(): void;
421
- protected _preLoad(): void;
422
371
  /**
423
372
  * Creates default textures first for the North Pole and whole globe and second for the South Pole.
424
373
  * @public
@@ -444,16 +393,6 @@ export declare class Planet extends RenderNode {
444
393
  * @protected
445
394
  */
446
395
  protected _sortLayers(): void;
447
- protected _clearRenderedNodeList(): void;
448
- protected _clearRenderNodesInFrustum(): void;
449
- protected _collectRenderedNodesMaxZoom(cam: PlanetCamera): void;
450
- set transitionOpacityEnabled(isEnabled: boolean);
451
- get transitionOpacityEnabled(): boolean;
452
- /**
453
- * Collects visible quad nodes.
454
- * @protected
455
- */
456
- protected _collectRenderNodes(cam: PlanetCamera): void;
457
396
  protected _renderScreenNodesPASSNoAtmos(): void;
458
397
  protected _renderScreenNodesPASSAtmos(): void;
459
398
  protected _renderScreenNodesWithHeightPASSNoAtmos(): void;
@@ -471,20 +410,20 @@ export declare class Planet extends RenderNode {
471
410
  * @override
472
411
  */
473
412
  frame(): void;
474
- protected _checkRendercompleted(): void;
475
413
  lockQuadTree(): void;
476
414
  unlockQuadTree(): void;
477
415
  protected _setUniformsNoAtmos(cam: PlanetCamera): Program;
478
416
  protected _setUniformsAtmos(cam: PlanetCamera): Program;
479
- protected _renderingFadingNodes: (nodes: Map<number, boolean>, sh: Program, currentNode: Node, sl: Layer[], sliceIndex: number, outTransparentSegments?: Segment[], outOpaqueSegments?: Segment[]) => void;
480
- protected _renderingFadingNodesNoDepth: (nodes: Map<number, boolean>, sh: Program, currentNode: Node, sl: Layer[], sliceIndex: number, outOpaqueSegments?: Segment[]) => void;
417
+ protected _renderingFadingNodes: (quadTreeStrategy: QuadTreeStrategy, nodes: Map<number, boolean>, sh: Program, currentNode: Node, sl: Layer[], sliceIndex: number, outTransparentSegments?: Segment[], outOpaqueSegments?: Segment[]) => void;
418
+ protected _renderingFadingNodesNoDepth: (quadTreeStrategy: QuadTreeStrategy, nodes: Map<number, boolean>, sh: Program, currentNode: Node, sl: Layer[], sliceIndex: number, outOpaqueSegments?: Segment[]) => void;
419
+ protected static __refreshLayersFadingOpacity__(layersRef: Layer[], minCurrZoom: number, maxCurrZoom: number): void;
481
420
  /**
482
421
  * Drawing nodes
483
422
  */
484
- protected _renderingScreenNodes(sh: Program, cam: PlanetCamera, renderedNodes: Node[]): void;
485
- protected _renderingScreenNodesWithHeight(sh: Program, cam: PlanetCamera, renderedNodes: Node[]): void;
423
+ protected _renderingScreenNodes(quadTreeStrategy: QuadTreeStrategy, sh: Program, cam: PlanetCamera, renderedNodes: Node[]): void;
424
+ protected _renderingScreenNodesWithHeight(quadTreeStrategy: QuadTreeStrategy, sh: Program, cam: PlanetCamera, renderedNodes: Node[]): void;
486
425
  protected _renderColorPickingFramebufferPASS(): void;
487
- protected _renderDepthFramebufferPASS(): void;
426
+ renderDepthFramebuffer(cam: PlanetCamera, quadTreeStrategy: QuadTreeStrategy): void;
488
427
  protected _collectVectorLayerCollections(): void;
489
428
  /**
490
429
  * Starts clear memory thread.
@@ -18,6 +18,7 @@ import type { NumberArray6 } from "../bv/Sphere";
18
18
  import { Slice } from "./Slice";
19
19
  import { Vec3 } from "../math/Vec3";
20
20
  import type { IPlainSegmentWorkerData } from "../utils/PlainSegmentWorker";
21
+ import { QuadTreeStrategy } from "../quadTree";
21
22
  export declare function getTileCellIndex(coordinate: number, tileSize: number, worldEdge: number): number;
22
23
  export declare function getTileCellExtent(x: number, y: number, z: number, worldExtent: Extent): Extent;
23
24
  export declare const TILEGROUP_COMMON = 0;
@@ -126,12 +127,12 @@ declare class Segment {
126
127
  */
127
128
  initialized: boolean;
128
129
  /**
129
- * Normal map is allready made.
130
+ * Normal map is already made.
130
131
  * @type {boolean}
131
132
  */
132
133
  normalMapReady: boolean;
133
134
  /**
134
- * Terrain is allready applied flag.
135
+ * Terrain is already applied flag.
135
136
  * @type {boolean}
136
137
  */
137
138
  terrainReady: boolean;
@@ -182,7 +183,8 @@ declare class Segment {
182
183
  normalMapTexturePtr: WebGLTextureExt | null;
183
184
  _transitionOpacity: number;
184
185
  _transitionTimestamp: number;
185
- constructor(node: Node, planet: Planet, tileZoom: number, extent: Extent);
186
+ quadTreeStrategy: QuadTreeStrategy;
187
+ constructor(node: Node, quadTreeStrategy: QuadTreeStrategy, tileZoom: number, extent: Extent);
186
188
  checkZoom(): boolean;
187
189
  /**
188
190
  * Returns entity terrain point.
@@ -273,7 +275,6 @@ declare class Segment {
273
275
  protected _getLayerExtentOffset(layer: Layer): [number, number, number, number];
274
276
  initSlice(sliceIndex: number): Slice;
275
277
  screenRendering(sh: Program, layerSlice: Layer[], sliceIndex: number, defaultTexture?: WebGLTextureExt | null, isOverlay?: boolean, forcedOpacity?: number): void;
276
- heightPickingRendering(sh: Program, layerSlice: Layer[]): void;
277
278
  increaseTransitionOpacity(): void;
278
279
  fadingTransitionOpacity(): void;
279
280
  colorPickingRendering(sh: Program, layerSlice: Layer[], sliceIndex: number, defaultTexture?: WebGLTextureExt | null, isOverlay?: boolean): void;
@@ -1,12 +1,12 @@
1
1
  import { Extent } from "../Extent";
2
2
  import { Layer } from "../layer/Layer";
3
3
  import { Node } from "../quadTree/Node";
4
- import { Planet } from "../scene/Planet";
5
4
  import { Segment } from "./Segment";
6
5
  import { LonLat } from "../LonLat";
7
6
  import { Entity } from "../entity/Entity";
8
7
  import { PlanetCamera } from "../camera/PlanetCamera";
9
8
  import type { WebGLTextureExt } from "../webgl/Handler";
9
+ import { QuadTreeStrategy } from "../quadTree";
10
10
  export declare const POLE_PIECE_SIZE: number;
11
11
  /**
12
12
  * Planet segment Web Mercator tile class that stored and rendered with quad tree.
@@ -14,7 +14,7 @@ export declare const POLE_PIECE_SIZE: number;
14
14
  * @extends {Segment}
15
15
  */
16
16
  declare class SegmentLonLat extends Segment {
17
- constructor(node: Node, planet: Planet, tileZoom: number, extent: Extent);
17
+ constructor(node: Node, quadTreeStrategy: QuadTreeStrategy, tileZoom: number, extent: Extent);
18
18
  _setExtentLonLat(): void;
19
19
  projectNative(coords: LonLat): LonLat;
20
20
  getInsideLonLat(obj: Entity | PlanetCamera): LonLat;
@@ -1,11 +1,11 @@
1
1
  import { Extent } from "../Extent";
2
2
  import { Node } from "../quadTree/Node";
3
- import { Planet } from "../scene/Planet";
4
3
  import { SegmentLonLat } from "./SegmentLonLat";
5
4
  import type { WebGLTextureExt } from "../webgl/Handler";
5
+ import { QuadTreeStrategy } from "../quadTree";
6
6
  export declare const POLE_PIECE_SIZE: number;
7
7
  export declare class SegmentLonLatEqui extends SegmentLonLat {
8
- constructor(node: Node, planet: Planet, tileZoom: number, extent: Extent);
8
+ constructor(node: Node, quadTreeStrategy: QuadTreeStrategy, tileZoom: number, extent: Extent);
9
9
  protected _getMaxZoom(): number;
10
10
  protected _assignTileYIndexes(extent: Extent): void;
11
11
  protected _assignTileXIndexes(extent: Extent): void;
@@ -27,8 +27,6 @@ type TileData = {
27
27
  extent: Extent | null;
28
28
  };
29
29
  /**
30
- * @deprecated
31
- * Use GlobusRgbTerrain
32
30
  * Class that loads segment elevation data, converts it to the array and passes it to the planet segment.
33
31
  * @class
34
32
  * @extends {GlobusTerrain}
@@ -1,6 +1,7 @@
1
1
  import type { EventsHandler } from '../Events';
2
2
  import { Planet } from "../scene/Planet";
3
3
  import { Segment } from "../segment/Segment";
4
+ import { QuadTreeStrategy } from "../quadTree";
4
5
  type LoaderEventsList = ["loadend", "layerloadend"];
5
6
  export interface IResponse {
6
7
  status: string;
@@ -14,7 +15,8 @@ interface Obj<T> {
14
15
  isIdle: boolean;
15
16
  isEqual: (obj: T) => boolean;
16
17
  events: EventsHandler<any>;
17
- _planet: Planet | null;
18
+ _planet?: Planet | null;
19
+ quadTreeStrategy?: QuadTreeStrategy | null;
18
20
  }
19
21
  type QueryParams<T> = {
20
22
  sender?: T;
@@ -317,10 +317,10 @@ declare class Handler {
317
317
  * Adds shader program to the handler.
318
318
  * @public
319
319
  * @param {Program} program - Shader program.
320
- * @param {boolean} [notActivate] - If it's true program will not compile.
320
+ * @param {boolean} [activate] - If false program will not compile.
321
321
  * @return {Program} -
322
322
  */
323
- addProgram(program: Program, notActivate?: boolean): Program;
323
+ addProgram(program: Program, activate?: boolean): Program;
324
324
  /**
325
325
  * Removes shader program from handler.
326
326
  * @public
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openglobus/og",
3
- "version": "0.26.6",
3
+ "version": "0.27.0",
4
4
  "description": "[openglobus](https://www.openglobus.org/) is a javascript/typescript library designed to display interactive 3d maps and planets with map tiles, imagery and vector data, markers, and 3D objects. It uses the WebGL technology, open source, and completely free.",
5
5
  "main": "lib/og.es.js",
6
6
  "types": "lib/index.d.ts",