@openglobus/og 0.17.0 → 0.17.1

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 (67) hide show
  1. package/dist/@openglobus/og.esm.js +2 -2
  2. package/dist/@openglobus/og.esm.js.map +1 -1
  3. package/dist/@openglobus/og.umd.js +2 -2
  4. package/dist/@openglobus/og.umd.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/og/Events.js +2 -2
  7. package/src/og/Globe.js +1 -1
  8. package/src/og/ImageCanvas.js +2 -2
  9. package/src/og/LonLat.js +1 -1
  10. package/src/og/Object3d.js +1 -1
  11. package/src/og/QueueArray.js +1 -1
  12. package/src/og/Stack.js +1 -1
  13. package/src/og/astro/earth.js +3 -3
  14. package/src/og/camera/Frustum.js +4 -4
  15. package/src/og/camera/PlanetCamera.js +7 -7
  16. package/src/og/cons.js +1 -1
  17. package/src/og/control/DebugInfo.js +3 -3
  18. package/src/og/control/EarthNavigation.js +6 -13
  19. package/src/og/control/Lighting.js +1 -1
  20. package/src/og/control/MouseNavigation.js +1 -1
  21. package/src/og/control/visibleExtent/Segment.js +2 -2
  22. package/src/og/ellipsoid/Ellipsoid.js +31 -50
  23. package/src/og/entity/BillboardHandler.js +3 -3
  24. package/src/og/entity/EntityCollection.js +7 -7
  25. package/src/og/entity/GeoObject.js +6 -4
  26. package/src/og/entity/GeoObjectHandler.js +30 -20
  27. package/src/og/entity/GeometryHandler.js +15 -15
  28. package/src/og/entity/LabelHandler.js +10 -10
  29. package/src/og/entity/LabelWorker.js +1 -1
  30. package/src/og/entity/PointCloud.js +2 -2
  31. package/src/og/entity/PointCloudHandler.js +2 -2
  32. package/src/og/entity/Polyline.js +11 -11
  33. package/src/og/entity/PolylineHandler.js +2 -2
  34. package/src/og/entity/RayHandler.js +2 -2
  35. package/src/og/entity/StripHandler.js +2 -2
  36. package/src/og/input/KeyboardHandler.js +6 -6
  37. package/src/og/layer/BaseGeoImage.js +1 -1
  38. package/src/og/layer/CanvasTiles.js +1 -1
  39. package/src/og/layer/Vector.js +2 -2
  40. package/src/og/math/Vec3.js +5 -0
  41. package/src/og/math.js +3 -3
  42. package/src/og/mercator.js +1 -1
  43. package/src/og/quadTree/Node.js +15 -14
  44. package/src/og/renderer/Renderer.js +5 -5
  45. package/src/og/scene/BaseNode.js +1 -1
  46. package/src/og/scene/Planet.js +16 -21
  47. package/src/og/scene/RenderNode.js +9 -9
  48. package/src/og/segment/Segment.js +2 -2
  49. package/src/og/segment/SegmentLonLat.js +1 -1
  50. package/src/og/segment/segmentHelper.js +12 -12
  51. package/src/og/shaders/atmos.js +1 -1
  52. package/src/og/utils/GeoImageCreator.js +1 -1
  53. package/src/og/utils/NormalMapCreator.js +3 -3
  54. package/src/og/utils/PlainSegmentWorker.js +9 -9
  55. package/src/og/utils/TerrainWorker.js +2 -2
  56. package/src/og/utils/TextureAtlas.js +1 -1
  57. package/src/og/utils/earcut.js +8 -8
  58. package/src/og/utils/shared.js +10 -10
  59. package/src/og/webgl/Framebuffer.js +2 -2
  60. package/src/og/webgl/Handler.js +1 -1
  61. package/src/og/webgl/Multisample.js +2 -2
  62. package/src/og/webgl/Program.js +4 -4
  63. package/types/ImageCanvas.d.ts +1 -1
  64. package/types/ellipsoid/Ellipsoid.d.ts +3 -1
  65. package/types/entity/GeoObject.d.ts +1 -2
  66. package/types/math/Vec3.d.ts +2 -0
  67. package/types/scene/Planet.d.ts +1 -2
@@ -112,24 +112,33 @@ class InstanceData {
112
112
  this._visibleArr = [];
113
113
  this._texCoordArr = [];
114
114
 
115
- let h = this._geoObjectHandler._planet.renderer.handler, gl = h.gl;
115
+ this._deleteBuffers();
116
116
 
117
- h.deleteTexture(this._texture);
118
-
119
- this._texture = null;
117
+ this.isFree = false;
118
+ this._geoObjectHandler = null;
119
+ }
120
120
 
