@pirireis/webglobeplugins 0.9.11 → 0.9.12

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 (166) hide show
  1. package/Math/angle-calculation.js +8 -8
  2. package/Math/arc.js +18 -18
  3. package/Math/bounds/line-bbox.js +78 -80
  4. package/Math/constants.js +3 -3
  5. package/Math/juction/arc-plane.js +23 -23
  6. package/Math/juction/line-sphere.js +11 -11
  7. package/Math/juction/plane-plane.js +11 -11
  8. package/Math/line.js +14 -16
  9. package/Math/methods.js +65 -70
  10. package/Math/plane.js +16 -18
  11. package/Math/quaternion.js +45 -49
  12. package/Math/utils.js +2 -2
  13. package/Math/vec3.js +42 -45
  14. package/algorithms/search-binary.js +4 -4
  15. package/altitude-locator/draw-subset-obj.js +7 -8
  16. package/altitude-locator/plugin.js +98 -114
  17. package/arrowfield/adaptor.js +3 -4
  18. package/arrowfield/index.js +2 -2
  19. package/arrowfield/plugin.js +62 -65
  20. package/bearing-line/index.js +1 -1
  21. package/bearing-line/plugin.js +200 -226
  22. package/circle-line-chain/chain-list-map.js +82 -88
  23. package/circle-line-chain/plugin.js +134 -165
  24. package/circle-line-chain/util.js +1 -1
  25. package/compass-rose/compass-rose-padding-flat.js +108 -133
  26. package/compass-rose/compass-text-writer.js +62 -70
  27. package/compass-rose/index.js +2 -2
  28. package/compassrose/compassrose.js +46 -50
  29. package/compassrose/index.js +1 -1
  30. package/heatwave/index.js +2 -2
  31. package/heatwave/isobar/objectarraylabels.js +44 -48
  32. package/heatwave/isobar/plugin.js +104 -123
  33. package/heatwave/isobar/quadtreecontours.js +76 -92
  34. package/heatwave/plugins/heatwaveglobeshell.js +69 -87
  35. package/index.js +11 -11
  36. package/package.json +1 -1
  37. package/partialrings/buffer-manager.js +32 -64
  38. package/partialrings/index.js +1 -1
  39. package/partialrings/plugin.js +48 -84
  40. package/partialrings/program.js +136 -47
  41. package/pin/pin-object-array.js +83 -86
  42. package/pin/pin-point-totem.js +21 -22
  43. package/point-heat-map/adaptors/timetracksplugin-format-to-this.js +10 -10
  44. package/point-heat-map/plugin-webworker.js +40 -45
  45. package/point-heat-map/point-to-heat-map-flow.js +40 -42
  46. package/point-tracks/key-methods.js +1 -1
  47. package/point-tracks/plugin.js +137 -162
  48. package/programs/arrowfield/index.js +1 -1
  49. package/programs/arrowfield/logic.js +170 -62
  50. package/programs/arrowfield/object.js +33 -35
  51. package/programs/data2legend/density-to-legend.js +45 -21
  52. package/programs/data2legend/point-to-density-texture.js +52 -27
  53. package/programs/float2legendwithratio/index.js +1 -1
  54. package/programs/float2legendwithratio/logic.js +88 -42
  55. package/programs/float2legendwithratio/object.js +43 -46
  56. package/programs/globe-util/is-globe-moved.js +10 -11
  57. package/programs/globeshell/index.js +1 -1
  58. package/programs/globeshell/wiggle/index.js +1 -1
  59. package/programs/globeshell/wiggle/logic.js +191 -98
  60. package/programs/globeshell/wiggle/object.js +33 -35
  61. package/programs/helpers/blender/program.js +36 -19
  62. package/programs/helpers/fadeaway/index.js +1 -1
  63. package/programs/helpers/fadeaway/logic.js +35 -13
  64. package/programs/helpers/fadeaway/object.js +9 -10
  65. package/programs/helpers/index.js +1 -1
  66. package/programs/index.js +8 -8
  67. package/programs/line-on-globe/angled-line.js +91 -32
  68. package/programs/line-on-globe/circle-accurate-3d.js +82 -32
  69. package/programs/line-on-globe/circle-accurate-flat.js +108 -50
  70. package/programs/line-on-globe/circle-accurate.js +103 -33
  71. package/programs/line-on-globe/circle.js +97 -32
  72. package/programs/line-on-globe/degree-padding-around-circle-3d.js +83 -33
  73. package/programs/line-on-globe/lines-color-instanced-flat.js +79 -34
  74. package/programs/line-on-globe/linestrip.js +111 -45
  75. package/programs/line-on-globe/naive-accurate-flexible.js +120 -50
  76. package/programs/line-on-globe/to-the-surface.js +58 -29
  77. package/programs/line-on-globe/util.js +1 -1
  78. package/programs/picking/pickable-renderer.js +117 -33
  79. package/programs/point-on-globe/element-globe-surface-glow.js +78 -38
  80. package/programs/point-on-globe/element-point-glow.js +103 -35
  81. package/programs/point-on-globe/square-pixel-point.js +76 -27
  82. package/programs/programcache.js +13 -13
  83. package/programs/rings/distancering/circleflatprogram.js +63 -21
  84. package/programs/rings/distancering/circlepaddingfreeangleprogram.js +156 -145
  85. package/programs/rings/distancering/circlepaddysharedbuffer.js +121 -197
  86. package/programs/rings/distancering/index.js +4 -4
  87. package/programs/rings/distancering/paddyflatprogram.js +73 -20
  88. package/programs/rings/distancering/paddyflatprogram2d.js +75 -22
  89. package/programs/rings/distancering/paddyflatprogram3d.js +73 -20
  90. package/programs/rings/partial-ring/piece-of-pie.js +137 -35
  91. package/programs/totems/camerauniformblock.js +64 -51
  92. package/programs/totems/canvas-webglobe-info.js +48 -40
  93. package/programs/totems/gpu-selection-uniform-block.js +44 -40
  94. package/programs/totems/index.js +1 -1
  95. package/programs/two-d/pixel-padding-for-compass.js +90 -29
  96. package/programs/util.js +6 -7
  97. package/programs/vectorfields/index.js +1 -1
  98. package/programs/vectorfields/logics/drawrectangleparticles.js +70 -29
  99. package/programs/vectorfields/logics/index.js +3 -3
  100. package/programs/vectorfields/logics/pixelbased.js +91 -35
  101. package/programs/vectorfields/logics/ubo.js +31 -25
  102. package/programs/vectorfields/pingpongbuffermanager.js +30 -34
  103. package/rangerings/index.js +4 -4
  104. package/rangerings/plugin.js +202 -258
  105. package/rangerings/rangeringangletext.js +108 -120
  106. package/rangerings/ring-account.js +52 -69
  107. package/shaders/fragment-toy/firework.js +55 -1
  108. package/shaders/fragment-toy/singularity.js +55 -1
  109. package/timetracks/adaptors-line-strip.js +26 -37
  110. package/timetracks/adaptors.js +47 -61
  111. package/timetracks/index.js +4 -4
  112. package/timetracks/plugin-line-strip.js +63 -71
  113. package/timetracks/plugin.js +69 -77
  114. package/timetracks/program-line-strip.js +296 -103
  115. package/timetracks/program.js +419 -113
  116. package/timetracks/programpoint-line-strip.js +97 -44
  117. package/timetracks/programpoint.js +90 -44
  118. package/util/account/bufferoffsetmanager.js +72 -95
  119. package/util/account/index.js +1 -1
  120. package/util/account/single-attribute-buffer-management/buffer-manager.js +44 -44
  121. package/util/account/single-attribute-buffer-management/buffer-orchestrator.js +68 -94
  122. package/util/account/single-attribute-buffer-management/index.js +3 -3
  123. package/util/account/single-attribute-buffer-management/object-store.js +29 -30
  124. package/util/account/util.js +2 -4
  125. package/util/algorithms/search-binary.js +4 -4
  126. package/util/check/get.js +5 -5
  127. package/util/check/typecheck.js +13 -15
  128. package/util/geometry/index.js +9 -11
  129. package/util/gl-util/buffer/attribute-loader.js +8 -20
  130. package/util/gl-util/buffer/index.js +1 -1
  131. package/util/gl-util/draw-options/methods.js +8 -9
  132. package/util/gl-util/uniform-block/manager.js +67 -67
  133. package/util/heatwavedatamanager/datamanager.js +56 -116
  134. package/util/heatwavedatamanager/index.js +2 -2
  135. package/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +37 -40
  136. package/util/heatwavedatamanager/pointcoordsmeta.js +9 -10
  137. package/util/index.js +6 -6
  138. package/util/interpolation/timetrack/index.js +1 -1
  139. package/util/interpolation/timetrack/timetrack-interpolator.js +27 -29
  140. package/util/interpolation/timetrack/web-worker-str.js +179 -1
  141. package/util/interpolation/timetrack/web-worker.js +4 -4
  142. package/util/jshelpers/data-filler.js +7 -7
  143. package/util/jshelpers/timefilters.js +7 -7
  144. package/util/picking/fence.js +7 -7
  145. package/util/picking/picker-displayer.js +46 -52
  146. package/util/programs/draw-texture-on-canvas.js +39 -21
  147. package/util/programs/shapesonglobe.js +104 -64
  148. package/util/programs/supersampletotextures.js +45 -39
  149. package/util/programs/texturetoglobe.js +98 -48
  150. package/util/shaderfunctions/geometrytransformations.js +322 -27
  151. package/util/shaderfunctions/nodata.js +7 -1
  152. package/util/shaderfunctions/noisefunctions.js +39 -9
  153. package/util/surface-line-data/arcs-to-cuts.js +20 -23
  154. package/util/webglobe/rasteroverlay.js +35 -37
  155. package/util/webglobjectbuilders.js +55 -60
  156. package/util/webglobjectbuilders1.js +48 -49
  157. package/waveparticles/adaptor.js +6 -7
  158. package/waveparticles/index.js +2 -2
  159. package/waveparticles/plugin.js +79 -84
  160. package/wind/imagetovectorfieldandmagnitude.js +15 -15
  161. package/wind/index.js +4 -4
  162. package/wind/plugin.js +453 -251
  163. package/wind/vectorfieldimage.js +5 -5
  164. package/write-text/attached-text-writer.js +46 -48
  165. package/write-text/context-text.js +51 -58
  166. package/write-text/context-text3.js +69 -74
