@pirireis/webglobeplugins 1.0.5 → 1.0.7

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 (207) hide show
  1. package/package.json +1 -1
  2. package/{webglobeplugins/pin → pin}/pin-object-array1.js +0 -1
  3. package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/master-worker.js +4 -2
  4. package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/worker-contact.js +1 -1
  5. package/plugins/alarms/alarmFadeInFadeOutPlugin/AlarmTimeLineFadeInFadeOutPlugin.js +0 -399
  6. /package/{webglobeplugins/Math → Math}/angle-calculation.js +0 -0
  7. /package/{webglobeplugins/Math → Math}/arc-cdf-points.js +0 -0
  8. /package/{webglobeplugins/Math → Math}/arc-generate-points-exponantial.js +0 -0
  9. /package/{webglobeplugins/Math → Math}/arc.js +0 -0
  10. /package/{webglobeplugins/Math → Math}/bounds/line-bbox.js +0 -0
  11. /package/{webglobeplugins/Math → Math}/circle-cdf-points.js +0 -0
  12. /package/{webglobeplugins/Math → Math}/circle.js +0 -0
  13. /package/{webglobeplugins/Math → Math}/constants.js +0 -0
  14. /package/{webglobeplugins/Math → Math}/contour/quadtreecontours.js +0 -0
  15. /package/{webglobeplugins/Math → Math}/contour/quadtreecontours1.js +0 -0
  16. /package/{webglobeplugins/Math → Math}/finite-line-2d.js +0 -0
  17. /package/{webglobeplugins/Math → Math}/haversine.js +0 -0
  18. /package/{webglobeplugins/Math → Math}/index.js +0 -0
  19. /package/{webglobeplugins/Math → Math}/juction/arc-plane.js +0 -0
  20. /package/{webglobeplugins/Math → Math}/juction/line-sphere.js +0 -0
  21. /package/{webglobeplugins/Math → Math}/juction/plane-plane.js +0 -0
  22. /package/{webglobeplugins/Math → Math}/line.js +0 -0
  23. /package/{webglobeplugins/Math → Math}/matrix4.js +0 -0
  24. /package/{webglobeplugins/Math → Math}/methods.js +0 -0
  25. /package/{webglobeplugins/Math → Math}/plane.js +0 -0
  26. /package/{webglobeplugins/Math → Math}/quaternion.js +0 -0
  27. /package/{webglobeplugins/Math → Math}/templete-shapes/grid-visually-equal.js +0 -0
  28. /package/{webglobeplugins/Math → Math}/tessellation/constants.js +0 -0
  29. /package/{webglobeplugins/Math → Math}/tessellation/methods.js +0 -0
  30. /package/{webglobeplugins/Math → Math}/tessellation/nearest-value-padding.js +0 -0
  31. /package/{webglobeplugins/Math → Math}/tessellation/spherical-triangle-area.js +0 -0
  32. /package/{webglobeplugins/Math → Math}/tessellation/tile-merger.js +0 -0
  33. /package/{webglobeplugins/Math → Math}/tessellation/triangle-tessellation.js +0 -0
  34. /package/{webglobeplugins/Math → Math}/tessellation/types.js +0 -0
  35. /package/{webglobeplugins/Math → Math}/types.js +0 -0
  36. /package/{webglobeplugins/Math → Math}/utils.js +0 -0
  37. /package/{webglobeplugins/Math → Math}/vec3.js +0 -0
  38. /package/{webglobeplugins/Math → Math}/xyz-tile.js +0 -0
  39. /package/{webglobeplugins/algorithms → algorithms}/search-binary.js +0 -0
  40. /package/{webglobeplugins/altitude-locator → altitude-locator}/adaptors.js +0 -0
  41. /package/{webglobeplugins/altitude-locator → altitude-locator}/keymethod.js +0 -0
  42. /package/{webglobeplugins/altitude-locator → altitude-locator}/plugin.js +0 -0
  43. /package/{webglobeplugins/altitude-locator → altitude-locator}/types.js +0 -0
  44. /package/{webglobeplugins/compass-rose → compass-rose}/compass-rose-padding-flat.js +0 -0
  45. /package/{webglobeplugins/compass-rose → compass-rose}/compass-text-writer.js +0 -0
  46. /package/{webglobeplugins/compass-rose → compass-rose}/index.js +0 -0
  47. /package/{webglobeplugins/constants.js → constants.js} +0 -0
  48. /package/{webglobeplugins/heatwave → heatwave}/datamanager.js +0 -0
  49. /package/{webglobeplugins/heatwave → heatwave}/heatwave.js +0 -0
  50. /package/{webglobeplugins/heatwave → heatwave}/index.js +0 -0
  51. /package/{webglobeplugins/heatwave → heatwave}/isobar.js +0 -0
  52. /package/{webglobeplugins/heatwave → heatwave}/texture-point-sampler.js +0 -0
  53. /package/{webglobeplugins/investigation-tools → investigation-tools}/draw/tiles/adapters.js +0 -0
  54. /package/{webglobeplugins/investigation-tools → investigation-tools}/draw/tiles/tiles.js +0 -0
  55. /package/{webglobeplugins/jest.config.js → jest.config.js} +0 -0
  56. /package/{webglobeplugins/pin → pin}/pin-point-totem1.js +0 -0
  57. /package/{webglobeplugins/programs → programs}/arrowfield/arrow-field.js +0 -0
  58. /package/{webglobeplugins/programs → programs}/arrowfield/logic.js +0 -0
  59. /package/{webglobeplugins/programs → programs}/data2legend/density-to-legend.js +0 -0
  60. /package/{webglobeplugins/programs → programs}/data2legend/point-to-density-texture.js +0 -0
  61. /package/{webglobeplugins/programs → programs}/float2legendwithratio/index.js +0 -0
  62. /package/{webglobeplugins/programs → programs}/float2legendwithratio/logic.js +0 -0
  63. /package/{webglobeplugins/programs → programs}/float2legendwithratio/object.js +0 -0
  64. /package/{webglobeplugins/programs → programs}/helpers/blender.js +0 -0
  65. /package/{webglobeplugins/programs → programs}/helpers/fadeaway.js +0 -0
  66. /package/{webglobeplugins/programs → programs}/index.js +0 -0
  67. /package/{webglobeplugins/programs → programs}/line-on-globe/circle-accurate-3d.js +0 -0
  68. /package/{webglobeplugins/programs → programs}/line-on-globe/circle-accurate-flat.js +0 -0
  69. /package/{webglobeplugins/programs → programs}/line-on-globe/degree-padding-around-circle-3d.js +0 -0
  70. /package/{webglobeplugins/programs → programs}/line-on-globe/index.js +0 -0
  71. /package/{webglobeplugins/programs → programs}/line-on-globe/lines-color-instanced-flat.js +0 -0
  72. /package/{webglobeplugins/programs → programs}/line-on-globe/linestrip/data.js +0 -0
  73. /package/{webglobeplugins/programs → programs}/line-on-globe/linestrip/linestrip.js +0 -0
  74. /package/{webglobeplugins/programs → programs}/line-on-globe/naive-accurate-flexible.js +0 -0
  75. /package/{webglobeplugins/programs → programs}/line-on-globe/util.js +0 -0
  76. /package/{webglobeplugins/programs → programs}/picking/pickable-polygon-renderer.js +0 -0
  77. /package/{webglobeplugins/programs → programs}/picking/pickable-renderer.js +0 -0
  78. /package/{webglobeplugins/programs → programs}/point-on-globe/element-globe-surface-glow.js +0 -0
  79. /package/{webglobeplugins/programs → programs}/point-on-globe/element-point-glow.js +0 -0
  80. /package/{webglobeplugins/programs → programs}/point-on-globe/square-pixel-point.js +0 -0
  81. /package/{webglobeplugins/programs → programs}/polygon-on-globe/texture-dem-triangles.js +0 -0
  82. /package/{webglobeplugins/programs → programs}/programcache.js +0 -0
  83. /package/{webglobeplugins/programs → programs}/rings/index.js +0 -0
  84. /package/{webglobeplugins/programs → programs}/rings/partial-ring/piece-of-pie.js +0 -0
  85. /package/{webglobeplugins/programs → programs}/totems/attachments/adaptive-opacity.js +0 -0
  86. /package/{webglobeplugins/programs → programs}/totems/attachments/dem-textures-manager.js +0 -0
  87. /package/{webglobeplugins/programs → programs}/totems/camera-totem-attactment-interface.js +0 -0
  88. /package/{webglobeplugins/programs → programs}/totems/camerauniformblock.js +0 -0
  89. /package/{webglobeplugins/programs → programs}/totems/canvas-webglobe-info.js +0 -0
  90. /package/{webglobeplugins/programs → programs}/totems/globe-changes.js +0 -0
  91. /package/{webglobeplugins/programs → programs}/totems/gpu-selection-uniform-block.js +0 -0
  92. /package/{webglobeplugins/programs → programs}/totems/index.js +0 -0
  93. /package/{webglobeplugins/programs → programs}/two-d/pixel-padding-for-compass.js +0 -0
  94. /package/{webglobeplugins/programs → programs}/util.js +0 -0
  95. /package/{webglobeplugins/programs → programs}/vectorfields/logics/constants.js +0 -0
  96. /package/{webglobeplugins/programs → programs}/vectorfields/logics/drawrectangleparticles.js +0 -0
  97. /package/{webglobeplugins/programs → programs}/vectorfields/logics/index.js +0 -0
  98. /package/{webglobeplugins/programs → programs}/vectorfields/logics/particle-ubo.js +0 -0
  99. /package/{webglobeplugins/programs → programs}/vectorfields/logics/pixelbased.js +0 -0
  100. /package/{webglobeplugins/programs → programs}/vectorfields/logics/ubo.js +0 -0
  101. /package/{webglobeplugins/programs → programs}/vectorfields/pingpongbuffermanager.js +0 -0
  102. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/bearing-line/adapters.js +0 -0
  103. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/bearing-line/plugin.js +0 -0
  104. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/bearing-line/types.js +0 -0
  105. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/circle-line-chain/adapters.js +0 -0
  106. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/circle-line-chain/chain-list-map.js +0 -0
  107. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/circle-line-chain/plugin.js +0 -0
  108. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/circle-line-chain/types.js +0 -0
  109. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/adapters.js +0 -0
  110. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/enum.js +0 -0
  111. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/plugin.js +0 -0
  112. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/rangeringangletext.js +0 -0
  113. /package/{webglobeplugins/range-tools-on-terrain → range-tools-on-terrain}/range-ring/types.js +0 -0
  114. /package/{webglobeplugins/semiplugins → semiplugins}/interface.js +0 -0
  115. /package/{webglobeplugins/semiplugins → semiplugins}/lightweight/line-plugin.js +0 -0
  116. /package/{webglobeplugins/semiplugins → semiplugins}/lightweight/piece-of-pie-plugin.js +0 -0
  117. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/arc-plugin.js +0 -0
  118. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/circle-plugin.js +0 -0
  119. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/padding-1-degree.js +0 -0
  120. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/adapters.js +0 -0
  121. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/cache.js +0 -0
  122. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/index-polygon-map.js +0 -0
  123. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/manager.js +0 -0
  124. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/polygon-to-triangles.js +0 -0
  125. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/random.js +0 -0
  126. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/types.js +0 -0
  127. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/data/worker.js +0 -0
  128. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/terrain-polygon.js +0 -0
  129. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/test-records.js +0 -0
  130. /package/{webglobeplugins/semiplugins → semiplugins}/shape-on-terrain/terrain-polygon/types.js +0 -0
  131. /package/{webglobeplugins/semiplugins → semiplugins}/shell/bbox-renderer/index.js +0 -0
  132. /package/{webglobeplugins/semiplugins → semiplugins}/shell/bbox-renderer/logic.js +0 -0
  133. /package/{webglobeplugins/semiplugins → semiplugins}/shell/bbox-renderer/object.js +0 -0
  134. /package/{webglobeplugins/semiplugins → semiplugins}/type.js +0 -0
  135. /package/{webglobeplugins/semiplugins → semiplugins}/utility/container-plugin.js +0 -0
  136. /package/{webglobeplugins/semiplugins → semiplugins}/utility/object-pass-container-plugin.js +0 -0
  137. /package/{webglobeplugins/shaders → shaders}/fragment-toy/firework.js +0 -0
  138. /package/{webglobeplugins/shaders → shaders}/fragment-toy/singularity.js +0 -0
  139. /package/{webglobeplugins/tracks → tracks}/point-heat-map/adaptors/timetracksplugin-format-to-this.js +0 -0
  140. /package/{webglobeplugins/tracks → tracks}/point-heat-map/index.js +0 -0
  141. /package/{webglobeplugins/tracks → tracks}/point-heat-map/plugin-webworker.js +0 -0
  142. /package/{webglobeplugins/tracks → tracks}/point-heat-map/point-to-heat-map-flow.js +0 -0
  143. /package/{webglobeplugins/tracks → tracks}/point-tracks/key-methods.js +0 -0
  144. /package/{webglobeplugins/tracks → tracks}/point-tracks/plugin.js +0 -0
  145. /package/{webglobeplugins/tracks → tracks}/timetracks/adaptors-line-strip.js +0 -0
  146. /package/{webglobeplugins/tracks → tracks}/timetracks/plugin-line-strip.js +0 -0
  147. /package/{webglobeplugins/tracks → tracks}/timetracks/program-line-strip.js +0 -0
  148. /package/{webglobeplugins/tracks → tracks}/timetracks/programpoint-line-strip.js +0 -0
  149. /package/{webglobeplugins/types.js → types.js} +0 -0
  150. /package/{webglobeplugins/util → util}/account/bufferoffsetmanager.js +0 -0
  151. /package/{webglobeplugins/util → util}/account/create-buffermap-orchastration.js +0 -0
  152. /package/{webglobeplugins/util → util}/account/index.js +0 -0
  153. /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/buffer-manager.js +0 -0
  154. /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/buffer-orchestrator.js +0 -0
  155. /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/buffer-orchestrator1.js +0 -0
  156. /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/index.js +0 -0
  157. /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/object-store.js +0 -0
  158. /package/{webglobeplugins/util → util}/account/single-attribute-buffer-management/types.js +0 -0
  159. /package/{webglobeplugins/util → util}/account/util.js +0 -0
  160. /package/{webglobeplugins/util → util}/algorithms/index.js +0 -0
  161. /package/{webglobeplugins/util → util}/algorithms/search-binary.js +0 -0
  162. /package/{webglobeplugins/util → util}/build-strategy/static-dynamic.js +0 -0
  163. /package/{webglobeplugins/util → util}/check/index.js +0 -0
  164. /package/{webglobeplugins/util → util}/check/typecheck.js +0 -0
  165. /package/{webglobeplugins/util → util}/frame-counter-trigger.js +0 -0
  166. /package/{webglobeplugins/util → util}/geometry/index.js +0 -0
  167. /package/{webglobeplugins/util → util}/gl-util/buffer/attribute-loader.js +0 -0
  168. /package/{webglobeplugins/util → util}/gl-util/buffer/index.js +0 -0
  169. /package/{webglobeplugins/util → util}/gl-util/draw-options/methods.js +0 -0
  170. /package/{webglobeplugins/util → util}/gl-util/uniform-block/manager.js +0 -0
  171. /package/{webglobeplugins/util → util}/globe-default-gl-states.js +0 -0
  172. /package/{webglobeplugins/util → util}/helper-methods.js +0 -0
  173. /package/{webglobeplugins/util → util}/index.js +0 -0
  174. /package/{webglobeplugins/util → util}/interpolation/index.js +0 -0
  175. /package/{webglobeplugins/util → util}/interpolation/timetrack/index.js +0 -0
  176. /package/{webglobeplugins/util → util}/interpolation/timetrack/timetrack-interpolator.js +0 -0
  177. /package/{webglobeplugins/util → util}/interpolation/timetrack/web-worker.js +0 -0
  178. /package/{webglobeplugins/util → util}/picking/fence.js +0 -0
  179. /package/{webglobeplugins/util → util}/picking/picker-displayer.js +0 -0
  180. /package/{webglobeplugins/util → util}/programs/draw-from-pixel-coords.js +0 -0
  181. /package/{webglobeplugins/util → util}/programs/draw-texture-on-canvas.js +0 -0
  182. /package/{webglobeplugins/util → util}/programs/supersampletotextures.js +0 -0
  183. /package/{webglobeplugins/util → util}/programs/texturetoglobe_delete.js +0 -0
  184. /package/{webglobeplugins/util → util}/shaderfunctions/geometrytransformations.js +0 -0
  185. /package/{webglobeplugins/util → util}/shaderfunctions/index.js +0 -0
  186. /package/{webglobeplugins/util → util}/shaderfunctions/nodata.js +0 -0
  187. /package/{webglobeplugins/util → util}/shaderfunctions/noisefunctions.js +0 -0
  188. /package/{webglobeplugins/util → util}/webglobjectbuilders.js +0 -0
  189. /package/{webglobeplugins/vectorfield → vectorfield}/arrowfield/adaptor.js +0 -0
  190. /package/{webglobeplugins/vectorfield → vectorfield}/arrowfield/index.js +0 -0
  191. /package/{webglobeplugins/vectorfield → vectorfield}/arrowfield/plugin.js +0 -0
  192. /package/{webglobeplugins/vectorfield → vectorfield}/waveparticles/adaptor.js +0 -0
  193. /package/{webglobeplugins/vectorfield → vectorfield}/waveparticles/index.js +0 -0
  194. /package/{webglobeplugins/vectorfield → vectorfield}/waveparticles/plugin.js +0 -0
  195. /package/{webglobeplugins/vectorfield → vectorfield}/wind/adapters/image-to-fields.js +0 -0
  196. /package/{webglobeplugins/vectorfield → vectorfield}/wind/adapters/types.js +0 -0
  197. /package/{webglobeplugins/vectorfield → vectorfield}/wind/imagetovectorfieldandmagnitude.js +0 -0
  198. /package/{webglobeplugins/vectorfield → vectorfield}/wind/index.js +0 -0
  199. /package/{webglobeplugins/vectorfield → vectorfield}/wind/plugin-persistant.js +0 -0
  200. /package/{webglobeplugins/vectorfield → vectorfield}/wind/plugin.js +0 -0
  201. /package/{webglobeplugins/vectorfield → vectorfield}/wind/vectorfieldimage.js +0 -0
  202. /package/{webglobeplugins/write-text → write-text}/context-text-bulk.js +0 -0
  203. /package/{webglobeplugins/write-text → write-text}/context-text3.js +0 -0
  204. /package/{webglobeplugins/write-text → write-text}/context-text4.js +0 -0
  205. /package/{webglobeplugins/write-text → write-text}/context-textDELETE.js +0 -0
  206. /package/{webglobeplugins/write-text → write-text}/objectarraylabels/index.js +0 -0
  207. /package/{webglobeplugins/write-text → write-text}/objectarraylabels/objectarraylabels.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pirireis/webglobeplugins",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "main": "index.js",
