@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,5 +0,0 @@
1
- import { RangeRings } from "./plugin";
2
- import { ringKeyMethod } from "./ring-account";
3
- import RangeRingAngleText from './rangeringangletext';
4
- import { ENUM_HIDE, ENUM_TEXT_HIDE } from './enum';
5
- export { RangeRings, ENUM_HIDE, ENUM_TEXT_HIDE, RangeRingAngleText, ringKeyMethod };
@@ -1,12 +0,0 @@
1
- The fact that a straight line have two points, lacks the ability to cover elevation data on higher zoom levels.
2
-
3
- The purpose of this subplugin is to adapt the straight line to the terrain.
4
-
5
-
6
- ### Steps
7
-
8
- - filter by bbox with tree -> indexes
9
- - find intersaction. Also filters in a more precise way then bbox. -> index and 2 points. 3d carteasian so it can be used on slerp.
10
- - Populate the line points -> Array<lat long>
11
- - 3d cartesian coords with globe api
12
-
@@ -1,133 +0,0 @@
1
- import { Plane, Line, Vec3, Quaternion, Arc } from '../../../Math/types';
2
- import { plane } from '../../../Math/plane';
3
- import { line } from '../../../Math/line';
4
- import { arc } from '../../../Math/arc';
5
- import { vec3 } from '../../../Math/vec3';
6
- import { quaternion } from '../../../Math/quaternion';
7
- import { planePlaneJuction } from '../../../Math/juction/plane-plane';
8
- import { arcSlice } from '../../../Math/juction/arc-plane';
9
- import { EPSILON } from '../../../Math/constants';
10
-
11
-
12
- const arcIn = arc.create(vec3.create(0, 0, 1), vec3.create(1, 0, 0));
13
- const arcOut: [Arc, Arc] = [
14
- arc.create(vec3.create(0, 0, 1), vec3.create(1, 0, 0)),
15
- arc.create(vec3.create(0, 0, 1), vec3.create(1, 0, 0))
16
- ];
17
- const arcExpected = arc.create(vec3.create(0, 0, 1), vec3.create(1, 0, 0));
18
- const junctionPlane = plane.create(vec3.create(0, 0, 1), 0);
19
-
20
- const r2 = Math.sqrt(2) / 2;
21
- const r3 = Math.sqrt(3) / 3;
22
-
23
- beforeAll(() => {
24
- // Initialize any necessary data or state before running the tests
25
- arc.set(arcIn, vec3.create(0, 0, 1), vec3.create(1, 0, 0));
26
- arc.set(arcOut[0], vec3.create(0, 0, 1), vec3.create(1, 0, 0));
27
- arc.set(arcOut[1], vec3.create(0, 0, 1), vec3.create(1, 0, 0));
28
-
29
- plane.set(junctionPlane, vec3.create(0, 0, 1), 0);
30
-
31
- });
32
-
33
-
34
-
35
-
36
-
37
- test('arcSlice - No intersection 1', () => {
38
- junctionPlane.distance = 2; // Set distance to ensure no intersection
39
- const result = arcSlice(arcOut, arcIn, junctionPlane);
40
- expect(result).toBe(false);
41
- });
42
-
43
-
44
-
45
- test('arcSlice - Full intersection 1', () => {
46
- junctionPlane.distance = 0; // Set distance to ensure full intersection
47
- const result = arcSlice(arcOut, arcIn, junctionPlane);
48
- expect(result).toBe(true);
49
- const isEqual = arc.equals(arcOut[0], arcExpected);
50
- expect(isEqual).toBe(true);
51
- });
52
-
53
-
54
- test('arcSlice-1', () => {
55
- // Set up a case where the arc intersects with the plane
56
-
57
-
58
- const r3 = Math.sqrt(3);
59
- const juctionNormal = vec3.create(r3, r3, r3);
60
-
61
- plane.set(junctionPlane, juctionNormal, 0);
62
-
63
- const result = arcSlice(arcOut, arcIn, junctionPlane);
64
- expect(result).toBe(true);
65
- });
66
-
67
-
68
- test('arcSlice - Plane intersection line is out of sphere', () => {
69
- // Set up a case where the arc intersects with the plane
70
-
71
- const point1 = vec3.create(0, 1, 0);
72
- const point2 = vec3.create(0, 0, 1);
73
- arc.set(arcIn, point1, point2);
74
-
75
- const juctionNormal = vec3.create(r3, r3, r3);
76
-
77
- const closestPoint = vec3.create(r2, r2, 0);
78
- const distance = vec3.dot(juctionNormal, closestPoint) + EPSILON;
79
- plane.set(junctionPlane, juctionNormal, distance);
80
-
81
- const result = arcSlice(arcOut, arcIn, junctionPlane);
82
- expect(result).toBe(false);
83
- });
84
-
85
-
86
- test("arcSlice - Planes are parallel", () => {
87
-
88
- const point1 = vec3.create(0, 1, 0);
89
- const point2 = vec3.create(0, 0, 1);
90
- arc.set(arcIn, point1, point2);
91
-
92
- plane.fromValues(junctionPlane, 1, 0, 0, 0.3); // Set a plane parallel to the arc's normal
93
- const result = arcSlice(arcOut, arcIn, junctionPlane);
94
- expect(result).toBe(false); // Expect no intersection
95
-
96
- junctionPlane.distance = -0.3;
97
-
98
- const result2 = arcSlice(arcOut, arcIn, junctionPlane);
99
- expect(result2).toBe(true); // Expect no intersection
100
- const isEqual = arc.equals(arcOut[0], arcIn);
101
- expect(isEqual).toBe(true); // Expect the output arc to be equal to the input arc
102
- });
103
-
104
-
105
- test("arcSlice - Arc sliced in half", () => {
106
-
107
- const point1 = vec3.create(0, 1, 0);
108
- const point2 = vec3.create(0, 0, 1);
109
- arc.set(arcIn, point1, point2);
110
-
111
- expect(vec3.equals(arcIn.normal, vec3.create(1, 0, 0))).toBe(true); // Arc normal should be (1, 0, 0)
112
-
113
- plane.fromValues(junctionPlane, 0, -r2, r2, 0); // Set a plane parallel to the arc's normal
114
-
115
- const result = arcSlice(arcOut, arcIn, junctionPlane);
116
- expect(result).toBe(true); // Expect an intersection
117
- const expectedPoint1 = vec3.create(0, r2, r2);
118
- const expectedPoint2 = vec3.create(0, 0, 1);
119
- arc.set(arcExpected, expectedPoint1, expectedPoint2);
120
- const isEqual = arc.equals(arcOut[0], arcExpected);
121
- expect(isEqual).toBe(true); // Expect the output arc to be equal to the expected arc
122
- });
123
-
124
-
125
- // test("arcSlice - Arc sliced in middle", () => {
126
- // const point1 = vec3.create(0, 1, 0);
127
- // const point2 = vec3.create(0, 0, 1);
128
- // arc.set(arcIn, point1, point2);
129
-
130
-
131
- // plane.fromValues(junctionPlane, 0, r2, r2, )
132
-
133
- // });
@@ -1,82 +0,0 @@
1
- import { Plane, Line, Vec3, Quaternion } from '../../../Math/types';
2
- import { plane } from '../../../Math/plane';
3
- import { line } from '../../../Math/line';
4
- import { vec3 } from '../../../Math/vec3';
5
- import { quaternion } from '../../../Math/quaternion';
6
- import { planePlaneJuction } from '../../../Math/juction/plane-plane';
7
-
8
-
9
- let plane1: Plane;
10
- let plane2: Plane;
11
- let intersectionLine: Line;
12
- let quaternion1: Quaternion;
13
-
14
- beforeAll(() => {
15
- plane1 = plane.create();
16
- plane2 = plane.create();
17
- intersectionLine = line.create();
18
- quaternion1 = quaternion.create();
19
- });
20
-
21
-
22
- test('plane-plane intersection - parallel planes', () => {
23
- plane.fromValues(plane1, 0, 0, 1, 5); // Plane: z = 5
24
- plane.fromValues(plane2, 0, 0, 1, 10); // Plane: z = 10
25
- const result = planePlaneJuction(intersectionLine, plane1, plane2);
26
- expect(result).toBe(false);
27
- });
28
-
29
- test('plane-plane intersection - intersecting planes', () => {
30
- plane.fromValues(plane1, 0, 0, 1, 5); // Plane: z = 5
31
- plane.fromValues(plane2, 1, 0, 0, 3); // Plane: x = 3
32
-
33
- const result = planePlaneJuction(intersectionLine, plane1, plane2);
34
- expect(result).toBe(true);
35
- expect(vec3.equals(intersectionLine.direction, vec3.create(0, 1, 0))).toBe(true);
36
- expect(vec3.equals(intersectionLine.origin, vec3.create(3, 0, 5))).toBe(true);
37
- });
38
-
39
-
40
- test('plane-plane intersection - rotating a plane', () => {
41
- // plane1 z = 5
42
- plane.fromValues(plane1, 0, 0, 1, 5);
43
-
44
- // plane2 x = 3, for the start
45
- vec3.randomUnit(plane2.normal);
46
- plane2.distance = 3;
47
-
48
- const result = planePlaneJuction(intersectionLine, plane1, plane2);
49
- expect(result).toBe(true);
50
- const quaRotateLine = line.clone(intersectionLine);
51
-
52
- const step = 90;
53
- quaternion.fromAxisAngle(quaternion1, plane1.normal, Math.PI / step); // Rotate 90 degrees around Y-axis
54
-
55
-
56
- for (let i = 0; i < step; i++) {
57
-
58
- vec3.applyQuaternion(plane2.normal, plane2.normal, quaternion1);
59
-
60
- const result = planePlaneJuction(intersectionLine, plane1, plane2);
61
-
62
-
63
- line.applyQuaternion(quaRotateLine, quaRotateLine, quaternion1);
64
-
65
- expect(result).toBe(true);
66
- expect(vec3.equals(intersectionLine.direction, quaRotateLine.direction)).toBe(true);
67
- expect(line.contains(intersectionLine, quaRotateLine.origin)).toBe(true);
68
- }
69
- });
70
-
71
- test("plane-plane intersection 1", () => {
72
- const r2 = Math.sqrt(2) / 2;
73
- plane.fromValues(plane1, 1, 0, 0, 0);
74
- plane.fromValues(plane2, 0, -r2, r2, 0);
75
- const result = planePlaneJuction(intersectionLine, plane1, plane2);
76
-
77
- expect(result).toBe(true);
78
- console.log(intersectionLine);
79
- expect(vec3.equals(intersectionLine.direction, vec3.create(0, r2, r2)) || vec3.equals(intersectionLine.direction, vec3.create(0, -r2, -r2))
80
- ).toBe(true);
81
- expect(line.contains(intersectionLine, vec3.create(0, 0, 0))).toBe(true);
82
- });
@@ -1,43 +0,0 @@
1
- import { Plane, Vec3 } from "../../Math/types";
2
- import { vec3 } from "../../Math/vec3";
3
- import { plane } from "../../Math/plane";
4
-
5
-
6
- const _planeA = /*@__PURE__*/ plane.create(vec3.create(1, 0, 0), 0);
7
- const _planeB = /*@__PURE__*/ plane.create(vec3.create(0, 1, 0), 0);
8
- const _vecA = /*@__PURE__*/ vec3.create(1, 0, 0);
9
-
10
- beforeAll(() => {
11
- vec3.set(_vecA, 1, 0, 0);
12
- plane.set(_planeA, vec3.create(1, 0, 0), 0);
13
- plane.set(_planeB, vec3.create(0, 1, 0), 0);
14
- });
15
-
16
- test("Plane: getUnitSphereRadiusAngle", () => {
17
- const angleA = plane.getUnitSphereRadiusAngle(_planeA);
18
- const angleB = plane.getUnitSphereRadiusAngle(_planeB);
19
-
20
- expect(angleA).toBeCloseTo(Math.PI / 2, 5); // 90 degrees
21
- expect(angleB).toBeCloseTo(Math.PI / 2, 5); // 90 degrees
22
- });
23
-
24
-
25
- test("Plane: getUnitSphereRadiusAngle 1", () => {
26
-
27
- vec3.set(_vecA, 1, 1, 0);
28
- vec3.normalize(_vecA, _vecA);
29
- const distance = Math.sqrt(2) / 2; // Distance from origin to the plane
30
- plane.set(_planeA, _vecA, distance);
31
- const angleA = plane.getUnitSphereRadiusAngle(_planeA);
32
- expect(angleA).toBeCloseTo(Math.PI / 4, 5); // 45 degrees
33
-
34
- for (let i = 0; i < 100; i++) {
35
- const distance = Math.random();
36
-
37
- const angle = Math.acos(distance);
38
- vec3.randomUnit(_vecA)
39
- plane.set(_planeA, _vecA, distance);
40
- const angleA = plane.getUnitSphereRadiusAngle(_planeA);
41
- expect(angleA).toBeCloseTo(angle, 5); // Check if the angle is close to the expected value
42
- }
43
- });
@@ -1,14 +0,0 @@
1
- import { Vec3 } from "../../Math/types";
2
- import { vec3 } from "../../Math/vec3";
3
-
4
- test("vec3.create", () => {
5
- const v = vec3.create(1, 2, 3);
6
- expect(v).toEqual([1, 2, 3]);
7
- });
8
-
9
-
10
- test("vec3.length", () => {
11
- const v = vec3.create(3, 4, 0);
12
- const length = vec3.length(v);
13
- expect(length).toBe(5);
14
- });
@@ -1,6 +0,0 @@
1
- import TimeTracks from './plugin';
2
- import { Adaptor, fillSliceOfFloat32Array, createFloat32Array } from './adaptors';
3
-
4
- import TimeTracksLineStrip from './plugin-line-strip';
5
- import { addCuttingPointLineStrip, featuresToLineStringData, fillSliceOfFloat32ArrayLineStrip, latLongToPixelXY } from './adaptors-line-strip';
6
- export { Adaptor, fillSliceOfFloat32Array, createFloat32Array, TimeTracks, TimeTracksLineStrip, addCuttingPointLineStrip, featuresToLineStringData, fillSliceOfFloat32ArrayLineStrip, latLongToPixelXY };
@@ -1 +0,0 @@
1
- TODO: delete program, programpoint, maybe adaptors. which are related to the old version of this plugin.
package/tsconfig.json DELETED
@@ -1,22 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es2018",
4
- "module": "commonjs",
5
- "outDir": "../dist",
6
- "strict": true,
7
- "esModuleInterop": true,
8
- "skipLibCheck": true,
9
- "forceConsistentCasingInFileNames": true,
10
- "allowJs": true,
11
- "declaration": false
12
- },
13
- "include": [
14
- "**/*.ts", // Include all .ts files in the current directory and subdirectories
15
- "**/*.js" // Include all .js files in the current directory and subdirectories
16
- ],
17
- "exclude": [
18
- "node_modules",
19
- "dist", // Exclude the output directory itself
20
- "./tests/**/*", // Exclude tests directory
21
- ]
22
- }
@@ -1,6 +0,0 @@
1
- import BufferOffsetManager from './bufferoffsetmanager';
2
-
3
- export { BufferOffsetManager };
4
-
5
- export * from './single-attribute-buffer-management/index';
6
-
@@ -1,13 +0,0 @@
1
- import { BufferOrchestrator } from "./buffer-orchestrator";
2
- import { BufferManager } from "./buffer-manager";
3
- import { ObjectStore } from "./object-store";
4
-
5
- type BufferManagement = Map<string, {
6
- bufferManager: BufferManager,
7
- adaptor: (item: any) => Float32Array,
8
- }>;
9
-
10
-
11
- export { BufferOrchestrator, BufferManager, ObjectStore, BufferManagement };
12
-
13
-
@@ -1,39 +0,0 @@
1
- type BufferManagersMap = Map<string, {
2
- bufferManager: BufferManager;
3
- adaptor: (item: any) => Float32Array;
4
- }>;
5
-
6
- interface BufferManager {
7
- gl: WebGL2RenderingContext;
8
- buffer: WebGLBuffer;
9
- itemSize: number;
10
- bufferType: string;
11
- isFreed: boolean;
12
-
13
- insertBulk(blocks: any[], offsets: number[]): void;
14
- deleteBulk(offsets: number[]): void;
15
- resetWithCapacity(capacity: number): void;
16
- defrag(offsetValues: MapIterator<number> | number[], occupiedCapacity: number, newCapacity: number): void;
17
- extendBuffer(occupiedCapacity: number, newCapacity: number): void;
18
- free(): void;
19
- }
20
-
21
- interface BufferOrchestrator {
22
- offsetMap: Map<string, number>;
23
- tombstoneOffsets: number[];
24
- _length: number;
25
- _capacity: number;
26
- getOffset(key: string): number | undefined;
27
- nextOffset(): number | boolean;
28
- autoExtendBuffers(itemsLength: number, bufferManagersMap: BufferManagersMap): void;
29
- updateBulk(items: any[], bufferManagersMap: BufferManagersMap, bufferKeys?: string[]): void;
30
- deleteBulk(keys: string[], bufferManagersMap: BufferManagersMap): void;
31
- resetWithCapacity(bufferManagersMap: BufferManagersMap, capacity: number | null): void;
32
- }
33
-
34
-
35
- export {
36
- BufferManagersMap,
37
- BufferManager,
38
- BufferOrchestrator
39
- }
File without changes
package/util/check/get.js DELETED
@@ -1,13 +0,0 @@
1
-
2
- export const mapGetOrThrow = (errorNote) => {
3
- return (mapInstance, ids) => {
4
- if (!ids) throw new Error("There is no map keys to get");
5
- const result = [];
6
- for (let i = 0; i < ids.length; i++) {
7
- const e = mapInstance.get(ids[i]);
8
- if (e === undefined) throw new Error(errorNote + " " + ids[i]);
9
- result.push(e);
10
- }
11
- return result;
12
- }
13
- }
File without changes
@@ -1,39 +0,0 @@
1
- // Generic
2
-
3
- const doesOwnProperties = (properties, errorMessage) => {
4
- return (object) => {
5
- properties.forEach(element => {
6
- if (!Object.hasOwn(object, element)) throw new TypeError(errorMessage + ':' + element);
7
- });
8
- }
9
- }
10
-
11
- export const isHexColor = (hexColor) => /^#[0-9A-F]{6}$/i.test(hexColor);
12
- export const isHexColorWithOpacity = (hexColor) => /^#[0-9A-F]{6}[0-9a-f]{0,2}$/i.test(hexColor);
13
-
14
- export const opacityCheck = (opacity) => {
15
- if (typeof opacity !== "number") throw new TypeError("style.opacity must a number");
16
- if (opacity < 0 || 1 < opacity) throw new RangeError("Opacity Range Must be 0-1");
17
- }
18
- // Text Related
19
-
20
- const fontCheckTypes = doesOwnProperties(["name", "textColor", "hollowColor", "size", "bold", "italic"], "font does not have");
21
- const fontCheckColors = (textColor, hollowColor) => isHexColor(textColor) && isHexColor(hollowColor);
22
- export const isTextFont = (textFont) => {
23
- fontCheckTypes(textFont);
24
- fontCheckColors(textFont.textColor, textFont.hollowColor);
25
- if (typeof textFont.size !== "number") throw new TypeError("textFont size is not a number");
26
-
27
- }
28
-
29
- export const constraintFloat = (x, lowerBound = null, upperBound = null) => {
30
- if (typeof x !== "number") throw new Error("type must be numberic");
31
- if (lowerBound === null && upperBound === null) return;
32
- if (lowerBound !== null && lowerBound > x) throw new Error(`input must be greater than ${lowerBound}`);
33
- if (upperBound !== null && x > upperBound) throw new Error(`input must be less than ${upperBound}`);
34
- }
35
-
36
-
37
- export const isBoolean = (x) => {
38
- if (typeof x !== "boolean") throw new TypeError("type must be boolean");
39
- }
@@ -1,6 +0,0 @@
1
- // import './types';
2
-
3
- import { attributeLoader } from './attribute-loader';
4
-
5
-
6
- export { attributeLoader };
@@ -1,13 +0,0 @@
1
-
2
- type BufferAndReadInfo = {
3
- buffer: WebGLBuffer;
4
- stride: number;
5
- offset: number;
6
- }
7
-
8
- type AttributeLoaderOptions = {
9
- divisor?: number | null;
10
- type?: number | null;
11
- escapeValues?: Array<number> | null;
12
- normalized?: boolean;
13
- }
@@ -1,66 +0,0 @@
1
- import './types'
2
-
3
- /**
4
- * Represents the range of vertices or instances to draw.
5
- */
6
- interface DrawRange {
7
- first?: number;
8
- count: number;
9
- }
10
-
11
- /**
12
- * Parameters for drawing with optional element buffer and draw mode.
13
- */
14
- interface DrawRangeIndexParams {
15
- drawRange: DrawRange;
16
- elementBuffer?: WebGLBuffer | null;
17
- elementBufferIndexType?: GLenum;
18
- drawMode?: GLenum | null;
19
- }
20
-
21
- /**
22
- * Draws instanced geometry using WebGL2.
23
- */
24
- const drawInstanced = (
25
- gl: WebGL2RenderingContext,
26
- mode: GLenum,
27
- drawOptions: DrawRangeIndexParams,
28
- vertexCount: number
29
- ): void => {
30
- const { drawRange, elementBufferIndexType = gl.UNSIGNED_INT } = drawOptions;
31
- const { first = 0, count: instanceCount = 1 } = drawRange;
32
- if (first > 0 || drawOptions.elementBuffer) {
33
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, drawOptions.elementBuffer ?? null);
34
- gl.drawElementsInstanced(mode, vertexCount, elementBufferIndexType, first, instanceCount);
35
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
36
- } else {
37
- gl.drawArraysInstanced(mode, first, vertexCount, instanceCount);
38
- }
39
- }
40
-
41
- /**
42
- * Draws geometry using WebGL2.
43
- */
44
- const drawArrays = (
45
- gl: WebGL2RenderingContext,
46
- defaultMode: GLenum,
47
- drawOptions: DrawRangeIndexParams
48
- ): void => {
49
- const {
50
- drawRange,
51
- elementBuffer,
52
- elementBufferIndexType = gl.UNSIGNED_INT,
53
- drawMode = null
54
- } = drawOptions;
55
- const { first = 0, count } = drawRange;
56
- const mode = drawMode ?? defaultMode;
57
- if (elementBuffer) {
58
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elementBuffer);
59
- gl.drawElements(mode, count, elementBufferIndexType, first);
60
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
61
- } else {
62
- gl.drawArrays(mode, first, count);
63
- }
64
- }
65
-
66
- export { drawArrays, drawInstanced }
@@ -1,28 +0,0 @@
1
- /**
2
- * @typedef DrawRange
3
- * @type {Object}
4
- * @property {int} first
5
- * @property {int} count
6
- *
7
- * @typedef DrawRangeIndexParams
8
- * @type {Object}
9
- * @property {null|DrawRange} drawRange
10
- * @property {null|ElementBuffer} elementBuffer
11
- * @property {null|indexType} indexType
12
- * @property {null|int} drawMode
13
- *
14
- */
15
-
16
-
17
- type DrawRange = {
18
- first: number;
19
- count: number;
20
- };
21
-
22
- type DrawRangeIndexParams = {
23
- drawRange: DrawRange;
24
- elementBuffer?: WebGLBuffer;
25
- elementBufferIndexType?: number;
26
- drawMode?: number;
27
- };
28
-
@@ -1,70 +0,0 @@
1
- # UniformBlock Wrapper
2
-
3
- - Uniform shader string
4
- - bind/unbind
5
- - set/get uniform value generic
6
-
7
- ## INPUT
8
- - uniform block name
9
- - Array<{type, name}> UniformBlockMembers
10
-
11
-
12
- ## PROCESS
13
-
14
- - Calculate and save starting offset of each member
15
- - Create UBO
16
- - Bind UBO
17
- - Set uniform value
18
-
19
- ### Calculate and save starting offset of each member
20
-
21
- layout(std140) is a convention. The calculation should be done according to this convention.
22
-
23
-
24
- type | size
25
- --- | ---
26
- float | 4
27
- vec2 | 8
28
- vec3 | 12
29
- vec4 | 16
30
- mat2 | 16
31
- mat3 | 48
32
- mat4 | 64
33
-
34
- A line is 16 bytes aligned. Alignment can be shared if previous member is equal or bigger then the next member and the sum of the sizes are smaller then 16 bytes.
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
- ## setMethod
46
-
47
- update({
48
- color = null,
49
- bboxOffsetRad = null,
50
- bboxSizeRad = null,
51
- resolution = null,
52
- tailLengthRatio = null,
53
- wingLengthRatio = null,
54
- height = null,
55
- opacity = null,
56
- noDataValue = null,
57
- } = {}) {
58
- const { gl, ubo } = this;
59
- gl.bindBuffer(gl.UNIFORM_BUFFER, ubo);
60
- if (color !== null) gl.bufferSubData(gl.UNIFORM_BUFFER, 0, new Float32Array(color));
61
- if (opacity !== null) gl.bufferSubData(gl.UNIFORM_BUFFER, 12, new Float32Array([opacity]));
62
- if (bboxOffsetRad !== null) gl.bufferSubData(gl.UNIFORM_BUFFER, 16, new Float32Array(bboxOffsetRad));
63
- if (bboxSizeRad !== null) gl.bufferSubData(gl.UNIFORM_BUFFER, 24, new Float32Array(bboxSizeRad));
64
- if (resolution !== null) gl.bufferSubData(gl.UNIFORM_BUFFER, 32, new Float32Array(resolution));
65
- if (tailLengthRatio !== null) gl.bufferSubData(gl.UNIFORM_BUFFER, 40, new Float32Array([tailLengthRatio]));
66
- if (wingLengthRatio !== null) gl.bufferSubData(gl.UNIFORM_BUFFER, 44, new Float32Array([wingLengthRatio]));
67
- if (height !== null) gl.bufferSubData(gl.UNIFORM_BUFFER, 48, new Float32Array([height]));
68
- if (noDataValue !== null) gl.bufferSubData(gl.UNIFORM_BUFFER, 52, new Float32Array([noDataValue]));
69
- gl.bindBuffer(gl.UNIFORM_BUFFER, null);
70
- }
File without changes
@@ -1,27 +0,0 @@
1
- /**
2
- * @typedef {string} UniformBlockName
3
- *
4
- * @typedef {string} GLSLType | mat4, mat3, vec4, vec3, vec2, float, int, bool
5
- * @typedef {{name: string, type: GLSLType, value: null|Float32Array}} UniformBlockMember
6
- *
7
- */
8
-
9
-
10
- type UniformBlockName = string;
11
- type GLSLType = "mat4" | "mat3" | "vec4" | "vec3" | "vec2" | "float" | "int" | "bool";
12
- type UniformBlockMember = {
13
- name: string;
14
- type: GLSLType;
15
- value: Float32Array | null;
16
- };
17
-
18
-
19
- type NameValueMap = Map<string, Array<number> | DataView | ArrayBuffer>;
20
-
21
- type UBOHandler = {
22
- ubo: WebGLBuffer;
23
- update: (nameValueMap: Map<string, any>) => void;
24
- bind: () => void;
25
- unbind: () => void;
26
- free: () => void;
27
- };
@@ -1,3 +0,0 @@
1
- import PointCoordinatesDataCalculator from "./pointcoordinatesdatacalculator";
2
- import HeatWaveDataManager from "./datamanager";
3
- export { HeatWaveDataManager, PointCoordinatesDataCalculator };