@pirireis/webglobeplugins 0.9.6 → 0.9.8

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 (304) hide show
  1. package/{Math → dist/Math}/angle-calculation.js +15 -14
  2. package/dist/Math/arc.js +65 -0
  3. package/{Math → dist/Math}/bounds/line-bbox.js +188 -225
  4. package/dist/Math/constants.js +9 -0
  5. package/{Math/frustum/camera.ts → dist/Math/frustum/camera.js} +24 -32
  6. package/{Math/frustum/from-globeinfo.ts → dist/Math/frustum/from-globeinfo.js} +48 -63
  7. package/dist/Math/frustum/types.js +2 -0
  8. package/{Math/globe-util/horizon-plane.ts → dist/Math/globe-util/horizon-plane.js} +112 -137
  9. package/dist/Math/index.js +1 -0
  10. package/dist/Math/juction/arc-plane.js +83 -0
  11. package/dist/Math/juction/line-sphere.js +25 -0
  12. package/{Math/juction/plane-plane.ts → dist/Math/juction/plane-plane.js} +58 -66
  13. package/dist/Math/line.js +56 -0
  14. package/dist/Math/matrix4.js +1 -0
  15. package/{Math → dist/Math}/methods.js +201 -237
  16. package/dist/Math/plane.js +60 -0
  17. package/{Math/quaternion.ts → dist/Math/quaternion.js} +104 -120
  18. package/dist/Math/types.js +2 -0
  19. package/dist/Math/utils.js +4 -0
  20. package/{Math/vec3.ts → dist/Math/vec3.js} +126 -155
  21. package/dist/algorithms/search-binary.js +19 -0
  22. package/dist/altitude-locator/adaptors.js +1 -0
  23. package/{altitude-locator → dist/altitude-locator}/draw-subset-obj.js +18 -27
  24. package/dist/altitude-locator/keymethod.js +1 -0
  25. package/{altitude-locator → dist/altitude-locator}/plugin.js +341 -439
  26. package/{altitude-locator → dist/altitude-locator}/types.js +23 -26
  27. package/{arrowfield → dist/arrowfield}/adaptor.js +14 -11
  28. package/dist/arrowfield/index.js +10 -0
  29. package/{arrowfield → dist/arrowfield}/plugin.js +86 -128
  30. package/dist/bearing-line/index.js +8 -0
  31. package/{bearing-line → dist/bearing-line}/plugin.js +449 -512
  32. package/{circle-line-chain → dist/circle-line-chain}/chain-list-map.js +205 -221
  33. package/dist/circle-line-chain/init.js +1 -0
  34. package/{circle-line-chain → dist/circle-line-chain}/plugin.js +424 -469
  35. package/dist/circle-line-chain/util.js +5 -0
  36. package/{compass-rose → dist/compass-rose}/compass-rose-padding-flat.js +225 -266
  37. package/{compass-rose → dist/compass-rose}/compass-text-writer.js +153 -173
  38. package/dist/compass-rose/index.js +7 -0
  39. package/{compassrose → dist/compassrose}/compassrose.js +296 -341
  40. package/dist/compassrose/index.js +8 -0
  41. package/dist/globe-types.js +1 -0
  42. package/dist/heatwave/index.js +10 -0
  43. package/{heatwave → dist/heatwave}/isobar/objectarraylabels.js +202 -247
  44. package/{heatwave → dist/heatwave}/isobar/plugin.js +343 -340
  45. package/{heatwave → dist/heatwave}/isobar/quadtreecontours.js +300 -336
  46. package/{heatwave → dist/heatwave}/plugins/heatwaveglobeshell.js +206 -258
  47. package/dist/index.js +58 -0
  48. package/{jest.config.js → dist/jest.config.js} +7 -6
  49. package/{partialrings → dist/partialrings}/buffer-manager.js +81 -89
  50. package/dist/partialrings/index.js +41 -0
  51. package/{partialrings → dist/partialrings}/plugin.js +135 -160
  52. package/{partialrings → dist/partialrings}/program.js +204 -242
  53. package/{pin → dist/pin}/pin-object-array.js +305 -381
  54. package/{pin → dist/pin}/pin-point-totem.js +60 -77
  55. package/{point-heat-map → dist/point-heat-map}/adaptors/timetracksplugin-format-to-this.js +66 -78
  56. package/dist/point-heat-map/index.js +1 -0
  57. package/{point-heat-map → dist/point-heat-map}/plugin-webworker.js +126 -151
  58. package/{point-heat-map → dist/point-heat-map}/point-to-heat-map-flow.js +127 -150
  59. package/dist/point-tracks/key-methods.js +5 -0
  60. package/{point-tracks → dist/point-tracks}/plugin.js +338 -394
  61. package/dist/programs/arrowfield/index.js +7 -0
  62. package/{programs → dist/programs}/arrowfield/logic.js +144 -173
  63. package/{programs → dist/programs}/arrowfield/object.js +66 -89
  64. package/{programs → dist/programs}/data2legend/density-to-legend.js +76 -90
  65. package/{programs → dist/programs}/data2legend/point-to-density-texture.js +76 -90
  66. package/dist/programs/float2legendwithratio/index.js +8 -0
  67. package/{programs → dist/programs}/float2legendwithratio/logic.js +122 -145
  68. package/{programs → dist/programs}/float2legendwithratio/object.js +110 -141
  69. package/{programs → dist/programs}/globe-util/is-globe-moved.js +21 -27
  70. package/dist/programs/globeshell/index.js +8 -0
  71. package/dist/programs/globeshell/noise/noises.js +1 -0
  72. package/dist/programs/globeshell/wiggle/index.js +8 -0
  73. package/{programs → dist/programs}/globeshell/wiggle/logic.js +246 -272
  74. package/{programs → dist/programs}/globeshell/wiggle/object.js +72 -93
  75. package/dist/programs/helpers/blender/index.js +1 -0
  76. package/{programs → dist/programs}/helpers/blender/program.js +61 -73
  77. package/dist/programs/helpers/fadeaway/index.js +7 -0
  78. package/{programs → dist/programs}/helpers/fadeaway/logic.js +49 -53
  79. package/dist/programs/helpers/fadeaway/object.js +20 -0
  80. package/dist/programs/helpers/index.js +8 -0
  81. package/dist/programs/index.js +58 -0
  82. package/dist/programs/interface.js +1 -0
  83. package/{programs → dist/programs}/line-on-globe/angled-line.js +125 -155
  84. package/{programs → dist/programs}/line-on-globe/circle-accurate-3d.js +95 -121
  85. package/{programs → dist/programs}/line-on-globe/circle-accurate-flat.js +158 -204
  86. package/{programs → dist/programs}/line-on-globe/circle-accurate.js +117 -141
  87. package/{programs → dist/programs}/line-on-globe/circle.js +111 -135
  88. package/{programs → dist/programs}/line-on-globe/degree-padding-around-circle-3d.js +111 -140
  89. package/dist/programs/line-on-globe/index.js +1 -0
  90. package/{programs → dist/programs}/line-on-globe/lines-color-instanced-flat.js +91 -106
  91. package/{programs/line-on-globe/linestrip.ts → dist/programs/line-on-globe/linestrip.js} +108 -165
  92. package/{programs → dist/programs}/line-on-globe/naive-accurate-flexible.js +127 -171
  93. package/{programs → dist/programs}/line-on-globe/to-the-surface.js +83 -101
  94. package/dist/programs/line-on-globe/util.js +8 -0
  95. package/{programs → dist/programs}/picking/pickable-renderer.js +107 -135
  96. package/{programs → dist/programs}/point-on-globe/element-globe-surface-glow.js +101 -127
  97. package/{programs → dist/programs}/point-on-globe/element-point-glow.js +88 -119
  98. package/{programs → dist/programs}/point-on-globe/square-pixel-point.js +126 -141
  99. package/{programs/programcache.ts → dist/programs/programcache.js} +131 -131
  100. package/{programs → dist/programs}/rings/distancering/circleflatprogram.js +115 -95
  101. package/{programs → dist/programs}/rings/distancering/circlepaddingfreeangleprogram.js +320 -329
  102. package/{programs → dist/programs}/rings/distancering/circlepaddysharedbuffer.js +357 -420
  103. package/dist/programs/rings/distancering/index.js +14 -0
  104. package/{programs → dist/programs}/rings/distancering/paddyflatprogram.js +120 -94
  105. package/{programs → dist/programs}/rings/distancering/paddyflatprogram2d.js +122 -98
  106. package/{programs → dist/programs}/rings/distancering/paddyflatprogram3d.js +120 -94
  107. package/dist/programs/rings/distancering/shader.js +1 -0
  108. package/dist/programs/rings/index.js +17 -0
  109. package/{programs → dist/programs}/rings/partial-ring/piece-of-pie.js +181 -221
  110. package/{programs → dist/programs}/totems/camerauniformblock.js +147 -184
  111. package/{programs → dist/programs}/totems/canvas-webglobe-info.js +102 -128
  112. package/{programs → dist/programs}/totems/gpu-selection-uniform-block.js +104 -128
  113. package/dist/programs/totems/index.js +40 -0
  114. package/dist/programs/two-d/pixel-circle.js +1 -0
  115. package/{programs → dist/programs}/two-d/pixel-padding-for-compass.js +101 -113
  116. package/{programs → dist/programs}/util.js +17 -20
  117. package/dist/programs/vectorfields/index.js +23 -0
  118. package/{programs → dist/programs}/vectorfields/logics/drawrectangleparticles.js +65 -83
  119. package/dist/programs/vectorfields/logics/index.js +12 -0
  120. package/{programs → dist/programs}/vectorfields/logics/pixelbased.js +84 -103
  121. package/{programs → dist/programs}/vectorfields/logics/ubo.js +55 -56
  122. package/{programs → dist/programs}/vectorfields/pingpongbuffermanager.js +76 -80
  123. package/dist/rangerings/enum.js +5 -0
  124. package/dist/rangerings/index.js +15 -0
  125. package/{rangerings → dist/rangerings}/plugin.js +560 -649
  126. package/{rangerings → dist/rangerings}/rangeringangletext.js +329 -368
  127. package/{rangerings → dist/rangerings}/ring-account.js +117 -129
  128. package/{shaders → dist/shaders}/fragment-toy/firework.js +5 -2
  129. package/{shaders → dist/shaders}/fragment-toy/singularity.js +5 -5
  130. package/{shape-on-terrain/arc/naive/plugin.ts → dist/shape-on-terrain/arc/naive/plugin.js} +252 -304
  131. package/{timetracks → dist/timetracks}/adaptors-line-strip.js +71 -80
  132. package/{timetracks → dist/timetracks}/adaptors.js +122 -133
  133. package/dist/timetracks/index.js +19 -0
  134. package/{timetracks → dist/timetracks}/plugin-line-strip.js +250 -295
  135. package/{timetracks → dist/timetracks}/plugin.js +258 -304
  136. package/{timetracks → dist/timetracks}/program-line-strip.js +416 -493
  137. package/{timetracks → dist/timetracks}/program.js +464 -542
  138. package/{timetracks → dist/timetracks}/programpoint-line-strip.js +101 -122
  139. package/{timetracks → dist/timetracks}/programpoint.js +101 -122
  140. package/{types.ts → dist/types.js} +15 -17
  141. package/{util → dist/util}/account/bufferoffsetmanager.js +179 -209
  142. package/dist/util/account/index.js +23 -0
  143. package/{util/account/single-attribute-buffer-management/buffer-manager.ts → dist/util/account/single-attribute-buffer-management/buffer-manager.js} +108 -119
  144. package/{util/account/single-attribute-buffer-management/buffer-orchestrator.ts → dist/util/account/single-attribute-buffer-management/buffer-orchestrator.js} +150 -173
  145. package/dist/util/account/single-attribute-buffer-management/index.js +9 -0
  146. package/{util/account/single-attribute-buffer-management/object-store.ts → dist/util/account/single-attribute-buffer-management/object-store.js} +51 -65
  147. package/dist/util/account/single-attribute-buffer-management/types.js +2 -0
  148. package/{util → dist/util}/account/util.js +22 -22
  149. package/dist/util/algorithms/index.js +1 -0
  150. package/{util → dist/util}/algorithms/search-binary.js +28 -26
  151. package/dist/util/check/get.js +18 -0
  152. package/dist/util/check/index.js +1 -0
  153. package/dist/util/check/typecheck.js +49 -0
  154. package/{util → dist/util}/geometry/index.js +51 -53
  155. package/{util/gl-util/buffer/attribute-loader.ts → dist/util/gl-util/buffer/attribute-loader.js} +69 -85
  156. package/dist/util/gl-util/buffer/index.js +6 -0
  157. package/dist/util/gl-util/buffer/types.js +1 -0
  158. package/dist/util/gl-util/draw-options/methods.js +38 -0
  159. package/dist/util/gl-util/draw-options/types.js +15 -0
  160. package/{util/gl-util/uniform-block/manager.ts → dist/util/gl-util/uniform-block/manager.js} +156 -187
  161. package/dist/util/gl-util/uniform-block/shader.js +1 -0
  162. package/dist/util/gl-util/uniform-block/types.js +8 -0
  163. package/{util → dist/util}/heatwavedatamanager/datamanager.js +152 -168
  164. package/dist/util/heatwavedatamanager/index.js +10 -0
  165. package/{util → dist/util}/heatwavedatamanager/pointcoordinatesdatacalculator.js +122 -133
  166. package/{util → dist/util}/heatwavedatamanager/pointcoordsmeta.js +20 -22
  167. package/dist/util/index.js +57 -0
  168. package/dist/util/interpolation/index.js +1 -0
  169. package/dist/util/interpolation/timetrack/index.js +5 -0
  170. package/{util → dist/util}/interpolation/timetrack/timetrack-interpolator.js +79 -88
  171. package/{util → dist/util}/interpolation/timetrack/web-worker-str.js +5 -2
  172. package/{util → dist/util}/interpolation/timetrack/web-worker.js +48 -51
  173. package/{util → dist/util}/jshelpers/data-filler.js +20 -19
  174. package/{util → dist/util}/jshelpers/equality.js +20 -17
  175. package/dist/util/jshelpers/index.js +37 -0
  176. package/{util → dist/util}/jshelpers/timefilters.js +32 -32
  177. package/{util → dist/util}/picking/fence.js +46 -46
  178. package/{util → dist/util}/picking/picker-displayer.js +139 -177
  179. package/{util → dist/util}/programs/draw-texture-on-canvas.js +69 -82
  180. package/dist/util/programs/index.js +17 -0
  181. package/{util → dist/util}/programs/shapesonglobe.js +174 -206
  182. package/{util → dist/util}/programs/supersampletotextures.js +103 -132
  183. package/{util → dist/util}/programs/texturetoglobe.js +133 -154
  184. package/{util/shaderfunctions/geometrytransformations.ts → dist/util/shaderfunctions/geometrytransformations.js} +68 -116
  185. package/dist/util/shaderfunctions/index.js +18 -0
  186. package/{util → dist/util}/shaderfunctions/nodata.js +5 -4
  187. package/{util → dist/util}/shaderfunctions/noisefunctions.js +9 -10
  188. package/{util/surface-line-data/arc-bboxes.ts → dist/util/surface-line-data/arc-bboxes.js} +25 -42
  189. package/{util → dist/util}/surface-line-data/arcs-to-cuts.js +50 -74
  190. package/dist/util/surface-line-data/cut-arc.js +1 -0
  191. package/{util/surface-line-data/flow.ts → dist/util/surface-line-data/flow.js} +28 -52
  192. package/dist/util/surface-line-data/rbush-manager.js +1 -0
  193. package/dist/util/surface-line-data/types.js +1 -0
  194. package/dist/util/surface-line-data/web-worker.js +1 -0
  195. package/dist/util/webglobe/gldefaultstates.js +7 -0
  196. package/dist/util/webglobe/index.js +18 -0
  197. package/{util → dist/util}/webglobe/rasteroverlay.js +78 -96
  198. package/{util/webglobjectbuilders.ts → dist/util/webglobjectbuilders.js} +388 -456
  199. package/{util → dist/util}/webglobjectbuilders1.js +237 -271
  200. package/{waveparticles → dist/waveparticles}/adaptor.js +17 -16
  201. package/dist/waveparticles/index.js +10 -0
  202. package/{waveparticles → dist/waveparticles}/plugin.js +266 -313
  203. package/{wind → dist/wind}/imagetovectorfieldandmagnitude.js +35 -39
  204. package/dist/wind/index.js +14 -0
  205. package/{wind → dist/wind}/plugin.js +681 -812
  206. package/{wind → dist/wind}/vectorfieldimage.js +25 -27
  207. package/{write-text → dist/write-text}/attached-text-writer.js +91 -105
  208. package/{write-text → dist/write-text}/context-text.js +98 -125
  209. package/{write-text → dist/write-text}/context-text3.js +155 -178
  210. package/dist/write-text/index.js +5 -0
  211. package/{write-text → dist/write-text}/writer-plugin.js +8 -7
  212. package/package.json +5 -2
  213. package/Math/arc.ts +0 -76
  214. package/Math/constants.ts +0 -11
  215. package/Math/frustum/types.ts +0 -11
  216. package/Math/index.js +0 -0
  217. package/Math/juction/arc-plane.ts +0 -114
  218. package/Math/juction/line-sphere.ts +0 -30
  219. package/Math/line.ts +0 -70
  220. package/Math/matrix4.ts +0 -0
  221. package/Math/plane.ts +0 -86
  222. package/Math/roadmap.md +0 -10
  223. package/Math/types.ts +0 -45
  224. package/Math/utils.js +0 -3
  225. package/algorithms/search-binary.js +0 -14
  226. package/altitude-locator/adaptors.js +0 -0
  227. package/altitude-locator/keymethod.js +0 -0
  228. package/arrowfield/index.js +0 -3
  229. package/bearing-line/index.js +0 -2
  230. package/circle-line-chain/init.js +0 -0
  231. package/circle-line-chain/readme.md +0 -57
  232. package/circle-line-chain/util.js +0 -1
  233. package/compass-rose/index.js +0 -3
  234. package/compassrose/index.js +0 -2
  235. package/depth-locator/readme.md +0 -26
  236. package/globe-types.ts +0 -13
  237. package/heatwave/index.js +0 -4
  238. package/partialrings/goals.md +0 -17
  239. package/partialrings/index.js +0 -3
  240. package/point-heat-map/index.js +0 -0
  241. package/point-heat-map/readme.md +0 -15
  242. package/point-tracks/key-methods.js +0 -3
  243. package/programs/arrowfield/index.js +0 -2
  244. package/programs/float2legendwithratio/index.js +0 -3
  245. package/programs/globeshell/index.js +0 -2
  246. package/programs/globeshell/noise/noises.js +0 -0
  247. package/programs/globeshell/wiggle/index.js +0 -6
  248. package/programs/helpers/blender/index.js +0 -0
  249. package/programs/helpers/fadeaway/index.js +0 -3
  250. package/programs/helpers/fadeaway/object.js +0 -20
  251. package/programs/helpers/index.js +0 -2
  252. package/programs/index.js +0 -21
  253. package/programs/interface.ts +0 -7
  254. package/programs/line-on-globe/index.js +0 -0
  255. package/programs/line-on-globe/util.js +0 -8
  256. package/programs/rings/distancering/index.js +0 -5
  257. package/programs/rings/distancering/shader.js +0 -0
  258. package/programs/rings/index.js +0 -1
  259. package/programs/totems/camerauniformblock.d.ts +0 -48
  260. package/programs/totems/index.ts +0 -2
  261. package/programs/two-d/pixel-circle.js +0 -0
  262. package/programs/vectorfields/index.js +0 -3
  263. package/programs/vectorfields/logics/index.js +0 -5
  264. package/publish.bat +0 -60
  265. package/rangerings/enum.js +0 -3
  266. package/rangerings/index.js +0 -5
  267. package/shape-on-terrain/goal.md +0 -12
  268. package/tests/Math/junction/arc-plane.test.ts +0 -133
  269. package/tests/Math/junction/plane-plane.test.ts +0 -82
  270. package/tests/Math/plane.test.ts +0 -43
  271. package/tests/Math/vec3.test.ts +0 -14
  272. package/timetracks/index.js +0 -6
  273. package/timetracks/readme.md +0 -1
  274. package/tsconfig.json +0 -22
  275. package/util/account/index.js +0 -6
  276. package/util/account/single-attribute-buffer-management/index.ts +0 -13
  277. package/util/account/single-attribute-buffer-management/types.ts +0 -39
  278. package/util/algorithms/index.js +0 -0
  279. package/util/check/get.js +0 -13
  280. package/util/check/index.js +0 -0
  281. package/util/check/typecheck.js +0 -39
  282. package/util/gl-util/buffer/index.ts +0 -6
  283. package/util/gl-util/buffer/types.ts +0 -13
  284. package/util/gl-util/draw-options/methods.ts +0 -66
  285. package/util/gl-util/draw-options/types.ts +0 -28
  286. package/util/gl-util/uniform-block/roadmap.md +0 -70
  287. package/util/gl-util/uniform-block/shader.js +0 -0
  288. package/util/gl-util/uniform-block/types.ts +0 -27
  289. package/util/heatwavedatamanager/index.js +0 -3
  290. package/util/index.js +0 -13
  291. package/util/interpolation/index.js +0 -0
  292. package/util/interpolation/timetrack/index.js +0 -9
  293. package/util/jshelpers/index.js +0 -1
  294. package/util/programs/index.js +0 -1
  295. package/util/shaderfunctions/index.js +0 -2
  296. package/util/surface-line-data/cut-arc.js +0 -0
  297. package/util/surface-line-data/rbush-manager.js +0 -0
  298. package/util/surface-line-data/types.ts +0 -27
  299. package/util/surface-line-data/web-worker.js +0 -0
  300. package/util/webglobe/gldefaultstates.js +0 -5
  301. package/util/webglobe/index.js +0 -2
  302. package/waveparticles/index.js +0 -3
  303. package/wind/index.js +0 -5
  304. package/write-text/index.js +0 -1
