@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,368 +1,329 @@
1
- import {
2
- CSObjectArrayUpdateTypes,
3
- } from "@pirireis/webglobe";
4
- import { ENUM_HIDE, ENUM_TEXT_HIDE } from "./enum";
5
-
6
- const fidKey = "__fid__";
7
-
8
- const object = {
9
- "displayName": "RangeRingAngleText",
10
- "layerType": 3,
11
- "wkbGeom": null,
12
- "wfsLayerName": null,
13
- "objectType": "point",
14
- "bbox": null,
15
- "startLod": 2,
16
- "endLod": 30,
17
- "continuousLOD": true,
18
- "MVTXYZName": "hd_seyp",
19
- "rasterize": false,
20
- }
21
-
22
-
23
- export default class RangeRingAngleText {
24
- constructor(globe, id, { style = null, hideAll = false, opacity = 1 } = {}) {
25
- this.globe = globe;
26
- this.ObjectArray = globe.ObjectArray;
27
- this.id = id;
28
-
29
- this._hideAll = hideAll;
30
- this._opacity = opacity;
31
- const style_ = style !== null ? style : this.getDefaultStyle();
32
- this.object = Object.assign({}, object, { style: style_, id: this.id });
33
-
34
- this._centerCollection = new Map();
35
- // new inner MAP params
36
- // hide
37
- // textHide
38
- this.ObjectArray.Add(this.object);
39
- }
40
-
41
- getDefaultStyle() {
42
- const style = this.ObjectArray.GetDefaultStyle();
43
- style.fidKey = fidKey;
44
- const { labels } = style;
45
- const label = labels[0];
46
- label.offset = { x: 0, y: 0 };
47
- label.fontFamily.hollowWidth = 1;
48
- label.vAlignment = 2;
49
- label.hAlignment = 2;
50
- label.size = 17;
51
- // eslint-disable-next-line
52
- label.text = "`${aci}`"
53
-
54
- return style;
55
- }
56
-
57
-
58
- setStyle(style) {
59
- if (style === null) return;
60
- style.opacity = this._opacity;
61
- this.object.style = style;
62
- this.ObjectArray.StyleChanged(this.object);
63
- }
64
-
65
-
66
- setOpacity(opacity) {
67
- this._opacity = opacity;
68
- const { style } = this.object;
69
- style.opacity = opacity;
70
- this.ObjectArray.StyleChanged(this.object);
71
- }
72
-
73
-
74
- free() {
75
- this.flush();
76
- this.ObjectArray.Delete(this.id);
77
- }
78
-
79
-
80
- /**
81
- * @param {Array<{centerID,stepAngle, long,lat, rings>} ringDatas
82
- * centerID: string | ObjectArray fidKey de kullanilir
83
- * stepAngle: number | 0-360 arasinda
84
- * long,lat: number | merkez koordinatlari lat long radian. Globe icin dereceye iceride cevrilir
85
- * rings: Array<{radius: number}> | En buyuk halkaya centik acilari yazilir, Sonraki adim yaricaplarin uzunlugunu yazdirmak
86
- *
87
- * eger bir centerID zaten var ise: Onceki noktalar dusurulur ve yeniden eklenir
88
- *
89
- * */
90
- insertBulk(ringDatas) {
91
- const { _hideAll } = this;
92
- const addBucket = {
93
- coords: [],
94
- coordsZ: [],
95
- attribs: []
96
- }
97
-
98
- const deleteBucket = {
99
- coords: [],
100
- coordsZ: [],
101
- attribs: []
102
- }
103
-
104
- for (const { centerID, long, lat, rings, stepAngle, hide = ENUM_HIDE.SHOW, textHide = ENUM_TEXT_HIDE.SHOW } of ringDatas) {
105
- if (this._centerCollection.has(centerID)) {
106
- this._fillDeleteBucket(centerID, deleteBucket);
107
- }
108
-
109
- const maxRadius = rings.reduce((acc, { radius }) => Math.max(acc, radius), 0);
110
- const textHide_ = _hideAll ? ENUM_TEXT_HIDE.HIDE : textHide;
111
- const show = hide !== ENUM_HIDE.HIDE && textHide_ === ENUM_TEXT_HIDE.SHOW;
112
- if (show) this._appendCircle(long, lat, maxRadius, stepAngle, centerID, addBucket);
113
- this._centerCollection.set(centerID,
114
- new Map([
115
- ["stepAngle", stepAngle],
116
- ["maxRadius", maxRadius],
117
- ["long", long],
118
- ["lat", lat],
119
- ["hide", hide],
120
- ["textHide", textHide_]
121
- ]));
122
- }
123
- if (this._hideAll) return;
124
- if (deleteBucket.coords.length > 0) this._updateData(deleteBucket, CSObjectArrayUpdateTypes.DELETE);
125
- if (addBucket.coords.length > 0) this._updateData(addBucket, CSObjectArrayUpdateTypes.ADD);
126
-
127
- }
128
-
129
- /**
130
- * @param {Array<{centerID, x,y}>} centerDatas
131
- * aci ve radiuslarin tutulmasi gereklidir.
132
- * */
133
- updateCentersXY(centerDatas) {
134
- const updateBucket = {
135
- coords: [],
136
- coordsZ: [],
137
- attribs: []
138
- }
139
- for (const { centerID, long, lat } of centerDatas) {
140
- if (this._centerCollection.has(centerID)) {
141
- const centerMap = this._centerCollection.get(centerID);
142
- centerMap.set("long", long);
143
- centerMap.set("lat", lat);
144
- const hide = centerMap.get("hide");
145
- const textHide = centerMap.get("textHide");
146
- const isHidden = hide === ENUM_HIDE.HIDE || textHide === ENUM_TEXT_HIDE.HIDE;
147
- if (isHidden) continue;
148
- const maxRadius = centerMap.get("maxRadius");
149
- const stepAngle = centerMap.get("stepAngle");
150
- // long, lat, radius, step, centerID, outBucket
151
- this._appendCircle(long, lat, maxRadius, stepAngle, centerID, updateBucket);
152
-
153
- }
154
- }
155
- // for (const attribs of updateBucket.attribs) {
156
- // delete attribs["aci"];
157
- // }
158
- if (updateBucket.coords.length > 0) {
159
- this._updateData(updateBucket, CSObjectArrayUpdateTypes.UPDATE);
160
- }
161
- }
162
-
163
-
164
-
165
- /**
166
- *
167
- * @param {Array<{centerID:string, hide: bool}>} centerHides
168
- */
169
- updateCentersHide(centerHides) {
170
- if (this._hideAll) {
171
- console.warn("Tum mesafe halkasi yazilari gizli durum. Islem yapilamaz");
172
- return;
173
- };
174
- const addBucket = {
175
- coords: [],
176
- coordsZ: [],
177
- attribs: []
178
- };
179
- const deleteBucket = {
180
- coords: [],
181
- coordsZ: [],
182
- attribs: []
183
- };
184
- for (const { centerID, textHide = null, hide = null } of centerHides) {
185
- if (!this._centerCollection.has(centerID)) continue;
186
- const centerMap = this._centerCollection.get(centerID);
187
-
188
- const isHidden = centerMap.get("hide") === ENUM_HIDE.HIDE || centerMap.get("textHide") === ENUM_TEXT_HIDE.HIDE;
189
-
190
- const _hide = hide !== null ? hide : centerMap.get("hide");
191
- const _textHide = textHide !== null ? textHide : centerMap.get("textHide");
192
-
193
- const show = (_hide !== ENUM_HIDE.HIDE) && (_textHide === ENUM_TEXT_HIDE.SHOW);
194
- if (!isHidden && !show) {
195
- this._fillDeleteBucket(centerID, deleteBucket);
196
- } else if (isHidden && show) {
197
- this._appendCircle(centerMap.get("long"), centerMap.get("lat"), centerMap.get("maxRadius"), centerMap.get("stepAngle"), centerID, addBucket);
198
- }
199
- if (hide !== null) centerMap.set("hide", hide);
200
- if (textHide !== null) centerMap.set("textHide", textHide);
201
- }
202
- if (deleteBucket.coords.length > 0) this._updateData(deleteBucket, CSObjectArrayUpdateTypes.DELETE);
203
- if (addBucket.coords.length > 0) this._updateData(addBucket, CSObjectArrayUpdateTypes.ADD);
204
- }
205
-
206
-
207
- // TODO : Implement this
208
- removeCenters(centerIDs) {
209
- const deleteBucket = {
210
- coords: [],
211
- coordsZ: [],
212
- attribs: []
213
- }
214
- for (const centerID of centerIDs) {
215
- if (this._centerCollection.has(centerID)) {
216
- this._fillDeleteBucket(centerID, deleteBucket);
217
- this._centerCollection.delete(centerID);
218
- }
219
- }
220
- this._updateData(deleteBucket, CSObjectArrayUpdateTypes.DELETE);
221
- }
222
-
223
-
224
- hideAll() {
225
- this._hideAll = true;
226
- const deleteBucket = {
227
- coords: [],
228
- coordsZ: [],
229
- attribs: []
230
- }
231
- for (const [centerID, centerMap] of this._centerCollection) {
232
- const hide = centerMap.get("hide");
233
- const hideText = centerMap.get("textHide");
234
- centerMap.set("textHide", ENUM_TEXT_HIDE.HIDE);
235
- if (hide === ENUM_HIDE.HIDE) continue;
236
- const isHidden = hideText === ENUM_TEXT_HIDE.HIDE;
237
- if (!isHidden) this._fillDeleteBucket(centerID, deleteBucket);
238
- }
239
- this._updateData(deleteBucket, CSObjectArrayUpdateTypes.DELETE);
240
- }
241
-
242
- showAll() {
243
- this._hideAll = false;
244
- const addBucket = {
245
- coords: [],
246
- coordsZ: [],
247
- attribs: []
248
- }
249
- for (const [centerID, centerMap] of this._centerCollection) {
250
- const hide = centerMap.get("hide");
251
- if (hide === ENUM_HIDE.HIDE) continue;
252
- const hideText = centerMap.get("textHide");
253
- const isHidden = hideText === ENUM_TEXT_HIDE.HIDE;
254
- if (isHidden) {
255
- const long = centerMap.get("long");
256
- const lat = centerMap.get("lat");
257
- const maxRadius = centerMap.get("maxRadius");
258
- const stepAngle = centerMap.get("stepAngle");
259
- this._appendCircle(long, lat, maxRadius, stepAngle, centerID, addBucket);
260
- centerMap.set("hide", ENUM_HIDE.SHOW);
261
- centerMap.set("textHide", ENUM_TEXT_HIDE.SHOW);
262
- }
263
- }
264
- if (addBucket.coords.length) this._updateData(addBucket, CSObjectArrayUpdateTypes.ADD);
265
- }
266
-
267
-
268
-
269
-
270
- flush() {
271
- const data = {
272
- coords: [],
273
- coordsZ: [],
274
- attribs: []
275
- };
276
- this._idCollector = new Set();
277
- this.ObjectArray.SetData(this.object, data);
278
- }
279
-
280
-
281
-
282
- //------------------PRIVATE METHODS------------------//
283
-
284
-
285
-
286
-
287
- _appendCircle(long, lat, radius, step, centerID, outBucket) {
288
- this.__realCoords(long, lat, radius, step, centerID, outBucket);
289
-
290
- }
291
-
292
- __realCoords(longCenter, latCenter, radius, stepAngle, centerID, outBucket) {
293
- const { globe } = this;
294
- const { coords, coordsZ, attribs } = outBucket;
295
- let i = 1;
296
- for (let aci = stepAngle; aci < 360; aci += stepAngle) {
297
- const { long, lat } = globe.Math.FindPointByPolar(longCenter, latCenter, radius, aci);
298
- coords.push(long, lat);
299
- coordsZ.push(0);
300
- const key = this._key(centerID, i); i++;
301
- // fidkey is the key
302
- attribs.push({
303
- "__fid__": key,
304
- "aci": (aci).toFixed(0).toString().padStart(3, '0')
305
- })
306
- }
307
-
308
-
309
- { // add 0
310
- const { long, lat } = globe.Math.FindPointByPolar(longCenter, latCenter, radius, 0);
311
- coords.push(long, lat);
312
- coordsZ.push(0);
313
- const key = this._key(centerID, 0);
314
- // fidkey is the key
315
- attribs.push({
316
- "__fid__": key,
317
- "aci": "K"
318
- });
319
- }
320
- }
321
-
322
-
323
-
324
-
325
- _updateData(bucket, mode) {
326
- this.ObjectArray.UpdateData(this.object, mode, [bucket], { attribs: false, icon: false, text: false });
327
- }
328
-
329
-
330
- _key(centerRingKey, limpIndex) {
331
- return `${centerRingKey}_${limpIndex}`;
332
- }
333
-
334
- _fillDeleteBucket(centerID, outDeleteBucket) {
335
-
336
- const centerMap = this._centerCollection.get(centerID);
337
- const stepAngle = centerMap.get("stepAngle");
338
- const { coords, coordsZ, attribs } = outDeleteBucket;
339
- let i = 0;
340
- for (let aci = 0; aci < 360; aci += stepAngle) {
341
- const key = this._key(centerID, i++);
342
- coords.push(0, 0);
343
- coordsZ.push(0);
344
- attribs.push({
345
- "__fid__": key,
346
- });
347
- }
348
- }
349
-
350
- _updateAll() {
351
- const updateBucket = {
352
- coords: [],
353
- coordsZ: [],
354
- attribs: []
355
- }
356
- for (const [centerID, centerMap] of this._centerCollection) {
357
- const isHidden = centerMap.get("hide") === ENUM_HIDE.HIDE || centerMap.get("textHide") === ENUM_TEXT_HIDE.HIDE;
358
- if (isHidden) continue;
359
- const long = centerMap.get("long");
360
- const lat = centerMap.get("lat");
361
- const maxRadius = centerMap.get("maxRadius");
362
- const stepAngle = centerMap.get("stepAngle");
363
- this._appendCircle(long, lat, maxRadius, stepAngle, centerID, updateBucket);
364
- }
365
- this._updateData(updateBucket, CSObjectArrayUpdateTypes.UPDATE);
366
- }
367
-
368
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const webglobe_1 = require("@pirireis/webglobe");
4
+ const enum_1 = require("./enum");
5
+ const fidKey = "__fid__";
6
+ const object = {
7
+ "displayName": "RangeRingAngleText",
8
+ "layerType": 3,
9
+ "wkbGeom": null,
10
+ "wfsLayerName": null,
11
+ "objectType": "point",
12
+ "bbox": null,
13
+ "startLod": 2,
14
+ "endLod": 30,
15
+ "continuousLOD": true,
16
+ "MVTXYZName": "hd_seyp",
17
+ "rasterize": false,
18
+ };
19
+ class RangeRingAngleText {
20
+ constructor(globe, id, { style = null, hideAll = false, opacity = 1 } = {}) {
21
+ this.globe = globe;
22
+ this.ObjectArray = globe.ObjectArray;
23
+ this.id = id;
24
+ this._hideAll = hideAll;
25
+ this._opacity = opacity;
26
+ const style_ = style !== null ? style : this.getDefaultStyle();
27
+ this.object = Object.assign({}, object, { style: style_, id: this.id });
28
+ this._centerCollection = new Map();
29
+ // new inner MAP params
30
+ // hide
31
+ // textHide
32
+ this.ObjectArray.Add(this.object);
33
+ }
34
+ getDefaultStyle() {
35
+ const style = this.ObjectArray.GetDefaultStyle();
36
+ style.fidKey = fidKey;
37
+ const { labels } = style;
38
+ const label = labels[0];
39
+ label.offset = { x: 0, y: 0 };
40
+ label.fontFamily.hollowWidth = 1;
41
+ label.vAlignment = 2;
42
+ label.hAlignment = 2;
43
+ label.size = 17;
44
+ // eslint-disable-next-line
45
+ label.text = "`${aci}`";
46
+ return style;
47
+ }
48
+ setStyle(style) {
49
+ if (style === null)
50
+ return;
51
+ style.opacity = this._opacity;
52
+ this.object.style = style;
53
+ this.ObjectArray.StyleChanged(this.object);
54
+ }
55
+ setOpacity(opacity) {
56
+ this._opacity = opacity;
57
+ const { style } = this.object;
58
+ style.opacity = opacity;
59
+ this.ObjectArray.StyleChanged(this.object);
60
+ }
61
+ free() {
62
+ this.flush();
63
+ this.ObjectArray.Delete(this.id);
64
+ }
65
+ /**
66
+ * @param {Array<{centerID,stepAngle, long,lat, rings>} ringDatas
67
+ * centerID: string | ObjectArray fidKey de kullanilir
68
+ * stepAngle: number | 0-360 arasinda
69
+ * long,lat: number | merkez koordinatlari lat long radian. Globe icin dereceye iceride cevrilir
70
+ * rings: Array<{radius: number}> | En buyuk halkaya centik acilari yazilir, Sonraki adim yaricaplarin uzunlugunu yazdirmak
71
+ *
72
+ * eger bir centerID zaten var ise: Onceki noktalar dusurulur ve yeniden eklenir
73
+ *
74
+ * */
75
+ insertBulk(ringDatas) {
76
+ const { _hideAll } = this;
77
+ const addBucket = {
78
+ coords: [],
79
+ coordsZ: [],
80
+ attribs: []
81
+ };
82
+ const deleteBucket = {
83
+ coords: [],
84
+ coordsZ: [],
85
+ attribs: []
86
+ };
87
+ for (const { centerID, long, lat, rings, stepAngle, hide = enum_1.ENUM_HIDE.SHOW, textHide = enum_1.ENUM_TEXT_HIDE.SHOW } of ringDatas) {
88
+ if (this._centerCollection.has(centerID)) {
89
+ this._fillDeleteBucket(centerID, deleteBucket);
90
+ }
91
+ const maxRadius = rings.reduce((acc, { radius }) => Math.max(acc, radius), 0);
92
+ const textHide_ = _hideAll ? enum_1.ENUM_TEXT_HIDE.HIDE : textHide;
93
+ const show = hide !== enum_1.ENUM_HIDE.HIDE && textHide_ === enum_1.ENUM_TEXT_HIDE.SHOW;
94
+ if (show)
95
+ this._appendCircle(long, lat, maxRadius, stepAngle, centerID, addBucket);
96
+ this._centerCollection.set(centerID, new Map([
97
+ ["stepAngle", stepAngle],
98
+ ["maxRadius", maxRadius],
99
+ ["long", long],
100
+ ["lat", lat],
101
+ ["hide", hide],
102
+ ["textHide", textHide_]
103
+ ]));
104
+ }
105
+ if (this._hideAll)
106
+ return;
107
+ if (deleteBucket.coords.length > 0)
108
+ this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
109
+ if (addBucket.coords.length > 0)
110
+ this._updateData(addBucket, webglobe_1.CSObjectArrayUpdateTypes.ADD);
111
+ }
112
+ /**
113
+ * @param {Array<{centerID, x,y}>} centerDatas
114
+ * aci ve radiuslarin tutulmasi gereklidir.
115
+ * */
116
+ updateCentersXY(centerDatas) {
117
+ const updateBucket = {
118
+ coords: [],
119
+ coordsZ: [],
120
+ attribs: []
121
+ };
122
+ for (const { centerID, long, lat } of centerDatas) {
123
+ if (this._centerCollection.has(centerID)) {
124
+ const centerMap = this._centerCollection.get(centerID);
125
+ centerMap.set("long", long);
126
+ centerMap.set("lat", lat);
127
+ const hide = centerMap.get("hide");
128
+ const textHide = centerMap.get("textHide");
129
+ const isHidden = hide === enum_1.ENUM_HIDE.HIDE || textHide === enum_1.ENUM_TEXT_HIDE.HIDE;
130
+ if (isHidden)
131
+ continue;
132
+ const maxRadius = centerMap.get("maxRadius");
133
+ const stepAngle = centerMap.get("stepAngle");
134
+ // long, lat, radius, step, centerID, outBucket
135
+ this._appendCircle(long, lat, maxRadius, stepAngle, centerID, updateBucket);
136
+ }
137
+ }
138
+ // for (const attribs of updateBucket.attribs) {
139
+ // delete attribs["aci"];
140
+ // }
141
+ if (updateBucket.coords.length > 0) {
142
+ this._updateData(updateBucket, webglobe_1.CSObjectArrayUpdateTypes.UPDATE);
143
+ }
144
+ }
145
+ /**
146
+ *
147
+ * @param {Array<{centerID:string, hide: bool}>} centerHides
148
+ */
149
+ updateCentersHide(centerHides) {
150
+ if (this._hideAll) {
151
+ console.warn("Tum mesafe halkasi yazilari gizli durum. Islem yapilamaz");
152
+ return;
153
+ }
154
+ ;
155
+ const addBucket = {
156
+ coords: [],
157
+ coordsZ: [],
158
+ attribs: []
159
+ };
160
+ const deleteBucket = {
161
+ coords: [],
162
+ coordsZ: [],
163
+ attribs: []
164
+ };
165
+ for (const { centerID, textHide = null, hide = null } of centerHides) {
166
+ if (!this._centerCollection.has(centerID))
167
+ continue;
168
+ const centerMap = this._centerCollection.get(centerID);
169
+ const isHidden = centerMap.get("hide") === enum_1.ENUM_HIDE.HIDE || centerMap.get("textHide") === enum_1.ENUM_TEXT_HIDE.HIDE;
170
+ const _hide = hide !== null ? hide : centerMap.get("hide");
171
+ const _textHide = textHide !== null ? textHide : centerMap.get("textHide");
172
+ const show = (_hide !== enum_1.ENUM_HIDE.HIDE) && (_textHide === enum_1.ENUM_TEXT_HIDE.SHOW);
173
+ if (!isHidden && !show) {
174
+ this._fillDeleteBucket(centerID, deleteBucket);
175
+ }
176
+ else if (isHidden && show) {
177
+ this._appendCircle(centerMap.get("long"), centerMap.get("lat"), centerMap.get("maxRadius"), centerMap.get("stepAngle"), centerID, addBucket);
178
+ }
179
+ if (hide !== null)
180
+ centerMap.set("hide", hide);
181
+ if (textHide !== null)
182
+ centerMap.set("textHide", textHide);
183
+ }
184
+ if (deleteBucket.coords.length > 0)
185
+ this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
186
+ if (addBucket.coords.length > 0)
187
+ this._updateData(addBucket, webglobe_1.CSObjectArrayUpdateTypes.ADD);
188
+ }
189
+ // TODO : Implement this
190
+ removeCenters(centerIDs) {
191
+ const deleteBucket = {
192
+ coords: [],
193
+ coordsZ: [],
194
+ attribs: []
195
+ };
196
+ for (const centerID of centerIDs) {
197
+ if (this._centerCollection.has(centerID)) {
198
+ this._fillDeleteBucket(centerID, deleteBucket);
199
+ this._centerCollection.delete(centerID);
200
+ }
201
+ }
202
+ this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
203
+ }
204
+ hideAll() {
205
+ this._hideAll = true;
206
+ const deleteBucket = {
207
+ coords: [],
208
+ coordsZ: [],
209
+ attribs: []
210
+ };
211
+ for (const [centerID, centerMap] of this._centerCollection) {
212
+ const hide = centerMap.get("hide");
213
+ const hideText = centerMap.get("textHide");
214
+ centerMap.set("textHide", enum_1.ENUM_TEXT_HIDE.HIDE);
215
+ if (hide === enum_1.ENUM_HIDE.HIDE)
216
+ continue;
217
+ const isHidden = hideText === enum_1.ENUM_TEXT_HIDE.HIDE;
218
+ if (!isHidden)
219
+ this._fillDeleteBucket(centerID, deleteBucket);
220
+ }
221
+ this._updateData(deleteBucket, webglobe_1.CSObjectArrayUpdateTypes.DELETE);
222
+ }
223
+ showAll() {
224
+ this._hideAll = false;
225
+ const addBucket = {
226
+ coords: [],
227
+ coordsZ: [],
228
+ attribs: []
229
+ };
230
+ for (const [centerID, centerMap] of this._centerCollection) {
231
+ const hide = centerMap.get("hide");
232
+ if (hide === enum_1.ENUM_HIDE.HIDE)
233
+ continue;
234
+ const hideText = centerMap.get("textHide");
235
+ const isHidden = hideText === enum_1.ENUM_TEXT_HIDE.HIDE;
236
+ if (isHidden) {
237
+ const long = centerMap.get("long");
238
+ const lat = centerMap.get("lat");
239
+ const maxRadius = centerMap.get("maxRadius");
240
+ const stepAngle = centerMap.get("stepAngle");
241
+ this._appendCircle(long, lat, maxRadius, stepAngle, centerID, addBucket);
242
+ centerMap.set("hide", enum_1.ENUM_HIDE.SHOW);
243
+ centerMap.set("textHide", enum_1.ENUM_TEXT_HIDE.SHOW);
244
+ }
245
+ }
246
+ if (addBucket.coords.length)
247
+ this._updateData(addBucket, webglobe_1.CSObjectArrayUpdateTypes.ADD);
248
+ }
249
+ flush() {
250
+ const data = {
251
+ coords: [],
252
+ coordsZ: [],
253
+ attribs: []
254
+ };
255
+ this._idCollector = new Set();
256
+ this.ObjectArray.SetData(this.object, data);
257
+ }
258
+ //------------------PRIVATE METHODS------------------//
259
+ _appendCircle(long, lat, radius, step, centerID, outBucket) {
260
+ this.__realCoords(long, lat, radius, step, centerID, outBucket);
261
+ }
262
+ __realCoords(longCenter, latCenter, radius, stepAngle, centerID, outBucket) {
263
+ const { globe } = this;
264
+ const { coords, coordsZ, attribs } = outBucket;
265
+ let i = 1;
266
+ for (let aci = stepAngle; aci < 360; aci += stepAngle) {
267
+ const { long, lat } = globe.Math.FindPointByPolar(longCenter, latCenter, radius, aci);
268
+ coords.push(long, lat);
269
+ coordsZ.push(0);
270
+ const key = this._key(centerID, i);
271
+ i++;
272
+ // fidkey is the key
273
+ attribs.push({
274
+ "__fid__": key,
275
+ "aci": (aci).toFixed(0).toString().padStart(3, '0')
276
+ });
277
+ }
278
+ { // add 0
279
+ const { long, lat } = globe.Math.FindPointByPolar(longCenter, latCenter, radius, 0);
280
+ coords.push(long, lat);
281
+ coordsZ.push(0);
282
+ const key = this._key(centerID, 0);
283
+ // fidkey is the key
284
+ attribs.push({
285
+ "__fid__": key,
286
+ "aci": "K"
287
+ });
288
+ }
289
+ }
290
+ _updateData(bucket, mode) {
291
+ this.ObjectArray.UpdateData(this.object, mode, [bucket], { attribs: false, icon: false, text: false });
292
+ }
293
+ _key(centerRingKey, limpIndex) {
294
+ return `${centerRingKey}_${limpIndex}`;
295
+ }
296
+ _fillDeleteBucket(centerID, outDeleteBucket) {
297
+ const centerMap = this._centerCollection.get(centerID);
298
+ const stepAngle = centerMap.get("stepAngle");
299
+ const { coords, coordsZ, attribs } = outDeleteBucket;
300
+ let i = 0;
301
+ for (let aci = 0; aci < 360; aci += stepAngle) {
302
+ const key = this._key(centerID, i++);
303
+ coords.push(0, 0);
304
+ coordsZ.push(0);
305
+ attribs.push({
306
+ "__fid__": key,
307
+ });
308
+ }
309
+ }
310
+ _updateAll() {
311
+ const updateBucket = {
312
+ coords: [],
313
+ coordsZ: [],
314
+ attribs: []
315
+ };
316
+ for (const [centerID, centerMap] of this._centerCollection) {
317
+ const isHidden = centerMap.get("hide") === enum_1.ENUM_HIDE.HIDE || centerMap.get("textHide") === enum_1.ENUM_TEXT_HIDE.HIDE;
318
+ if (isHidden)
319
+ continue;
320
+ const long = centerMap.get("long");
321
+ const lat = centerMap.get("lat");
322
+ const maxRadius = centerMap.get("maxRadius");
323
+ const stepAngle = centerMap.get("stepAngle");
324
+ this._appendCircle(long, lat, maxRadius, stepAngle, centerID, updateBucket);
325
+ }
326
+ this._updateData(updateBucket, webglobe_1.CSObjectArrayUpdateTypes.UPDATE);
327
+ }
328
+ }
329
+ exports.default = RangeRingAngleText;