@openglobus/og 0.11.2 → 0.11.7

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 (273) hide show
  1. package/package.json +13 -13
  2. package/src/og/Clock.js +10 -10
  3. package/src/og/Events.js +8 -6
  4. package/src/og/Extent.js +82 -41
  5. package/src/og/Globe.js +25 -13
  6. package/src/og/ImageCanvas.js +22 -16
  7. package/src/og/LonLat.js +16 -13
  8. package/src/og/Popup.js +21 -14
  9. package/src/og/QueueArray.js +6 -2
  10. package/src/og/Rectangle.js +11 -6
  11. package/src/og/Stack.js +5 -2
  12. package/src/og/ajax.js +21 -33
  13. package/src/og/astro/astro.js +5 -5
  14. package/src/og/astro/earth.js +22 -16
  15. package/src/og/astro/jd.js +23 -18
  16. package/src/og/astro/orbit.js +13 -11
  17. package/src/og/astro/rotation.js +17 -8
  18. package/src/og/bv/Box.js +7 -3
  19. package/src/og/bv/Sphere.js +14 -11
  20. package/src/og/camera/Camera.js +51 -54
  21. package/src/og/camera/Frustum.js +29 -18
  22. package/src/og/camera/PlanetCamera.js +32 -23
  23. package/src/og/control/CompassButton.js +5 -1
  24. package/src/og/control/Control.js +12 -10
  25. package/src/og/control/DebugInfo.js +4 -1
  26. package/src/og/control/EarthCoordinates.js +54 -33
  27. package/src/og/control/KeyboardNavigation.js +10 -10
  28. package/src/og/control/LayerSwitcher.js +22 -21
  29. package/src/og/control/Lighting.js +34 -3
  30. package/src/og/control/MouseNavigation.js +1 -1
  31. package/src/og/control/ScaleControl.js +1 -1
  32. package/src/og/control/SegmentBoundVisualization.js +6 -7
  33. package/src/og/control/ShowFps.js +13 -8
  34. package/src/og/control/SimpleNavigation.js +6 -8
  35. package/src/og/control/Sun.js +25 -15
  36. package/src/og/control/ToggleWireframe.js +4 -4
  37. package/src/og/control/TouchNavigation.js +44 -33
  38. package/src/og/control/ZoomControl.js +41 -25
  39. package/src/og/ellipsoid/Ellipsoid.js +162 -66
  40. package/src/og/ellipsoid/wgs84.js +4 -4
  41. package/src/og/entity/BaseBillboard.js +100 -56
  42. package/src/og/entity/Billboard.js +14 -10
  43. package/src/og/entity/BillboardHandler.js +317 -60
  44. package/src/og/entity/Entity.js +100 -68
  45. package/src/og/entity/EntityCollection.js +70 -47
  46. package/src/og/entity/GeoObject.js +228 -0
  47. package/src/og/entity/GeoObjectHandler.js +910 -0
  48. package/src/og/entity/Geometry.js +27 -24
  49. package/src/og/entity/GeometryHandler.js +596 -124
  50. package/src/og/entity/Label.js +80 -49
  51. package/src/og/entity/LabelHandler.js +45 -244
  52. package/src/og/entity/LabelWorker.js +218 -0
  53. package/src/og/entity/Object3d.js +504 -0
  54. package/src/og/entity/PointCloud.js +80 -32
  55. package/src/og/entity/PointCloudHandler.js +8 -8
  56. package/src/og/entity/Polyline.js +16 -16
  57. package/src/og/entity/Ray.js +60 -27
  58. package/src/og/entity/Strip.js +77 -48
  59. package/src/og/entity/StripHandler.js +26 -26
  60. package/src/og/entity/index.js +8 -16
  61. package/src/og/layer/BaseGeoImage.js +54 -23
  62. package/src/og/layer/CanvasTiles.js +24 -24
  63. package/src/og/layer/GeoImage.js +9 -9
  64. package/src/og/layer/GeoVideo.js +3 -3
  65. package/src/og/layer/KML.js +63 -37
  66. package/src/og/layer/Layer.js +44 -21
  67. package/src/og/layer/Material.js +23 -20
  68. package/src/og/layer/Vector.js +114 -68
  69. package/src/og/layer/WMS.js +34 -17
  70. package/src/og/layer/XYZ.js +48 -46
  71. package/src/og/light/LightSource.js +46 -39
  72. package/src/og/math/Mat3.js +34 -22
  73. package/src/og/math/Mat4.js +603 -459
  74. package/src/og/math/Plane.js +21 -20
  75. package/src/og/math/Quat.js +182 -139
  76. package/src/og/math/Ray.js +38 -33
  77. package/src/og/math/Vec2.js +85 -75
  78. package/src/og/math/Vec3.js +142 -112
  79. package/src/og/math/Vec4.js +27 -31
  80. package/src/og/math/coder.js +10 -10
  81. package/src/og/math.js +12 -12
  82. package/src/og/proj/EPSG3857.js +4 -4
  83. package/src/og/proj/EPSG4326.js +4 -4
  84. package/src/og/proj/Proj.js +4 -6
  85. package/src/og/quadTree/Node.js +8 -8
  86. package/src/og/renderer/Renderer.js +59 -52
  87. package/src/og/renderer/RendererEvents.js +50 -27
  88. package/src/og/scene/BaseNode.js +7 -8
  89. package/src/og/scene/Planet.js +102 -103
  90. package/src/og/scene/RenderNode.js +28 -21
  91. package/src/og/segment/Segment.js +26 -21
  92. package/src/og/segment/SegmentLonLat.js +5 -5
  93. package/src/og/shaders/drawnode.js +135 -142
  94. package/src/og/shaders/geoObject.js +211 -0
  95. package/src/og/shaders/pointCloud.js +41 -41
  96. package/src/og/shaders/shape.js +12 -18
  97. package/src/og/shaders/skybox.js +36 -36
  98. package/src/og/shaders/toneMapping.js +1 -0
  99. package/src/og/shapes/BaseShape.js +126 -54
  100. package/src/og/shapes/Icosphere.js +29 -14
  101. package/src/og/shapes/Sphere.js +12 -15
  102. package/src/og/terrain/BilTerrain.js +1 -0
  103. package/src/og/terrain/EmptyTerrain.js +2 -2
  104. package/src/og/terrain/GlobusTerrain.js +9 -9
  105. package/src/og/utils/FontAtlas.js +6 -2
  106. package/src/og/utils/TextureAtlas.js +22 -24
  107. package/src/og/utils/VectorTileCreator.js +1 -3
  108. package/src/og/utils/shared.js +16 -16
  109. package/src/og/webgl/Framebuffer.js +88 -40
  110. package/src/og/webgl/Handler.js +243 -169
  111. package/src/og/webgl/Multisample.js +47 -19
  112. package/src/og/webgl/Program.js +79 -34
  113. package/src/og/webgl/ProgramController.js +17 -13
  114. package/src/og/webgl/callbacks.js +8 -8
  115. package/src/og/inherits.js +0 -8
  116. package/src/og/utils/polylabel.js +0 -176
  117. package/types/Clock.d.ts +0 -90
  118. package/types/Deferred.d.ts +0 -6
  119. package/types/Events.d.ts +0 -73
  120. package/types/Extent.d.ts +0 -166
  121. package/types/Globe.d.ts +0 -75
  122. package/types/ImageCanvas.d.ts +0 -121
  123. package/types/Lock.d.ts +0 -12
  124. package/types/LonLat.d.ts +0 -108
  125. package/types/Popup.d.ts +0 -38
  126. package/types/QueueArray.d.ts +0 -15
  127. package/types/Rectangle.d.ts +0 -74
  128. package/types/Stack.d.ts +0 -15
  129. package/types/ajax.d.ts +0 -24
  130. package/types/arial.d.ts +0 -48
  131. package/types/astro/astro.d.ts +0 -38
  132. package/types/astro/earth.d.ts +0 -6
  133. package/types/astro/jd.d.ts +0 -254
  134. package/types/bv/Box.d.ts +0 -25
  135. package/types/bv/Sphere.d.ts +0 -38
  136. package/types/bv/index.d.ts +0 -3
  137. package/types/camera/Camera.d.ts +0 -303
  138. package/types/camera/Frustum.d.ts +0 -129
  139. package/types/camera/PlanetCamera.d.ts +0 -223
  140. package/types/camera/index.d.ts +0 -3
  141. package/types/cons.d.ts +0 -40
  142. package/types/control/CompassButton.d.ts +0 -18
  143. package/types/control/Control.d.ts +0 -101
  144. package/types/control/DebugInfo.d.ts +0 -16
  145. package/types/control/EarthCoordinates.d.ts +0 -47
  146. package/types/control/EarthNavigation.d.ts +0 -42
  147. package/types/control/GeoImageDragControl.d.ts +0 -6
  148. package/types/control/KeyboardNavigation.d.ts +0 -22
  149. package/types/control/LayerSwitcher.d.ts +0 -23
  150. package/types/control/Lighting.d.ts +0 -16
  151. package/types/control/MouseNavigation.d.ts +0 -51
  152. package/types/control/ScaleControl.d.ts +0 -22
  153. package/types/control/ShowFps.d.ts +0 -12
  154. package/types/control/SimpleNavigation.d.ts +0 -28
  155. package/types/control/Sun.d.ts +0 -52
  156. package/types/control/ToggleWireframe.d.ts +0 -12
  157. package/types/control/TouchNavigation.d.ts +0 -50
  158. package/types/control/ZoomControl.d.ts +0 -28
  159. package/types/control/index.d.ts +0 -17
  160. package/types/ellipsoid/Ellipsoid.d.ts +0 -142
  161. package/types/ellipsoid/index.d.ts +0 -3
  162. package/types/ellipsoid/wgs84.d.ts +0 -5
  163. package/types/entity/BaseBillboard.d.ts +0 -208
  164. package/types/entity/Billboard.d.ts +0 -94
  165. package/types/entity/BillboardHandler.d.ts +0 -74
  166. package/types/entity/Entity.d.ts +0 -331
  167. package/types/entity/EntityCollection.d.ts +0 -303
  168. package/types/entity/Geometry.d.ts +0 -73
  169. package/types/entity/GeometryHandler.d.ts +0 -76
  170. package/types/entity/Label.d.ts +0 -194
  171. package/types/entity/LabelHandler.d.ts +0 -24
  172. package/types/entity/PointCloud.d.ts +0 -174
  173. package/types/entity/PointCloudHandler.d.ts +0 -38
  174. package/types/entity/Polyline.d.ts +0 -304
  175. package/types/entity/PolylineHandler.d.ts +0 -18
  176. package/types/entity/Ray.d.ts +0 -123
  177. package/types/entity/RayHandler.d.ts +0 -67
  178. package/types/entity/ShapeHandler.d.ts +0 -22
  179. package/types/entity/Strip.d.ts +0 -118
  180. package/types/entity/StripHandler.d.ts +0 -38
  181. package/types/entity/index.d.ts +0 -8
  182. package/types/index.core.d.ts +0 -65
  183. package/types/index.d.ts +0 -45
  184. package/types/index.webgl.d.ts +0 -7
  185. package/types/inherits.d.ts +0 -4
  186. package/types/input/KeyboardHandler.d.ts +0 -10
  187. package/types/input/MouseHandler.d.ts +0 -5
  188. package/types/input/TouchHandler.d.ts +0 -5
  189. package/types/input/input.d.ts +0 -34
  190. package/types/layer/BaseGeoImage.d.ts +0 -107
  191. package/types/layer/CanvasTiles.d.ts +0 -75
  192. package/types/layer/GeoImage.d.ts +0 -65
  193. package/types/layer/GeoTexture2d.d.ts +0 -8
  194. package/types/layer/GeoVideo.d.ts +0 -80
  195. package/types/layer/KML.d.ts +0 -58
  196. package/types/layer/Layer.d.ts +0 -321
  197. package/types/layer/Material.d.ts +0 -48
  198. package/types/layer/Vector.d.ts +0 -228
  199. package/types/layer/WMS.d.ts +0 -66
  200. package/types/layer/XYZ.d.ts +0 -130
  201. package/types/layer/index.d.ts +0 -10
  202. package/types/light/LightSource.d.ts +0 -177
  203. package/types/math/Line2.d.ts +0 -11
  204. package/types/math/Line3.d.ts +0 -10
  205. package/types/math/Mat3.d.ts +0 -63
  206. package/types/math/Mat4.d.ts +0 -173
  207. package/types/math/Plane.d.ts +0 -17
  208. package/types/math/Quat.d.ts +0 -376
  209. package/types/math/Ray.d.ts +0 -81
  210. package/types/math/Vec2.d.ts +0 -308
  211. package/types/math/Vec3.d.ts +0 -459
  212. package/types/math/Vec4.d.ts +0 -161
  213. package/types/math/coder.d.ts +0 -42
  214. package/types/math/index.d.ts +0 -11
  215. package/types/math.d.ts +0 -261
  216. package/types/mercator.d.ts +0 -92
  217. package/types/proj/EPSG3857.d.ts +0 -5
  218. package/types/proj/EPSG4326.d.ts +0 -5
  219. package/types/proj/Proj.d.ts +0 -42
  220. package/types/quadTree/EntityCollectionNode.d.ts +0 -34
  221. package/types/quadTree/Node.d.ts +0 -61
  222. package/types/quadTree/quadTree.d.ts +0 -40
  223. package/types/renderer/Renderer.d.ts +0 -296
  224. package/types/renderer/RendererEvents.d.ts +0 -230
  225. package/types/res/images.d.ts +0 -3
  226. package/types/scene/Axes.d.ts +0 -11
  227. package/types/scene/BaseNode.d.ts +0 -60
  228. package/types/scene/Planet.d.ts +0 -574
  229. package/types/scene/RenderNode.d.ts +0 -143
  230. package/types/scene/SkyBox.d.ts +0 -10
  231. package/types/scene/index.d.ts +0 -4
  232. package/types/segment/Segment.d.ts +0 -271
  233. package/types/segment/SegmentLonLat.d.ts +0 -62
  234. package/types/segment/segmentHelper.d.ts +0 -13
  235. package/types/shaders/billboard.d.ts +0 -3
  236. package/types/shaders/depth.d.ts +0 -2
  237. package/types/shaders/drawnode.d.ts +0 -7
  238. package/types/shaders/label.d.ts +0 -4
  239. package/types/shaders/pointCloud.d.ts +0 -2
  240. package/types/shaders/polyline.d.ts +0 -3
  241. package/types/shaders/ray.d.ts +0 -2
  242. package/types/shaders/screenFrame.d.ts +0 -2
  243. package/types/shaders/shape.d.ts +0 -4
  244. package/types/shaders/skybox.d.ts +0 -2
  245. package/types/shaders/toneMapping.d.ts +0 -2
  246. package/types/shapes/BaseShape.d.ts +0 -247
  247. package/types/shapes/Sphere.d.ts +0 -41
  248. package/types/terrain/BilTerrain.d.ts +0 -8
  249. package/types/terrain/EmptyTerrain.d.ts +0 -72
  250. package/types/terrain/Geoid.d.ts +0 -26
  251. package/types/terrain/GlobusTerrain.d.ts +0 -153
  252. package/types/terrain/MapboxTerrain.d.ts +0 -8
  253. package/types/terrain/index.d.ts +0 -5
  254. package/types/utils/FontAtlas.d.ts +0 -14
  255. package/types/utils/GeoImageCreator.d.ts +0 -30
  256. package/types/utils/ImagesCacheManager.d.ts +0 -10
  257. package/types/utils/Loader.d.ts +0 -25
  258. package/types/utils/NormalMapCreator.d.ts +0 -39
  259. package/types/utils/PlainSegmentWorker.d.ts +0 -10
  260. package/types/utils/TerrainWorker.d.ts +0 -9
  261. package/types/utils/TextureAtlas.d.ts +0 -111
  262. package/types/utils/VectorTileCreator.d.ts +0 -16
  263. package/types/utils/colorTable.d.ts +0 -143
  264. package/types/utils/earcut.d.ts +0 -6
  265. package/types/utils/shared.d.ts +0 -230
  266. package/types/webgl/Framebuffer.d.ts +0 -135
  267. package/types/webgl/Handler.d.ts +0 -372
  268. package/types/webgl/Multisample.d.ts +0 -89
  269. package/types/webgl/Program.d.ts +0 -155
  270. package/types/webgl/ProgramController.d.ts +0 -84
  271. package/types/webgl/callbacks.d.ts +0 -1
  272. package/types/webgl/index.d.ts +0 -6
  273. package/types/webgl/types.d.ts +0 -2