@@ -1,10 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vertexIDtoTextureCoordinate = void 0;
1
4
  const vertexIDtoTextureCoordinate = `
2
5
  vec2 vertexIDtoTextureCoordinate(float id, vec2 textureDimentions) {
3
6
  float x = mod(id, textureDimentions.x);
4
7
  float y = floor(id / textureDimentions.x);
5
8
  return vec2( x / textureDimentions.x, y / textureDimentions.y);
6
9
  }
7
- `;
8
-
9
-
10
- export {vertexIDtoTextureCoordinate};
10
+ `;
11
+ exports.vertexIDtoTextureCoordinate = vertexIDtoTextureCoordinate;
@@ -1,9 +1,10 @@
1
- const permute34 = ```vec3 permute34(vec3 x) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const permute34 = `` `vec3 permute34(vec3 x) {
2
4
  x = ((x * 34.0) + 1.0) * x;
3
5
  return x - floor(x * (1.0 / 289.0)) * 289.0;
4
- }```;
5
-
6
- const waveNoice = ```float waveNoice(vec2 v)
6
+ }` ``;
7
+ const waveNoice = `` `float waveNoice(vec2 v)
7
8
  {
8
9
  const vec4 C = vec4(0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439);
9
10
 
@@ -36,9 +37,7 @@ const waveNoice = ```float waveNoice(vec2 v)
36
37
  g.x = a0.x * x0.x + h.x * x0.y;