@@ -1,16 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CameraUniformBlockTotemCache = exports.CameraUniformBlockString = void 0;
4
- var programcache_1 = require("../programcache");
4
+ const programcache_1 = require("../programcache");
5
5
  // import { getFrustumPlanes } from "../../Math/frustum/from-projection-matrix";
6
6
  // import { getFrustum } from "../../Math/frustum/from-globeinfo"
7
7
  // import { Plane } from "../../Math/";
8
- exports.CameraUniformBlockString = "\nlayout(std140) uniform CameraUniformBlock {\n mat4 view; // 64 bytes 0\n mat4 projection; // 64 bytes 64\n vec3 translate; // 12 bytes 128\n bool is3D; // 4 bytes 140\n vec2 mapWH; // 8 bytes 144\n vec2 screenWH; // 8 bytes 152\n float z_level; // 4 bytes 160 | 164\n float world_distance; // 4 bytes 164\n float world_tilt; // 4 bytes 168\n float world_north_angle; // 4 bytes 172\n vec2 world_center_radian; // 8 bytes 176 | 184\n}; // 14 lines\n";
9
- var Radian = Math.PI / 180.0;
10
- var CameraUniformBlockTotem = /** @class */ (function () {
11
- function CameraUniformBlockTotem() {
8
+ exports.CameraUniformBlockString = `
9
+ layout(std140) uniform CameraUniformBlock {
10
+ mat4 view; // 64 bytes 0
11
+ mat4 projection; // 64 bytes 64
12
+ vec3 translate; // 12 bytes 128
13
+ bool is3D; // 4 bytes 140
14
+ vec2 mapWH; // 8 bytes 144
15
+ vec2 screenWH; // 8 bytes 152
16
+ float z_level; // 4 bytes 160 | 164
17
+ float world_distance; // 4 bytes 164
18
+ float world_tilt; // 4 bytes 168
19
+ float world_north_angle; // 4 bytes 172
20
+ vec2 world_center_radian; // 8 bytes 176 | 184
21
+ }; // 14 lines
22
+ `;
23
+ const Radian = Math.PI / 180.0;
24
+ class CameraUniformBlockTotem {
25
+ constructor() {
12
26
  this.id = "CameraUniformBlockTotem";
13
- this.description = "Sets a uniform block and provides buffer for it. The following is the glsl uniform block:" + exports.CameraUniformBlockString;
27
+ this.description = `Sets a uniform block and provides buffer for it. The following is the glsl uniform block:` + exports.CameraUniformBlockString;
14
28
  this.gl = null;
15
29
  this.globe = null;
16
30
  this.ubo = null;
@@ -27,7 +41,7 @@ var CameraUniformBlockTotem = /** @class */ (function () {
27
41
  isMoved: false,
28
42
  };
29
43
  }
30
- CameraUniformBlockTotem.prototype.init = function (globe, gl) {
44
+ init(globe, gl) {
31
45
  this.gl = gl;
32
46
  this.globe = globe;
33
47
  this.ubo = this._createUBO();
@@ -35,31 +49,31 @@ var CameraUniformBlockTotem = /** @class */ (function () {
35
49
  this.mapWHFloat32 = new Float32Array(2);
36
50
  this.setGeometry();
37
51
  this.resize();
38
- };
39
- CameraUniformBlockTotem.prototype._createUBO = function () {
40
- var gl = this.gl;
41
- var ubo = gl.createBuffer();
52
+ }
53
+ _createUBO() {
54
+ const { gl } = this;
55
+ const ubo = gl.createBuffer();
42
56
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
43
57
  // 184 bytes in reality. Overflow on linux for some reason. So, 200 bytes.
44
58
  gl.bufferData(gl.UNIFORM_BUFFER, 200, gl.STREAM_DRAW);
45
59
  gl.bindBufferBase(gl.UNIFORM_BUFFER, 0, ubo);
46
60
  gl.bindBuffer(gl.UNIFORM_BUFFER, null);
47
61
  return ubo;
48
- };
49
- CameraUniformBlockTotem.prototype.resize = function () {
50
- var _a = this, gl = _a.gl, globe = _a.globe, ubo = _a.ubo;
62
+ }
63
+ resize() {
64
+ const { gl, globe, ubo } = this;
51
65
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
52
66
  gl.bufferSubData(gl.UNIFORM_BUFFER, 152, new Float32Array([globe.api_ScrW(), globe.api_ScrH()]));
53
67
  gl.bindBuffer(gl.UNIFORM_BUFFER, null);
54
- };
55
- CameraUniformBlockTotem.prototype.setGeometry = function () {
56
- var _a = this, gl = _a.gl, globe = _a.globe, ubo = _a.ubo;
57
- var is3D = globe.api_GetCurrentGeometry() === 0;
68
+ }
69
+ setGeometry() {
70
+ const { gl, globe, ubo } = this;
71
+ const is3D = globe.api_GetCurrentGeometry() === 0;
58
72
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
59
73
  gl.bufferSubData(gl.UNIFORM_BUFFER, 140, new Float32Array([is3D]));
60
- };
61
- CameraUniformBlockTotem.prototype.draw3D = function (projection, modelView, translate) {
62
- var _a = this, gl = _a.gl, traslateFloat32 = _a.traslateFloat32, ubo = _a.ubo, mapWHFloat32 = _a.mapWHFloat32, globe = _a.globe;
74
+ }
75
+ draw3D(projection, modelView, translate) {
76
+ const { gl, traslateFloat32, ubo, mapWHFloat32, globe } = this;
63
77
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
64
78
  { // view, projection, translat
65
79
  gl.bufferSubData(gl.UNIFORM_BUFFER, 0, modelView);
@@ -73,7 +87,7 @@ var CameraUniformBlockTotem = /** @class */ (function () {
73
87
  }
74
88
  { // mapWH
75
89
  if (globe.api_GetCurrentGeometry() === 1) {
76
- var _b = globe.api_GetCurrentWorldWH(), width = _b.width, height = _b.height;
90
+ const { width, height } = globe.api_GetCurrentWorldWH();
77
91
  mapWHFloat32.set([width, height]);
78
92
  gl.bufferSubData(gl.UNIFORM_BUFFER, 144, mapWHFloat32);
79
93
  }
@@ -83,7 +97,7 @@ var CameraUniformBlockTotem = /** @class */ (function () {
83
97
  // float world_tilt; // 4 bytes 168
84
98
  // float world_north_angle; // 4 bytes 172
85
99
  // vec2 world_center_radian; // 8 bytes 180
86
- var _c = globe.api_GetCurrentLookInfo(), CenterLong = _c.CenterLong, CenterLat = _c.CenterLat, Distance = _c.Distance, Tilt = _c.Tilt, NorthAng = _c.NorthAng;
100
+ const { CenterLong, CenterLat, Distance, Tilt, NorthAng } = globe.api_GetCurrentLookInfo();
87
101
  gl.bufferSubData(gl.UNIFORM_BUFFER, 164, new Float32Array([
88
102
  Distance, Radian * Tilt, Radian * NorthAng, Radian * CenterLong, Radian * CenterLat
89
103
  ]));
@@ -91,40 +105,40 @@ var CameraUniformBlockTotem = /** @class */ (function () {
91
105
  // this._frustumPlanes = getFrustumPlanes(projection, translate);
92
106
  gl.bindBuffer(gl.UNIFORM_BUFFER, null);
93
107
  { // isMoved
94
- var currentLOD = globe.api_GetCurrentLODWithDecimal();
108
+ const currentLOD = globe.api_GetCurrentLODWithDecimal();
95
109
  this._isMovedParams.isMoved = this._isMovedParams.lastLod !== currentLOD || globe.api_IsScreenMoving();
96
110
  this._isMovedParams.lastLod = currentLOD;
97
111
  }
98
112
  // getFrustum(globe, 50, this._frustumPlanes);
99
- };
100
- CameraUniformBlockTotem.prototype.assignBindingPoint = function (program, bindingPoint) {
101
- var gl = this.gl;
102
- var cameraBlockIndex = gl.getUniformBlockIndex(program, "CameraUniformBlock");
113
+ }
114
+ assignBindingPoint(program, bindingPoint) {
115
+ const { gl } = this;
116
+ const cameraBlockIndex = gl.getUniformBlockIndex(program, "CameraUniformBlock");
103
117
  gl.uniformBlockBinding(program, cameraBlockIndex, bindingPoint);
104
- };
105
- CameraUniformBlockTotem.prototype.getUBO = function () {
118
+ }
119
+ getUBO() {
106
120
  return this.ubo;
107
- };
108
- CameraUniformBlockTotem.prototype.getFrustumPlanes = function () {
121
+ }
122
+ getFrustumPlanes() {
109
123
  return this._frustumPlanes;
110
- };
111
- CameraUniformBlockTotem.prototype.bind = function (bindingPoint) {
112
- var _a = this, gl = _a.gl, ubo = _a.ubo;
124
+ }
125
+ bind(bindingPoint) {
126
+ const { gl, ubo } = this;
113
127
  gl.bindBufferBase(gl.UNIFORM_BUFFER, bindingPoint, ubo);
114
- };
115
- CameraUniformBlockTotem.prototype.unbind = function (bindingPoint) {
116
- var gl = this.gl;
128
+ }
129
+ unbind(bindingPoint) {
130
+ const { gl } = this;
117
131
  gl.bindBufferBase(gl.UNIFORM_BUFFER, bindingPoint, null);
118
- };
119
- CameraUniformBlockTotem.prototype.isMoved = function () {
132
+ }
133
+ isMoved() {
120
134
  return this._isMovedParams.isMoved;
121
- };
122
- CameraUniformBlockTotem.prototype.free = function () {
123
- var _a = this, gl = _a.gl, ubo = _a.ubo;
135
+ }
136
+ free() {
137
+ const { gl, ubo } = this;
124
138
  gl.deleteBuffer(ubo);
125
- };
126
- CameraUniformBlockTotem.prototype.readBuffer = function () {
127
- var result = new Float32Array(41);
139
+ }
140
+ readBuffer() {
141
+ const result = new Float32Array(41);
128
142
  this.gl.bindBuffer(this.gl.UNIFORM_BUFFER, this.ubo);
129
143
  this.gl.getBufferSubData(this.gl.UNIFORM_BUFFER, 0, result);
130
144
  this.gl.bindBuffer(this.gl.UNIFORM_BUFFER, null);
@@ -137,11 +151,10 @@ var CameraUniformBlockTotem = /** @class */ (function () {
137
151
  screenWH: result.slice(38, 40),
138
152
  z_level: result[40]
139
153
  };
140
- };
141
- return CameraUniformBlockTotem;
142
- }());
154
+ }
155
+ }
143
156
  exports.default = CameraUniformBlockTotem;
144
157
  exports.CameraUniformBlockTotemCache = Object.freeze({
145
- get: function (globe) { return programcache_1.globeProgramCache.getProgram(globe, CameraUniformBlockTotem); },
146
- release: function (globe) { return programcache_1.globeProgramCache.releaseProgram(globe, CameraUniformBlockTotem); }
158
+ get: (globe) => { return programcache_1.globeProgramCache.getProgram(globe, CameraUniformBlockTotem); },
159
+ release: (globe) => { return programcache_1.globeProgramCache.releaseProgram(globe, CameraUniformBlockTotem); }
147
160
  });
@@ -1,17 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CameraUniformBlockTotemCache = exports.WebglobeInfoUniformBlockString = void 0;
4
- var programcache_1 = require("../programcache");
5
- exports.WebglobeInfoUniformBlockString = "\nlayout(std140) uniform WebglobeInfo {\n vec2 canvas_resolution;\n vec2 mouse_radian_long_lat;\n vec2 mouse_pixel_xy;\n float north_angle;\n float world_tilt;\n float earth_distance;\n}; \n";
6
- var CameraUniformBlockTotem = /** @class */ (function () {
7
- function CameraUniformBlockTotem() {
4
+ const programcache_1 = require("../programcache");
5
+ exports.WebglobeInfoUniformBlockString = `
6
+ layout(std140) uniform WebglobeInfo {
7
+ vec2 canvas_resolution;
8
+ vec2 mouse_radian_long_lat;
9
+ vec2 mouse_pixel_xy;
10
+ float north_angle;
11
+ float world_tilt;
12
+ float earth_distance;
13
+ };
14
+ `;
15
+ class CameraUniformBlockTotem {
16
+ constructor() {
8
17
  this.id = "CameraUniformBlockTotem";
9
- this.description = "Sets a uniform block and provides buffer for it. The following is the glsl uniform block:" + CameraUniformBlockString;
18
+ this.description = `Sets a uniform block and provides buffer for it. The following is the glsl uniform block:` + CameraUniformBlockString;
10
19
  this.gl = null;
11
20
  this.globe = null;
12
21
  this.ubo = null;
13
22
  }
14
- CameraUniformBlockTotem.prototype.init = function (globe, gl) {
23
+ init(globe, gl) {
15
24
  this.gl = gl;
16
25
  this.globe = globe;
17
26
  this.ubo = this._createUBO();
@@ -19,30 +28,30 @@ var CameraUniformBlockTotem = /** @class */ (function () {
19
28
  this.mapWHFloat32 = new Float32Array(2);
20
29
  this.setGeometry();
21
30
  this.resize();
22
- };
23
- CameraUniformBlockTotem.prototype._createUBO = function () {
24
- var gl = this.gl;
25
- var ubo = gl.createBuffer();
31
+ }
32
+ _createUBO() {
33
+ const { gl } = this;
34
+ const ubo = gl.createBuffer();
26
35
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
27
36
  gl.bufferData(gl.UNIFORM_BUFFER, 164, gl.STREAM_DRAW);
28
37
  gl.bindBufferBase(gl.UNIFORM_BUFFER, 0, ubo);
29
38
  gl.bindBuffer(gl.UNIFORM_BUFFER, null);
30
39
  return ubo;
31
- };
32
- CameraUniformBlockTotem.prototype.resize = function () {
33
- var _a = this, gl = _a.gl, globe = _a.globe, ubo = _a.ubo;
40
+ }
41
+ resize() {
42
+ const { gl, globe, ubo } = this;
34
43
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
35
44
  gl.bufferSubData(gl.UNIFORM_BUFFER, 152, new Float32Array([globe.api_ScrW(), globe.api_ScrH()]));
36
45
  gl.bindBuffer(gl.UNIFORM_BUFFER, null);
37
- };
38
- CameraUniformBlockTotem.prototype.setGeometry = function () {
39
- var _a = this, gl = _a.gl, globe = _a.globe, ubo = _a.ubo;
40
- var is3D = globe.api_GetCurrentGeometry() === 0;
46
+ }
47
+ setGeometry() {
48
+ const { gl, globe, ubo } = this;
49
+ const is3D = globe.api_GetCurrentGeometry() === 0;
41
50
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
42
51
  gl.bufferSubData(gl.UNIFORM_BUFFER, 140, new Float32Array([is3D]));
43
- };
44
- CameraUniformBlockTotem.prototype.draw3D = function (projection, modelView, translate) {
45
- var _a = this, gl = _a.gl, traslateFloat32 = _a.traslateFloat32, ubo = _a.ubo, mapWHFloat32 = _a.mapWHFloat32, globe = _a.globe;
52
+ }
53
+ draw3D(projection, modelView, translate) {
54
+ const { gl, traslateFloat32, ubo, mapWHFloat32, globe } = this;
46
55
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
47
56
  { // view, projection, translate
48
57
  gl.bufferSubData(gl.UNIFORM_BUFFER, 0, modelView);
@@ -56,30 +65,30 @@ var CameraUniformBlockTotem = /** @class */ (function () {
56
65
  }
57
66
  { // mapWH
58
67
  if (globe.api_GetCurrentGeometry() === 1) {
59
- var _b = globe.api_GetCurrentWorldWH(), width = _b.width, height = _b.height;
68
+ const { width, height } = globe.api_GetCurrentWorldWH();
60
69
  mapWHFloat32.set([width, height]);
61
70
  gl.bufferSubData(gl.UNIFORM_BUFFER, 144, mapWHFloat32);
62
71
  }
63
72
  }
64
73
  gl.bindBuffer(gl.UNIFORM_BUFFER, null);
65
- };
66
- CameraUniformBlockTotem.prototype.getUBO = function () {
74
+ }
75
+ getUBO() {
67
76
  return this.ubo;
68
- };
69
- CameraUniformBlockTotem.prototype.bind = function (bindingPoint) {
70
- var _a = this, gl = _a.gl, ubo = _a.ubo;
77
+ }
78
+ bind(bindingPoint) {
79
+ const { gl, ubo } = this;
71
80
  gl.bindBufferBase(gl.UNIFORM_BUFFER, bindingPoint, ubo);
72
- };
73
- CameraUniformBlockTotem.prototype.unbind = function (bindingPoint) {
74
- var gl = this.gl;
81
+ }
82
+ unbind(bindingPoint) {
83
+ const { gl } = this;
75
84
  gl.bindBufferBase(gl.UNIFORM_BUFFER, bindingPoint, null);
76
- };
77
- CameraUniformBlockTotem.prototype.free = function () {
78
- var _a = this, gl = _a.gl, ubo = _a.ubo;
85
+ }
86
+ free() {
87
+ const { gl, ubo } = this;
79
88
  gl.deleteBuffer(ubo);
80
- };
81
- CameraUniformBlockTotem.prototype.readBuffer = function () {
82
- var result = new Float32Array(41);
89
+ }
90
+ readBuffer() {
91
+ const result = new Float32Array(41);
83
92
  this.gl.bindBuffer(this.gl.UNIFORM_BUFFER, this.ubo);
84
93
  this.gl.getBufferSubData(this.gl.UNIFORM_BUFFER, 0, result);
85
94
  this.gl.bindBuffer(this.gl.UNIFORM_BUFFER, null);
@@ -92,11 +101,10 @@ var CameraUniformBlockTotem = /** @class */ (function () {
92
101
  screenWH: result.slice(38, 40),
93
102
  z_level: result[40]
94
103
  };
95
- };
96
- return CameraUniformBlockTotem;
97
- }());
104
+ }
105
+ }
98
106
  exports.default = CameraUniformBlockTotem;
99
107
  exports.CameraUniformBlockTotemCache = Object.freeze({
100
- get: function (globe) { return programcache_1.globeProgramCache.getProgram(globe, CameraUniformBlockTotem); },
101
- release: function (globe) { return programcache_1.globeProgramCache.releaseProgram(globe, CameraUniformBlockTotem); }
108
+ get: (globe) => { return programcache_1.globeProgramCache.getProgram(globe, CameraUniformBlockTotem); },
109
+ release: (globe) => { return programcache_1.globeProgramCache.releaseProgram(globe, CameraUniformBlockTotem); }
102
110
  });
@@ -1,19 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CameraUniformBlockTotemCache = exports.CameraUniformBlockString = void 0;
4
- var programcache_1 = require("../programcache");
4
+ const programcache_1 = require("../programcache");
5
5
  // Loads mouse position to buffer
6
6
  // TODO implement it
7
- exports.CameraUniformBlockString = "\nlayout(std140) uniform GpuSelectionUniformBlock {\n vec2 mouse_pixel_position;\n vec2 mouse_radian_long_lat;\n}; // 11 lines\n";
8
- var CameraUniformBlockTotem = /** @class */ (function () {
9
- function CameraUniformBlockTotem() {
7
+ exports.CameraUniformBlockString = `
8
+ layout(std140) uniform GpuSelectionUniformBlock {
9
+ vec2 mouse_pixel_position;
10
+ vec2 mouse_radian_long_lat;
11
+ }; // 11 lines
12
+ `;
13
+ class CameraUniformBlockTotem {
14
+ constructor() {
10
15
  this.id = "CameraUniformBlockTotem";
11
- this.description = "Sets a uniform block and provides buffer for it. The following is the glsl uniform block:" + exports.CameraUniformBlockString;
16
+ this.description = `Sets a uniform block and provides buffer for it. The following is the glsl uniform block:` + exports.CameraUniformBlockString;
12
17
  this.gl = null;
13
18
  this.globe = null;
14
19
  this.ubo = null;
15
20
  }
16
- CameraUniformBlockTotem.prototype.init = function (globe, gl) {
21
+ init(globe, gl) {
17
22
  this.gl = gl;
18
23
  this.globe = globe;
19
24
  this.ubo = this._createUBO();
@@ -21,30 +26,30 @@ var CameraUniformBlockTotem = /** @class */ (function () {
21
26
  this.mapWHFloat32 = new Float32Array(2);
22
27
  this.setGeometry();
23
28
  this.resize();
24
- };
25
- CameraUniformBlockTotem.prototype._createUBO = function () {
26
- var gl = this.gl;
27
- var ubo = gl.createBuffer();
29
+ }
30
+ _createUBO() {
31
+ const { gl } = this;
32
+ const ubo = gl.createBuffer();
28
33
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
29
34
  gl.bufferData(gl.UNIFORM_BUFFER, 164, gl.STREAM_DRAW);
30
35
  gl.bindBufferBase(gl.UNIFORM_BUFFER, 0, ubo);
31
36
  gl.bindBuffer(gl.UNIFORM_BUFFER, null);
32
37
  return ubo;
33
- };
34
- CameraUniformBlockTotem.prototype.resize = function () {
35
- var _a = this, gl = _a.gl, globe = _a.globe, ubo = _a.ubo;
38
+ }
39
+ resize() {
40
+ const { gl, globe, ubo } = this;
36
41
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
37
42
  gl.bufferSubData(gl.UNIFORM_BUFFER, 152, new Float32Array([globe.api_ScrW(), globe.api_ScrH()]));
38
43
  gl.bindBuffer(gl.UNIFORM_BUFFER, null);
39
- };
40
- CameraUniformBlockTotem.prototype.setGeometry = function () {
41
- var _a = this, gl = _a.gl, globe = _a.globe, ubo = _a.ubo;
42
- var is3D = globe.api_GetCurrentGeometry() === 0;
44
+ }
45
+ setGeometry() {
46
+ const { gl, globe, ubo } = this;
47
+ const is3D = globe.api_GetCurrentGeometry() === 0;
43
48
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
44
49
  gl.bufferSubData(gl.UNIFORM_BUFFER, 140, new Float32Array([is3D]));
45
- };
46
- CameraUniformBlockTotem.prototype.draw3D = function (projection, modelView, translate) {
47
- var _a = this, gl = _a.gl, traslateFloat32 = _a.traslateFloat32, ubo = _a.ubo, mapWHFloat32 = _a.mapWHFloat32, globe = _a.globe;
50
+ }
51
+ draw3D(projection, modelView, translate) {
52
+ const { gl, traslateFloat32, ubo, mapWHFloat32, globe } = this;
48
53
  gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
49
54
  { // view, projection, translate
50
55
  gl.bufferSubData(gl.UNIFORM_BUFFER, 0, modelView);
@@ -58,30 +63,30 @@ var CameraUniformBlockTotem = /** @class */ (function () {
58
63
  }
59
64
  { // mapWH
60
65
  if (globe.api_GetCurrentGeometry() === 1) {
61
- var _b = globe.api_GetCurrentWorldWH(), width = _b.width, height = _b.height;
66
+ const { width, height } = globe.api_GetCurrentWorldWH();
62
67
  mapWHFloat32.set([width, height]);
63
68
  gl.bufferSubData(gl.UNIFORM_BUFFER, 144, mapWHFloat32);
64
69
  }
65
70
  }
66
71
  gl.bindBuffer(gl.UNIFORM_BUFFER, null);
67
- };
68
- CameraUniformBlockTotem.prototype.getUBO = function () {
72
+ }
73
+ getUBO() {
69
74
  return this.ubo;
70
- };
71
- CameraUniformBlockTotem.prototype.bind = function (bindingPoint) {
72
- var _a = this, gl = _a.gl, ubo = _a.ubo;
75
+ }
76
+ bind(bindingPoint) {
77
+ const { gl, ubo } = this;
73
78
  gl.bindBufferBase(gl.UNIFORM_BUFFER, bindingPoint, ubo);
74
- };
75
- CameraUniformBlockTotem.prototype.unbind = function (bindingPoint) {
76
- var gl = this.gl;
79
+ }
80
+ unbind(bindingPoint) {
81
+ const { gl } = this;
77
82
  gl.bindBufferBase(gl.UNIFORM_BUFFER, bindingPoint, null);
78
- };
79
- CameraUniformBlockTotem.prototype.free = function () {
80
- var _a = this, gl = _a.gl, ubo = _a.ubo;
83
+ }
84
+ free() {
85
+ const { gl, ubo } = this;
81
86
  gl.deleteBuffer(ubo);
82
- };
83
- CameraUniformBlockTotem.prototype.readBuffer = function () {
84
- var result = new Float32Array(41);
87
+ }
88
+ readBuffer() {
89
+ const result = new Float32Array(41);
85
90
  this.gl.bindBuffer(this.gl.UNIFORM_BUFFER, this.ubo);
86
91
  this.gl.getBufferSubData(this.gl.UNIFORM_BUFFER, 0, result);
87
92
  this.gl.bindBuffer(this.gl.UNIFORM_BUFFER, null);
@@ -94,11 +99,10 @@ var CameraUniformBlockTotem = /** @class */ (function () {
94
99
  screenWH: result.slice(38, 40),
95
100
  z_level: result[40]
96
101
  };
97
- };
98
- return CameraUniformBlockTotem;
99
- }());
102
+ }
103
+ }
100
104
  exports.default = CameraUniformBlockTotem;
101
105
  exports.CameraUniformBlockTotemCache = Object.freeze({
102
- get: function (globe) { return programcache_1.globeProgramCache.getProgram(globe, CameraUniformBlockTotem); },
103
- release: function (globe) { return programcache_1.globeProgramCache.releaseProgram(globe, CameraUniformBlockTotem); }
106
+ get: (globe) => { return programcache_1.globeProgramCache.getProgram(globe, CameraUniformBlockTotem); },
107
+ release: (globe) => { return programcache_1.globeProgramCache.releaseProgram(globe, CameraUniformBlockTotem); }
104
108
  });
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.CameraUniformBlockTotemCache = exports.CameraUniformBlockString = exports.CameraUniformBlockTotem = void 0;
37
- var camerauniformblock_1 = __importStar(require("./camerauniformblock"));
37
+ const camerauniformblock_1 = __importStar(require("./camerauniformblock"));
38
38
  exports.CameraUniformBlockTotem = camerauniformblock_1.default;
39
39
  Object.defineProperty(exports, "CameraUniformBlockString", { enumerable: true, get: function () { return camerauniformblock_1.CameraUniformBlockString; } });
40
40
  Object.defineProperty(exports, "CameraUniformBlockTotemCache", { enumerable: true, get: function () { return camerauniformblock_1.CameraUniformBlockTotemCache; } });