@openglobus/og 0.16.3 → 0.17.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.
Files changed (181) hide show
  1. package/README.md +1 -1
  2. package/css/og.css +24 -2
  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 +1 -1
  9. package/src/og/Clock.js +1 -5
  10. package/src/og/Events.js +0 -4
  11. package/src/og/Extent.js +5 -9
  12. package/src/og/Globe.js +92 -55
  13. package/src/og/ImageCanvas.js +12 -5
  14. package/src/og/Lock.js +44 -48
  15. package/src/og/LonLat.js +0 -4
  16. package/src/og/Object3d.js +1 -1
  17. package/src/og/Stack.js +49 -53
  18. package/src/og/astro/earth.js +112 -116
  19. package/src/og/astro/jd.js +514 -518
  20. package/src/og/astro/orbit.js +119 -123
  21. package/src/og/astro/rotation.js +36 -40
  22. package/src/og/bv/Box.js +77 -81
  23. package/src/og/bv/Sphere.js +57 -61
  24. package/src/og/camera/Camera.js +20 -7
  25. package/src/og/camera/PlanetCamera.js +8 -15
  26. package/src/og/control/Atmosphere.js +0 -4
  27. package/src/og/control/Control.js +9 -8
  28. package/src/og/control/DebugInfo.js +0 -4
  29. package/src/og/control/DrawingSwitcher.js +117 -0
  30. package/src/og/control/EarthCoordinates.js +214 -214
  31. package/src/og/control/GeoImageDragControl.js +0 -4
  32. package/src/og/control/KeyboardNavigation.js +0 -4
  33. package/src/og/control/LayerAnimation.js +0 -4
  34. package/src/og/control/LayerSwitcher.js +2 -4
  35. package/src/og/control/Lighting.js +11 -15
  36. package/src/og/control/MouseNavigation.js +0 -4
  37. package/src/og/control/MouseWheelZoomControl.js +0 -4
  38. package/src/og/control/RulerSwitcher.js +0 -4
  39. package/src/og/control/ScaleControl.js +2 -6
  40. package/src/og/control/ShowFps.js +40 -44
  41. package/src/og/control/SimpleNavigation.js +10 -10
  42. package/src/og/control/SimpleSkyBackground.js +0 -4
  43. package/src/og/control/Sun.js +0 -4
  44. package/src/og/control/ToggleWireframe.js +35 -39
  45. package/src/og/control/ZoomControl.js +0 -4
  46. package/src/og/control/drawing/DrawingControl.js +51 -0
  47. package/src/og/control/drawing/LineStringDrawingScene.js +203 -0
  48. package/src/og/control/drawing/PolygonDrawingScene.js +785 -0
  49. package/src/og/control/elevationProfile/ElevationProfile.js +275 -0
  50. package/src/og/control/index.js +5 -1
  51. package/src/og/control/ruler/Ruler.js +0 -4
  52. package/src/og/control/ruler/RulerScene.js +3 -2
  53. package/src/og/control/selection/Selection.js +0 -4
  54. package/src/og/control/selection/SelectionScene.js +2 -4
  55. package/src/og/control/timeline/TimelineControl.js +4 -4
  56. package/src/og/control/timeline/TimelineModel.js +2 -2
  57. package/src/og/control/timeline/TimelineView.js +1 -0
  58. package/src/og/control/visibleExtent/Segment.js +5 -5
  59. package/src/og/control/visibleExtent/drawnode.js +0 -4
  60. package/src/og/ellipsoid/Ellipsoid.js +205 -275
  61. package/src/og/ellipsoid/wgs84.js +0 -4
  62. package/src/og/entity/BaseBillboard.js +375 -379
  63. package/src/og/entity/Billboard.js +0 -4
  64. package/src/og/entity/BillboardHandler.js +0 -4
  65. package/src/og/entity/Entity.js +22 -22
  66. package/src/og/entity/EntityCollection.js +7 -11
  67. package/src/og/entity/GeoObject.js +0 -4
  68. package/src/og/entity/GeoObjectHandler.js +0 -4
  69. package/src/og/entity/Geometry.js +5 -4
  70. package/src/og/entity/GeometryHandler.js +3 -4
  71. package/src/og/entity/Label.js +0 -4
  72. package/src/og/entity/LabelHandler.js +0 -4
  73. package/src/og/entity/PointCloud.js +0 -4
  74. package/src/og/entity/PointCloudHandler.js +122 -126
  75. package/src/og/entity/Polyline.js +4 -6
  76. package/src/og/entity/PolylineHandler.js +104 -108
  77. package/src/og/entity/Ray.js +29 -29
  78. package/src/og/entity/Strip.js +1 -1
  79. package/src/og/index.js +3 -1
  80. package/src/og/input/KeyboardHandler.js +128 -132
  81. package/src/og/input/MouseHandler.js +94 -98
  82. package/src/og/input/TouchHandler.js +59 -63
  83. package/src/og/input/input.js +44 -48
  84. package/src/og/layer/BaseGeoImage.js +5 -8
  85. package/src/og/layer/CanvasTiles.js +0 -4
  86. package/src/og/layer/GeoImage.js +0 -4
  87. package/src/og/layer/GeoTexture2d.js +0 -4
  88. package/src/og/layer/GeoVideo.js +0 -4
  89. package/src/og/layer/KML.js +1 -0
  90. package/src/og/layer/Layer.js +22 -26
  91. package/src/og/layer/Material.js +0 -4
  92. package/src/og/layer/Vector.js +23 -20
  93. package/src/og/layer/WMS.js +182 -186
  94. package/src/og/layer/XYZ.js +0 -4
  95. package/src/og/light/LightSource.js +0 -4
  96. package/src/og/math/Line2.js +28 -32
  97. package/src/og/math/Mat3.js +152 -156
  98. package/src/og/math/Ray.js +0 -4
  99. package/src/og/math/Vec2.js +0 -4
  100. package/src/og/math/Vec3.js +0 -4
  101. package/src/og/math/Vec4.js +0 -4
  102. package/src/og/math/coder.js +104 -104
  103. package/src/og/math.js +39 -7
  104. package/src/og/proj/EPSG3857.js +13 -13
  105. package/src/og/proj/Proj.js +59 -63
  106. package/src/og/quadTree/EPSG4326QuadTreeStrategy.js +1 -0
  107. package/src/og/quadTree/EarthQuadTreeStrategy.js +1 -0
  108. package/src/og/quadTree/EntityCollectionNode.js +12 -16
  109. package/src/og/quadTree/MarsQuadTreeStrategy.js +1 -0
  110. package/src/og/quadTree/QuadTreeStrategy.js +1 -0
  111. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +1 -0
  112. package/src/og/renderer/Renderer.js +109 -22
  113. package/src/og/renderer/RendererEvents.js +0 -4
  114. package/src/og/scene/Axes.js +74 -78
  115. package/src/og/scene/BaseNode.js +0 -4
  116. package/src/og/scene/Planet.js +114 -112
  117. package/src/og/scene/RenderNode.js +11 -3
  118. package/src/og/scene/SkyBox.js +104 -108
  119. package/src/og/segment/Segment.js +8 -4
  120. package/src/og/segment/SegmentLonLat.js +2 -6
  121. package/src/og/segment/segmentHelper.js +229 -225
  122. package/src/og/shaders/billboard.js +0 -4
  123. package/src/og/shaders/drawnode.js +5 -9
  124. package/src/og/shaders/geoObject.js +0 -4
  125. package/src/og/shaders/label.js +0 -4
  126. package/src/og/shaders/pickingMask.js +0 -4
  127. package/src/og/shaders/pointCloud.js +0 -4
  128. package/src/og/shaders/polyline.js +0 -4
  129. package/src/og/shaders/ray.js +0 -4
  130. package/src/og/shaders/skybox.js +0 -4
  131. package/src/og/terrain/EmptyTerrain.js +0 -4
  132. package/src/og/utils/FontAtlas.js +0 -4
  133. package/src/og/utils/GeoImageCreator.js +1 -2
  134. package/src/og/utils/NormalMapCreator.js +8 -9
  135. package/src/og/utils/VectorTileCreator.js +3 -9
  136. package/src/og/utils/shared.js +20 -1
  137. package/src/og/webgl/Framebuffer.js +0 -4
  138. package/src/og/webgl/Handler.js +45 -19
  139. package/src/og/webgl/Multisample.js +0 -4
  140. package/src/og/webgl/Program.js +0 -4
  141. package/src/og/webgl/ProgramController.js +2 -2
  142. package/types/Clock.d.ts +1 -1
  143. package/types/Extent.d.ts +5 -5
  144. package/types/Globe.d.ts +15 -1
  145. package/types/ImageCanvas.d.ts +5 -0
  146. package/types/bv/Box.d.ts +1 -1
  147. package/types/bv/Sphere.d.ts +3 -3
  148. package/types/camera/Camera.d.ts +3 -2
  149. package/types/camera/PlanetCamera.d.ts +4 -4
  150. package/types/control/DrawingSwitcher.d.ts +13 -0
  151. package/types/control/EarthCoordinates.d.ts +1 -1
  152. package/types/control/Lighting.d.ts +8 -8
  153. package/types/control/drawing/DrawingControl.d.ts +14 -0
  154. package/types/control/drawing/LineStringDrawingScene.d.ts +5 -0
  155. package/types/control/drawing/PolygonDrawingScene.d.ts +99 -0
  156. package/types/control/index.d.ts +3 -1
  157. package/types/control/ruler/RulerScene.d.ts +0 -1
  158. package/types/control/selection/SelectionScene.d.ts +0 -1
  159. package/types/ellipsoid/Ellipsoid.d.ts +50 -63
  160. package/types/entity/Entity.d.ts +3 -2
  161. package/types/entity/Geometry.d.ts +5 -0
  162. package/types/entity/Polyline.d.ts +1 -1
  163. package/types/entity/Ray.d.ts +1 -0
  164. package/types/index.d.ts +1 -0
  165. package/types/layer/BaseGeoImage.d.ts +1 -1
  166. package/types/layer/CanvasTiles.d.ts +1 -1
  167. package/types/layer/Layer.d.ts +1 -1
  168. package/types/layer/Vector.d.ts +1 -0
  169. package/types/math.d.ts +7 -0
  170. package/types/renderer/Renderer.d.ts +7 -1
  171. package/types/scene/Axes.d.ts +0 -1
  172. package/types/scene/Planet.d.ts +26 -24
  173. package/types/scene/RenderNode.d.ts +2 -0
  174. package/types/scene/SkyBox.d.ts +0 -1
  175. package/types/segment/Segment.d.ts +3 -2
  176. package/types/segment/SegmentLonLat.d.ts +0 -1
  177. package/types/utils/GeoImageCreator.d.ts +1 -1
  178. package/types/utils/NormalMapCreator.d.ts +1 -1
  179. package/types/utils/VectorTileCreator.d.ts +2 -2
  180. package/types/utils/shared.d.ts +2 -0
  181. package/types/webgl/Handler.d.ts +6 -4
