@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
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EDGE_COUNT = exports.CircleCache = void 0;
4
4
  exports.centerCoords2dflatDataCreator = centerCoords2dflatDataCreator;
5
5
  exports.centerCoords2dflatDataCreatorWithRadius = centerCoords2dflatDataCreatorWithRadius;
6
- const webglobjectbuilders_1 = require("../../util/webglobjectbuilders");
7
- const camerauniformblock_1 = require("../totems/camerauniformblock");
8
- const programcache_1 = require("../programcache");
9
- const util_1 = require("../../util/account/util");
10
- const geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
11
- const Pole = 20037508.34;
6
+ var webglobjectbuilders_1 = require("../../util/webglobjectbuilders");
7
+ var camerauniformblock_1 = require("../totems/camerauniformblock");
8
+ var programcache_1 = require("../programcache");
9
+ var util_1 = require("../../util/account/util");
10
+ var geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
11
+ var Pole = 20037508.34;
12
12
  /**
13
13
  * Warning:
14
14
  * Insert the points from the second index and skip 1 point as you placed 361 points
@@ -16,88 +16,27 @@ const Pole = 20037508.34;
16
16
  /**
17
17
  * Plus 1 for returning to the start point. 1 for cutting the circle into pieces.
18
18
  */
19
- const EDGE_COUNT = 62;
19
+ var EDGE_COUNT = 62;
20
20
  exports.EDGE_COUNT = EDGE_COUNT;