@@ -1,12 +1,12 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- import { Control } from './Control.js';
4
- import { input } from '../input/input.js';
3
+ import { Control } from "./Control.js";
4
+ import { input } from "../input/input.js";
5
5
 
6
6
  /**
7
7
  * Simple keyboard camera navigation with W,S,A,D and shift keys to fly around the scene.
8
8
  * @class
9
- * @extends {og.control.Control}
9
+ * @extends {Control}
10
10
  * @param {Object} [options] - Control options.
11
11
  */
12
12
  class SimpleNavigation extends Control {
@@ -18,11 +18,9 @@ class SimpleNavigation extends Control {
18
18
  this.speed = options.speed || 1.0;
19
19
  }
20
20
 
21
- onactivate() {
22
- }
21
+ onactivate() {}
23
22
 
24
- ondeactivate() {
25
- }
23
+ ondeactivate() {}
26
24
 
27
25
  oninit() {
28
26
  this.camera = this.renderer.activeCamera;
@@ -2,19 +2,19 @@
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
  /**
15
15
  * Real Sun geocentric position control that place the Sun on the right place by the Earth.
16
16
  * @class
17
- * @extends {og.control.Control}
17
+ * @extends {Control}
18
18
  * @param {Object} [options] - Control options.
19
19
  */
20
20
  class Sun extends Control {
@@ -28,7 +28,7 @@ class Sun extends Control {
28
28
  /**
29
29
  * Earth planet node.
30
30
  * @public
31
- * @type {og.scene.Planet}
31
+ * @type {Planet}
32
32
  */
33
33
  this.planet = null;
34
34
 
@@ -46,7 +46,7 @@ class Sun extends Control {
46
46
  /**
47
47
  * Light source.
48
48
  * @public
49
- * @type {og.LightSource}
49
+ * @type {LightSource}
50
50
  */
51
51
  this.sunlight = null;
52
52
 
@@ -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,15 +2,15 @@
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.
12
12
  * @class
13
- * @extends {og.control.Control}
13
+ * @extends {Control}
14
14
  * @param {Object} [options] - Control options.
15
15
  */
16
16
  class ToggleWireframe extends Control {
@@ -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,15 +21,19 @@ 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
 
29
33
  /**
30
34
  * Touch pad planet camera dragging control.
31
35
  * @class
32
- * @extends {og.control.Control}
36
+ * @extends {Control}
33
37
  * @param {Object} [options] - Control options.
34
38
  */
35
39
  class TouchNavigation extends Control {
@@ -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,15 +2,15 @@
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.
12
12
  * @class
13
- * @extends {og.control.Control}
13
+ * @extends {Control}
14
14
  * @params {Object} [options] - Control options.
15
15
  */
16
16
  class ZoomControl extends 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();