@openglobus/og 0.17.0 → 0.17.2

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 (73) hide show
  1. package/README.md +1 -1
  2. package/dist/@openglobus/og.esm.js +2 -2
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +2 -2
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/package.json +1 -1
  7. package/src/og/Events.js +2 -2
  8. package/src/og/Globe.js +1 -1
  9. package/src/og/ImageCanvas.js +2 -2
  10. package/src/og/LonLat.js +1 -1
  11. package/src/og/Object3d.js +1 -1
  12. package/src/og/QueueArray.js +1 -1
  13. package/src/og/Stack.js +1 -1
  14. package/src/og/astro/earth.js +3 -3
  15. package/src/og/camera/Frustum.js +4 -4
  16. package/src/og/camera/PlanetCamera.js +10 -11
  17. package/src/og/cons.js +1 -1
  18. package/src/og/control/DebugInfo.js +3 -3
  19. package/src/og/control/EarthNavigation.js +6 -13
  20. package/src/og/control/KeyboardNavigation.js +41 -18
  21. package/src/og/control/Lighting.js +1 -1
  22. package/src/og/control/MouseNavigation.js +1 -1
  23. package/src/og/control/visibleExtent/Segment.js +2 -2
  24. package/src/og/ellipsoid/Ellipsoid.js +31 -50
  25. package/src/og/entity/BillboardHandler.js +3 -3
  26. package/src/og/entity/EntityCollection.js +7 -7
  27. package/src/og/entity/GeoObject.js +6 -4
  28. package/src/og/entity/GeoObjectHandler.js +30 -20
  29. package/src/og/entity/Geometry.js +2 -2
  30. package/src/og/entity/GeometryHandler.js +15 -15
  31. package/src/og/entity/LabelHandler.js +10 -10
  32. package/src/og/entity/LabelWorker.js +1 -1
  33. package/src/og/entity/PointCloud.js +2 -2
  34. package/src/og/entity/PointCloudHandler.js +2 -2
  35. package/src/og/entity/Polyline.js +11 -11
  36. package/src/og/entity/PolylineHandler.js +2 -2
  37. package/src/og/entity/RayHandler.js +2 -2
  38. package/src/og/entity/StripHandler.js +2 -2
  39. package/src/og/input/KeyboardHandler.js +90 -23
  40. package/src/og/layer/BaseGeoImage.js +1 -1
  41. package/src/og/layer/CanvasTiles.js +1 -1
  42. package/src/og/layer/Vector.js +2 -2
  43. package/src/og/math/Vec3.js +5 -0
  44. package/src/og/math.js +3 -3
  45. package/src/og/mercator.js +1 -1
  46. package/src/og/quadTree/Node.js +15 -14
  47. package/src/og/renderer/Renderer.js +5 -5
  48. package/src/og/renderer/RendererEvents.js +4 -18
  49. package/src/og/scene/BaseNode.js +1 -1
  50. package/src/og/scene/Planet.js +17 -24
  51. package/src/og/scene/RenderNode.js +9 -9
  52. package/src/og/segment/Segment.js +2 -2
  53. package/src/og/segment/SegmentLonLat.js +1 -1
  54. package/src/og/segment/segmentHelper.js +12 -12
  55. package/src/og/shaders/atmos.js +1 -1
  56. package/src/og/utils/GeoImageCreator.js +1 -1
  57. package/src/og/utils/NormalMapCreator.js +3 -3
  58. package/src/og/utils/PlainSegmentWorker.js +9 -9
  59. package/src/og/utils/TerrainWorker.js +2 -2
  60. package/src/og/utils/TextureAtlas.js +2 -2
  61. package/src/og/utils/earcut.js +8 -8
  62. package/src/og/utils/shared.js +10 -10
  63. package/src/og/webgl/Framebuffer.js +2 -2
  64. package/src/og/webgl/Handler.js +3 -1
  65. package/src/og/webgl/Multisample.js +2 -2
  66. package/src/og/webgl/Program.js +4 -4
  67. package/types/ImageCanvas.d.ts +1 -1
  68. package/types/ellipsoid/Ellipsoid.d.ts +3 -1
  69. package/types/entity/GeoObject.d.ts +1 -2
  70. package/types/input/KeyboardHandler.d.ts +9 -2
  71. package/types/math/Vec3.d.ts +2 -0
  72. package/types/renderer/RendererEvents.d.ts +2 -16
  73. package/types/scene/Planet.d.ts +1 -3