21
- const ESCAPE_VALUE = 200000000;
22
- const vertexShaderSource = `#version 300 es
23
- precision highp float;
24
-
25
- # define escape_value ${ESCAPE_VALUE}.0
26
-
27
- ${camerauniformblock_1.CameraUniformBlockString}
28
- ${geometrytransformations_1.mercatorXYToGLPosition}
29
-
30
- uniform int edge_count;
31
-
32
-
33
- in vec2 position2d;
34
- in vec4 color;
35
- in float dash_ratio;
36
- in float dash_opacity;
37
-
38
- out float interpolation;
39
- out vec4 v_color;
40
- out float v_dash_ratio;
41
- out float v_dash_opacity;
42
- out vec2 v_limp;
43
-
44
-
45
- void main() {
46
- if ( position2d.x == escape_value && position2d.y == escape_value){ return; }
47
- interpolation = float( gl_VertexID % edge_count ) / float(edge_count);
48
- if ( gl_VertexID % edge_count == 0 ) { return; } // cut on the first point.
49
- if ( is3D ) {
50
- return;
51
- v_limp = vec2(0.0, 0.0);
52
- } else {
53
- v_limp = position2d;
54
- gl_Position = mercatorXYToGLPosition( position2d);
55
- }
56
- v_dash_ratio = dash_ratio;
57
- v_dash_opacity = dash_opacity;
58
- v_color = color;
59
- gl_PointSize = 15.0;
60
-
61
- }`;
62
- const fragmentShaderSource = `#version 300 es
63
- ${geometrytransformations_1.POLE}
64
- precision highp float;
65
- uniform float opacity;
66
- in vec4 v_color;
67
- in float v_dash_ratio;
68
- in float v_dash_opacity;
69
- in float interpolation;
70
- in vec2 v_limp;
71
- out vec4 color;
72
- void main() {
73
- if ( v_limp.x < -POLE || v_limp.x > POLE || v_limp.y < -POLE || v_limp.y > POLE ){
74
- discard;
75
- // color = vec4(0.0,0.0,0.0,0.0);
76
- // return;
77
- }
78
- color = v_color;
79
- color.a *= opacity;
80
- if ( v_dash_ratio == 1.0 || v_dash_ratio == 0.0 ) return;
81
- if (fract(interpolation / (2.0 * v_dash_ratio)) < 0.5 ) {
82
- color.a *= v_dash_opacity;
83
- }
84
- }`;
85
- class Logic {
86
- constructor(globe) {
21
+ var ESCAPE_VALUE = 200000000;
22
+ var vertexShaderSource = "#version 300 es\nprecision highp float;\n\n# define escape_value ".concat(ESCAPE_VALUE, ".0\n\n").concat(camerauniformblock_1.CameraUniformBlockString, "\n").concat(geometrytransformations_1.mercatorXYToGLPosition, "\n\nuniform int edge_count;\n\n\nin vec2 position2d;\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;\nout vec2 v_limp;\n\n\nvoid main() {\n if ( position2d.x == escape_value && position2d.y == escape_value){ return; }\n interpolation = float( gl_VertexID % edge_count ) / float(edge_count);\n if ( gl_VertexID % edge_count == 0 ) { return; } // cut on the first point.\n if ( is3D ) {\n return;\n v_limp = vec2(0.0, 0.0);\n } else {\n v_limp = position2d;\n gl_Position = mercatorXYToGLPosition( position2d);\n }\n v_dash_ratio = dash_ratio;\n v_dash_opacity = dash_opacity;\n v_color = color;\n gl_PointSize = 15.0;\n\n}");
23
+ 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 if ( v_limp.x < -POLE || v_limp.x > POLE || v_limp.y < -POLE || v_limp.y > POLE ){ \n discard;\n // color = vec4(0.0,0.0,0.0,0.0); \n // return; \n }\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}");
24
+ var Logic = /** @class */ (function () {
25
+ function Logic(globe) {
87
26
  this.globe = globe;
88
27
  this.gl = globe.gl;
89
28
  this._lastOpacity = 1.0;
90
29
  this._lastMercatorMode = 0;
91
30
  this._lastEdgeCount = EDGE_COUNT;
92
31
  this.program = (0, webglobjectbuilders_1.createProgram)(this.gl, vertexShaderSource, fragmentShaderSource);
93
- const { gl, program } = this;
32
+ var _a = this, gl = _a.gl, program = _a.program;
94
33
  this.program.uniforms = {
95
34
  opacity: gl.getUniformLocation(program, "opacity"),
96
35
  edgeCount: gl.getUniformLocation(program, "edge_count"),
97
36
  mercator_calculation_mode: gl.getUniformLocation(program, "mercator_calculation_mode")
98
37
  };
99
38
  // initial uniform values
100
- const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
39
+ var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
101
40
  gl.useProgram(program);
102
41
  gl.uniform1f(program.uniforms.opacity, 1.0);
103
42
  gl.uniform1i(program.uniforms.edgeCount, EDGE_COUNT);
@@ -110,35 +49,35 @@ class Logic {
110
49
  gl.bindAttribLocation(program, 3, "dash_opacity");
111
50
  this.cameraBindingPoint = 0;
112
51
  this.cameraBlockTotem = camerauniformblock_1.CameraUniformBlockTotemCache.get(globe);
113
- const cameraBlockLocation = gl.getUniformBlockIndex(program, "CameraUniformBlock");
52
+ var cameraBlockLocation = gl.getUniformBlockIndex(program, "CameraUniformBlock");
114
53
  gl.uniformBlockBinding(program, cameraBlockLocation, this.cameraBindingPoint);
115
54
  }
116
- createVAO(centerObj, colorObj, dashRatioObj, dashOpacityObj) {
117
- const { gl } = this;
118
- const vao = gl.createVertexArray();
55
+ Logic.prototype.createVAO = function (centerObj, colorObj, dashRatioObj, dashOpacityObj) {
56
+ var gl = this.gl;
57
+ var vao = gl.createVertexArray();
119
58
  gl.bindVertexArray(vao);
120
59
  { // make this a function end import from account module.
121
- const { buffer, stride = 0, offset = 0 } = centerObj;
60
+ var buffer = centerObj.buffer, _a = centerObj.stride, stride = _a === void 0 ? 0 : _a, _b = centerObj.offset, offset = _b === void 0 ? 0 : _b;
122
61
  (0, util_1.vaoAttributeLoader)(gl, buffer, 0, 2, stride, offset, null);
123
62
  }
124
63
  {
125
- const { buffer, stride = 0, offset = 0 } = colorObj;
64
+ var buffer = colorObj.buffer, _c = colorObj.stride, stride = _c === void 0 ? 0 : _c, _d = colorObj.offset, offset = _d === void 0 ? 0 : _d;
126
65
  (0, util_1.vaoAttributeLoader)(gl, buffer, 1, 4, stride, offset, null);
127
66
  }
128
67
  {
129
- const { buffer, stride = 0, offset = 0 } = dashRatioObj;
68
+ var buffer = dashRatioObj.buffer, _e = dashRatioObj.stride, stride = _e === void 0 ? 0 : _e, _f = dashRatioObj.offset, offset = _f === void 0 ? 0 : _f;
130
69
  (0, util_1.vaoAttributeLoader)(gl, buffer, 2, 1, stride, offset, null);
131
70
  }
132
71
  {
133
- const { buffer, stride = 0, offset = 0 } = dashOpacityObj;
72
+ var buffer = dashOpacityObj.buffer, _g = dashOpacityObj.stride, stride = _g === void 0 ? 0 : _g, _h = dashOpacityObj.offset, offset = _h === void 0 ? 0 : _h;
134
73
  (0, util_1.vaoAttributeLoader)(gl, buffer, 3, 1, stride, offset, null);
135
74
  }
136
75
  gl.bindVertexArray(null);
137
76
  gl.bindVertexArray(null);
138
77
  return vao;
139
- }
140
- draw(vao, length, edgeCount, opacity) {
141
- const { gl, program, cameraBlockTotem, cameraBindingPoint } = this;
78
+ };
79
+ Logic.prototype.draw = function (vao, length, edgeCount, opacity) {
80
+ var _a = this, gl = _a.gl, program = _a.program, cameraBlockTotem = _a.cameraBlockTotem, cameraBindingPoint = _a.cameraBindingPoint;
142
81
  gl.useProgram(program);
143
82
  if (this._lastOpacity !== opacity) {
144
83
  gl.uniform1f(program.uniforms.opacity, opacity);
@@ -154,35 +93,37 @@ class Logic {
154
93
  // gl.drawArrays(gl.POINTS, 0, length * EDGE_COUNT)
155
94
  cameraBlockTotem.unbind(cameraBindingPoint);
156
95
  gl.bindVertexArray(null);
157
- }
158
- free() {
96
+ };
97
+ Logic.prototype.free = function () {
159
98
  if (this.isFreed)
160
99
  return;
161
100
  camerauniformblock_1.CameraUniformBlockTotemCache.release(this.globe);
162
101
  this.gl.deleteProgram(this.program);
163
102
  this.isFreed = true;
164
- }
165
- }
166
- const CircleCache = Object.freeze({
167
- get: (globe) => programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic),
168
- release: (globe) => programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic)
103
+ };
104
+ return Logic;
105
+ }());
106
+ var CircleCache = Object.freeze({
107
+ get: function (globe) { return programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic); },
108
+ release: function (globe) { return programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
169
109
  });
170
110
  exports.CircleCache = CircleCache;
171
- function centerCoords2dflatDataCreator(globe, centerLong, centerLat, targetLong, targetLat, { startAngleOfCircle = null, edgeCount = EDGE_COUNT, radiusOffset = 0 } = {}) {
172
- const centerCoords2dflat = new Float32Array(edgeCount * 2);
173
- const radius2d = globe.Math.GetDist2D(centerLong, centerLat, targetLong, targetLat) + radiusOffset;
174
- let angle;
111
+ function centerCoords2dflatDataCreator(globe, centerLong, centerLat, targetLong, targetLat, _a) {
112
+ var _b = _a === void 0 ? {} : _a, _c = _b.startAngleOfCircle, startAngleOfCircle = _c === void 0 ? null : _c, _d = _b.edgeCount, edgeCount = _d === void 0 ? EDGE_COUNT : _d, _e = _b.radiusOffset, radiusOffset = _e === void 0 ? 0 : _e;
113
+ var centerCoords2dflat = new Float32Array(edgeCount * 2);
114
+ var radius2d = globe.Math.GetDist2D(centerLong, centerLat, targetLong, targetLat) + radiusOffset;
115
+ var angle;
175
116
  if (startAngleOfCircle === null) {
176
117
  angle = globe.Math.GetAzimuthAngle(centerLong, centerLat, targetLong, targetLat);
177
118
  }
178
119
  else {
179
120
  angle = startAngleOfCircle;
180
121
  }
181
- const pointsLongLat = globe.Math.GetEllipseGeo(centerLong, centerLat, radius2d, radius2d, angle, 360 / (edgeCount - 2));
182
- let lastlg = pointsLongLat[0].long;
183
- let lastlt = pointsLongLat[0].lat;
184
- for (let i = 1; i < edgeCount; i++) {
185
- const { long: lg, lat: lt } = pointsLongLat[i - 1];
122
+ var pointsLongLat = globe.Math.GetEllipseGeo(centerLong, centerLat, radius2d, radius2d, angle, 360 / (edgeCount - 2));
123
+ var lastlg = pointsLongLat[0].long;
124
+ var lastlt = pointsLongLat[0].lat;
125
+ for (var i = 1; i < edgeCount; i++) {
126
+ var _f = pointsLongLat[i - 1], lg = _f.long, lt = _f.lat;
186
127
  if (manhattanDistance(lastlg, lastlt, lg, lt) < 170) {
187
128
  centerCoords2dflat.set(globe.api_GetMercator2DPoint(lg, lt), i * 2);
188
129
  }
@@ -194,12 +135,13 @@ function centerCoords2dflatDataCreator(globe, centerLong, centerLat, targetLong,
194
135
  }
195
136
  return centerCoords2dflat;
196
137
  }
197
- function centerCoords2dflatDataCreatorWithRadius(globe, centerLong, centerLat, radius2d, { startAngleOfCircle = null, edgeCount = EDGE_COUNT } = {}) {
198
- const centerCoords2dflat = new Float32Array(edgeCount * 2);
199
- const pointsLongLat = globe.Math.GetEllipseGeo(centerLong, centerLat, radius2d, radius2d, 0, 360 / (edgeCount - 2));
200
- let { long: lastlg, lat: lastlt } = pointsLongLat[0];
201
- for (let i = 1; i < edgeCount; i++) {
202
- const { long: lg, lat: lt } = pointsLongLat[i - 1];
138
+ function centerCoords2dflatDataCreatorWithRadius(globe, centerLong, centerLat, radius2d, _a) {
139
+ var _b = _a === void 0 ? {} : _a, _c = _b.startAngleOfCircle, startAngleOfCircle = _c === void 0 ? null : _c, _d = _b.edgeCount, edgeCount = _d === void 0 ? EDGE_COUNT : _d;
140
+ var centerCoords2dflat = new Float32Array(edgeCount * 2);
141
+ var pointsLongLat = globe.Math.GetEllipseGeo(centerLong, centerLat, radius2d, radius2d, 0, 360 / (edgeCount - 2));
142
+ var _e = pointsLongLat[0], lastlg = _e.long, lastlt = _e.lat;
143
+ for (var i = 1; i < edgeCount; i++) {
144
+ var _f = pointsLongLat[i - 1], lg = _f.long, lt = _f.lat;
203
145
  if (manhattanDistance(lastlg, lastlt, lg, lt) < 170) {
204
146
  centerCoords2dflat.set(globe.api_GetMercator2DPoint(lg, lt), i * 2);
205
147
  }
@@ -1,11 +1,11 @@
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");
7
- const util_1 = require("../../util/account/util");
8
- const geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
4
+ var webglobjectbuilders_1 = require("../../util/webglobjectbuilders");
5
+ var camerauniformblock_1 = require("../totems/camerauniformblock");
6
+ var programcache_1 = require("../programcache");
7
+ var util_1 = require("../../util/account/util");
8
+ var geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
9
9
  /**
10
10
  * TODO:
11
11
  * 1. integrate geometry functions for radius angle and center
@@ -14,92 +14,21 @@ const geometrytransformations_1 = require("../../util/shaderfunctions/geometrytr
14
14
  * TODO:
15
15
  * center_position is too small or doenst loaded as expected.
16
16
  */
17
- const EDGE_COUNT_ON_SPHERE = 360;
18
- const vertexShaderSource = `#version 300 es
19
- precision highp float;
20
- ${camerauniformblock_1.CameraUniformBlockString}
21
- ${geometrytransformations_1.longLatRadToMercator}
22
- ${geometrytransformations_1.longLatRadToCartesian3D}
23
- ${geometrytransformations_1.cartesian3DToGLPosition}
24
- ${geometrytransformations_1.mercatorXYToGLPosition}
25
- ${geometrytransformations_1.realDistanceOnSphereR1}
26
- ${geometrytransformations_1.circleLimpFromLongLatRadCenterCartesian3D_accurate}
27
- ${geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorCompass_accurate}
28
- ${geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorRealDistanceNew_accurate}
29
-
30
- uniform float edge_count;
31
-
32
- in vec2 center_position;
33
- in vec3 center_position3d;
34
- in float radius;
35
- in vec4 color;
36
- in float dash_ratio;
37
- in float dash_opacity;
38
-
39
- out float interpolation;
40
- out vec4 v_color;
41
- out float v_dash_ratio;
42
- out float v_dash_opacity;
43
- out vec2 v_limp;
44
- void main() {
45
- interpolation = float( gl_VertexID ) / ${EDGE_COUNT_ON_SPHERE}.0;
46
- float angle = PI * 2.0 * interpolation;
47
- if ( is3D ) {
48
-
49
- vec3 position = circleLimpFromLongLatRadCenterCartesian3D_accurate(center_position3d, radius, angle);
50
-
51
- gl_Position = cartesian3DToGLPosition(position);
52
- v_limp = vec2(0.0, 0.0);
53
- } else {
54
- vec2 position;
55
- if ( radius < 0.0) {
56
- float cosine1 = cos(asin(tanh(center_position.y / 6378137.0)));
57
- position = circleLimpFromLongLatRadCenterMercatorCompass_accurate(center_position, radius / cosine1 , angle);
58
- } else {
59
- position = circleLimpFromLongLatRadCenterMercatorRealDistanceNew_accurate( center_position, radius, angle);
60
- }
61
- v_limp = position;
62
- gl_Position = mercatorXYToGLPosition( position);
63
-
64
- }
65
- v_dash_ratio = dash_ratio;
66
- v_dash_opacity = dash_opacity;
67
- v_color = color;
68
- gl_PointSize = 3.0;
69
-
70
- }`;
71
- const fragmentShaderSource = `#version 300 es
72
- ${geometrytransformations_1.POLE}
73
- precision highp float;
74
- uniform float opacity;
75
- in vec4 v_color;
76
- in float v_dash_ratio;
77
- in float v_dash_opacity;
78
- in float interpolation;
79
- in vec2 v_limp;
80
- out vec4 color;
81
- void main() {
82
- 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; }
83
- color = v_color;
84
- color.a *= opacity;
85
- if ( v_dash_ratio == 1.0 || v_dash_ratio == 0.0 ) return;
86
- if (fract(interpolation / (2.0 * v_dash_ratio)) < 0.5 ) {
87
- color.a *= v_dash_opacity;
88
- }
89
- }
90
- `;
91
- class Logic {
92
- constructor(globe) {
17
+ var EDGE_COUNT_ON_SPHERE = 360;
18
+ var vertexShaderSource = "#version 300 es\nprecision highp float;\n".concat(camerauniformblock_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.realDistanceOnSphereR1, "\n").concat(geometrytransformations_1.circleLimpFromLongLatRadCenterCartesian3D_accurate, "\n").concat(geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorCompass_accurate, "\n").concat(geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorRealDistanceNew_accurate, "\n\nuniform float edge_count;\n\nin vec2 center_position;\nin vec3 center_position3d;\nin 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;\nout vec2 v_limp;\nvoid main() {\n interpolation = float( gl_VertexID ) / ").concat(EDGE_COUNT_ON_SPHERE, ".0;\n float angle = PI * 2.0 * interpolation;\n if ( is3D ) {\n\n vec3 position = circleLimpFromLongLatRadCenterCartesian3D_accurate(center_position3d, radius, angle);\n \n gl_Position = cartesian3DToGLPosition(position);\n v_limp = vec2(0.0, 0.0);\n } else {\n vec2 position; \n if ( radius < 0.0) {\n float cosine1 = cos(asin(tanh(center_position.y / 6378137.0)));\n position = circleLimpFromLongLatRadCenterMercatorCompass_accurate(center_position, radius / cosine1 , angle);\n } else {\n position = circleLimpFromLongLatRadCenterMercatorRealDistanceNew_accurate( center_position, radius, angle);\n }\n v_limp = position;\n gl_Position = mercatorXYToGLPosition( position);\n\n }\n v_dash_ratio = dash_ratio;\n v_dash_opacity = dash_opacity;\n v_color = color;\n gl_PointSize = 3.0;\n\n}");
19
+ 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 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 = 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");
20
+ var Logic = /** @class */ (function () {
21
+ function Logic(globe) {
93
22
  this.globe = globe;
94
23
  this.gl = globe.gl;
95
24
  this._lastOpacity = 1.0;
96
25
  this.program = (0, webglobjectbuilders_1.createProgram)(this.gl, vertexShaderSource, fragmentShaderSource);
97
- const { gl, program } = this;
26
+ var _a = this, gl = _a.gl, program = _a.program;
98
27
  this.program.uniforms = {
99
28
  opacity: gl.getUniformLocation(program, "opacity")
100
29
  };
101
30
  { // initial uniform values
102
- const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
31
+ var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
103
32
  gl.useProgram(program);
104
33
  gl.uniform1f(program.uniforms.opacity, 1.0);
105
34
  gl.useProgram(currentProgram);
@@ -114,44 +43,44 @@ class Logic {
114
43
  }
115
44
  this.cameraBindingPoint = 0;
116
45
  this.cameraBlockTotem = camerauniformblock_1.CameraUniformBlockTotemCache.get(globe);
117
- const cameraBlockLocation = gl.getUniformBlockIndex(program, "CameraUniformBlock");
46
+ var cameraBlockLocation = gl.getUniformBlockIndex(program, "CameraUniformBlock");
118
47
  gl.uniformBlockBinding(program, cameraBlockLocation, this.cameraBindingPoint);
119
48
  }
120
- createVAO(centerObj, center3dObj, radiusObj, colorObj, dashRatioObj, dashOpacityObj) {
121
- const { gl } = this;
122
- const vao = gl.createVertexArray();
123
- const divisor = 1;
49
+ Logic.prototype.createVAO = function (centerObj, center3dObj, radiusObj, colorObj, dashRatioObj, dashOpacityObj) {
50
+ var gl = this.gl;
51
+ var vao = gl.createVertexArray();
52
+ var divisor = 1;
124
53
  gl.bindVertexArray(vao);
125
54
  { // make this a function end import from account module.
126
- const { buffer, stride = 0, offset = 0 } = centerObj;
55
+ var buffer = centerObj.buffer, _a = centerObj.stride, stride = _a === void 0 ? 0 : _a, _b = centerObj.offset, offset = _b === void 0 ? 0 : _b;
127
56
  (0, util_1.vaoAttributeLoader)(gl, buffer, 0, 2, stride, offset, divisor);
128
57
  }
129
58
  { // make this a function end import from account module.
130
- const { buffer, stride = 0, offset = 0 } = center3dObj;
59
+ var buffer = center3dObj.buffer, _c = center3dObj.stride, stride = _c === void 0 ? 0 : _c, _d = center3dObj.offset, offset = _d === void 0 ? 0 : _d;
131
60
  (0, util_1.vaoAttributeLoader)(gl, buffer, 1, 3, stride, offset, divisor);
132
61
  }
133
62
  {
134
- const { buffer, stride = 0, offset = 0 } = radiusObj;
63
+ var buffer = radiusObj.buffer, _e = radiusObj.stride, stride = _e === void 0 ? 0 : _e, _f = radiusObj.offset, offset = _f === void 0 ? 0 : _f;
135
64
  (0, util_1.vaoAttributeLoader)(gl, buffer, 2, 1, stride, offset, divisor);
136
65
  }
137
66
  {
138
- const { buffer, stride = 0, offset = 0 } = colorObj;
67
+ var buffer = colorObj.buffer, _g = colorObj.stride, stride = _g === void 0 ? 0 : _g, _h = colorObj.offset, offset = _h === void 0 ? 0 : _h;
139
68
  (0, util_1.vaoAttributeLoader)(gl, buffer, 3, 4, stride, offset, divisor);
140
69
  }
141
70
  {
142
- const { buffer, stride = 0, offset = 0 } = dashRatioObj;
71
+ var buffer = dashRatioObj.buffer, _j = dashRatioObj.stride, stride = _j === void 0 ? 0 : _j, _k = dashRatioObj.offset, offset = _k === void 0 ? 0 : _k;
143
72
  (0, util_1.vaoAttributeLoader)(gl, buffer, 4, 1, stride, offset, divisor);
144
73
  }
145
74
  {
146
- const { buffer, stride = 0, offset = 0 } = dashOpacityObj;
75
+ var buffer = dashOpacityObj.buffer, _l = dashOpacityObj.stride, stride = _l === void 0 ? 0 : _l, _m = dashOpacityObj.offset, offset = _m === void 0 ? 0 : _m;
147
76
  (0, util_1.vaoAttributeLoader)(gl, buffer, 5, 1, stride, offset, divisor);
148
77
  }
149
78
  gl.bindVertexArray(null);
150
79
  gl.bindVertexArray(null);
151
80
  return vao;
152
- }
153
- draw(vao, length, opacity) {
154
- const { gl, program, cameraBlockTotem, cameraBindingPoint } = this;
81
+ };
82
+ Logic.prototype.draw = function (vao, length, opacity) {
83
+ var _a = this, gl = _a.gl, program = _a.program, cameraBlockTotem = _a.cameraBlockTotem, cameraBindingPoint = _a.cameraBindingPoint;
155
84
  gl.useProgram(program);
156
85
  if (this._lastOpacity !== opacity) {
157
86
  gl.uniform1f(program.uniforms.opacity, opacity);
@@ -163,16 +92,17 @@ class Logic {
163
92
  gl.drawArraysInstanced(gl.POINTS, 0, EDGE_COUNT_ON_SPHERE + 1, length);
164
93
  cameraBlockTotem.unbind(cameraBindingPoint);
165
94
  gl.bindVertexArray(null);
166
- }
167
- free() {
95
+ };
96
+ Logic.prototype.free = function () {
168
97
  if (this.isFreed)
169
98
  return;
170
99
  camerauniformblock_1.CameraUniformBlockTotemCache.release(this.globe);
171
100
  this.gl.deleteProgram(this.program);
172
101
  this.isFreed = true;
173
- }
174
- }
102
+ };
103
+ return Logic;
104
+ }());
175
105
  exports.CircleCache = Object.freeze({
176
- get: (globe) => programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic),
177
- release: (globe) => programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic)
106
+ get: function (globe) { return programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic); },
107
+ release: function (globe) { return programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
178
108
  });
@@ -1,11 +1,11 @@
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");
7
- const util_1 = require("../../util/account/util");
8
- const geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
4
+ var webglobjectbuilders_1 = require("../../util/webglobjectbuilders");
5
+ var camerauniformblock_1 = require("../totems/camerauniformblock");
6
+ var programcache_1 = require("../programcache");
7
+ var util_1 = require("../../util/account/util");
8
+ var geometrytransformations_1 = require("../../util/shaderfunctions/geometrytransformations");
9
9
  /**
10
10
  * TODO:
11
11
  * 1. integrate geometry functions for radius angle and center
@@ -14,87 +14,21 @@ const geometrytransformations_1 = require("../../util/shaderfunctions/geometrytr
14
14
  * TODO:
15
15
  * center_position is too small or doenst loaded as expected.
16
16
  */
17
- const EDGE_COUNT_ON_SPHERE = 360;
18
- const vertexShaderSource = `#version 300 es
19
- precision highp float;
20
- ${camerauniformblock_1.CameraUniformBlockString}
21
- ${geometrytransformations_1.longLatRadToMercator}
22
- ${geometrytransformations_1.longLatRadToCartesian3D}
23
- ${geometrytransformations_1.cartesian3DToGLPosition}
24
- ${geometrytransformations_1.mercatorXYToGLPosition}
25
- ${geometrytransformations_1.realDistanceOnSphereR1}
26
- ${geometrytransformations_1.circleLimpFromLongLatRadCenterCartesian3D}
27
- ${geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorCompass}
28
- ${geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorRealDistance}
29
-
30
- uniform float edge_count;
31
-
32
- in vec2 center_position;
33
- in float radius;
34
- in vec4 color;
35
- in float dash_ratio;
36
- in float dash_opacity;
37
-
38
- out float interpolation;
39
- out vec4 v_color;
40
- out float v_dash_ratio;
41
- out float v_dash_opacity;
42
- out vec2 v_limp;
43
- void main() {
44
- interpolation = float( gl_VertexID ) / ${EDGE_COUNT_ON_SPHERE}.0;
45
- float angle = PI * 2.0 * interpolation;
46
- if ( is3D ) {
47
- vec3 position = circleLimpFromLongLatRadCenterCartesian3D( center_position, radius, angle);
48
- gl_Position = cartesian3DToGLPosition(position);
49
- v_limp = vec2(0.0, 0.0);
50
- } else {
51
- vec2 position;
52
- if (radius < 1400.0) {
53
- position = circleLimpFromLongLatRadCenterMercatorCompass( center_position, radius/ cos(center_position.y), angle);
54
- } else {
55
- position = circleLimpFromLongLatRadCenterMercatorRealDistance( center_position, radius, angle);
56
- }
57
- v_limp = position;
58
- gl_Position = mercatorXYToGLPosition( position);
59
-
60
- }
61
- v_dash_ratio = dash_ratio;
62
- v_dash_opacity = dash_opacity;
63
- v_color = color;
64
-
65
- }`;
66
- const fragmentShaderSource = `#version 300 es
67
- ${geometrytransformations_1.POLE}
68
- precision highp float;
69
- uniform float opacity;
70
- in vec4 v_color;
71
- in float v_dash_ratio;
72
- in float v_dash_opacity;
73
- in float interpolation;
74
- in vec2 v_limp;
75
- out vec4 color;
76
- void main() {
77
- 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; }
78
- color = v_color;
79
- color.a *= opacity;
80
- if ( v_dash_ratio == 1.0 || v_dash_ratio == 0.0 ) return;
81
- if (fract(interpolation / (2.0 * v_dash_ratio)) < 0.5 ) {
82
- color.a *= v_dash_opacity;
83
- }
84
- }
85
- `;
86
- class Logic {
87
- constructor(globe) {
17
+ var EDGE_COUNT_ON_SPHERE = 360;
18
+ var vertexShaderSource = "#version 300 es\nprecision highp float;\n".concat(camerauniformblock_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.realDistanceOnSphereR1, "\n").concat(geometrytransformations_1.circleLimpFromLongLatRadCenterCartesian3D, "\n").concat(geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorCompass, "\n").concat(geometrytransformations_1.circleLimpFromLongLatRadCenterMercatorRealDistance, "\n\nuniform float edge_count;\n\nin vec2 center_position;\nin 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;\nout vec2 v_limp;\nvoid main() {\n interpolation = float( gl_VertexID ) / ").concat(EDGE_COUNT_ON_SPHERE, ".0;\n float angle = PI * 2.0 * interpolation;\n if ( is3D ) {\n vec3 position = circleLimpFromLongLatRadCenterCartesian3D( center_position, radius, angle);\n gl_Position = cartesian3DToGLPosition(position);\n v_limp = vec2(0.0, 0.0);\n } else {\n vec2 position;\n if (radius < 1400.0) {\n position = circleLimpFromLongLatRadCenterMercatorCompass( center_position, radius/ cos(center_position.y), angle);\n } else {\n position = circleLimpFromLongLatRadCenterMercatorRealDistance( center_position, radius, angle);\n }\n v_limp = position;\n gl_Position = mercatorXYToGLPosition( position);\n\n }\n v_dash_ratio = dash_ratio;\n v_dash_opacity = dash_opacity;\n v_color = color;\n\n}");
19
+ 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 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 = 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");
20
+ var Logic = /** @class */ (function () {
21
+ function Logic(globe) {
88
22
  this.globe = globe;
89
23
  this.gl = globe.gl;
90
24
  this._lastOpacity = 1.0;
91
25
  this.program = (0, webglobjectbuilders_1.createProgram)(this.gl, vertexShaderSource, fragmentShaderSource);
92
- const { gl, program } = this;
26
+ var _a = this, gl = _a.gl, program = _a.program;
93
27
  this.program.uniforms = {
94
28
  opacity: gl.getUniformLocation(program, "opacity")
95
29
  };
96
30
  { // initial uniform values
97
- const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
31
+ var currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
98
32
  gl.useProgram(program);
99
33
  gl.uniform1f(program.uniforms.opacity, 1.0);
100
34
  gl.useProgram(currentProgram);
@@ -108,40 +42,40 @@ class Logic {
108
42
  }
109
43
  this.cameraBindingPoint = 0;
110
44
  this.cameraBlockTotem = camerauniformblock_1.CameraUniformBlockTotemCache.get(globe);
111
- const cameraBlockLocation = gl.getUniformBlockIndex(program, "CameraUniformBlock");
45
+ var cameraBlockLocation = gl.getUniformBlockIndex(program, "CameraUniformBlock");
112
46
  gl.uniformBlockBinding(program, cameraBlockLocation, this.cameraBindingPoint);
113
47
  }
114
- createVAO(centerObj, radiusObj, colorObj, dashRatioObj, dashOpacityObj) {
115
- const { gl } = this;
116
- const vao = gl.createVertexArray();
117
- const divisor = 1;
48
+ Logic.prototype.createVAO = function (centerObj, radiusObj, colorObj, dashRatioObj, dashOpacityObj) {
49
+ var gl = this.gl;
50
+ var vao = gl.createVertexArray();
51
+ var divisor = 1;
118
52
  gl.bindVertexArray(vao);
119
53
  { // make this a function end import from account module.
120
- const { buffer, stride = 0, offset = 0 } = centerObj;
54
+ var buffer = centerObj.buffer, _a = centerObj.stride, stride = _a === void 0 ? 0 : _a, _b = centerObj.offset, offset = _b === void 0 ? 0 : _b;
121
55
  (0, util_1.vaoAttributeLoader)(gl, buffer, 0, 2, stride, offset, divisor);
122
56
  }
123
57
  {
124
- const { buffer, stride = 0, offset = 0 } = radiusObj;
58
+ var buffer = radiusObj.buffer, _c = radiusObj.stride, stride = _c === void 0 ? 0 : _c, _d = radiusObj.offset, offset = _d === void 0 ? 0 : _d;
125
59
  (0, util_1.vaoAttributeLoader)(gl, buffer, 1, 1, stride, offset, divisor);
126
60
  }
127
61
  {
128
- const { buffer, stride = 0, offset = 0 } = colorObj;
62
+ var buffer = colorObj.buffer, _e = colorObj.stride, stride = _e === void 0 ? 0 : _e, _f = colorObj.offset, offset = _f === void 0 ? 0 : _f;
129
63
  (0, util_1.vaoAttributeLoader)(gl, buffer, 2, 4, stride, offset, divisor);
130
64
  }
131
65
  {
132
- const { buffer, stride = 0, offset = 0 } = dashRatioObj;
66
+ var buffer = dashRatioObj.buffer, _g = dashRatioObj.stride, stride = _g === void 0 ? 0 : _g, _h = dashRatioObj.offset, offset = _h === void 0 ? 0 : _h;
133
67
  (0, util_1.vaoAttributeLoader)(gl, buffer, 3, 1, stride, offset, divisor);
134
68
  }
135
69
  {
136
- const { buffer, stride = 0, offset = 0 } = dashOpacityObj;
70
+ var buffer = dashOpacityObj.buffer, _j = dashOpacityObj.stride, stride = _j === void 0 ? 0 : _j, _k = dashOpacityObj.offset, offset = _k === void 0 ? 0 : _k;
137
71
  (0, util_1.vaoAttributeLoader)(gl, buffer, 4, 1, stride, offset, divisor);
138
72
  }
139
73
  gl.bindVertexArray(null);
140
74
  gl.bindVertexArray(null);
141
75
  return vao;
142
- }
143
- draw(vao, length, opacity) {
144
- const { gl, program, cameraBlockTotem, cameraBindingPoint } = this;
76
+ };
77
+ Logic.prototype.draw = function (vao, length, opacity) {
78
+ var _a = this, gl = _a.gl, program = _a.program, cameraBlockTotem = _a.cameraBlockTotem, cameraBindingPoint = _a.cameraBindingPoint;
145
79
  gl.useProgram(program);
146
80
  if (this._lastOpacity !== opacity) {
147
81
  gl.uniform1f(program.uniforms.opacity, opacity);
@@ -152,16 +86,17 @@ class Logic {
152
86
  gl.drawArraysInstanced(gl.LINE_STRIP, 0, EDGE_COUNT_ON_SPHERE + 1, length);
153
87
  cameraBlockTotem.unbind(cameraBindingPoint);
154
88
  gl.bindVertexArray(null);
155
- }
156
- free() {
89
+ };
90
+ Logic.prototype.free = function () {
157
91
  if (this.isFreed)
158
92
  return;
159
93
  camerauniformblock_1.CameraUniformBlockTotemCache.release(this.globe);
160
94
  this.gl.deleteProgram(this.program);
161
95
  this.isFreed = true;
162
- }
163
- }
96
+ };
97
+ return Logic;
98
+ }());
164
99
  exports.CircleCache = Object.freeze({
165
- get: (globe) => programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic),
166
- release: (globe) => programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic)
100
+ get: function (globe) { return programcache_1.noRegisterGlobeProgramCache.getProgram(globe, Logic); },
101
+ release: function (globe) { return programcache_1.noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
167
102
  });