@@ -1,98 +1,94 @@
1
- /**
2
- * @module og/input/MouseHandler
3
- */
4
-
5
- 'use strict';
6
-
7
- class MouseHandler {
8
-
9
- constructor(htmlObject) {
10
- this._htmlObject = htmlObject;
11
- }
12
-
13
- setEvent(event, sender, callback) {
14
- switch (event) {
15
- case "mousewheel":
16
- this._htmlObject.addEventListener('mousewheel', function (evt) {
17
- var delta = evt.deltaY || evt.detail || evt.wheelDelta;
18
- if (evt.wheelDelta == undefined) {
19
- evt.wheelDelta = delta * (-120);
20
- }
21
- callback.call(sender, evt);
22
- evt.preventDefault();
23
- }, false);
24
-
25
- this._htmlObject.addEventListener('wheel', function (evt) {
26
- var delta = evt.deltaY || evt.detail || evt.wheelDelta;
27
- if (evt.wheelDelta == undefined) {
28
- evt.wheelDelta = delta * (-120);
29
- }
30
- callback.call(sender, evt);
31
- evt.preventDefault();
32
- }, false);
33
- break;
34
-
35
- case "mousedown":
36
- this._htmlObject.addEventListener('mousedown', function (event) {
37
- var rect = this.getBoundingClientRect();
38
- callback.call(sender, {
39
- button: event.button,
40
- clientX: event.clientX - rect.left,
41
- clientY: event.clientY - rect.top
42
- }, event);
43
- });
44
- this._htmlObject.addEventListener('contextmenu', function (event) {
45
- event.preventDefault();
46
- return false;
47
- });
48
- break;
49
-
50
- case "mouseup":
51
- this._htmlObject.addEventListener('mouseup', function (event) {
52
- var rect = this.getBoundingClientRect();
53
- callback.call(sender, {
54
- button: event.button,
55
- clientX: event.clientX - rect.left,
56
- clientY: event.clientY - rect.top
57
- }, event);
58
- });
59
- break;
60
-
61
- case "mousemove":
62
- this._htmlObject.addEventListener('mousemove', function (event) {
63
- var rect = this.getBoundingClientRect();
64
- callback.call(sender, {
65
- clientX: event.clientX - rect.left,
66
- clientY: event.clientY - rect.top
67
- }, event);
68
- });
69
- break;
70
-
71
- case "mouseleave":
72
- this._htmlObject.addEventListener('mouseleave', function (event) {
73
- callback.call(sender, event);
74
- });
75
- break;
76
-
77
- case "mouseout":
78
- this._htmlObject.addEventListener('mouseout', function (event) {
79
- callback.call(sender, event);
80
- });
81
- break;
82
-
83
- case "mouseover":
84
- this._htmlObject.addEventListener('mouseover', function (event) {
85
- callback.call(sender, event);
86
- });
87
- break;
88
-
89
- case "mouseenter":
90
- this._htmlObject.addEventListener('mouseenter', function (event) {
91
- callback.call(sender, event);
92
- });
93
- break;
94
- }
95
- }
96
- }
97
-
98
- export { MouseHandler };
1
+ 'use strict';
2
+
3
+ class MouseHandler {
4
+
5
+ constructor(htmlObject) {
6
+ this._htmlObject = htmlObject;
7
+ }
8
+
9
+ setEvent(event, sender, callback) {
10
+ switch (event) {
11
+ case "mousewheel":
12
+ this._htmlObject.addEventListener('mousewheel', function (evt) {
13
+ var delta = evt.deltaY || evt.detail || evt.wheelDelta;
14
+ if (evt.wheelDelta == undefined) {
15
+ evt.wheelDelta = delta * (-120);
16
+ }
17
+ callback.call(sender, evt);
18
+ evt.preventDefault();
19
+ }, false);
20
+
21
+ this._htmlObject.addEventListener('wheel', function (evt) {
22
+ var delta = evt.deltaY || evt.detail || evt.wheelDelta;
23
+ if (evt.wheelDelta == undefined) {
24
+ evt.wheelDelta = delta * (-120);
25
+ }
26
+ callback.call(sender, evt);
27
+ evt.preventDefault();
28
+ }, false);
29
+ break;
30
+
31
+ case "mousedown":
32
+ this._htmlObject.addEventListener('mousedown', function (event) {
33
+ var rect = this.getBoundingClientRect();
34
+ callback.call(sender, {
35
+ button: event.button,
36
+ clientX: event.clientX - rect.left,
37
+ clientY: event.clientY - rect.top
38
+ }, event);
39
+ });
40
+ this._htmlObject.addEventListener('contextmenu', function (event) {
41
+ event.preventDefault();
42
+ return false;
43
+ });
44
+ break;
45
+
46
+ case "mouseup":
47
+ this._htmlObject.addEventListener('mouseup', function (event) {
48
+ var rect = this.getBoundingClientRect();
49
+ callback.call(sender, {
50
+ button: event.button,
51
+ clientX: event.clientX - rect.left,
52
+ clientY: event.clientY - rect.top
53
+ }, event);
54
+ });
55
+ break;
56
+
57
+ case "mousemove":
58
+ this._htmlObject.addEventListener('mousemove', function (event) {
59
+ var rect = this.getBoundingClientRect();
60
+ callback.call(sender, {
61
+ clientX: event.clientX - rect.left,
62
+ clientY: event.clientY - rect.top
63
+ }, event);
64
+ });
65
+ break;
66
+
67
+ case "mouseleave":
68
+ this._htmlObject.addEventListener('mouseleave', function (event) {
69
+ callback.call(sender, event);
70
+ });
71
+ break;
72
+
73
+ case "mouseout":
74
+ this._htmlObject.addEventListener('mouseout', function (event) {
75
+ callback.call(sender, event);
76
+ });
77
+ break;
78
+
79
+ case "mouseover":
80
+ this._htmlObject.addEventListener('mouseover', function (event) {
81
+ callback.call(sender, event);
82
+ });
83
+ break;
84
+
85
+ case "mouseenter":
86
+ this._htmlObject.addEventListener('mouseenter', function (event) {
87
+ callback.call(sender, event);
88
+ });
89
+ break;
90
+ }
91
+ }
92
+ }
93
+
94
+ export { MouseHandler };
@@ -1,63 +1,59 @@
1
- /**
2
- * @module og/input/TouchHandler
3
- */
4
-
5
- 'use strict';
6
-
7
- class TouchHandler {
8
-
9
- constructor(htmlObject) {
10
- this._htmlObject = htmlObject;
11
- }
12
-
13
- setEvent(event, sender, callback) {
14
- switch (event) {
15
- case "touchcancel":
16
- this._htmlObject.addEventListener('touchcancel', function (event) {
17
- event.preventDefault();
18
- var rect = this.getBoundingClientRect();
19
- event.offsetLeft = rect.left;
20
- event.offsetTop = rect.top;
21
- callback.call(sender, event);
22
- event.preventDefault();
23
- });
24
- break;
25
-
26
- case "touchstart":
27
- this._htmlObject.addEventListener('touchstart', function (event) {
28
- event.preventDefault();
29
- var rect = this.getBoundingClientRect();
30
- event.offsetLeft = rect.left;
31
- event.offsetTop = rect.top;
32
- callback.call(sender, event);
33
- event.preventDefault();
34
- });
35
- break;
36
-
37
- case "touchend":
38
- this._htmlObject.addEventListener('touchend', function (event) {
39
- event.preventDefault();
40
- var rect = this.getBoundingClientRect();
41
- event.offsetLeft = rect.left;
42
- event.offsetTop = rect.top;
43
- callback.call(sender, event);
44
- event.preventDefault();
45
- });
46
- break;
47
-
48
- case "touchmove":
49
- this._htmlObject.addEventListener('touchmove', function (event) {
50
- event.preventDefault();
51
- var rect = this.getBoundingClientRect();
52
- event.offsetLeft = rect.left;
53
- event.offsetTop = rect.top;
54
- callback.call(sender, event);
55
- event.preventDefault();
56
- });
57
- break;
58
- }
59
- }
60
- }
61
-
62
- export { TouchHandler };
63
-
1
+ 'use strict';
2
+
3
+ class TouchHandler {
4
+
5
+ constructor(htmlObject) {
6
+ this._htmlObject = htmlObject;
7
+ }
8
+
9
+ setEvent(event, sender, callback) {
10
+ switch (event) {
11
+ case "touchcancel":
12
+ this._htmlObject.addEventListener('touchcancel', function (event) {
13
+ event.preventDefault();
14
+ var rect = this.getBoundingClientRect();
15
+ event.offsetLeft = rect.left;
16
+ event.offsetTop = rect.top;
17
+ callback.call(sender, event);
18
+ event.preventDefault();
19
+ });
20
+ break;
21
+
22
+ case "touchstart":
23
+ this._htmlObject.addEventListener('touchstart', function (event) {
24
+ event.preventDefault();
25
+ var rect = this.getBoundingClientRect();
26
+ event.offsetLeft = rect.left;
27
+ event.offsetTop = rect.top;
28
+ callback.call(sender, event);
29
+ event.preventDefault();
30
+ });
31
+ break;
32
+
33
+ case "touchend":
34
+ this._htmlObject.addEventListener('touchend', function (event) {
35
+ event.preventDefault();
36
+ var rect = this.getBoundingClientRect();
37
+ event.offsetLeft = rect.left;
38
+ event.offsetTop = rect.top;
39
+ callback.call(sender, event);
40
+ event.preventDefault();
41
+ });
42
+ break;
43
+
44
+ case "touchmove":
45
+ this._htmlObject.addEventListener('touchmove', function (event) {
46
+ event.preventDefault();
47
+ var rect = this.getBoundingClientRect();
48
+ event.offsetLeft = rect.left;
49
+ event.offsetTop = rect.top;
50
+ callback.call(sender, event);
51
+ event.preventDefault();
52
+ });
53
+ break;
54
+ }
55
+ }
56
+ }
57
+
58
+ export { TouchHandler };
59
+
@@ -1,48 +1,44 @@
1
- /**
2
- * @module og/input/input
3
- */
4
-
5
- 'use strict';
6
-
7
- export const input = {
8
- KEY_CTRL: 17,
9
- KEY_ALT: 18,
10
- KEY_SHIFT: 16,
11
- KEY_SPACE: 32,
12
- KEY_PGUP: 33,
13
- KEY_PGDN: 34,
14
- KEY_LEFT: 37,
15
- KEY_UP: 38,
16
- KEY_RIGHT: 39,
17
- KEY_DOWN: 40,
18
- KEY_PRINTSCREEN: 44,
19
- KEY_EQUALS: 61,
20
- KEY_A: 65,
21
- KEY_C: 67,
22
- KEY_D: 68,
23
- KEY_E: 69,
24
- KEY_F: 70,
25
- KEY_H: 72,
26
- KEY_I: 73,
27
- KEY_K: 75,
28
- KEY_L: 76,
29
- KEY_N: 78,
30
- KEY_O: 79,
31
- KEY_P: 80,
32
- KEY_Q: 81,
33
- KEY_R: 82,
34
- KEY_S: 83,
35
- KEY_V: 86,
36
- KEY_W: 87,
37
- KEY_X: 88,
38
- KEY_Z: 90,
39
- KEY_PLUS: 107,
40
- KEY_F1: 112,
41
- KEY_MINUS: 173,
42
- KEY_APOSTROPHE: 192,
43
- MB_LEFT: 0,
44
- MB_RIGHT: 2,
45
- MB_MIDDLE: 1,
46
- KEY_BACK_SLASH: 220,
47
- KEY_SINGLE_QUOTE: 222
48
- };
1
+ 'use strict';
2
+
3
+ export const input = {
4
+ KEY_CTRL: 17,
5
+ KEY_ALT: 18,
6
+ KEY_SHIFT: 16,
7
+ KEY_SPACE: 32,
8
+ KEY_PGUP: 33,
9
+ KEY_PGDN: 34,
10
+ KEY_LEFT: 37,
11
+ KEY_UP: 38,
12
+ KEY_RIGHT: 39,
13
+ KEY_DOWN: 40,
14
+ KEY_PRINTSCREEN: 44,
15
+ KEY_EQUALS: 61,
16
+ KEY_A: 65,
17
+ KEY_C: 67,
18
+ KEY_D: 68,
19
+ KEY_E: 69,
20
+ KEY_F: 70,
21
+ KEY_H: 72,
22
+ KEY_I: 73,
23
+ KEY_K: 75,
24
+ KEY_L: 76,
25
+ KEY_N: 78,
26
+ KEY_O: 79,
27
+ KEY_P: 80,
28
+ KEY_Q: 81,
29
+ KEY_R: 82,
30
+ KEY_S: 83,
31
+ KEY_V: 86,
32
+ KEY_W: 87,
33
+ KEY_X: 88,
34
+ KEY_Z: 90,
35
+ KEY_PLUS: 107,
36
+ KEY_F1: 112,
37
+ KEY_MINUS: 173,
38
+ KEY_APOSTROPHE: 192,
39
+ MB_LEFT: 0,
40
+ MB_RIGHT: 2,
41
+ MB_MIDDLE: 1,
42
+ KEY_BACK_SLASH: 220,
43
+ KEY_SINGLE_QUOTE: 222
44
+ };
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/layer/BaseGeoImage
3
- */
4
-
5
1
  "use strict";
