@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,341 +1,296 @@
1
- // TODO: REMOVE THIS
2
- import {
3
- CSGlobe,
4
- CSObjectTypes,
5
- CSIconTypes,
6
- CSObjectArrayUpdateTypes,
7
- GlobeManager
8
- } from "@pirireis/webglobe";
9
-
10
- const object = {
11
- "displayName": "CompassRose",
12
- "layerType": 3,
13
-
14
- "wkbGeom": null,
15
- "wfsLayerName": null,
16
- "style": {
17
- "labels": [
18
- {
19
- "startLod": 2,
20
- "endLod": 25,
21
- "position": 0,
22
- "text": "'${title}'",
23
- "textCallback": null,
24
- "offset": {
25
- "x": 0,
26
- "y": 0
27
- },
28
- "vAlignment": 2,
29
- "hAlignment": 2,
30
- "size": 20,
31
- "hollowColor": "#000",
32
- "textColor": "#FFF",
33
- "textOpacity": 1,
34
- "transform": 0,
35
- "fontFamily": {
36
- "name": "arial",
37
- "bold": true,
38
- "italic": false,
39
- "hollow": true,
40
- "hollowWidth": 2,
41
- "hollowBlur": 1,
42
- "hollowOpacity": 0.75
43
- },
44
- "reductable": false,
45
- "reduction": false,
46
- "searchAvailablePlace": false,
47
- "searchRadius": 3,
48
- "forceToDraw": false,
49
- "drawAlways": false,
50
- "canMove": true,
51
- "ignoreEmptyStrings": false,
52
- "textStyle": null
53
- }
54
- ],
55
- "iconType": 4,
56
- "active": true,
57
- "icon": {
58
- "rotateByGlobe": true,
59
- "integerPosition": false,
60
- "mapName": "light",
61
- "name": "lightning25",
62
- "iconColor": "#ffffff",
63
- "borderColor": "#0000ff",
64
- "fillColor": "#ffffff",
65
- "borderWidth": 2,
66
- "radius": 70,
67
- "sizeX": 140,
68
- "sizeY": 140,
69
- "rotDeg": 0
70
- },
71
- "iconReduction": {
72
- "reduction": false,
73
- "searchAvailablePlace": false,
74
- "searchRadius": 3,
75
- "forceToDraw": false
76
- },
77
- "mouseOverSymbolScale": 1,
78
- "shape": null,
79
- "filter": [],
80
- "lineType": {
81
- "cap": "round",
82
- "join": "round",
83
- "miterLimit": 2,
84
- "dash": [],
85
- "width": 2
86
- },
87
- "opacity": 1,
88
- "border": true,
89
- "borderColor": "#000000",
90
- "filled": true,
91
- "fillColor": "#ffff00",
92
- "bottomFilled": false,
93
- "bottomFillColor": "#ffff00",
94
- "sideFilled": true,
95
- "sideColor": "#ff00ff",
96
- "cullFace": true,
97
- "depthTest": false,
98
- "zMode": 1,
99
- "displayName": "",
100
- "fidKey": "name_local",
101
- "startLod": 2,
102
- "endLod": 25,
103
- "flashIcon": false,
104
- "flashShape": false,
105
- "flashLabels": false,
106
- "flashGeo": false,
107
- "lodDisplay": []
108
- },
109
- "objectType": "point",
110
- "bbox": null,
111
- "startLod": 2,
112
- "endLod": 19,
113
- "continuousLOD": true,
114
- "MVTXYZName": "hd_seyp",
115
- "rasterize": false,
116
- "selectedStyle": {
117
- "labels": [
118
- {
119
- "startLod": 2,
120
- "endLod": 25,
121
- "position": 0,
122
- "text": "",
123
- "textCallback": null,
124
- "offset": {
125
- "x": 16,
126
- "y": -16
127
- },
128
- "vAlignment": 2,
129
- "hAlignment": 2,
130
- "size": 20,
131
- "hollowColor": "#000",
132
- "textColor": "#FFF",
133
- "textOpacity": 1,
134
- "transform": 0,
135
- "fontFamily": {
136
- "name": "arial",
137
- "bold": true,
138
- "italic": false,
139
- "hollow": true,
140
- "hollowWidth": 2,
141
- "hollowBlur": 1,
142
- "hollowOpacity": 0.75
143
- },
144
- "drawAlways": true,
145
- "canMove": false,
146
- "ignoreEmptyStrings": false,
147
- "textStyle": null
148
- }
149
- ],
150
- "icon": {
151
- "iconColor": "#ffffff",
152
- "borderColor": "#000000",
153
- "fillColor": "#ff0000",
154
- "borderWidth": 2,
155
- "radius": 16,
156
- "sizeX": 32,
157
- "sizeY": 32,
158
- "rotDeg": 0
159
- },
160
- "mouseOverSymbolScale": 1,
161
- "shape": {
162
- "type": 3
163
- },
164
- "filter": [],
165
- "opacity": 0.75,
166
- "borderColor": "#000000",
167
- "fillColor": "#ff0000",
168
- "bottomFillColor": "#ff00ff",
169
- "sideColor": "#ffff00",
170
- "flashIcon": false,
171
- "flashShape": false,
172
- "flashLabels": false,
173
- "flashGeo": false
174
- }
175
- }
176
-
177
- const setIconSize = (object, size) => {
178
- object.style.icon.sizeX = size;
179
- object.style.icon.sizeY = size;
180
- object.style.icon.radius = Math.ceil(size / 2);
181
- }
182
-
183
- const setMapName = (object, mapName) => {
184
- object.style.icon.mapName = mapName;
185
- }
186
-
187
- const setIconName = (object, name) => {
188
- object.style.icon.name = name;
189
- }
190
-
191
- const setData = (object, data) => {
192
- object.data = data;
193
- }
194
-
195
-
196
- const addSingleImageIconMap = symbolSet => url => {
197
- GlobeManager.api_AddIconMap(symbolSet, url, null);
198
- }
199
-
200
- const setFIDKey = (object, key) => {
201
- object.style.fidKey = key;
202
- }
203
-
204
-
205
-
206
- export default class CompassRose {
207
- constructor(id, globe, { size = 100, primaryKey = "__key__", symbolSet = "compassRose", iconSet = null, imageURL = null, data = null }) {
208
-
209
- this.id = id;
210
- this.globe = globe;
211
- this._idCollector = new Set();
212
-
213
- this.primaryKey = primaryKey;
214
-
215
- this.object = structuredClone(object);
216
- this.object.id = id;
217
-
218
- setIconSize(this.object, size);
219
- if (imageURL) {
220
- addSingleImageIconMap(symbolSet)(imageURL);
221
- }
222
-
223
- setMapName(this.object, symbolSet);
224
- setIconName(this.object, symbolSet);
225
- setFIDKey(this.object, primaryKey);
226
- globe.ObjectArray.Add(this.object);
227
-
228
- if (data) this.setControlledData(data);
229
- }
230
-
231
-
232
- setIconSize(size) {
233
- const { object, globe } = this;
234
- setIconSize(object, size);
235
- globe.ObjectArray.StyleChanged(object);
236
- }
237
-
238
-
239
- setMapName(mapName) {
240
- const { object, globe } = this;
241
- setMapName(object, mapName);
242
- globe.ObjectArray.StyleChanged(object);
243
- }
244
-
245
-
246
-
247
- flush() {
248
- this._idCollector.clear();
249
- this._setData({ coords: [], coordsZ: [], attribs: [] });
250
- }
251
-
252
-
253
- insert(data) {
254
- const updateBucket = {
255
- coords: [],
256
- coordsZ: [],
257
- attribs: [],
258
- };
259
- const addBucket = {
260
- coords: [],
261
- coordsZ: [],
262
- attribs: [],
263
- };
264
- let bucket;
265
- for (let i = 0; i < data.attribs.length; i++) {
266
- const currentPayload = data.attribs[i];
267
- const id = currentPayload[this.primaryKey];
268
-
269
- if (this._idCollector.has(id)) {
270
- bucket = updateBucket;
271
- } else {
272
- this._idCollector.add(id);
273
- bucket = addBucket;
274
- }
275
- bucket.coords.push(data.coords[2 * i], data.coords[2 * i + 1]);
276
- bucket.coordsZ.push(data.coordsZ[i]);
277
- bucket.attribs.push(currentPayload);
278
- }
279
-
280
- if (addBucket.coords.length > 0) {
281
- this._updateData(addBucket, CSObjectArrayUpdateTypes.ADD, { attribs: false, icon: false, label: false, heading: false });
282
- }
283
-
284
- if (updateBucket.coords.length > 0) {
285
- this._updateData(
286
- updateBucket,
287
- CSObjectArrayUpdateTypes.UPDATE,
288
- { attribs: false, icon: false, label: false, heading: false },
289
- );
290
- }
291
- }
292
-
293
- delete(dataIDs) {
294
- const deleteBucket = {
295
- coords: [],
296
- coordsZ: [],
297
- attribs: [],
298
- };
299
- dataIDs.forEach(id => {
300
- if (this._idCollector.has(id)) {
301
- this._idCollector.delete(id);
302
- deleteBucket.coords.push(0, 0);
303
- deleteBucket.coordsZ.push(0);
304
- // also can be written as follows
305
- deleteBucket.attribs.push({
306
- [this.primaryKey]: id,
307
- });
308
- }
309
- });
310
-
311
- if (deleteBucket.coords.length > 0) {
312
-
313
- this._updateData(deleteBucket, CSObjectArrayUpdateTypes.DELETE);
314
- }
315
- }
316
-
317
- removeFromMap() {
318
- this.globe.ObjectArray.Delete(this.id);
319
- }
320
-
321
-
322
- // private
323
- _setData(data) {
324
- const { globe, object } = this;
325
- globe.ObjectArray.SetData(object, [data]);
326
- }
327
-
328
- /**
329
- * @param {PointObjectArray} data
330
- * @param {CSObjectArrayUpdateTypes} operation
331
- * @param {CanChangeOptions} [canChange]
332
- */
333
- _updateData(data, operation, canChange) {
334
- const { globe, object } = this;
335
- globe.ObjectArray.UpdateData(object, operation, [data], canChange);
336
- }
337
-
338
-
339
- }
340
-
341
- const getID = (data, primaryKey) => data.attribs[primaryKey];
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // TODO: REMOVE THIS
4
+ const webglobe_1 = require("@pirireis/webglobe");
5
+ const object = {
6
+ "displayName": "CompassRose",
7
+ "layerType": 3,
8
+ "wkbGeom": null,
9
+ "wfsLayerName": null,
10
+ "style": {
11
+ "labels": [
12
+ {
13
+ "startLod": 2,
14
+ "endLod": 25,
15
+ "position": 0,
16
+ "text": "'${title}'",
17
+ "textCallback": null,
18
+ "offset": {
19
+ "x": 0,
20
+ "y": 0
21
+ },
22
+ "vAlignment": 2,
23
+ "hAlignment": 2,
24
+ "size": 20,
25
+ "hollowColor": "#000",
26
+ "textColor": "#FFF",
27
+ "textOpacity": 1,
28
+ "transform": 0,
29
+ "fontFamily": {
30
+ "name": "arial",
31
+ "bold": true,
32
+ "italic": false,
33
+ "hollow": true,
34
+ "hollowWidth": 2,
35
+ "hollowBlur": 1,
36
+ "hollowOpacity": 0.75
37
+ },
38
+ "reductable": false,
39
+ "reduction": false,
40
+ "searchAvailablePlace": false,
41
+ "searchRadius": 3,
42
+ "forceToDraw": false,
43
+ "drawAlways": false,
44
+ "canMove": true,
45
+ "ignoreEmptyStrings": false,
46
+ "textStyle": null
47
+ }
48
+ ],
49
+ "iconType": 4,
50
+ "active": true,
51
+ "icon": {
52
+ "rotateByGlobe": true,
53
+ "integerPosition": false,
54
+ "mapName": "light",
55
+ "name": "lightning25",
56
+ "iconColor": "#ffffff",
57
+ "borderColor": "#0000ff",
58
+ "fillColor": "#ffffff",
59
+ "borderWidth": 2,
60
+ "radius": 70,
61
+ "sizeX": 140,
62
+ "sizeY": 140,
63
+ "rotDeg": 0
64
+ },
65
+ "iconReduction": {
66
+ "reduction": false,
67
+ "searchAvailablePlace": false,
68
+ "searchRadius": 3,
69
+ "forceToDraw": false
70
+ },
71
+ "mouseOverSymbolScale": 1,
72
+ "shape": null,
73
+ "filter": [],
74
+ "lineType": {
75
+ "cap": "round",
76
+ "join": "round",
77
+ "miterLimit": 2,
78
+ "dash": [],
79
+ "width": 2
80
+ },
81
+ "opacity": 1,
82
+ "border": true,
83
+ "borderColor": "#000000",
84
+ "filled": true,
85
+ "fillColor": "#ffff00",
86
+ "bottomFilled": false,
87
+ "bottomFillColor": "#ffff00",
88
+ "sideFilled": true,
89
+ "sideColor": "#ff00ff",
90
+ "cullFace": true,
91
+ "depthTest": false,
92
+ "zMode": 1,
93
+ "displayName": "",
94
+ "fidKey": "name_local",
95
+ "startLod": 2,
96
+ "endLod": 25,
97
+ "flashIcon": false,
98
+ "flashShape": false,
99
+ "flashLabels": false,
100
+ "flashGeo": false,
101
+ "lodDisplay": []
102
+ },
103
+ "objectType": "point",
104
+ "bbox": null,
105
+ "startLod": 2,
106
+ "endLod": 19,
107
+ "continuousLOD": true,
108
+ "MVTXYZName": "hd_seyp",
109
+ "rasterize": false,
110
+ "selectedStyle": {
111
+ "labels": [
112
+ {
113
+ "startLod": 2,
114
+ "endLod": 25,
115
+ "position": 0,
116
+ "text": "",
117
+ "textCallback": null,
118
+ "offset": {
119
+ "x": 16,
120
+ "y": -16
121
+ },
122
+ "vAlignment": 2,
123
+ "hAlignment": 2,
124
+ "size": 20,
125
+ "hollowColor": "#000",
126
+ "textColor": "#FFF",
127
+ "textOpacity": 1,
128
+ "transform": 0,
129
+ "fontFamily": {
130
+ "name": "arial",
131
+ "bold": true,
132
+ "italic": false,
133
+ "hollow": true,
134
+ "hollowWidth": 2,
135
+ "hollowBlur": 1,
136
+ "hollowOpacity": 0.75
137
+ },
138
+ "drawAlways": true,
139
+ "canMove": false,
140
+ "ignoreEmptyStrings": false,
141
+ "textStyle": null
142
+ }
143
+ ],
144
+ "icon": {
145
+ "iconColor": "#ffffff",
146
+ "borderColor": "#000000",
147
+ "fillColor": "#ff0000",
148
+ "borderWidth": 2,
149
+ "radius": 16,
150
+ "sizeX": 32,
151
+ "sizeY": 32,
152
+ "rotDeg": 0
153
+ },
154
+ "mouseOverSymbolScale": 1,
155
+ "shape": {
156
+ "type": 3
157
+ },
158
+ "filter": [],
159
+ "opacity": 0.75,
160
+ "borderColor": "#000000",
161
+ "fillColor": "#ff0000",
162
+ "bottomFillColor": "#ff00ff",
163
+ "sideColor": "#ffff00",
164
+ "flashIcon": false,
165
+ "flashShape": false,
166
+ "flashLabels": false,
167
+ "flashGeo": false
168
+ }
169
+ };
170
+ const setIconSize = (object, size) => {
171
+ object.style.icon.sizeX = size;
172
+ object.style.icon.sizeY = size;
173
+ object.style.icon.radius = Math.ceil(size / 2);
174
+ };
175
+ const setMapName = (object, mapName) => {
176
+ object.style.icon.mapName = mapName;
177
+ };
178
+ const setIconName = (object, name) => {
179
+ object.style.icon.name = name;
180
+ };
181
+ const setData = (object, data) => {
182
+ object.data = data;
183
+ };
184
+ const addSingleImageIconMap = symbolSet => url => {
185
+ webglobe_1.GlobeManager.api_AddIconMap(symbolSet, url, null);
186
+ };
187
+ const setFIDKey = (object, key) => {
188
+ object.style.fidKey = key;
189
+ };
190
+ class CompassRose {
191
+ constructor(id, globe, { size = 100, primaryKey = "__key__", symbolSet = "compassRose", iconSet = null, imageURL = null, data = null }) {
192
+ this.id = id;
193
+ this.globe = globe;
194
+ this._idCollector = new Set();
195
+ this.primaryKey = primaryKey;
196
+ this.object = structuredClone(object);
197
+ this.object.id = id;
198
+ setIconSize(this.object, size);
199
+ if (imageURL) {
200
+ addSingleImageIconMap(symbolSet)(imageURL);
201
+ }
202
+ setMapName(this.object, symbolSet);
203
+ setIconName(this.object, symbolSet);
204
+ setFIDKey(this.object, primaryKey);
205
+ globe.ObjectArray.Add(this.object);
206
+ if (data)
207
+ this.setControlledData(data);
208
+ }
209
+ setIconSize(size) {
210
+ const { object, globe } = this;
211
+ setIconSize(object, size);
212
+ globe.ObjectArray.StyleChanged(object);
213
+ }
214
+ setMapName(mapName) {
215
+ const { object, globe } = this;
216
+ setMapName(object, mapName);
217
+ globe.ObjectArray.StyleChanged(object);
218
+ }
219
+ flush() {
220
+ this._idCollector.clear();
221
+ this._setData({ coords: [], coordsZ: [], attribs: [] });
222
+ }
223
+ insert(data) {
224
+ const updateBucket = {
225
+ coords: [],
226
+ coordsZ: [],
227
+ attribs: [],
228
+ };
229
+ const addBucket = {
230
+ coords: [],
231
+ coordsZ: [],
232
+ attribs: [],
233
+ };
234
+ let bucket;
235
+ for (let i = 0; i < data.attribs.length; i++) {
236
+ const currentPayload = data.attribs[i];
237
+ const id = currentPayload[this.primaryKey];
238
+ if (this._idCollector.has(id)) {
239
+ bucket = updateBucket;
240
+ }
241
+ else {
242
+ this._idCollector.add(id);
243
+ bucket = addBucket;
244
+ }
245
+ bucket.coords.push(data.coords[2 * i], data.coords[2 * i + 1]);
246
+ bucket.coordsZ.push(data.coordsZ[i]);
247
+ bucket.attribs.push(currentPayload);
248
+ }
249
+ if (addBucket.coords.length > 0) {
250
+ this._updateData(addBucket, webglobe_1.CSObjectArrayUpdateTypes.ADD, { attribs: false, icon: false, label: false, heading: false });
251
+ }
252
+ if (updateBucket.coords.length > 0) {
253
+ this._updateData(updateBucket, webglobe_1.CSObjectArrayUpdateTypes.UPDATE, { attribs: false, icon: false, label: false, heading: false });
254
+ }
255
+ }
256
+ delete(dataIDs) {
257
+ const deleteBucket = {
258
+ coords: [],
259
+ coordsZ: [],
260
+ attribs: [],
261
+ };
262
+ dataIDs.forEach(id => {
263
+ if (this._idCollector.has(id)) {
264
+ this._idCollector.delete(id);
265
+ deleteBucket.coords.push(0, 0);
266
+ deleteBucket.coordsZ.push(0);
267
+ // also can be written as follows
268
+ deleteBucket.attribs.push({
269
+ [this.primaryKey]: id,
270
+ });
271
+ }
272
+ });
273
+ if (deleteBucket.coords.length > 0) {
274
+ this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
275
+ }
276
+ }
277
+ removeFromMap() {
278
+ this.globe.ObjectArray.Delete(this.id);
279
+ }
280
+ // private
281
+ _setData(data) {
282
+ const { globe, object } = this;
283
+ globe.ObjectArray.SetData(object, [data]);
284
+ }
285
+ /**
286
+ * @param {PointObjectArray} data
287
+ * @param {CSObjectArrayUpdateTypes} operation
288
+ * @param {CanChangeOptions} [canChange]
289
+ */
290
+ _updateData(data, operation, canChange) {
291
+ const { globe, object } = this;
292
+ globe.ObjectArray.UpdateData(object, operation, [data], canChange);
293
+ }
294
+ }
295
+ exports.default = CompassRose;
296
+ const getID = (data, primaryKey) => data.attribs[primaryKey];
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CompassRose = void 0;
7
+ const compassrose_1 = __importDefault(require("./compassrose"));
8
+ exports.CompassRose = compassrose_1.default;