@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,381 +1,305 @@
1
-
2
- /**
3
- * IconData;
4
- * iconMap, iconCoords for objectArray
5
- *
6
- * Pin data:
7
- * long, lat, payload
8
- *
9
- * methods insertPin pin and its data
10
- * methods deletePin
11
- *
12
- * Behaviur injection:
13
- * hover
14
- * move
15
- * pick drop
16
- * mouseclicks
17
- * keyboard clicks
18
- * mouse curser changes ( this can be implemented inside above methods)
19
- */
20
-
21
- import {
22
- CSGlobe,
23
- CSIconTypes,
24
- CSObjectTypes,
25
- CSObjectArrayUpdateTypes,
26
- } from "@pirireis/webglobe";
27
- import AlarmTimeLineFadeInFadeOut from "../../plugins/alarms/alarmFadeInFadeOutPlugin/AlarmTimeLineFadeInFadeOutPlugin";
28
-
29
- /**
30
- * @typedef {Object} IconPayload
31
- * @property {string} app6DCode
32
- * @property {string} accsCode
33
- */
34
-
35
- /**
36
- * @typedef {IconPayload & Object.<string, any>} PointPayload
37
- */
38
-
39
- /**
40
- * @typedef {Object} CanChangeOptions
41
- * @property {boolean} [attribs=false]
42
- * @property {boolean} [icon=false]
43
- * @property {boolean} [label=false]
44
- * @property {boolean} [heading=false]
45
- */
46
-
47
- /**
48
- * @typedef {Object} PointObjectArray
49
- * @property {number[]} coords [longitude1, latitude1, longitude2, latitude2, ....]
50
- * @property {number[]} coordsZ [z1, z2, ....]
51
- * @property {PointPayload[]} attribs
52
- */
53
-
54
- function addIconMap(globe, mapName = "IconMapName", ICON_MAP_URL, ICON_MAP_JSON_URL) {
55
- globe.api_AddIconMap('IconMapName', ICON_MAP_URL, ICON_MAP_JSON_URL);
56
- }
57
-
58
- class ObjectArray {
59
- constructor(symbolSet, style) {
60
- this.symbolSet = symbolSet;
61
- this.style = style;
62
- }
63
-
64
- setSymbolSet(symbolSet) {
65
- this.symbolSet = symbolSet;
66
- }
67
-
68
-
69
- }
70
-
71
-
72
- class PinPointObjectArray {
73
- constructor(id,
74
- globe,
75
- symbolSet, // iconMapName
76
- style,
77
- callBacks = {
78
- mouseDown: (pinItem, event) => { },
79
- mouseMove: (pinItem, event) => { },
80
- mouseUp: (pinItem, event) => { },
81
- mouseClick: (pinItem, event) => { },
82
- mouseDblClick: (pinItem, event) => { },
83
-
84
- } = {}) {
85
- this.id = id
86
- this.globe = globe;
87
- this.symbolSet = symbolSet;
88
- this.style = style;
89
- this.iconMapName = iconMapName;
90
- this.callBacks = callBacks;
91
-
92
- // this item will be used
93
-
94
- this.currentItem = null
95
- }
96
-
97
-
98
- insertPins(pins) {
99
-
100
- }
101
-
102
- deletePins(pinsIDs) {
103
- const deleteBucket = {
104
- coords: [],
105
- coordsZ: [],
106
- attribs: []
107
- }
108
- }
109
-
110
-
111
- _queryByScreenFindFirst() {
112
- const { clientX, clientY } = this.globe.api_GetMousePos();
113
- const allObjects = this.globe.queryByScreen(clientX, clientY);
114
- for (let i = 0; i < allObjects.length; i++) {
115
- const { obj, owner } = allObjects[i];
116
- if (owner === this.objectArray) {
117
- return obj;
118
- }
119
- }
120
- }
121
-
122
- // mouseDown(x, y, event) {
123
- // return false
124
- // }
125
-
126
-
127
- // // mouse'a basılıp hareket ettirildiğinde, mouseDown'dan true dönmüşse çağrılır
128
- // mouseMove(x, y, event) {
129
-
130
- // }
131
-
132
- // // mouse bırakıldığında çağrılır
133
- // mouseUp(x, y, event) {
134
-
135
- // }
136
-
137
- // // harita üzerinde tıklandığında çağrılır
138
- // mouseClick() {
139
- // return false
140
- // }
141
-
142
- // // harita üzerinde çift tıklandığında çağrılır
143
- // mouseDblClick() {
144
- // return false
145
- // }
146
-
147
-
148
- free() {
149
- this.globe.api_ClearMouseEvents() // TODO
150
- }
151
-
152
- _setMouseEvent() {
153
- const { globe } = this;
154
- globe.api_SetMouseEvents()
155
- }
156
-
157
- _getIdForGlobe() {
158
- const { globe, objectArray } = this;
159
- const callback = () => {
160
- const allObjects = globe.api_queryByScreen()
161
- }
162
- return `${this.id}_pinObjectArrayMouseEvent`;
163
- }
164
- }
165
-
166
- class ObjectArrayLabels {
167
- /**
168
- * @param {number | string} id
169
- * @param {CSGlobe} globe
170
- */
171
- constructor(id, globe, labelStyle = null) {
172
- this.id = id;
173
- this.setGlobe(globe);
174
-
175
- this.data = [
176
- {
177
- coords: [],
178
- coordsZ: [],
179
- attribs: [],
180
- },
181
- ];
182
-
183
- this.primaryKey = "id";
184
-
185
- this.objectType = CSObjectTypes.POINT;
186
- this.filter = null;
187
- this.bbox = null;
188
- this.startLod = 2;
189
- this.endLod = 19;
190
- this.query = true;
191
- this.reportObj = function (values, mouseEvent) { };
192
- this._idCollector = new Set();
193
- this._setStyle(labelStyle);
194
- }
195
-
196
-
197
-
198
- _setStyle(labelStyle) {
199
- this.style = this.globe.ObjectArray.GetDefaultStyle();
200
-
201
- if (labelStyle) {
202
- this.style.labels[0] = labelStyle;
203
- } else {
204
- this.style.labels[0].vAlignment = 2 // dikey olarak tam noktanın ortası
205
- this.style.labels[0].hAlignment = 2 // yatay olarak tam noktanın ortası
206
- this.style.labels[0].size = 11;
207
- this.style.labels[0].drawAlways = true;
208
- this.style.labels[0].fontFamily.name = "arial";
209
- this.style.labels[0].fontFamily.bold = false;
210
- this.style.labels[0].fontFamily.hollow = true;
211
- this.style.labels[0].fontFamily.hollowWidth = 1;
212
- this.style.labels[0].fontFamily.hollowOpacity = 1;
213
- }
214
-
215
- this.style.labels[0].text = "${value}";
216
- this.style.fidKey = this.primaryKey;
217
-
218
- this.style.iconType = CSIconTypes.NOICON; // milIcon ekleyebilmek için icon tipi MAP olmalı
219
- }
220
- /**
221
- * @param {CSGlobe} [globe]
222
- */
223
- setGlobe(globe) {
224
- if (!globe) return;
225
- this.globe = globe;
226
- }
227
-
228
- addToMap() {
229
- this.globe.ObjectArray.Add(this);
230
- }
231
-
232
- removeFromMap() {
233
- this.flush();
234
- this.globe.ObjectArray.Delete(this.id);
235
- }
236
-
237
- /**
238
- * Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılır
239
- * @param {PointObjectArray} data
240
- */
241
- setData(data) {
242
- this.globe.ObjectArray.SetData(this, [data]);
243
- }
244
-
245
- /**
246
- * @param {PointObjectArray} data
247
- * @param {CSObjectArrayUpdateTypes} operation
248
- * @param {CanChangeOptions} [canChange]
249
- */
250
- updateData(data, operation, canChange) {
251
- this.globe.ObjectArray.UpdateData(this, operation, [data], canChange);
252
- }
253
-
254
- flush() {
255
- const deleteBucket = {
256
- coords: [],
257
- coordsZ: [],
258
- attribs: [],
259
- };
260
- this.setData(deleteBucket);
261
- this._idCollector = new Set();
262
- }
263
-
264
- /**
265
- * Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılmaz, ancak ön hesaplama maliyeti vardır
266
- * @param {PointObjectArray} data
267
- */
268
- setControlledData(data) {
269
- const paritalData = {
270
- add: {
271
- coords: [],
272
- coordsZ: [],
273
- attribs: [],
274
- },
275
- update: {
276
- coords: [],
277
- coordsZ: [],
278
- attribs: [],
279
- },
280
- delete: {
281
- coords: [],
282
- coordsZ: [],
283
- attribs: [],
284
- },
285
- canChange: {
286
- // Tüm değişimler gözardı edilecek
287
- attribs: false,
288
- icon: false,
289
- label: false,
290
- heading: false,
291
- },
292
- };
293
- // İlk toplu ekleme adımı
294
- if (this._idCollector.size === 0) {
295
- this.setData(data);
296
-
297
- // Eklenen id'ler set edildi
298
- for (let i = 0; i < data.attribs.length; i++) {
299
- const currentPayload = data.attribs[i];
300
- const id = currentPayload[this.primaryKey];
301
-
302
- this._idCollector.add(id);
303
- }
304
-
305
- return;
306
- }
307
-
308
- /** @type {Set<string>} */
309
- const dataIds = new Set();
310
-
311
- for (let i = 0; i < data.attribs.length; i++) {
312
- const currentPayload = data.attribs[i];
313
- const id = currentPayload[this.primaryKey];
314
-
315
- let bucket = paritalData.add;
316
-
317
- dataIds.add(id);
318
-
319
- if (this._idCollector.has(id)) {
320
- bucket = paritalData.update;
321
- } else {
322
- this._idCollector.add(id);
323
- }
324
-
325
- bucket.coords.push(data.coords[2 * i], data.coords[2 * i + 1]);
326
- bucket.coordsZ.push(data.coordsZ[i]);
327
- bucket.attribs.push(currentPayload);
328
- }
329
-
330
- // Artık varolmayan elemenları sil
331
- const deleteBucket = paritalData.delete;
332
- this._idCollector.forEach((id) => {
333
- if (!dataIds.has(id)) {
334
- this._idCollector.delete(id);
335
-
336
- deleteBucket.coords.push(0, 0);
337
- deleteBucket.coordsZ.push(0);
338
- deleteBucket.attribs.push({
339
- [this.primaryKey]: id,
340
- });
341
- }
342
- });
343
-
344
- if (paritalData.add.coords.length > 0) {
345
- this.updateData(paritalData.add, CSObjectArrayUpdateTypes.ADD);
346
- }
347
-
348
- if (paritalData.update.coords.length > 0) {
349
- this.updateData(
350
- paritalData.update,
351
- CSObjectArrayUpdateTypes.UPDATE,
352
- paritalData.canChange
353
- );
354
- }
355
-
356
- if (paritalData.delete.coords.length > 0) {
357
- this.updateData(paritalData.delete, CSObjectArrayUpdateTypes.DELETE);
358
- }
359
- }
360
-
361
-
362
- setPrimarykey(key) {
363
- this.primaryKey = key;
364
- }
365
-
366
- setSymbolSet(symbolSet) {
367
- this.symbolSet = symbolSet;
368
- }
369
-
370
- getLabelStyle() {
371
- return this.style.labels[0];
372
- }
373
-
374
- setLabelStyle(style) {
375
- this.style.labels[0] = style;
376
-
377
- }
378
- }
379
-
380
- export default ObjectArrayLabels;
381
-
1
+ "use strict";
2
+ /**
3
+ * IconData;
4
+ * iconMap, iconCoords for objectArray
5
+ *
6
+ * Pin data:
7
+ * long, lat, payload
8
+ *
9
+ * methods insertPin pin and its data
10
+ * methods deletePin
11
+ *
12
+ * Behaviur injection:
13
+ * hover
14
+ * move
15
+ * pick drop
16
+ * mouseclicks
17
+ * keyboard clicks
18
+ * mouse curser changes ( this can be implemented inside above methods)
19
+ */
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ const webglobe_1 = require("@pirireis/webglobe");
25
+ const AlarmTimeLineFadeInFadeOutPlugin_1 = __importDefault(require("../../plugins/alarms/alarmFadeInFadeOutPlugin/AlarmTimeLineFadeInFadeOutPlugin"));
26
+ /**
27
+ * @typedef {Object} IconPayload
28
+ * @property {string} app6DCode
29
+ * @property {string} accsCode
30
+ */
31
+ /**
32
+ * @typedef {IconPayload & Object.<string, any>} PointPayload
33
+ */
34
+ /**
35
+ * @typedef {Object} CanChangeOptions
36
+ * @property {boolean} [attribs=false]
37
+ * @property {boolean} [icon=false]
38
+ * @property {boolean} [label=false]
39
+ * @property {boolean} [heading=false]
40
+ */
41
+ /**
42
+ * @typedef {Object} PointObjectArray
43
+ * @property {number[]} coords [longitude1, latitude1, longitude2, latitude2, ....]
44
+ * @property {number[]} coordsZ [z1, z2, ....]
45
+ * @property {PointPayload[]} attribs
46
+ */
47
+ function addIconMap(globe, mapName = "IconMapName", ICON_MAP_URL, ICON_MAP_JSON_URL) {
48
+ globe.api_AddIconMap('IconMapName', ICON_MAP_URL, ICON_MAP_JSON_URL);
49
+ }
50
+ class ObjectArray {
51
+ constructor(symbolSet, style) {
52
+ this.symbolSet = symbolSet;
53
+ this.style = style;
54
+ }
55
+ setSymbolSet(symbolSet) {
56
+ this.symbolSet = symbolSet;
57
+ }
58
+ }
59
+ class PinPointObjectArray {
60
+ constructor(id, globe, symbolSet, // iconMapName
61
+ style, callBacks = {
62
+ mouseDown: (pinItem, event) => { },
63
+ mouseMove: (pinItem, event) => { },
64
+ mouseUp: (pinItem, event) => { },
65
+ mouseClick: (pinItem, event) => { },
66
+ mouseDblClick: (pinItem, event) => { },
67
+ } = {}) {
68
+ this.id = id;
69
+ this.globe = globe;
70
+ this.symbolSet = symbolSet;
71
+ this.style = style;
72
+ this.iconMapName = iconMapName;
73
+ this.callBacks = callBacks;
74
+ // this item will be used
75
+ this.currentItem = null;
76
+ }
77
+ insertPins(pins) {
78
+ }
79
+ deletePins(pinsIDs) {
80
+ const deleteBucket = {
81
+ coords: [],
82
+ coordsZ: [],
83
+ attribs: []
84
+ };
85
+ }
86
+ _queryByScreenFindFirst() {
87
+ const { clientX, clientY } = this.globe.api_GetMousePos();
88
+ const allObjects = this.globe.queryByScreen(clientX, clientY);
89
+ for (let i = 0; i < allObjects.length; i++) {
90
+ const { obj, owner } = allObjects[i];
91
+ if (owner === this.objectArray) {
92
+ return obj;
93
+ }
94
+ }
95
+ }
96
+ // mouseDown(x, y, event) {
97
+ // return false
98
+ // }
99
+ // // mouse'a basılıp hareket ettirildiğinde, mouseDown'dan true dönmüşse çağrılır
100
+ // mouseMove(x, y, event) {
101
+ // }
102
+ // // mouse bırakıldığında çağrılır
103
+ // mouseUp(x, y, event) {
104
+ // }
105
+ // // harita üzerinde tıklandığında çağrılır
106
+ // mouseClick() {
107
+ // return false
108
+ // }
109
+ // // harita üzerinde çift tıklandığında çağrılır
110
+ // mouseDblClick() {
111
+ // return false
112
+ // }
113
+ free() {
114
+ this.globe.api_ClearMouseEvents(); // TODO
115
+ }
116
+ _setMouseEvent() {
117
+ const { globe } = this;
118
+ globe.api_SetMouseEvents();
119
+ }
120
+ _getIdForGlobe() {
121
+ const { globe, objectArray } = this;
122
+ const callback = () => {
123
+ const allObjects = globe.api_queryByScreen();
124
+ };
125
+ return `${this.id}_pinObjectArrayMouseEvent`;
126
+ }
127
+ }
128
+ class ObjectArrayLabels {
129
+ /**
130
+ * @param {number | string} id
131
+ * @param {CSGlobe} globe
132
+ */
133
+ constructor(id, globe, labelStyle = null) {
134
+ this.id = id;
135
+ this.setGlobe(globe);
136
+ this.data = [
137
+ {
138
+ coords: [],
139
+ coordsZ: [],
140
+ attribs: [],
141
+ },
142
+ ];
143
+ this.primaryKey = "id";
144
+ this.objectType = webglobe_1.CSObjectTypes.POINT;
145
+ this.filter = null;
146
+ this.bbox = null;
147
+ this.startLod = 2;
148
+ this.endLod = 19;
149
+ this.query = true;
150
+ this.reportObj = function (values, mouseEvent) { };
151
+ this._idCollector = new Set();
152
+ this._setStyle(labelStyle);
153
+ }
154
+ _setStyle(labelStyle) {
155
+ this.style = this.globe.ObjectArray.GetDefaultStyle();
156
+ if (labelStyle) {
157
+ this.style.labels[0] = labelStyle;
158
+ }
159
+ else {
160
+ this.style.labels[0].vAlignment = 2; // dikey olarak tam noktanın ortası
161
+ this.style.labels[0].hAlignment = 2; // yatay olarak tam noktanın ortası
162
+ this.style.labels[0].size = 11;
163
+ this.style.labels[0].drawAlways = true;
164
+ this.style.labels[0].fontFamily.name = "arial";
165
+ this.style.labels[0].fontFamily.bold = false;
166
+ this.style.labels[0].fontFamily.hollow = true;
167
+ this.style.labels[0].fontFamily.hollowWidth = 1;
168
+ this.style.labels[0].fontFamily.hollowOpacity = 1;
169
+ }
170
+ this.style.labels[0].text = "${value}";
171
+ this.style.fidKey = this.primaryKey;
172
+ this.style.iconType = webglobe_1.CSIconTypes.NOICON; // milIcon ekleyebilmek için icon tipi MAP olmalı
173
+ }
174
+ /**
175
+ * @param {CSGlobe} [globe]
176
+ */
177
+ setGlobe(globe) {
178
+ if (!globe)
179
+ return;
180
+ this.globe = globe;
181
+ }
182
+ addToMap() {
183
+ this.globe.ObjectArray.Add(this);
184
+ }
185
+ removeFromMap() {
186
+ this.flush();
187
+ this.globe.ObjectArray.Delete(this.id);
188
+ }
189
+ /**
190
+ * Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılır
191
+ * @param {PointObjectArray} data
192
+ */
193
+ setData(data) {
194
+ this.globe.ObjectArray.SetData(this, [data]);
195
+ }
196
+ /**
197
+ * @param {PointObjectArray} data
198
+ * @param {CSObjectArrayUpdateTypes} operation
199
+ * @param {CanChangeOptions} [canChange]
200
+ */
201
+ updateData(data, operation, canChange) {
202
+ this.globe.ObjectArray.UpdateData(this, operation, [data], canChange);
203
+ }
204
+ flush() {
205
+ const deleteBucket = {
206
+ coords: [],
207
+ coordsZ: [],
208
+ attribs: [],
209
+ };
210
+ this.setData(deleteBucket);
211
+ this._idCollector = new Set();
212
+ }
213
+ /**
214
+ * Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılmaz, ancak ön hesaplama maliyeti vardır
215
+ * @param {PointObjectArray} data
216
+ */
217
+ setControlledData(data) {
218
+ const paritalData = {
219
+ add: {
220
+ coords: [],
221
+ coordsZ: [],
222
+ attribs: [],
223
+ },
224
+ update: {
225
+ coords: [],
226
+ coordsZ: [],
227
+ attribs: [],
228
+ },
229
+ delete: {
230
+ coords: [],
231
+ coordsZ: [],
232
+ attribs: [],
233
+ },
234
+ canChange: {
235
+ // Tüm değişimler gözardı edilecek
236
+ attribs: false,
237
+ icon: false,
238
+ label: false,
239
+ heading: false,
240
+ },
241
+ };
242
+ // İlk toplu ekleme adımı
243
+ if (this._idCollector.size === 0) {
244
+ this.setData(data);
245
+ // Eklenen id'ler set edildi
246
+ for (let i = 0; i < data.attribs.length; i++) {
247
+ const currentPayload = data.attribs[i];
248
+ const id = currentPayload[this.primaryKey];
249
+ this._idCollector.add(id);
250
+ }
251
+ return;
252
+ }
253
+ /** @type {Set<string>} */
254
+ const dataIds = new Set();
255
+ for (let i = 0; i < data.attribs.length; i++) {
256
+ const currentPayload = data.attribs[i];
257
+ const id = currentPayload[this.primaryKey];
258
+ let bucket = paritalData.add;
259
+ dataIds.add(id);
260
+ if (this._idCollector.has(id)) {
261
+ bucket = paritalData.update;
262
+ }
263
+ else {
264
+ this._idCollector.add(id);
265
+ }
266
+ bucket.coords.push(data.coords[2 * i], data.coords[2 * i + 1]);
267
+ bucket.coordsZ.push(data.coordsZ[i]);
268
+ bucket.attribs.push(currentPayload);
269
+ }
270
+ // Artık varolmayan elemenları sil
271
+ const deleteBucket = paritalData.delete;
272
+ this._idCollector.forEach((id) => {
273
+ if (!dataIds.has(id)) {
274
+ this._idCollector.delete(id);
275
+ deleteBucket.coords.push(0, 0);
276
+ deleteBucket.coordsZ.push(0);
277
+ deleteBucket.attribs.push({
278
+ [this.primaryKey]: id,
279
+ });
280
+ }
281
+ });
282
+ if (paritalData.add.coords.length > 0) {
283
+ this.updateData(paritalData.add, webglobe_1.CSObjectArrayUpdateTypes.ADD);
284
+ }
285
+ if (paritalData.update.coords.length > 0) {
286
+ this.updateData(paritalData.update, webglobe_1.CSObjectArrayUpdateTypes.UPDATE, paritalData.canChange);
287
+ }
288
+ if (paritalData.delete.coords.length > 0) {
289
+ this.updateData(paritalData.delete, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
290
+ }
291
+ }
292
+ setPrimarykey(key) {
293
+ this.primaryKey = key;
294
+ }
295
+ setSymbolSet(symbolSet) {
296
+ this.symbolSet = symbolSet;
297
+ }
298
+ getLabelStyle() {
299
+ return this.style.labels[0];
300
+ }
301
+ setLabelStyle(style) {
302
+ this.style.labels[0] = style;
303
+ }
304
+ }
305
+ exports.default = ObjectArrayLabels;