6
2
 
7
3
  import { Extent } from "../Extent.js";
@@ -265,10 +261,11 @@ class BaseGeoImage extends Layer {
265
261
  this._creationProceeding && p._geoImageCreator.remove(this);
266
262
  p._clearLayerMaterial(this);
267
263
 
268
- gl.deleteBuffer(this._gridBuffer);
269
-
270
- gl.deleteTexture(this._sourceTexture);
271
- !this._materialTexture.default && gl.deleteTexture(this._materialTexture);
264
+ if (gl) {
265
+ gl.deleteBuffer(this._gridBuffer);
266
+ gl.deleteTexture(this._sourceTexture);
267
+ this._materialTexture && !this._materialTexture.default && gl.deleteTexture(this._materialTexture);
268
+ }
272
269
  }
273
270
 
274
271
  this._sourceTexture = null;
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/layer/CanvasTiles
3
- */
4
-
5
1
  "use strict";
6
2
 
7
3
  import * as quadTree from "../quadTree/quadTree.js";
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/layer/GeoImage
3
- */
4
-
5
1
  "use strict";
6
2
 
7
3
  import { nextHighestPowerOfTwo } from "../math.js";
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/layer/GeoTexture2d
3
- */
4
-
5
1
  'use strict';
6
2
 
7
3
  import * as math from '../math.js';
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/layer/GeoVideo
3
- */
4
-
5
1
  "use strict";
