@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
package/Math/line.ts DELETED
@@ -1,70 +0,0 @@
1
- import { EPSILON } from './constants';
2
- import { Vec3, Line, Quaternion } from './types';
3
- import { vec3 } from './vec3';
4
-
5
-
6
- const _0vector = /*@__PURE__*/ vec3.create(0, 0, 0);
7
-
8
-
9
- export const line = Object.freeze({
10
- create(origin = vec3.create(), direction = vec3.create()): Line {
11
- const direction_ = vec3.clone(direction);
12
- vec3.normalize(direction_, direction_);
13
- return {
14
- origin: vec3.clone(origin),
15
- direction: direction_
16
- };
17
- },
18
-
19
- set(out: Line, origin: Vec3, direction: Vec3) {
20
- vec3.copy(out.origin, origin);
21
- vec3.copy(out.direction, direction);
22
- },
23
-
24
- copy(out: Line, a: Line) {
25
- out.origin = vec3.copy(out.origin, a.origin);
26
- out.direction = vec3.copy(out.direction, a.direction);
27
- },
28
-
29
- clone(a: Line): Line {
30
- return {
31
- origin: vec3.clone(a.origin),
32
- direction: vec3.clone(a.direction)
33
- }
34
- },
35
-
36
- fromTwoPoints(out: Line, a: Vec3, b: Vec3) {
37
- vec3.subtract(out.direction, b, a);
38
- vec3.normalize(out.direction, out.direction);
39
- vec3.copy(out.origin, a);
40
- },
41
-
42
- at(out: Vec3, line: Line, distance: number) {
43
- vec3.multiplyScalar(_0vector, line.direction, distance);
44
- vec3.add(out, _0vector, line.origin);
45
- },
46
-
47
-
48
- closestPoint(out: Vec3, line: Line, point: Vec3) {
49
- vec3.subtract(_0vector, point, line.origin);
50
- const dot = vec3.dot(_0vector, line.direction);
51
- vec3.copy(out, line.direction);
52
- vec3.multiplyScalar(out, out, dot);
53
- vec3.add(out, out, line.origin);
54
- },
55
-
56
-
57
- contains(line: Line, point: Vec3): boolean {
58
- vec3.subtract(_0vector, point, line.origin);
59
- vec3.cross(_0vector, _0vector, line.direction);
60
- return vec3.lengthSquared(_0vector) < EPSILON;
61
- },
62
-
63
- applyQuaternion(out: Line, line: Line, quaternion: Quaternion) {
64
- vec3.applyQuaternion(out.origin, line.origin, quaternion);
65
- vec3.applyQuaternion(out.direction, line.direction, quaternion);
66
- vec3.normalize(out.direction, out.direction);
67
- }
68
-
69
-
70
- })
package/Math/matrix4.ts DELETED
File without changes
package/Math/plane.ts DELETED
@@ -1,86 +0,0 @@
1
- import { Vec3, Plane } from "./types";
2
-
3
- import { EPSILON } from "./constants";
4
- import { vec3 } from "./vec3";
5
-
6
- const _0vector = /*@__PURE__*/ vec3.create(0, 0, 0);
7
- const _1vector = /*@__PURE__*/ vec3.create(1, 1, 1);
8
-
9
-
10
- export const plane = Object.freeze({
11
- create(normal = vec3.create(), distance = 0): Plane {
12
- return {
13
- normal: vec3.clone(normal),
14
- distance: distance
15
- };
16
- },
17
-
18
-
19
- set(out: Plane, normal: Vec3, distance: number): Plane {
20
- vec3.copy(out.normal, normal);
21
- out.distance = distance;
22
- return out;
23
- },
24
-
25
-
26
- fromValues(out: Plane, nx: number, ny: number, nz: number, distance: number) {
27
- vec3.set(out.normal, nx, ny, nz);
28
- out.distance = distance;
29
- },
30
-
31
-
32
- copy(out: Plane, a: Plane): Plane {
33
- vec3.copy(out.normal, a.normal);
34
- out.distance = a.distance;
35
- return out;
36
- },
37
-
38
-
39
- clone(a: Plane): Plane {
40
- return {
41
- normal: vec3.clone(a.normal),
42
- distance: a.distance
43
- };
44
- },
45
-
46
-
47
- distanceToPoint(plane: Plane, point: Vec3): number {
48
- return vec3.dot(plane.normal, point) - plane.distance;
49
- },
50
-
51
-
52
- projectPoint(out: Vec3, plane: Plane, point: Vec3) {
53
- const distance = this.distanceToPoint(plane, point);
54
- vec3.multiplyScalar(out, plane.normal, distance);
55
- vec3.subtract(out, point, out);
56
- },
57
-
58
-
59
- equals(plane: Plane, other: Plane): boolean {
60
- return vec3.equals(plane.normal, other.normal) && Math.abs(plane.distance - other.distance) < EPSILON;
61
- },
62
-
63
-
64
-
65
- fromNormalAndCoplanarPoint(out: Plane, normal: Vec3, point: Vec3) {
66
- vec3.copy(out.normal, normal);
67
- out.distance = vec3.dot(point, normal);
68
- },
69
-
70
-
71
-
72
- fromPoints(out: Plane, a: Vec3, b: Vec3, c: Vec3) {
73
- vec3.subtract(_0vector, b, a);
74
- vec3.subtract(_1vector, c, a);
75
- vec3.cross(out.normal, _0vector, _1vector);
76
- vec3.normalize(out.normal, out.normal);
77
- out.distance = vec3.dot(out.normal, a);
78
- },
79
-
80
-
81
-
82
- getUnitSphereRadiusAngle(plane: Plane): number {
83
- return Math.acos(Math.max(Math.min(plane.distance, 1), -1));
84
- }
85
-
86
- });
package/Math/roadmap.md DELETED
@@ -1,10 +0,0 @@
1
-
2
- There is an arc on a unit sphere. The sphere center is at the origin. The arc is represented with start and points.
3
-
4
- And there is a plane the intersects with the same sphere. Represented with vector and distance from origin.
5
-
6
- I want to know the relative position of points to the plane. If they are at the same direction with the plane vector or not.
7
-
8
- If two points are on the same side of the plane. If so, do they closer to origin then plane or not.
9
-
10
- If two points are on different side of the plane, I want to know the intersection point of arc and plane.
package/Math/types.ts DELETED
@@ -1,45 +0,0 @@
1
- type Radians = number;
2
- type Degrees = number;
3
- type Meter = number;
4
-
5
-
6
- type Vec3 = [number, number, number];
7
-
8
- type Line = {
9
- origin: Vec3;
10
- direction: Vec3;
11
- }
12
-
13
- type Plane = {
14
- normal: Vec3;
15
- distance: number;
16
- };
17
-
18
- type LongLat = [number, number]; // [longitude, latitude]
19
-
20
- type Quaternion = [number, number, number, number];
21
-
22
- type Arc = {
23
- p0: Vec3;
24
- p1: Vec3;
25
- normal: Vec3;
26
- coverPlane: Plane;
27
- }
28
-
29
- type Sphere = {
30
- center: Vec3;
31
- radius: number;
32
- }
33
-
34
- export {
35
- Vec3,
36
- Line,
37
- Plane,
38
- Quaternion,
39
- Arc,
40
- Sphere,
41
- Radians,
42
- Degrees,
43
- Meter,
44
- LongLat,
45
- }
package/Math/utils.js DELETED
@@ -1,3 +0,0 @@
1
- import { Vector3D } from "./vector3d";
2
- import { Quaternion } from "./quaternion";
3
-
@@ -1,14 +0,0 @@
1
- const findFirstIndexInRange = (container, value) => {
2
- let start = 0;
3
- let end = container.length - 1;
4
- let mid = 0;
5
- while (start <= end) {
6
- mid = Math.floor((start + end) / 2);
7
- if (container[mid] <= value && value <= container[mid + 1]) return mid;
8
- if (container[mid] < value) start = mid + 1;
9
- else end = mid - 1;
10
- }
11
- return null;
12
- }
13
-
14
- export { findFirstIndexInRange };
File without changes
File without changes
@@ -1,3 +0,0 @@
1
- import ArrowField from "./plugin";
2
- import { centigradePlus90ToRadians } from "./adaptor";
3
- export { ArrowField, centigradePlus90ToRadians };
@@ -1,2 +0,0 @@
1
- import BearingLinePlugin from "./plugin"
2
- export { BearingLinePlugin };
File without changes
@@ -1,57 +0,0 @@
1
- # Road Map
2
-
3
- ## CircleLine
4
- Atomic unit is the circle-line constructed from a circle and a line with start and end point which indicates the radius.
5
-
6
- ### Attributes
7
- Main attributes: StartPoint, EndPoint, Radius
8
- Other attributes: Color, opacity, dash opacity, dash ratio
9
-
10
- ### API
11
- API is the manipulation of above attributes
12
-
13
- ### Implementation
14
-
15
- Buffer Orchestrater is enough.
16
-
17
- ## ChainOfCircleLines
18
- Composit unit is a chain of circle-lines.
19
-
20
- ### Attributes
21
-
22
- Main attributes: one to many relation of a chain and its circle-lines
23
-
24
-
25
- # API
26
- - startChain(chainID) //
27
- - addPointToChain(chainID)
28
- - editPointOfChain(chainID, pointID) //
29
- - divideChain(chainID, )
30
-
31
-
32
-
33
- # Concept Formation
34
-
35
- Circle-Line has ( startPoint, endPoint )
36
-
37
- Chain Has [...circle-line] -> [ c0, c1, c2 ...] -> c0.endPoint == c1.startPoint, c1.endPoint == c2.startPoint
38
-
39
- ## Modes
40
-
41
- Focus Mod
42
- - mouse icon hides and edge point icon is displayed
43
-
44
-
45
- ## interaction points ( this can be a new module)
46
- changes the mouse icon
47
- plugin creates them.
48
- interaction points carryin carries information about how to interact with the plugin.
49
-
50
- - On Edges
51
- Updates coordinates on right click and carry
52
- deletes on right
53
- - on mid point of a radius line (+)
54
- Addes an edge to mid points. ( deletes the old one and inserts 2)
55
-
56
- UserInterface
57
- - drawNewMethod
@@ -1 +0,0 @@
1
- export const keyMethod = (chainKey, nodeKey) => `${chainKey}_${nodeKey}`;
@@ -1,3 +0,0 @@
1
- import { PixelPaddingCompassTextWriter } from "./compass-text-writer";
2
- import { PixelPaddingCompassPlugin } from "./compass-rose-padding-flat";
3
- export { PixelPaddingCompassPlugin, PixelPaddingCompassTextWriter }
@@ -1,2 +0,0 @@
1
- import CompassRose from "./compassrose";
2
- export { CompassRose };
@@ -1,26 +0,0 @@
1
- # Programs
2
-
3
- 1) points with depth (3d/2d), draw to framebuffer and use this until projection or data changes, has picking
4
- 2) glow hearth-beat effect points on the target point
5
- 3) glow plane effect on surface projection of target point
6
- 4) a line from the target point to the surface
7
- 5) info box on the target point
8
-
9
- all except 1 are optional
10
-
11
- # Inputs
12
-
13
- 1) Target point ( long, lat, depth in meter)
14
- 2) info box content
15
-
16
- # Derived Cases
17
-
18
- ## Time dimension
19
-
20
- Either:
21
- 1) load all points at once ordered by time. Draw range of points
22
- 2) Select points on time window and load them. Draw them
23
-
24
- Approach 1 is simple yet it needs time series as input.
25
- Approach 2 flexible, memory efficient. Client side is complex.
26
-
package/globe-types.ts DELETED
@@ -1,13 +0,0 @@
1
-
2
-
3
- type Degree = number;
4
- type Meter = number;
5
-
6
-
7
- type GlobeLookInfo = {
8
- CenterLong: Degree;
9
- CenterLat: Degree;
10
- Distance: Meter;
11
- Tilt: Degree;
12
- NorthAng: Degree;
13
- }
package/heatwave/index.js DELETED
@@ -1,4 +0,0 @@
1
- import HeatWavePlugin from './plugins/heatwaveglobeshell';
2
- import { IsobarRasterToVector } from './isobar/plugin';
3
- export { HeatWavePlugin, IsobarRasterToVector };
4
-
@@ -1,17 +0,0 @@
1
- * Pie Statistacal view
2
- A Unit is a bundle of partial rings.
3
- Multiple partial rings of different color on the same center.
4
- Update center updates a bundle
5
- Updating an the amount of a a ring updates all the rings percentage in the same bundle.
6
-
7
- An animation can be added
8
-
9
- * EBM bearing view
10
-
11
- create a plugin with line and points
12
-
13
- * Target 1 is a point
14
- * Target 2 is a point or an angle
15
-
16
- // TODO: What IS the purpose of this folder?
17
- // Clean
@@ -1,3 +0,0 @@
1
- import PartialRing, { RINGPARTIAL_ALPHA_MODE, RINGPARTIAL_DRAW_MODE, PART_OFFSET_LOOPUP } from './plugin';
2
-
3
- export { PartialRing, RINGPARTIAL_ALPHA_MODE, RINGPARTIAL_DRAW_MODE, PART_OFFSET_LOOPUP };
File without changes
@@ -1,15 +0,0 @@
1
- # Content
2
-
3
- point-heat-map/
4
- ├── plugin.js
5
- └── point-to-heat-flow.js
6
-
7
- ## plugin.js
8
-
9
- Contains plugin plugin that calculates data on main thread.
10
-
11
- ## point-to-heat-flow.js
12
-
13
- Contains a wrapper around point-to-density and density-to-color-ramp programs.
14
-
15
- The reason behind seperation of program flow and plugin is to explore web-worker version of interpolation and compare it with main thread version.
@@ -1,3 +0,0 @@
1
- const pointKeyMeyhod = (trackId, pointID) => `${trackId}-${pointID}`;
2
-
3
- export { pointKeyMeyhod };
@@ -1,2 +0,0 @@
1
- import ArrowField from './object';
2
- export default ArrowField;
@@ -1,3 +0,0 @@
1
- import Float2LegendWithRatio from './object';
2
-
3
- export { Float2LegendWithRatio };
@@ -1,2 +0,0 @@
1
- import GlobeShellWiggle from "./globeshell/wiggle";
2
- export { GlobeShellWiggle };
File without changes
@@ -1,6 +0,0 @@
1
- import GlobeShellWiggle from './object'
2
-
3
- export {
4
- GlobeShellWiggle
5
-
6
- }
File without changes
@@ -1,3 +0,0 @@
1
- import FadeAway from './object';
2
-
3
- export default FadeAway;
@@ -1,20 +0,0 @@
1
-
2
- import { glProgramCache } from "../../programcache";
3
- import FadeAwayProgram from "./logic";
4
-
5
- export default class FadeAway {
6
-
7
- constructor(gl) {
8
- this.gl = gl;
9
- this.program = glProgramCache.getProgram(gl, FadeAwayProgram);
10
- }
11
-
12
- draw(sourceTexture, opacity) {
13
- this.program.draw(sourceTexture, opacity);
14
- }
15
-
16
-
17
- free() {
18
- glProgramCache.releaseProgram(FadeAwayProgram);
19
- }
20
- }
@@ -1,2 +0,0 @@
1
- import FadeAway from './fadeaway';
2
- export { FadeAway };
package/programs/index.js DELETED
@@ -1,21 +0,0 @@
1
- import { Float2LegendWithRatio } from "./float2legendwithratio";
2
- import { GlobeShellWiggle } from "./globeshell/wiggle";
3
- import { CameraUniformBlockTotem, CameraUniformBlockString } from "./totems/index";
4
- import ArrowField from "./arrowfield";
5
- import { glProgramCache, globeProgramCache, noRegisterGlobeProgramCache } from "./programcache";
6
- import * as vectorfield from "./vectorfields";
7
- import { FadeAway } from "./helpers";
8
- import * as rings from "./rings";
9
- export {
10
- Float2LegendWithRatio,
11
- GlobeShellWiggle,
12
- ArrowField,
13
- CameraUniformBlockTotem,
14
- CameraUniformBlockString,
15
- glProgramCache,
16
- globeProgramCache,
17
- noRegisterGlobeProgramCache,
18
- vectorfield,
19
- FadeAway,
20
- rings
21
- };
@@ -1,7 +0,0 @@
1
-
2
- interface ProgramInterface {
3
- draw(vao: WebGLVertexArrayObject, drawOptions: DrawRangeIndexParams, opacity: number, flexibleUBO: UBOHandler | null): void;
4
- createUBO(bufferReadType?: "STATIC_DRAW" | "DYNAMIC_DRAW" | "STREAM_DRAW"): UBOHandler;
5
- createVAO(...inputs: BufferAndReadInfo[]): WebGLVertexArrayObject;
6
- free(): void;
7
- }
File without changes
@@ -1,8 +0,0 @@
1
-
2
- const Z_ALPHA_MODE = Object.freeze({
3
- ON: 1,
4
- OFF: 0
5
- });
6
-
7
-
8
- export { Z_ALPHA_MODE }
@@ -1,5 +0,0 @@
1
- import { programCache as circleProgramCache } from './circleflatprogram';
2
- import { PaddingProgramCache } from './paddyflatprogram';
3
- import CirclePaddySharedBuffer from './circlepaddysharedbuffer';
4
- import { PaddingFreeAngleCache } from './circlepaddingfreeangleprogram';
5
- export { circleProgramCache, PaddingProgramCache, CirclePaddySharedBuffer, PaddingFreeAngleCache };
File without changes
@@ -1 +0,0 @@
1
- export * from "./distancering";
@@ -1,48 +0,0 @@
1
- export declare const CameraUniformBlockString: string;
2
-
3
- export default class CameraUniformBlockTotem {
4
- id: string;
5
- description: string;
6
- gl: WebGL2RenderingContext | null;
7
- globe: any;
8
- ubo: WebGLBuffer | null;
9
- // _frustumPlanes: any; // Uncomment and type if used
10
- _isMovedParams: {
11
- lastLod: number | null;
12
- isMoved: boolean;
13
- };
14
- traslateFloat32: Float32Array;
15
- mapWHFloat32: Float32Array;
16
-
17
- constructor();
18
-
19
- init(globe: any, gl: WebGL2RenderingContext): void;
20
- resize(): void;
21
- setGeometry(): void;
22
- draw3D(
23
- projection: Float32Array,
24
- modelView: Float32Array,
25
- translate: { x: number; y: number; z: number }
26
- ): void;
27
- assignBindingPoint(program: WebGLProgram, bindingPoint: number): void;
28
- getUBO(): WebGLBuffer | null;
29
- getFrustumPlanes(): any; // Update type if needed
30
- bind(bindingPoint: number): void;
31
- unbind(bindingPoint: number): void;
32
- isMoved(): boolean;
33
- free(): void;
34
- readBuffer(): {
35
- view: Float32Array;
36
- projection: Float32Array;
37
- translate: Float32Array;
38
- is3D: number;
39
- mapWH: Float32Array;
40
- screenWH: Float32Array;
41
- z_level: number;
42
- };
43
- }
44
-
45
- export declare const CameraUniformBlockTotemCache: Readonly<{
46
- get: (globe: any) => any;
47
- release: (globe: any) => void;
48
- }>;
@@ -1,2 +0,0 @@
1
- import CameraUniformBlockTotem, { CameraUniformBlockString, CameraUniformBlockTotemCache } from "./camerauniformblock";
2
- export { CameraUniformBlockTotem, CameraUniformBlockString, CameraUniformBlockTotemCache };
File without changes
@@ -1,3 +0,0 @@
1
- import PingPongBufferManager from './pingpongbuffermanager';
2
- export * from './logics';
3
- export { PingPongBufferManager };
@@ -1,5 +0,0 @@
1
- import PixelBasedMove from './pixelbased';
2
- import DrawRectangleParticles from './drawrectangleparticles';
3
- import { WaveParticalUboManager } from './ubo';
4
-
5
- export { PixelBasedMove, DrawRectangleParticles, WaveParticalUboManager };
package/publish.bat DELETED
@@ -1,60 +0,0 @@
1
- @echo off
2
- REM Define the source and destination directories
3
- set SOURCE_DIR=C:\Users\USER\Desktop\webgl\globeNew\my-app\src\webglobeplugins
4
- set DEST_DIR=C:\Users\USER\Desktop\npmpub\webglobeplugins
5
- set BUILD_DIR= %DEST_DIR%\dist
6
- REM --- Start: Prepare and Compile Package for Publishing ---
7
-
8
- REM Check if the destination directory exists and clean it if it does
9
- if exist "%DEST_DIR%" (
10
- echo Cleaning temporary publication directory: "%DEST_DIR%"
11
- rd /s /q "%DEST_DIR%"
12
- )
13
-
14
- REM Create the temporary destination directory if it doesn't exist
15
- if not exist "%DEST_DIR%" (
16
- echo Creating temporary publication directory: "%DEST_DIR%"
17
- mkdir "%DEST_DIR%"
18
- )
19
-
20
- REM Create the build directory inside the destination directory
21
- if not exist "%BUILD_DIR%" (
22
- echo Creating build directory: "%BUILD_DIR%"
23
- mkdir "%BUILD_DIR%"
24
- )
25
-
26
- REM Copy the entire package folder (including package.json, tsconfig.json, source files)
27
- REM to the temporary destination. /E copies directories and subdirectories, /I assumes DEST_DIR is a directory.
28
- REM /Y suppresses prompts to confirm overwriting existing files.
29
- echo Copying source files to temporary publication directory...
30
- xcopy /E /I /Y "%SOURCE_DIR%" "%DEST_DIR%\"
31
-
32
- REM Change to the temporary publication directory
33
- cd /d "%DEST_DIR%"
34
-
35
- REM Install dependencies (this is crucial for TypeScript to be available for compilation)
36
- REM Using 'call' ensures that control returns to the batch script after npm finishes.
37
- echo Installing package dependencies for compilation...
38
- call npm install
39
-
40
- REM Compile TypeScript files into JavaScript
41
- REM This assumes you have a "build" script in your package.json (e.g., "build": "tsc")
42
- echo Compiling TypeScript files...
43
- call npm run build
44
-
45
- cd /d "%BUILD_DIR%"
46
-
47
-
48
- REM --- End: Prepare and Compile Package for Publishing ---
49
-
50
- REM Run npm publish
51
- REM Because package.json's "files" is set to ["dist"], only the compiled output will be published.
52
- echo Running npm publish from the compiled package root...
53
- npm publish
54
-
55
- REM Return to the original directory
56
- cd /d "%SOURCE_DIR%"
57
-
58
- echo Folder copied, compiled, and npm publish executed successfully.
59
-
60
- set /p exitkey= "Press any key to continue..."
@@ -1,3 +0,0 @@
1
-
2
- export const ENUM_HIDE = Object.freeze({ SHOW: 0, HIDE: 1, HIDE_1_DEGREE_PADDINGS: 2 });
3
- export const ENUM_TEXT_HIDE = Object.freeze({ SHOW: 0, HIDE: 1 });