37
38
  g.yz = a0.yz * x12.xz + h.yz * x12.yw;
38
39
  return 130.0 * dot(m, g);
39
- }```;
40
-
41
-
42
- export default {
43
- permute34, waveNoice
44
- }
40
+ }` ``;
41
+ exports.default = {
42
+ permute34, waveNoice
43
+ };
@@ -1,42 +1,25 @@
1
-
2
-
3
- // function naiveBBox(a: number[], b: number[]): BBox {
4
- // return {
5
- // minX: Math.min(a[0], b[0]),
6
- // minY: Math.min(a[1], b[1]),
7
- // maxX: Math.max(a[0], b[0]),
8
- // maxY: Math.max(a[1], b[1])
9
- // };
10
-
11
- // }
12
-
13
-
14
- // function slerp(a: Vector, b: Vector, t: number, theta: number, sinTheta: number): Vector {
15
-
16
- // }
17
-
18
-
19
- // function getArcBBoxes(arc: Arc, dotStep: number = 0.025): BBox[] {
20
- // const start = arc.start;
21
- // const end = arc.end;
22
- // const a = [start[0], start[1], start[2]];
23
- // const b = [end[0], end[1], end[2]];
24
-
25
-
26
-
27
-
28
- // const theta = Math.acos(a[0] * b[0] + a[1] * b[1] + a[2] * b[2]);
29
- // const step = dotStep / theta;
30
-
31
- // if (step >= 1) {
32
- // return [naiveBBox(start, end)];
33
- // }
34
-
35
-
36
- // let points = [start] as Vector[];
37
-
38
-
39
- // let currentStep =
40
-
41
- // return bbox;
42
- // }
1
+ "use strict";
2
+ // function naiveBBox(a: number[], b: number[]): BBox {
3
+ // return {
4
+ // minX: Math.min(a[0], b[0]),
5
+ // minY: Math.min(a[1], b[1]),
6
+ // maxX: Math.max(a[0], b[0]),
7
+ // maxY: Math.max(a[1], b[1])
8
+ // };
9
+ // }
10
+ // function slerp(a: Vector, b: Vector, t: number, theta: number, sinTheta: number): Vector {
11
+ // }
12
+ // function getArcBBoxes(arc: Arc, dotStep: number = 0.025): BBox[] {
13
+ // const start = arc.start;
14
+ // const end = arc.end;
15
+ // const a = [start[0], start[1], start[2]];
16
+ // const b = [end[0], end[1], end[2]];
17
+ // const theta = Math.acos(a[0] * b[0] + a[1] * b[1] + a[2] * b[2]);
18
+ // const step = dotStep / theta;
19
+ // if (step >= 1) {
20
+ // return [naiveBBox(start, end)];
21
+ // }
22
+ // let points = [start] as Vector[];
23
+ // let currentStep =
24
+ // return bbox;
25
+ // }
@@ -1,74 +1,50 @@
1
-
2
-
3
-
4
-
5
- class ArcsToCutsManager {
6
-
7
- constructor(rbush, { dotDistanceOfArcCuts = 0.01 }) {
8
-
9
- this._map = new Map();
10
- this._dotDistanceOfArcCuts = dotDistanceOfArcCuts;
11
- this._rbush = rbush;
12
- }
13
-
14
-
15
-
16
- insertArcs(arc) {
17
-
18
- if (this._map.has(arc.id)) {
19
- this._deleteCuts(arc.id);
20
- }
21
-
22
-
23
- }
24
-
25
- _deleteCuts(id) {
26
- const cuts = this._map.get(id);
27
- if (cuts) {
28
- cuts.forEach(cut => cut.remove());
29
- }
30
- }
31
-
32
-
33
- _cutArcAndAddToRBush(arc) {
34
- const cuts = this._cutArcToBBoxs(arc);
35
- cuts.forEach(cut => {
36
- this._rbush.insert(cut);
37
- });
38
- this._map.set(arc.id, cuts);
39
- }
40
-
41
-
42
- _cutArcToBBoxs(arc) {
43
- const cuts = [];
44
-
45
- // Calculate the bounding box of the arc
46
-
47
-
48
- // Create a cut object and add it to the cuts array
49
- const cut = {
50
- minX: bbox.minX,
51
- minY: bbox.minY,
52
- maxX: bbox.maxX,
53
- maxY: bbox.maxY,
54
- arcId: arc.id,
55
- };
56
-
57
- cuts.push(cut);
58
- return cuts;
59
- }
60
- }
61
-
62
-
63
-
64
- function sphericalLinearInterpolation(phi1, lambda1, phi2, lambda2, t) {
65
- // Spherical linear interpolation between two points on a sphere
66
- // Args: phi1, lambda1: starting point (in radians)
67
- // phi2, lambda2: ending point (in radians)
68
- // t: interpolation parameter (0 <= t <= 1)
69
- // Returns: [phi, lambda] in radians
70
-
71
- const phi = phi1 + t * (phi2 - phi1);
72
- const lambda = lambda1 + t * (lambda2 - lambda1);
73
- return [phi, lambda];
74
- }
1
+ "use strict";
2
+ class ArcsToCutsManager {
3
+ constructor(rbush, { dotDistanceOfArcCuts = 0.01 }) {
4
+ this._map = new Map();
5
+ this._dotDistanceOfArcCuts = dotDistanceOfArcCuts;
6
+ this._rbush = rbush;
7
+ }
8
+ insertArcs(arc) {
9
+ if (this._map.has(arc.id)) {
10
+ this._deleteCuts(arc.id);
11
+ }
12
+ }
13
+ _deleteCuts(id) {
14
+ const cuts = this._map.get(id);
15
+ if (cuts) {
16
+ cuts.forEach(cut => cut.remove());
17
+ }
18
+ }
19
+ _cutArcAndAddToRBush(arc) {
20
+ const cuts = this._cutArcToBBoxs(arc);
21
+ cuts.forEach(cut => {
22
+ this._rbush.insert(cut);
23
+ });
24
+ this._map.set(arc.id, cuts);
25
+ }
26
+ _cutArcToBBoxs(arc) {
27
+ const cuts = [];
28
+ // Calculate the bounding box of the arc
29
+ // Create a cut object and add it to the cuts array
30
+ const cut = {
31
+ minX: bbox.minX,
32
+ minY: bbox.minY,
33
+ maxX: bbox.maxX,
34
+ maxY: bbox.maxY,
35
+ arcId: arc.id,
36
+ };
37
+ cuts.push(cut);
38
+ return cuts;
39
+ }
40
+ }
41
+ function sphericalLinearInterpolation(phi1, lambda1, phi2, lambda2, t) {
42
+ // Spherical linear interpolation between two points on a sphere
43
+ // Args: phi1, lambda1: starting point (in radians)
44
+ // phi2, lambda2: ending point (in radians)
45
+ // t: interpolation parameter (0 <= t <= 1)
46
+ // Returns: [phi, lambda] in radians
47
+ const phi = phi1 + t * (phi2 - phi1);
48
+ const lambda = lambda1 + t * (lambda2 - lambda1);
49
+ return [phi, lambda];
50
+ }
@@ -0,0 +1 @@
1
+ "use strict";
@@ -1,52 +1,28 @@
1
-
2
-
3
-
4
-
5
- // class FlowManager {
6
- // _populateCount: number;
7
- // _rbush: RBush<any>;
8
- // _arcToCutsManager: ArcToCutsManager;
9
- // consturctor({ populateCount = 36, dotDistanceOfArcCuts = 1 / Math.pow(2, 10 - 1) }) {
10
- // this._populateCount = populateCount;
11
-
12
- // // does the cutting and id mapping(one to many)
13
- // // cuts have their bbox ready for rbush
14
- // this._rbush = new RBush(1000);
15
- // this._arcToCutsManager = new ArcToCutsManager({ dotDistanceOfArcCuts, rbush: this._rbush }); // 10km
16
-
17
- // }
18
-
19
-
20
-
21
-
22
-
23
- // /**
24
- // * adds or updates an arc in the rbush and the cuts manager
25
- // */
26
- // insertArc(arc: Arc) {
27
- // this._arcToCutsManager.insertArc(arc);
28
-
29
- // }
30
-
31
-
32
-
33
- // deleteArc(id: Arc['id']) {
34
- // this._arcToCutsManager.deleteArc(id);
35
- // }
36
-
37
-
38
- // queryBBox(bbox: BBox) {
39
-
40
- // const arcIDSet = new Set(this._rbush.query(bbox).map(x => x.id)); // sets Of ids of arcs
41
-
42
- // // arcs U bbox => arcs
43
-
44
-
45
- // // populate points
46
- // // return typed array of points belonging to all the arcs of cuts
47
- // }
48
-
49
-
50
-
51
-
52
- // }
1
+ "use strict";
2
+ // class FlowManager {
3
+ // _populateCount: number;
4
+ // _rbush: RBush<any>;
5
+ // _arcToCutsManager: ArcToCutsManager;
6
+ // consturctor({ populateCount = 36, dotDistanceOfArcCuts = 1 / Math.pow(2, 10 - 1) }) {
7
+ // this._populateCount = populateCount;
8
+ // // does the cutting and id mapping(one to many)
9
+ // // cuts have their bbox ready for rbush
10
+ // this._rbush = new RBush(1000);
11
+ // this._arcToCutsManager = new ArcToCutsManager({ dotDistanceOfArcCuts, rbush: this._rbush }); // 10km
12
+ // }
13
+ // /**
14
+ // * adds or updates an arc in the rbush and the cuts manager
15
+ // */
16
+ // insertArc(arc: Arc) {
17
+ // this._arcToCutsManager.insertArc(arc);
18
+ // }
19
+ // deleteArc(id: Arc['id']) {
20
+ // this._arcToCutsManager.deleteArc(id);
21
+ // }
22
+ // queryBBox(bbox: BBox) {
23
+ // const arcIDSet = new Set(this._rbush.query(bbox).map(x => x.id)); // sets Of ids of arcs
24
+ // // arcs U bbox => arcs
25
+ // // populate points
26
+ // // return typed array of points belonging to all the arcs of cuts
27
+ // }
28
+ // }
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultblendfunction = defaultblendfunction;
4
+ function defaultblendfunction(gl) {
5
+ gl.blendEquation(gl.FUNC_ADD); // TODO: TESTING THIS
6
+ gl.blendFuncSeparate(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
7
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./rasteroverlay"), exports);
18
+ __exportStar(require("./gldefaultstates"), exports);
@@ -1,96 +1,78 @@
1
- /**
2
- * Iceride bir canvas uretir ve degisiklikler bu kanvasta yapilir
3
- */
4
-
5
- // this class loads texture to raster overlay
6
- class RasterOverlayLoader {
7
- constructor(id, globe, { opacity = 1.0, minLon = -180, minLat = -90, maxLon = 180, maxLat = 90, beforeObject = null, canvas = null, callBack = null } = {}) {
8
-
9
- this.canvas = canvas || document.createElement('canvas');
10
- this.gl = this.canvas.getContext('webgl2');
11
- this.globe = globe;
12
- this.id = id;
13
- this._opacity = opacity;
14
- this.bbox = { ll: { x: minLon, y: minLat }, ur: { x: maxLon, y: maxLat } };
15
-
16
- this._beforeObject = beforeObject;
17
-
18
- this._isProcessing = false;
19
- this._callBack = callBack;
20
-
21
- }
22
-
23
- getGL() {
24
- return this.gl;
25
- }
26
-
27
- getCanvasURL() {
28
- return this.canvas.toDataURL();
29
- }
30
-
31
- setBBox(minLon, minLat, maxLon, maxLat) {
32
- this.bbox = { ll: { x: minLon, y: minLat }, ur: { x: maxLon, y: maxLat } };
33
- this.draw();
34
- }
35
-
36
- setCanvasWidthHeight(width, height) {
37
- this.canvas.width = width;
38
- this.canvas.height = height;
39
- this.gl.viewport(0, 0, width, height);
40
- }
41
-
42
-
43
- draw() {
44
- if (!this._isProcessing) {
45
- requestAnimationFrame(this._draw.bind(this));
46
- this._isProcessing = true;
47
- }
48
- }
49
-
50
-
51
- _draw() {
52
- this.globe.api_DeleteImageOverlay(this.id);
53
- const id = this.id;
54
- const imgUrl = this.getCanvasURL()
55
- const bbox = this.bbox
56
- const opacity = this._opacity
57
- const rotDeg = 0
58
- const color = null
59
- const beforeObject = this._beforeObject
60
- const callback = this._callBack || function () { };
61
- this.globe.api_AddImageOverlay(id, imgUrl, bbox, color, opacity, rotDeg, beforeObject, callback);
62
- this._isProcessing = false;
63
- }
64
-
65
- setBeforeObject(beforeObject) {
66
- this._beforeObject = beforeObject;
67
- this.draw();
68
- }
69
-
70
- setCallback(callback) {
71
- this._callBack = callback;
72
- }
73
-
74
- setOpacity(opacity) {
75
- if (opacity < 0 || opacity > 1) { return; }
76
- this._opacity = opacity;
77
- this.globe.api_SetImageOverlayColor(this.id, null, opacity)
78
- }
79
-
80
-
81
- free() {
82
- this.globe.api_DeleteImageOverlay(this.id);
83
- }
84
-
85
-
86
- on() {
87
- this.draw();
88
- }
89
-
90
- off() {
91
- this.globe.api_DeleteImageOverlay(this.id);
92
- }
93
-
94
- }
95
-
96
- export { RasterOverlayLoader };
1
+ "use strict";
2
+ /**
3
+ * Iceride bir canvas uretir ve degisiklikler bu kanvasta yapilir
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RasterOverlayLoader = void 0;
7
+ // this class loads texture to raster overlay
8
+ class RasterOverlayLoader {
9
+ constructor(id, globe, { opacity = 1.0, minLon = -180, minLat = -90, maxLon = 180, maxLat = 90, beforeObject = null, canvas = null, callBack = null } = {}) {
10
+ this.canvas = canvas || document.createElement('canvas');
11
+ this.gl = this.canvas.getContext('webgl2');
12
+ this.globe = globe;
13
+ this.id = id;
14
+ this._opacity = opacity;
15
+ this.bbox = { ll: { x: minLon, y: minLat }, ur: { x: maxLon, y: maxLat } };
16
+ this._beforeObject = beforeObject;
17
+ this._isProcessing = false;
18
+ this._callBack = callBack;
19
+ }
20
+ getGL() {
21
+ return this.gl;
22
+ }
23
+ getCanvasURL() {
24
+ return this.canvas.toDataURL();
25
+ }
26
+ setBBox(minLon, minLat, maxLon, maxLat) {
27
+ this.bbox = { ll: { x: minLon, y: minLat }, ur: { x: maxLon, y: maxLat } };
28
+ this.draw();
29
+ }
30
+ setCanvasWidthHeight(width, height) {
31
+ this.canvas.width = width;
32
+ this.canvas.height = height;
33
+ this.gl.viewport(0, 0, width, height);
34
+ }
35
+ draw() {
36
+ if (!this._isProcessing) {
37
+ requestAnimationFrame(this._draw.bind(this));
38
+ this._isProcessing = true;
39
+ }
40
+ }
41
+ _draw() {
42
+ this.globe.api_DeleteImageOverlay(this.id);
43
+ const id = this.id;
44
+ const imgUrl = this.getCanvasURL();
45
+ const bbox = this.bbox;
46
+ const opacity = this._opacity;
47
+ const rotDeg = 0;
48
+ const color = null;
49
+ const beforeObject = this._beforeObject;
50
+ const callback = this._callBack || function () { };
51
+ this.globe.api_AddImageOverlay(id, imgUrl, bbox, color, opacity, rotDeg, beforeObject, callback);
52
+ this._isProcessing = false;
53
+ }
54
+ setBeforeObject(beforeObject) {
55
+ this._beforeObject = beforeObject;
56
+ this.draw();
57
+ }
58
+ setCallback(callback) {
59
+ this._callBack = callback;
60
+ }
61
+ setOpacity(opacity) {
62
+ if (opacity < 0 || opacity > 1) {
63
+ return;
64
+ }
65
+ this._opacity = opacity;
66
+ this.globe.api_SetImageOverlayColor(this.id, null, opacity);
67
+ }
68
+ free() {
69
+ this.globe.api_DeleteImageOverlay(this.id);
70
+ }
71
+ on() {
72
+ this.draw();
73
+ }
74
+ off() {
75
+ this.globe.api_DeleteImageOverlay(this.id);
76
+ }
77
+ }
78
+ exports.RasterOverlayLoader = RasterOverlayLoader;