@openglobus/og 0.12.1 → 0.13.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 (230) hide show
  1. package/README.md +0 -2
  2. package/dist/@openglobus/og.css +1 -0
  3. package/dist/@openglobus/og.esm.js +21 -0
  4. package/dist/@openglobus/og.esm.js.map +1 -0
  5. package/dist/@openglobus/og.umd.js +21 -0
  6. package/dist/@openglobus/og.umd.js.map +1 -0
  7. package/package.json +8 -8
  8. package/src/og/Extent.js +3 -3
  9. package/src/og/Globe.js +277 -275
  10. package/src/og/ImageCanvas.js +3 -3
  11. package/src/og/LonLat.js +9 -9
  12. package/src/og/QueueArray.js +2 -2
  13. package/src/og/Rectangle.js +5 -5
  14. package/src/og/bv/Box.js +1 -1
  15. package/src/og/bv/Sphere.js +2 -2
  16. package/src/og/camera/Camera.js +1 -1
  17. package/src/og/camera/PlanetCamera.js +649 -646
  18. package/src/og/control/LayerSwitcher.js +1 -1
  19. package/src/og/control/MouseNavigation.js +22 -13
  20. package/src/og/control/MouseWheelZoomControl.js +2 -2
  21. package/src/og/control/ScaleControl.js +1 -1
  22. package/src/og/control/TouchNavigation.js +319 -319
  23. package/src/og/control/ZoomControl.js +132 -132
  24. package/src/og/control/visibleExtent/Segment.js +12 -12
  25. package/src/og/ellipsoid/Ellipsoid.js +577 -567
  26. package/src/og/entity/BillboardHandler.js +878 -1051
  27. package/src/og/entity/Entity.js +1 -1
  28. package/src/og/entity/EntityCollection.js +847 -857
  29. package/src/og/entity/GeoObjectHandler.js +37 -18
  30. package/src/og/entity/LabelHandler.js +888 -1040
  31. package/src/og/entity/LabelWorker.js +0 -6
  32. package/src/og/entity/PointCloud.js +495 -495
  33. package/src/og/entity/Polyline.js +2218 -2222
  34. package/src/og/entity/RayHandler.js +1 -1
  35. package/src/og/layer/CanvasTiles.js +6 -3
  36. package/src/og/layer/GeoImage.js +1 -1
  37. package/src/og/layer/KML.js +24 -17
  38. package/src/og/layer/Layer.js +806 -751
  39. package/src/og/layer/Vector.js +997 -1010
  40. package/src/og/layer/XYZ.js +359 -357
  41. package/src/og/math/Line2.js +4 -4
  42. package/src/og/math/Quat.js +2 -2
  43. package/src/og/math/Ray.js +2 -2
  44. package/src/og/math/Vec2.js +524 -524
  45. package/src/og/math/Vec3.js +900 -900
  46. package/src/og/math/Vec4.js +261 -261
  47. package/src/og/math.js +397 -398
  48. package/src/og/quadTree/EntityCollectionNode.js +389 -387
  49. package/src/og/renderer/Renderer.js +14 -20
  50. package/src/og/renderer/RendererEvents.js +1034 -1045
  51. package/src/og/scene/Planet.js +26 -23
  52. package/src/og/scene/RenderNode.js +347 -354
  53. package/src/og/segment/Segment.js +3 -1
  54. package/src/og/segment/SegmentLonLat.js +1 -4
  55. package/src/og/shaders/billboard.js +220 -204
  56. package/src/og/shaders/drawnode.js +603 -603
  57. package/src/og/shaders/geoObject.js +15 -6
  58. package/src/og/shaders/label.js +596 -456
  59. package/src/og/shaders/polyline.js +365 -361
  60. package/src/og/terrain/MapboxTerrain.js +1 -1
  61. package/src/og/utils/FontAtlas.js +209 -200
  62. package/src/og/utils/GeoImageCreator.js +4 -5
  63. package/src/og/utils/TextureAtlas.js +4 -4
  64. package/src/og/utils/VectorTileCreator.js +414 -414
  65. package/src/og/utils/shared.js +1 -1
  66. package/src/og/webgl/Handler.js +28 -60
  67. package/src/og/webgl/Multisample.js +260 -260
  68. package/src/og/webgl/Program.js +411 -396
  69. package/types/Clock.d.ts +94 -0
  70. package/types/Deferred.d.ts +6 -0
  71. package/types/Events.d.ts +77 -0
  72. package/types/Extent.d.ts +166 -0
  73. package/types/Globe.d.ts +85 -0
  74. package/types/ImageCanvas.d.ts +123 -0
  75. package/types/Lock.d.ts +12 -0
  76. package/types/LonLat.d.ts +108 -0
  77. package/types/Popup.d.ts +42 -0
  78. package/types/QueueArray.d.ts +19 -0
  79. package/types/Rectangle.d.ts +80 -0
  80. package/types/Stack.d.ts +19 -0
  81. package/types/ajax.d.ts +24 -0
  82. package/types/arial.d.ts +48 -0
  83. package/types/astro/astro.d.ts +38 -0
  84. package/types/astro/earth.d.ts +7 -0
  85. package/types/astro/jd.d.ts +254 -0
  86. package/types/bv/Box.d.ts +30 -0
  87. package/types/bv/Sphere.d.ts +38 -0
  88. package/types/bv/index.d.ts +3 -0
  89. package/types/camera/Camera.d.ts +312 -0
  90. package/types/camera/Frustum.d.ts +133 -0
  91. package/types/camera/PlanetCamera.d.ts +219 -0
  92. package/types/camera/index.d.ts +3 -0
  93. package/types/cons.d.ts +40 -0
  94. package/types/control/CompassButton.d.ts +17 -0
  95. package/types/control/Control.d.ts +104 -0
  96. package/types/control/DebugInfo.d.ts +15 -0
  97. package/types/control/EarthCoordinates.d.ts +47 -0
  98. package/types/control/EarthNavigation.d.ts +43 -0
  99. package/types/control/GeoImageDragControl.d.ts +6 -0
  100. package/types/control/KeyboardNavigation.d.ts +21 -0
  101. package/types/control/LayerSwitcher.d.ts +21 -0
  102. package/types/control/Lighting.d.ts +16 -0
  103. package/types/control/MouseNavigation.d.ts +48 -0
  104. package/types/control/MouseWheelZoomControl.d.ts +45 -0
  105. package/types/control/ScaleControl.d.ts +22 -0
  106. package/types/control/ShowFps.d.ts +11 -0
  107. package/types/control/SimpleNavigation.d.ts +25 -0
  108. package/types/control/Sun.d.ts +50 -0
  109. package/types/control/ToggleWireframe.d.ts +12 -0
  110. package/types/control/TouchNavigation.d.ts +48 -0
  111. package/types/control/ZoomControl.d.ts +27 -0
  112. package/types/control/index.d.ts +18 -0
  113. package/types/ellipsoid/Ellipsoid.d.ts +153 -0
  114. package/types/ellipsoid/index.d.ts +3 -0
  115. package/types/ellipsoid/wgs84.d.ts +6 -0
  116. package/types/entity/BaseBillboard.d.ts +215 -0
  117. package/types/entity/Billboard.d.ts +94 -0
  118. package/types/entity/BillboardHandler.d.ts +75 -0
  119. package/types/entity/Entity.d.ts +348 -0
  120. package/types/entity/EntityCollection.d.ts +309 -0
  121. package/types/entity/GeoObject.d.ts +111 -0
  122. package/types/entity/GeoObjectHandler.d.ts +81 -0
  123. package/types/entity/Geometry.d.ts +74 -0
  124. package/types/entity/GeometryHandler.d.ts +76 -0
  125. package/types/entity/Label.d.ts +189 -0
  126. package/types/entity/LabelHandler.d.ts +29 -0
  127. package/types/entity/LabelWorker.d.ts +11 -0
  128. package/types/entity/PointCloud.d.ts +174 -0
  129. package/types/entity/PointCloudHandler.d.ts +38 -0
  130. package/types/entity/Polyline.d.ts +306 -0
  131. package/types/entity/PolylineHandler.d.ts +18 -0
  132. package/types/entity/Ray.d.ts +124 -0
  133. package/types/entity/RayHandler.d.ts +67 -0
  134. package/types/entity/ShapeHandler.d.ts +22 -0
  135. package/types/entity/Strip.d.ts +119 -0
  136. package/types/entity/StripHandler.d.ts +38 -0
  137. package/types/entity/index.d.ts +8 -0
  138. package/types/index.core.d.ts +65 -0
  139. package/types/index.d.ts +45 -0
  140. package/types/index.webgl.d.ts +7 -0
  141. package/types/input/KeyboardHandler.d.ts +10 -0
  142. package/types/input/MouseHandler.d.ts +5 -0
  143. package/types/input/TouchHandler.d.ts +5 -0
  144. package/types/input/input.d.ts +34 -0
  145. package/types/layer/BaseGeoImage.d.ts +94 -0
  146. package/types/layer/CanvasTiles.d.ts +67 -0
  147. package/types/layer/GeoImage.d.ts +52 -0
  148. package/types/layer/GeoTexture2d.d.ts +8 -0
  149. package/types/layer/GeoVideo.d.ts +55 -0
  150. package/types/layer/KML.d.ts +68 -0
  151. package/types/layer/Layer.d.ts +315 -0
  152. package/types/layer/Material.d.ts +45 -0
  153. package/types/layer/Vector.d.ts +201 -0
  154. package/types/layer/WMS.d.ts +61 -0
  155. package/types/layer/XYZ.d.ts +119 -0
  156. package/types/layer/index.d.ts +10 -0
  157. package/types/light/LightSource.d.ts +178 -0
  158. package/types/math/Line2.d.ts +11 -0
  159. package/types/math/Line3.d.ts +10 -0
  160. package/types/math/Mat3.d.ts +65 -0
  161. package/types/math/Mat4.d.ts +176 -0
  162. package/types/math/Plane.d.ts +18 -0
  163. package/types/math/Quat.d.ts +379 -0
  164. package/types/math/Ray.d.ts +82 -0
  165. package/types/math/Vec2.d.ts +309 -0
  166. package/types/math/Vec3.d.ts +467 -0
  167. package/types/math/Vec4.d.ts +162 -0
  168. package/types/math/coder.d.ts +43 -0
  169. package/types/math/index.d.ts +11 -0
  170. package/types/math.d.ts +261 -0
  171. package/types/mercator.d.ts +92 -0
  172. package/types/proj/EPSG3857.d.ts +6 -0
  173. package/types/proj/EPSG4326.d.ts +6 -0
  174. package/types/proj/Proj.d.ts +42 -0
  175. package/types/quadTree/EntityCollectionNode.d.ts +34 -0
  176. package/types/quadTree/Node.d.ts +60 -0
  177. package/types/quadTree/quadTree.d.ts +40 -0
  178. package/types/renderer/Renderer.d.ts +290 -0
  179. package/types/renderer/RendererEvents.d.ts +237 -0
  180. package/types/res/images.d.ts +3 -0
  181. package/types/scene/Axes.d.ts +11 -0
  182. package/types/scene/BaseNode.d.ts +60 -0
  183. package/types/scene/Planet.d.ts +576 -0
  184. package/types/scene/RenderNode.d.ts +142 -0
  185. package/types/scene/SkyBox.d.ts +10 -0
  186. package/types/scene/index.d.ts +4 -0
  187. package/types/segment/Segment.d.ts +275 -0
  188. package/types/segment/SegmentLonLat.d.ts +17 -0
  189. package/types/segment/Slice.d.ts +10 -0
  190. package/types/segment/segmentHelper.d.ts +13 -0
  191. package/types/shaders/billboard.d.ts +3 -0
  192. package/types/shaders/depth.d.ts +2 -0
  193. package/types/shaders/drawnode.d.ts +7 -0
  194. package/types/shaders/geoObject.d.ts +3 -0
  195. package/types/shaders/label.d.ts +4 -0
  196. package/types/shaders/pointCloud.d.ts +2 -0
  197. package/types/shaders/polyline.d.ts +3 -0
  198. package/types/shaders/ray.d.ts +2 -0
  199. package/types/shaders/screenFrame.d.ts +2 -0
  200. package/types/shaders/shape.d.ts +4 -0
  201. package/types/shaders/skybox.d.ts +2 -0
  202. package/types/shaders/toneMapping.d.ts +2 -0
  203. package/types/shapes/BaseShape.d.ts +250 -0
  204. package/types/shapes/Sphere.d.ts +41 -0
  205. package/types/terrain/BilTerrain.d.ts +7 -0
  206. package/types/terrain/EmptyTerrain.d.ts +73 -0
  207. package/types/terrain/Geoid.d.ts +26 -0
  208. package/types/terrain/GlobusTerrain.d.ts +116 -0
  209. package/types/terrain/MapboxTerrain.d.ts +7 -0
  210. package/types/terrain/index.d.ts +5 -0
  211. package/types/utils/FontAtlas.d.ts +16 -0
  212. package/types/utils/GeoImageCreator.d.ts +30 -0
  213. package/types/utils/ImagesCacheManager.d.ts +10 -0
  214. package/types/utils/Loader.d.ts +25 -0
  215. package/types/utils/NormalMapCreator.d.ts +39 -0
  216. package/types/utils/PlainSegmentWorker.d.ts +10 -0
  217. package/types/utils/TerrainWorker.d.ts +9 -0
  218. package/types/utils/TextureAtlas.d.ts +111 -0
  219. package/types/utils/VectorTileCreator.d.ts +16 -0
  220. package/types/utils/colorTable.d.ts +143 -0
  221. package/types/utils/earcut.d.ts +6 -0
  222. package/types/utils/shared.d.ts +231 -0
  223. package/types/webgl/Framebuffer.d.ts +135 -0
  224. package/types/webgl/Handler.d.ts +392 -0
  225. package/types/webgl/Multisample.d.ts +89 -0
  226. package/types/webgl/Program.d.ts +163 -0
  227. package/types/webgl/ProgramController.d.ts +89 -0
  228. package/types/webgl/callbacks.d.ts +1 -0
  229. package/types/webgl/index.d.ts +6 -0
  230. package/types/webgl/types.d.ts +2 -0