121
- gl.deleteBuffer(this._pitchRollBuffer);
122
- gl.deleteBuffer(this._sizeBuffer);
123
- gl.deleteBuffer(this._vertexBuffer);
124
- gl.deleteBuffer(this._positionHighBuffer);
125
- gl.deleteBuffer(this._positionLowBuffer);
126
- gl.deleteBuffer(this._directionBuffer);
127
- gl.deleteBuffer(this._rgbaBuffer);
128
- gl.deleteBuffer(this._normalsBuffer);
129
- gl.deleteBuffer(this._indicesBuffer);
130
- gl.deleteBuffer(this._pickingColorBuffer);
131
- gl.deleteBuffer(this._visibleBuffer);
132
- gl.deleteBuffer(this._texCoordBuffer);
121
+ _deleteBuffers() {
122
+ if (this._geoObjectHandler && this._geoObjectHandler._planet && this._geoObjectHandler._planet.renderer) {
123
+ let h = this._geoObjectHandler._planet.renderer.handler,
124
+ gl = h.gl;
125
+
126
+ h.deleteTexture(this._texture);
127
+ this._texture = null;
128
+
129
+ gl.deleteBuffer(this._pitchRollBuffer);
130
+ gl.deleteBuffer(this._sizeBuffer);
131
+ gl.deleteBuffer(this._vertexBuffer);
132
+ gl.deleteBuffer(this._positionHighBuffer);
133
+ gl.deleteBuffer(this._positionLowBuffer);
134
+ gl.deleteBuffer(this._directionBuffer);
135
+ gl.deleteBuffer(this._rgbaBuffer);
136
+ gl.deleteBuffer(this._normalsBuffer);
137
+ gl.deleteBuffer(this._indicesBuffer);
138
+ gl.deleteBuffer(this._pickingColorBuffer);
139
+ gl.deleteBuffer(this._visibleBuffer);
140
+ gl.deleteBuffer(this._texCoordBuffer);
141
+ }
133
142
 
134
143
  this._pitchRollBuffer = null;
135
144
  this._sizeBuffer = null;
@@ -143,9 +152,6 @@ class InstanceData {
143
152
  this._pickingColorBuffer = null;
144
153
  this._visibleBuffer = null;
145
154
  this._texCoordBuffer = null;
146
-
147
- this.isFree = false;
148
- this._geoObjectHandler = null;
149
155
  }
150
156
 
151
157
  createVertexBuffer() {
@@ -345,6 +351,10 @@ class GeoObjectHandler {
345
351
  this._loadDataTagTexture(this._instanceDataMapValues[i]);
346
352
  }
347
353
 
354
+ for (let i = 0; i < this._geoObjects.length; i++) {
355
+ this._geoObjects[i].updateDirection();
356
+ }
357
+
348
358
  this.update();
349
359
  }
350
360
 
@@ -635,7 +645,7 @@ class GeoObjectHandler {
635
645
  this._geoObjects.length = 0;
636
646
  this._geoObjects = [];
637
647
 
638
- for (let i = 0; this._instanceDataMapValues.length; i++) {
648
+ for (let i = 0; i < this._instanceDataMapValues.length; i++) {
639
649
  this._instanceDataMapValues[i].clear();
640
650
  }
641
651
 
@@ -163,7 +163,7 @@ class GeometryHandler {
163
163
  sc = [strokeColor.x, strokeColor.y, strokeColor.z, strokeColor.w],
164
164
  p = [pickingColor.x, pickingColor.y, pickingColor.z, 1.0];
165
165
 
166
- for (var j = 0; j < pathArr.length; j++) {
166
+ for (let j = 0; j < pathArr.length; j++) {
167
167
  var path = pathArr[j];
168
168
 
169
169
  if (path.length === 0) {
@@ -288,7 +288,7 @@ class GeometryHandler {
288
288
  p[3]
289
289
  );
290
290
 
291
- for (var i = 0; i < path.length; i++) {
291
+ for (let i = 0; i < path.length; i++) {
292
292
  var cur = path[i];
293
293
 
294
294
  doubleToTwoFloats(cur, tempHigh, tempLow);
@@ -554,7 +554,7 @@ class GeometryHandler {
554
554
  let ci = [];
555
555
  for (let j = 0; j < coordinates.length; j++) {
556
556
  ci[j] = [];
557
- for (var k = 0; k < coordinates[j].length; k++) {
557
+ for (let k = 0; k < coordinates[j].length; k++) {
558
558
  ci[j][k] = [
559
559
  mercator.forward_lon(coordinates[j][k][0]),
560
560
  mercator.forward_lat(coordinates[j][k][1])
@@ -653,7 +653,7 @@ class GeometryHandler {
653
653
  geometry._lineColorsHandlerIndex = this._lineColors.length;
654
654
  geometry._lineThicknessHandlerIndex = this._lineThickness.length;
655
655
 
656
- for (var i = 0; i < coordinates.length; i++) {
656
+ for (let i = 0; i < coordinates.length; i++) {
657
657
  let cci = coordinates[i];
658
658
  let ci = [];
659
659
  for (let j = 0; j < cci.length; j++) {
@@ -883,7 +883,7 @@ class GeometryHandler {
883
883
  geometry._polyIndexesLength
884
884
  );
885
885
  var di = geometry._polyVerticesLength * 0.5;
886
- for (var i = geometry._polyIndexesHandlerIndex; i < this._polyIndexes.length; i++) {
886
+ for (let i = geometry._polyIndexesHandlerIndex; i < this._polyIndexes.length; i++) {
887
887
  this._polyIndexes[i] -= di;
888
888
  }
889
889
 
@@ -975,7 +975,7 @@ class GeometryHandler {
975
975
  _refreshRecursevely(geometry, treeNode) {
976
976
  if (treeNode.ready) {
977
977
  var lid = this._layer._id;
978
- for (var i = 0; i < treeNode.nodes.length; i++) {
978
+ for (let i = 0; i < treeNode.nodes.length; i++) {
979
979
  var ni = treeNode.nodes[i];
980
980
  if (geometry._extent.overlaps(ni.segment.getExtentLonLat())) {
981
981
  this._refreshRecursevely(geometry, ni);
@@ -999,7 +999,7 @@ class GeometryHandler {
999
999
  _refreshRecursevelyExt(extent, treeNode) {
1000
1000
  if (treeNode.ready) {
1001
1001
  var lid = this._layer._id;
1002
- for (var i = 0; i < treeNode.nodes.length; i++) {
1002
+ for (let i = 0; i < treeNode.nodes.length; i++) {
1003
1003
  var ni = treeNode.nodes[i];
1004
1004
  if (extent.overlaps(ni.segment.getExtentLonLat())) {
1005
1005
  this._refreshRecursevelyExt(extent, ni);
@@ -1076,7 +1076,7 @@ class GeometryHandler {
1076
1076
 
1077
1077
  var l = geometry._polyVerticesLength;
1078
1078
  var ind = geometry._polyVerticesHandlerIndex;
1079
- for (var i = 0; i < l; i++) {
1079
+ for (let i = 0; i < l; i++) {
1080
1080
  a[ind + i] = geometry._polyVerticesHighMerc[i] * v;
1081
1081
  b[ind + i] = geometry._polyVerticesLowMerc[i] * v;
1082
1082
  }
@@ -1085,7 +1085,7 @@ class GeometryHandler {
1085
1085
  b = this._lineVerticesLowMerc;
1086
1086
  l = geometry._lineVerticesLength;
1087
1087
  ind = geometry._lineVerticesHandlerIndex;
1088
- for (i = 0; i < l; i++) {
1088
+ for (let i = 0; i < l; i++) {
1089
1089
  a[ind + i] = geometry._lineVerticesHighMerc[i] * v;
1090
1090
  b[ind + i] = geometry._lineVerticesLowMerc[i] * v;
1091
1091
  }
@@ -1101,7 +1101,7 @@ class GeometryHandler {
1101
1101
  var index = geometry._polyVerticesHandlerIndex * 2, // ... / 2 * 4
1102
1102
  size = index + geometry._polyVerticesLength * 2; // ... / 2 * 4
1103
1103
  var a = this._polyColors;
1104
- for (var i = index; i < size; i += 4) {
1104
+ for (let i = index; i < size; i += 4) {
1105
1105
  a[i] = color.x;
1106
1106
  a[i + 1] = color.y;
1107
1107
  a[i + 2] = color.z;
@@ -1116,7 +1116,7 @@ class GeometryHandler {
1116
1116
  var index = geometry._lineColorsHandlerIndex,
1117
1117
  size = index + geometry._lineColorsLength;
1118
1118
  var a = this._lineStrokeColors;
1119
- for (var i = index; i < size; i += 4) {
1119
+ for (let i = index; i < size; i += 4) {
1120
1120
  a[i] = color.x;
1121
1121
  a[i + 1] = color.y;
1122
1122
  a[i + 2] = color.z;
@@ -1131,7 +1131,7 @@ class GeometryHandler {
1131
1131
  var index = geometry._lineColorsHandlerIndex,
1132
1132
  size = index + geometry._lineColorsLength;
1133
1133
  var a = this._lineColors;
1134
- for (var i = index; i < size; i += 4) {
1134
+ for (let i = index; i < size; i += 4) {
1135
1135
  a[i] = color.x;
1136
1136
  a[i + 1] = color.y;
1137
1137
  a[i + 2] = color.z;
@@ -1146,7 +1146,7 @@ class GeometryHandler {
1146
1146
  var index = geometry._lineStrokesHandlerIndex,
1147
1147
  size = index + geometry._lineStrokesLength;
1148
1148
  var a = this._lineStrokes;
1149
- for (var i = index; i < size; i++) {
1149
+ for (let i = index; i < size; i++) {
1150
1150
  a[i] = width;
1151
1151
  }
1152
1152
  this._changedBuffers[LINESTROKES_BUFFER] = true;
@@ -1158,7 +1158,7 @@ class GeometryHandler {
1158
1158
  var index = geometry._lineThicknessHandlerIndex,
1159
1159
  size = index + geometry._lineThicknessLength;
1160
1160
  var a = this._lineThickness;
1161
- for (var i = index; i < size; i++) {
1161
+ for (let i = index; i < size; i++) {
1162
1162
  a[i] = width;
1163
1163
  }
1164
1164
  this._changedBuffers[LINETHICKNESS_BUFFER] = true;
@@ -1179,7 +1179,7 @@ class GeometryHandler {
1179
1179
  this._geometries.splice(geometry._handlerIndex, 1);
1180
1180
 
1181
1181
  var g = this._geometries;
1182
- for (var i = geometry._handlerIndex; i < g.length; i++) {
1182
+ for (let i = geometry._handlerIndex; i < g.length; i++) {
1183
1183
  var gi = g[i];
1184
1184
  gi._handlerIndex = i;
1185
1185
  gi._polyIndexesHandlerIndex -= geometry._polyIndexesLength;
@@ -510,7 +510,7 @@ class LabelHandler extends BillboardHandler {
510
510
  yl = positionLow.y,
511
511
  zl = positionLow.z;
512
512
 
513
- for (var q = 0; q < this._maxLetters; q++) {
513
+ for (let q = 0; q < this._maxLetters; q++) {
514
514
  var j = i + q * 18;
515
515
  a[j] = x;
516
516
  a[j + 1] = y;
@@ -572,7 +572,7 @@ class LabelHandler extends BillboardHandler {
572
572
  y = color.y / 255,
573
573
  z = color.z / 255;
574
574
 
575
- for (var q = 0; q < this._maxLetters; q++) {
575
+ for (let q = 0; q < this._maxLetters; q++) {
576
576
  var j = i + q * 18;
577
577
  a[j] = x;
578
578
  a[j + 1] = y;
@@ -606,7 +606,7 @@ class LabelHandler extends BillboardHandler {
606
606
  var i = index * 6 * this._maxLetters;
607
607
  var a = this._sizeArr;
608
608
 
609
- for (var q = 0; q < this._maxLetters; q++) {
609
+ for (let q = 0; q < this._maxLetters; q++) {
610
610
  var j = i + q * 6;
611
611
  a[j] = size;
612
612
  a[j + 1] = size;
@@ -626,7 +626,7 @@ class LabelHandler extends BillboardHandler {
626
626
  y = offset.y,
627
627
  z = offset.z;
628
628
 
629
- for (var q = 0; q < this._maxLetters; q++) {
629
+ for (let q = 0; q < this._maxLetters; q++) {
630
630
  var j = i + q * 18;
631
631
  a[j] = x;
632
632
  a[j + 1] = y;
@@ -664,7 +664,7 @@ class LabelHandler extends BillboardHandler {
664
664
  z = rgba.z,
665
665
  w = rgba.w;
666
666
 
667
- for (var q = 0; q < this._maxLetters; q++) {
667
+ for (let q = 0; q < this._maxLetters; q++) {
668
668
  var j = i + q * 24;
669
669
 
670
670
  a[j] = x;
@@ -709,7 +709,7 @@ class LabelHandler extends BillboardHandler {
709
709
  z = rgba.z,
710
710
  w = rgba.w;
711
711
 
712
- for (var q = 0; q < this._maxLetters; q++) {
712
+ for (let q = 0; q < this._maxLetters; q++) {
713
713
  var j = i + q * 24;
714
714
 
715
715
  a[j] = x;
@@ -750,7 +750,7 @@ class LabelHandler extends BillboardHandler {
750
750
  var i = index * 6 * this._maxLetters;
751
751
  var a = this._outlineArr;
752
752
 
753
- for (var q = 0; q < this._maxLetters; q++) {
753
+ for (let q = 0; q < this._maxLetters; q++) {
754
754
  var j = i + q * 6;
755
755
  a[j] = outline;
756
756
  a[j + 1] = outline;
@@ -767,7 +767,7 @@ class LabelHandler extends BillboardHandler {
767
767
  var i = index * 6 * this._maxLetters;
768
768
  var a = this._rotationArr;
769
769
 
770
- for (var q = 0; q < this._maxLetters; q++) {
770
+ for (let q = 0; q < this._maxLetters; q++) {
771
771
  var j = i + q * 6;
772
772
  a[j] = rotation;
773
773
  a[j + 1] = rotation;
@@ -794,7 +794,7 @@ class LabelHandler extends BillboardHandler {
794
794
  var i = index * 12 * this._maxLetters;
795
795
  var a = this._vertexArr;
796
796
 
797
- for (var q = 0; q < this._maxLetters; q++) {
797
+ for (let q = 0; q < this._maxLetters; q++) {
798
798
  var j = i + q * 12;
799
799
 
800
800
  a[j] = vertexArr[0];
@@ -823,7 +823,7 @@ class LabelHandler extends BillboardHandler {
823
823
  var i = index * 6 * this._maxLetters;
824
824
  var a = this._fontIndexArr;
825
825
 
826
- for (var q = 0; q < this._maxLetters; q++) {
826
+ for (let q = 0; q < this._maxLetters; q++) {
827
827
  var j = i + q * 6;
828
828
  a[j] = fontIndex;
829
829
  a[j + 1] = fontIndex;
@@ -113,7 +113,7 @@ const _programm = `'use strict';
113
113
  _outlineColorArr = new Float32Array(maxLetters * 24),
114
114
  _pickingColorArr = new Float32Array(maxLetters * 18);
115
115
 
116
- for (var i = 0; i < maxLetters; i++) {
116
+ for (let i = 0; i < maxLetters; i++) {
117
117
  if (isVisible !== 0) {
118
118
  concatTypedArrays(_vertexArr, i, [0, 0, 0, -1, 1, -1, 1, -1, 1, 0, 0, 0]);
119
119
  } else {
@@ -208,7 +208,7 @@ class PointCloud {
208
208
  */
209
209
  setPoints(points) {
210
210
  this.clear();
211
- for (var i = 0; i < points.length; i++) {
211
+ for (let i = 0; i < points.length; i++) {
212
212
  var pi = points[i];
213
213
  var pos = new Vec3(pi[0], pi[1], pi[2]),
214
214
  col = new Vec4(pi[3], pi[4], pi[5], pi[6] == undefined ? 255.0 : pi[6]);
@@ -471,7 +471,7 @@ class PointCloud {
471
471
 
472
472
  _setPickingColors() {
473
473
  if (this._renderNode) {
474
- for (var i = 0; i < this._points.length; i++) {
474
+ for (let i = 0; i < this._points.length; i++) {
475
475
  var p = this._points[i];
476
476
  p._entity = this._entity;
477
477
  p._entityCollection = this._entity._entityCollection;
@@ -57,7 +57,7 @@ class PointCloudHandler {
57
57
  setRenderNode(renderNode) {
58
58
  this._renderer = renderNode.renderer;
59
59
  this._initProgram();
60
- for (var i = 0; i < this._pointClouds.length; i++) {
60
+ for (let i = 0; i < this._pointClouds.length; i++) {
61
61
  this._pointClouds[i].setRenderNode(renderNode);
62
62
  }
63
63
  }
@@ -86,7 +86,7 @@ class PointCloudHandler {
86
86
 
87
87
  reindexPointCloudArray(startIndex) {
88
88
  var pc = this._pointClouds;
89
- for (var i = startIndex; i < pc.length; i++) {
89
+ for (let i = startIndex; i < pc.length; i++) {
90
90
  pc[i]._handlerIndex = i;
91
91
  }
92
92
  }
@@ -221,7 +221,7 @@ class Polyline {
221
221
  outIndexes.push(0, 0);
222
222
  }
223
223
 
224
- for (var j = 0, len = path3v.length; j < len; j++) {
224
+ for (let j = 0, len = path3v.length; j < len; j++) {
225
225
  var path = path3v[j],
226
226
  pathColors_j = pathColors[j];
227
227
 
@@ -743,7 +743,7 @@ class Polyline {
743
743
  outIndexes.push(0, 0);
744
744
  }
745
745
 
746
- for (var j = 0, len = pathLonLat.length; j < len; j++) {
746
+ for (let j = 0, len = pathLonLat.length; j < len; j++) {
747
747
  var path = pathLonLat[j],
748
748
  pathColors_j = pathColors[j];
749
749
 
@@ -1011,7 +1011,7 @@ class Polyline {
1011
1011
 
1012
1012
  var ellipsoid = this._renderNode.ellipsoid;
1013
1013
 
1014
- for (var j = 0; j < path3v.length; j++) {
1014
+ for (let j = 0; j < path3v.length; j++) {
1015
1015
  var path = path3v[j];
1016
1016
 
1017
1017
  var last;
@@ -1052,7 +1052,7 @@ class Polyline {
1052
1052
  vh[k] = v_high.z;
1053
1053
  vl[k++] = v_low.z;
1054
1054
 
1055
- for (var i = 0; i < path.length; i++) {
1055
+ for (let i = 0; i < path.length; i++) {
1056
1056
  var cur = path[i],
1057
1057
  pji = this._path3v[j][i];
1058
1058
 
@@ -1173,7 +1173,7 @@ class Polyline {
1173
1173
 
1174
1174
  var ellipsoid = this._renderNode.ellipsoid;
1175
1175
 
1176
- for (var j = 0; j < pathLonLat.length; j++) {
1176
+ for (let j = 0; j < pathLonLat.length; j++) {
1177
1177
  var path = pathLonLat[j];
1178
1178
 
1179
1179
  var last;
@@ -1212,7 +1212,7 @@ class Polyline {
1212
1212
  vh[k] = v_high.z;
1213
1213
  vl[k++] = v_low.z;
1214
1214
 
1215
- for (var i = 0; i < path.length; i++) {
1215
+ for (let i = 0; i < path.length; i++) {
1216
1216
  var cur = path[i];
1217
1217
  var cartesian = ellipsoid.lonLatToCartesian(cur);
1218
1218
  c[j][i] = cartesian;
@@ -1312,9 +1312,9 @@ class Polyline {
1312
1312
  var extent = this._extent;
1313
1313
  extent.southWest.set(180.0, 90.0);
1314
1314
  extent.northEast.set(-180.0, -90.0);
1315
- for (var i = 0; i < l.length; i++) {
1315
+ for (let i = 0; i < l.length; i++) {
1316
1316
  var pi = l[i];
1317
- for (var j = 0; j < pi.length; j++) {
1317
+ for (let j = 0; j < pi.length; j++) {
1318
1318
  var lon = pi[j].lon,
1319
1319
  lat = pi[j].lat;
1320
1320
  if (lon > extent.northEast.lon) {
@@ -1359,7 +1359,7 @@ class Polyline {
1359
1359
  k = 0,
1360
1360
  kk = 0;
1361
1361
 
1362
- //for (var i = 0; i < segmentIndex; i++) {
1362
+ //for (let i = 0; i < segmentIndex; i++) {
1363
1363
  // kk += this._path3v[i].length * 12 + 24;
1364
1364
  //}
1365
1365
  kk = this._pathLengths[segmentIndex] * 12 + 24 * segmentIndex;
@@ -1428,7 +1428,7 @@ class Polyline {
1428
1428
  extent.northEast.set(-180.0, -90.0);
1429
1429
  for (let i = 0; i < l.length; i++) {
1430
1430
  var pi = l[i];
1431
- for (var j = 0; j < pi.length; j++) {
1431
+ for (let j = 0; j < pi.length; j++) {
1432
1432
  var lon = pi[j].lon,
1433
1433
  lat = pi[j].lat;
1434
1434
  if (lon > extent.northEast.lon) {
@@ -1682,7 +1682,7 @@ class Polyline {
1682
1682
  let c = this._colors;
1683
1683
 
1684
1684
  //optimized with this._pathLengths
1685
- //for (var i = 0; i < segmentIndex; i++) {
1685
+ //for (let i = 0; i < segmentIndex; i++) {
1686
1686
  // kk += this._path3v[i].length * 16 + 32;
1687
1687
  //}
1688
1688
 
@@ -41,7 +41,7 @@ class PolylineHandler {
41
41
  setRenderNode(renderNode) {
42
42
  this._renderer = renderNode.renderer;
43
43
  this._initProgram();
44
- for (var i = 0; i < this._polylines.length; i++) {
44
+ for (let i = 0; i < this._polylines.length; i++) {
45
45
  this._polylines[i].setRenderNode(renderNode);
46
46
  }
47
47
  }
@@ -69,7 +69,7 @@ class PolylineHandler {
69
69
 
70
70
  reindexPolylineArray(startIndex) {
71
71
  var ls = this._polylines;
72
- for (var i = startIndex; i < ls.length; i++) {
72
+ for (let i = startIndex; i < ls.length; i++) {
73
73
  ls[i]._handlerIndex = i;
74
74
  }
75
75
  }
@@ -74,7 +74,7 @@ class RayHandler {
74
74
  }
75
75
 
76
76
  static concArr(dest, curr) {
77
- for (var i = 0; i < curr.length; i++) {
77
+ for (let i = 0; i < curr.length; i++) {
78
78
  dest.push(curr[i]);
79
79
  }
80
80
  }
@@ -457,7 +457,7 @@ class RayHandler {
457
457
 
458
458
  reindexRaysArray(startIndex) {
459
459
  var r = this._rays;
460
- for (var i = startIndex; i < r.length; i++) {
460
+ for (let i = startIndex; i < r.length; i++) {
461
461
  r[i]._handlerIndex = i;
462
462
  }
463
463
  }
@@ -93,7 +93,7 @@ class StripHandler {
93
93
  setRenderNode(renderNode) {
94
94
  this._renderer = renderNode.renderer;
95
95
  this._initProgram();
96
- for (var i = 0; i < this._strips.length; i++) {
96
+ for (let i = 0; i < this._strips.length; i++) {
97
97
  this._strips[i].setRenderNode(renderNode);
98
98
  }
99
99
  }
@@ -122,7 +122,7 @@ class StripHandler {
122
122
 
123
123
  reindexStripArray(startIndex) {
124
124
  var pc = this._strips;
125
- for (var i = startIndex; i < pc.length; i++) {
125
+ for (let i = startIndex; i < pc.length; i++) {
126
126
  pc[i]._handlerIndex = i;
127
127
  }
128
128
  }
@@ -84,10 +84,10 @@ class KeyboardHandler {
84
84
  this.handleKeyDown = function () {
85
85
  _anykeyCallback && _anykeyCallback.callback.call(_anykeyCallback.sender, _event);
86
86
  _currentlyPressedKeys[_event.keyCode] = true;
87
- for (var ch in _charkeysCallbacks) {
87
+ for (let ch in _charkeysCallbacks) {
88
88
  if (String.fromCharCode(_event.keyCode) == String.fromCharCode(ch)) {
89
89
  var ccl = _charkeysCallbacks[ch];
90
- for (var i = 0; i < ccl.length; i++) {
90
+ for (let i = 0; i < ccl.length; i++) {
91
91
  ccl[i].callback.call(ccl[i].sender, _event);
92
92
  }
93
93
  }
@@ -100,10 +100,10 @@ class KeyboardHandler {
100
100
 
101
101
  this.handleKeyUp = function () {
102
102
  if (_currentlyPressedKeys[_event.keyCode] || _event.keyCode === input.KEY_PRINTSCREEN) {
103
- for (var pk in _unpressedKeysCallbacks) {
103
+ for (let pk in _unpressedKeysCallbacks) {
104
104
  if (_currentlyPressedKeys[pk] || _event.keyCode === input.KEY_PRINTSCREEN && pk == input.KEY_PRINTSCREEN) {
105
105
  var cpk = _unpressedKeysCallbacks[pk];
106
- for (var i = 0; i < cpk.length; i++) {
106
+ for (let i = 0; i < cpk.length; i++) {
107
107
  cpk[i].callback.call(cpk[i].sender, _event);
108
108
  }
109
109
  }
@@ -113,10 +113,10 @@ class KeyboardHandler {
113
113
  };
114
114
 
115
115
  this.handleEvents = function () {
116
- for (var pk in _pressedKeysCallbacks) {
116
+ for (let pk in _pressedKeysCallbacks) {
117
117
  if (_currentlyPressedKeys[pk]) {
118
118
  var cpk = _pressedKeysCallbacks[pk];
119
- for (var i = 0; i < cpk.length; i++) {
119
+ for (let i = 0; i < cpk.length; i++) {
120
120
  cpk[i].callback.call(cpk[i].sender, _event);
121
121
  }
122
122
  }
@@ -146,7 +146,7 @@ class BaseGeoImage extends Layer {
146
146
  corners[3].clone()
147
147
  ] || [0, 0, 0, 0];
148
148
 
149
- for (var i = 0; i < this._cornersWgs84.length; i++) {
149
+ for (let i = 0; i < this._cornersWgs84.length; i++) {
150
150
  if (this._cornersWgs84[i].lat >= 89.9) {
151
151
  this._cornersWgs84[i].lat = 89.9;
152
152
  }
@@ -102,7 +102,7 @@ class CanvasTiles extends Layer {
102
102
  */
103
103
  abortLoading() {
104
104
  var q = this._pendingsQueue;
105
- for (var i = q._shiftIndex + 1; i < q._popIndex + 1; i++) {
105
+ for (let i = q._shiftIndex + 1; i < q._popIndex + 1; i++) {
106
106
  if (q._array[i]) {
107
107
  this.abortMaterialLoading(q._array[i]);
108
108
  }
@@ -22,7 +22,7 @@ import { Layer } from "./Layer.js";
22
22
  */
23
23
  function _entitiesConstructor(entities) {
24
24
  var res = [];
25
- for (var i = 0; i < entities.length; i++) {
25
+ for (let i = 0; i < entities.length; i++) {
26
26
  var ei = entities[i];
27
27
  if (ei.instanceName === "Entity") {
28
28
  res.push(ei);
@@ -447,7 +447,7 @@ class Vector extends Layer {
447
447
  */
448
448
  _reindexEntitiesArray(startIndex) {
449
449
  var e = this._entities;
450
- for (var i = startIndex; i < e.length; i++) {
450
+ for (let i = startIndex; i < e.length; i++) {
451
451
  e[i]._layerIndex = i;
452
452
  }
453
453
  }
@@ -81,6 +81,11 @@ export class Vec3 {
81
81
  return new Vec3(0, 0, 1);
82
82
  }
83
83
 
84
+ /** @const */
85
+ static get NORTH() {
86
+ return Vec3.UNIT_Z;
87
+ }
88
+
84
89
  /**
85
90
  * Separate 63 bit Vec3 to two Vec3 32 bit float values.
86
91
  * @function
package/src/og/math.js CHANGED
@@ -138,7 +138,7 @@ export function isPowerOfTwo(x) {
138
138
  */
139
139
  export function nextHighestPowerOfTwo(x, maxValue = 4096) {
140
140
  --x;
141
- for (var i = 1; i < 32; i <<= 1) {
141
+ for (let i = 1; i < 32; i <<= 1) {
142
142
  x = x | (x >> i);
143
143
  }
144
144
  return (x + 1) > maxValue ? maxValue : x + 1
@@ -362,7 +362,7 @@ export function negativePItoPI(a) {
362
362
  export function solve_iteration_fixed(f, x0, maxIter) {
363
363
  var x = 0;
364
364
  var x2 = x0;
365
- for (var i = 0; i < maxIter; i++) {
365
+ for (let i = 0; i < maxIter; i++) {
366
366
  x = x2;
367
367
  x2 = f(x);
368
368
  }
@@ -382,7 +382,7 @@ export function solve_iteration_fixed(f, x0, maxIter) {
382
382
  export function solve_iteration(f, x0, err, maxIter = 50) {
383
383
  var x = 0;
384
384
  var x2 = x0;
385
- for (var i = 0; i < maxIter; i++) {
385
+ for (let i = 0; i < maxIter; i++) {
386
386
  x = x2;
387
387
  x2 = f(x);
388
388
  if (Math.abs(x2 - x) < err) {
@@ -122,7 +122,7 @@ export function getTileY(lat, zoom) {
122
122
  */
123
123
  export function forwardArray(lonlatArr) {
124
124
  var res = [];
125
- for (var i = 0; i < lonlatArr.length; i++) {
125
+ for (let i = 0; i < lonlatArr.length; i++) {
126
126
  res.push(lonlatArr[i].forwardMercator());
127
127
  }
128
128
  return res;