@@ -21,8 +21,8 @@ function createCenterBodyIndexes(size) {
21
21
  j1 = 1;
22
22
 
23
23
  var ind1, ind2, nr;
24
- for (var i = i0; i < size - 1 - i1; i++) {
25
- for (var j = j0; j < size - j1; j++) {
24
+ for (let i = i0; i < size - 1 - i1; i++) {
25
+ for (let j = j0; j < size - j1; j++) {
26
26
  ind1 = i * size + j;
27
27
  nr = (i + 1) * size;
28
28
  ind2 = nr + j;
@@ -40,7 +40,7 @@ function createWestNeighborSkirt(size, deltaGr) {
40
40
  var grCount = (size - 1) / deltaGr;
41
41
  var b = size * size - size;
42
42
  var k = 0;
43
- for (var i = 0; i < size - 2; i++) {
43
+ for (let i = 0; i < size - 2; i++) {
44
44
  if (i % grCount === 0) {
45
45
  k = i;
46
46
  }
@@ -61,7 +61,7 @@ function createNorthNeighborSkirt(size, deltaGr) {
61
61
  let indexes = [];
62
62
  var grCount = (size - 1) / deltaGr;
63
63
  var k = 0;
64
- for (var i = 0; i < size - 2; i++) {
64
+ for (let i = 0; i < size - 2; i++) {
65
65
  if (i % grCount === 0) {
66
66
  k = i;
67
67
  }
@@ -82,7 +82,7 @@ function createEastNeighborSkirt(size, deltaGr) {
82
82
  let indexes = [];
83
83
  var grCount = (size - 1) / deltaGr;
84
84
  var k = 0;
85
- for (var i = 0; i < size - 2; i++) {
85
+ for (let i = 0; i < size - 2; i++) {
86
86
  if (i % grCount === 0) {
87
87
  k = i;
88
88
  }
@@ -105,7 +105,7 @@ function createSouthNeighborSkirt(size, deltaGr) {
105
105
  var k = 0;
106
106
  var rb = size * (size - 1) - 2;
107
107
  var lb = size * size - 1;
108
- for (var i = 0; i < size - 2; i++) {
108
+ for (let i = 0; i < size - 2; i++) {
109
109
  if (i % grCount === 0) {
110
110
  k = i;
111
111
  }
@@ -130,7 +130,7 @@ function initIndexesBodySkirts(pow) {
130
130
  table[S] = [];
131
131
  table[E] = [];
132
132
 
133
- for (var i = 0; i <= pow; i++) {
133
+ for (let i = 0; i <= pow; i++) {
134
134
  var d = Math.pow(2, i),
135
135
  d1 = d + 1;
136
136
 
@@ -139,7 +139,7 @@ function initIndexesBodySkirts(pow) {
139
139
  table[S][i] = [];
140
140
  table[E][i] = [];
141
141
 
142
- for (var j = 0; j <= pow; j++) {
142
+ for (let j = 0; j <= pow; j++) {
143
143
  var dd = Math.pow(2, j);
144
144
  table[W][i][j] = createWestNeighborSkirt(d1, dd);
145
145
  table[N][i][j] = createNorthNeighborSkirt(d1, dd);
@@ -153,7 +153,7 @@ function initIndexesBodySkirts(pow) {
153
153
 
154
154
  function initIndexBodiesTable(pow) {
155
155
  var table = [];
156
- for (var i = 0; i <= pow; i++) {
156
+ for (let i = 0; i <= pow; i++) {
157
157
  var d = Math.pow(2, i);
158
158
  table[i] = createCenterBodyIndexes(d + 1);
159
159
  }
@@ -163,8 +163,8 @@ function initIndexBodiesTable(pow) {
163
163
  function createTextureCoords(size) {
164
164
  var texCoords = new Uint16Array((size + 1) * (size + 1) * 2);
165
165
  let k = 0;
166
- for (var i = 0; i <= size; i++) {
167
- for (var j = 0; j <= size; j++) {
166
+ for (let i = 0; i <= size; i++) {
167
+ for (let j = 0; j <= size; j++) {
168
168
  texCoords[k++] = j / size * 0xFFFF;
169
169
  texCoords[k++] = i / size * 0xFFFF;
170
170
  }
@@ -215,7 +215,7 @@ class SegmentHelper {
215
215
 
216
216
  initTextureCoordsTable(pow) {
217
217
  var table = [];
218
- for (var i = 0; i <= pow; i++) {
218
+ for (let i = 0; i <= pow; i++) {
219
219
  var d = Math.pow(2, i);
220
220
  table[i] = createTextureCoords(d);
221
221
  }
@@ -23,7 +23,7 @@ export const COMMON =
23
23
  const float TOP_RADIUS = 6356752.3142451793 + ATMOS_HEIGHT;
24
24
 
25
25
  // Ellipsoid
26
- const vec3 bottomRadii = vec3(6378137.0, 6356752.3142451793, 6378137.0);
26
+ const vec3 bottomRadii = vec3(6378137.0, 6378137.0, 6356752.3142451793);
27
27
  const vec3 topRadii = bottomRadii + ATMOS_HEIGHT;
28
28
 
29
29
  const vec3 SPHERE_TO_ELLIPSOID_SCALE = vec3(BOTTOM_RADIUS) / bottomRadii;
@@ -131,7 +131,7 @@ export class GeoImageCreator {
131
131
  } else {
132
132
  arr = this._queue;
133
133
  }
134
- for (var i = 0; i < arr.length; i++) {
134
+ for (let i = 0; i < arr.length; i++) {
135
135
  if (arr[i].isEqual(geoImage)) {
136
136
  arr.splice(i, 1);
137
137
  return;
@@ -122,13 +122,13 @@ export class NormalMapCreator {
122
122
  this._normalMapVerticesTexture = this._handler.createEmptyTexture_l(this._width, this._height);
123
123
 
124
124
  //create vertices hasharray for different grid size segments from 2^4(16) to 2^7(128)
125
- for (var p = this._minTabelSize; p <= this._maxTableSize; p++) {
125
+ for (let p = this._minTabelSize; p <= this._maxTableSize; p++) {
126
126
  var gs = Math.pow(2, p);
127
127
  var gs2 = gs / 2;
128
128
  var vertices = new Float32Array((gs + 1) * (gs + 1) * 2);
129
129
 
130
- for (var i = 0; i <= gs; i++) {
131
- for (var j = 0; j <= gs; j++) {
130
+ for (let i = 0; i <= gs; i++) {
131
+ for (let j = 0; j <= gs; j++) {
132
132
  let ind = (i * (gs + 1) + j) * 2;
133
133
  vertices[ind] = -1 + j / gs2;
134
134
  vertices[ind + 1] = -1 + i / gs2;
@@ -193,7 +193,7 @@ const _programm = `
193
193
  this.z = z;
194
194
  };
195
195
 
196
- var lonLatToCartesian = function (lon, lat, heightFactor, res) {
196
+ var geodeticToCartesian = function (lon, lat, heightFactor, res) {
197
197
 
198
198
  let h = getHeightMSL(lon, lat) * heightFactor;
199
199
 
@@ -204,14 +204,14 @@ const _programm = `
204
204
 
205
205
  let N = A / Math.sqrt(1.0 - E2 * slt * slt);
206
206
  let nc = (N + h) * Math.cos(latrad);
207
-
208
- res.x = nc * Math.sin(lonrad);
209
- res.y = (N * (1.0 - E2) + h) * slt;
210
- res.z = nc * Math.cos(lonrad);
207
+
208
+ res.x = nc * Math.cos(lonrad);
209
+ res.y = nc * Math.sin(lonrad);
210
+ res.z = (N * (1 - E2) + h) * slt;
211
211
  };
212
212
 
213
- var lonLatToCartesianInverse = function (lon, lat, heightFactor, res){
214
- lonLatToCartesian(
213
+ var geodeticToCartesianInverse = function (lon, lat, heightFactor, res){
214
+ geodeticToCartesian(
215
215
  lon * INV_POLE_BY_180,
216
216
  INV_PI_BY_360 * Math.atan(Math.exp(lat * PI_BY_POLE)) - INV_PI_BY_180_HALF_PI,
217
217
  heightFactor,
@@ -279,9 +279,9 @@ const _programm = `
279
279
  let heightFactor = msg.data.params[13];
280
280
 
281
281
  if(msg.data.params[1] === 0.0){
282
- _projFunc = lonLatToCartesianInverse;
282
+ _projFunc = geodeticToCartesianInverse;
283
283
  }else{
284
- _projFunc = lonLatToCartesian;
284
+ _projFunc = geodeticToCartesian;
285
285
  }
286
286
 
287
287
  let maxFgs = Math.max(fgs, gridSize);
@@ -232,7 +232,7 @@ const _programm =
232
232
  normalMapVerticesHigh = new Float32Array(fileGridSize_one_x2 * 3);
233
233
  normalMapVerticesLow = new Float32Array(fileGridSize_one_x2 * 3);
234
234
 
235
- for (var k = 0; k < fileGridSize_one_x2; k++) {
235
+ for (let k = 0; k < fileGridSize_one_x2; k++) {
236
236
 
237
237
  var j = k % fileGridSize_one,
238
238
  i = ~~(k / fileGridSize_one);
@@ -502,7 +502,7 @@ const _programm =
502
502
  normalMapVerticesHigh.set(terrainVerticesHigh);
503
503
  normalMapVerticesLow.set(terrainVerticesLow);
504
504
 
505
- for(var k=0;k < gsgs; k++) {
505
+ for (let k = 0; k < gsgs; k++) {
506
506
 
507
507
  var j = k % gs,
508
508
  i = ~~(k / gs);
@@ -168,7 +168,7 @@ class TextureAtlas {
168
168
  this.clearCanvas();
169
169
 
170
170
  var newNodes = new Map();
171
- for (var i = 0; i < im.length; i++) {
171
+ for (let i = 0; i < im.length; i++) {
172
172
  this._completeNode(newNodes, this._btree.insert(im[i]));
173
173
  }
174
174
  this.nodes = null;
@@ -189,7 +189,7 @@ class TextureAtlas {
189
189
  * @public
190
190
  */
191
191
  createTexture(img, internalFormat) {
192
- if (this._handler) {
192
+ if (this._handler && this._handler.gl) {
193
193
  this._handler.gl.deleteTexture(this.texture);
194
194
  if (img) {
195
195
  this.canvas.resize(img.width, img.height);
@@ -45,7 +45,7 @@ function earcut(data, holeIndices, dim) {
45
45
  minX = maxX = data[0];
46
46
  minY = maxY = data[1];
47
47
 
48
- for (var i = dim; i < outerLen; i += dim) {
48
+ for (let i = dim; i < outerLen; i += dim) {
49
49
  x = data[i];
50
50
  y = data[i + 1];
51
51
  if (x < minX) minX = x;
@@ -610,7 +610,7 @@ function deviation(data, holeIndices, dim, triangles) {
610
610
 
611
611
  var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));
612
612
  if (hasHoles) {
613
- for (var i = 0, len = holeIndices.length; i < len; i++) {
613
+ for (let i = 0, len = holeIndices.length; i < len; i++) {
614
614
  var start = holeIndices[i] * dim;
615
615
  var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
616
616
  polygonArea -= Math.abs(signedArea(data, start, end, dim));
@@ -618,7 +618,7 @@ function deviation(data, holeIndices, dim, triangles) {
618
618
  }
619
619
 
620
620
  var trianglesArea = 0;
621
- for (i = 0; i < triangles.length; i += 3) {
621
+ for (let i = 0; i < triangles.length; i += 3) {
622
622
  var a = triangles[i] * dim;
623
623
  var b = triangles[i + 1] * dim;
624
624
  var c = triangles[i + 2] * dim;
@@ -633,7 +633,7 @@ function deviation(data, holeIndices, dim, triangles) {
633
633
 
634
634
  function signedArea(data, start, end, dim) {
635
635
  var sum = 0;
636
- for (var i = start, j = end - dim; i < end; i += dim) {
636
+ for (let i = start, j = end - dim; i < end; i += dim) {
637
637
  sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);
638
638
  j = i;
639
639
  }
@@ -646,9 +646,9 @@ function flatten(data) {
646
646
  result = { vertices: [], holes: [], dimensions: dim },
647
647
  holeIndex = 0;
648
648
 
649
- for (var i = 0; i < data.length; i++) {
650
- for (var j = 0; j < data[i].length; j++) {
651
- for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);
649
+ for (let i = 0; i < data.length; i++) {
650
+ for (let j = 0; j < data[i].length; j++) {
651
+ for (let d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);
652
652
  }
653
653
  if (i > 0) {
654
654
  holeIndex += data[i - 1].length;
@@ -658,4 +658,4 @@ function flatten(data) {
658
658
  return result;
659
659
  }
660
660
 
661
- export { earcut, flatten };
661
+ export { earcut, flatten };
@@ -152,7 +152,7 @@ export function parseHTML(htmlStr) {
152
152
  var p = document.createElement("div");
153
153
  p.innerHTML = htmlStr;
154
154
  var domArr = [];
155
- for (var i = 0; i < p.childNodes.length; i++) {
155
+ for (let i = 0; i < p.childNodes.length; i++) {
156
156
  domArr.push(p.childNodes[i]);
157
157
  p.removeChild(p.childNodes[i]);
158
158
  }
@@ -419,7 +419,7 @@ export function xmlToJson(xml) {
419
419
  // do attributes
420
420
  if (xml.attributes.length > 0) {
421
421
  obj["@attributes"] = {};
422
- for (var j = 0; j < xml.attributes.length; j++) {
422
+ for (let j = 0; j < xml.attributes.length; j++) {
423
423
  var attribute = xml.attributes.item(j);
424
424
  obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
425
425
  }
@@ -431,7 +431,7 @@ export function xmlToJson(xml) {
431
431
 
432
432
  // do children
433
433
  if (xml.hasChildNodes()) {
434
- for (var i = 0; i < xml.childNodes.length; i++) {
434
+ for (let i = 0; i < xml.childNodes.length; i++) {
435
435
  var item = xml.childNodes.item(i);
436
436
  var nodeName = item.nodeName;
437
437
  if (typeof obj[nodeName] === "undefined") {
@@ -511,12 +511,12 @@ export function base64toBlob(base64Data, contentType) {
511
511
  var slicesCount = Math.ceil(bytesLength / sliceSize);
512
512
  var byteArrays = new Array(slicesCount);
513
513
 
514
- for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {
514
+ for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {
515
515
  var begin = sliceIndex * sliceSize;
516
516
  var end = Math.min(begin + sliceSize, bytesLength);
517
517
 
518
518
  var bytes = new Array(end - begin);
519
- for (var offset = begin, i = 0; offset < end; ++i, ++offset) {
519
+ for (let offset = begin, i = 0; offset < end; ++i, ++offset) {
520
520
  bytes[i] = byteCharacters[offset].charCodeAt(0);
521
521
  }
522
522
  byteArrays[sliceIndex] = new Uint8Array(bytes);
@@ -751,7 +751,7 @@ export function concatArrays(a = [], b) {
751
751
  if (ArrayBuffer.isView(a)) {
752
752
  return concatTypedArrays(a, b);
753
753
  } else {
754
- for (var i = 0; i < b.length; i++) {
754
+ for (let i = 0; i < b.length; i++) {
755
755
  a.push(b[i]);
756
756
  }
757
757
  return a;
@@ -858,8 +858,8 @@ export function getMatrixSubArray(sourceArr, gridSize, i0, j0, size) {
858
858
  var res = new Float64Array(size_1 * size_1 * 3);
859
859
 
860
860
  var vInd = 0;
861
- for (var i = i0; i < i0size; i++) {
862
- for (var j = j0; j < j0size; j++) {
861
+ for (let i = i0; i < i0size; i++) {
862
+ for (let j = j0; j < j0size; j++) {
863
863
  var ind = 3 * (i * (gridSize + 1) + j);
864
864
 
865
865
  res[vInd++] = sourceArr[ind];
@@ -902,8 +902,8 @@ export function getMatrixSubArrayBoundsExt(
902
902
  gridSize += 1;
903
903
  var vInd = 0,
904
904
  nInd = 0;
905
- for (var i = i0; i < i0size; i++) {
906
- for (var j = j0; j < j0size; j++) {
905
+ for (let i = i0; i < i0size; i++) {
906
+ for (let j = j0; j < j0size; j++) {
907
907
  let indBy3 = i * gridSize + j,
908
908
  ind = 3 * indBy3;
909
909
 
@@ -121,7 +121,7 @@ export class Framebuffer {
121
121
  destroy() {
122
122
  var gl = this.handler.gl;
123
123
 
124
- for (var i = 0; i < this.textures.length; i++) {
124
+ for (let i = 0; i < this.textures.length; i++) {
125
125
  gl.deleteTexture(this.textures[i]);
126
126
  }
127
127
  this.textures = new Array(this._size);
@@ -148,7 +148,7 @@ export class Framebuffer {
148
148
 
149
149
  if (!this._isBare) {
150
150
  let attachmentArr = [];
151
- for (var i = 0; i < this.textures.length; i++) {
151
+ for (let i = 0; i < this.textures.length; i++) {
152
152
  let ti = this.textures[i] || this.handler.createEmptyTexture2DExt(this._width, this._height, this._filter, this._internalFormatArr[i], this._formatArr[i], this._typeArr[i]);
153
153
 
154
154
  let att_i = gl[this._attachmentArr[i]];
@@ -1026,6 +1026,8 @@ class Handler {
1026
1026
  destroy() {
1027
1027
  let gl = this.gl;
1028
1028
 
1029
+ this.resizeObserver.disconnect();
1030
+ this.intersectionObserver.disconnect();
1029
1031
  this.stop();
1030
1032
 
1031
1033
  //
@@ -1138,7 +1140,7 @@ class Handler {
1138
1140
  // const data = new DataView(xhr.response);
1139
1141
  // const array =
1140
1142
  // new Float32Array(data.byteLength / Float32Array.BYTES_PER_ELEMENT);
1141
- // for (var i = 0; i < array.length; ++i) {
1143
+ // for (let i = 0; i < array.length; ++i) {
1142
1144
  // array[i] = data.getFloat32(i * Float32Array.BYTES_PER_ELEMENT, true);
1143
1145
  // }
1144
1146
  // callback(array);
@@ -88,7 +88,7 @@ export class Multisample {
88
88
  destroy() {
89
89
  var gl = this.handler.gl;
90
90
 
91
- for (var i = 0; i < this.renderbuffers.length; i++) {
91
+ for (let i = 0; i < this.renderbuffers.length; i++) {
92
92
  gl.deleteRenderbuffer(this.renderbuffers[i]);
93
93
  }
94
94
  this.renderbuffers = new Array(this._size);
@@ -116,7 +116,7 @@ export class Multisample {
116
116
  gl.bindFramebuffer(gl.FRAMEBUFFER, this._fbo);
117
117
 
118
118
  let colorAttachments = [];
119
- for (var i = 0; i < this.renderbuffers.length; i++) {
119
+ for (let i = 0; i < this.renderbuffers.length; i++) {
120
120
  let rb = gl.createRenderbuffer();
121
121
  gl.bindRenderbuffer(gl.RENDERBUFFER, rb);
122
122
 
@@ -154,7 +154,7 @@ class Program {
154
154
  */
155
155
  set(material) {
156
156
  this._textureID = 0;
157
- for (var i in material) {
157
+ for (let i in material) {
158
158
  this._variables[i].value = material[i];
159
159
  this._variables[i]._callback(this, this._variables[i]);
160
160
  }
@@ -167,7 +167,7 @@ class Program {
167
167
  apply() {
168
168
  this._textureID = 0;
169
169
  var v = this._variables;
170
- for (var i in v) {
170
+ for (let i in v) {
171
171
  v[i]._callback(this, v[i]);
172
172
  }
173
173
  }
@@ -318,7 +318,7 @@ class Program {
318
318
 
319
319
  this.use();
320
320
 
321
- for (var a in this._attributes) {
321
+ for (let a in this._attributes) {
322
322
  //this.attributes[a]._name = a;
323
323
  this._variables[a] = this._attributes[a];
324
324
 
@@ -371,7 +371,7 @@ class Program {
371
371
  this.attributes[a] = this._p[a];
372
372
  }
373
373
 
374
- for (var u in this._uniforms) {
374
+ for (let u in this._uniforms) {
375
375
  //this.uniforms[u]._name = u;
376
376
 
377
377
  if (typeof this._uniforms[u].type === "string") {
@@ -41,7 +41,7 @@ export class ImageCanvas {
41
41
  * Fills canvas RGBA with color.
42
42
  * @public
43
43
  */
44
- public fill(c: any): void;
44
+ public fill(color: any): void;
45
45
  /**
46
46
  * Gets canvas pixels RGBA data.
47
47
  * @public
@@ -92,7 +92,7 @@ export class Ellipsoid {
92
92
  * @param {Number} height - Height.
93
93
  * @returns {Vec3} -
94
94
  */
95
- public geodeticToCartesian(lon: number, lat: number, height?: number): Vec3;
95
+ public geodeticToCartesian(lon: number, lat: number, height: number, res: any): Vec3;
96
96
  /**
97
97
  * Gets Wgs84 geodetic coordinates from cartesian ECEF.
98
98
  * @public
@@ -155,6 +155,7 @@ export class Ellipsoid {
155
155
  * @returns {Vec3} -
156
156
  */
157
157
  public hitRay(origin: Vec3, direction: Vec3): Vec3;
158
+ getNorthFrameRotation(cartesian: any): Quat;
158
159
  /**
159
160
  * @todo this is not precise function, needs to be replaced or removed
160
161
  * @param lonLat1
@@ -166,3 +167,4 @@ export class Ellipsoid {
166
167
  }
167
168
  import { Vec3 } from "../math/Vec3.js";
168
169
  import { LonLat } from "../LonLat.js";
170
+ import { Quat } from "../math/Quat.js";
@@ -112,7 +112,6 @@ export class GeoObject {
112
112
  */
113
113
  public setPickingColor3v(color: og.Vec3): void;
114
114
  updateDirection(): void;
115
- _qNorthFrame: Quat;
115
+ _qNorthFrame: any;
116
116
  }
117
117
  import { Vec3 } from "../math/index.js";
118
- import { Quat } from "../math/index.js";
@@ -1,8 +1,15 @@
1
1
  export class KeyboardHandler {
2
- removeEvent: (events: any, callback: any) => void;
2
+ getcurrentlyPressedKeys: () => {};
3
+ getPressedKeysCallbacks: () => {};
4
+ getUnpressedKeysCallbacks: () => {};
5
+ getCharkeysCallbacks: () => {};
6
+ removeEvent: (event: any, keyCode: any, callback: any) => void;
7
+ _removeCallback: (handlers: any, callback: any) => void;
8
+ _getStamp: (name: any, keyCode: any, ogid: any) => string;
9
+ _stamp: (name: any, keyCode: any, obj: any) => boolean;
3
10
  setActivity: (activity: any) => void;
4
11
  releaseKeys: () => void;
5
- addEvent: (event: any, sender: any, callback: any, keyCode: any, priority: any) => void;
12
+ addEvent: (event: any, keyCode: any, callback: any, sender: any, priority: any) => void;
6
13
  isKeyPressed: (keyCode: any) => any;
7
14
  handleKeyDown: () => void;
8
15
  handleKeyUp: () => void;
@@ -35,6 +35,8 @@ export class Vec3 {
35
35
  static get UNIT_Y(): Vec3;
36
36
  /** @const */
37
37
  static get UNIT_Z(): Vec3;
38
+ /** @const */
39
+ static get NORTH(): Vec3;
38
40
  /**
39
41
  * Separate 63 bit Vec3 to two Vec3 32 bit float values.
40
42
  * @function
@@ -170,22 +170,8 @@ export class RendererEvents extends Events {
170
170
  * @public
171
171
  */
172
172
  public handleEvents(): void;
173
- /**
174
- * Set render event callback.
175
- * @public
176
- * @param {string} name - Event name
177
- * @param {eventCallback} callback - Callback function
178
- * @param {number} [key] - Key code from og.input
179
- * @param {*} sender - Callback context
180
- * @param {number} [priority] - Event callback priority
181
- */
182
- public on(name: string, p0: any, p1: any, p2: any, p3: any): void;
183
- /**
184
- * TODO: DOESNT WORK!!!
185
- * @param {any} name
186
- * @param {any} callback
187
- */
188
- off(name: any, callback: any): void;
173
+ on(name: any, p0: any, p1: any, p2: any, p3: any): void;
174
+ off(name: any, p1: any, p2: any): void;
189
175
  /**
190
176
  * Check key is pressed.
191
177
  * @public
@@ -16,9 +16,7 @@
16
16
  * @fires og.scene.Planet#geoimageadd
17
17
  */
18
18
  export class Planet extends RenderNode {
19
- static getBearingNorthRotationQuat(cartesian: any): Quat;
20
19
  constructor(options?: {});
21
- _cameraFrustums: any;
22
20
  /**
23
21
  * @public
24
22
  * @type {Ellipsoid}
@@ -260,6 +258,7 @@ export class Planet extends RenderNode {
260
258
  _renderScreenNodesPASS: () => void;
261
259
  _atmosphereEnabled: any;
262
260
  _atmosphereMaxMinOpacity: Float32Array;
261
+ getNorthFrameRotation(cartesian: any): any;
263
262
  set atmosphereMaxOpacity(arg: number);
264
263
  get atmosphereMaxOpacity(): number;
265
264
  set atmosphereMinOpacity(arg: number);
@@ -593,4 +592,3 @@ import { PlainSegmentWorker } from "../utils/PlainSegmentWorker.js";
593
592
  import { Loader } from "../utils/Loader.js";
594
593
  import { Key } from "../Lock.js";
595
594
  import { LonLat } from "../LonLat.js";
596
- import { Quat } from "../math/index.js";