@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
@@ -2,9 +2,10 @@
2
2
  * @module og/math/Vec4
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Vec3 } from './Vec3.js';
7
+ import { Vec3 } from "./Vec3.js";
8
+ import { frac } from "../math.js";
8
9
 
9
10
  /**
10
11
  * Class represents a 4d vector.
@@ -15,9 +16,7 @@ import { Vec3 } from './Vec3.js';
15
16
  * @param {number} [w] - Fourth value.
16
17
  */
17
18
  export class Vec4 {
18
-
19
19
  constructor(x, y, z, w) {
20
-
21
20
  /**
22
21
  * @public
23
22
  * @type {number}
@@ -46,15 +45,17 @@ export class Vec4 {
46
45
  /**
47
46
  * Identity vector [0,0,0,1].
48
47
  * @const
49
- * @type {og.math.Vec4}
48
+ * @type {Vec4}
50
49
  */
51
- static get identity() { return new Vec4(0, 0, 0, 1) }
50
+ static get identity() {
51
+ return new Vec4(0, 0, 0, 1);
52
+ }
52
53
 
53
54
  /**
54
55
  * Creates 4d vector from array.
55
56
  * @function
56
57
  * @param {Array.<number>} - (exactly 4 entries)
57
- * @returns {og.math.Vec4}
58
+ * @returns {Vec4}
58
59
  */
59
60
  static fromVec(arr) {
60
61
  return new Vec4(arr[0], arr[1], arr[2], arr[3]);
@@ -63,7 +64,7 @@ export class Vec4 {
63
64
  /**
64
65
  * Converts to 3d vector, without fourth value.
65
66
  * @public
66
- * @returns {og.Vec3}
67
+ * @returns {Vec3}
67
68
  */
68
69
  toVec3() {
69
70
  return new Vec3(this.x, this.y, this.z);
@@ -72,7 +73,7 @@ export class Vec4 {
72
73
  /**
73
74
  * Returns clone vector.
74
75
  * @public
75
- * @returns {og.math.Vec4}
76
+ * @returns {Vec4}
76
77
  */
77
78
  clone(v) {
78
79
  return new Vec4(this.x, this.y, this.z, this.w);
@@ -81,7 +82,7 @@ export class Vec4 {
81
82
  /**
82
83
  * Compares with vector. Returns true if it equals another.
83
84
  * @public
84
- * @param {og.math.Vec4} p - Vector to compare.
85
+ * @param {Vec4} p - Vector to compare.
85
86
  * @returns {boolean}
86
87
  */
87
88
  equal(v) {
@@ -90,8 +91,8 @@ export class Vec4 {
90
91
 
91
92
  /**
92
93
  * Copy input vector's values.
93
- * @param {og.math.Vec4} v - Vector to copy.
94
- * @returns {og.math.Vec4}
94
+ * @param {Vec4} v - Vector to copy.
95
+ * @returns {Vec4}
95
96
  */
96
97
  copy(v) {
97
98
  this.x = v.x;
@@ -127,7 +128,7 @@ export class Vec4 {
127
128
  * @param {number} y - Value Y.
128
129
  * @param {number} z - Value Z.
129
130
  * @param {number} w - Value W.
130
- * @returns {og.math.Vec4}
131
+ * @returns {Vec4}
131
132
  */
132
133
  set(x, y, z, w) {
133
134
  this.x = x;
@@ -140,8 +141,8 @@ export class Vec4 {
140
141
  /**
141
142
  * Adds vector to the current.
142
143
  * @public
143
- * @param {og.math.Vec4}
144
- * @returns {og.math.Vec4}
144
+ * @param {Vec4}
145
+ * @returns {Vec4}
145
146
  */
146
147
  addA(v) {
147
148
  this.x += v.x;
@@ -154,8 +155,8 @@ export class Vec4 {
154
155
  /**
155
156
  * Subtract vector from the current.
156
157
  * @public
157
- * @param {og.math.Vec4} v - Subtract vector.
158
- * @returns {og.math.Vec4}
158
+ * @param {Vec4} v - Subtract vector.
159
+ * @returns {Vec4}
159
160
  */
160
161
  subA(v) {
161
162
  this.x -= v.x;
@@ -169,7 +170,7 @@ export class Vec4 {
169
170
  * Scale current vector.
170
171
  * @public
171
172
  * @param {number} scale - Scale value.
172
- * @returns {og.math.Vec4}
173
+ * @returns {Vec4}
173
174
  */
174
175
  scale(scale) {
175
176
  this.x *= scale;
@@ -182,7 +183,7 @@ export class Vec4 {
182
183
  /**
183
184
  * Makes vector affinity. Thereby fourh component becomes to 1.0.
184
185
  * @public
185
- * @returns {og.math.Vec4}
186
+ * @returns {Vec4}
186
187
  */
187
188
  affinity() {
188
189
  var iw = 1 / this.w;
@@ -197,7 +198,7 @@ export class Vec4 {
197
198
  * Scale current vector to another instance.
198
199
  * @public
199
200
  * @param {number} scale - Scale value.
200
- * @returns {og.Vec3}
201
+ * @returns {Vec3}
201
202
  */
202
203
  scaleTo(scale) {
203
204
  return new Vec4(this.x * scale, this.y * scale, this.z * scale, this.w * scale);
@@ -206,7 +207,7 @@ export class Vec4 {
206
207
  /**
207
208
  * Vector's edge function that returns vector where each component is 0.0 if it's smaller then edge and otherwise 1.0.
208
209
  * @public
209
- * @returns {og.math.Vec4}
210
+ * @returns {Vec4}
210
211
  */
211
212
  getStep(edge) {
212
213
  return new Vec4(
@@ -220,21 +221,16 @@ export class Vec4 {
220
221
  /**
221
222
  * The vector fract function returns the vector of fractional parts of each value, i.e. x minus floor(x).
222
223
  * @public
223
- * @returns {og.math.Vec4}
224
+ * @returns {Vec4}
224
225
  */
225
226
  getFrac(v) {
226
- return new Vec4(
227
- og.math.frac(v.x),
228
- og.math.frac(v.y),
229
- og.math.frac(v.z),
230
- og.math.frac(v.w)
231
- );
227
+ return new Vec4(frac(v.x), frac(v.y), frac(v.z), frac(v.w));
232
228
  }
233
229
 
234
230
  /**
235
231
  * Gets vectors dot production.
236
232
  * @public
237
- * @param {og.math.Vec4} v - Another vector.
233
+ * @param {math.Vec4} v - Another vector.
238
234
  * @returns {number} - Dot product.
239
235
  */
240
236
  dot(v) {
@@ -258,8 +254,8 @@ export class Vec4 {
258
254
  * @param {number} [y] - Second value.
259
255
  * @param {number} [z] - Third value.
260
256
  * @param {number} [w] - Fourth value.
261
- * @returns {og.math.Vec4}
257
+ * @returns {Vec4}
262
258
  */
263
259
  export function vec4(x, y, z, w) {
264
- return new og.math.Vec4(x, y, z, w);
260
+ return new Vec4(x, y, z, w);
265
261
  }
@@ -2,19 +2,19 @@
2
2
  * @module og/math/coder
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import * as math from '../math.js';
8
- import { Vec4 } from './Vec4.js';
7
+ import * as math from "../math.js";
8
+ import { Vec4 } from "./Vec4.js";
9
9
 
10
10
  /**
11
11
  * Encode 32 bit float value to the RGBA vector.
12
12
  * @function
13
13
  * @param {number} v - 32 bit float value.
14
- * @returns {og.math.Vec4} - RGBA vector value.
14
+ * @returns {math.Vec4} - RGBA vector value.
15
15
  */
16
16
  export function encodeFloatToRGBA(v) {
17
- var enc = new Vec4(1.0 * v % 1, 255.0 * v % 1, 65025.0 * v % 1, 160581375.0 * v % 1);
17
+ var enc = new Vec4((1.0 * v) % 1, (255.0 * v) % 1, (65025.0 * v) % 1, (160581375.0 * v) % 1);
18
18
  var yzww = new Vec4(enc.y / 255, enc.z / 255, enc.w / 255, 0);
19
19
  return enc.subA(yzww);
20
20
  }
@@ -22,26 +22,26 @@ export function encodeFloatToRGBA(v) {
22
22
  /**
23
23
  * Decode RGBA vector to 32 bit float value.
24
24
  * @function
25
- * @param {og.Vec4} rgba - RGBA encoded 32 bit float value.
25
+ * @param {Vec4} rgba - RGBA encoded 32 bit float value.
26
26
  * @returns {number} - Float value.
27
27
  */
28
28
  export function decodeFloatFromRGBA(rgba) {
29
29
  var s = 1.0 - math.step(128.0, rgba.x) * 2.0;
30
30
  var e = 2.0 * math.mod(rgba.x, 128.0) + math.step(128.0, rgba.y) - 127.0;
31
- var m = math.mod(rgba.y, 128.0) * 65536.0 + rgba.z * 256.0 + rgba.w + 8388608.00;
31
+ var m = math.mod(rgba.y, 128.0) * 65536.0 + rgba.z * 256.0 + rgba.w + 8388608.0;
32
32
  return s * math.exp2(e) * (m * 1.1920928955078125e-7);
33
33
  }
34
34
 
35
35
  /**
36
36
  * Decode RGBA vector to 32 bit float value.
37
37
  * @function
38
- * @param {og.Vec4} rgba - RGBA encoded 32 bit float value.
38
+ * @param {Vec4} rgba - RGBA encoded 32 bit float value.
39
39
  * @returns {number} - Float value.
40
40
  */
41
41
  export function decodeFloatFromRGBAArr(arr, use32) {
42
42
  var s = 1.0 - math.step(128.0, arr[0]) * 2.0;
43
43
  var e = 2.0 * math.mod(arr[0], 128.0) + math.step(128.0, arr[1]) - 127.0;
44
- var m = math.mod(arr[1], 128.0) * 65536.0 + arr[2] * 256.0 + (use32 ? arr[3] : 0.0) + 8388608.00;
44
+ var m = math.mod(arr[1], 128.0) * 65536.0 + arr[2] * 256.0 + (use32 ? arr[3] : 0.0) + 8388608.0;
45
45
  return s * math.exp2(e) * (m * 1.1920928955078125e-7);
46
46
  }
47
47
 
@@ -101,4 +101,4 @@ export function doubleToTwoFloatsV2(value, highLowVec) {
101
101
  highLowVec.y = Math.fround(value + doubleHigh);
102
102
  }
103
103
  return highLowVec;
104
- }
104
+ }
package/src/og/math.js CHANGED
@@ -77,7 +77,7 @@ export const EPSILON20 = 1e-20;
77
77
  * @param {number} base - Base value.
78
78
  * @returns {number} -
79
79
  * @example
80
- * og.math.log(64, 2)
80
+ * log(64, 2)
81
81
  * //returns 6
82
82
  */
83
83
  export function log(n, base) {
@@ -92,7 +92,7 @@ export function log(n, base) {
92
92
  * @param {number} max - Maximal edge.
93
93
  * @returns {number} -
94
94
  * @example
95
- * og.math.clamp(12, 1, 5)
95
+ * clamp(12, 1, 5)
96
96
  * //returns 5
97
97
  */
98
98
  export function clamp(number, min, max) {
@@ -200,9 +200,9 @@ export function mod(m, n) {
200
200
  * @returns {number} -
201
201
  */
202
202
  export function zeroTwoPI(a) {
203
- var mod = og.math.mod(a, og.math.TWO_PI);
204
- if (Math.abs(mod) < og.math.EPSILON14 && Math.abs(a) > og.math.EPSILON14) {
205
- return og.math.TWO_PI;
203
+ var mod = mod(a, TWO_PI);
204
+ if (Math.abs(mod) < EPSILON14 && Math.abs(a) > EPSILON14) {
205
+ return TWO_PI;
206
206
  }
207
207
  return mod;
208
208
  }
@@ -235,7 +235,7 @@ export function frac(x) {
235
235
  * @returns {number} -
236
236
  */
237
237
  export function log2(x) {
238
- return Math.log(x) / og.math.LOG2;
238
+ return Math.log(x) / LOG2;
239
239
  }
240
240
 
241
241
  /**
@@ -299,11 +299,11 @@ export function bezier1v(t, p0, p1, p2, p3) {
299
299
  * Performs a 3D bezier interpolation.
300
300
  * @function
301
301
  * @param {number} t - Interpolation value.
302
- * @param {og.Vec3} p0 - First control point.
303
- * @param {og.Vec3} p1 - Second control point.
304
- * @param {og.Vec3} p2 - Third control point.
305
- * @param {og.Vec3} p3 - Fourth control point.
306
- * @returns {og.Vec3} -
302
+ * @param {Vec3} p0 - First control point.
303
+ * @param {Vec3} p1 - Second control point.
304
+ * @param {Vec3} p2 - Third control point.
305
+ * @param {Vec3} p3 - Fourth control point.
306
+ * @returns {Vec3} -
307
307
  */
308
308
  export function bezier3v(t, p0, p1, p2, p3) {
309
309
  var u = 1 - t;
@@ -346,7 +346,7 @@ export function norm_lon(lon) {
346
346
  * @returns {number} -
347
347
  */
348
348
  export function negativePItoPI(a) {
349
- return og.math.zeroTwoPI(a + Math.PI) - Math.PI;
349
+ return zeroTwoPI(a + Math.PI) - Math.PI;
350
350
  }
351
351
 
352
352
  /**
@@ -2,12 +2,12 @@
2
2
  * @module og/proj/EPSG3857
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Units, Proj } from './Proj.js';
7
+ import { Units, Proj } from "./Proj.js";
8
8
 
9
9
  /**
10
10
  * EPSG:3857 projection object.
11
- * @type {og.Proj}
11
+ * @type {Proj}
12
12
  */
13
- export const EPSG3857 = new Proj({ code: "epsg:3857", units: Units.METERS });
13
+ export const EPSG3857 = new Proj({ code: "epsg:3857", units: Units.METERS });
@@ -2,12 +2,12 @@
2
2
  * @module og/proj/EPSG4326
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Units, Proj } from './Proj.js';
7
+ import { Units, Proj } from "./Proj.js";
8
8
 
9
9
  /**
10
10
  * EPSG:4326 projection object.
11
- * @type {og.Proj}
11
+ * @type {Proj}
12
12
  */
13
- export const EPSG4326 = new Proj({ code: "epsg:4326", units: Units.DEGREES });
13
+ export const EPSG4326 = new Proj({ code: "epsg:4326", units: Units.DEGREES });
@@ -2,7 +2,7 @@
2
2
  * @module og/proj/Proj
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
7
  /**
8
8
  * Projection units: 'degrees', 'ft', 'm' or 'km'.
@@ -28,9 +28,7 @@ METERS_PER_UNIT[Units.KILOMETERS] = 1000;
28
28
 
29
29
  let _counter = 0;
30
30
  class Proj {
31
-
32
31
  constructor(options) {
33
-
34
32
  /**
35
33
  * @public
36
34
  * @type {string}
@@ -39,7 +37,7 @@ class Proj {
39
37
 
40
38
  /**
41
39
  * @public
42
- * @type {og.proj.Units}
40
+ * @type {proj.Units}
43
41
  */
44
42
  this.units = /** @type {Units} */ (options.units);
45
43
 
@@ -54,7 +52,7 @@ class Proj {
54
52
  /**
55
53
  * Compare projections.
56
54
  * @public
57
- * @param {og.Proj} proj - Projetion object.
55
+ * @param {Proj} proj - Projetion object.
58
56
  * @returns {boolean}
59
57
  */
60
58
  equal(proj) {
@@ -62,4 +60,4 @@ class Proj {
62
60
  }
63
61
  }
64
62
 
65
- export { Proj };
63
+ export { Proj };
@@ -55,13 +55,13 @@ let BOUNDS = {
55
55
  /**
56
56
  * Quad tree planet segment node.
57
57
  * @constructor
58
- * @param {og.planetSegment.Segment|og.planetSegment.SegmentLonLat} segmentPrototype - Planet segment node constructor.
59
- * @param {og.scene.RenderNode} planet - Planet render node.
58
+ * @param {Segment|og.planetSegment.SegmentLonLat} segmentPrototype - Planet segment node constructor.
59
+ * @param {RenderNode} planet - Planet render node.
60
60
  * @param {number} partId - NorthEast, SouthWest etc.
61
- * @param {og.quadTree.Node} parent - Parent of this node.
61
+ * @param {quadTree.Node} parent - Parent of this node.
62
62
  * @param {number} id - Tree node identifier (id * 4 + 1);
63
63
  * @param {number} tileZoom - Deep index of the quad tree.
64
- * @param {og.Extent} extent - Planet segment extent.
64
+ * @param {Extent} extent - Planet segment extent.
65
65
  */
66
66
  class Node {
67
67
 
@@ -173,7 +173,7 @@ class Node {
173
173
  * Returns the same deep existent neighbour node.
174
174
  * @public
175
175
  * @param {Number} side - Neighbour side index e.g. og.quadTree.N, og.quadTree.W etc.
176
- * @returns {og.quadTree.Node} -
176
+ * @returns {quadTree.Node} -
177
177
  */
178
178
  getEqualNeighbor(side) {
179
179
  var pn = this;
@@ -279,8 +279,8 @@ class Node {
279
279
  }
280
280
  }
281
281
 
282
- if (this.inFrustum || this._cameraInside || seg.tileZoom < 3) {
283
- let h = cam._lonLat.height;
282
+ if (this.inFrustum || this._cameraInside || seg.tileZoom < 3) {
283
+ let h = cam._lonLat.height;
284
284
 
285
285
  let altVis =
286
286
  cam.eye.distance(seg.bsphere.center) - seg.bsphere.radius <
@@ -294,7 +294,7 @@ class Node {
294
294
 
295
295
  if (seg.tileZoom < 2 && seg.normalMapReady) {
296
296
  this.traverseNodes(cam, maxZoom, terrainReadySegment, stopLoading);
297
- } else if ((!maxZoom && seg.acceptForRendering(cam)) || seg.tileZoom === maxZoom) {
297
+ } else if ((!maxZoom && seg.acceptForRendering(cam)) || seg.tileZoom === maxZoom || !altVis && maxZoom) {
298
298
  this.prepareForRendering(cam, altVis, this.inFrustum, terrainReadySegment, stopLoading);
299
299
  } else if (seg.tileZoom < planet.terrain._maxNodeZoom && seg.terrainReady) {
300
300
  // Deleting terrainReady here, you have to remove