@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,77 +1,60 @@
1
- /**
2
- * This class registered as globe plugin one for each globe. to the head of plugin call stack.
3
- */
4
-
5
- class PinPointTotem {
6
- constructor(globe) {
7
-
8
- this.objectArrayMap = new Map()
9
- }
10
-
11
-
12
- /**
13
- * objectArray
14
- * callbacks ={
15
- * mouseDown,
16
- * mouseMove,
17
- * mouseUp,
18
- * mouseClick,
19
- * mouseDbClick,
20
- * keyDown,
21
- * keyUp
22
- * }
23
- */
24
- registerPinMap(objectArray, callbacks) {
25
- this.objectArrayMap.set(objectArray, callbacks);
26
- }
27
-
28
- unregisterPinMap(objectArray) {
29
- if (this.objectArrayMap.has(objectArray)) {
30
- this.objectArrayMap.delete(objectArray);
31
- } else {
32
- console.warn('PinPointTotem objectArrayMap does not contain the objectArray')
33
- }
34
- }
35
-
36
-
37
- // GlobeMethods
38
- // haritada sol butona basıldığında çağrılır
39
- mouseDown(x, y, event) {
40
-
41
- return false
42
- }
43
-
44
- // mouse'a basılıp hareket ettirildiğinde, mouseDown'dan true dönmüşse çağrılır
45
- mouseMove(x, y, event) {
46
-
47
- }
48
-
49
- // mouse up'ın left'i mouseDown'dan true dönmüşse çağrılır, edit mode içindir
50
- // right'i ise sağ tıka basılıp bırakıldığında çağrılır
51
- mouseUp(x, y, event) {
52
-
53
- }
54
-
55
- // harita üzerinde tıklandığında çağrılır
56
- mouseClick(x, y, event) {
57
-
58
- return false
59
- }
60
-
61
- // harita üzerinde çift tıklandığında çağrılır
62
- mouseDblClick(x, y, event) {
63
- return false
64
- }
65
-
66
- // klavyeden bir tuşa basıldığı anda ve tuşa basılı kalınmaya devam edildiği durumlarda çalışır
67
- keyDown(event) {
68
- return false
69
- }
70
-
71
- // klavyedeki bir tuştan parmak çekildiği anda çalışır
72
- keyUp(event) {
73
-
74
- return false
75
- }
76
-
77
- }
1
+ "use strict";
2
+ /**
3
+ * This class registered as globe plugin one for each globe. to the head of plugin call stack.
4
+ */
5
+ class PinPointTotem {
6
+ constructor(globe) {
7
+ this.objectArrayMap = new Map();
8
+ }
9
+ /**
10
+ * objectArray
11
+ * callbacks ={
12
+ * mouseDown,
13
+ * mouseMove,
14
+ * mouseUp,
15
+ * mouseClick,
16
+ * mouseDbClick,
17
+ * keyDown,
18
+ * keyUp
19
+ * }
20
+ */
21
+ registerPinMap(objectArray, callbacks) {
22
+ this.objectArrayMap.set(objectArray, callbacks);
23
+ }
24
+ unregisterPinMap(objectArray) {
25
+ if (this.objectArrayMap.has(objectArray)) {
26
+ this.objectArrayMap.delete(objectArray);
27
+ }
28
+ else {
29
+ console.warn('PinPointTotem objectArrayMap does not contain the objectArray');
30
+ }
31
+ }
32
+ // GlobeMethods
33
+ // haritada sol butona basıldığında çağrılır
34
+ mouseDown(x, y, event) {
35
+ return false;
36
+ }
37
+ // mouse'a basılıp hareket ettirildiğinde, mouseDown'dan true dönmüşse çağrılır
38
+ mouseMove(x, y, event) {
39
+ }
40
+ // mouse up'ın left'i mouseDown'dan true dönmüşse çağrılır, edit mode içindir
41
+ // right'i ise sağ tıka basılıp bırakıldığında çağrılır
42
+ mouseUp(x, y, event) {
43
+ }
44
+ // harita üzerinde tıklandığında çağrılır
45
+ mouseClick(x, y, event) {
46
+ return false;
47
+ }
48
+ // harita üzerinde çift tıklandığında çağrılır
49
+ mouseDblClick(x, y, event) {
50
+ return false;
51
+ }
52
+ // klavyeden bir tuşa basıldığı anda ve tuşa basılı kalınmaya devam edildiği durumlarda çalışır
53
+ keyDown(event) {
54
+ return false;
55
+ }
56
+ // klavyedeki bir tuştan parmak çekildiği anda çalışır
57
+ keyUp(event) {
58
+ return false;
59
+ }
60
+ }
@@ -1,78 +1,66 @@
1
- /**
2
- * @typedef {Float32Array} TimeTrackMultiColorData | A linestring is representation, let A{a1, a2, a3}, B{b1, b2} be the points of the line.
3
- * TimeTrackMultiColorData is [
4
- * a1x, a1y, a1z, a1time, a1r, a1g, a1b, a1time, a3time,
5
- * a2x, a2y, a2z, a2time, a2r, a2g, a2b, a1time, a3time,
6
- * a3x, a3y, a3z, a3time, a3r, a3g, a3b, a1time, a3time,
7
- * 0, 0, 0, 0, -1, -1, -1, 0, 0,
8
- * b1x, b1y, b1z, b1time, b1r, b1g, b1b, b1time, b2time,
9
- * b2x, b2y, b2z, b2time, b2r, b2g, b2b, BstartTime, BendTime
10
- * ]
11
- * there is a cutting point between A and B
12
- *
13
- */
14
-
15
- /**
16
- * ABOVE
17
- * TO
18
- * BELOW
19
-
20
- /**
21
- * @typedef {Array<number>} vec3 [x, y, z]
22
- * @typedef {Array<number>} vec2 [x, y]
23
- * @typedef {Array<number>} vec4 [x, y, z, w]
24
- * @typedef {number} fraction a number between 0 and 1
25
- * @typedef {Array<number>} wgs84 [long, lat]
26
- */
27
-
28
-
29
- /**
30
- * @typedef Timetrack
31
- * @property {Array<vec4>}} coordinates [x,y,z, length]
32
- * @property {Array<Number>} times
33
- * @param {Array<Timetrack>} timeTracks
34
- */
35
-
36
-
37
-
38
- import { pixelXYLenghtToUnitVectorWithHeight } from "../../Math/methods";
39
-
40
-
41
-
42
- const processACut = (array, offset) => {
43
- // first 3 values of array
44
- const v3 = array.slice(offset, offset + 3);
45
- const v4 = pixelXYLenghtToUnitVectorWithHeight(v3);
46
- const time = array[offset + 3];
47
- return [v4, time];
48
- }
49
-
50
-
51
- const timeTrackPluginDataToPointHeatInterpolatorAdapter = (timeTrackPluginData) => {
52
- const timeTracks = []
53
-
54
- let offset = 0;
55
-
56
- let timeTrack = {
57
- coordinates: [],
58
- times: []
59
- }
60
- while (offset < timeTrackPluginData.length) {
61
- if (!timeTrackPluginData[offset]) {
62
- timeTracks.push(timeTrack);
63
- timeTrack = {
64
- coordinates: [],
65
- times: []
66
- }
67
- offset += 9;
68
- }
69
- const point = processACut(timeTrackPluginData, offset);
70
- offset += 9;
71
- timeTrack.coordinates.push(point[0]);
72
- timeTrack.times.push(point[1]);
73
- }
74
- return timeTracks;
75
- }
76
-
77
-
78
- export { timeTrackPluginDataToPointHeatInterpolatorAdapter };
1
+ "use strict";
2
+ /**
3
+ * @typedef {Float32Array} TimeTrackMultiColorData | A linestring is representation, let A{a1, a2, a3}, B{b1, b2} be the points of the line.
4
+ * TimeTrackMultiColorData is [
5
+ * a1x, a1y, a1z, a1time, a1r, a1g, a1b, a1time, a3time,
6
+ * a2x, a2y, a2z, a2time, a2r, a2g, a2b, a1time, a3time,
7
+ * a3x, a3y, a3z, a3time, a3r, a3g, a3b, a1time, a3time,
8
+ * 0, 0, 0, 0, -1, -1, -1, 0, 0,
9
+ * b1x, b1y, b1z, b1time, b1r, b1g, b1b, b1time, b2time,
10
+ * b2x, b2y, b2z, b2time, b2r, b2g, b2b, BstartTime, BendTime
11
+ * ]
12
+ * there is a cutting point between A and B
13
+ *
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.timeTrackPluginDataToPointHeatInterpolatorAdapter = void 0;
17
+ /**
18
+ * ABOVE
19
+ * TO
20
+ * BELOW
21
+
22
+ /**
23
+ * @typedef {Array<number>} vec3 [x, y, z]
24
+ * @typedef {Array<number>} vec2 [x, y]
25
+ * @typedef {Array<number>} vec4 [x, y, z, w]
26
+ * @typedef {number} fraction a number between 0 and 1
27
+ * @typedef {Array<number>} wgs84 [long, lat]
28
+ */
29
+ /**
30
+ * @typedef Timetrack
31
+ * @property {Array<vec4>}} coordinates [x,y,z, length]
32
+ * @property {Array<Number>} times
33
+ * @param {Array<Timetrack>} timeTracks
34
+ */
35
+ const methods_1 = require("../../Math/methods");
36
+ const processACut = (array, offset) => {
37
+ // first 3 values of array
38
+ const v3 = array.slice(offset, offset + 3);
39
+ const v4 = (0, methods_1.pixelXYLenghtToUnitVectorWithHeight)(v3);
40
+ const time = array[offset + 3];
41
+ return [v4, time];
42
+ };
43
+ const timeTrackPluginDataToPointHeatInterpolatorAdapter = (timeTrackPluginData) => {
44
+ const timeTracks = [];
45
+ let offset = 0;
46
+ let timeTrack = {
47
+ coordinates: [],
48
+ times: []
49
+ };
50
+ while (offset < timeTrackPluginData.length) {
51
+ if (!timeTrackPluginData[offset]) {
52
+ timeTracks.push(timeTrack);
53
+ timeTrack = {
54
+ coordinates: [],
55
+ times: []
56
+ };
57
+ offset += 9;
58
+ }
59
+ const point = processACut(timeTrackPluginData, offset);
60
+ offset += 9;
61
+ timeTrack.coordinates.push(point[0]);
62
+ timeTrack.times.push(point[1]);
63
+ }
64
+ return timeTracks;
65
+ };
66
+ exports.timeTrackPluginDataToPointHeatInterpolatorAdapter = timeTrackPluginDataToPointHeatInterpolatorAdapter;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -1,151 +1,126 @@
1
- import { PointHeatmapFlow } from "./point-to-heat-map-flow";
2
- // import { webworkerStr } from "../util/interpolation/timetrack/web-worker-str"; // TODO: Delete When this plugin is tested on production
3
- import { createWorker } from "../util/interpolation/timetrack/index";
4
- import { createTexture, getColorRampModed } from "../util";
5
- import { opacityCheck, constraintFloat } from "../util/check/typecheck";
6
-
7
- class PointHeatmapPlugin {
8
-
9
- constructor(id, { opacity = 1.0, pointSize = 5.0, onInterpolationComplete = () => { } } = {}) {
10
- this.id = id;
11
- this.globe = null;
12
- this.gl = null;
13
- this.densityToLegendProgram = null;
14
- this._time = null;
15
-
16
- this._opacity = opacity;
17
- this._pointSize = pointSize;
18
- this._legendTexture = null;
19
-
20
- this._throttleListener = null;
21
- this._timeTracksAreSet = false;
22
- // const blob = new Blob([webworkerStr], { type: 'application/javascript' });
23
- // this.timeTrackInterpolationWorker = new Worker(URL.createObjectURL(blob), { type: 'module' });
24
- this.timeTrackInterpolationWorker = createWorker();
25
- this.timeTrackInterpolationWorker.onmessage = (e) => {
26
- if (e.data.error) {
27
- throw new Error(e.data.error);
28
- }
29
- if (e.data === true) {
30
- onInterpolationComplete();
31
- }
32
- if (e.data instanceof Float32Array) {
33
- this.flow.setData(e.data);
34
- this._throttleListener = null;
35
- onInterpolationComplete();
36
- }
37
- }
38
- }
39
-
40
- // globe interaction
41
-
42
- init(globe, gl) {
43
- this.globe = globe;
44
- this.gl = gl;
45
- this.flow = new PointHeatmapFlow(globe);
46
- this.setGeometry();
47
- this.resize();
48
- }
49
-
50
-
51
- setPointSize(pointSize) {
52
- constraintFloat(pointSize, 1);
53
- this._pointSize = pointSize;
54
- this.globe.DrawRender();
55
- }
56
-
57
-
58
- /**
59
- * @param {Array<string>}
60
- * @param {string} mode "interpolated" | "discrete"
61
- */
62
-
63
- setColorRamp(values, thresholds, mode = "interpolated") {
64
- const gl = this.gl
65
- if (this.gl === null) {
66
- throw new Error('Plugin not initialized');
67
- };
68
- const rampData = getColorRampModed(values, thresholds, mode);
69
- const texture = createTexture(gl, gl.LINEAR, rampData, 256, 1);
70
- if (this._legendTexture) {
71
- this.gl.deleteTexture(this._legendTexture);
72
- }
73
- this._legendTexture = texture;
74
- this.globe.DrawRender();
75
- }
76
-
77
-
78
- setTime(time) {
79
- // TODO: WORK ON THIS
80
- this._time = time;
81
- if (this.isReady() && this._throttleListener === null) {
82
- this._throttleListener = setTimeout(() => {
83
- this.timeTrackInterpolationWorker.postMessage({ time: this._time });
84
- }, 0);
85
- }
86
- }
87
-
88
-
89
- setTimetracks(timeTracks) {
90
- this._timeTracksAreSet = true;
91
- this.timeTrackInterpolationWorker.postMessage({ timeTracks });
92
- if (this._time !== null) {
93
- this.setTime(this._time);
94
- }
95
- this.globe.DrawRender();
96
- }
97
-
98
-
99
- setOpacity(opacity) {
100
- opacityCheck(opacity);
101
- this._opacity = opacity;
102
- this.globe.DrawRender();
103
- }
104
-
105
-
106
-
107
- setGeometry() {
108
- const geometry = this.globe.api_GetCurrentGeometry();
109
- this.timeTrackInterpolationWorker.postMessage({ geometry });
110
- if (this._time !== null) {
111
- this.setTime(this._time);
112
- }
113
- }
114
-
115
-
116
- draw3D() {
117
- if (this.isReady()) {
118
- this.flow.draw(this._legendTexture, this._pointSize, this._opacity);
119
- }
120
- }
121
-
122
-
123
- resize() {
124
- this.flow.resize();
125
- if (this._time !== null) {
126
- this.setTime(this._time);
127
- }
128
- }
129
-
130
-
131
- isReady() {
132
- return (this.gl !== null && this._legendTexture !== null && this._timeTracksAreSet);
133
- }
134
-
135
- free() {
136
- if (this._isFreed) return;
137
- this.gl.deleteTexture(this._legendTexture);
138
- this.flow.free();
139
- this.flow = null;
140
- this.gl = null;
141
- this._isFreed = true;
142
- this.timeTrackInterpolator = null;
143
- this._legendTexture = null;
144
- this.timeTrackInterpolationWorker.terminate();
145
- this.timeTrackInterpolationWorker = null;
146
- }
147
- }
148
-
149
-
150
- export { PointHeatmapPlugin };
151
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PointHeatmapPlugin = void 0;
4
+ const point_to_heat_map_flow_1 = require("./point-to-heat-map-flow");
5
+ // import { webworkerStr } from "../util/interpolation/timetrack/web-worker-str"; // TODO: Delete When this plugin is tested on production
6
+ const index_1 = require("../util/interpolation/timetrack/index");
7
+ const util_1 = require("../util");
8
+ const typecheck_1 = require("../util/check/typecheck");
9
+ class PointHeatmapPlugin {
10
+ constructor(id, { opacity = 1.0, pointSize = 5.0, onInterpolationComplete = () => { } } = {}) {
11
+ this.id = id;
12
+ this.globe = null;
13
+ this.gl = null;
14
+ this.densityToLegendProgram = null;
15
+ this._time = null;
16
+ this._opacity = opacity;
17
+ this._pointSize = pointSize;
18
+ this._legendTexture = null;
19
+ this._throttleListener = null;
20
+ this._timeTracksAreSet = false;
21
+ // const blob = new Blob([webworkerStr], { type: 'application/javascript' });
22
+ // this.timeTrackInterpolationWorker = new Worker(URL.createObjectURL(blob), { type: 'module' });
23
+ this.timeTrackInterpolationWorker = (0, index_1.createWorker)();
24
+ this.timeTrackInterpolationWorker.onmessage = (e) => {
25
+ if (e.data.error) {
26
+ throw new Error(e.data.error);
27
+ }
28
+ if (e.data === true) {
29
+ onInterpolationComplete();
30
+ }
31
+ if (e.data instanceof Float32Array) {
32
+ this.flow.setData(e.data);
33
+ this._throttleListener = null;
34
+ onInterpolationComplete();
35
+ }
36
+ };
37
+ }
38
+ // globe interaction
39
+ init(globe, gl) {
40
+ this.globe = globe;
41
+ this.gl = gl;
42
+ this.flow = new point_to_heat_map_flow_1.PointHeatmapFlow(globe);
43
+ this.setGeometry();
44
+ this.resize();
45
+ }
46
+ setPointSize(pointSize) {
47
+ (0, typecheck_1.constraintFloat)(pointSize, 1);
48
+ this._pointSize = pointSize;
49
+ this.globe.DrawRender();
50
+ }
51
+ /**
52
+ * @param {Array<string>}
53
+ * @param {string} mode "interpolated" | "discrete"
54
+ */
55
+ setColorRamp(values, thresholds, mode = "interpolated") {
56
+ const gl = this.gl;
57
+ if (this.gl === null) {
58
+ throw new Error('Plugin not initialized');
59
+ }
60
+ ;
61
+ const rampData = (0, util_1.getColorRampModed)(values, thresholds, mode);
62
+ const texture = (0, util_1.createTexture)(gl, gl.LINEAR, rampData, 256, 1);
63
+ if (this._legendTexture) {
64
+ this.gl.deleteTexture(this._legendTexture);
65
+ }
66
+ this._legendTexture = texture;
67
+ this.globe.DrawRender();
68
+ }
69
+ setTime(time) {
70
+ // TODO: WORK ON THIS
71
+ this._time = time;
72
+ if (this.isReady() && this._throttleListener === null) {
73
+ this._throttleListener = setTimeout(() => {
74
+ this.timeTrackInterpolationWorker.postMessage({ time: this._time });
75
+ }, 0);
76
+ }
77
+ }
78
+ setTimetracks(timeTracks) {
79
+ this._timeTracksAreSet = true;
80
+ this.timeTrackInterpolationWorker.postMessage({ timeTracks });
81
+ if (this._time !== null) {
82
+ this.setTime(this._time);
83
+ }
84
+ this.globe.DrawRender();
85
+ }
86
+ setOpacity(opacity) {
87
+ (0, typecheck_1.opacityCheck)(opacity);
88
+ this._opacity = opacity;
89
+ this.globe.DrawRender();
90
+ }
91
+ setGeometry() {
92
+ const geometry = this.globe.api_GetCurrentGeometry();
93
+ this.timeTrackInterpolationWorker.postMessage({ geometry });
94
+ if (this._time !== null) {
95
+ this.setTime(this._time);
96
+ }
97
+ }
98
+ draw3D() {
99
+ if (this.isReady()) {
100
+ this.flow.draw(this._legendTexture, this._pointSize, this._opacity);
101
+ }
102
+ }
103
+ resize() {
104
+ this.flow.resize();
105
+ if (this._time !== null) {
106
+ this.setTime(this._time);
107
+ }
108
+ }
109
+ isReady() {
110
+ return (this.gl !== null && this._legendTexture !== null && this._timeTracksAreSet);
111
+ }
112
+ free() {
113
+ if (this._isFreed)
114
+ return;
115
+ this.gl.deleteTexture(this._legendTexture);
116
+ this.flow.free();
117
+ this.flow = null;
118
+ this.gl = null;
119
+ this._isFreed = true;
120
+ this.timeTrackInterpolator = null;
121
+ this._legendTexture = null;
122
+ this.timeTrackInterpolationWorker.terminate();
123
+ this.timeTrackInterpolationWorker = null;
124
+ }
125
+ }
126
+ exports.PointHeatmapPlugin = PointHeatmapPlugin;