@@ -1,132 +1,132 @@
1
- /**
2
- * @module og/control/ZoomControl
3
- */
4
-
5
- "use strict";
6
-
7
- import { Control } from "./Control.js";
8
- import { Key } from "../Lock.js";
9
-
10
- /**
11
- * Planet zoom buttons control.
12
- * @class
13
- * @extends {Control}
14
- * @params {Object} [options] - Control options.
15
- */
16
- class ZoomControl extends Control {
17
- constructor(options) {
18
- super(options);
19
-
20
- options = options || {};
21
-
22
- this._keyLock = new Key();
23
-
24
- this.planet = null;
25
-
26
- this._move = 0;
27
- }
28
-
29
- oninit() {
30
- var zoomDiv = document.createElement("div"),
31
- btnZoomIn = document.createElement("button"),
32
- btnZoomOut = document.createElement("button");
33
-
34
- zoomDiv.className = "ogZoomControl";
35
- btnZoomIn.className = "ogZoomButton ogZoomIn";
36
- btnZoomOut.className = "ogZoomButton ogZoomOut";
37
-
38
- zoomDiv.appendChild(btnZoomIn);
39
- zoomDiv.appendChild(btnZoomOut);
40
-
41
- this.renderer.div.appendChild(zoomDiv);
42
-
43
- btnZoomIn.addEventListener("mousedown", (e) => this.zoomIn());
44
- btnZoomIn.addEventListener("mouseup", (e) => this.stopZoom());
45
-
46
- btnZoomOut.addEventListener("mousedown", (e) => this.zoomOut());
47
- btnZoomOut.addEventListener("mouseup", (e) => this.stopZoom());
48
-
49
- btnZoomIn.addEventListener("touchstart", (e) => {
50
- e.preventDefault();
51
- this.zoomIn();
52
- });
53
- btnZoomIn.addEventListener("touchend", (e) => {
54
- e.preventDefault();
55
- this.stopZoom();
56
- });
57
- btnZoomIn.addEventListener("touchcancel", (e) => {
58
- e.preventDefault();
59
- this.stopZoom();
60
- });
61
-
62
- btnZoomOut.addEventListener("touchstart", (e) => {
63
- e.preventDefault();
64
- this.zoomOut();
65
- });
66
- btnZoomOut.addEventListener("touchend", (e) => {
67
- e.preventDefault();
68
- this.stopZoom();
69
- });
70
- btnZoomOut.addEventListener("touchcancel", (e) => {
71
- e.preventDefault();
72
- this.stopZoom();
73
- });
74
-
75
- this.renderer.events.on("draw", this._draw, this);
76
- }
77
-
78
- /**
79
- * Planet zoom in.
80
- * @public
81
- */
82
- zoomIn() {
83
- this.planet.layerLock.lock(this._keyLock);
84
- this.planet.terrainLock.lock(this._keyLock);
85
- this.planet._normalMapCreator.lock(this._keyLock);
86
-
87
- this._targetPoint = this.renderer.getCenter();
88
-
89
- this._move = 1;
90
- }
91
-
92
- /**
93
- * Planet zoom out.
94
- * @public
95
- */
96
- zoomOut() {
97
- this.planet.layerLock.lock(this._keyLock);
98
- this.planet.terrainLock.lock(this._keyLock);
99
- this.planet._normalMapCreator.lock(this._keyLock);
100
-
101
- this._targetPoint = this.renderer.getCenter();
102
- this._move = -1;
103
- }
104
-
105
- stopZoom() {
106
- this._move = 0;
107
-
108
- this.planet.layerLock.free(this._keyLock);
109
- this.planet.terrainLock.free(this._keyLock);
110
- this.planet._normalMapCreator.free(this._keyLock);
111
- }
112
-
113
- _draw(e) {
114
- var cam = this.renderer.activeCamera;
115
-
116
- if (this._move !== 0) {
117
- var d =
118
- cam.eye.distance(
119
- this.planet.getCartesianFromPixelTerrain(this._targetPoint, true)
120
- ) * 0.075;
121
- cam.eye.addA(cam.getForward().scale(this._move * d));
122
- cam.checkTerrainCollision();
123
- cam.update();
124
- }
125
- }
126
- }
127
-
128
- export function zoomControl(options) {
129
- return new ZoomControl(options);
130
- }
131
-
132
- export { ZoomControl };
1
+ /**
2
+ * @module og/control/ZoomControl
3
+ */
4
+
5
+ "use strict";
6
+
7
+ import { Control } from "./Control.js";
8
+ import { Key } from "../Lock.js";
9
+
10
+ /**
11
+ * Planet zoom buttons control.
12
+ * @class
13
+ * @extends {Control}
14
+ * @params {Object} [options] - Control options.
15
+ */
16
+ class ZoomControl extends Control {
17
+ constructor(options) {
18
+ super(options);
19
+
20
+ options = options || {};
21
+
22
+ this._keyLock = new Key();
23
+
24
+ this.planet = null;
25
+
26
+ this._move = 0;
27
+ }
28
+
29
+ oninit() {
30
+ var zoomDiv = document.createElement("div"),
31
+ btnZoomIn = document.createElement("button"),
32
+ btnZoomOut = document.createElement("button");
33
+
34
+ zoomDiv.className = "ogZoomControl";
35
+ btnZoomIn.className = "ogZoomButton ogZoomIn";
36
+ btnZoomOut.className = "ogZoomButton ogZoomOut";
37
+
38
+ zoomDiv.appendChild(btnZoomIn);
39
+ zoomDiv.appendChild(btnZoomOut);
40
+
41
+ this.renderer.div.appendChild(zoomDiv);
42
+
43
+ btnZoomIn.addEventListener("mousedown", (e) => this.zoomIn());
44
+ btnZoomIn.addEventListener("mouseup", (e) => this.stopZoom());
45
+
46
+ btnZoomOut.addEventListener("mousedown", (e) => this.zoomOut());
47
+ btnZoomOut.addEventListener("mouseup", (e) => this.stopZoom());
48
+
49
+ btnZoomIn.addEventListener("touchstart", (e) => {
50
+ e.preventDefault();
51
+ this.zoomIn();
52
+ });
53
+ btnZoomIn.addEventListener("touchend", (e) => {
54
+ e.preventDefault();
55
+ this.stopZoom();
56
+ });
57
+ btnZoomIn.addEventListener("touchcancel", (e) => {
58
+ e.preventDefault();
59
+ this.stopZoom();
60
+ });
61
+
62
+ btnZoomOut.addEventListener("touchstart", (e) => {
63
+ e.preventDefault();
64
+ this.zoomOut();
65
+ });
66
+ btnZoomOut.addEventListener("touchend", (e) => {
67
+ e.preventDefault();
68
+ this.stopZoom();
69
+ });
70
+ btnZoomOut.addEventListener("touchcancel", (e) => {
71
+ e.preventDefault();
72
+ this.stopZoom();
73
+ });
74
+
75
+ this.renderer.events.on("draw", this._draw, this);
76
+ }
77
+
78
+ /**
79
+ * Planet zoom in.
80
+ * @public
81
+ */
82
+ zoomIn() {
83
+ this.planet.layerLock.lock(this._keyLock);
84
+ this.planet.terrainLock.lock(this._keyLock);
85
+ this.planet._normalMapCreator.lock(this._keyLock);
86
+
87
+ this._targetPoint = this.renderer.getCenter();
88
+
89
+ this._move = 1;
90
+ }
91
+
92
+ /**
93
+ * Planet zoom out.
94
+ * @public
95
+ */
96
+ zoomOut() {
97
+ this.planet.layerLock.lock(this._keyLock);
98
+ this.planet.terrainLock.lock(this._keyLock);
99
+ this.planet._normalMapCreator.lock(this._keyLock);
100
+
101
+ this._targetPoint = this.renderer.getCenter();
102
+ this._move = -1;
103
+ }
104
+
105
+ stopZoom() {
106
+ this._move = 0;
107
+
108
+ this.planet.layerLock.free(this._keyLock);
109
+ this.planet.terrainLock.free(this._keyLock);
110
+ this.planet._normalMapCreator.free(this._keyLock);
111
+ }
112
+
113
+ _draw(e) {
114
+ var cam = this.renderer.activeCamera;
115
+
116
+ if (this._move !== 0) {
117
+ let pos = this.planet.getCartesianFromPixelTerrain(this._targetPoint);
118
+ if (pos) {
119
+ let d = cam.eye.distance(pos) * 0.035;
120
+ cam.eye.addA(cam.getForward().scale(this._move * d));
121
+ cam.checkTerrainCollision();
122
+ cam.update();
123
+ }
124
+ }
125
+ }
126
+ }
127
+
128
+ export function zoomControl(options) {
129
+ return new ZoomControl(options);
130
+ }
131
+
132
+ export { ZoomControl };
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
 
3
- import * as mercator from "../mercator.js";
4
- import { N, E, S, W, OPSIDE, NOTRENDERING } from "../quadTree/quadTree.js";
5
- import { EPSG3857 } from "../proj/EPSG3857.js";
6
- import { Extent } from "../Extent.js";
7
- import { Layer } from "../layer/Layer.js";
8
- import { LonLat } from "../LonLat.js";
9
- import { Ray } from "../math/Ray.js";
10
- import { Sphere } from "../bv/Sphere.js";
11
- import { Box } from "../bv/Box.js";
12
- import { Vec3 } from "../math/Vec3.js";
13
- import * as segmentHelper from "../segment/segmentHelper.js";
14
- import { getMatrixSubArray } from "../utils/shared.js";
3
+ import * as mercator from "../../mercator.js";
4
+ import { N, E, S, W, OPSIDE, NOTRENDERING } from "../../quadTree/quadTree.js";
5
+ import { EPSG3857 } from "../../proj/EPSG3857.js";
6
+ import { Extent } from "../../Extent.js";
7
+ import { Layer } from "../../layer/Layer.js";
8
+ import { LonLat } from "../../LonLat.js";
9
+ import { Ray } from "../../math/Ray.js";
10
+ import { Sphere } from "../../bv/Sphere.js";
11
+ import { Box } from "../../bv/Box.js";
12
+ import { Vec3 } from "../../math/Vec3.js";
13
+ import * as segmentHelper from "../../segment/segmentHelper.js";
14
+ import { getMatrixSubArray } from "../../utils/shared.js";
15
15
 
16
16
  export const MAX_NORMAL_ZOOM = 7;
17
17