5
5
  "author": "Toprak Nihat Deniz Ozturk",
6
6
  "license": "MIT",
@@ -17,7 +17,6 @@
17
17
  * mouse curser changes ( this can be implemented inside above methods)
18
18
  */
19
19
  import { CSGlobe, CSIconTypes, CSObjectTypes, CSObjectArrayUpdateTypes, } from "@pirireis/webglobe";
20
- import AlarmTimeLineFadeInFadeOut from "../../plugins/alarms/alarmFadeInFadeOutPlugin/AlarmTimeLineFadeInFadeOutPlugin";
21
20
  /**
22
21
  * @typedef {Object} IconPayload
23
22
  * @property {string} app6DCode
@@ -18,9 +18,11 @@ function initWorkers() {
18
18
  addWorker();
19
19
  }
20
20
  function addWorker() {
21
- // IMPORTANT: use the TS entry so the bundler can build the worker module.
21
+ // IMPORTANT: keep this extensionless so it resolves to:
22
+ // - ./worker.ts in source builds (when .ts is resolvable)
23
+ // - ./worker.js in published output (tsc emits .js to dist)
22
24
  // @ts-ignore
23
- const worker = new Worker(new URL("./worker.ts", import.meta.url), { type: "module" });
25
+ const worker = new Worker(new URL("./worker", import.meta.url), { type: "module" });
24
26
  const wrapper = {
25
27
  worker,
26
28
  inProgress: false,
@@ -10,7 +10,7 @@ export class WorkerContact {
10
10
  this.onResult = onResult;
11
11
  // Initialize the Master Worker
12
12
  // @ts-ignore
13
- this._masterWorker = new Worker(new URL("./master-worker.ts", import.meta.url), { type: 'module' });
13
+ this._masterWorker = new Worker(new URL("./master-worker", import.meta.url), { type: 'module' });
14
14
  this._masterWorker.onmessage = (event) => {
15
15
  this.onResult(event.data);
16
16
  };
@@ -1,399 +0,0 @@
1
- /**
2
- * Parametreler
3
- * Toplam Animasyon suresi
4
- * nokta konumu lat long
5
- * nokta boyutu
6
- * nokta rengi
7
- * buyume kusulme olamlimi? Varsa fade in ile buyuyup, fade out ile kuculecek.
8
- * fade in suresi
9
- * fade out suresi
10
- * */
11
- /**
12
- * TODO:
13
- * AFAD verisini hizli yuklenmesi icin bir formata ceviren kod ekle
14
- * CONTENT basligi altina veri cevirici ve webgl programini yaz
15
- */
16
- /**
17
- * @typedef {Number[]} Color [r, g, b]
18
- */
19
- /**
20
- * @typedef {Object} FadeAlarmPoint
21
- * @property {number} long
22
- * @property {number} lat
23
- * @property {number} height
24
- * @property {number} minSize
25
- * @property {number} maxSize
26
- * @property {Color} color
27
- * @property {number} startTime
28
- * @property {number} fadeInTime
29
- * @property {number} fadeOutTime
30
- * @property {number} minAlpha
31
- * @property {number} maxAlpha
32
- */
33
- const floatCount = 13;
34
- const TIME_STEP = 26;
35
- export default class AlarmTimeLineFadeInFadeOut {
36
- constructor(id) {
37
- this.id = id;
38
- this.pause();
39
- this.globe = null;
40
- this.gl = null;
41
- this._buildLOD = 6;
42
- this._lastLOD = 0;
43
- this._shaderProgram = null;
44
- this._animationDeltaTime = 0;
45
- this._animationFullTimeLength = 50000.0;
46
- this._continue = false;
47
- this._speedMultiplier = 1.0;
48
- // time relevant
49
- this._tickTimerId = null;
50
- // @type {FadeAlarmPoint[]}
51
- this._dataArray = [];
52
- this._translateFloat32Array = new Float32Array(3);
53
- this._mixtureBuffer = null;
54
- this._buildTimerId = null;
55
- this._projectionFunction = null;
56
- }
57
- _vertexShaderSource = `
58
- precision highp float;
59
-
60
- attribute vec3 aVertexPosition;
61
- attribute vec3 aVertexColor;
62
- attribute float aMinSize;
63
- attribute float aMaxSize;
64
- attribute float aStartTime;
65
- attribute float aFadeInTime;
66
- attribute float aFadeOutTime;
67
- attribute float aMinAlpha;
68
- attribute float aMaxAlpha;
69
-
70
- uniform bool u_is_flat;
71
- uniform vec2 u_mapWH;
72
- uniform vec2 u_scrWH;
73
-
74
- varying vec3 vColor;
75
- varying float vAlpha;
76
-
77
- uniform float uDeltaTime;
78
-
79
- uniform mat4 uModelViewMatrix;
80
- uniform mat4 uProjectionMatrix;
81
- uniform vec3 uTranslate;
82
-
83
- void main(void) {
84
- float time = uDeltaTime - aStartTime;
85
-
86
- // exit case
87
- if (time < 0.0 || (time > (aFadeInTime + aFadeOutTime)) ) {
88
- gl_Position = vec4(-2.0, -2.0, 0.0, 1.0);
89
- vColor = vec3(0.0, 0.0, 0.0);
90
- vAlpha = 0.0;
91
- return;
92
- }
93
- float ratio;
94
- // fade in case
95
- if (time < aFadeInTime) {
96
- ratio = time / aFadeInTime;
97
- }
98
- // fade out case
99
- if (time > aFadeInTime) {
100
- ratio = 1.0 - ((time - aFadeInTime) / aFadeOutTime);
101
- }
102
- if(u_is_flat==true){
103
- float normalizedX = ( aVertexPosition.x - uTranslate.x) / u_mapWH.x;
104
- float normalizedY = ( aVertexPosition.y - uTranslate.y) / u_mapWH.y;
105
- gl_Position = uProjectionMatrix * vec4(normalizedX * u_scrWH.x, (1.0 - normalizedY) * u_scrWH.y, 0.0, 1.0);
106
- }else{
107
- gl_Position = uProjectionMatrix * uModelViewMatrix * vec4(aVertexPosition - uTranslate, 1.0);
108
- }
109
- gl_PointSize = mix(aMinSize, aMaxSize, ratio);
110
-
111
- vColor = aVertexColor;
112
- vAlpha = mix(aMinAlpha, aMaxAlpha, ratio);
113
- }
114
- `;
115
- _fragmentShaderSource = `
116
- precision highp float;
117
-
118
- varying vec3 vColor;
119
- varying float vAlpha;
120
-
121
- void main(void) {
122
- // circle
123
- vec2 cxy = 2.0 * gl_PointCoord - 1.0;
124
- float r = dot(cxy, cxy);
125
- if (r > 1.0) discard;
126
- // square
127
- // float t = abs(cxy.x) * abs(cxy.y);
128
- // if (t > 0.1) discard;
129
- if (vAlpha == 0.0) { discard;}
130
- float alphaRatio = sqrt(1.0 - r) ;
131
- gl_FragColor = vec4(vColor, vAlpha ) * alphaRatio;
132
- }
133
- `;
134
- _createProgram() {
135
- const { gl, _vertexShaderSource, _fragmentShaderSource } = this;
136
- let vertexShader = gl.createShader(gl.VERTEX_SHADER);
137
- gl.shaderSource(vertexShader, _vertexShaderSource);
138
- gl.compileShader(vertexShader);
139
- if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {
140
- alert("An error occurred compiling the vertex shader: " + gl.getShaderInfoLog(vertexShader));
141
- return null;
142
- }
143
- let fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
144
- gl.shaderSource(fragmentShader, _fragmentShaderSource);
145
- gl.compileShader(fragmentShader);
146
- if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {
147
- alert("An error occurred compiling the fragment shader: " + gl.getShaderInfoLog(fragmentShader));
148
- return null;
149
- }
150
- this._shaderProgram = gl.createProgram();
151
- gl.attachShader(this._shaderProgram, vertexShader);
152
- gl.attachShader(this._shaderProgram, fragmentShader);
153
- gl.linkProgram(this._shaderProgram);
154
- if (!gl.getProgramParameter(this._shaderProgram, gl.LINK_STATUS)) {
155
- alert("Could not initialise shaders");
156
- console.log(gl.getProgramInfoLog(this._shaderProgram));
157
- }
158
- gl.detachShader(this._shaderProgram, vertexShader);
159
- gl.detachShader(this._shaderProgram, fragmentShader);
160
- gl.deleteShader(vertexShader);
161
- gl.deleteShader(fragmentShader);
162
- }
163
- _assignProgramLocations() {
164
- const { gl, _shaderProgram } = this;
165
- this._aVertexPosition = gl.getAttribLocation(_shaderProgram, "aVertexPosition");
166
- this._aVertexColor = gl.getAttribLocation(_shaderProgram, "aVertexColor");
167
- this._aMinSize = gl.getAttribLocation(_shaderProgram, "aMinSize");
168
- this._aMaxSize = gl.getAttribLocation(_shaderProgram, "aMaxSize");
169
- this._aStartTime = gl.getAttribLocation(_shaderProgram, "aStartTime");
170
- this._aFadeInTime = gl.getAttribLocation(_shaderProgram, "aFadeInTime");
171
- this._aFadeOutTime = gl.getAttribLocation(_shaderProgram, "aFadeOutTime");
172
- this._aMinAlpha = gl.getAttribLocation(_shaderProgram, "aMinAlpha");
173
- this._aMaxAlpha = gl.getAttribLocation(_shaderProgram, "aMaxAlpha");
174
- this._uDeltaTime = gl.getUniformLocation(_shaderProgram, "uDeltaTime");
175
- this._uModelViewMatrix = gl.getUniformLocation(_shaderProgram, "uModelViewMatrix");
176
- this._uProjectionMatrix = gl.getUniformLocation(_shaderProgram, "uProjectionMatrix");
177
- this._uTranslate = gl.getUniformLocation(_shaderProgram, "uTranslate");
178
- this._uMapWH = gl.getUniformLocation(_shaderProgram, "u_mapWH");
179
- this._uScrWH = gl.getUniformLocation(_shaderProgram, "u_scrWH");
180
- this._uIsFlat = gl.getUniformLocation(_shaderProgram, "u_is_flat");
181
- }
182
- // registry takes place here
183
- init(globe, gl) {
184
- console.log("init AlarmFadeInFadeOut");
185
- this.globe = globe;
186
- this.gl = gl;
187
- this._mixtureBuffer = gl.createBuffer();
188
- this.setGeometry();
189
- this._createProgram();
190
- this._assignProgramLocations();
191
- this._startTickTimer();
192
- this._resizeHandler = this._resizeEventHandler.bind(this);
193
- window.addEventListener('resize', this._resizeHandler, true);
194
- }
195
- _resizeEventHandler() {
196
- this._loadUniforms();
197
- }
198
- addPoint(long, lat, height, minSize, maxSize, color, startTime, fadeInTime, fadeOutTime, minAlpha, maxAlpha) {
199
- // add point to the array
200
- this._dataArray.push({
201
- long,
202
- lat,
203
- height,
204
- minSize,
205
- maxSize,
206
- color,
207
- startTime,
208
- fadeInTime,
209
- fadeOutTime,
210
- minAlpha,
211
- maxAlpha
212
- });
213
- }
214
- setAnimationFullTimeLength(time) {
215
- this._animationFullTimeLength = time;
216
- }
217
- updateBuffer() {
218
- if (this._dataArray.length === 0)
219
- return;
220
- this._build();
221
- }
222
- clearPoints() {
223
- this._dataArray = [];
224
- this._build();
225
- }
226
- setCurrentTimeByPercentage(percentage) {
227
- const passingTime = this._animationFullTimeLength * (percentage % 100) / 100;
228
- this._animationDeltaTime = passingTime;
229
- }
230
- setSpeedMultiplier(multiplier) {
231
- this._speedMultiplier = multiplier;
232
- }
233
- continue() {
234
- if (this._animationFullTimeLength == null)
235
- throw new Error("Animation full time length is not set");
236
- this._continue = true;
237
- if (this._tickTimerId == null) {
238
- this._startTickTimer();
239
- }
240
- console.log("continue");
241
- }
242
- isContinuing() {
243
- return this._continue;
244
- }
245
- pause() {
246
- this._continue = false;
247
- if (this._tickTimerId != null) {
248
- clearInterval(this._tickTimerId);
249
- this._tickTimerId = null;
250
- }
251
- console.log("pause");
252
- }
253
- _tick() {
254
- this._animationDeltaTime = (this._animationDeltaTime + TIME_STEP * this._speedMultiplier) % this._animationFullTimeLength;
255
- }
256
- _startTickTimer() {
257
- this._tickTimerId = setInterval(() => {
258
- if (this._continue)
259
- this._tick();
260
- }, TIME_STEP);
261
- }
262
- getPercentage() {
263
- return this._animationDeltaTime / this._animationFullTimeLength;
264
- }
265
- // globe calls this function
266
- draw3D(projMatrix, modelMatrix, transPos) {
267
- // if (this._continue) this._tick();
268
- this._draw(projMatrix, modelMatrix, transPos);
269
- }
270
- _draw(projMatrix, modelMatrix, transPos) {
271
- if (this._dataArray.length === 0)
272
- return;
273
- const { gl, globe } = this;
274
- if (globe == null) {
275
- console.log("globe is null");
276
- return;
277
- }
278
- const lastDepth = gl.getParameter(gl.DEPTH_TEST);
279
- gl.disable(gl.DEPTH_TEST);
280
- gl.enable(gl.BLEND);
281
- gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
282
- this._translateFloat32Array.set([transPos.x, transPos.y, transPos.z], 0);
283
- gl.useProgram(this._shaderProgram);
284
- gl.bindBuffer(gl.ARRAY_BUFFER, this._mixtureBuffer);
285
- gl.enableVertexAttribArray(this._aVertexPosition); // devamli enable edilmesine gerek olmayabilir mi?
286
- gl.vertexAttribPointer(this._aVertexPosition, 3, gl.FLOAT, false, floatCount * 4, 0);
287
- gl.enableVertexAttribArray(this._aVertexColor);
288
- gl.vertexAttribPointer(this._aVertexColor, 3, gl.FLOAT, false, floatCount * 4, 3 * 4);
289
- gl.enableVertexAttribArray(this._aMinSize);
290
- gl.vertexAttribPointer(this._aMinSize, 1, gl.FLOAT, false, floatCount * 4, 6 * 4);
291
- gl.enableVertexAttribArray(this._aMaxSize);
292
- gl.vertexAttribPointer(this._aMaxSize, 1, gl.FLOAT, false, floatCount * 4, 7 * 4);
293
- gl.enableVertexAttribArray(this._aStartTime);
294
- gl.vertexAttribPointer(this._aStartTime, 1, gl.FLOAT, false, floatCount * 4, 8 * 4);
295
- gl.enableVertexAttribArray(this._aFadeInTime);
296
- gl.vertexAttribPointer(this._aFadeInTime, 1, gl.FLOAT, false, floatCount * 4, 9 * 4);
297
- gl.enableVertexAttribArray(this._aFadeOutTime);
298
- gl.vertexAttribPointer(this._aFadeOutTime, 1, gl.FLOAT, false, floatCount * 4, 10 * 4);
299
- gl.enableVertexAttribArray(this._aMinAlpha);
300
- gl.vertexAttribPointer(this._aMinAlpha, 1, gl.FLOAT, false, floatCount * 4, 11 * 4);
301
- gl.enableVertexAttribArray(this._aMaxAlpha);
302
- gl.vertexAttribPointer(this._aMaxAlpha, 1, gl.FLOAT, false, floatCount * 4, 12 * 4);
303
- gl.uniform1f(this._uDeltaTime, this._animationDeltaTime);
304
- if (globe.api_GetCurrentGeometry() === globe.api_GeometryTypes().FLAT) {
305
- const { width, height } = globe.api_GetCurrentWorldWH();
306
- gl.uniform2f(this._uMapWH, width, height);
307
- }
308
- else {
309
- gl.uniformMatrix4fv(this._uModelViewMatrix, false, modelMatrix);
310
- }
311
- gl.uniformMatrix4fv(this._uProjectionMatrix, false, projMatrix);
312
- gl.uniform3fv(this._uTranslate, this._translateFloat32Array);
313
- gl.drawArrays(gl.POINTS, 0, this._dataArray.length);
314
- if (lastDepth) {
315
- gl.enable(gl.DEPTH_TEST);
316
- }
317
- gl.disable(gl.BLEND);
318
- globe.DrawRender();
319
- }
320
- _build() {
321
- // build data and fill the buffer
322
- const { gl, globe, _mixtureBuffer } = this;
323
- if (globe == null || _mixtureBuffer == null) {
324
- console.log("globe is null");
325
- return;
326
- }
327
- const floatArray = new Float32Array(this._dataArray.length * floatCount);
328
- for (let i = 0; i < this._dataArray.length; i += 1) {
329
- const data = this._dataArray[i];
330
- const { long, lat, height, minSize, maxSize, color, fadeInTime, fadeOutTime } = data;
331
- const [x, y, z] = globe.api_Get3DPoint(long, lat, height, false);
332
- const [r, g, b] = color;
333
- const startTime = data.startTime;
334
- const minAlpha = data.minAlpha;
335
- const maxAlpha = data.maxAlpha;
336
- floatArray.set([x, y, z, r, g, b, minSize, maxSize, startTime, fadeInTime, fadeOutTime, minAlpha, maxAlpha], i * floatCount);
337
- }
338
- console.log("floatArray", floatArray);
339
- gl.bindBuffer(gl.ARRAY_BUFFER, _mixtureBuffer);
340
- gl.bufferData(gl.ARRAY_BUFFER, floatArray, gl.STATIC_DRAW);
341
- console.log("build");
342
- if (this._buildTimerId == null) {
343
- this._startBuildTimer();
344
- }
345
- }
346
- _startBuildTimer() {
347
- const { globe, _buildLOD } = this;
348
- this._buildTimerId = setInterval(() => {
349
- if (globe.api_GetCurrentGeometry() != globe.api_GeometryTypes().SPHERE)
350
- return;
351
- const LOD = globe.api_GetCurrentLOD();
352
- if (!globe.api_IsScreenMoving() && LOD >= _buildLOD && LOD !== this._lastLOD) {
353
- this._build();
354
- this._lastLOD = LOD;
355
- }
356
- }, 1000);
357
- console.log("startBuildTimer");
358
- }
359
- setGeometry() {
360
- // arazi yuksekligine gore build tetikleyecek push mekanizmasi globeta yok
361
- // timer start edilip durdurulacak
362
- this._loadUniforms();
363
- this.updateBuffer();
364
- console.log("setGeometry");
365
- }
366
- _loadUniforms() {
367
- const { gl, globe } = this;
368
- const currentProgram = gl.getParameter(gl.CURRENT_PROGRAM);
369
- gl.useProgram(this._shaderProgram);
370
- const geometry = globe.api_GetCurrentGeometry();
371
- if (geometry === globe.api_GeometryTypes().SPHERE) {
372
- gl.uniform1f(this._uIsFlat, false);
373
- }
374
- else if (geometry === globe.api_GeometryTypes().FLAT) {
375
- gl.uniform1f(this._uIsFlat, true);
376
- gl.uniform2f(this._uScrWH, globe.api_ScrW(), globe.api_ScrH());
377
- }
378
- else {
379
- alert("Geometry is not supported");
380
- }
381
- gl.useProgram(currentProgram);
382
- }
383
- free() {
384
- console.log("free AlarmFadeInFadeOut");
385
- const { gl } = this;
386
- this.globe = null;
387
- this.gl = null;
388
- this.draw3D = null;
389
- this._build = null;
390
- clearInterval(this._buildTimerId);
391
- clearInterval(this._tickTimerId);
392
- gl.disableVertexAttribArray(this._aVertexPosition);
393
- // gl.deleteBuffer(this._mixtureBuffer);
394
- // gl.deleteProgram(this._shaderProgram);
395
- this._shaderProgram = null;
396
- this._mixtureBuffer = null;
397
- window.removeEventListener('resize', this._resizeHandler, true);
398
- }
399
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes