@openglobus/og 0.11.4 → 0.11.8

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 (260) hide show
  1. package/css/og.css +3 -2
  2. package/package.json +12 -14
  3. package/src/og/Clock.js +6 -10
  4. package/src/og/Events.js +5 -7
  5. package/src/og/Extent.js +73 -32
  6. package/src/og/Globe.js +8 -5
  7. package/src/og/ImageCanvas.js +18 -15
  8. package/src/og/LonLat.js +13 -10
  9. package/src/og/Popup.js +19 -17
  10. package/src/og/QueueArray.js +3 -4
  11. package/src/og/Rectangle.js +4 -6
  12. package/src/og/Stack.js +2 -4
  13. package/src/og/ajax.js +20 -14
  14. package/src/og/astro/earth.js +21 -15
  15. package/src/og/bv/Box.js +2 -3
  16. package/src/og/bv/Sphere.js +10 -7
  17. package/src/og/camera/Frustum.js +19 -12
  18. package/src/og/camera/PlanetCamera.js +9 -5
  19. package/src/og/control/CompassButton.js +1 -2
  20. package/src/og/control/Control.js +7 -9
  21. package/src/og/control/DebugInfo.js +0 -1
  22. package/src/og/control/KeyboardNavigation.js +9 -9
  23. package/src/og/control/LayerSwitcher.js +21 -20
  24. package/src/og/control/Lighting.js +74 -64
  25. package/src/og/control/MouseNavigation.js +21 -18
  26. package/src/og/control/MouseWheelZoomControl.js +257 -0
  27. package/src/og/control/SegmentBoundVisualization.js +5 -6
  28. package/src/og/control/ShowFps.js +12 -7
  29. package/src/og/control/SimpleNavigation.js +5 -7
  30. package/src/og/control/Sun.js +22 -12
  31. package/src/og/control/ToggleWireframe.js +3 -3
  32. package/src/og/control/TouchNavigation.js +43 -32
  33. package/src/og/control/ZoomControl.js +40 -24
  34. package/src/og/control/index.js +2 -0
  35. package/src/og/control/visibleExtent/Segment.js +1862 -0
  36. package/src/og/control/visibleExtent/VisibleExtent.js +80 -0
  37. package/src/og/control/visibleExtent/drawnode.js +751 -0
  38. package/src/og/ellipsoid/Ellipsoid.js +149 -57
  39. package/src/og/ellipsoid/wgs84.js +3 -3
  40. package/src/og/entity/BaseBillboard.js +72 -30
  41. package/src/og/entity/Billboard.js +9 -5
  42. package/src/og/entity/BillboardHandler.js +315 -62
  43. package/src/og/entity/Entity.js +39 -1
  44. package/src/og/entity/EntityCollection.js +47 -24
  45. package/src/og/entity/GeoObject.js +228 -0
  46. package/src/og/entity/GeoObjectHandler.js +910 -0
  47. package/src/og/entity/GeometryHandler.js +595 -123
  48. package/src/og/entity/Label.js +62 -30
  49. package/src/og/entity/LabelHandler.js +40 -242
  50. package/src/og/entity/LabelWorker.js +218 -0
  51. package/src/og/entity/Object3d.js +504 -0
  52. package/src/og/entity/PointCloud.js +76 -28
  53. package/src/og/entity/PointCloudHandler.js +5 -5
  54. package/src/og/entity/Ray.js +49 -16
  55. package/src/og/entity/Strip.js +72 -43
  56. package/src/og/entity/StripHandler.js +23 -23
  57. package/src/og/layer/BaseGeoImage.js +50 -19
  58. package/src/og/layer/CanvasTiles.js +16 -17
  59. package/src/og/layer/GeoImage.js +8 -16
  60. package/src/og/layer/GeoTexture2d.js +2 -10
  61. package/src/og/layer/GeoVideo.js +2 -10
  62. package/src/og/layer/KML.js +55 -33
  63. package/src/og/layer/Layer.js +24 -32
  64. package/src/og/layer/Material.js +1 -1
  65. package/src/og/layer/Vector.js +94 -48
  66. package/src/og/layer/WMS.js +33 -18
  67. package/src/og/layer/XYZ.js +4 -5
  68. package/src/og/light/LightSource.js +19 -12
  69. package/src/og/math/Mat3.js +24 -12
  70. package/src/og/math/Mat4.js +603 -603
  71. package/src/og/math/Plane.js +19 -18
  72. package/src/og/math/Ray.js +17 -12
  73. package/src/og/math/Vec2.js +24 -14
  74. package/src/og/math/Vec3.js +60 -30
  75. package/src/og/math/coder.js +7 -7
  76. package/src/og/proj/EPSG3857.js +3 -3
  77. package/src/og/proj/EPSG4326.js +3 -3
  78. package/src/og/proj/Proj.js +2 -4
  79. package/src/og/quadTree/Node.js +3 -3
  80. package/src/og/renderer/Renderer.js +106 -124
  81. package/src/og/renderer/RendererEvents.js +45 -23
  82. package/src/og/scene/BaseNode.js +2 -3
  83. package/src/og/scene/Planet.js +51 -90
  84. package/src/og/scene/RenderNode.js +15 -8
  85. package/src/og/segment/Segment.js +60 -156
  86. package/src/og/segment/Slice.js +45 -0
  87. package/src/og/shaders/drawnode.js +245 -342
  88. package/src/og/shaders/geoObject.js +211 -0
  89. package/src/og/shaders/pointCloud.js +41 -41
  90. package/src/og/shaders/shape.js +12 -18
  91. package/src/og/shaders/skybox.js +36 -36
  92. package/src/og/shaders/toneMapping.js +1 -0
  93. package/src/og/shapes/BaseShape.js +108 -36
  94. package/src/og/shapes/Icosphere.js +25 -10
  95. package/src/og/shapes/Sphere.js +8 -11
  96. package/src/og/utils/FontAtlas.js +6 -2
  97. package/src/og/utils/GeoImageCreator.js +5 -1
  98. package/src/og/utils/TextureAtlas.js +18 -20
  99. package/src/og/utils/VectorTileCreator.js +1 -3
  100. package/src/og/utils/shared.js +2 -2
  101. package/src/og/webgl/Handler.js +215 -162
  102. package/src/og/webgl/Multisample.js +44 -16
  103. package/src/og/webgl/Program.js +78 -33
  104. package/src/og/webgl/callbacks.js +3 -3
  105. package/types/Clock.d.ts +0 -94
  106. package/types/Deferred.d.ts +0 -6
  107. package/types/Events.d.ts +0 -77
  108. package/types/Extent.d.ts +0 -166
  109. package/types/Globe.d.ts +0 -82
  110. package/types/ImageCanvas.d.ts +0 -123
  111. package/types/Lock.d.ts +0 -12
  112. package/types/LonLat.d.ts +0 -108
  113. package/types/Popup.d.ts +0 -42
  114. package/types/QueueArray.d.ts +0 -19
  115. package/types/Rectangle.d.ts +0 -80
  116. package/types/Stack.d.ts +0 -19
  117. package/types/ajax.d.ts +0 -24
  118. package/types/arial.d.ts +0 -48
  119. package/types/astro/astro.d.ts +0 -38
  120. package/types/astro/earth.d.ts +0 -7
  121. package/types/astro/jd.d.ts +0 -254
  122. package/types/bv/Box.d.ts +0 -30
  123. package/types/bv/Sphere.d.ts +0 -38
  124. package/types/bv/index.d.ts +0 -3
  125. package/types/camera/Camera.d.ts +0 -312
  126. package/types/camera/Frustum.d.ts +0 -133
  127. package/types/camera/PlanetCamera.d.ts +0 -218
  128. package/types/camera/index.d.ts +0 -3
  129. package/types/cons.d.ts +0 -40
  130. package/types/control/CompassButton.d.ts +0 -17
  131. package/types/control/Control.d.ts +0 -104
  132. package/types/control/DebugInfo.d.ts +0 -15
  133. package/types/control/EarthCoordinates.d.ts +0 -47
  134. package/types/control/EarthNavigation.d.ts +0 -42
  135. package/types/control/GeoImageDragControl.d.ts +0 -6
  136. package/types/control/KeyboardNavigation.d.ts +0 -21
  137. package/types/control/LayerSwitcher.d.ts +0 -21
  138. package/types/control/Lighting.d.ts +0 -16
  139. package/types/control/MouseNavigation.d.ts +0 -47
  140. package/types/control/ScaleControl.d.ts +0 -22
  141. package/types/control/ShowFps.d.ts +0 -11
  142. package/types/control/SimpleNavigation.d.ts +0 -25
  143. package/types/control/Sun.d.ts +0 -50
  144. package/types/control/ToggleWireframe.d.ts +0 -12
  145. package/types/control/TouchNavigation.d.ts +0 -48
  146. package/types/control/ZoomControl.d.ts +0 -27
  147. package/types/control/index.d.ts +0 -17
  148. package/types/ellipsoid/Ellipsoid.d.ts +0 -146
  149. package/types/ellipsoid/index.d.ts +0 -3
  150. package/types/ellipsoid/wgs84.d.ts +0 -6
  151. package/types/entity/BaseBillboard.d.ts +0 -208
  152. package/types/entity/Billboard.d.ts +0 -94
  153. package/types/entity/BillboardHandler.d.ts +0 -78
  154. package/types/entity/Entity.d.ts +0 -333
  155. package/types/entity/EntityCollection.d.ts +0 -311
  156. package/types/entity/Geometry.d.ts +0 -74
  157. package/types/entity/GeometryHandler.d.ts +0 -76
  158. package/types/entity/Label.d.ts +0 -189
  159. package/types/entity/LabelHandler.d.ts +0 -29
  160. package/types/entity/PointCloud.d.ts +0 -174
  161. package/types/entity/PointCloudHandler.d.ts +0 -38
  162. package/types/entity/Polyline.d.ts +0 -306
  163. package/types/entity/PolylineHandler.d.ts +0 -18
  164. package/types/entity/Ray.d.ts +0 -124
  165. package/types/entity/RayHandler.d.ts +0 -67
  166. package/types/entity/ShapeHandler.d.ts +0 -22
  167. package/types/entity/Strip.d.ts +0 -119
  168. package/types/entity/StripHandler.d.ts +0 -38
  169. package/types/entity/index.d.ts +0 -8
  170. package/types/index.core.d.ts +0 -65
  171. package/types/index.d.ts +0 -45
  172. package/types/index.webgl.d.ts +0 -7
  173. package/types/input/KeyboardHandler.d.ts +0 -10
  174. package/types/input/MouseHandler.d.ts +0 -5
  175. package/types/input/TouchHandler.d.ts +0 -5
  176. package/types/input/input.d.ts +0 -34
  177. package/types/layer/BaseGeoImage.d.ts +0 -94
  178. package/types/layer/CanvasTiles.d.ts +0 -68
  179. package/types/layer/GeoImage.d.ts +0 -52
  180. package/types/layer/GeoTexture2d.d.ts +0 -8
  181. package/types/layer/GeoVideo.d.ts +0 -55
  182. package/types/layer/KML.d.ts +0 -63
  183. package/types/layer/Layer.d.ts +0 -325
  184. package/types/layer/Material.d.ts +0 -45
  185. package/types/layer/Vector.d.ts +0 -208
  186. package/types/layer/WMS.d.ts +0 -63
  187. package/types/layer/XYZ.d.ts +0 -120
  188. package/types/layer/index.d.ts +0 -10
  189. package/types/light/LightSource.d.ts +0 -178
  190. package/types/math/Line2.d.ts +0 -11
  191. package/types/math/Line3.d.ts +0 -10
  192. package/types/math/Mat3.d.ts +0 -65
  193. package/types/math/Mat4.d.ts +0 -176
  194. package/types/math/Plane.d.ts +0 -18
  195. package/types/math/Quat.d.ts +0 -379
  196. package/types/math/Ray.d.ts +0 -82
  197. package/types/math/Vec2.d.ts +0 -309
  198. package/types/math/Vec3.d.ts +0 -460
  199. package/types/math/Vec4.d.ts +0 -162
  200. package/types/math/coder.d.ts +0 -43
  201. package/types/math/index.d.ts +0 -11
  202. package/types/math.d.ts +0 -261
  203. package/types/mercator.d.ts +0 -92
  204. package/types/proj/EPSG3857.d.ts +0 -6
  205. package/types/proj/EPSG4326.d.ts +0 -6
  206. package/types/proj/Proj.d.ts +0 -42
  207. package/types/quadTree/EntityCollectionNode.d.ts +0 -34
  208. package/types/quadTree/Node.d.ts +0 -61
  209. package/types/quadTree/quadTree.d.ts +0 -40
  210. package/types/renderer/Renderer.d.ts +0 -298
  211. package/types/renderer/RendererEvents.d.ts +0 -233
  212. package/types/res/images.d.ts +0 -3
  213. package/types/scene/Axes.d.ts +0 -11
  214. package/types/scene/BaseNode.d.ts +0 -60
  215. package/types/scene/Planet.d.ts +0 -577
  216. package/types/scene/RenderNode.d.ts +0 -142
  217. package/types/scene/SkyBox.d.ts +0 -10
  218. package/types/scene/index.d.ts +0 -4
  219. package/types/segment/Segment.d.ts +0 -279
  220. package/types/segment/SegmentLonLat.d.ts +0 -16
  221. package/types/segment/segmentHelper.d.ts +0 -13
  222. package/types/shaders/billboard.d.ts +0 -3
  223. package/types/shaders/depth.d.ts +0 -2
  224. package/types/shaders/drawnode.d.ts +0 -7
  225. package/types/shaders/label.d.ts +0 -4
  226. package/types/shaders/pointCloud.d.ts +0 -2
  227. package/types/shaders/polyline.d.ts +0 -3
  228. package/types/shaders/ray.d.ts +0 -2
  229. package/types/shaders/screenFrame.d.ts +0 -2
  230. package/types/shaders/shape.d.ts +0 -4
  231. package/types/shaders/skybox.d.ts +0 -2
  232. package/types/shaders/toneMapping.d.ts +0 -2
  233. package/types/shapes/BaseShape.d.ts +0 -250
  234. package/types/shapes/Sphere.d.ts +0 -41
  235. package/types/terrain/BilTerrain.d.ts +0 -7
  236. package/types/terrain/EmptyTerrain.d.ts +0 -72
  237. package/types/terrain/Geoid.d.ts +0 -26
  238. package/types/terrain/GlobusTerrain.d.ts +0 -116
  239. package/types/terrain/MapboxTerrain.d.ts +0 -7
  240. package/types/terrain/index.d.ts +0 -5
  241. package/types/utils/FontAtlas.d.ts +0 -14
  242. package/types/utils/GeoImageCreator.d.ts +0 -30
  243. package/types/utils/ImagesCacheManager.d.ts +0 -10
  244. package/types/utils/Loader.d.ts +0 -25
  245. package/types/utils/NormalMapCreator.d.ts +0 -39
  246. package/types/utils/PlainSegmentWorker.d.ts +0 -10
  247. package/types/utils/TerrainWorker.d.ts +0 -9
  248. package/types/utils/TextureAtlas.d.ts +0 -111
  249. package/types/utils/VectorTileCreator.d.ts +0 -16
  250. package/types/utils/colorTable.d.ts +0 -143
  251. package/types/utils/earcut.d.ts +0 -6
  252. package/types/utils/shared.d.ts +0 -231
  253. package/types/webgl/Framebuffer.d.ts +0 -135
  254. package/types/webgl/Handler.d.ts +0 -388
  255. package/types/webgl/Multisample.d.ts +0 -89
  256. package/types/webgl/Program.d.ts +0 -155
  257. package/types/webgl/ProgramController.d.ts +0 -89
  258. package/types/webgl/callbacks.d.ts +0 -1
  259. package/types/webgl/index.d.ts +0 -6
  260. package/types/webgl/types.d.ts +0 -2
@@ -2,13 +2,13 @@
2
2
  * @module og/control/Sun
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Control } from './Control.js';
8
- import { getSunPosition } from '../astro/earth.js';
9
- import { LightSource } from '../light/LightSource.js';
10
- import { Quat } from '../math/Quat.js';
11
- import { Vec3 } from '../math/Vec3.js';
7
+ import { Control } from "./Control.js";
8
+ import { getSunPosition } from "../astro/earth.js";
9
+ import { LightSource } from "../light/LightSource.js";
10
+ import { Quat } from "../math/Quat.js";
11
+ import { Vec3 } from "../math/Vec3.js";
12
12
 
13
13
  const ACTIVATION_HEIGHT = 12079000.0;
14
14
  /**
@@ -72,7 +72,6 @@ class Sun extends Control {
72
72
  }
73
73
 
74
74
  oninit() {
75
-
76
75
  this.planet.lightEnabled = true;
77
76
 
78
77
  // sunlight initialization
@@ -120,12 +119,17 @@ class Sun extends Control {
120
119
  }
121
120
 
122
121
  var tu = Vec3.proj_b_to_plane(u, n, u).normalize().scale(this.offsetVertical);
123
- var tr = Vec3.proj_b_to_plane(cam._u, n, cam._u).normalize().scale(this.offsetHorizontal); // right
122
+ var tr = Vec3.proj_b_to_plane(cam._u, n, cam._u)
123
+ .normalize()
124
+ .scale(this.offsetHorizontal); // right
124
125
  var d = tu.add(tr);
125
126
  var pos = cam.eye.add(d);
126
127
  if (this._k > 0) {
127
128
  this._k -= 0.01;
128
- let rot = Quat.getRotationBetweenVectors(this.sunlight._position.normal(), pos.normal());
129
+ let rot = Quat.getRotationBetweenVectors(
130
+ this.sunlight._position.normal(),
131
+ pos.normal()
132
+ );
129
133
  let r = rot.slerp(Quat.IDENTITY, this._k).normalize();
130
134
  this.sunlight.setPosition3v(r.mulVec3(this.sunlight._position));
131
135
  } else {
@@ -135,11 +139,17 @@ class Sun extends Control {
135
139
  this._k = 1;
136
140
  if (this._f > 0) {
137
141
  this._f -= 0.01;
138
- let rot = Quat.getRotationBetweenVectors(this.sunlight._position.normal(), getSunPosition(this._currDate).normal());
142
+ let rot = Quat.getRotationBetweenVectors(
143
+ this.sunlight._position.normal(),
144
+ getSunPosition(this._currDate).normal()
145
+ );
139
146
  let r = rot.slerp(Quat.IDENTITY, this._f).normalize();
140
147
  this.sunlight.setPosition3v(r.mulVec3(this.sunlight._position));
141
148
  } else {
142
- if ((Math.abs(this._currDate - this._prevDate) > 0.00034 && this._active) || this._lightOn) {
149
+ if (
150
+ (Math.abs(this._currDate - this._prevDate) > 0.00034 && this._active) ||
151
+ this._lightOn
152
+ ) {
143
153
  this._lightOn = false;
144
154
  this._prevDate = this._currDate;
145
155
  this.sunlight.setPosition3v(getSunPosition(this._currDate));
@@ -157,4 +167,4 @@ export function sun(options) {
157
167
  return Sun(options);
158
168
  }
159
169
 
160
- export { Sun };
170
+ export { Sun };
@@ -2,10 +2,10 @@
2
2
  * @module og/control/ToggleWireframe
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Control } from './Control.js';
8
- import { input } from '../input/input.js';
7
+ import { Control } from "./Control.js";
8
+ import { input } from "../input/input.js";
9
9
 
10
10
  /**
11
11
  * Planet GL draw mode(TRIANGLE_STRIP/LINE_STRING) changer.
@@ -2,16 +2,16 @@
2
2
  * @module og/control/TouchNavigation
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import * as math from '../math.js';
8
- import { Control } from './Control.js';
9
- import { Key } from '../Lock.js';
10
- import { LonLat } from '../LonLat.js';
11
- import { Quat } from '../math/Quat.js';
12
- import { Ray } from '../math/Ray.js';
13
- import { Sphere } from '../bv/Sphere.js';
14
- import { Vec3 } from '../math/Vec3.js';
7
+ import * as math from "../math.js";
8
+ import { Control } from "./Control.js";
9
+ import { Key } from "../Lock.js";
10
+ import { LonLat } from "../LonLat.js";
11
+ import { Quat } from "../math/Quat.js";
12
+ import { Ray } from "../math/Ray.js";
13
+ import { Sphere } from "../bv/Sphere.js";
14
+ import { Vec3 } from "../math/Vec3.js";
15
15
 
16
16
  class Touch {
17
17
  constructor() {
@@ -21,8 +21,12 @@ class Touch {
21
21
  this.prev_y = 0;
22
22
  this.grabbedPoint = new Vec3();
23
23
  this.grabbedSpheroid = new Sphere();
24
- this.dX = function () { return this.x - this.prev_x; };
25
- this.dY = function () { return this.y - this.prev_y; };
24
+ this.dX = function () {
25
+ return this.x - this.prev_x;
26
+ };
27
+ this.dY = function () {
28
+ return this.y - this.prev_y;
29
+ };
26
30
  }
27
31
  }
28
32
 
@@ -69,11 +73,9 @@ class TouchNavigation extends Control {
69
73
  }
70
74
 
71
75
  onTouchStart(e) {
72
-
73
76
  this._touching = true;
74
77
 
75
78
  if (e.sys.touches.length === 2) {
76
-
77
79
  var t0 = this.touches[0],
78
80
  t1 = this.touches[1];
79
81
 
@@ -90,7 +92,10 @@ class TouchNavigation extends Control {
90
92
  t1.grabbedPoint = this.planet.getCartesianFromPixelTerrain(t1, true);
91
93
 
92
94
  // this.planet._viewChanged = true;
93
- this.pointOnEarth = this.planet.getCartesianFromPixelTerrain(this.renderer.handler.getCenter(), true);
95
+ this.pointOnEarth = this.planet.getCartesianFromPixelTerrain(
96
+ this.renderer.handler.getCenter(),
97
+ true
98
+ );
94
99
 
95
100
  if (this.pointOnEarth) {
96
101
  this.earthUp = this.pointOnEarth.normal();
@@ -101,7 +106,6 @@ class TouchNavigation extends Control {
101
106
  t1.grabbedSpheroid.radius = t1.grabbedPoint.length();
102
107
  this.stopRotation();
103
108
  }
104
-
105
109
  } else if (e.sys.touches.length === 1) {
106
110
  this._startTouchOne(e);
107
111
  }
@@ -141,12 +145,13 @@ class TouchNavigation extends Control {
141
145
  var p = this.planet.getCartesianFromPixelTerrain(this.touches[0], true);
142
146
  if (p) {
143
147
  var g = this.planet.ellipsoid.cartesianToLonLat(p);
144
- this.planet.flyLonLat(new LonLat(g.lon, g.lat, this.renderer.activeCamera.eye.distance(p) * 0.57));
148
+ this.planet.flyLonLat(
149
+ new LonLat(g.lon, g.lat, this.renderer.activeCamera.eye.distance(p) * 0.57)
150
+ );
145
151
  }
146
152
  }
147
153
 
148
154
  onTouchEnd(e) {
149
-
150
155
  if (e.sys.touches.length === 0) {
151
156
  this._touching = false;
152
157
  }
@@ -155,21 +160,20 @@ class TouchNavigation extends Control {
155
160
  this._startTouchOne(e);
156
161
  }
157
162
 
158
- if ((Math.abs(this.touches[0].x - this.touches[0].prev_x) < 3) &&
159
- (Math.abs(this.touches[0].y - this.touches[0].prev_y) < 3)) {
163
+ if (
164
+ Math.abs(this.touches[0].x - this.touches[0].prev_x) < 3 &&
165
+ Math.abs(this.touches[0].y - this.touches[0].prev_y) < 3
166
+ ) {
160
167
  this.scaleRot = 0;
161
168
  }
162
169
  }
163
170
 
164
- onTouchCancel(e) {
165
- }
171
+ onTouchCancel(e) {}
166
172
 
167
173
  onTouchMove(e) {
168
-
169
174
  var cam = this.renderer.activeCamera;
170
175
 
171
176
  if (e.sys.touches.length === 2) {
172
-
173
177
  this.renderer.controlsBag.scaleRot = 1;
174
178
 
175
179
  var t0 = this.touches[0],
@@ -191,9 +195,14 @@ class TouchNavigation extends Control {
191
195
  t1.x = e.sys.touches.item(1).clientX - e.sys.offsetLeft;
192
196
  t1.y = e.sys.touches.item(1).clientY - e.sys.offsetTop;
193
197
 
194
- if ((t0.dY() > 0 && t1.dY() > 0) || (t0.dY() < 0 && t1.dY() < 0) ||
195
- (t0.dX() > 0 && t1.dX() > 0) || (t0.dX() < 0 && t1.dX() < 0)) {
196
- var l = 0.5 / cam.eye.distance(this.pointOnEarth) * cam._lonLat.height * math.RADIANS;
198
+ if (
199
+ (t0.dY() > 0 && t1.dY() > 0) ||
200
+ (t0.dY() < 0 && t1.dY() < 0) ||
201
+ (t0.dX() > 0 && t1.dX() > 0) ||
202
+ (t0.dX() < 0 && t1.dX() < 0)
203
+ ) {
204
+ var l =
205
+ (0.5 / cam.eye.distance(this.pointOnEarth)) * cam._lonLat.height * math.RADIANS;
197
206
  if (l > 0.007) l = 0.007;
198
207
  cam.rotateHorizontal(l * t0.dX(), false, this.pointOnEarth, this.earthUp);
199
208
  cam.rotateVertical(l * t0.dY(), this.pointOnEarth, true);
@@ -202,9 +211,7 @@ class TouchNavigation extends Control {
202
211
  }
203
212
 
204
213
  this.scaleRot = 0;
205
-
206
214
  } else if (e.sys.touches.length === 1) {
207
-
208
215
  var t = this.touches[0];
209
216
 
210
217
  t.prev_x = t.x;
@@ -223,7 +230,10 @@ class TouchNavigation extends Control {
223
230
 
224
231
  if (targetPoint) {
225
232
  if (cam.slope > 0.2) {
226
- this.qRot = Quat.getRotationBetweenVectors(targetPoint.normal(), t.grabbedPoint.normal());
233
+ this.qRot = Quat.getRotationBetweenVectors(
234
+ targetPoint.normal(),
235
+ t.grabbedPoint.normal()
236
+ );
227
237
  var rot = this.qRot;
228
238
  cam.eye = rot.mulVec3(cam.eye);
229
239
  cam._v = rot.mulVec3(cam._v);
@@ -250,7 +260,6 @@ class TouchNavigation extends Control {
250
260
  }
251
261
 
252
262
  onDraw(e) {
253
-
254
263
  this.renderer.controlsBag.scaleRot = this.scaleRot;
255
264
 
256
265
  if (this._touching) {
@@ -281,7 +290,9 @@ class TouchNavigation extends Control {
281
290
  this.scaleRot = 0;
282
291
  } else {
283
292
  r.controlsBag.scaleRot = this.scaleRot;
284
- var rot = this.qRot.slerp(Quat.IDENTITY, 1 - this.scaleRot * this.scaleRot * this.scaleRot).normalize();
293
+ var rot = this.qRot
294
+ .slerp(Quat.IDENTITY, 1 - this.scaleRot * this.scaleRot * this.scaleRot)
295
+ .normalize();
285
296
  if (!(rot.x || rot.y || rot.z)) {
286
297
  this.scaleRot = 0;
287
298
  }
@@ -305,4 +316,4 @@ class TouchNavigation extends Control {
305
316
  }
306
317
  }
307
318
 
308
- export { TouchNavigation };
319
+ export { TouchNavigation };
@@ -2,10 +2,10 @@
2
2
  * @module og/control/ZoomControl
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Control } from './Control.js';
8
- import { Key } from '../Lock.js';
7
+ import { Control } from "./Control.js";
8
+ import { Key } from "../Lock.js";
9
9
 
10
10
  /**
11
11
  * Planet zoom buttons control.
@@ -27,13 +27,13 @@ class ZoomControl extends Control {
27
27
  }
28
28
 
29
29
  oninit() {
30
- var zoomDiv = document.createElement('div'),
31
- btnZoomIn = document.createElement('button'),
32
- btnZoomOut = document.createElement('button');
30
+ var zoomDiv = document.createElement("div"),
31
+ btnZoomIn = document.createElement("button"),
32
+ btnZoomOut = document.createElement("button");
33
33
 
34
- zoomDiv.className = 'ogZoomControl';
35
- btnZoomIn.className = 'ogZoomButton ogZoomIn';
36
- btnZoomOut.className = 'ogZoomButton ogZoomOut';
34
+ zoomDiv.className = "ogZoomControl";
35
+ btnZoomIn.className = "ogZoomButton ogZoomIn";
36
+ btnZoomOut.className = "ogZoomButton ogZoomOut";
37
37
 
38
38
  zoomDiv.appendChild(btnZoomIn);
39
39
  zoomDiv.appendChild(btnZoomOut);
@@ -46,23 +46,40 @@ class ZoomControl extends Control {
46
46
  btnZoomOut.addEventListener("mousedown", (e) => this.zoomOut());
47
47
  btnZoomOut.addEventListener("mouseup", (e) => this.stopZoom());
48
48
 
49
- btnZoomIn.addEventListener('touchstart', (e) => { e.preventDefault(); this.zoomIn(); });
50
- btnZoomIn.addEventListener('touchend', (e) => { e.preventDefault(); this.stopZoom(); });
51
- btnZoomIn.addEventListener('touchcancel', (e) => { e.preventDefault(); this.stopZoom(); });
52
-
53
- btnZoomOut.addEventListener('touchstart', (e) => { e.preventDefault(); this.zoomOut(); });
54
- btnZoomOut.addEventListener('touchend', (e) => { e.preventDefault(); this.stopZoom(); });
55
- btnZoomOut.addEventListener('touchcancel', (e) => { e.preventDefault(); this.stopZoom(); });
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
+ });
56
74
 
57
75
  this.renderer.events.on("draw", this._draw, this);
58
76
  }
59
77
 
60
- /**
78
+ /**
61
79
  * Planet zoom in.
62
80
  * @public
63
81
  */
64
82
  zoomIn() {
65
-
66
83
  this.planet.layerLock.lock(this._keyLock);
67
84
  this.planet.terrainLock.lock(this._keyLock);
68
85
  this.planet._normalMapCreator.lock(this._keyLock);
@@ -72,12 +89,11 @@ class ZoomControl extends Control {
72
89
  this._move = 1;
73
90
  }
74
91
 
75
- /**
92
+ /**
76
93
  * Planet zoom out.
77
94
  * @public
78
95
  */
79
96
  zoomOut() {
80
-
81
97
  this.planet.layerLock.lock(this._keyLock);
82
98
  this.planet.terrainLock.lock(this._keyLock);
83
99
  this.planet._normalMapCreator.lock(this._keyLock);
@@ -87,7 +103,6 @@ class ZoomControl extends Control {
87
103
  }
88
104
 
89
105
  stopZoom() {
90
-
91
106
  this._move = 0;
92
107
 
93
108
  this.planet.layerLock.free(this._keyLock);
@@ -96,12 +111,13 @@ class ZoomControl extends Control {
96
111
  }
97
112
 
98
113
  _draw(e) {
99
-
100
114
  var cam = this.renderer.activeCamera;
101
115
 
102
116
  if (this._move !== 0) {
103
- var d = cam.eye.distance(
104
- this.planet.getCartesianFromPixelTerrain(this._targetPoint, true)) * 0.075;
117
+ var d =
118
+ cam.eye.distance(
119
+ this.planet.getCartesianFromPixelTerrain(this._targetPoint, true)
120
+ ) * 0.075;
105
121
  cam.eye.addA(cam.getForward().scale(this._move * d));
106
122
  cam.checkTerrainCollision();
107
123
  cam.update();
@@ -13,6 +13,7 @@ import { SimpleNavigation } from "./SimpleNavigation.js";
13
13
  import { ShowFps } from "./ShowFps.js";
14
14
  import { Sun } from "./Sun.js";
15
15
  import { ZoomControl } from "./ZoomControl.js";
16
+ import { MouseWheelZoomControl } from "./MouseWheelZoomControl.js";
16
17
  import { Lighting } from "./Lighting.js";
17
18
 
18
19
  export {
@@ -31,5 +32,6 @@ export {
31
32
  ShowFps,
32
33
  Sun,
33
34
  ZoomControl,
35
+ MouseWheelZoomControl,
34
36
  Lighting
35
37
  };