@openglobus/og 0.26.6 → 0.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Globe.d.ts +2 -1
- package/lib/camera/Camera.d.ts +14 -5
- package/lib/camera/Frustum.d.ts +3 -2
- package/lib/control/SimpleNavigation.d.ts +12 -3
- package/lib/control/cameraDepthHandler/CameraDepthHandler.d.ts +6 -3
- package/lib/entity/Entity.d.ts +11 -2
- package/lib/layer/Layer.d.ts +1 -1
- package/lib/layer/Vector.d.ts +5 -9
- package/lib/math/Mat4.d.ts +1 -1
- package/lib/math/Vec3.d.ts +2 -0
- package/lib/og.es.js +1 -1
- package/lib/og.es.js.map +1 -1
- package/lib/quadTree/EPSG4326/EPSG4326QuadTreeStrategy.d.ts +4 -4
- package/lib/quadTree/EntityCollectionsTreeStrategy.d.ts +3 -1
- package/lib/quadTree/Node.d.ts +5 -5
- package/lib/quadTree/QuadTreeStrategy.d.ts +80 -6
- package/lib/quadTree/earth/EarthEntityCollectionsTreeStrategy.d.ts +2 -1
- package/lib/quadTree/earth/EarthQuadTreeStrategy.d.ts +5 -5
- package/lib/quadTree/equi/EquiEntityCollectionsTreeStrategy.d.ts +2 -1
- package/lib/quadTree/equi/EquiQuadTreeStrategy.d.ts +7 -7
- package/lib/quadTree/wgs84/Wgs84QuadTreeStrategy.d.ts +4 -4
- package/lib/renderer/Renderer.d.ts +3 -1
- package/lib/renderer/RendererEvents.d.ts +1 -0
- package/lib/scene/Planet.d.ts +8 -69
- package/lib/segment/Segment.d.ts +5 -4
- package/lib/segment/SegmentLonLat.d.ts +2 -2
- package/lib/segment/SegmentLonLatEqui.d.ts +2 -2
- package/lib/terrain/GlobusTerrain.d.ts +0 -2
- package/lib/utils/Loader.d.ts +3 -1
- package/lib/webgl/Handler.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { QuadTreeStrategy, QuadTreeStrategyParams } from "../QuadTreeStrategy";
|
|
2
|
+
import { PlanetCamera } from "../../camera";
|
|
3
3
|
export declare class EPSG4326QuadTreeStrategy extends QuadTreeStrategy {
|
|
4
|
-
constructor(
|
|
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
|
-
|
|
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;
|
package/lib/quadTree/Node.d.ts
CHANGED
|
@@ -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 {
|
|
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 -
|
|
14
|
+
* @param {Extent} extent - Segment extent.
|
|
15
15
|
*/
|
|
16
16
|
declare class Node {
|
|
17
17
|
__id: number;
|
|
18
18
|
SegmentPrototype: typeof Segment;
|
|
19
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
25
|
-
|
|
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
|
|
29
|
-
|
|
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
|
-
|
|
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 {
|
|
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(
|
|
20
|
+
constructor(params: QuadTreeStrategyParams);
|
|
21
21
|
collectVisibleNode(node: Node): void;
|
|
22
22
|
protected _clearVisibleNodes(): void;
|
|
23
|
-
|
|
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 {
|
|
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(
|
|
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
|
-
|
|
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 {
|
|
2
|
-
import {
|
|
1
|
+
import { QuadTreeStrategy, QuadTreeStrategyParams } from "../QuadTreeStrategy";
|
|
2
|
+
import { PlanetCamera } from "../../camera";
|
|
3
3
|
export declare class Wgs84QuadTreeStrategy extends QuadTreeStrategy {
|
|
4
|
-
constructor(
|
|
5
|
-
init(): void;
|
|
4
|
+
constructor(params: QuadTreeStrategyParams);
|
|
5
|
+
init(camera: PlanetCamera): void;
|
|
6
6
|
}
|
|
@@ -314,7 +314,7 @@ declare class Renderer {
|
|
|
314
314
|
*/
|
|
315
315
|
protected _drawPickingBuffer(depthOrder: number): void;
|
|
316
316
|
protected _drawDepthBuffer(depthOrder: number): void;
|
|
317
|
-
protected _readDepthBuffer(): void;
|
|
317
|
+
protected _readDepthBuffer(callback?: () => void): void;
|
|
318
318
|
protected _readPickingBuffer_webgl1(): void;
|
|
319
319
|
protected _readPickingBuffer_webgl2(): void;
|
|
320
320
|
readPickingColor(x: number, y: number, outColor: NumberArray3 | Uint8Array): void;
|
|
@@ -333,6 +333,8 @@ declare class Renderer {
|
|
|
333
333
|
* @returns {Vec3 | undefined} -
|
|
334
334
|
*/
|
|
335
335
|
getCartesianFromPixel(px: Vec2 | IBaseInputState): Vec3 | undefined;
|
|
336
|
+
getDepthMinDistance(): number;
|
|
337
|
+
setOrthographicProjection(isOrtho: boolean): void;
|
|
336
338
|
/**
|
|
337
339
|
* Function starts renderer
|
|
338
340
|
* @public
|
|
@@ -11,6 +11,7 @@ import { Vec3 } from "../math/Vec3";
|
|
|
11
11
|
export type RendererEventsHandler = RendererEvents & EventsHandler<RendererEventsType>;
|
|
12
12
|
export declare function createRendererEvents(renderer: Renderer): RendererEvents;
|
|
13
13
|
export type RendererEventsType = [
|
|
14
|
+
"projchanged",
|
|
14
15
|
"changerelativecenter",
|
|
15
16
|
"draw",
|
|
16
17
|
"drawtransparent",
|
package/lib/scene/Planet.d.ts
CHANGED
|
@@ -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
|
-
|
|
426
|
+
renderDepthFramebuffer(cam: PlanetCamera, quadTreeStrategy: QuadTreeStrategy): void;
|
|
488
427
|
protected _collectVectorLayerCollections(): void;
|
|
489
428
|
/**
|
|
490
429
|
* Starts clear memory thread.
|
package/lib/segment/Segment.d.ts
CHANGED
|
@@ -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
|
|
130
|
+
* Normal map is already made.
|
|
130
131
|
* @type {boolean}
|
|
131
132
|
*/
|
|
132
133
|
normalMapReady: boolean;
|
|
133
134
|
/**
|
|
134
|
-
* Terrain is
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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;
|
package/lib/utils/Loader.d.ts
CHANGED
|
@@ -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
|
|
18
|
+
_planet?: Planet | null;
|
|
19
|
+
quadTreeStrategy?: QuadTreeStrategy | null;
|
|
18
20
|
}
|
|
19
21
|
type QueryParams<T> = {
|
|
20
22
|
sender?: T;
|
package/lib/webgl/Handler.d.ts
CHANGED
|
@@ -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} [
|
|
320
|
+
* @param {boolean} [activate] - If false program will not compile.
|
|
321
321
|
* @return {Program} -
|
|
322
322
|
*/
|
|
323
|
-
addProgram(program: 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.
|
|
3
|
+
"version": "0.27.1",
|
|
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",
|