@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,33 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const util_1 = require("../../../util");
4
- const vertexShaderSource = `#version 300 es
5
- precision highp float;
6
- in vec2 a_position;
7
- out vec2 v_texCoord;
8
- void main() {
9
- gl_Position = vec4(a_position, 0.0, 1.0);
10
- v_texCoord = a_position * 0.5 + vec2(0.5);
11
- }
12
- `;
13
- const fragmentShaderSource = `#version 300 es
14
- precision highp float;
15
- uniform float opacity;
16
- uniform sampler2D u_texture;
17
- in vec2 v_texCoord;
18
- out vec4 outColor;
19
- void main() {
20
-
21
- vec4 color = texture(u_texture, v_texCoord);
22
- if (color.a <= 0.2) {
23
- outColor = vec4(0.0);
24
- return;
25
- }
26
- outColor = vec4(color.rgb, color.a * opacity);
27
- }
28
- `;
29
- class FadeAwayProgram {
30
- constructor(gl) {
3
+ var util_1 = require("../../../util");
4
+ var vertexShaderSource = "#version 300 es\nprecision highp float; \nin vec2 a_position;\nout vec2 v_texCoord; \nvoid main() {\n gl_Position = vec4(a_position, 0.0, 1.0);\n v_texCoord = a_position * 0.5 + vec2(0.5);\n}\n";
5
+ var fragmentShaderSource = "#version 300 es\nprecision highp float;\nuniform float opacity;\nuniform sampler2D u_texture;\nin vec2 v_texCoord;\nout vec4 outColor;\nvoid main() {\n\n vec4 color = texture(u_texture, v_texCoord);\n if (color.a <= 0.2) {\n outColor = vec4(0.0);\n return;\n }\n outColor = vec4(color.rgb, color.a * opacity);\n}\n";
6
+ var FadeAwayProgram = /** @class */ (function () {
7
+ function FadeAwayProgram(gl) {
31
8
  this.gl = gl;
32
9
  this.program = (0, util_1.createProgram)(gl, vertexShaderSource, fragmentShaderSource);
33
10
  this.vao = gl.createVertexArray();
@@ -51,8 +28,8 @@ class FadeAwayProgram {
51
28
  opacity: gl.getUniformLocation(this.program, 'opacity')
52
29
  };
53
30
  }
54
- draw(texture, opacity) {
55
- const { gl, vao, uniforms, program } = this;
31
+ FadeAwayProgram.prototype.draw = function (texture, opacity) {
32
+ var _a = this, gl = _a.gl, vao = _a.vao, uniforms = _a.uniforms, program = _a.program;
56
33
  gl.useProgram(program);
57
34
  gl.bindVertexArray(vao);
58
35
  gl.uniform1f(uniforms.opacity, opacity);
@@ -61,12 +38,13 @@ class FadeAwayProgram {
61
38
  gl.bindTexture(gl.TEXTURE_2D, texture);
62
39
  gl.drawArrays(gl.TRIANGLES, 0, 6);
63
40
  gl.bindVertexArray(null);
64
- }
65
- free() {
66
- const { gl, vao, _buffer, program } = this;
41
+ };
42
+ FadeAwayProgram.prototype.free = function () {
43
+ var _a = this, gl = _a.gl, vao = _a.vao, _buffer = _a._buffer, program = _a.program;
67
44
  gl.deleteVertexArray(vao);
68
45
  gl.deleteProgram(program);
69
46
  gl.deleteBuffer(_buffer);
70
- }
71
- }
47
+ };
48
+ return FadeAwayProgram;
49
+ }());
72
50
  exports.default = FadeAwayProgram;
@@ -3,18 +3,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const programcache_1 = require("../../programcache");
7
- const logic_1 = __importDefault(require("./logic"));
8
- class FadeAway {
9
- constructor(gl) {
6
+ var programcache_1 = require("../../programcache");
7
+ var logic_1 = __importDefault(require("./logic"));
8
+ var FadeAway = /** @class */ (function () {
9
+ function FadeAway(gl) {
10
10
  this.gl = gl;
11
11
  this.program = programcache_1.glProgramCache.getProgram(gl, logic_1.default);
12
12
  }
13
- draw(sourceTexture, opacity) {
13
+ FadeAway.prototype.draw = function (sourceTexture, opacity) {
14
14
  this.program.draw(sourceTexture, opacity);
15
- }
16
- free() {
15
+ };
16
+ FadeAway.prototype.free = function () {
17
17
  programcache_1.glProgramCache.releaseProgram(logic_1.default);
18
- }
19
- }
18
+ };
19
+ return FadeAway;
20
+ }());
20
21
  exports.default = FadeAway;
@@ -4,5 +4,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FadeAway = void 0;
7
- const fadeaway_1 = __importDefault(require("./fadeaway"));
7
+ var fadeaway_1 = __importDefault(require("./fadeaway"));
8
8
  exports.FadeAway = fadeaway_1.default;
package/programs/index.js CHANGED
@@ -37,22 +37,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.rings = exports.FadeAway = exports.vectorfield = exports.noRegisterGlobeProgramCache = exports.globeProgramCache = exports.glProgramCache = exports.CameraUniformBlockString = exports.CameraUniformBlockTotem = exports.ArrowField = exports.GlobeShellWiggle = exports.Float2LegendWithRatio = void 0;
40
- const float2legendwithratio_1 = require("./float2legendwithratio");
40
+ var float2legendwithratio_1 = require("./float2legendwithratio");
41
41
  Object.defineProperty(exports, "Float2LegendWithRatio", { enumerable: true, get: function () { return float2legendwithratio_1.Float2LegendWithRatio; } });
42
- const wiggle_1 = require("./globeshell/wiggle");
42
+ var wiggle_1 = require("./globeshell/wiggle");
43
43
  Object.defineProperty(exports, "GlobeShellWiggle", { enumerable: true, get: function () { return wiggle_1.GlobeShellWiggle; } });
44
- const index_1 = require("./totems/index");
44
+ var index_1 = require("./totems/index");
45
45
  Object.defineProperty(exports, "CameraUniformBlockTotem", { enumerable: true, get: function () { return index_1.CameraUniformBlockTotem; } });
46
46
  Object.defineProperty(exports, "CameraUniformBlockString", { enumerable: true, get: function () { return index_1.CameraUniformBlockString; } });
47
- const arrowfield_1 = __importDefault(require("./arrowfield"));
47
+ var arrowfield_1 = __importDefault(require("./arrowfield"));
48
48
  exports.ArrowField = arrowfield_1.default;
49
- const programcache_1 = require("./programcache");
49
+ var programcache_1 = require("./programcache");
50
50
  Object.defineProperty(exports, "glProgramCache", { enumerable: true, get: function () { return programcache_1.glProgramCache; } });
51
51
  Object.defineProperty(exports, "globeProgramCache", { enumerable: true, get: function () { return programcache_1.globeProgramCache; } });
52
52
  Object.defineProperty(exports, "noRegisterGlobeProgramCache", { enumerable: true, get: function () { return programcache_1.noRegisterGlobeProgramCache; } });
53
- const vectorfield = __importStar(require("./vectorfields"));
53
+ var vectorfield = __importStar(require("./vectorfields"));
54
54
  exports.vectorfield = vectorfield;
55
- const helpers_1 = require("./helpers");
55
+ var helpers_1 = require("./helpers");
56
56
  Object.defineProperty(exports, "FadeAway", { enumerable: true, get: function () { return helpers_1.FadeAway; } });
57
- const rings = __importStar(require("./rings"));
57
+ var rings = __importStar(require("./rings"));
58
58
  exports.rings = rings;
@@ -2,80 +2,20 @@
2
2
  // angle radius, rgba, dashRatio, rgbaMode
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.AngledLineProgramCache = void 0;
5
- const util_1 = require("../../util");
6
- const totems_1 = require("../totems");
7
- const geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
8
- const programcache_1 = require("../programcache");
9
- const EDGE_COUNT_ON_SPHERE = 50;
10
- const vertexShaderSource = `#version 300 es
11
- precision highp float;
12
-
13
- ${totems_1.CameraUniformBlockString}
14
- ${geometrytransformations_1.longLatRadToMercator}
15
- ${geometrytransformations_1.longLatRadToCartesian3D}
16
- ${geometrytransformations_1.cartesian3DToGLPosition}
17
- ${geometrytransformations_1.mercatorXYToGLPosition}
18
- ${geometrytransformations_1.circleLimpFromLongLatRadCenterCartesian3D}
19
- ${geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorCompass}
20
- ${geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorRealDistance}
21
-
22
- in vec2 center_point;
23
- in float angle;
24
- in float radius;
25
- in vec4 rgba;
26
- in float dash_ratio;
27
- in float dash_opacity;
28
-
29
- out vec4 v_color;
30
- out float v_dash_ratio;
31
- out float interpolation;
32
- out float v_dash_opacity;
33
- out vec2 v_limp;
34
- // TODO: Draw World Boundaries
35
- void main() {
36
- if ( is3D ) {
37
- interpolation = float( gl_VertexID ) / ${EDGE_COUNT_ON_SPHERE - 1}.0;
38
- float radius_ = radius* interpolation;
39
- vec3 position = circleLimpFromLongLatRadCenterCartesian3D( center_point, radius_, angle);
40
- gl_Position = cartesian3DToGLPosition( position);
41
- v_limp = vec2(0.0, 0.0);
42
- } else {
43
- interpolation = float( gl_VertexID );
44
- float radius_ = radius * interpolation;
45
- vec2 position = circleLimpFromLongLatRadCenterMercatorRealDistance( center_point, radius_, angle);
46
- v_limp = position;
47
- gl_Position = mercatorXYToGLPosition( position);
48
- }
49
- v_dash_opacity = dash_opacity;
50
- v_color = rgba;
51
- v_dash_ratio = dash_ratio;
52
- }`;
53
- const fragmentShaderSource = `#version 300 es
54
- ${geometrytransformations_1.POLE}
55
- precision highp float;
56
-
57
- uniform float opacity;
58
- in vec4 v_color;
59
- in float v_dash_ratio;
60
- in float v_dash_opacity;
61
- in float interpolation;
62
- in vec2 v_limp;
63
- out vec4 color;
64
-
65
- void main() {
66
- if ( v_limp.x < -POLE || v_limp.x > POLE || v_limp.y < -POLE || v_limp.y > POLE ){ color = vec4(0.0,0.0,0.0,0.0); return; }
67
- color = vec4(v_color.rgb, v_color.a * opacity);
68
- if (fract(interpolation / (2.0 * v_dash_ratio)) < 0.5 ) {
69
- color.a *= v_dash_opacity;
70
- }
71
- }`;
72
- class Logic {
73
- constructor(globe) {
5
+ var util_1 = require("../../util");
6
+ var totems_1 = require("../totems");
7
+ var geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
8
+ var programcache_1 = require("../programcache");
9
+ var EDGE_COUNT_ON_SPHERE = 50;
10
+ var vertexShaderSource = "#version 300 es\nprecision highp float;\n\n".concat(totems_1.CameraUniformBlockString, "\n").concat(geometrytransformations_1.longLatRadToMercator, "\n").concat(geometrytransformations_1.longLatRadToCartesian3D, "\n").concat(geometrytransformations_1.cartesian3DToGLPosition, "\n").concat(geometrytransformations_1.mercatorXYToGLPosition, "\n").concat(geometrytransformations_1.circleLimpFromLongLatRadCenterCartesian3D, "\n").concat(geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorCompass, "\n").concat(geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorRealDistance, "\n\nin vec2 center_point;\nin float angle;\nin float radius;\nin vec4 rgba;\nin float dash_ratio;\nin float dash_opacity;\n\nout vec4 v_color;\nout float v_dash_ratio;\nout float interpolation;\nout float v_dash_opacity;\nout vec2 v_limp;\n// TODO: Draw World Boundaries \nvoid main() {\n if ( is3D ) {\n interpolation = float( gl_VertexID ) / ").concat(EDGE_COUNT_ON_SPHERE - 1, ".0;\n float radius_ = radius* interpolation;\n vec3 position = circleLimpFromLongLatRadCenterCartesian3D( center_point, radius_, angle);\n gl_Position = cartesian3DToGLPosition( position);\n v_limp = vec2(0.0, 0.0);\n } else {\n interpolation = float( gl_VertexID );\n float radius_ = radius * interpolation;\n vec2 position = circleLimpFromLongLatRadCenterMercatorRealDistance( center_point, radius_, angle);\n v_limp = position;\n gl_Position = mercatorXYToGLPosition( position);\n }\n v_dash_opacity = dash_opacity;\n v_color = rgba;\n v_dash_ratio = dash_ratio;\n}");
11
+ var fragmentShaderSource = "#version 300 es\n".concat(geometrytransformations_1.POLE, "\nprecision highp float;\n\nuniform float opacity;\nin vec4 v_color;\nin float v_dash_ratio;\nin float v_dash_opacity;\nin float interpolation;\nin vec2 v_limp;\nout vec4 color;\n\nvoid main() {\n if ( v_limp.x < -POLE || v_limp.x > POLE || v_limp.y < -POLE || v_limp.y > POLE ){ color = vec4(0.0,0.0,0.0,0.0); return; }\n color = vec4(v_color.rgb, v_color.a * opacity);\n if (fract(interpolation / (2.0 * v_dash_ratio)) < 0.5 ) {\n color.a *= v_dash_opacity;\n } \n}");
12
+ var Logic = /** @class */ (function () {
13
+ function Logic(globe) {
74
14
  this.globe = globe;
75
15
  this.gl = globe.gl;
76
16
  this.program = (0, util_1.createProgram)(this.gl, vertexShaderSource, fragmentShaderSource);
77
17
  this._lastOpacity = 1;
78
- const { gl, program } = this;
18
+ var _a = this, gl = _a.gl, program = _a.program;
79
19
  { // assign attribute locations
80
20
  gl.bindAttribLocation(program, 0, "center_point");
81
21
  gl.bindAttribLocation(program, 1, "angle");
@@ -86,24 +26,24 @@ class Logic {
86
26
  }
87
27
  {
88
28
  this._opacityLocation = gl.getUniformLocation(program, "opacity");
89
- const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
29
+ var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
90
30
  gl.useProgram(program);
91
31
  gl.uniform1f(this._opacityLocation, this._lastOpacity);
92
32
  gl.useProgram(currentProgram);
93
33
  }
94
34
  this.cameraBlockBindingPoint = 0;
95
- const cameraBlockIndex = gl.getUniformBlockIndex(program, "CameraUniformBlock");
35
+ var cameraBlockIndex = gl.getUniformBlockIndex(program, "CameraUniformBlock");
96
36
  this.cameraBlockTotem = totems_1.CameraUniformBlockTotemCache.get(globe);
97
37
  gl.uniformBlockBinding(program, cameraBlockIndex, this.cameraBlockBindingPoint);
98
38
  }
99
- draw(vao, length, opacity) {
100
- const { gl, program, globe, cameraBlockTotem, cameraBlockBindingPoint } = this;
39
+ Logic.prototype.draw = function (vao, length, opacity) {
40
+ var _a = this, gl = _a.gl, program = _a.program, globe = _a.globe, cameraBlockTotem = _a.cameraBlockTotem, cameraBlockBindingPoint = _a.cameraBlockBindingPoint;
101
41
  gl.useProgram(program);
102
42
  if (opacity !== this._lastOpacity) {
103
43
  gl.uniform1f(this._opacityLocation, opacity);
104
44
  this._lastOpacity = opacity;
105
45
  }
106
- const drawCount = globe.api_GetCurrentGeometry() === 0 ? EDGE_COUNT_ON_SPHERE : 2;
46
+ var drawCount = globe.api_GetCurrentGeometry() === 0 ? EDGE_COUNT_ON_SPHERE : 2;
107
47
  gl.bindVertexArray(vao);
108
48
  cameraBlockTotem.bind(cameraBlockBindingPoint);
109
49
  // gl.disable(gl.DEPTH_TEST);
@@ -111,48 +51,48 @@ class Logic {
111
51
  gl.bindVertexArray(null);
112
52
  cameraBlockTotem.unbind(cameraBlockBindingPoint);
113
53
  // gl.enable(gl.DEPTH_TEST);
114
- }
115
- createVAO(centerCoords, angle, radius, rgba, dashRatio, dashOpacity) {
116
- const { gl } = this;
117
- const vao = gl.createVertexArray();
54
+ };
55
+ Logic.prototype.createVAO = function (centerCoords, angle, radius, rgba, dashRatio, dashOpacity) {
56
+ var gl = this.gl;
57
+ var vao = gl.createVertexArray();
118
58
  gl.bindVertexArray(vao);
119
59
  {
120
- const { buffer, stride = 0, offset = 0 } = centerCoords;
60
+ var buffer = centerCoords.buffer, _a = centerCoords.stride, stride = _a === void 0 ? 0 : _a, _b = centerCoords.offset, offset = _b === void 0 ? 0 : _b;
121
61
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
122
62
  gl.enableVertexAttribArray(0);
123
63
  gl.vertexAttribPointer(0, 2, gl.FLOAT, false, stride, offset);
124
64
  gl.vertexAttribDivisor(0, 1);
125
65
  }
126
66
  {
127
- const { buffer, stride = 0, offset = 0 } = angle;
67
+ var buffer = angle.buffer, _c = angle.stride, stride = _c === void 0 ? 0 : _c, _d = angle.offset, offset = _d === void 0 ? 0 : _d;
128
68
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
129
69
  gl.enableVertexAttribArray(1);
130
70
  gl.vertexAttribPointer(1, 1, gl.FLOAT, false, stride, offset);
131
71
  gl.vertexAttribDivisor(1, 1);
132
72
  }
133
73
  {
134
- const { buffer, stride = 0, offset = 0 } = radius;
74
+ var buffer = radius.buffer, _e = radius.stride, stride = _e === void 0 ? 0 : _e, _f = radius.offset, offset = _f === void 0 ? 0 : _f;
135
75
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
136
76
  gl.enableVertexAttribArray(2);
137
77
  gl.vertexAttribPointer(2, 1, gl.FLOAT, false, stride, offset);
138
78
  gl.vertexAttribDivisor(2, 1);
139
79
  }
140
80
  {
141
- const { buffer, stride = 0, offset = 0 } = rgba;
81
+ var buffer = rgba.buffer, _g = rgba.stride, stride = _g === void 0 ? 0 : _g, _h = rgba.offset, offset = _h === void 0 ? 0 : _h;
142
82
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
143
83
  gl.enableVertexAttribArray(3);
144
84
  gl.vertexAttribPointer(3, 4, gl.FLOAT, false, stride, offset);
145
85
  gl.vertexAttribDivisor(3, 1);
146
86
  }
147
87
  {
148
- const { buffer, stride = 0, offset = 0 } = dashRatio;
88
+ var buffer = dashRatio.buffer, _j = dashRatio.stride, stride = _j === void 0 ? 0 : _j, _k = dashRatio.offset, offset = _k === void 0 ? 0 : _k;
149
89
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
150
90
  gl.enableVertexAttribArray(4);
151
91
  gl.vertexAttribPointer(4, 1, gl.FLOAT, false, stride, offset);
152
92
  gl.vertexAttribDivisor(4, 1);
153
93
  }
154
94
  {
155
- const { buffer, stride = 0, offset = 0 } = dashOpacity;
95
+ var buffer = dashOpacity.buffer, _l = dashOpacity.stride, stride = _l === void 0 ? 0 : _l, _m = dashOpacity.offset, offset = _m === void 0 ? 0 : _m;
156
96
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
157
97
  gl.enableVertexAttribArray(5);
158
98
  gl.vertexAttribPointer(5, 1, gl.FLOAT, false, stride, offset);
@@ -160,17 +100,18 @@ class Logic {
160
100
  }
161
101
  gl.bindVertexArray(null);
162
102
  return vao;
163
- }
164
- free() {
103
+ };
104
+ Logic.prototype.free = function () {
165
105
  if (this.isFreed)
166
106
  return;
167
107
  totems_1.CameraUniformBlockTotemCache.release(this.globe);
168
108
  this.cameraBlockTotem = null;
169
109
  this.gl.deleteProgram(this.program);
170
110
  this.isFreed = true;
171
- }
172
- }
111
+ };
112
+ return Logic;
113
+ }());
173
114
  exports.AngledLineProgramCache = Object.freeze({
174
- get: (globe) => { return programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic); },
175
- release: (globe) => { return programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
115
+ get: function (globe) { return programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic); },
116
+ release: function (globe) { return programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
176
117
  });
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CircleCache = void 0;
4
- const webglobjectbuilders_1 = require("../../util/webglobjectbuilders");
5
- const camerauniformblock_1 = require("../totems/camerauniformblock");
6
- const programcache_1 = require("../programcache");
4
+ var webglobjectbuilders_1 = require("../../util/webglobjectbuilders");
5
+ var camerauniformblock_1 = require("../totems/camerauniformblock");
6
+ var programcache_1 = require("../programcache");
7
7
  // import { vaoAttributeLoader } from "../../util/account/util";
8
- const attribute_loader_1 = require("../../util/gl-util/buffer/attribute-loader");
9
- const geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
8
+ var attribute_loader_1 = require("../../util/gl-util/buffer/attribute-loader");
9
+ var geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
10
10
  /**
11
11
  * TODO:
12
12
  * 1. integrate geometry functions for radius angle and center
@@ -15,73 +15,22 @@ const geometrytransformations_1 = require("../../util/shaderfunctions/geometrytr
15
15
  * TODO:
16
16
  * center_position is too small or doenst loaded as expected.
17
17
  */
18
- const EDGE_COUNT_ON_SPHERE = 360;
18
+ var EDGE_COUNT_ON_SPHERE = 360;
19
19
  //${circleLimpFromLongLatRadCenterCartesian3D_accurate}
20
- const vertexShaderSource = `#version 300 es
21
- precision highp float;
22
- ${geometrytransformations_1.PI}
23
- ${camerauniformblock_1.CameraUniformBlockString}
24
- ${geometrytransformations_1.cartesian3DToGLPosition}
25
- ${geometrytransformations_1.circleOnSphere}
26
-
27
- uniform float edge_count;
28
-
29
- in vec3 center_position3d;
30
- in vec3 target_position3d;
31
- // in float radius;
32
- in vec4 color;
33
- in float dash_ratio;
34
- in float dash_opacity;
35
-
36
- out float interpolation;
37
- out vec4 v_color;
38
- out float v_dash_ratio;
39
- out float v_dash_opacity;
40
- void main() {
41
- interpolation = float( gl_VertexID ) / ${EDGE_COUNT_ON_SPHERE}.0;
42
- if ( is3D ) {
43
- float angle = PI * 2.0 * interpolation;
44
- vec3 position = circleOnSphere(center_position3d, target_position3d, angle);
45
- gl_Position = cartesian3DToGLPosition(position);
46
- } else {
47
- return;
48
- }
49
- v_dash_ratio = dash_ratio;
50
- v_dash_opacity = dash_opacity;
51
- v_color = color;
52
- gl_PointSize = 3.0;
53
- }`;
54
- const fragmentShaderSource = `#version 300 es
55
- ${geometrytransformations_1.POLE}
56
- precision highp float;
57
- uniform float opacity;
58
- in vec4 v_color;
59
- in float v_dash_ratio;
60
- in float v_dash_opacity;
61
- in float interpolation;
62
- in vec2 v_limp;
63
- out vec4 color;
64
- void main() {
65
- color = v_color;
66
- color.a *= opacity;
67
- if ( v_dash_ratio == 1.0 || v_dash_ratio == 0.0 ) return;
68
- if (fract(interpolation / (2.0 * v_dash_ratio)) < 0.5 ) {
69
- color.a *= v_dash_opacity;
70
- }
71
- }
72
- `;
73
- class Logic {
74
- constructor(globe) {
20
+ var vertexShaderSource = "#version 300 es\nprecision highp float;\n".concat(geometrytransformations_1.PI, "\n").concat(camerauniformblock_1.CameraUniformBlockString, "\n").concat(geometrytransformations_1.cartesian3DToGLPosition, "\n").concat(geometrytransformations_1.circleOnSphere, "\n\nuniform float edge_count;\n\nin vec3 center_position3d;\nin vec3 target_position3d;\n// in float radius;\nin vec4 color;\nin float dash_ratio;\nin float dash_opacity;\n\nout float interpolation;\nout vec4 v_color;\nout float v_dash_ratio;\nout float v_dash_opacity;\nvoid main() {\n interpolation = float( gl_VertexID ) / ").concat(EDGE_COUNT_ON_SPHERE, ".0;\n if ( is3D ) {\n float angle = PI * 2.0 * interpolation;\n vec3 position = circleOnSphere(center_position3d, target_position3d, angle);\n gl_Position = cartesian3DToGLPosition(position);\n } else {\n return;\n }\n v_dash_ratio = dash_ratio;\n v_dash_opacity = dash_opacity;\n v_color = color;\n gl_PointSize = 3.0;\n}");
21
+ var fragmentShaderSource = "#version 300 es\n".concat(geometrytransformations_1.POLE, "\nprecision highp float;\nuniform float opacity;\nin vec4 v_color;\nin float v_dash_ratio;\nin float v_dash_opacity;\nin float interpolation;\nin vec2 v_limp;\nout vec4 color;\nvoid main() {\n color = v_color;\n color.a *= opacity;\n if ( v_dash_ratio == 1.0 || v_dash_ratio == 0.0 ) return;\n if (fract(interpolation / (2.0 * v_dash_ratio)) < 0.5 ) {\n color.a *= v_dash_opacity;\n } \n}\n");
22
+ var Logic = /** @class */ (function () {
23
+ function Logic(globe) {
75
24
  this.globe = globe;
76
25
  this.gl = globe.gl;
77
26
  this._lastOpacity = 1.0;
78
27
  this.program = (0, webglobjectbuilders_1.createProgram)(this.gl, vertexShaderSource, fragmentShaderSource);
79
- const { gl, program } = this;
28
+ var _a = this, gl = _a.gl, program = _a.program;
80
29
  this.program.uniforms = {
81
30
  opacity: gl.getUniformLocation(program, "opacity")
82
31
  };
83
32
  { // initial uniform values
84
- const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
33
+ var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
85
34
  gl.useProgram(program);
86
35
  gl.uniform1f(program.uniforms.opacity, 1.0);
87
36
  gl.useProgram(currentProgram);
@@ -95,26 +44,26 @@ class Logic {
95
44
  }
96
45
  this.cameraBindingPoint = 0;
97
46
  this.cameraBlockTotem = camerauniformblock_1.CameraUniformBlockTotemCache.get(globe);
98
- const cameraBlockLocation = gl.getUniformBlockIndex(program, "CameraUniformBlock");
47
+ var cameraBlockLocation = gl.getUniformBlockIndex(program, "CameraUniformBlock");
99
48
  gl.uniformBlockBinding(program, cameraBlockLocation, this.cameraBindingPoint);
100
49
  }
101
- createVAO(center3dObj, target3dObj, colorObj, dashRatioObj, dashOpacityObj) {
102
- const { gl } = this;
103
- const vao = gl.createVertexArray();
104
- const divisor = 1;
50
+ Logic.prototype.createVAO = function (center3dObj, target3dObj, colorObj, dashRatioObj, dashOpacityObj) {
51
+ var gl = this.gl;
52
+ var vao = gl.createVertexArray();
53
+ var divisor = 1;
105
54
  gl.bindVertexArray(vao);
106
- (0, attribute_loader_1.attributeLoader)(gl, center3dObj, 0, 3, { divisor });
107
- (0, attribute_loader_1.attributeLoader)(gl, target3dObj, 1, 3, { divisor });
55
+ (0, attribute_loader_1.attributeLoader)(gl, center3dObj, 0, 3, { divisor: divisor });
56
+ (0, attribute_loader_1.attributeLoader)(gl, target3dObj, 1, 3, { divisor: divisor });
108
57
  // attributeLoader(gl, radiusObj, 1, 1, { divisor });
109
- (0, attribute_loader_1.attributeLoader)(gl, colorObj, 2, 4, { divisor });
110
- (0, attribute_loader_1.attributeLoader)(gl, dashRatioObj, 3, 1, { divisor });
111
- (0, attribute_loader_1.attributeLoader)(gl, dashOpacityObj, 4, 1, { divisor });
58
+ (0, attribute_loader_1.attributeLoader)(gl, colorObj, 2, 4, { divisor: divisor });
59
+ (0, attribute_loader_1.attributeLoader)(gl, dashRatioObj, 3, 1, { divisor: divisor });
60
+ (0, attribute_loader_1.attributeLoader)(gl, dashOpacityObj, 4, 1, { divisor: divisor });
112
61
  gl.bindVertexArray(null);
113
62
  gl.bindVertexArray(null);
114
63
  return vao;
115
- }
116
- draw(vao, length, opacity) {
117
- const { gl, program, cameraBlockTotem, cameraBindingPoint } = this;
64
+ };
65
+ Logic.prototype.draw = function (vao, length, opacity) {
66
+ var _a = this, gl = _a.gl, program = _a.program, cameraBlockTotem = _a.cameraBlockTotem, cameraBindingPoint = _a.cameraBindingPoint;
118
67
  gl.useProgram(program);
119
68
  if (this._lastOpacity !== opacity) {
120
69
  gl.uniform1f(program.uniforms.opacity, opacity);
@@ -126,16 +75,17 @@ class Logic {
126
75
  // gl.drawArraysInstanced(gl.POINTS, 0, EDGE_COUNT_ON_SPHERE + 1, length);
127
76
  cameraBlockTotem.unbind(cameraBindingPoint);
128
77
  gl.bindVertexArray(null);
129
- }
130
- free() {
78
+ };
79
+ Logic.prototype.free = function () {
131
80
  if (this.isFreed)
132
81
  return;
133
82
  camerauniformblock_1.CameraUniformBlockTotemCache.release(this.globe);
134
83
  this.gl.deleteProgram(this.program);
135
84
  this.isFreed = true;
136
- }
137
- }
85
+ };
86
+ return Logic;
87
+ }());
138
88
  exports.CircleCache = Object.freeze({
139
- get: (globe) => programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic),
140
- release: (globe) => programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic)
89
+ get: function (globe) { return programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic); },
90
+ release: function (globe) { return programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
141
91
  });