@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
@@ -1,4 +1,4 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  /**
4
4
  * 2D Rectangle class.
@@ -7,9 +7,8 @@
7
7
  * @param {number} [top] - Top coordinate. 0 - default.
8
8
  * @param {number} [right] - Right coordinate. 0 - default.
9
9
  * @param {number} [bottom] - Bottom coordinate. 0 - default.
10
- */
10
+ */
11
11
  class Rectangle {
12
-
13
12
  /**
14
13
  * @param {number} [left] - Left coordinate. 0 - default.
15
14
  * @param {number} [top] - Top coordinate. 0 - default.
@@ -17,7 +16,6 @@ class Rectangle {
17
16
  * @param {number} [bottom] - Bottom coordinate. 0 - default.
18
17
  */
19
18
  constructor(left, top, right, bottom) {
20
-
21
19
  /**
22
20
  * Left coordinate.
23
21
  * @public
@@ -102,7 +100,7 @@ class Rectangle {
102
100
  * @type {boolean}
103
101
  */
104
102
  fit(width, height) {
105
- return (this.getWidth() == width && this.getHeight() == height);
103
+ return this.getWidth() == width && this.getHeight() == height;
106
104
  }
107
105
 
108
106
  isInside(x, y) {
@@ -110,4 +108,4 @@ class Rectangle {
110
108
  }
111
109
  }
112
110
 
113
- export { Rectangle };
111
+ export { Rectangle };
package/src/og/Stack.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @module og/Stack
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
7
  class Node {
8
8
  constructor() {
@@ -13,13 +13,11 @@ class Node {
13
13
  }
14
14
 
15
15
  class Stack {
16
-
17
16
  /**
18
- *
17
+ *
19
18
  * @param {number} [size]
20
19
  */
21
20
  constructor(size = 256) {
22
-
23
21
  this._current = new Node();
24
22
  this._head = this._current;
25
23
 
package/src/og/ajax.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @module og/ajax
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
7
  /**
8
8
  * Ajax parameters.
@@ -13,8 +13,7 @@ const ajax = {
13
13
  * Ajax ready state result.
14
14
  * @enum
15
15
  */
16
- ReadyState:
17
- {
16
+ ReadyState: {
18
17
  Uninitialized: 0,
19
18
  Loading: 1,
20
19
  Loaded: 2,
@@ -25,8 +24,7 @@ const ajax = {
25
24
  * Ajax status code.
26
25
  * @enum
27
26
  */
28
- Status:
29
- {
27
+ Status: {
30
28
  OK: 200,
31
29
  Created: 201,
32
30
  Accepted: 202,
@@ -104,10 +102,10 @@ const defaultParams = {
104
102
  * @returns {ajax.Xhr} - Returns object that could be aborted.
105
103
  */
106
104
  ajax.request = function (url, params) {
107
-
108
105
  params = params || {};
109
106
 
110
- var p = {}, i;
107
+ var p = {},
108
+ i;
111
109
 
112
110
  for (i in defaultParams) {
113
111
  p[i] = defaultParams[i];
@@ -123,14 +121,19 @@ ajax.request = function (url, params) {
123
121
 
124
122
  var customXhr = new Xhr(xhr);
125
123
 
126
- var body = null, d;
124
+ var body = null,
125
+ d;
127
126
 
128
127
  if (p.type === ajax.Method.Post) {
129
128
  if (p.data) {
130
129
  body = "";
131
130
  for (let key in p.data) {
132
131
  d = p.data[key];
133
- body += key + "=" + encodeURIComponent(d instanceof Object ? JSON.stringify(d) : d) + "&";
132
+ body +=
133
+ key +
134
+ "=" +
135
+ encodeURIComponent(d instanceof Object ? JSON.stringify(d) : d) +
136
+ "&";
134
137
  }
135
138
  body = body.slice(0, -1);
136
139
  }
@@ -140,7 +143,8 @@ ajax.request = function (url, params) {
140
143
  var tail = "?";
141
144
  for (let key in p.data) {
142
145
  d = p.data[key];
143
- tail += key + "=" + encodeURIComponent(d instanceof Object ? JSON.stringify(d) : d) + "&";
146
+ tail +=
147
+ key + "=" + encodeURIComponent(d instanceof Object ? JSON.stringify(d) : d) + "&";
144
148
  }
145
149
  tail = tail.slice(0, -1);
146
150
  xhr.open(p.type, url + tail, p.async);
@@ -172,7 +176,8 @@ ajax.request = function (url, params) {
172
176
  * @param {Object} Response data
173
177
  * @param {Object} Status object
174
178
  */
175
- params.abort && params.abort.call(params.sender || customXhr, xhr.response, xhr.status);
179
+ params.abort &&
180
+ params.abort.call(params.sender || customXhr, xhr.response, xhr.status);
176
181
  } else {
177
182
  /**
178
183
  * Error callback.
@@ -180,9 +185,10 @@ ajax.request = function (url, params) {
180
185
  * @param {Object} Response data
181
186
  * @param {Object} Status object
182
187
  */
183
- params.error && params.error.call(params.sender || customXhr, xhr.response, xhr.status);
188
+ params.error &&
189
+ params.error.call(params.sender || customXhr, xhr.response, xhr.status);
184
190
  }
185
- delete xhr['onreadystatechange'];
191
+ delete xhr["onreadystatechange"];
186
192
  xhr.onreadystatechange = null;
187
193
  xhr = null;
188
194
  } else {
@@ -195,4 +201,4 @@ ajax.request = function (url, params) {
195
201
  return customXhr;
196
202
  };
197
203
 
198
- export { ajax };
204
+ export { ajax };
@@ -2,13 +2,13 @@
2
2
  * @module og/astro/earth
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import * as jd from './jd.js';
8
- import * as math from '../math.js';
9
- import * as astro from './astro.js';
10
- import { Quat } from '../math/Quat.js';
11
- import { Vec3 } from '../math/Vec3.js';
7
+ import * as jd from "./jd.js";
8
+ import * as math from "../math.js";
9
+ import * as astro from "./astro.js";
10
+ import { Quat } from "../math/Quat.js";
11
+ import { Vec3 } from "../math/Vec3.js";
12
12
 
13
13
  /**
14
14
  * Returns Sun position in the geocentric coordinate system by the time.
@@ -21,7 +21,7 @@ export function getSunPosition(jDate) {
21
21
  // e Eccentricity
22
22
  // T Time at perihelion
23
23
 
24
- // q Perihelion distance = a * (1 - e)
24
+ // q Perihelion distance = a * (1 - e)
25
25
  // Q Aphelion distance = a * (1 + e)
26
26
 
27
27
  // i Inclination, i.e. the "tilt" of the orbit relative to the
@@ -70,16 +70,17 @@ export function getSunPosition(jDate) {
70
70
 
71
71
  var d = jDate - jd.J2000;
72
72
 
73
- var w = 282.9404 + 4.70935E-5 * d; // longitude of perihelion
73
+ var w = 282.9404 + 4.70935e-5 * d; // longitude of perihelion
74
74
  // var a = 1.000000; // mean distance, a.u.
75
- var e = 0.016709 - 1.151E-9 * d; // eccentricity
76
- var M = math.rev(356.0470 + 0.9856002585 * d); // mean anomaly
75
+ var e = 0.016709 - 1.151e-9 * d; // eccentricity
76
+ var M = math.rev(356.047 + 0.9856002585 * d); // mean anomaly
77
77
 
78
- var oblecl = astro.J2000_OBLIQUITY - 3.563E-7 * d; // obliquity of the ecliptic
78
+ var oblecl = astro.J2000_OBLIQUITY - 3.563e-7 * d; // obliquity of the ecliptic
79
79
 
80
80
  // var L = math.rev(w + M); // Sun's mean longitude
81
81
 
82
- var E = M + math.DEGREES * e * Math.sin(M * math.RADIANS) * (1 + e * Math.cos(M * math.RADIANS)); // eccentric anomaly
82
+ var E =
83
+ M + math.DEGREES * e * Math.sin(M * math.RADIANS) * (1 + e * Math.cos(M * math.RADIANS)); // eccentric anomaly
83
84
 
84
85
  // Sun rectangular coordiantes, where the X axis points towards the perihelion
85
86
  var x = Math.cos(E * math.RADIANS) - e;
@@ -99,10 +100,15 @@ export function getSunPosition(jDate) {
99
100
  var yequat = y * Math.cos(oblecl * math.RADIANS);
100
101
  var zequat = y * Math.sin(oblecl * math.RADIANS);
101
102
 
102
- var theta = math.TWO_PI * (d * 24.0 / 23.9344694 - 259.853 / 360.0); // Siderial spin time
103
+ var theta = math.TWO_PI * ((d * 24.0) / 23.9344694 - 259.853 / 360.0); // Siderial spin time
103
104
 
104
- return Quat.yRotation(-theta).mulVec3(new Vec3(-yequat * astro.AU_TO_METERS,
105
- zequat * astro.AU_TO_METERS, -xequat * astro.AU_TO_METERS));
105
+ return Quat.yRotation(-theta).mulVec3(
106
+ new Vec3(
107
+ -yequat * astro.AU_TO_METERS,
108
+ zequat * astro.AU_TO_METERS,
109
+ -xequat * astro.AU_TO_METERS
110
+ )
111
+ );
106
112
 
107
113
  // Convert to RA and Decl
108
114
  // var RA = Math.atan2(yequat, xequat) * math.DEGREES;
package/src/og/bv/Box.js CHANGED
@@ -11,10 +11,9 @@ import { Vec3 } from "../math/Vec3.js";
11
11
  * @class
12
12
  */
13
13
  class Box {
14
-
15
14
  /**
16
- *
17
- * @param {*} boundsArr
15
+ *
16
+ * @param {*} boundsArr
18
17
  */
19
18
  constructor(boundsArr) {
20
19
  /**
@@ -2,9 +2,9 @@
2
2
  * @module og/bv/Sphere
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Vec3 } from '../math/Vec3.js';
7
+ import { Vec3 } from "../math/Vec3.js";
8
8
 
9
9
  /**
10
10
  * Bounding sphere class.
@@ -14,12 +14,11 @@ import { Vec3 } from '../math/Vec3.js';
14
14
  */
15
15
  class Sphere {
16
16
  /**
17
- *
18
- * @param {number} radius
19
- * @param {Vec3} center
17
+ *
18
+ * @param {number} radius
19
+ * @param {Vec3} center
20
20
  */
21
21
  constructor(radius, center) {
22
-
23
22
  /**
24
23
  * Sphere radius.
25
24
  * @public
@@ -41,7 +40,11 @@ class Sphere {
41
40
  */
42
41
  setFromBounds(bounds) {
43
42
  let m = new Vec3(bounds[0], bounds[1], bounds[2]);
44
- this.center.set(m.x + (bounds[3] - m.x) * 0.5, m.y + (bounds[3] - m.y) * 0.5, m.z + (bounds[5] - m.z) * 0.5);
43
+ this.center.set(
44
+ m.x + (bounds[3] - m.x) * 0.5,
45
+ m.y + (bounds[3] - m.y) * 0.5,
46
+ m.z + (bounds[5] - m.z) * 0.5
47
+ );
45
48
  this.radius = this.center.distance(m);
46
49
  }
47
50
 
@@ -1,6 +1,6 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- import { Mat4 } from '../math/Mat4.js';
3
+ import { Mat4 } from "../math/Mat4.js";
4
4
 
5
5
  function planeNormalize(plane) {
6
6
  var t = 1.0 / Math.sqrt(plane[0] * plane[0] + plane[1] * plane[1] + plane[2] * plane[2]);
@@ -15,9 +15,8 @@ function planeNormalize(plane) {
15
15
  * @class
16
16
  */
17
17
  class Frustum {
18
-
19
18
  /**
20
- * @param {*} options
19
+ * @param {*} options
21
20
  */
22
21
  constructor(options = {}) {
23
22
  /**
@@ -89,7 +88,8 @@ class Frustum {
89
88
  */
90
89
  this.far = 0.0;
91
90
 
92
- this._cameraFrustumIndex = options.cameraFrustumIndex != undefined ? options.cameraFrustumIndex : -1;
91
+ this._cameraFrustumIndex =
92
+ options.cameraFrustumIndex != undefined ? options.cameraFrustumIndex : -1;
93
93
 
94
94
  this.setProjectionMatrix(
95
95
  options.fov || 30.0,
@@ -144,15 +144,21 @@ class Frustum {
144
144
  * @param {number} far - Far camera distance.
145
145
  */
146
146
  setProjectionMatrix(angle, aspect, near, far) {
147
-
148
- this.top = near * Math.tan(angle * Math.PI / 360);
147
+ this.top = near * Math.tan((angle * Math.PI) / 360);
149
148
  this.bottom = -this.top;
150
149
  this.right = this.top * aspect;
151
150
  this.left = -this.right;
152
151
  this.near = near;
153
152
  this.far = far;
154
153
 
155
- this._projectionMatrix.setPerspective(this.left, this.right, this.bottom, this.top, near, far);
154
+ this._projectionMatrix.setPerspective(
155
+ this.left,
156
+ this.right,
157
+ this.bottom,
158
+ this.top,
159
+ near,
160
+ far
161
+ );
156
162
  this._projectionMatrix.inverseTo(this._inverseProjectionMatrix);
157
163
  }
158
164
 
@@ -162,7 +168,6 @@ class Frustum {
162
168
  * @param {Mat4} projectionView - projectionView matrix.
163
169
  */
164
170
  setViewMatrix(viewMatrix) {
165
-
166
171
  this._projectionViewMatrix = this._projectionMatrix.mul(viewMatrix);
167
172
  this._projectionViewMatrix.inverseTo(this._inverseProjectionViewMatrix);
168
173
 
@@ -295,11 +300,13 @@ class Frustum {
295
300
  * @returns {boolean} -
296
301
  */
297
302
  containsBox(box) {
298
- var result = true, cout, cin;
303
+ var result = true,
304
+ cout,
305
+ cin;
299
306
 
300
307
  for (var i = 0; i < 6; i++) {
301
-
302
- cout = 0; cin = 0;
308
+ cout = 0;
309
+ cin = 0;
303
310
 
304
311
  for (var k = 0; k < 8 && (cin === 0 || cout === 0); k++) {
305
312
  var d = box.vertices[k].dotArr(this._f[i]) + this._f[i][3];
@@ -31,7 +31,6 @@ import { Mat4 } from "../math/Mat4.js";
31
31
  * @param {Vec3} [options.up] - Camera eye position. Default (0,1,0)
32
32
  */
33
33
  class PlanetCamera extends Camera {
34
-
35
34
  /**
36
35
  * @param {RenderNode} planet - Planet render node.
37
36
  * @param {Object} [options] - Planet camera options:
@@ -42,7 +41,7 @@ class PlanetCamera extends Camera {
42
41
  Object.assign(
43
42
  {},
44
43
  {
45
- frustums: /*[[100, 10000000]]*/ [
44
+ frustums: /*[[100, 10000000]]*/[
46
45
  [1, 100 + 0.075],
47
46
  [100, 1000 + 0.075],
48
47
  [1000, 1e6 + 10000],
@@ -637,15 +636,20 @@ class PlanetCamera extends Camera {
637
636
  getHeading() {
638
637
  let u = this.eye.normal();
639
638
  let f = Vec3.proj_b_to_plane(
640
- this.slope >= 0.97 ? this.getUp() : this.getForward(),
641
- u
642
- ).normalize(),
639
+ this.slope >= 0.97 ? this.getUp() : this.getForward(),
640
+ u
641
+ ).normalize(),
643
642
  n = Vec3.proj_b_to_plane(Vec3.UP, u).normalize();
644
643
  let res = Math.sign(u.dot(f.cross(n))) * Math.acos(f.dot(n)) * math.DEGREES;
645
644
  if (res < 0.0) {
646
645
  return 360.0 + res;
647
646
  }
648
647
  return res;
648
+ }
649
+
650
+ isVisible(poi) {
651
+ let e = this.eye.length();
652
+ return this.eye.distance(poi) < Math.sqrt(e * e - this.planet.ellipsoid._a2);
649
653
  }
650
654
  }
651
655
 
@@ -86,9 +86,8 @@ let svg = `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
86
86
  * @params {Object} [options] - Control options.
87
87
  */
88
88
  class CompassButton extends Control {
89
-
90
89
  /**
91
- *
90
+ *
92
91
  * @params {Object} [options] - Control options.
93
92
  */
94
93
  constructor(options) {
@@ -2,7 +2,7 @@
2
2
  * @module og/control/Control
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
7
  /**
8
8
  * Base control class for implementing renderer controls.
@@ -12,7 +12,6 @@
12
12
  * @param {Boolean} [options.autoActivated=true] - If true - calls initialize function after the renderer assigning.
13
13
  */
14
14
  class Control {
15
-
16
15
  /**
17
16
  * @param {Object} [options] - Control activation options:
18
17
  */
@@ -77,35 +76,35 @@ class Control {
77
76
  * @public
78
77
  * @virtual
79
78
  */
80
- oninit() { }
79
+ oninit() {}
81
80
 
82
81
  /**
83
82
  * Control renderer assigning function have to be overriden.
84
83
  * @public
85
84
  * @virtual
86
85
  */
87
- onadd() { }
86
+ onadd() {}
88
87
 
89
88
  /**
90
89
  * Control remove function have to be overriden.
91
90
  * @public
92
91
  * @virtual
93
92
  */
94
- onremove() { }
93
+ onremove() {}
95
94
 
96
95
  /**
97
96
  * Control activation function have to be overriden.
98
97
  * @public
99
98
  * @virtual
100
99
  */
101
- onactivate() { }
100
+ onactivate() {}
102
101
 
103
102
  /**
104
103
  * Control deactivation function have to be overriden.
105
104
  * @public
106
105
  * @virtual
107
106
  */
108
- ondeactivate() { }
107
+ ondeactivate() {}
109
108
 
110
109
  /**
111
110
  * Assign renderer to the control.
@@ -130,7 +129,6 @@ class Control {
130
129
  * @public
131
130
  */
132
131
  remove() {
133
-
134
132
  this.onremove && this.onremove();
135
133
 
136
134
  let r = this.renderer,
@@ -187,4 +185,4 @@ class Control {
187
185
  }
188
186
  }
189
187
 
190
- export { Control };
188
+ export { Control };
@@ -13,7 +13,6 @@ import { Control } from "./Control.js";
13
13
  * @param {Object} [options] - Control options.
14
14
  */
15
15
  class DebugInfo extends Control {
16
-
17
16
  /**
18
17
  * @param {Object} [options] - Control options.
19
18
  */
@@ -2,12 +2,12 @@
2
2
  * @module og/control/KeyboardNavigation
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 { input } from '../input/input.js';
10
- import { Vec3 } from '../math/Vec3.js';
7
+ import * as math from "../math.js";
8
+ import { Control } from "./Control.js";
9
+ import { input } from "../input/input.js";
10
+ import { Vec3 } from "../math/Vec3.js";
11
11
 
12
12
  /**
13
13
  * Planet camera keyboard navigation. Use W,S,A,D and left shift key for fly around a planet.
@@ -69,7 +69,7 @@ class KeyboardNavigation extends Control {
69
69
  if (this.renderer.events.isKeyPressed(input.KEY_SHIFT)) {
70
70
  cam.pitch(15 / this.renderer.handler.deltaTime);
71
71
  } else {
72
- cam.rotateVertical(cam._lonLat.height / 3000000 * math.RADIANS, Vec3.ZERO);
72
+ cam.rotateVertical((cam._lonLat.height / 3000000) * math.RADIANS, Vec3.ZERO);
73
73
  }
74
74
  cam.update();
75
75
  }
@@ -79,7 +79,7 @@ class KeyboardNavigation extends Control {
79
79
  if (this.renderer.events.isKeyPressed(input.KEY_SHIFT)) {
80
80
  cam.pitch(-15 / this.renderer.handler.deltaTime);
81
81
  } else {
82
- cam.rotateVertical(-cam._lonLat.height / 3000000 * math.RADIANS, Vec3.ZERO);
82
+ cam.rotateVertical((-cam._lonLat.height / 3000000) * math.RADIANS, Vec3.ZERO);
83
83
  }
84
84
  cam.update();
85
85
  }
@@ -89,7 +89,7 @@ class KeyboardNavigation extends Control {
89
89
  if (this.renderer.events.isKeyPressed(input.KEY_SHIFT)) {
90
90
  cam.yaw(15 / this.renderer.handler.deltaTime);
91
91
  } else {
92
- cam.rotateHorizontal(cam._lonLat.height / 3000000 * math.RADIANS, false, Vec3.ZERO);
92
+ cam.rotateHorizontal((cam._lonLat.height / 3000000) * math.RADIANS, false, Vec3.ZERO);
93
93
  }
94
94
  cam.update();
95
95
  }
@@ -99,7 +99,7 @@ class KeyboardNavigation extends Control {
99
99
  if (this.renderer.events.isKeyPressed(input.KEY_SHIFT)) {
100
100
  cam.yaw(-15 / this.renderer.handler.deltaTime);
101
101
  } else {
102
- cam.rotateHorizontal(-cam._lonLat.height / 3000000 * math.RADIANS, false, Vec3.ZERO);
102
+ cam.rotateHorizontal((-cam._lonLat.height / 3000000) * math.RADIANS, false, Vec3.ZERO);
103
103
  }
104
104
  cam.update();
105
105
  }
@@ -2,9 +2,9 @@
2
2
  * @module og/control/LayerSwitcher
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Control } from './Control.js';
7
+ import { Control } from "./Control.js";
8
8
 
9
9
  /**
10
10
  * Simple(OpenLayers like)layer switcher, includes base layers, overlays, geo images etc. groups.
@@ -56,16 +56,16 @@ class LayerSwitcher extends Control {
56
56
  }
57
57
 
58
58
  addSwitcher(type, obj, container, id) {
59
- var lineDiv = document.createElement('div');
59
+ var lineDiv = document.createElement("div");
60
60
 
61
61
  var that = this;
62
- var center = document.createElement('div');
63
- center.classList.add('ogViewExtentBtn');
62
+ var center = document.createElement("div");
63
+ center.classList.add("ogViewExtentBtn");
64
64
  center.onclick = function () {
65
65
  that.planet.flyExtent(obj.getExtent());
66
66
  };
67
67
 
68
- var inp = document.createElement('input');
68
+ var inp = document.createElement("input");
69
69
  inp.type = type;
70
70
  inp.name = "ogBaseLayerRadiosId" + (id || "");
71
71
  inp.checked = obj.getVisibility();
@@ -74,11 +74,12 @@ class LayerSwitcher extends Control {
74
74
  obj.setVisibility(this.checked);
75
75
  };
76
76
 
77
- obj.events && obj.events.on("visibilitychange", function (e) {
78
- inp.checked = e.getVisibility();
79
- });
77
+ obj.events &&
78
+ obj.events.on("visibilitychange", function (e) {
79
+ inp.checked = e.getVisibility();
80
+ });
80
81
 
81
- var lbl = document.createElement('label');
82
+ var lbl = document.createElement("label");
82
83
  lbl.className = "ogLayerSwitcherLabel";
83
84
  lbl.innerHTML = (obj.name || obj.src || "noname") + "</br>";
84
85
 
@@ -94,35 +95,35 @@ class LayerSwitcher extends Control {
94
95
  }
95
96
 
96
97
  createBaseLayersContainer() {
97
- var layersDiv = document.createElement('div');
98
+ var layersDiv = document.createElement("div");
98
99
  layersDiv.className = "layersDiv";
99
100
  this.dialog.appendChild(layersDiv);
100
101
 
101
- var baseLayersLbl = document.createElement('div');
102
+ var baseLayersLbl = document.createElement("div");
102
103
  baseLayersLbl.className = "layersDiv";
103
104
  baseLayersLbl.innerHTML = "Base Layer";
104
105
  layersDiv.appendChild(baseLayersLbl);
105
106
 
106
- this.baseLayersDiv = document.createElement('div');
107
+ this.baseLayersDiv = document.createElement("div");
107
108
  layersDiv.appendChild(this.baseLayersDiv);
108
109
  }
109
110
 
110
111
  createOverlaysContainer() {
111
- var overlaysDiv = document.createElement('div');
112
+ var overlaysDiv = document.createElement("div");
112
113
  overlaysDiv.className = "layersDiv";
113
114
  this.dialog.appendChild(overlaysDiv);
114
115
 
115
- var overlaysLbl = document.createElement('div');
116
+ var overlaysLbl = document.createElement("div");
116
117
  overlaysLbl.className = "layersDiv";
117
118
  overlaysLbl.innerHTML = "Overlays";
118
119
  overlaysDiv.appendChild(overlaysLbl);
119
120
 
120
- this.overlaysDiv = document.createElement('div');
121
+ this.overlaysDiv = document.createElement("div");
121
122
  overlaysDiv.appendChild(this.overlaysDiv);
122
123
  }
123
124
 
124
125
  createDialog() {
125
- this.dialog = document.createElement('div');
126
+ this.dialog = document.createElement("div");
126
127
  this.dialog.id = "ogLayerSwitcherDialog";
127
128
  this.dialog.className = "displayNone";
128
129
  this.renderer.div.appendChild(this.dialog);
@@ -138,8 +139,8 @@ class LayerSwitcher extends Control {
138
139
  }
139
140
 
140
141
  createSwitcher() {
141
- var button = document.createElement('div');
142
- button.className = 'ogLayerSwitcherButton';
142
+ var button = document.createElement("div");
143
+ button.className = "ogLayerSwitcherButton";
143
144
  button.id = "ogLayerSwitcherButtonMaximize";
144
145
  var that = this;
145
146
  button.onclick = function (e) {
@@ -155,4 +156,4 @@ class LayerSwitcher extends Control {
155
156
  }
156
157
  }
157
158
 
158
- export { LayerSwitcher };
159
+ export { LayerSwitcher };