@pirireis/webglobeplugins 0.9.10 → 0.9.11

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