@openglobus/og 0.14.3 → 0.14.4
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/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/camera/Camera.js +1 -1
- package/src/og/camera/PlanetCamera.js +21 -13
- package/src/og/control/UIhelpers.js +11 -2
- package/src/og/control/index.js +6 -0
- package/src/og/control/selection/Selection.js +128 -0
- package/src/og/control/selection/SelectionScene.js +364 -0
- package/src/og/ellipsoid/Ellipsoid.js +4 -4
- package/src/og/entity/Entity.js +6 -6
- package/src/og/index.js +10 -6
- package/src/og/quadTree/Node.js +1 -1
- package/src/og/quadTree/index.js +12 -0
- package/src/og/renderer/Renderer.js +56 -14
- package/src/og/renderer/RendererEvents.js +6 -0
- package/src/og/scene/Planet.js +22 -6
- package/types/camera/PlanetCamera.d.ts +2 -0
- package/types/control/UIhelpers.d.ts +1 -1
- package/types/control/index.d.ts +4 -1
- package/types/control/selection/Selection.d.ts +51 -0
- package/types/control/selection/SelectionScene.d.ts +35 -0
- package/types/index.d.ts +7 -5
- package/types/quadTree/index.d.ts +10 -0
- package/types/renderer/Renderer.d.ts +3 -35
- package/types/scene/Planet.d.ts +4 -1
- package/src/og/utils/quadTreeType.js +0 -11
- package/types/utils/quadTreeType.d.ts +0 -8
package/src/og/index.js
CHANGED
|
@@ -37,16 +37,18 @@ import { RenderNode } from './scene/RenderNode.js';
|
|
|
37
37
|
|
|
38
38
|
import { Popup } from './Popup.js';
|
|
39
39
|
|
|
40
|
-
import {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
import {
|
|
41
|
+
EarthQuadTreeStrategy,
|
|
42
|
+
MarsQuadTreeStrategy,
|
|
43
|
+
QuadTreeStrategy,
|
|
44
|
+
quadTreeStrategyType,
|
|
45
|
+
Wgs84QuadTreeStrategy
|
|
46
|
+
} from './quadTree/index.js';
|
|
45
47
|
|
|
46
48
|
import pkg from "../../package.json";
|
|
47
49
|
|
|
48
50
|
const { Handler } = webgl, { Control } = control;
|
|
49
|
-
const { Layer } = layer;
|
|
51
|
+
const { Layer, Vector, XYZ} = layer;
|
|
50
52
|
const {
|
|
51
53
|
EntityCollection,
|
|
52
54
|
Entity
|
|
@@ -65,6 +67,8 @@ export {
|
|
|
65
67
|
utils,
|
|
66
68
|
input,
|
|
67
69
|
Layer,
|
|
70
|
+
XYZ,
|
|
71
|
+
Vector,
|
|
68
72
|
layer,
|
|
69
73
|
terrain,
|
|
70
74
|
Control,
|
package/src/og/quadTree/Node.js
CHANGED
|
@@ -235,7 +235,7 @@ class Node {
|
|
|
235
235
|
let eye = cam.eye;
|
|
236
236
|
let horizonDist = eye.length2() - this.planet.ellipsoid._b2;
|
|
237
237
|
|
|
238
|
-
let altVis = seg.tileZoom > 19 || (seg.tileZoom <
|
|
238
|
+
let altVis = seg.tileZoom > 19 || (seg.tileZoom < 5 && !seg.terrainReady) || seg.tileZoom < 2;
|
|
239
239
|
|
|
240
240
|
if (h > 21000) {
|
|
241
241
|
altVis = altVis || eye.distance2(seg._sw) < horizonDist || eye.distance2(seg._nw) < horizonDist || eye.distance2(seg._ne) < horizonDist || eye.distance2(seg._se) < horizonDist;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EarthQuadTreeStrategy } from "./EarthQuadTreeStrategy.js";
|
|
2
|
+
import { MarsQuadTreeStrategy } from "./MarsQuadTreeStrategy.js";
|
|
3
|
+
import { Wgs84QuadTreeStrategy } from "./Wgs84QuadTreeStrategy.js";
|
|
4
|
+
import { QuadTreeStrategy } from "./QuadTreeStrategy.js";
|
|
5
|
+
|
|
6
|
+
const quadTreeStrategyType = {
|
|
7
|
+
earth: EarthQuadTreeStrategy,
|
|
8
|
+
mars: MarsQuadTreeStrategy,
|
|
9
|
+
wgs84: Wgs84QuadTreeStrategy
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { quadTreeStrategyType, QuadTreeStrategy, Wgs84QuadTreeStrategy, MarsQuadTreeStrategy, EarthQuadTreeStrategy };
|
|
@@ -54,6 +54,9 @@ let __depthCallbackCounter__ = 0;
|
|
|
54
54
|
* @fires og.RendererEvents#touchleave
|
|
55
55
|
* @fires og.RendererEvents#touchenter
|
|
56
56
|
*/
|
|
57
|
+
|
|
58
|
+
let __resizeTimeout;
|
|
59
|
+
|
|
57
60
|
class Renderer {
|
|
58
61
|
constructor(handler, params) {
|
|
59
62
|
params = params || {};
|
|
@@ -80,8 +83,6 @@ class Renderer {
|
|
|
80
83
|
|
|
81
84
|
this.brightThreshold = 0.9;
|
|
82
85
|
|
|
83
|
-
this.backgroundColor = params.backgroundColor || new Vec3(115 / 255, 203 / 255, 249 / 255);
|
|
84
|
-
|
|
85
86
|
/**
|
|
86
87
|
* Render nodes drawing queue.
|
|
87
88
|
* @private
|
|
@@ -480,8 +481,13 @@ class Renderer {
|
|
|
480
481
|
}
|
|
481
482
|
|
|
482
483
|
this.handler.ONCANVASRESIZE = () => {
|
|
483
|
-
this.
|
|
484
|
+
this._resizeStart();
|
|
484
485
|
this.events.dispatch(this.events.resize, this.handler.canvas);
|
|
486
|
+
clearTimeout(__resizeTimeout);
|
|
487
|
+
__resizeTimeout = setTimeout(() => {
|
|
488
|
+
this._resizeEnd();
|
|
489
|
+
this.events.dispatch(this.events.resizeend, this.handler.canvas);
|
|
490
|
+
}, 500);
|
|
485
491
|
};
|
|
486
492
|
|
|
487
493
|
this._screenFrameCornersBuffer = this.handler.createArrayBuffer(
|
|
@@ -501,6 +507,10 @@ class Renderer {
|
|
|
501
507
|
this.fontAtlas.initFont("arial", arial.data, arial.image);
|
|
502
508
|
}
|
|
503
509
|
|
|
510
|
+
resize() {
|
|
511
|
+
this._resizeEnd();
|
|
512
|
+
}
|
|
513
|
+
|
|
504
514
|
setCurrentScreen(screenName) {
|
|
505
515
|
this._currentOutput = screenName;
|
|
506
516
|
if (this.screenTexture[screenName]) {
|
|
@@ -508,22 +518,24 @@ class Renderer {
|
|
|
508
518
|
}
|
|
509
519
|
}
|
|
510
520
|
|
|
511
|
-
|
|
521
|
+
_resizeStart() {
|
|
512
522
|
let c = this.handler.canvas;
|
|
513
|
-
this.activeCamera.setAspectRatio(c.width / c.height);
|
|
514
|
-
this.sceneFramebuffer.setSize(c.width, c.height);
|
|
515
523
|
|
|
516
|
-
this.
|
|
517
|
-
this.
|
|
524
|
+
this.activeCamera.setAspectRatio(c.width / c.height);
|
|
525
|
+
this.sceneFramebuffer.setSize(c.width * 0.5, c.height * 0.5);
|
|
526
|
+
this.blitFramebuffer && this.blitFramebuffer.setSize(c.width * 0.5, c.height * 0.5, true);
|
|
527
|
+
}
|
|
518
528
|
|
|
519
|
-
|
|
520
|
-
this.
|
|
529
|
+
_resizeEnd() {
|
|
530
|
+
let c = this.handler.canvas;
|
|
521
531
|
|
|
522
|
-
this.
|
|
523
|
-
this.
|
|
532
|
+
this.activeCamera.setAspectRatio(c.width / c.height);
|
|
533
|
+
this.sceneFramebuffer.setSize(c.width, c.height);
|
|
534
|
+
this.blitFramebuffer && this.blitFramebuffer.setSize(c.width, c.height, true);
|
|
524
535
|
|
|
525
|
-
this.
|
|
526
|
-
this.
|
|
536
|
+
this.toneMappingFramebuffer && this.toneMappingFramebuffer.setSize(c.width, c.height, true);
|
|
537
|
+
this.depthFramebuffer && this.depthFramebuffer.setSize(c.clientWidth, c.clientHeight, true);
|
|
538
|
+
this.screenDepthFramebuffer && this.screenDepthFramebuffer.setSize(c.clientWidth, c.clientHeight, true);
|
|
527
539
|
|
|
528
540
|
if (this.handler.gl.type === "webgl") {
|
|
529
541
|
this.screenTexture.screen = this.sceneFramebuffer.textures[0];
|
|
@@ -540,6 +552,36 @@ class Renderer {
|
|
|
540
552
|
this.setCurrentScreen(this._currentOutput);
|
|
541
553
|
}
|
|
542
554
|
|
|
555
|
+
// resize() {
|
|
556
|
+
// let c = this.handler.canvas;
|
|
557
|
+
//
|
|
558
|
+
// this.activeCamera.setAspectRatio(c.width / c.height);
|
|
559
|
+
//
|
|
560
|
+
// this.sceneFramebuffer.setSize(c.width, c.height);
|
|
561
|
+
//
|
|
562
|
+
// this.blitFramebuffer && this.blitFramebuffer.setSize(c.width, c.height, true);
|
|
563
|
+
//
|
|
564
|
+
// this.toneMappingFramebuffer && this.toneMappingFramebuffer.setSize(c.width, c.height, true);
|
|
565
|
+
//
|
|
566
|
+
// this.depthFramebuffer && this.depthFramebuffer.setSize(c.clientWidth, c.clientHeight, true);
|
|
567
|
+
//
|
|
568
|
+
// this.screenDepthFramebuffer && this.screenDepthFramebuffer.setSize(c.clientWidth, c.clientHeight, true);
|
|
569
|
+
//
|
|
570
|
+
// if (this.handler.gl.type === "webgl") {
|
|
571
|
+
// this.screenTexture.screen = this.sceneFramebuffer.textures[0];
|
|
572
|
+
// this.screenTexture.picking = this.pickingFramebuffer.textures[0];
|
|
573
|
+
// this.screenTexture.depth = this.screenDepthFramebuffer.textures[0];
|
|
574
|
+
// this.screenTexture.frustum = this.depthFramebuffer.textures[0];
|
|
575
|
+
// } else {
|
|
576
|
+
// this.screenTexture.screen = this.toneMappingFramebuffer.textures[0];
|
|
577
|
+
// this.screenTexture.picking = this.pickingFramebuffer.textures[0];
|
|
578
|
+
// this.screenTexture.depth = this.screenDepthFramebuffer.textures[0];
|
|
579
|
+
// this.screenTexture.frustum = this.depthFramebuffer.textures[0];
|
|
580
|
+
// }
|
|
581
|
+
//
|
|
582
|
+
// this.setCurrentScreen(this._currentOutput);
|
|
583
|
+
// }
|
|
584
|
+
|
|
543
585
|
removeNode(renderNode) {
|
|
544
586
|
renderNode.remove();
|
|
545
587
|
}
|
|
@@ -899,6 +899,12 @@ const EVENT_NAMES = [
|
|
|
899
899
|
*/
|
|
900
900
|
"resize",
|
|
901
901
|
|
|
902
|
+
/**
|
|
903
|
+
* Triggered when screen is resized.
|
|
904
|
+
* @event og.RendererEvents#resizeend
|
|
905
|
+
*/
|
|
906
|
+
"resizeend",
|
|
907
|
+
|
|
902
908
|
/**
|
|
903
909
|
* Mouse enters the work screen
|
|
904
910
|
* @event og.RendererEvents#mouseenter
|
package/src/og/scene/Planet.js
CHANGED
|
@@ -422,6 +422,10 @@ export class Planet extends RenderNode {
|
|
|
422
422
|
|
|
423
423
|
this._terrainCompleted = false;
|
|
424
424
|
this._terrainCompletedActivated = false;
|
|
425
|
+
|
|
426
|
+
this._collectRenderNodesIsActive = true;
|
|
427
|
+
|
|
428
|
+
this._skipPreRender = false;
|
|
425
429
|
}
|
|
426
430
|
|
|
427
431
|
static getBearingNorthRotationQuat(cartesian) {
|
|
@@ -724,6 +728,11 @@ export class Planet extends RenderNode {
|
|
|
724
728
|
this._terrainCompletedActivated = false;
|
|
725
729
|
});
|
|
726
730
|
|
|
731
|
+
this.renderer.events.on("resizeend", () => {
|
|
732
|
+
this._renderCompletedActivated = false;
|
|
733
|
+
this._terrainCompletedActivated = false;
|
|
734
|
+
});
|
|
735
|
+
|
|
727
736
|
// Initialize texture coordinates buffer pool
|
|
728
737
|
this._textureCoordsBufferCache = [];
|
|
729
738
|
|
|
@@ -966,8 +975,6 @@ export class Planet extends RenderNode {
|
|
|
966
975
|
// clearing all node list
|
|
967
976
|
this._renderedNodes.length = 0;
|
|
968
977
|
this._renderedNodes = [];
|
|
969
|
-
|
|
970
|
-
this._clearRenderNodesInFrustum();
|
|
971
978
|
}
|
|
972
979
|
|
|
973
980
|
_clearRenderNodesInFrustum() {
|
|
@@ -983,13 +990,12 @@ export class Planet extends RenderNode {
|
|
|
983
990
|
*/
|
|
984
991
|
_collectRenderNodes() {
|
|
985
992
|
let cam = this.camera;
|
|
986
|
-
|
|
987
993
|
this._lodSize = math.lerp(cam.slope < 0.0 ? 0.0 : cam.slope, this._curLodSize, this._minLodSize);
|
|
988
|
-
|
|
989
994
|
cam._insideSegment = null;
|
|
990
995
|
|
|
991
996
|
// clear first
|
|
992
997
|
this._clearRenderedNodeList();
|
|
998
|
+
this._clearRenderNodesInFrustum();
|
|
993
999
|
|
|
994
1000
|
this._viewExtent.southWest.set(180, 180);
|
|
995
1001
|
this._viewExtent.northEast.set(-180, -180);
|
|
@@ -1012,6 +1018,7 @@ export class Planet extends RenderNode {
|
|
|
1012
1018
|
temp2 = [];
|
|
1013
1019
|
|
|
1014
1020
|
this._clearRenderNodesInFrustum();
|
|
1021
|
+
this._renderedNodes = [];
|
|
1015
1022
|
|
|
1016
1023
|
for (var i = 0, len = temp.length; i < len; i++) {
|
|
1017
1024
|
var ri = temp[i];
|
|
@@ -1035,7 +1042,6 @@ export class Planet extends RenderNode {
|
|
|
1035
1042
|
temp2[i].renderTree(cam, this.maxCurrZoom, null);
|
|
1036
1043
|
}
|
|
1037
1044
|
}
|
|
1038
|
-
|
|
1039
1045
|
}
|
|
1040
1046
|
|
|
1041
1047
|
_globalPreDraw() {
|
|
@@ -1097,6 +1103,16 @@ export class Planet extends RenderNode {
|
|
|
1097
1103
|
this._terrainCompleted = true;
|
|
1098
1104
|
}
|
|
1099
1105
|
|
|
1106
|
+
lockQuadTree() {
|
|
1107
|
+
this._collectRenderNodesIsActive = false;
|
|
1108
|
+
this.camera.setTerrainCollisionActivity(false);
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
unlockQuadTree() {
|
|
1112
|
+
this._collectRenderNodesIsActive = true;
|
|
1113
|
+
this.camera.setTerrainCollisionActivity(true);
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1100
1116
|
/**
|
|
1101
1117
|
* @protected
|
|
1102
1118
|
*/
|
|
@@ -1110,7 +1126,7 @@ export class Planet extends RenderNode {
|
|
|
1110
1126
|
let frustumIndex = cam.getCurrentFrustum(), firstPass = frustumIndex === cam.FARTHEST_FRUSTUM_INDEX;
|
|
1111
1127
|
|
|
1112
1128
|
if (firstPass) {
|
|
1113
|
-
if (this._skipPreRender) {
|
|
1129
|
+
if (this._skipPreRender && this._collectRenderNodesIsActive) {
|
|
1114
1130
|
this._collectRenderNodes();
|
|
1115
1131
|
}
|
|
1116
1132
|
this._skipPreRender = true;
|
|
@@ -82,6 +82,8 @@ export class PlanetCamera extends Camera {
|
|
|
82
82
|
_numFrames: number;
|
|
83
83
|
_completeCallback: any;
|
|
84
84
|
_flying: boolean;
|
|
85
|
+
_checkTerrainCollision: boolean;
|
|
86
|
+
setTerrainCollisionActivity(isActive: any): void;
|
|
85
87
|
eyeNorm: Vec3;
|
|
86
88
|
updateGeodeticPosition(): void;
|
|
87
89
|
/**
|
|
@@ -10,4 +10,4 @@ export function nodesToArray(nodeList: any): any[];
|
|
|
10
10
|
export function setAllCSSclass(CSSclass: any, nodeArray: any): any;
|
|
11
11
|
export function allMenuBtnOFF(): void;
|
|
12
12
|
export function allDialogsHide(): void;
|
|
13
|
-
export function btnClickHandler(btn_id: any, dialog_id: any, dialog_selector: any, btn_icon_id: any): void;
|
|
13
|
+
export function btnClickHandler(btn_id: any, dialog_id: any, dialog_selector: any, btn_icon_id: any, callback: any): void;
|
package/types/control/index.d.ts
CHANGED
|
@@ -11,10 +11,13 @@ import { ToggleWireframe } from "./ToggleWireframe.js";
|
|
|
11
11
|
import { TouchNavigation } from "./TouchNavigation.js";
|
|
12
12
|
import { SimpleNavigation } from "./SimpleNavigation.js";
|
|
13
13
|
import { ShowFps } from "./ShowFps.js";
|
|
14
|
+
import { ScaleControl } from "./ScaleControl.js";
|
|
14
15
|
import { Sun } from "./Sun.js";
|
|
15
16
|
import { ZoomControl } from "./ZoomControl.js";
|
|
16
17
|
import { MouseWheelZoomControl } from "./MouseWheelZoomControl.js";
|
|
17
18
|
import { Lighting } from "./Lighting.js";
|
|
18
19
|
import { Ruler } from "./ruler/Ruler.js";
|
|
20
|
+
import { SimpleSkyBackground } from "./SimpleSkyBackground.js";
|
|
21
|
+
import { Selection } from "./selection/Selection.js";
|
|
19
22
|
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 };
|
|
23
|
+
export { Control, CompassButton, DebugInfo, EarthNavigation, EarthCoordinates, GeoImageDragControl, KeyboardNavigation, LayerSwitcher, MouseNavigation, ToggleWireframe, TouchNavigation, SimpleNavigation, ShowFps, ScaleControl, Sun, ZoomControl, MouseWheelZoomControl, Lighting, Ruler, SimpleSkyBackground, Selection, LayerAnimation };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Activate Selection
|
|
3
|
+
* @class
|
|
4
|
+
* @extends {Control}
|
|
5
|
+
* @param {Object} [options] - Control options.
|
|
6
|
+
* @param {Array} [options.activationIconClasses] - array with a list of classes to change the button icons
|
|
7
|
+
* @param {boolean} [options.ignoreTerrain=false].
|
|
8
|
+
* @param {function} options.onSelect - callback (extent) => {} where extent is selected extent array [minLon,minLat,maxLon,maxLat]
|
|
9
|
+
* @param {boolean} [options.autoSelectionHide=false] - clear selection rectangle after passing extent to callback
|
|
10
|
+
* @example:
|
|
11
|
+
* to use bootstrap icons, include
|
|
12
|
+
* <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.2/font/bootstrap-icons.css">
|
|
13
|
+
*
|
|
14
|
+
* new Selection({
|
|
15
|
+
* activationIconClasses: ['bi', 'bi-bounding-box-circles'],
|
|
16
|
+
* ignoreTerrain: false,
|
|
17
|
+
* autoSelectionHide:true,
|
|
18
|
+
* onSelect: (extent) => {
|
|
19
|
+
*
|
|
20
|
+
* var vectorSource = new ol.source.Vector({
|
|
21
|
+
* format: new GeoJSON(),
|
|
22
|
+
* url: function (extent) {
|
|
23
|
+
* return 'https://snap.ogs.trieste.it/geoserver/snap/ows?service=WFS&' +
|
|
24
|
+
* 'version=1.1.0&request=GetFeature&typename=snap:all_dataset_segy_view&' +
|
|
25
|
+
* 'outputFormat=application/json&srsname=EPSG:4326&' +
|
|
26
|
+
* 'bbox=' + extent.join(',') + ',EPSG:4326';
|
|
27
|
+
* },
|
|
28
|
+
* strategy: function (extent, resolution) {
|
|
29
|
+
* if (this.resolution && this.resolution != resolution) {
|
|
30
|
+
* this.loadedExtentsRtree_.clear();
|
|
31
|
+
* }
|
|
32
|
+
* return [extent];
|
|
33
|
+
* }
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* vectorSource.loadFeatures(extent);
|
|
37
|
+
*
|
|
38
|
+
* console.log(extent);
|
|
39
|
+
*
|
|
40
|
+
* }
|
|
41
|
+
* });
|
|
42
|
+
*/
|
|
43
|
+
export class Selection extends Control {
|
|
44
|
+
constructor(options?: {});
|
|
45
|
+
_activationIconClasses: any;
|
|
46
|
+
_selectorScene: SelectionScene;
|
|
47
|
+
set ignoreTerrain(arg: any);
|
|
48
|
+
createSelectorButton(): void;
|
|
49
|
+
}
|
|
50
|
+
import { Control } from "../Control.js";
|
|
51
|
+
import { SelectionScene } from "./SelectionScene.js";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export class SelectionScene extends RenderNode {
|
|
2
|
+
constructor(options?: {});
|
|
3
|
+
_ignoreTerrain: any;
|
|
4
|
+
_onSelect: any;
|
|
5
|
+
_autoSelectionHide: any;
|
|
6
|
+
_planet: any;
|
|
7
|
+
_startLonLat: any;
|
|
8
|
+
_heading: number;
|
|
9
|
+
_propsLabel: Entity;
|
|
10
|
+
_trackEntity: Entity;
|
|
11
|
+
_cornerEntity: Entity[];
|
|
12
|
+
_trackLayer: Vector;
|
|
13
|
+
_cornersLayer: Vector;
|
|
14
|
+
set ignoreTerrain(arg: any);
|
|
15
|
+
bindPlanet(planet: any): void;
|
|
16
|
+
init(): void;
|
|
17
|
+
_activate(): void;
|
|
18
|
+
_onMouseMove_: any;
|
|
19
|
+
_onMouseLdown_: any;
|
|
20
|
+
_onMouseLup_: any;
|
|
21
|
+
_deactivate(): void;
|
|
22
|
+
_onMouseLdown(e: any): void;
|
|
23
|
+
_onMouseLup(e: any): void;
|
|
24
|
+
_pickedCorner: any;
|
|
25
|
+
_anchorLonLat: any;
|
|
26
|
+
_drawLine(startLonLat: any, endLonLat: any, startPos: any): void;
|
|
27
|
+
_onMouseMove(e: any): void;
|
|
28
|
+
clear(): void;
|
|
29
|
+
getScale(cart: any): number;
|
|
30
|
+
frame(): void;
|
|
31
|
+
get ellipsoid(): any;
|
|
32
|
+
}
|
|
33
|
+
import { RenderNode } from "../../scene/RenderNode.js";
|
|
34
|
+
import { Entity } from "../../entity/Entity.js";
|
|
35
|
+
import { Vector } from "../../layer/Vector.js";
|
package/types/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ import * as mercator from "./mercator.js";
|
|
|
8
8
|
import * as utils from "./utils/shared.js";
|
|
9
9
|
import { input } from "./input/input.js";
|
|
10
10
|
export const Layer: typeof layer.Layer;
|
|
11
|
+
export const XYZ: typeof layer.XYZ;
|
|
12
|
+
export const Vector: typeof layer.Vector;
|
|
11
13
|
import * as layer from "./layer/index.js";
|
|
12
14
|
import * as terrain from "./terrain/index.js";
|
|
13
15
|
export const Control: typeof control.Control;
|
|
@@ -42,9 +44,9 @@ import * as entity from "./entity/index.js";
|
|
|
42
44
|
export const Entity: typeof entity.Entity;
|
|
43
45
|
import { Geoid } from "./terrain/Geoid.js";
|
|
44
46
|
import { Popup } from "./Popup.js";
|
|
45
|
-
import { QuadTreeStrategy } from "./quadTree/
|
|
46
|
-
import { MarsQuadTreeStrategy } from "./quadTree/
|
|
47
|
-
import { EarthQuadTreeStrategy } from "./quadTree/
|
|
48
|
-
import { Wgs84QuadTreeStrategy } from "./quadTree/
|
|
49
|
-
import { quadTreeStrategyType } from "./
|
|
47
|
+
import { QuadTreeStrategy } from "./quadTree/index.js";
|
|
48
|
+
import { MarsQuadTreeStrategy } from "./quadTree/index.js";
|
|
49
|
+
import { EarthQuadTreeStrategy } from "./quadTree/index.js";
|
|
50
|
+
import { Wgs84QuadTreeStrategy } from "./quadTree/index.js";
|
|
51
|
+
import { quadTreeStrategyType } from "./quadTree/index.js";
|
|
50
52
|
export { bv, jd, math, mercator, utils, input, layer, terrain, control, webgl, wgs84, Camera, Ellipsoid, PlanetCamera, Globe, LightSource, Renderer, Clock, Events, Extent, LonLat, scene, RenderNode, Line2, Line3, Mat3, Mat4, Plane, Quat, Ray, Vec2, Vec3, Vec4, entity, Geoid, Popup, QuadTreeStrategy, MarsQuadTreeStrategy, EarthQuadTreeStrategy, Wgs84QuadTreeStrategy, quadTreeStrategyType };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export namespace quadTreeStrategyType {
|
|
2
|
+
export { EarthQuadTreeStrategy as earth };
|
|
3
|
+
export { MarsQuadTreeStrategy as mars };
|
|
4
|
+
export { Wgs84QuadTreeStrategy as wgs84 };
|
|
5
|
+
}
|
|
6
|
+
import { QuadTreeStrategy } from "./QuadTreeStrategy.js";
|
|
7
|
+
import { Wgs84QuadTreeStrategy } from "./Wgs84QuadTreeStrategy.js";
|
|
8
|
+
import { MarsQuadTreeStrategy } from "./MarsQuadTreeStrategy.js";
|
|
9
|
+
import { EarthQuadTreeStrategy } from "./EarthQuadTreeStrategy.js";
|
|
10
|
+
export { QuadTreeStrategy, Wgs84QuadTreeStrategy, MarsQuadTreeStrategy, EarthQuadTreeStrategy };
|
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Represents high level WebGL context interface that starts WebGL handler working in real time.
|
|
3
|
-
* @class
|
|
4
|
-
* @param {Handler} handler - WebGL handler context.
|
|
5
|
-
* @param {Object} [params] - Renderer parameters:
|
|
6
|
-
* @fires og.RendererEvents#draw
|
|
7
|
-
* @fires og.RendererEvents#resize
|
|
8
|
-
* @fires og.RendererEvents#mousemove
|
|
9
|
-
* @fires og.RendererEvents#mousestop
|
|
10
|
-
* @fires og.RendererEvents#lclick
|
|
11
|
-
* @fires og.RendererEvents#rclick
|
|
12
|
-
* @fires og.RendererEvents#mclick
|
|
13
|
-
* @fires og.RendererEvents#ldblclick
|
|
14
|
-
* @fires og.RendererEvents#rdblclick
|
|
15
|
-
* @fires og.RendererEvents#mdblclick
|
|
16
|
-
* @fires og.RendererEvents#lup
|
|
17
|
-
* @fires og.RendererEvents#rup
|
|
18
|
-
* @fires og.RendererEvents#mup
|
|
19
|
-
* @fires og.RendererEvents#ldown
|
|
20
|
-
* @fires og.RendererEvents#rdown
|
|
21
|
-
* @fires og.RendererEvents#mdown
|
|
22
|
-
* @fires og.RendererEvents#lhold
|
|
23
|
-
* @fires og.RendererEvents#rhold
|
|
24
|
-
* @fires og.RendererEvents#mhold
|
|
25
|
-
* @fires og.RendererEvents#mousewheel
|
|
26
|
-
* @fires og.RendererEvents#touchstart
|
|
27
|
-
* @fires og.RendererEvents#touchend
|
|
28
|
-
* @fires og.RendererEvents#touchcancel
|
|
29
|
-
* @fires og.RendererEvents#touchmove
|
|
30
|
-
* @fires og.RendererEvents#doubletouch
|
|
31
|
-
* @fires og.RendererEvents#touchleave
|
|
32
|
-
* @fires og.RendererEvents#touchenter
|
|
33
|
-
*/
|
|
34
1
|
export class Renderer {
|
|
35
2
|
constructor(handler: any, params: any);
|
|
36
3
|
/**
|
|
@@ -49,7 +16,6 @@ export class Renderer {
|
|
|
49
16
|
gamma: number;
|
|
50
17
|
whitepoint: number;
|
|
51
18
|
brightThreshold: number;
|
|
52
|
-
backgroundColor: any;
|
|
53
19
|
/**
|
|
54
20
|
* Render nodes drawing queue.
|
|
55
21
|
* @private
|
|
@@ -230,8 +196,10 @@ export class Renderer {
|
|
|
230
196
|
};
|
|
231
197
|
_screenFrameCornersBuffer: any;
|
|
232
198
|
outputTexture: any;
|
|
233
|
-
setCurrentScreen(screenName: any): void;
|
|
234
199
|
resize(): void;
|
|
200
|
+
setCurrentScreen(screenName: any): void;
|
|
201
|
+
_resizeStart(): void;
|
|
202
|
+
_resizeEnd(): void;
|
|
235
203
|
removeNode(renderNode: any): void;
|
|
236
204
|
/**
|
|
237
205
|
* Adds render node to the renderer.
|
package/types/scene/Planet.d.ts
CHANGED
|
@@ -251,6 +251,8 @@ export class Planet extends RenderNode {
|
|
|
251
251
|
_renderCompletedActivated: boolean;
|
|
252
252
|
_terrainCompleted: boolean;
|
|
253
253
|
_terrainCompletedActivated: boolean;
|
|
254
|
+
_collectRenderNodesIsActive: boolean;
|
|
255
|
+
_skipPreRender: boolean;
|
|
254
256
|
set diffuse(arg: any);
|
|
255
257
|
set ambient(arg: any);
|
|
256
258
|
set specular(arg: any);
|
|
@@ -349,7 +351,6 @@ export class Planet extends RenderNode {
|
|
|
349
351
|
clearIndexesCache(): void;
|
|
350
352
|
_preRender(): void;
|
|
351
353
|
_preLoad(): void;
|
|
352
|
-
_skipPreRender: boolean;
|
|
353
354
|
/**
|
|
354
355
|
* Creates default textures first for nirth pole and whole globe and second for south pole.
|
|
355
356
|
* @public
|
|
@@ -392,6 +393,8 @@ export class Planet extends RenderNode {
|
|
|
392
393
|
*/
|
|
393
394
|
public frame(): void;
|
|
394
395
|
_checkRendercompleted(): void;
|
|
396
|
+
lockQuadTree(): void;
|
|
397
|
+
unlockQuadTree(): void;
|
|
395
398
|
/**
|
|
396
399
|
* @protected
|
|
397
400
|
*/
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { EarthQuadTreeStrategy } from "../quadTree/EarthQuadTreeStrategy.js";
|
|
4
|
-
import { MarsQuadTreeStrategy } from "../quadTree/MarsQuadTreeStrategy.js";
|
|
5
|
-
import { Wgs84QuadTreeStrategy } from "../quadTree/Wgs84QuadTreeStrategy.js";
|
|
6
|
-
|
|
7
|
-
export const quadTreeStrategyType = {
|
|
8
|
-
earth: EarthQuadTreeStrategy,
|
|
9
|
-
mars: MarsQuadTreeStrategy,
|
|
10
|
-
wgs84: Wgs84QuadTreeStrategy
|
|
11
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export namespace quadTreeStrategyType {
|
|
2
|
-
export { EarthQuadTreeStrategy as earth };
|
|
3
|
-
export { MarsQuadTreeStrategy as mars };
|
|
4
|
-
export { Wgs84QuadTreeStrategy as wgs84 };
|
|
5
|
-
}
|
|
6
|
-
import { EarthQuadTreeStrategy } from "../quadTree/EarthQuadTreeStrategy.js";
|
|
7
|
-
import { MarsQuadTreeStrategy } from "../quadTree/MarsQuadTreeStrategy.js";
|
|
8
|
-
import { Wgs84QuadTreeStrategy } from "../quadTree/Wgs84QuadTreeStrategy.js";
|