6
2
 
7
3
  import { BaseGeoImage } from "./BaseGeoImage.js";
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+
2
3
  import { Billboard } from "../entity/Billboard.js";
3
4
  import { Entity } from "../entity/Entity.js";
4
5
  import { Extent } from "../Extent.js";
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/layer/Layer
3
- */
4
-
5
1
  "use strict";
6
2
 
7
3
  import { Events } from "../Events.js";
@@ -360,32 +356,33 @@ class Layer {
360
356
  * @param {Planet} planet - Planet render node.
361
357
  */
362
358
  _assignPlanet(planet) {
363
- // TODO: webgl1
364
- if (this._isSRGB) {
365
- this._internalFormat = planet.renderer.handler.gl.SRGB8_ALPHA8;
366
- } else {
367
- this._internalFormat = planet.renderer.handler.gl.RGBA8;
368
- }
369
359
 
370
- this.createTexture = planet.renderer.handler.createTexture[this._textureFilter];
371
-
372
- // TODO: replace to planet
360
+ this._planet = planet;
373
361
  planet._layers.push(this);
374
362
 
375
- this._planet = planet;
376
- this.events.on("visibilitychange", planet._onLayerVisibilityChanged, planet);
377
- if (this._isBaseLayer && this._visibility) {
378
- planet.setBaseLayer(this);
379
- }
363
+ if (planet.renderer.isInitialized()) {
364
+ // TODO: webgl1
365
+ if (this._isSRGB) {
366
+ this._internalFormat = planet.renderer.handler.gl.SRGB8_ALPHA8;
367
+ } else {
368
+ this._internalFormat = planet.renderer.handler.gl.RGBA8;
369
+ }
370
+ this.createTexture = planet.renderer.handler.createTexture[this._textureFilter];
380
371
 
381
- if (this._visibility && this.hasImageryTiles()) {
382
- this._preLoad();
383
- }
372
+ this.events.on("visibilitychange", planet._onLayerVisibilityChanged, planet);
373
+ if (this._isBaseLayer && this._visibility) {
374
+ planet.setBaseLayer(this);
375
+ }
384
376
 
385
- planet.events.dispatch(planet.events.layeradd, this);
386
- this.events.dispatch(this.events.add, planet);
387
- planet.updateVisibleLayers();
388
- this._bindPicking();
377
+ planet.events.dispatch(planet.events.layeradd, this);
378
+ this.events.dispatch(this.events.add, planet);
379
+ planet.updateVisibleLayers();
380
+ this._bindPicking();
381
+
382
+ if (this._visibility && this.hasImageryTiles()) {
383
+ this._preLoad();
384
+ }
385
+ }
389
386
  }
390
387
 
391
388
  get isIdle() {
@@ -410,7 +407,6 @@ class Layer {
410
407
  if (!this._planet) {
411
408
  this._assignPlanet(planet);
412
409
  }
413
- return this;
414
410
  }
415
411
 
416
412
  /**
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/layer/Material
3
- */
4
-
5
1
  "use strict";
6
2
 
7
3
  class Material {
@@ -1,7 +1,3 @@
1
- /**
2
- * @module og/layer/Vector
3
- */
4
-
5
1
  "use strict";
6
2
 
7
3
  import { Entity } from "../entity/Entity.js";
@@ -198,6 +194,13 @@ class Vector extends Layer {
198
194
  return this;
199
195
  }
200
196
 
197
+ remove() {
198
+ super.remove();
199
+ this._polylineEntityCollection.remove();
200
+ this._stripEntityCollection.remove();
201
+ this._geoObjectEntityCollection.remove();
202
+ }
203
+
201
204
  /**
202
205
  * Returns stored entities.
203
206
  * @public
@@ -300,21 +303,21 @@ class Vector extends Layer {
300
303
  }
301
304
  }
302
305
 
303
- if (entity.billboard || entity.label) {
306
+ if (entity.billboard || entity.label || entity.geoObject) {
304
307
  if (this._planet) {
305
- if (entity._cartesian.isZero() && !entity._lonlat.isZero()) {
308
+ if (entity._cartesian.isZero() && !entity._lonLat.isZero()) {
306
309
  entity._setCartesian3vSilent(
307
- this._planet.ellipsoid.lonLatToCartesian(entity._lonlat)
310
+ this._planet.ellipsoid.lonLatToCartesian(entity._lonLat)
308
311
  );
309
312
  } else {
310
- entity._lonlat = this._planet.ellipsoid.cartesianToLonLat(entity._cartesian);
313
+ entity._lonLat = this._planet.ellipsoid.cartesianToLonLat(entity._cartesian);
311
314
  }
312
315
 
313
316
  // north tree
314
- if (entity._lonlat.lat > mercator.MAX_LAT) {
317
+ if (entity._lonLat.lat > mercator.MAX_LAT) {
315
318
  this._entityCollectionsTreeNorth.__setLonLat__(entity);
316
319
  this._entityCollectionsTreeNorth.insertEntity(entity, rightNow);
317
- } else if (entity._lonlat.lat < mercator.MIN_LAT) {
320
+ } else if (entity._lonLat.lat < mercator.MIN_LAT) {
318
321
  // south tree
319
322
  this._entityCollectionsTreeSouth.__setLonLat__(entity);
320
323
  this._entityCollectionsTreeSouth.insertEntity(entity, rightNow);
@@ -609,9 +612,9 @@ class Vector extends Layer {
609
612
  for (let i = 0, len = entitiesForTree.length; i < len; i++) {
610
613
  let entity = entitiesForTree[i];
611
614
  // north tree
612
- if (entity._lonlat.lat > mercator.MAX_LAT) {
615
+ if (entity._lonLat.lat > mercator.MAX_LAT) {
613
616
  this._entityCollectionsTreeNorth.__setLonLat__(entity);
614
- } else if (entity._lonlat.lat < mercator.MIN_LAT) {
617
+ } else if (entity._lonLat.lat < mercator.MIN_LAT) {
615
618
  // south tree
616
619
  this._entityCollectionsTreeSouth.__setLonLat__(entity);
617
620
  } else {
@@ -845,7 +848,7 @@ class Vector extends Layer {
845
848
  // Merc nodes
846
849
  this._secondPASS = [];
847
850
  this._entityCollectionsTree &&
848
- this._entityCollectionsTree.collectRenderCollectionsPASS1(p._visibleNodes, outArr);
851
+ this._entityCollectionsTree.collectRenderCollectionsPASS1(p._visibleNodes, outArr);
849
852
  var i = this._secondPASS.length;
850
853
  while (i--) {
851
854
  this._secondPASS[i].collectRenderCollectionsPASS2(
@@ -858,9 +861,9 @@ class Vector extends Layer {
858
861
  // North nodes
859
862
  this._secondPASS = [];
860
863
  this._entityCollectionsTreeNorth &&
861
- this._entityCollectionsTreeNorth.collectRenderCollectionsPASS1(
862
- p._visibleNodesNorth,
863
- outArr
864
+ this._entityCollectionsTreeNorth.collectRenderCollectionsPASS1(
865
+ p._visibleNodesNorth,
866
+ outArr
864
867
  );
865
868
  i = this._secondPASS.length;
866
869
  while (i--) {
@@ -874,10 +877,10 @@ class Vector extends Layer {
874
877
  // South nodes
875
878
  this._secondPASS = [];
876
879
  this._entityCollectionsTreeSouth &&
877
- this._entityCollectionsTreeSouth.collectRenderCollectionsPASS1(
878
- p._visibleNodesSouth,
879
- outArr
880
- );
880
+ this._entityCollectionsTreeSouth.collectRenderCollectionsPASS1(
881
+ p._visibleNodesSouth,
882
+ outArr
883
+ );
881
884
  i = this._secondPASS.length;
882
885
  while (i--) {
883
886
  this._secondPASS[i].collectRenderCollectionsPASS2(